/* UI05: application surfaces reuse the approved memo tokens; document styles stay frozen. */
.portal-app.workspace-authenticated .workspace-layout{max-width:1680px}
.portal-app.workspace-authenticated:not(.workspace-staff) .portal-main{max-width:1400px;margin-inline:auto}
.portal-app .topbar-inner{min-height:76px;padding-block:12px}
.portal-app .brand img{width:172px}
.portal-app .portal-title{font-size:15px}
.portal-app .portal-main{padding:28px 32px 44px}
.portal-app .hub-global-nav{padding:24px 14px;gap:6px}
.portal-app .hub-global-nav>a{font-size:15px;padding:12px 14px}
.portal-app .workspace-navigation>summary::after{display:none}
.portal-app .workspace-section-grid{max-width:none;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.portal-app .workspace-section-card{padding:22px;min-height:174px;border-radius:2px;gap:10px}
.portal-app .workspace-section-card h2{font-size:20px}
.portal-app .workspace-section-card p{font-size:14px;line-height:1.85}
.portal-app .workspace-section-card>span{font-size:13px}
.portal-app .workspace-section-card:hover{box-shadow:inset 0 -2px var(--accent)}
.portal-app .hub-heading,.portal-app .dashboard-heading{margin-bottom:24px;padding-bottom:18px}
.portal-app .portal-main :is(.hub-panel,.portal-card){border-radius:2px}
.portal-app .workspace-local-nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.portal-app .workspace-local-nav>a{font-size:14px;padding-block:12px;min-height:44px}
.portal-app .dashboard-search{max-width:820px}
.portal-app .dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.portal-app .dashboard-metric strong{font-size:32px;line-height:1.4}
.portal-app .dashboard-workspace :is(#dashboard-queue,#dashboard-services){background:transparent;padding:22px;border:1px solid var(--line)}
.portal-app #dashboard-services>.dashboard-filters{grid-column:1/-1}
.portal-app .dashboard-action{gap:16px;padding-block:18px}
.portal-app .dashboard-action-copy small{font-size:13px}
.portal-app .dashboard-service{border:1px solid var(--line);padding:20px}
.portal-app .dashboard-axes{margin-top:12px}
.portal-app .dashboard-axes a{display:flex;flex-direction:column;gap:6px;padding:12px}
.portal-app .dashboard-axes small{font-size:12px}
.portal-app .dashboard-onboarding{display:block!important;margin-block:24px}
.portal-app .workspace-journey{counter-reset:journey;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.portal-app .workspace-journey>li{counter-increment:journey;min-width:0;border:1px solid var(--line);padding:20px;background:var(--row);background-size:100% 100%}
.portal-app .workspace-journey>li::before{content:counter(journey,decimal-leading-zero);display:block;font-size:13px;margin-bottom:12px;color:var(--accent)}
.portal-app .workspace-journey p{font-size:14px;margin-bottom:0}
.portal-app .dashboard-setup-links{margin-top:20px}
.portal-app .workspace-client-nav{background:var(--deep)}
.portal-app .workspace-client-tabs{padding:6px;gap:2px}
.portal-app .workspace-client-tabs>a{font-size:14px;padding:10px 12px}
.portal-app .workspace-service-context{padding:14px 18px}
.portal-app .workspace-steps{padding:6px 10px}
.portal-app .workspace-steps a{padding:8px 10px}
.portal-app .client-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 24px}
.portal-app .client-welcome h2{font-size:28px;margin:4px 0}
.portal-app .client-welcome p{margin:4px 0;font-size:15px}
.portal-app .client-welcome small{font-size:13px;color:var(--muted)}
.portal-app .client-welcome>.button{flex-shrink:0}
.portal-app .client-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.portal-app .client-metrics>a{background:var(--row);background-size:100% 100%;padding:18px 20px;min-width:0;border:1px solid var(--line);text-decoration:none}
.portal-app .client-metrics span{font-size:14px;display:block}
.portal-app .client-metrics strong{font-size:30px;display:block;margin-top:6px}
.portal-app .client-services{margin-top:32px}
.portal-app .client-service-grid,.portal-app .client-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.portal-app .client-service-card,.portal-app .client-panel{min-width:0;padding:24px;border:1px solid var(--line);background:var(--row);background-size:100% 100%;overflow-wrap:anywhere}
.portal-app .client-service-card>header{display:flex;align-items:start;justify-content:space-between;gap:12px}
.portal-app .client-service-card h3{font-size:21px;margin:4px 0}
.portal-app .client-service-card small{font-size:13px}
.portal-app .client-next{border-block:1px solid var(--line);padding:18px 0;margin:18px 0}
.portal-app .client-next p{font-size:15px;margin:6px 0 16px}
.portal-app .client-service-detail{background:none;margin:0}
.portal-app .client-service-detail>summary{font-size:14px;padding:12px}
.portal-app .client-service-detail .detail-body{padding:14px}
.portal-app .client-service-detail .assessment-counts{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-app .client-service-links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:12px}
.portal-app .client-service-links a{font-size:14px;min-height:44px;padding-block:10px}
.portal-app .client-support-grid{margin-top:28px}
.portal-app .client-panel h2{margin-top:0;font-size:20px}
.portal-app .client-panel>.hub-section-head{align-items:baseline}
.portal-app .client-panel>.hub-section-head>a{font-size:13px}
.portal-app .client-document{border-top:1px solid var(--line);padding-block:16px}
.portal-app .client-document small,.portal-app .client-document>bdi{font-size:13px;color:var(--muted)}
.portal-app .client-document h3{font-size:17px;margin:6px 0}
.portal-app .client-quick-links{display:grid;gap:0}
.portal-app .client-quick-links a{display:flex;justify-content:space-between;font-size:15px;text-decoration:none;border-top:1px solid var(--line);padding:14px 0;min-height:46px}
.portal-app .table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.portal-app .ui-table-hint{font-size:12px;color:var(--muted);margin:6px 0}
.portal-app .ui-table-hint[hidden]{display:none}
/* Width and offset are measured per visible row, excluding gaps. Adjacent card edges
   sample the same point of the existing gradient. No new colors or SVGs. */
.portal-app :is(.workspace-section-grid,.dashboard-metrics,.workspace-health,.readiness-metrics,.hub-modules,.workspace-journey,.client-metrics,.client-service-grid,.client-support-grid,#dashboard-services)>.workspace-flow-card{background-image:var(--row);background-origin:border-box;background-clip:border-box;background-repeat:no-repeat;background-size:var(--flow-width,100%) 100%;background-position:var(--flow-offset,0px) 0}
@media(min-width:1101px){.portal-app .dashboard-service .dashboard-axes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1100px){.portal-app .workspace-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app .client-service-grid{grid-template-columns:1fr}.portal-app .client-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app .portal-main{padding:24px}.portal-app .client-support-grid{gap:16px}}
@media(max-width:760px){.portal-app .portal-main{padding:20px 16px 32px}.portal-app .hub-global-nav{padding:8px 16px 18px}.portal-app .topbar-inner{min-height:70px}.portal-app .brand img{width:135px}.portal-app .workspace-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-app .workspace-section-card{padding:18px;min-height:170px}.portal-app .workspace-section-card h2{font-size:18px}.portal-app .workspace-client-tabs{padding:4px}.portal-app .workspace-client-tabs>a{font-size:13px;padding:10px}.portal-app .workspace-client-nav{margin-bottom:22px}.portal-app .client-welcome{align-items:stretch;flex-direction:column;gap:12px}.portal-app .client-welcome h2{font-size:24px}.portal-app .client-welcome>.button{text-align:center}.portal-app .client-support-grid{grid-template-columns:1fr}.portal-app .client-service-card,.portal-app .client-panel{padding:18px}.portal-app .client-metrics>a{padding:16px}.portal-app .client-metrics span{font-size:13px}.portal-app .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app .workspace-journey{gap:12px}.portal-app .workspace-journey>li{padding:16px}.portal-app .client-services>.hub-section-head{align-items:start;flex-direction:column}.portal-app .client-service-detail .dashboard-axes{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app .client-service-links{gap:0 14px}}
@media(max-width:440px){.portal-app .workspace-section-grid{grid-template-columns:1fr}.portal-app .workspace-section-card{min-height:150px}.portal-app .client-service-card>header{flex-wrap:wrap}.portal-app .client-next>.button{width:100%;text-align:center}.portal-app .workspace-journey{grid-template-columns:1fr}}

.portal-app.workspace-public .portal-main{padding:0}
