/* UI08: shared workspace, quiet surfaces and explicit interaction states. Frozen editions are untouched. */
body.portal-app{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.65;isolation:isolate}
body.portal-app::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--row);background-size:100% 100%;background-repeat:no-repeat}
body.portal-app .workspace-layout{max-width:1600px;margin:auto}
body.portal-app.workspace-staff .workspace-layout{grid-template-columns:224px minmax(0,1fr)}
body.portal-app .portal-main{max-width:1320px;width:100%;padding:24px 28px;min-width:0}
body.portal-app .topbar{min-height:68px;background:transparent;position:relative}
body.portal-app .topbar-inner{min-height:68px;padding:10px 24px;max-width:1600px}
body.portal-app .brand img{width:145px;height:auto}
body.portal-app :is(.workspace-navigation,.portal-card,.hub-panel,.hub-module,.workspace-section-card,.workspace-flow-card,.dashboard-service,.client-service-card,.client-service-focus,.client-focus-home,.client-workspace,.workspace-client-context,.hub-client-header,.hub-row,.client-axis-card,.experience-controls,.intake-detail,.analysis,.axis-panel,.stage-content,.stage-panel,.requirement-body,.detail-body,.row-band,.requirements-card,.profile-editor,.experience-notification,.client-progress,.client-service-summary){background:transparent!important;background-image:none!important;color:var(--ink);min-width:0;max-width:100%}
body.portal-app :is(.portal-card,.hub-panel,.workspace-section-card,.workspace-flow-card,.dashboard-service,.client-service-card,.client-service-focus,.profile-editor){box-shadow:none;border:0;border-block-end:1px solid var(--line);padding:20px 0;min-height:0;border-radius:0;margin-block:12px}
body.portal-app :is(h1,.hub-client-header h1,.portal-header h1){font-size:24px;line-height:1.4;margin-block:0 8px}
body.portal-app :is(h2,.classification-panel h2){font-size:21px;line-height:1.45;margin-block:0 12px}
body.portal-app h3{font-size:17px;line-height:1.5;margin-block:8px}
body.portal-app :is(p,form){margin-block:10px}
body.portal-app :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:transparent;color:var(--ink);box-shadow:inset 1px 2px 5px var(--deep);border:1px solid var(--line);max-width:100%;width:100%;min-width:0;padding:10px 12px;font:inherit}
body.portal-app select option{background:var(--deep);color:var(--ink)}
body.portal-app textarea{min-height:96px;resize:vertical}
body.portal-app :is(a.button,button){font:inherit;min-height:44px;padding:9px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);box-shadow:none;max-width:100%;white-space:normal}
body.portal-app :is(button.primary,a.button.primary){background:var(--accent);color:var(--deep);border-color:var(--accent);font-weight:700}
body.portal-app :is(button,a.button):hover{box-shadow:inset 0 0 0 1px var(--ink)}
body.portal-app :is(a,button,input,select,textarea,summary):focus-visible,.live-intake :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--ink);outline-offset:3px}
body.portal-app :is(.hub-global-nav a,.client-workspace-nav a,.stage-nav a){background:transparent;color:var(--ink);min-height:44px;padding:10px 12px}
body.portal-app :is(a,button,span.stage-link)[aria-current]:not([aria-current=false]),body.portal-app button[aria-pressed=true]{background:var(--accent)!important;background-image:none!important;color:var(--deep)!important;box-shadow:none;font-weight:700}
body.portal-app :is(a,button,span.stage-link)[aria-current]:not([aria-current=false]) :is(span,small,strong,b),body.portal-app button[aria-pressed=true] :is(span,small,strong,b){color:var(--deep)!important}
body.portal-app :is(.client-workspace-nav,.workspace-client-tabs){gap:4px;margin-block:12px;flex-wrap:wrap}
body.portal-app .hub-client-header{padding:0 0 10px;margin:0;border-bottom:1px solid var(--line)}
body.portal-app .hub-client-header small{display:none}
body.portal-app .classification-panel{margin-block:14px;border:0;padding:0}
body.portal-app .classification-panel .section-heading{padding:0;margin:0}
body.portal-app .classification-panel .axis-tabs{margin-top:12px;gap:0;min-height:0}
body.portal-app .classification-panel .classification-axis{background:transparent;padding:12px;min-height:52px;font-size:14px}
body.portal-app .classification-panel .axis-layout{grid-template-columns:170px minmax(0,1fr)}
body.portal-app .classification-panel .stage-nav{min-height:0;border:0;border-inline-end:1px solid var(--line);background:transparent}
body.portal-app .classification-panel :is(.stage-link,.stage-children a){font-size:14px;padding:10px;min-height:44px}
body.portal-app .classification-panel .stage-content{padding:14px 18px;min-height:0;border:0}
body.portal-app .classification-panel .stage-heading{padding:0;margin-bottom:14px;min-height:0}
body.portal-app .classification-panel .stage-heading h2{font-size:21px;margin-block:4px 10px}
body.portal-app .classification-panel :is(.stage-nav-item,.experience-stage-branch){margin:0;border:0;border-bottom:1px solid var(--line)}
body.portal-app .stage-bottom{font-size:13px;margin-top:16px;padding:12px 0}
body.portal-app .usability-simple-panel .stage-nav small{display:none}
body.portal-app :is(.table-wrap,table){max-width:100%}
body.portal-app :is(tbody,tr,td){background:transparent!important;background-image:none!important;color:var(--ink)!important}
body.portal-app table thead,body.portal-app table thead tr,body.portal-app table thead th{background:var(--accent)!important;color:var(--deep)!important}
body.portal-app table tbody th{background:transparent!important;color:var(--ink)!important}
body.portal-app th{font-weight:700;border-bottom:2px solid var(--line)}
body.portal-app :is(th,td){padding:12px;font-size:14px}
body.portal-app .account-failures{font-size:14px;padding:12px}
body.portal-app .account-failures summary{cursor:pointer;padding:4px}
body.portal-app .dashboard-metrics{gap:12px}
body.portal-app .dashboard-metrics strong{font-size:25px}
body.portal-app .dashboard-axes{gap:8px}
body.portal-app .form-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
body.portal-app .workspace-client-tools{margin-block:8px}
body.portal-app .hub-global-nav details{border:0;margin:2px 0}
body.portal-app .hub-global-nav details>summary{padding:10px 12px;cursor:pointer}
body.portal-app .hub-global-nav details a{display:flex;align-items:center;min-height:44px;font-size:13px;margin:2px 0;padding:10px 14px;text-decoration:none;overflow-wrap:break-word;width:100%;border:0}
body.portal-app .workspace-nav-children{padding:0 8px 8px;border-inline-start:1px solid var(--line);margin-inline-start:12px}
body.portal-app .workspace-group-current{font-weight:700;border-inline-start:3px solid var(--accent)}
body.portal-app .client-preview-launch{margin-block:8px}
/* Live intake is shared by the portal and the dynamic area of issued documents. */
.live-intake{font-size:15px;line-height:1.7;min-width:0}
.live-intake .requirement-pair{background:transparent!important;box-shadow:none;border:1px solid var(--line);margin-block:10px}
.live-intake .requirement-pair>.memo-requirement-group>summary{min-height:64px;padding:12px 14px;background:transparent!important;gap:10px}
.live-intake .requirement-title strong{font-size:15px}
.live-intake .requirement-title>bdi,.live-intake .field-code{font-size:11px;opacity:.85}
.live-intake .requirement-body{background:transparent!important;padding:16px}
.live-intake .requirement-item-heading{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
.live-intake .requirement-item-heading p{font-weight:700}
.live-intake .requirement-item+.requirement-item{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}
.live-intake .requirement-section-heading{margin-block:16px 10px;padding-bottom:8px}
.live-intake .requirement-section-heading h3{font-size:18px}
.live-intake .requirement-section-heading p{font-size:12px}
.live-intake .detail-body{padding:12px;min-width:0}
.live-intake details summary{cursor:pointer}
.live-intake .usability-receipt{margin-top:12px}
.usability-receipt-state{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-block:8px;border-bottom:1px solid var(--line)}
.usability-receipt-state small,.usability-item-help,.usability-shared-note,.form-help{font-size:13px;line-height:1.7}
.usability-file-list{list-style:none;padding:0;margin:12px 0}
.usability-file-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:10px 0}
.usability-file-list a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
.usability-file-list small{white-space:nowrap}
.live-intake .usability-file-picker{position:relative;display:flex;align-items:center;justify-content:center;border:1px dashed var(--ink);min-height:64px;cursor:pointer;margin:14px 0 6px;padding:12px;box-shadow:inset 1px 1px 5px var(--deep)}
.live-intake .usability-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.usability-file-picker:focus-within{outline:2px solid var(--ink);outline-offset:3px}
.usability-filename{font-size:13px;overflow-wrap:anywhere}
.live-intake :is(.usability-reference,.usability-optional,.usability-history,.usability-help,.usability-edit-received,.usability-shared-criteria){border:0;border-top:1px solid var(--line);margin:12px 0;padding:0;background:transparent}
.live-intake :is(.usability-reference,.usability-optional,.usability-history,.usability-help,.usability-edit-received,.usability-shared-criteria)>summary{padding:10px 0;min-height:44px;box-sizing:border-box;font-size:13px}
.usability-review-decision{border-block:1px solid var(--line);padding-block:14px;margin-block:14px}
.usability-review-note{border-inline-start:3px solid var(--ink);padding-inline-start:12px}
.usability-next-request,.usability-focus-heading,.usability-request-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-block:16px}
.usability-request-tools>label{flex:1 1 240px;margin:0}
.usability-request-tools>div{display:flex;flex-wrap:wrap;gap:4px;align-self:end}
.usability-request-tools>p{flex-basis:100%;margin:0}
.usability-request-tools button{font-size:13px!important}
.usability-request-tools input{width:100%;box-sizing:border-box}
.usability-request-hidden{display:none!important}
.live-intake .requirement-pair>.memo-requirement-group.usability-request-hidden{display:none!important}
.live-intake .requirement-pair>.memo-requirement-group.usability-single>summary{grid-column:1/-1}
.usability-progress-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.usability-progress-line progress{flex:1;min-width:100px;max-width:300px;accent-color:var(--ink)}
.usability-submit-status{padding:10px 0;font-size:14px}
.usability-submit-status progress{display:block;width:100%;accent-color:var(--ink)}
.usability-submit-error{border-inline-start:3px solid var(--ink);padding-inline-start:12px}
.draft-status{font-size:12px;padding:6px 0;border:0;margin:0}
.draft-status button{min-height:44px;font-size:12px;padding:6px 10px}
.draft-conflict{border-inline-start:2px solid var(--ink);padding-inline-start:12px}
.experience-review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.experience-file-preview{height:min(62vh,520px)}
.experience-preview-banner{position:relative;inset:auto;z-index:auto;background:var(--bg);padding:10px 24px;gap:10px}
.experience-preview-banner strong{font-size:14px}
.usability-doc-steps{display:flex;flex-wrap:wrap;gap:8px;margin-block:16px}
.usability-doc-steps button{flex:1 1 140px}
.usability-doc-start{max-width:900px}
.usability-doc-start .form-grid{grid-template-columns:1fr}
.usability-doc-start>summary{font-weight:700;font-size:18px;cursor:pointer}
body.portal-app [hidden],.live-intake [hidden]{display:none!important}
@media(max-width:1050px){body.portal-app.workspace-staff .workspace-layout{grid-template-columns:185px minmax(0,1fr)}body.portal-app .portal-main{padding:20px 18px}body.portal-app .classification-panel .axis-layout{grid-template-columns:1fr}body.portal-app .classification-panel .stage-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-bottom:1px solid var(--line)}body.portal-app .classification-panel .stage-content{padding:16px 0}.live-intake .requirement-title{flex-wrap:wrap}.live-intake .requirement-count{white-space:normal}}
@media(max-width:760px){body.portal-app.workspace-staff .workspace-layout{display:block}body.portal-app .portal-main{padding:16px 12px}body.portal-app .topbar-inner{padding:8px 12px;gap:10px;flex-wrap:wrap}body.portal-app .brand img{width:118px}body.portal-app .portal-title{display:none}body.portal-app :is(h1,.hub-client-header h1){font-size:22px}body.portal-app :is(input,select,textarea){font-size:16px!important}body.portal-app .classification-panel .axis-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-app .classification-panel .stage-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.live-intake .requirement-pair{box-shadow:none}.live-intake .requirement-pair>.memo-requirement-group{box-shadow:none;border-bottom:1px solid var(--line)}.live-intake .requirement-pair>.memo-requirement-group>summary{min-height:64px;padding:12px}.live-intake .requirement-item-heading{grid-template-columns:minmax(0,1fr) auto}.live-intake .requirement-item-heading p{grid-column:1/-1;grid-row:2}.live-intake .requirement-body{padding:12px}.experience-review-grid{display:flex;flex-direction:column}.experience-review-grid>div{width:100%}.experience-file-preview{height:340px}.usability-request-tools>div{width:100%}.usability-next-request>a{width:100%;text-align:center}.experience-preview-banner{padding:10px 12px}.usability-focus-heading{align-items:start}body.portal-app :is(.hub-panel,.portal-card,.workspace-flow-card){padding:14px}body.portal-app .usability-simple-panel .stage-content{padding:12px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body.portal-app::before{display:none}.usability-request-tools,.usability-next-request,.usability-help,.usability-doc-steps{display:none!important}.experience-preview-banner{position:static}}
.experience-review-grid>.usability-review-answer{grid-column:1;grid-row:1}.experience-review-grid>.usability-review-files{grid-column:2;grid-row:1}
@media(max-width:760px){.experience-review-grid>.usability-review-answer{order:-1}}
.usability-service-switch{display:flex;align-items:end;gap:12px;flex-wrap:wrap;max-width:700px}.usability-service-switch label{flex:1;min-width:180px}
.usability-service-tools nav{display:flex;flex-wrap:wrap;gap:12px;padding:12px 0}.usability-service-tools nav a{min-height:44px;display:flex;align-items:center}
.usability-progress{width:min(100%,360px);accent-color:var(--ink);height:8px}
body.portal-app{--bg:var(--deep)}
body.portal-app .classification-panel .classification-axis[aria-current="page"]{background:var(--accent)!important;color:var(--deep)!important;box-shadow:none}
body.portal-app .classification-panel :is(.stage-panel,.axis-panel,.stage-content){min-height:0;height:auto}
.experience-preview-banner{background:var(--deep)}
body.portal-app .page-width>section:not(#basis){min-height:0;padding:16px;margin-block:12px;background:transparent}

/* Workspace components: shared across existing client, staff and system routes. */
body.portal-app .workspace-navigation{padding:12px 8px;max-width:100%;border-inline-end:1px solid var(--line);box-shadow:none}
body.portal-app .workspace-navigation>.hub-global-nav{padding:0;display:flex;flex-direction:column;gap:4px}
body.portal-app .hub-global-nav>details{margin:0;min-width:0;background:transparent}
body.portal-app .hub-global-nav>details>summary{font-size:14px;min-height:44px}
body.portal-app .hub-global-nav>details>summary::after{font-size:18px}
body.portal-app .hub-global-nav>a{display:flex;align-items:center;font-size:14px;text-decoration:none}
body.portal-app .hub-global-nav a:hover{outline:1px solid var(--line);outline-offset:-1px}
body.portal-app .workspace-client-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px}
body.portal-app .workspace-client-tabs>a{padding:10px 12px;min-height:44px;display:flex;align-items:center;font-size:14px;text-decoration:none}
body.portal-app .workspace-context{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;margin-bottom:8px;border-bottom:1px solid var(--line)}
body.portal-app .workspace-context p{margin:0;font-size:13px}
body.portal-app .workspace-context strong{font-size:16px}
body.portal-app .workspace-context-actions,.usability-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
body.portal-app .workspace-service-tools{margin:12px 0;background:transparent;border:0;border-block:1px solid var(--line)}
body.portal-app .workspace-service-tools summary{font-size:14px;padding:10px 0;min-height:44px}
body.portal-app .workspace-service-tools nav{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0}
body.portal-app .workspace-service-tools nav a{padding:8px 12px;min-height:44px;display:flex;align-items:center}
body.portal-app .client-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
body.portal-app .client-service-grid[data-service-count="1"]{grid-template-columns:minmax(0,1fr)}
body.portal-app .client-service-card{margin:0;padding:20px 0}
body.portal-app .client-service-card>header{align-items:start;gap:12px}
body.portal-app .client-service-card h3{font-size:20px;margin:0}
body.portal-app .dashboard-axes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:transparent!important;border:1px solid var(--line);margin-block:20px}
body.portal-app .dashboard-axes a{background:transparent;border:0;border-inline-end:1px solid var(--line);padding:12px;text-decoration:none;min-width:0}
body.portal-app .dashboard-axes a:last-child{border-inline-end:0}
body.portal-app .dashboard-axes span{font-size:14px;font-weight:700}
body.portal-app .dashboard-axes small{font-size:12px;margin-top:6px}
body.portal-app .dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.portal-app .dashboard-metric{background:transparent!important;box-shadow:none;border:1px solid var(--line);padding:14px;min-height:88px}
body.portal-app .dashboard-metric strong{margin:4px 0;font-size:26px}
body.portal-app .dashboard-action{background:transparent;border:0;border-bottom:1px solid var(--line);padding:18px 0;gap:16px}
body.portal-app .dashboard-action h3{margin:4px 0}
body.portal-app .dashboard-next{background:transparent!important;border-top:1px solid var(--line);padding:14px 0;gap:12px}
body.portal-app .dashboard-next p{margin:4px 0}
body.portal-app .classification-panel>.section-heading{display:none}
body.portal-app .classification-panel .stage-nav{position:static;max-height:none;overflow:visible}
body.portal-app .classification-panel .stage-nav .stage-link{display:flex;align-items:center;gap:8px;width:100%;text-decoration:none}
body.portal-app .classification-panel .stage-children a{display:flex;align-items:center;min-height:44px;text-decoration:none;white-space:normal}
body.portal-app .classification-panel .stage-heading>small{font-size:12px}
body.portal-app .classification-panel :is(.notice,.source-note){margin-block:12px}
body.portal-app :is(.notice,.experience-controls,.experience-facts,.experience-status,.workspace-flow-card,.service-progress,.rule-editor){background:transparent!important;box-shadow:none}
body.portal-app :is(.notice,.experience-controls){border:1px solid var(--line);padding:14px}
body.portal-app details{background:transparent}
body.portal-app :is(.hub-panel,.profile-editor)>summary{padding:12px 0;min-height:44px;font-size:16px}
body.portal-app :is(.hub-section-head,.dashboard-heading){align-items:center;gap:12px;flex-wrap:wrap}
body.portal-app .table-wrap{margin-block:16px;overscroll-behavior-inline:contain}
body.portal-app table{line-height:1.7}
body.portal-app table td{overflow-wrap:break-word}
body.portal-app table bdi{display:inline-block;white-space:nowrap;max-width:100%;font-variant-numeric:tabular-nums}
body.portal-app table tbody tr:hover{outline:1px solid var(--line);outline-offset:-1px}
body.portal-app :is(.workspace-section-card,.hub-module){padding:20px;border:1px solid var(--line)}
body.portal-app :is(.workspace-section-card,.hub-module) h2{font-size:18px}
body.portal-app .workspace-section-grid{gap:16px}
body.portal-app .collection-tools{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:12px 0}
body.portal-app .collection-tools label{flex:1 1 240px;margin:0}
body.portal-app .collection-pagination{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0}
body.portal-app .collection-pagination p{margin:0;flex:1;min-width:180px;font-size:13px}
body.portal-app .collection-item{border-bottom:1px solid var(--line);padding:12px 0}
body.portal-app .workspace-review-summary{display:flex;flex-direction:column;align-items:start;gap:4px;min-width:0}
body.portal-app .workspace-review-summary strong{font-size:16px;overflow-wrap:anywhere}
body.portal-app .workspace-review-summary small{font-size:12px}
body.portal-app .workspace-review-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;border-bottom:1px solid var(--line);margin-bottom:16px}
body.portal-app .usability-doc-steps button{border:1px solid var(--line)}
body.portal-app .workspace-editor-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;flex-wrap:wrap}
body.portal-app .workspace-editor-controls span{font-size:13px}
body.portal-app :is(.offer-track-editor,.experience-structured)>summary{min-height:44px;font-size:16px}
body.portal-app .account-panel{max-width:680px}
body.portal-app .experience-preview-banner{box-shadow:none;border-bottom:2px solid var(--accent)}
body.portal-app .client-document{padding:16px 0;gap:12px;border-bottom:1px solid var(--line)}
body.portal-app .client-document h3{margin:0 0 8px}
body.portal-app .client-welcome{margin-bottom:16px}
body.portal-app .client-panel{margin-block:20px;padding:0;border:0;background:transparent}
body.portal-app .client-panel>.hub-panel{margin:0}
body.portal-app .usability-progress-label{font-size:13px;margin-top:16px}
body.portal-app :is(.usability-file-picker,.usability-request-tools,.workspace-context){scroll-margin-top:16px}
@media(max-width:1100px){body.portal-app .client-service-grid{grid-template-columns:1fr}body.portal-app .classification-panel .axis-layout{grid-template-columns:1fr}}
@media(max-width:760px){body.portal-app .workspace-navigation{padding:8px 12px;border-inline:0;border-bottom:1px solid var(--line)}body.portal-app .workspace-navigation>summary{padding:10px 0}body.portal-app .workspace-client-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-app .workspace-client-tabs>a{font-size:13px;padding:10px 8px}body.portal-app .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-app .dashboard-axes{grid-template-columns:repeat(2,minmax(0,1fr))}body.portal-app .dashboard-axes a{border-bottom:1px solid var(--line)}body.portal-app .classification-panel .stage-nav{grid-template-columns:1fr}body.portal-app .classification-panel .stage-nav .usability-professional{grid-column:1/-1}body.portal-app .workspace-context{align-items:start}body.portal-app .client-service-card>header{flex-wrap:wrap}body.portal-app .workspace-context-actions{width:100%}body.portal-app .workspace-context-actions>a{flex:1}body.portal-app :is(.workspace-section-grid,.mechanism-grid,.form-grid){grid-template-columns:1fr}body.portal-app .collection-pagination button{flex:1}body.portal-app .hub-section-head h2{font-size:19px}body.portal-app .client-document{flex-wrap:wrap}body.portal-app .client-document>a{width:100%}body.portal-app .experience-review-grid{gap:12px}body.portal-app .workspace-editor-controls{gap:8px}body.portal-app .workspace-editor-controls span{width:100%;order:-1}}

body.portal-app .workspace-stage-toggle{grid-column:1/-1;justify-content:space-between;text-align:start;width:100%;margin:8px 0;border:1px solid var(--line);font-size:14px}
body.portal-app .workspace-stage-toggle::after{content:"+";font-size:20px}
body.portal-app .workspace-stage-toggle[aria-expanded=true]::after{content:"−"}
/* UI09 closure: one editing context, explicit controls, and stable mobile reflow. */
.closure-track-nav,.closure-editor-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.closure-track-nav{margin-block:16px;padding-block:12px;border-block:1px solid var(--line)}
.closure-track-nav [aria-pressed=true]{background:var(--accent);color:var(--deep)}
.closure-editor-actions{position:sticky;bottom:0;z-index:12;padding:14px;background:var(--deep);border-top:1px solid var(--line)}
.closure-editor-actions span{font-size:13px;color:var(--ink)}
.closure-readiness ul,.closure-step-issues ul{padding-inline:28px;line-height:1.9}
.closure-add-row{margin-block:12px;min-height:44px}
[data-offer-track-editor],[data-editor-row]{min-width:0}
[data-editor-row]{margin-block:12px}
[data-offer-track-editor][hidden],[data-editor-row][hidden]{display:none!important}
body.portal-app :is(input,select,textarea,button,a.button):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:760px){.closure-editor-actions{position:static}.closure-editor-actions>.button,.closure-editor-actions>button{width:100%}.closure-track-nav>button{flex:1;min-width:0;white-space:normal}[data-editor-row] .form-grid{grid-template-columns:minmax(0,1fr)}.closure-readiness>summary,.closure-step-issues>summary{overflow-wrap:anywhere}}

/* UI19: each heading and its body stay one connected block in source order. */
.live-intake .requirement-pair:has(>.memo-requirement-group[open]){grid-template-columns:minmax(0,1fr)!important}
.live-intake .requirement-pair>.memo-requirement-group{display:block!important;min-width:0;border:1px solid var(--line);margin:0;box-shadow:none!important}
.live-intake .requirement-pair>.memo-requirement-group>summary{grid-row:auto!important;grid-column:auto!important;box-shadow:none!important;background:var(--row)!important}
.live-intake .requirement-pair>.memo-requirement-group[open]>summary{background:var(--silver) center/100% 100% no-repeat!important;color:var(--black)!important}
.live-intake .requirement-pair>.memo-requirement-group[open]>summary *{color:var(--black)!important}
.live-intake .requirement-pair>.memo-requirement-group>.requirement-body{background:var(--bg)!important;border-top:1px solid var(--line);min-width:0}
.live-intake .requirement-pair>details::details-content{display:block}
.project-register>summary{display:flex;gap:20px;justify-content:space-between}.project-register>summary strong{font-size:20px}.project-register>summary span{font-size:14px;font-weight:400}
.project-register-body{padding:22px}.project-register .project-totals{align-items:start}.project-register .project-totals strong{display:block}
@media(max-width:760px){.live-intake .requirement-pair{grid-template-columns:minmax(0,1fr)!important}.project-register-body{padding:14px}.project-register>summary{flex-wrap:wrap}}

/* UI20: paint once behind the complete requirement grid, never once per card. */
.live-intake .requirement-grid{background:var(--row) center/100% 100% no-repeat}
.classification-panel .live-intake .requirement-grid{background:transparent!important}
.live-intake .requirement-pair{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;margin-block:12px;border:0!important;background:transparent!important;box-shadow:none!important}
.live-intake .requirement-pair:has(>.memo-requirement-group[open]),.live-intake .requirement-pair:has(>.memo-requirement-group[hidden]){grid-template-columns:minmax(0,1fr)!important}
.live-intake .requirement-pair>.memo-requirement-group{display:block!important;min-width:0;margin:0;border:1px solid var(--line);background:transparent!important;box-shadow:none!important}
.live-intake .requirement-pair>.memo-requirement-group:only-child{grid-column:1/-1!important}
.live-intake .requirement-pair>.memo-requirement-group.usability-single{grid-column:1/-1!important}
.live-intake .requirement-pair[hidden],.live-intake .requirement-pair.usability-request-hidden,.live-intake .requirement-pair>.memo-requirement-group[hidden]{display:none!important}
.live-intake .requirement-pair>.memo-requirement-group>summary{grid-row:auto!important;grid-column:auto!important;background:transparent!important;background-image:none!important;box-shadow:none!important}
.live-intake .requirement-pair>.memo-requirement-group[open]>summary{background:var(--silver) center/100% 100% no-repeat!important;color:var(--deep)!important}
.live-intake .requirement-pair>.memo-requirement-group[open]>summary *{color:var(--deep)!important}
.live-intake .requirement-pair>.memo-requirement-group>.requirement-body{background:var(--deep)!important;min-width:0;border-top:1px solid var(--line)}
.live-intake .requirement-pair>details::details-content{display:block}
.live-intake .requirement-pair>details:not([open])>.requirement-body{display:none!important}
.live-intake :is(.usability-reference,.usability-inactive,.requirement-section>details):not([open])>summary{background:transparent!important}
@media(max-width:760px){.live-intake .requirement-pair{grid-template-columns:minmax(0,1fr)!important;gap:12px}}
