/* Shared Loudoun internal portal palette. Layouts and print output stay module-owned. */
body.portal-ui{--ink:#19384b;--navy:#153e56;--blue:#176588;--muted:#526b7a;--line:#d6e2e8;--mint:#eaf6f2;--red:#ac2940;background:#f2f6f8;color:var(--ink)}
body.portal-ui>header{border-top:3px solid #e51d35;border-bottom:1px solid #d6e2e8;background:#fff}
body.portal-ui main h1{font-family:inherit;font-weight:700;letter-spacing:-.5px;line-height:1.2;color:#153e56}
body.portal-ui :is(.card,.hire-panel,.ats-panel,.mail-panel,.work-panel,.manage-card,.intake-card,.se-phase){border-color:#d6e2e8;border-radius:8px;box-shadow:none}
body.portal-ui :is(.primary,.hire-row-save,.admin-mail-action){background:#0d746d;color:#fff;border-color:#0d746d;box-shadow:none;border-radius:6px}
body.portal-ui .primary:hover:not(:disabled){background:#095b56}
body.portal-ui :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]){border-color:#b9cdd6;color:#19384b;border-radius:6px}
body.portal-ui :is(input,select,textarea):focus{outline:2px solid #247b99;outline-offset:2px}
body.portal-ui :is(button,a,summary):focus-visible{outline:2px solid #247b99;outline-offset:3px}
body.portal-ui :is(input[type=checkbox],input[type=radio]){accent-color:#0d746d}
body.portal-ui :is(th,.hire-template-phase-head,.se-phase-head){background:#eaf2f7;color:#204f6a}
body.portal-ui tbody tr:hover{background:#f4f9fc}
body.portal-ui :is(.ats-tabs,.hire-nav,.se-tabs,.admin-tabs){border-color:#ccdce5}
body.portal-ui :is(.ats-tabs,.hire-nav,.se-tabs) a[aria-current]{color:#126b76;border-bottom-color:#126b76}
body.portal-ui :is(.wf-next,.hire-progress,.admin-mail-note,.staff-note){background:#eaf6f2;color:#245b51;border-color:#7db7a7}
body.portal-ui .alert{background:#fff0f2;color:#97273c;border-color:#efbdc8}
body.portal-ui .success{background:#eaf7ef;color:#205c40;border-color:#a6d8ba}
body.portal-ui :is(.status-pending,.mail-pending,.mail-sending){background:#fff2d7;color:#795014}
body.portal-ui :is(.status-approved,.mail-sent,.hire-badge.done){background:#e2f3e9;color:#1d6242}
body.portal-ui :is(.status-declined,.mail-failed,.hire-badge.blocked){background:#fce9ed;color:#9b2940}
body.portal-ui :is(.status-cancelled,.hire-badge.todo){background:#eaf0f4;color:#4c6271}
body.portal-ui .internal-menu nav{border-color:#cfdee5;box-shadow:0 3px 8px #19384b12}
body.portal-ui .internal-menu nav a:hover{background:#edf6f8;color:#126b76}
body.portal-ui .portal-section{--section-color:#176588;--section-tint:#edf5fa}
body.portal-ui .portal-section[aria-label="Clinical care"]{--section-color:#0d746d;--section-tint:#eaf6f2}
body.portal-ui .portal-section[aria-label="Time off"]{--section-color:#875715;--section-tint:#fff6e5}
body.portal-ui .portal-section[aria-label="Client intake"]{--section-color:#126c82;--section-tint:#eaf6fa}
body.portal-ui .portal-section[aria-label="Recruiting & onboarding"]{--section-color:#345fa0;--section-tint:#edf2fc}
body.portal-ui .portal-section[aria-label="Administration & security"]{--section-color:#73465a;--section-tint:#f8edf2}
body.portal-ui .portal-section h2{color:var(--section-color);font-size:16px}
body.portal-ui .portal-action{border-top:3px solid var(--section-color);background:var(--section-tint);border-radius:6px}
body.portal-ui .portal-action:hover{background:#fff;border-color:var(--section-color)}
body.portal-ui .portal-icon{color:var(--section-color)}
body.portal-ui .portal-account .portal-action{border-top:0}
body.portal-ui :is(.hire-flow-tabs,.wf-phase-tabs) button[aria-selected=true]{background:#e7f4f0;color:#0b6259;border-bottom-color:#0d746d}
body.portal-ui :is(.ats-status.stage-interview,.ats-status.stage-offer){background:#eef1fc;color:#405799}
body.portal-ui .hire-template-title small,body.portal-ui .se-task-title small{color:#536e7d}
body.portal-ui :is(.hire-template-task,.se-task):has(input:checked){background:#f0f8f6}
body.portal-ui .clock-adjust-fields{padding:12px;border:1px solid #cbdedb;background:#f4faf8;border-radius:6px}
body.portal-ui .table table{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){body.portal-ui *{scroll-behavior:auto;transition:none}}
