/* Uses the existing BEEAH identity variables and assets. */
.portal-app .classification-panel{background:var(--row) center/100% 100% no-repeat;border:1px solid var(--line);min-height:0}
.portal-app .classification-panel :is(.axis-panel,.axis-layout,.stage-content,.stage-body,.requirement-pair,.requirement-group,.requirement-body,.requirement-item,.row-band,table,tr,td,th){background:transparent;background-image:none;box-shadow:none}
.portal-app .classification-panel :is(.axis-panel,.stage-content){min-height:0}
.portal-app .classification-panel :is(input,select,textarea){background:rgba(9,16,18,.46);box-shadow:inset 0 1px 3px var(--deep);border:1px solid var(--line);color:var(--ink)}
.portal-app .classification-panel :is([aria-current="step"],[data-doc-axis][aria-selected="true"],.axis-tab.is-active){background:var(--silver) center/100% 100%;color:var(--deep)}
.offer-request-widget{margin-top:24px;border:0;padding:0;background:transparent}
.offer-request-widget [hidden]{display:none!important}
.offer-request-widget .offer-request-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:20px}
.offer-request-widget form{max-width:none;margin:20px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.offer-request-widget .request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.offer-request-widget label{display:block;font-size:14px;margin-block:14px}
.offer-request-widget :is(input:not([type="checkbox"]),select,textarea){display:block;width:100%;min-height:44px;margin-top:8px;padding:10px 12px;font:inherit;color:var(--ink);border:1px solid var(--line);background:rgba(9,16,18,.46);box-shadow:inset 0 1px 3px var(--deep)}
.offer-request-widget input[type="checkbox"]{width:18px;height:18px;margin-inline-end:10px;vertical-align:middle}
.offer-request-widget .request-contract{border-block:1px solid var(--line);padding:18px 0;margin-block:18px}
.offer-request-widget .request-contract p{font-size:14px;line-height:1.8}
.offer-request-widget [data-request-feedback]:not(:empty){padding:18px;border:1px solid var(--line);margin-block:16px}
.offer-request-widget .form-help{font-size:13px;line-height:1.9}
/* Override earlier workspace resets so the assessment really owns the gradient. */
body.portal-app .classification-panel{background:var(--row) center/100% 100% no-repeat!important;border:1px solid var(--line);padding:20px}
body.portal-app .classification-panel :is([aria-current="page"],[aria-current="step"]){background:var(--silver) center/100% 100% no-repeat!important;color:var(--deep)!important}
body.portal-app.workspace-public::before{background:var(--row) center/100% 100% no-repeat}
@media(max-width:560px){body.portal-app .classification-panel{padding:12px}}
/* One quiet sign-in surface. No inherited split screen or fixed-height panel. */
body.portal-app.workspace-public{font-family:Tahoma,Arial,sans-serif;background:var(--row) center/100% 100% fixed no-repeat}
body.portal-app.workspace-public::before{background:var(--row) center/100% 100% no-repeat}
.portal-app.workspace-public .workspace-layout{background:none;display:grid;place-items:center;padding:28px 16px;min-height:calc(100svh - 56px)}
.portal-app.workspace-public .portal-main{width:100%;max-width:460px;margin:auto;padding:0}
.portal-app .portal-main.page-width>section.access-screen:not(#basis){width:100%;max-width:none;min-height:0!important;margin:0;padding:28px;background:transparent;box-shadow:inset 0 1px 4px var(--deep);border:1px solid var(--line);border-radius:0}
.access-screen .access-brand{text-align:center;margin-bottom:24px}
.access-screen .access-brand img{width:180px;height:auto;max-width:100%}
.access-screen .access-brand p{font-size:12px;margin:8px 0;color:var(--muted)}
.access-screen h1{font-size:25px;line-height:1.5;margin:0 0 8px}
.access-screen .login-card{padding:0;background:none;border:0;box-shadow:none;min-width:0}
.access-screen #login-help{margin:0 0 24px;font-size:13px;line-height:1.85;min-height:0}
.access-screen label{display:block;font-size:14px;margin:18px 0 8px;font-weight:700}
.access-screen input{width:100%;min-height:46px;background:transparent;box-shadow:inset 0 1px 3px var(--deep);color:var(--ink)}
.access-screen .form-help{font-size:12px;line-height:1.75;margin:8px 0}
.portal-app .access-screen .login-password{display:flex;gap:0;margin-bottom:22px}
.portal-app .access-screen .login-password input{min-width:0;margin:0}
.portal-app .access-screen .password-toggle{min-width:60px;width:auto;margin:0;font-size:12px;background:transparent}
.access-screen .access-submit{width:100%;font-size:15px;min-height:46px}
.access-screen .login-support{border:0;background:none;margin-top:18px;font-size:13px;padding:0}
.access-screen .login-support summary{cursor:pointer;padding-block:8px;font-size:13px}
.access-screen .login-support p{font-size:13px;line-height:1.9}
.access-screen .login-secondary{display:block;text-align:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px}
.access-screen .login-error{border-inline-start:3px solid var(--accent);padding:10px 14px;margin:16px 0;background:var(--bar)}
.access-screen .login-error p{margin:4px 0;font-size:13px}
.offer-request-widget .request-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;background:var(--row) center/100% 100% no-repeat;border:1px solid var(--line);margin-block:20px}
.offer-request-widget .request-choices button{display:block;text-align:right;padding:20px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink);min-width:0}
.offer-request-widget .request-choices button+button{border-inline-start:1px solid var(--line)}
.offer-request-widget .request-choices strong{font-size:18px;margin-bottom:6px}
.offer-request-widget .request-choices span{font-size:13px;line-height:1.8;display:block;color:var(--muted)}
.offer-request-widget .request-choices button[aria-expanded="true"]{border-bottom-color:var(--accent);box-shadow:inset 0 1px 4px var(--deep)}
.offer-request-widget [data-request-title]{font-size:22px;margin:0 0 12px}
.offer-request-widget .request-grid{gap:0 20px}
.offer-request-widget .request-grid label{min-width:0}
.offer-request-widget .request-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.85;padding-top:16px;border-top:1px solid var(--line)}
.offer-request-widget .request-confirm input{flex:0 0 18px;margin:5px 0 0}
.offer-request-widget .request-phase-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:14px}
.offer-request-widget .request-phase-summary strong{font-size:15px}
.offer-request-widget [data-request-summary]>strong{font-size:18px}
.offer-request-widget select,.offer-request-widget textarea{background:transparent;box-shadow:inset 0 1px 3px var(--deep)}
.requirement-question.experience-controls{margin:0 0 16px;padding:0 0 16px;border:0;border-bottom:1px solid var(--line);background:transparent}
.requirement-question .form-help{font-size:13px;margin:8px 0}
.requirement-question .question-history{margin-top:12px;border:0}
.requirement-question .question-history summary{font-size:12px;padding:6px 0}
.requirement-question .question-history p{font-size:12px}
body.portal-app .classification-panel .row-paint{display:none}
body.portal-app .classification-panel .stage-content{min-width:0;padding:18px}
body.portal-app .classification-panel :is(.stage-nav,.numbers,.notice,.axis-tabs){background:transparent;background-image:none;box-shadow:none}
@media(max-width:850px){.offer-request-widget .request-grid,.offer-request-widget .request-phase-summary{grid-template-columns:1fr}}
@media(max-width:560px){.portal-app.workspace-public .workspace-layout{padding:18px 12px;min-height:0}.portal-app .portal-main.page-width>section.access-screen:not(#basis){padding:22px}.access-screen .access-brand{margin-bottom:18px}.offer-request-widget .request-choices{grid-template-columns:1fr}.offer-request-widget .request-choices button+button{border-inline:0;border-top:1px solid var(--line)}.offer-request-widget .request-choices button{padding:18px}.offer-request-widget .request-choices strong{font-size:16px}body.portal-app .classification-panel .stage-content{padding:14px 0}}

/* UI20: same approved artwork, calibrated to wide staff screens. */
@media screen{
 body.portal-app.workspace-staff::before{background:var(--row);background-size:145% 100%;background-position:right center;background-repeat:no-repeat}
 body.portal-app.workspace-staff :is(.classification-panel,.workspace-navigation,.workspace-service-focus,.dashboard-start,.dashboard-shortcuts,.dashboard-metrics>a,.dashboard-service,.hub-stats,.hub-module,.workspace-section-card,.workspace-client-context,.workspace-client-nav,.client-service-focus,.readiness-metrics>div,.workspace-health>p,.hub-global-nav a[aria-current],table tr){background:transparent!important;background-image:none!important;box-shadow:none}
 body.portal-app.workspace-staff .row-paint{display:none!important}
 body.portal-app.workspace-staff .classification-panel :is(.requirement-grid,.requirement-pair){background:transparent!important}
 body.portal-app.workspace-staff :is(.topbar,.portal-footer){background:transparent}
 body.portal-app.workspace-staff .workspace-client-context{border:1px solid var(--line)}
 body.portal-app.workspace-staff table thead{background:var(--silver) center/100% 100% no-repeat;color:var(--deep)}
 body.portal-app.workspace-staff table thead :is(th,td){color:var(--deep)!important}
 body.portal-app.workspace-staff .hub-global-nav a[aria-current]{box-shadow:inset -3px 0 var(--accent)}
}

/* Page-bound backdrop. Explicit new markup class leaves old pages compatible. */
@media screen {
 body.portal-app.portal-framed { background: var(--deep); }
 body.portal-app.portal-framed::before { content: none; }
 body.portal-app.portal-framed > .portal-frame { width: 100%; max-width: 1600px; margin-inline: auto; background: var(--row) center/100% 100% no-repeat; }
 body.portal-app.portal-framed.workspace-authenticated > .portal-frame { max-width: 1680px; }
 body.portal-app.portal-framed .workspace-layout { min-height: 0; }
}

/* Authenticated shell alignment. Guest and old worker markup retain the existing cascade. */
@media screen {
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated { --portal-shell-max: 1600px; --portal-shell-gutter: clamp(16px,2vw,32px); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated:not(.workspace-staff) { --portal-shell-max: 1400px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated > .portal-frame { width: 100%; max-width: var(--portal-shell-max); margin-inline: auto; background: var(--row) center/100% 100% no-repeat; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-layout { width: 100%; max-width: none; margin: 0; min-width: 0; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated > .portal-frame > :is(.topbar,.portal-footer) { width: 100%; max-width: none; margin-inline: 0; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .topbar-inner { width: 100%; max-width: none; margin: 0; height: auto; padding-inline: var(--portal-shell-gutter); gap: 16px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-main { padding-inline: var(--portal-shell-gutter); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated:not(.workspace-staff) .portal-main { width: 100%; max-width: none; margin-inline: 0; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-footer { padding-inline: var(--portal-shell-gutter); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block { display: flex; flex-direction: column; align-items: flex-start; text-align: start; gap: 4px; min-width: 0; flex: 0 1 auto; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block > .brand { flex: 0 0 auto; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block > .brand img { width: 160px; height: auto; max-height: 52px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block > .portal-title { display: block; flex: 0 1 auto; margin: 0; min-width: 0; max-width: 190px; font-size: 15px; line-height: 1.5; color: var(--ink); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-account-actions { margin-inline-start: auto; flex-wrap: wrap; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation { min-width: 0; align-self: stretch; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation > summary { cursor: pointer; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .hub-global-nav { padding: 20px 12px; gap: 6px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-label { padding: 0 12px 12px; font-size: 12px; letter-spacing: 0; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .hub-global-nav > a { display: flex; min-height: 44px; padding: 10px 12px; border: 1px solid transparent; font-size: 14px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group { margin: 0; border: 0; border-block-start: 1px solid var(--line); background: transparent; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; padding: 10px 12px; list-style: none; font-size: 14px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation > summary::after, body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group > summary::after { display: none; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation > summary::-webkit-details-marker, body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group > summary::-webkit-details-marker { display: none; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group-title { min-width: 0; overflow-wrap: anywhere; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-indicator::before, body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-toggle::before { content: "+"; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-group[open] > summary .workspace-nav-indicator::before, body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation[open] > summary .workspace-nav-toggle::before { content: "−"; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-children { margin-inline-start: 12px; padding: 0 0 8px 0; border-inline-start: 1px solid var(--line); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-nav-children > a { display: flex; align-items: center; min-height: 42px; padding: 9px 12px; border: 1px solid transparent; text-decoration: none; font-size: 13px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-group-current { color: var(--ink); font-weight: 700; border-inline-start: 3px solid var(--accent); }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .hub-global-nav a[aria-current="page"] { background: var(--silver) center/100% 100% no-repeat!important; color: var(--deep)!important; border-color: var(--accent); box-shadow: none; }
}
@media screen and (max-width:760px) {
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .topbar-inner { flex-wrap: wrap; align-items: flex-start; padding-block: 12px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block { flex: 1 1 100%; flex-direction: column; align-items: flex-start; text-align: start; flex-wrap: nowrap; gap: 4px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block > .brand img { width: 124px; max-height: 44px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-brand-block > .portal-title { display: block; font-size: 13px; max-width: 160px; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .portal-account-actions { margin-inline-start: 0; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .workspace-navigation > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px var(--portal-shell-gutter); list-style: none; }
 body.portal-app.portal-framed.portal-shell-aligned.workspace-authenticated .hub-global-nav { padding: 8px var(--portal-shell-gutter) 16px; }
}
