/* Application chrome only. Memo identity and frozen document assets are untouched. */
.portal-app{--workspace-panel:var(--row);--workspace-soft:var(--navy);font-family:Arial,Tahoma,sans-serif;font-size:16px;line-height:1.7}
.portal-app :where(input,select,textarea,button,a,summary){scroll-margin-block:96px}
.portal-app :where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.portal-app .topbar{position:relative;background:var(--bar);border-bottom:1px solid var(--line)}
.portal-app .topbar-inner{width:100%;padding:16px 28px;min-height:88px;max-width:none}
.portal-app .brand img{width:184px;max-height:56px}
.portal-app .portal-title{flex:1;text-align:start;margin-inline:20px;font-size:17px;font-weight:400;color:var(--muted)}
.portal-app .portal-account-actions{flex-shrink:0}
.workspace-layout{max-width:1800px;margin:auto;min-height:calc(100svh - 155px)}
.workspace-staff .workspace-layout{display:grid;grid-template-columns:232px minmax(0,1fr)}
.portal-app .portal-main{width:auto;max-width:none;min-width:0;margin:0;padding:30px 36px 48px;min-height:0}
.workspace-navigation{margin:0;border:0;border-inline-end:1px solid var(--line);background:var(--black);min-width:0}
.workspace-navigation>summary{display:none}
.portal-app .hub-global-nav{display:flex;flex-flow:column nowrap;align-items:stretch;gap:4px;padding:28px 16px;position:sticky;top:0;border:0;max-height:100svh;overflow-y:auto;overflow-x:hidden;z-index:10}
.portal-app .hub-global-nav>*{flex-shrink:0;min-width:0;max-width:100%}
.portal-app .hub-global-nav :is(a,summary,h2){white-space:normal;overflow-wrap:anywhere}
.workspace-nav-label{display:block;padding:0 14px 16px;font-size:13px;color:var(--muted)}
.portal-app .hub-global-nav>a{padding:11px 14px;font-size:15px;min-height:46px;border-radius:3px}
.portal-app .hub-global-nav a[aria-current]{background:var(--row);background-size:100% 100%;color:var(--ink);border-color:var(--line);box-shadow:inset -3px 0 var(--accent)}
.workspace-breadcrumb{margin:0 0 18px;font-size:13px;color:var(--muted)}
.workspace-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
.workspace-breadcrumb li{display:flex;gap:10px;align-items:baseline;min-width:0;overflow-wrap:anywhere}
.workspace-breadcrumb li+li:before{content:"/";color:var(--muted)}
.workspace-breadcrumb a{color:var(--muted)}
.workspace-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;max-width:1160px}
.portal-app .workspace-section-card{display:flex;flex-direction:column;gap:12px;min-width:0;min-height:190px;padding:24px;border:1px solid var(--line);border-radius:4px;background:var(--workspace-panel);background-size:100% 100%;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.portal-app .workspace-section-card:hover{border-color:var(--accent)}
.portal-app .workspace-section-card h2{margin:0;font-size:21px}
.workspace-section-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.workspace-section-card>span{margin-top:auto;padding-top:6px;font-size:14px;color:var(--accent)}
.portal-app .hub-heading,.portal-app .dashboard-heading{margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.portal-app .hub-heading h1,.portal-app .dashboard-heading h1{font-size:30px;line-height:1.4;margin:0 0 8px}
.portal-app .hub-heading p,.portal-app .dashboard-heading p{margin:0;font-size:15px;max-width:820px}
.portal-app .portal-main :is(h2,h3){line-height:1.5}
.portal-app .portal-main h2{font-size:22px}.portal-app .portal-main h3{font-size:18px}
.portal-app .portal-main.page-width>section:not(#basis),.portal-app :is(.hub-panel,.portal-card){background:var(--workspace-panel);background-size:100% 100%;border:1px solid var(--line);border-radius:4px;padding:24px;min-width:0}
.portal-app .portal-main.page-width>.hub-stats{padding:0;background:var(--row);background-size:100% 100%}
.portal-app .hub-section-head{gap:12px;margin-bottom:18px}
.portal-app .hub-tag{padding:3px 9px;font-size:12px;background:transparent;border-radius:2px;white-space:normal}
.portal-app :is(input,select,textarea){background:var(--deep);border:1px solid var(--line);border-radius:3px;max-width:100%;color:var(--ink);font-size:16px}
.portal-app :is(input:not([type=checkbox]):not([type=radio]),select){min-height:46px}
.portal-app textarea{line-height:1.8;min-height:112px;resize:vertical}
.portal-app label{font-size:14px;line-height:1.7}.portal-app label :is(input,select,textarea){margin-top:7px}
.portal-app button,.portal-app .button{border-radius:3px;font-size:14px;padding:10px 16px;min-height:44px}
.portal-app button:hover,.portal-app .button:hover{border-color:var(--accent)}
.portal-app :is(.form-grid,.hub-search)>*{min-width:0}
.portal-app .form-grid{gap:20px}.portal-app .form-help{font-size:13px;line-height:1.8}
.portal-app .detail-body{padding:24px}.portal-app details>summary{min-height:48px}
.portal-app .table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.portal-app .table-wrap th{font-size:13px}.portal-app .table-wrap td{font-size:14px}
.portal-app .table-wrap :is(th,td){padding:14px;vertical-align:top}
/* Body rows use workspace shading; headers keep the approved silver image. */
.portal-app .table-wrap tbody tr{background-image:none}.portal-app .table-wrap tbody tr:nth-child(even){background:var(--workspace-soft)}
.portal-app .notice,.portal-app .error{border-inline-start:3px solid var(--accent);background:var(--workspace-soft);font-size:15px;padding:18px}
.portal-app .dashboard-start{max-width:none;background:var(--row);background-size:100% 100%;padding:36px;margin:0 0 24px}
.portal-app .dashboard-start h2{font-size:28px}.portal-app .dashboard-start p{max-width:600px}
.portal-app .dashboard-shortcuts{margin-top:24px;background:var(--workspace-panel);background-size:100% 100%;padding:16px 20px;gap:10px 20px;border:1px solid var(--line);border-radius:4px}
.portal-app .dashboard-shortcuts h2{font-size:14px;font-weight:400;margin-inline-end:auto}
.portal-app .dashboard-metrics{gap:12px;margin-block:20px;background:none;border:0}
.portal-app .dashboard-metrics>a{background:var(--workspace-panel);background-size:100% 100%;border-radius:4px;padding:18px;border:1px solid var(--line)}
.portal-app .dashboard-search{margin-bottom:20px}.portal-app .dashboard-search :is(button,.button){min-height:46px}
.portal-app .dashboard-service{background:var(--workspace-panel);background-size:100% 100%;padding:20px;border-radius:4px}
.portal-app .dashboard-axes{background:var(--row);background-size:100% 100%}
.portal-app .hub-client-header{padding:0 0 18px;align-items:flex-start}
.portal-app .hub-client-header h1{font-size:26px;margin:5px 0}.portal-app .hub-client-header p{font-size:13px}
.workspace-client-nav{margin-bottom:28px;background:var(--workspace-panel);background-size:100% 100%;border:1px solid var(--line);border-radius:4px}
.workspace-client-tabs,.workspace-steps{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;align-items:center}
.workspace-client-tabs{border-bottom:1px solid var(--line)}
.workspace-client-tabs>a,.workspace-steps>a,.workspace-client-more a{font-size:14px;text-decoration:none;padding:10px 12px;min-height:44px;display:inline-flex;align-items:center;border:1px solid transparent;border-radius:3px}
.workspace-client-nav a[aria-current]{background:var(--silver);background-size:100% 100%;color:var(--deep);font-weight:700}
.workspace-client-nav a:hover{border-color:var(--line)}
.workspace-client-more{margin:0;border:0;background:none;position:relative}
.workspace-client-more>summary{font-size:14px;padding:10px 12px}
.workspace-client-more>div{display:flex;flex-wrap:wrap;gap:4px;border-top:1px solid var(--line)}
.workspace-client-more[open]{flex-basis:100%}
.workspace-service-context{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid var(--line)}
.workspace-service-context form{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;gap:12px;align-items:center;margin:0;flex:1;max-width:760px}
.workspace-service-context label{margin:0;white-space:nowrap}.workspace-service-context select{margin:0;width:100%}
.workspace-steps a{font-size:13px}.workspace-health,.readiness-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.workspace-health>p,.readiness-metrics>div{padding:20px;background:var(--row);background-size:100% 100%;border:1px solid var(--line);margin:0;min-width:0}
.workspace-health strong,.readiness-metrics strong{display:block;margin-bottom:8px}
.readiness-table code{font-size:12px;overflow-wrap:anywhere;white-space:normal}.readiness-table form{margin:4px 0;display:inline-block}
.workspace-public .topbar{display:none}.workspace-public .workspace-layout{display:grid;place-items:center;min-height:calc(100svh - 56px);background:var(--row);background-size:100% 100%;padding:48px 24px}
.workspace-public .portal-main{padding:0;width:min(1060px,100%);margin:auto}
.portal-app .portal-main.page-width>section.workspace-login:not(#basis){display:grid;grid-template-columns:1fr 1fr;min-height:580px!important;gap:0;align-items:stretch;padding:0;background:var(--bar);border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:0}
.portal-app .login-identity{padding:48px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;background:var(--row);background-size:100% 100%;gap:40px;border-inline-end:1px solid var(--line)}
.portal-app .login-identity img{width:220px;max-width:100%;height:auto}.portal-app .login-identity h2{font-size:32px;line-height:1.6;margin:16px 0}
.portal-app .login-identity p{font-size:15px;line-height:1.9;margin:0;max-width:350px}.portal-app .login-identity small,.portal-app .login-identity>span{font-size:12px;color:var(--muted)}
.portal-app .workspace-login .login-card{order:0;width:auto;max-width:none;margin:0;padding:40px 44px;border:0;background:var(--black);align-self:stretch;box-shadow:none}
.portal-app .workspace-login .login-portals{margin:0 0 30px;gap:0;padding:0;display:flex;border:0;border-bottom:1px solid var(--line);background:none}
.portal-app .workspace-login .login-portals a{flex:1;justify-content:center;border:0;border-bottom:3px solid transparent;border-radius:0;font-size:14px}
.portal-app .workspace-login .login-portals a[aria-current]{background:none;color:var(--ink);border-bottom-color:var(--accent)}
.portal-app .workspace-login h1{font-size:28px;line-height:1.5;margin:0 0 8px}
.portal-app .workspace-login #login-help{min-height:44px;margin:0 0 22px;font-size:14px}
.portal-app .workspace-login form{margin-top:0}.portal-app .workspace-login label{margin:16px 0 7px;display:block}
.portal-app .workspace-login input{min-height:50px;margin:0;padding:12px}
.portal-app .login-password{margin-bottom:0;display:flex;align-items:stretch;gap:0;flex-wrap:nowrap}
.portal-app .login-password input{min-width:0;flex:1;border-start-end-radius:0;border-end-end-radius:0}
.portal-app .login-password .password-toggle{font-size:11px;width:85px;min-width:85px;padding:4px 8px;border:1px solid var(--line);margin:0;border-start-start-radius:0;border-end-start-radius:0;align-self:stretch;background:var(--workspace-soft)}
.portal-app .workspace-login .primary{margin:24px 0 0;min-height:50px;width:100%;font-size:16px}
.portal-app .login-support{font-size:12px;margin:16px 0 0}.portal-app .login-error{margin-bottom:18px;border-inline-start:3px solid var(--accent);padding:12px;background:var(--workspace-soft);font-size:14px}
.portal-app .portal-footer{padding:16px 24px;font-size:11px;line-height:1.7;min-height:56px;background:var(--black)}
.portal-app .workspace-pending{opacity:.75;cursor:progress}
@media(min-width:1101px){.portal-app #dashboard-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.portal-app #dashboard-services>.hub-section-head,.portal-app #dashboard-services>.hub-pagination{grid-column:1/-1}.portal-app #dashboard-services>.dashboard-service{margin:0}}
@media(max-width:1100px){.workspace-staff .workspace-layout{grid-template-columns:200px minmax(0,1fr)}.portal-app .portal-main{padding:24px}.portal-app .hub-global-nav{padding:20px 10px}.portal-app .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-service-context form{grid-template-columns:1fr auto}.workspace-service-context label{grid-column:1/-1}.workspace-health,.readiness-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-app .login-identity{padding:36px}.portal-app .workspace-login .login-card{padding:36px}}
@media(max-width:760px){.portal-app .topbar-inner{padding:12px 16px;min-height:72px;gap:12px;flex-wrap:nowrap}.portal-app .brand img{width:135px;max-height:44px}.portal-app .portal-title{display:none}.portal-app .portal-account-actions{margin-inline-start:auto}.portal-app .portal-account-actions :is(button,.button){padding:8px 10px;font-size:12px}.workspace-staff .workspace-layout{display:block}.workspace-navigation{border:0;border-bottom:1px solid var(--line)}.workspace-navigation>summary{display:block;padding:12px 18px;font-size:14px}.portal-app .hub-global-nav{position:static;max-height:none;padding:8px 16px 18px}.workspace-nav-label{display:none}.portal-app .portal-main{padding:22px 16px 36px}.portal-app .hub-heading h1,.portal-app .dashboard-heading h1{font-size:26px}.portal-app .portal-main.page-width>section:not(#basis),.portal-app :is(.hub-panel,.portal-card){padding:18px}.portal-app .detail-body{padding:18px}.portal-app .hub-heading p,.portal-app .dashboard-heading p{font-size:14px}.portal-app .hub-heading,.portal-app .dashboard-heading{margin-bottom:22px;padding-bottom:18px}.portal-app .dashboard-start{padding:24px}.portal-app .dashboard-start h2{font-size:24px}.portal-app .dashboard-shortcuts{padding:14px}.portal-app .dashboard-shortcuts h2{width:100%}.portal-app .dashboard-shortcuts a{padding:8px 0}.workspace-client-tabs{gap:0;padding:6px}.workspace-client-tabs>a{font-size:12px;padding:9px}.workspace-service-context{padding:14px;display:block}.workspace-service-context>.hub-tag{margin-top:10px}.workspace-service-context form{grid-template-columns:1fr auto;gap:8px}.workspace-service-context button{padding:8px;font-size:12px}.workspace-steps{padding:8px;gap:0}.workspace-steps a{font-size:12px;padding:8px}.portal-app .hub-client-header h1{font-size:24px}.workspace-health,.readiness-metrics{grid-template-columns:1fr}.portal-app .hub-search{grid-template-columns:1fr 1fr;gap:12px}.portal-app .hub-search label:first-of-type{grid-column:1/-1}.portal-app .form-grid{grid-template-columns:1fr}.workspace-public .workspace-layout{padding:20px 14px;display:block;min-height:calc(100svh - 65px)}.portal-app .portal-main.page-width>section.workspace-login:not(#basis){grid-template-columns:1fr;min-height:0!important;padding:0}.portal-app .login-identity{padding:22px 24px;gap:0;border:0;border-bottom:1px solid var(--line)}.portal-app .login-identity img{width:164px}.portal-app .login-identity>div{margin-top:10px}.portal-app .login-identity h2{display:none}.portal-app .login-identity h2 br{display:none}.portal-app .login-identity h2 br:after{content:' '}.portal-app .login-identity p,.portal-app .login-identity>span{display:none}.portal-app .workspace-login .login-card{padding:24px}.portal-app .workspace-login .login-portals{margin-bottom:22px}.portal-app .workspace-login h1{font-size:26px}.portal-app .workspace-login #login-help{min-height:0}.portal-app .portal-footer{padding:16px;font-size:10px}.portal-app .hub-tag{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.portal-app *{scroll-behavior:auto!important;transition:none!important}}

/* AUTH02: account controls inherit the approved memorandum identity. */
.account-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.account-security-grid .profile-editor{min-width:0;margin:0}
.account-security-user+.account-security-user{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line)}
.account-security-check{display:flex;align-items:flex-start;gap:.6rem}
.account-security-check input{width:auto;flex:none;margin-top:.3rem}
.account-activity td small,.account-failures small{display:block;margin-top:.4rem;overflow-wrap:anywhere}
.account-activity td{vertical-align:top;overflow-wrap:anywhere}
.account-failures .hub-row{gap:1rem;flex-wrap:wrap}
.account-security textarea{min-height:5rem}
@media(max-width:800px){.account-security-grid{grid-template-columns:1fr}.account-failures .hub-row>span{max-width:100%}}

/* UI05 client priorities use the existing memorandum palette. */
.client-focus{display:grid;gap:1.5rem}.client-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.client-action>div{min-width:0}.client-action h3{margin:.4rem 0}.client-action .button{flex-shrink:0}.client-focus .client-panel{margin:0}
.client-board-context{margin-block:1rem}.client-assessment .stage-content{min-width:0}
@media(max-width:800px){.client-action{align-items:stretch;flex-direction:column}.client-focus .client-service-grid{grid-template-columns:1fr}}
