@font-face {
    font-family: "Material Symbols Outlined";
    src: url("/assets/fonts/MaterialSymbolsOutlined.woff2") format("woff2");
    font-style: normal;
    font-weight: 100 700;
    font-display: block;
}

@font-face {
    font-family: "Inter";
    src: url("/assets/fonts/inter/Inter-VariableFont_opsz,wght.ttf") format("truetype");
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}
@font-face {
    font-family: "Inter";
    src: url("/assets/fonts/inter/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoLight.otf") format("opentype");
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoLightItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoRegular.otf") format("opentype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoRegularItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoMedium.otf") format("opentype");
    font-style: normal;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoMediumItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoSemibold.otf") format("opentype");
    font-style: normal;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoSemiboldItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 600;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoBold.otf") format("opentype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoBoldItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoHeavy.otf") format("opentype");
    font-style: normal;
    font-weight: 800;
    font-display: swap;
}
@font-face {
    font-family: "SF Mono";
    src: url("/assets/fonts/sfmono/SFMonoHeavyItalic.otf") format("opentype");
    font-style: italic;
    font-weight: 800;
    font-display: swap;
}

:root {
    --font-ui: "Inter";
    --font-display: "Inter";
    --font-mono: "SF Mono";
    --ink: #20241f;
    --ink-soft: #4d544b;
    --paper: #f3efe5;
    --paper-deep: #e4dcca;
    --white: #fffdf8;
    --olive-950: #293127;
    --olive-900: #30382e;
    --olive-800: #41533b;
    --olive-700: #536248;
    --olive-600: #657254;
    --sage: #9e9a75;
    --sage-soft: #d8d5bf;
    --tan: #c8b99c;
    --brown-700: #554840;
    --brown-600: #604439;
    --brown-soft: rgba(96, 68, 57, .16);
    --line: #c8beac;
    --line-soft: rgba(32, 36, 31, .13);
    --line-dark: rgba(243, 239, 229, .18);
    --cream-logo: #efe7d6;
    --success: #3f6447;
    --success-bg: #e7efe5;
    --danger: #8c3030;
    --danger-bg: #faece9;
    --warning: #755d34;
    --warning-bg: #f3ecdc;
    --info: #4f6549;
    --info-bg: #e8ecdf;
    --shadow-sm: 0 8px 22px rgba(41, 49, 39, .08);
    --shadow: 0 22px 58px rgba(41, 49, 39, .14);
    --radius-sm: 7px;
    --radius: 11px;
    --radius-lg: 16px;
    --page-gutter: clamp(14px, 3vw, 56px);
    color: var(--ink);
    background: var(--paper);
    font-family: var(--font-ui);
    font-size: 16px;
    line-height: 1.55;
}

* { box-sizing: border-box; }
html { max-width: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body { max-width: 100%; margin: 0; min-height: 100vh; overflow-x: clip; color: var(--ink); background: var(--paper); }
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        linear-gradient(rgba(65, 83, 59, .022) 1px, transparent 1px),
        linear-gradient(90deg, rgba(65, 83, 59, .018) 1px, transparent 1px),
        radial-gradient(circle at 85% 8%, rgba(158, 154, 117, .2), transparent 28rem);
    background-size: 72px 72px, 72px 72px, auto;
}
img { display: block; max-width: 100%; }
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
a { color: var(--brown-700); }
button, input, select, textarea { font: inherit; }
button { appearance: none; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 700; }
h1 { margin-bottom: 14px; font-size: clamp(2rem, 4vw, 3.45rem); line-height: 1.02; letter-spacing: -.035em; }
h2 { margin-bottom: 8px; font-size: clamp(1.35rem, 2.2vw, 1.75rem); line-height: 1.18; letter-spacing: -.018em; }
h3 { margin-bottom: 8px; font-size: 1.12rem; line-height: 1.25; }
code, pre { font-family: var(--font-mono); }

.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100;
    transform: translateY(-160%);
    padding: 10px 14px;
    color: var(--olive-900);
    background: var(--paper);
    border: 2px solid var(--brown-600);
    border-radius: var(--radius-sm);
    font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 30;
    color: var(--paper);
    background: rgba(41, 49, 39, .985);
    border-bottom: 1px solid var(--line-dark);
    box-shadow: 0 8px 26px rgba(41, 49, 39, .18);
}
.site-header::after {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, var(--brown-700), var(--sage), var(--tan), var(--brown-600));
}
.header-inner {
    position: relative;
    display: flex;
    align-items: center;
    gap: clamp(18px, 2.8vw, 38px);
    width: 100%;
    min-height: 78px;
    margin: 0;
    padding-inline: var(--page-gutter);
}
.brand { display: inline-flex; align-items: center; gap: 15px; min-width: 230px; color: var(--paper); text-decoration: none; }
.brand-logo { width: clamp(165px, 14vw, 230px); height: auto; }
.brand-product {
    padding-left: 15px;
    border-left: 1px solid rgba(239, 231, 214, .3);
    color: rgba(239, 231, 214, .73);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .095em;
    line-height: 1.35;
    text-transform: uppercase;
}
.header-navigation {
    display: flex;
    align-items: center;
    gap: clamp(12px, 2vw, 28px);
    min-width: 0;
    margin-left: auto;
}
.top-nav { display: flex; align-items: center; gap: 3px; min-width: 0; }
.top-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 11px 10px;
    color: rgba(243, 239, 229, .74);
    border-radius: 5px;
    font-size: .71rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    flex: 0 0 auto;
    transition: color .16s ease, background .16s ease;
}
.top-nav a::after {
    content: "";
    position: absolute;
    right: 11px;
    bottom: 4px;
    left: 11px;
    height: 2px;
    transform: scaleX(0);
    background: var(--sage);
    transition: transform .16s ease;
}
.top-nav a:hover, .top-nav a:focus-visible, .top-nav a.is-active { color: var(--white); background: rgba(243, 239, 229, .07); }
.top-nav a.is-active::after { transform: scaleX(1); }
.account-dropdown { position: relative; flex: 0 0 auto; }
.account-trigger {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 5px 9px 5px 5px;
    color: rgba(243, 239, 229, .82);
    background: transparent;
    border: 1px solid transparent;
    border-radius: 7px;
    cursor: pointer;
    font-size: .78rem;
    transition: color .16s ease, background .16s ease, border-color .16s ease;
}
.account-trigger:hover, .account-trigger:focus-visible, .account-trigger[aria-expanded="true"], .account-trigger.is-active {
    color: var(--white);
    background: rgba(158, 154, 117, .13);
    border-color: rgba(239, 231, 214, .15);
}
.account-avatar.material-symbols-outlined {
    display: inline-flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    flex: 0 0 32px;
    color: var(--cream-logo);
    font-size: 30px;
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 32;
}
.account-name { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 750; }
.account-chevron {
    width: 8px;
    height: 8px;
    margin: -4px 2px 0 1px;
    transform: rotate(45deg);
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transition: transform .16s ease;
}
.account-trigger[aria-expanded="true"] .account-chevron { margin-top: 3px; transform: rotate(225deg); }
.account-panel {
    position: absolute;
    top: calc(100% + 11px);
    right: 0;
    z-index: 50;
    width: min(280px, calc(100vw - 28px));
    overflow: hidden;
    padding: 8px;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 3px solid var(--sage);
    border-radius: var(--radius-sm);
    box-shadow: 0 20px 46px rgba(41, 49, 39, .22);
}
.account-summary { display: grid; gap: 2px; padding: 11px 12px 12px; border-bottom: 1px solid var(--line-soft); }
.account-summary strong { overflow-wrap: anywhere; }
.account-summary span { color: var(--ink-soft); font-size: .72rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.account-section-label { display: block; padding: 13px 12px 5px; color: #6a6d61; font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.account-link {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 9px 12px;
    color: var(--ink);
    background: transparent;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
    font-size: .8rem;
    font-weight: 750;
    text-align: left;
    text-decoration: none;
}
.account-link .material-symbols-outlined { font-size: 18px; }
.account-link:hover, .account-link:focus-visible, .account-link.is-active { color: var(--olive-950); background: var(--sage-soft); }
.account-panel form { margin: 0; }
.account-divider { display: block; height: 1px; margin: 7px 4px; background: var(--line-soft); }
.account-signout { color: var(--danger); }
.nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    color: var(--cream-logo);
    background: transparent;
    border: 1px solid rgba(239, 231, 214, .16);
    border-radius: 6px;
    cursor: pointer;
}
.nav-toggle:hover, .nav-toggle:focus-visible { color: var(--white); background: rgba(158, 154, 117, .13); }
.nav-toggle-bars, .nav-toggle-bars::before, .nav-toggle-bars::after {
    display: block;
    width: 21px;
    height: 2px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
}
.nav-toggle-bars { position: relative; }
.nav-toggle-bars::before, .nav-toggle-bars::after { content: ""; position: absolute; left: 0; }
.nav-toggle-bars::before { top: -7px; }
.nav-toggle-bars::after { top: 7px; }
.site-header.nav-open .nav-toggle-bars { transform: rotate(45deg); }
.site-header.nav-open .nav-toggle-bars::before { transform: translateY(7px) rotate(90deg); }
.site-header.nav-open .nav-toggle-bars::after { opacity: 0; }
.public-badge {
    margin-left: auto;
    padding: 8px 12px;
    color: var(--cream-logo);
    background: rgba(158, 154, 117, .2);
    border: 1px solid rgba(239, 231, 214, .17);
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.public-header-tools { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.public-header-tools .public-badge { margin-left: 0; }
.header-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 8px 11px;
    color: rgba(243, 239, 229, .82);
    background: transparent;
    border: 1px solid rgba(239, 231, 214, .18);
    border-radius: 6px;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.header-help-trigger:hover, .header-help-trigger:focus-visible, .header-help-trigger[aria-expanded="true"] { color: var(--white); background: rgba(158, 154, 117, .16); }
.header-help-trigger .material-symbols-outlined { font-size: 20px; }

.page-shell {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 48px var(--page-gutter) 76px;
}
.public-shell {
    width: min(930px, calc(100% - 32px));
    max-width: 930px;
    min-width: 0;
    margin: 0 auto;
    padding: 48px 0 76px;
}
.site-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 27px var(--page-gutter);
    color: rgba(239, 229, 211, .7);
    background: var(--olive-950);
    border-top: 3px solid var(--brown-600);
    font-size: .76rem;
    letter-spacing: .035em;
}
.site-footer strong { color: var(--cream-logo); letter-spacing: .09em; }

.page-heading {
    position: relative;
    margin: 0 0 30px;
    padding: clamp(28px, 4vw, 46px);
    overflow: hidden;
    color: var(--paper);
    background:
        linear-gradient(115deg, rgba(41, 49, 39, .99), rgba(65, 83, 59, .96)),
        var(--olive-900);
    border: 1px solid rgba(239, 229, 211, .12);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.page-heading::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: min(42%, 420px);
    height: 100%;
    opacity: .42;
    background:
        linear-gradient(135deg, transparent 48%, rgba(158, 154, 117, .22) 49%, transparent 50%) 0 0 / 28px 28px,
        radial-gradient(circle at 100% 0, rgba(65, 83, 59, .28), transparent 70%);
    pointer-events: none;
}
.page-heading::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--sage), var(--tan), transparent 76%);
}
.page-heading > * { position: relative; z-index: 1; }
.page-heading h1, .page-heading h2 { color: var(--paper); }
.page-heading .lede { color: rgba(246, 241, 232, .74); }
.page-heading .eyebrow { color: #d0c3a8; }
.split-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; }
.dashboard-hero { min-height: 270px; align-items: center; }
.dashboard-hero .lede { max-width: 720px; font-size: 1.05rem; }
.dashboard-kicker { display: inline-flex; align-items: center; gap: 9px; }
.dashboard-kicker::before { content: ""; width: 26px; height: 1px; background: currentColor; }

.eyebrow { margin: 0 0 9px; color: var(--brown-600); font-size: .71rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.lede { max-width: 790px; margin-bottom: 0; color: var(--ink-soft); font-size: 1rem; line-height: 1.66; }
.muted { color: #6b706f; }
.section-heading { margin: 38px 0 17px; }
.section-heading.split-heading { align-items: flex-end; }
.heading-actions { justify-content: flex-end; margin-top: 0; }

.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.card {
    position: relative;
    padding: 26px;
    background: rgba(255, 253, 248, .86);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(4px);
}
.card::before {
    content: "";
    position: absolute;
    top: -1px;
    right: 24px;
    left: 24px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(96, 68, 57, .48), transparent);
}
.card p { line-height: 1.65; }
.card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
/* Shared vertical rhythm for independent page surfaces. Keep deliberately connected
   internals (workflow stages, recovery cards, disclosure stacks) on their own spacing contracts. */
:where(.page-shell, .workspace-disclosure-body)
    > :where(.card:not(.workflow-stage):not(.workflow-actions):not(.manager-link-recovery-card), .table-wrap, .card-grid, .metric-grid, .dashboard-kpi-summary, .performance-overview-grid)
    + :where(.card:not(.workflow-stage):not(.workflow-actions), .table-wrap, .card-grid, .metric-grid, .dashboard-kpi-summary, .performance-overview-grid, .alert, .notice) {
    margin-top: 22px;
}
.case-workspace
    > .card:not(.workflow-actions):not(.manager-link-recovery-card)
    + :where(.card:not(.workflow-actions), .workspace-disclosure) {
    margin-top: 22px;
}
.page-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.page-shell > .page-actions + :where(.alert, .notice) { margin-top: 22px; }
.card > .form-grid + form { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line-soft); }

.button-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.button-row form { margin: 0; }
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 10px 17px;
    color: var(--paper);
    background: var(--olive-800);
    border: 1px solid var(--olive-800);
    border-radius: 5px;
    box-shadow: 0 7px 15px rgba(41, 49, 39, .18);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-decoration: none;
    text-transform: uppercase;
    transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
}
.button:hover, .button:focus-visible { transform: translateY(-1px); background: var(--olive-950); border-color: var(--olive-950); box-shadow: 0 10px 20px rgba(41, 49, 39, .24); }
.button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid rgba(158, 154, 117, .36); outline-offset: 2px; }
.button:disabled { opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; }
.button-secondary { color: var(--olive-900); background: transparent; border-color: rgba(48, 56, 46, .38); box-shadow: none; }
.button-secondary:hover, .button-secondary:focus-visible { color: var(--paper); background: var(--olive-900); border-color: var(--olive-900); }
.page-heading .button-secondary { color: var(--cream-logo); border-color: rgba(239, 229, 211, .44); }
.page-heading .button-secondary:hover { color: var(--olive-900); background: var(--cream-logo); border-color: var(--cream-logo); }
.button-danger { color: white; background: var(--danger); border-color: var(--danger); }
.button-danger:hover { background: #6f2323; border-color: #6f2323; }
button.button-small, .button-small { min-height: 34px; padding: 7px 11px; font-size: .7rem; }

.status {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
}
.status-connected, .status-ready, .status-synced, .status-succeeded, .status-accepted, .status-complete, .status-sent { color: var(--success); background: var(--success-bg); border-color: rgba(35, 102, 70, .22); }
.status-disconnected, .status-attention_required, .status-blocked, .status-failed { color: var(--danger); background: var(--danger-bg); border-color: rgba(140, 48, 48, .2); }
.status-conditional, .status-none, .status-pending, .status-processing { color: var(--warning); background: var(--warning-bg); border-color: rgba(128, 90, 32, .2); }
.status-neutral { color: var(--olive-800); background: #e5dfcf; border-color: rgba(65, 83, 59, .14); }
.status-stack { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }

.alert, .notice { margin: 0 0 20px; padding: 15px 17px; border: 1px solid var(--line); border-left-width: 4px; border-radius: var(--radius-sm); line-height: 1.5; }
.alert-success { color: var(--success); background: var(--success-bg); border-color: rgba(35, 102, 70, .3); }
.alert-error { color: var(--danger); background: var(--danger-bg); border-color: rgba(140, 48, 48, .28); }
.alert-info, .notice { color: var(--info); background: var(--info-bg); border-color: rgba(79, 101, 73, .27); }
.alert-with-action { display: flex; gap: 18px; align-items: center; justify-content: space-between; }
.alert-with-action form { flex: 0 0 auto; margin: 0; }
.alert-with-action .button { white-space: nowrap; }
.inline-remediation {
    display: grid;
    grid-template-columns: minmax(190px, 230px) auto;
    gap: 10px;
    align-items: end;
    min-width: min(100%, 390px);
}
.inline-remediation label { color: inherit; }
.inline-remediation select { min-width: 190px; }
.field-help { color: #706e67; font-size: .72rem; font-weight: 600; letter-spacing: 0; line-height: 1.35; }

.definition-list { display: grid; gap: 12px; margin: 0; }
.definition-list div { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--line-soft); }
.definition-list div:last-child { border-bottom: 0; }
.definition-list dt, .definition-grid dt { color: #6a685f; font-size: .77rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.definition-list dd, .definition-grid dd { margin: 0; overflow-wrap: anywhere; }
.definition-list-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.definition-list-wide div { grid-template-columns: 130px 1fr; }
.definition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; margin: 0 0 22px; }
.definition-grid div { display: grid; grid-template-columns: minmax(125px, .72fr) minmax(0, 1.28fr); gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line-soft); }

.auth-shell { min-height: calc(100vh - 240px); display: grid; place-items: center; padding: 26px 0; }
.auth-card {
    position: relative;
    width: min(560px, 100%);
    overflow: hidden;
    padding: 0;
    background: rgba(255, 253, 248, .92);
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
}
.auth-brand {
    padding: 30px 34px 28px;
    color: var(--paper);
    background: var(--olive-900);
    border-bottom: 4px solid var(--brown-600);
}
.auth-brand img { width: min(320px, 84%); }
.auth-brand p { margin: 13px 0 0; color: rgba(246, 241, 232, .66); font-size: .74rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.auth-body { padding: 32px 34px 36px; }
.auth-card > .eyebrow, .auth-card > h1, .auth-card > .lede, .auth-card > .alert, .auth-card > form { margin-right: 34px; margin-left: 34px; }
.auth-card > .eyebrow { margin-top: 34px; }
.auth-card > form { margin-bottom: 34px; }
.form-stack { display: grid; gap: 18px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-actions { display: flex; grid-column: 1 / -1; flex-wrap: wrap; align-items: center; gap: 10px; }
label { display: grid; gap: 7px; color: #2f342f; font-size: .79rem; font-weight: 800; letter-spacing: .02em; }
input, select, textarea {
    width: 100%;
    padding: 10px 12px;
    color: var(--ink);
    background: rgba(255, 253, 248, .96);
    border: 1px solid #bdb5a6;
    border-radius: 5px;
}
input, select { min-height: 44px; }
textarea { resize: vertical; line-height: 1.5; }
input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; min-height: 0; padding: 0; accent-color: var(--olive-700); }
input:focus, select:focus, textarea:focus { border-color: var(--olive-700); box-shadow: 0 0 0 3px rgba(65, 83, 59, .13); outline: none; }
input:disabled, select:disabled, textarea:disabled { color: #77736b; background: #eee9df; }
.checkbox-row { display: flex; align-items: flex-start; gap: 10px; font-weight: 650; }
.checkbox-row input { width: auto; min-height: 0; margin: 3px 0 0; }
.field-span { grid-column: 1 / -1; }
.search-box { width: min(370px, 100%); }
.search-form { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: end; }
.search-form label { margin: 0; }
.inline-form { display: inline-block; margin-left: 12px; }

.metric-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.performance-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.metric-card {
    position: relative;
    display: grid;
    gap: 4px;
    min-height: 125px;
    padding: 22px;
    overflow: hidden;
    background: rgba(255, 253, 248, .87);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
}
.metric-card::after { content: ""; position: absolute; top: 0; right: 0; width: 42px; height: 42px; border-top: 3px solid var(--brown-600); border-right: 3px solid var(--brown-600); opacity: .6; }
.metric-card strong { color: var(--olive-900); font-family: var(--font-display); font-size: 2.25rem; line-height: 1; }
.metric-card span { color: #6a685f; font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.metric-card small { color: var(--ink-soft); font-size: .75rem; font-weight: 700; }
.metric-card-link { color: inherit; text-decoration: none; transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease; }
.metric-card-link:hover, .metric-card-link:focus-visible, .metric-card-link.active { transform: translateY(-2px); border-color: var(--olive-700); box-shadow: 0 12px 24px rgba(41, 49, 39, .15); }
.metric-card-link.active { background: var(--sage-soft); }
.filter-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.filter-nav a { padding: 8px 12px; color: var(--olive-900); background: var(--paper); border: 1px solid var(--line); border-radius: 999px; font-size: .76rem; font-weight: 800; text-decoration: none; }
.filter-nav a:hover, .filter-nav a:focus-visible, .filter-nav a.active { color: var(--paper); background: var(--olive-800); border-color: var(--olive-800); }
.active-filter-note { margin: -5px 0 15px; color: var(--ink-soft); font-size: .82rem; }

.table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; background: rgba(255, 253, 248, .87); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.table-scroll { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.table-wrap:focus-visible, .table-scroll:focus-visible { outline: 3px solid rgba(158, 154, 117, .5); outline-offset: 3px; }
table { width: 100%; min-width: 850px; border-collapse: collapse; }
th, td { padding: 14px 15px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
td, dd, .card, .alert { overflow-wrap: anywhere; }
th { color: var(--cream-logo); background: var(--olive-800); font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; }
th[aria-sort] { padding: 0; }
.sort-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    padding: 13px 15px;
    color: inherit;
    background: transparent;
    border: 0;
    cursor: pointer;
    font-size: inherit;
    font-weight: 800;
    letter-spacing: inherit;
    text-align: left;
    text-transform: inherit;
}
.sort-button:hover, .sort-button:focus-visible { background: rgba(255, 255, 255, .08); outline: none; }
.sort-button:focus-visible { box-shadow: inset 0 0 0 2px rgba(255, 253, 248, .7); }
.sort-indicator { flex: 0 0 auto; min-width: 18px; font-size: 18px; opacity: .52; }
th[aria-sort="ascending"] .sort-indicator,
th[aria-sort="descending"] .sort-indicator { opacity: 1; }
.table-action { white-space: nowrap; }
.table-action form { margin: 0; }
tbody tr { transition: background .13s ease; }
tbody tr:hover { background: rgba(65, 83, 59, .065); }
tbody tr:last-child td { border-bottom: 0; }
td a:not(.button) { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.empty-state { padding: 30px; color: #6b706f; text-align: center; }

pre { overflow: auto; padding: 17px; color: #f3efe5; background: var(--olive-950); border: 1px solid rgba(239, 229, 211, .12); border-radius: var(--radius-sm); }
details { margin-top: 16px; }
summary { color: var(--brown-700); cursor: pointer; font-weight: 800; }
.error-page { display: grid; min-height: 100vh; place-items: center; padding: 24px; background: var(--paper); }
.error-card { width: min(540px, 100%); padding: 38px; background: white; border: 1px solid var(--line); border-top: 4px solid var(--brown-600); border-radius: var(--radius); box-shadow: var(--shadow); text-align: center; }
.error-card h1 { color: var(--olive-900); font-size: 4.7rem; }

.capability-list { display: grid; gap: 20px; }
.capability-card code { overflow-wrap: anywhere; }
.check-list { display: grid; gap: 10px; margin: 18px 0; padding: 0; list-style: none; }
.check-list li { display: grid; gap: 3px; padding: 12px 14px; background: rgba(255, 255, 255, .5); border: 1px solid var(--line); border-left-width: 4px; border-radius: var(--radius-sm); }
.check-list li span { color: #666a67; line-height: 1.45; }
.check-pass { background: var(--success-bg) !important; border-color: rgba(35, 102, 70, .28) !important; }
.check-fail { background: var(--danger-bg) !important; border-color: rgba(140, 48, 48, .27) !important; }
.check-info { background: var(--info-bg) !important; border-color: rgba(79, 101, 73, .26) !important; }
.capability-notes { margin: 16px 0; padding: 15px 17px; background: var(--warning-bg); border-left: 4px solid var(--brown-600); }
.capability-notes p { margin: 0 0 8px; }
.capability-notes p:last-child { margin-bottom: 0; }
.live-test-panel { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line-soft); }
.live-test-panel h3 { margin: 0 0 8px; }
.live-test-panel p { max-width: 760px; }

.offer-preview { overflow-wrap: anywhere; }
.offer-preview table { min-width: 0; box-shadow: none; }
.offer-preview th, .offer-preview td { font-size: .93rem; }
.offer-document { color: var(--ink); line-height: 1.7; }
.offer-letterhead {
    margin: -26px -26px 28px;
    padding: 28px 30px 24px;
    color: var(--cream-logo);
    background: var(--olive-900);
    border-bottom: 4px solid var(--brown-600);
}
.offer-letterhead strong { display: block; font-family: var(--font-ui); font-size: 1.7rem; letter-spacing: .11em; line-height: 1; }
.offer-letterhead span { display: block; margin-top: 8px; color: rgba(239, 229, 211, .68); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.offer-document h1 { margin-bottom: 24px; color: var(--olive-900); font-size: 2rem; }
.offer-document h2 { margin-top: 25px; color: var(--olive-900); font-size: 1.2rem; }
.offer-terms { min-width: 0; margin: 23px 0; border: 1px solid var(--line); box-shadow: none; }
.offer-terms th { width: 38%; color: var(--ink); background: var(--paper-deep); font-size: .8rem; letter-spacing: .035em; text-transform: uppercase; }
.offer-terms th, .offer-terms td { padding: 11px 13px; }
.workflow-actions { display: grid; gap: 16px; margin-top: 28px; margin-bottom: 28px; }
.workflow-actions form { margin: 0; }
.approval-grid { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.task-stage { margin-bottom: 18px; }
.task-stage h3 { margin: -26px -26px 18px; padding: 16px 25px; color: var(--cream-logo); background: var(--olive-800); border-bottom: 3px solid var(--brown-600); }
.task-row { display: grid; grid-template-columns: minmax(260px, 1.5fr) minmax(130px, .5fr) minmax(220px, 1fr) auto; gap: 12px; align-items: center; padding: 14px 0; border-top: 1px solid var(--line-soft); }
.task-row:first-of-type { border-top: 0; }
.task-row > div { display: grid; gap: 4px; }
.task-row > div span { color: #6b706f; font-size: .79rem; }
.activity-list { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.activity-list li { display: flex; gap: 12px; align-items: flex-start; padding-top: 12px; border-top: 1px solid var(--line-soft); }
.activity-list li:first-child { padding-top: 0; border-top: 0; }
.activity-list li > div { min-width: 0; overflow-wrap: anywhere; }
.activity-list li span:not(.status) { color: #6b706f; font-size: .79rem; }
.payload-details { margin-top: 9px; }
.payload-details summary { font-size: .76rem; }
.payload-details pre { max-height: 320px; margin: 9px 0 0; font-size: .75rem; }

.public-page { background: var(--paper); }
.public-page .site-header { position: relative; }
.candidate-card { display: grid; gap: 20px; }
.candidate-card > h1 { margin-top: 0; }
.public-offer { padding: 32px; background: rgba(255, 253, 248, .93); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.document-proof { display: grid; gap: 4px; padding: 14px 16px; overflow-wrap: anywhere; background: var(--paper-deep); border: 1px solid var(--line); border-left: 4px solid var(--brown-600); border-radius: var(--radius-sm); font-size: .77rem; }
.document-proof span { color: #64645e; }
.candidate-response-form { display: grid; gap: 18px; }
.candidate-action-row { display: flex; flex-wrap: wrap; gap: 12px; }
.legal-note { font-size: .78rem; }
.result-card { min-height: 430px; align-content: center; padding: 42px; background: rgba(255, 253, 248, .9); border: 1px solid var(--line); border-top: 4px solid var(--brown-600); border-radius: var(--radius-lg); box-shadow: var(--shadow); text-align: center; }

@media (max-width: 1080px) {
    .brand-product { display: none; }
    .header-navigation > .header-help-trigger { width: 42px; padding-inline: 7px; }
    .header-navigation > .header-help-trigger > span:last-child { display: none; }
}
@media (max-width: 1360px) {
    .header-inner { min-height: 70px; }
    .brand { min-width: 0; }
    .brand-logo { width: 174px; }
    .nav-toggle { display: inline-flex; }
    .header-navigation {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        display: none;
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        margin: 0;
        padding: 14px 16px 18px;
        color: var(--paper);
        background: var(--olive-950);
        border-top: 1px solid rgba(239, 231, 214, .12);
        border-bottom: 3px solid var(--sage);
        box-shadow: 0 18px 36px rgba(41, 49, 39, .22);
    }
    .site-header.nav-open .header-navigation { display: grid; gap: 13px; }
    .top-nav { display: grid; width: 100%; gap: 3px; }
    .top-nav a { width: 100%; padding: 13px 14px; white-space: normal; }
    .top-nav a::after { right: auto; bottom: 7px; left: 14px; width: 34px; transform-origin: left; }
    .account-dropdown { width: 100%; padding-top: 13px; border-top: 1px solid rgba(239, 231, 214, .13); }
    .header-navigation > .header-help-trigger { width: 100%; justify-content: flex-start; padding: 12px 14px; }
    .header-navigation > .header-help-trigger > span:last-child { display: inline; }
    .account-trigger { width: 100%; justify-content: flex-start; padding-right: 13px; }
    .account-name { display: block; max-width: none; }
    .account-chevron { margin-left: auto; }
    .account-panel {
        position: static;
        width: 100%;
        margin-top: 8px;
        color: var(--paper);
        background: rgba(65, 83, 59, .62);
        border-color: rgba(239, 231, 214, .14);
        border-top-color: var(--sage);
        box-shadow: none;
    }
    .account-summary { border-bottom-color: rgba(239, 231, 214, .13); }
    .account-summary span, .account-section-label { color: rgba(243, 239, 229, .66); }
    .account-link { color: var(--paper); }
    .account-link:hover, .account-link:focus-visible, .account-link.is-active { color: var(--white); background: rgba(158, 154, 117, .2); }
    .account-divider { background: rgba(239, 231, 214, .13); }
    .account-signout { color: #f0c5bf; }
}
@media (max-width: 900px) {
    :root { --page-gutter: 12px; }
    .alert-with-action { align-items: stretch; flex-direction: column; }
    .alert-with-action .button { width: 100%; }
    .inline-remediation { grid-template-columns: 1fr; min-width: 0; width: 100%; }
    .inline-remediation select { min-width: 0; }
    .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .task-row { grid-template-columns: 1fr; }
    .approval-grid { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    .page-shell { padding-top: 28px; }
    .public-shell { width: min(930px, calc(100% - 24px)); padding-right: 0; padding-left: 0; }
    .split-heading { align-items: flex-start; flex-direction: column; }
    .page-heading { padding: 27px 23px 32px; }
    .card-grid, .form-grid, .definition-list-wide, .definition-grid { grid-template-columns: 1fr; }
    .form-actions, .field-span { grid-column: auto; }
    .heading-actions, .status-stack { justify-content: flex-start; }
    .search-form { grid-template-columns: 1fr; }
    .site-footer { flex-direction: column; padding: 22px; }
}
@media (max-width: 560px) {
    .brand-logo { width: 158px; }
    .header-inner { gap: 10px; }
    .public-header-tools { gap: 7px; }
    .public-header-tools .header-help-trigger { width: 40px; min-height: 38px; padding: 6px; }
    .public-header-tools .header-help-trigger > span:last-child { display: none; }
    .public-badge { max-width: 112px; padding: 7px 8px; font-size: .57rem; line-height: 1.2; text-align: center; }
    .metric-grid { grid-template-columns: 1fr; }
    .card, .public-offer { padding: 21px; }
    .offer-letterhead { margin: -21px -21px 24px; padding: 24px 22px 21px; }
    .auth-brand, .auth-body { padding-right: 24px; padding-left: 24px; }
    .candidate-action-row .button { width: 100%; }
    .button-row, .form-actions { align-items: stretch; flex-direction: column; }
    .button-row .button, .form-actions .button { width: 100%; }
    .definition-list div { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 360px) {
    .brand-logo { width: 136px; }
    .public-badge { max-width: 92px; padding-inline: 6px; font-size: .52rem; }
}
.guest-page .site-header { display: none; }
.guest-page .auth-shell { min-height: calc(100vh - 100px); }

/* Bullhorn synchronization alert */
.placement-alert {
    align-items: flex-start;
}
.placement-alert-copy {
    flex: 1 1 360px;
    padding-top: 8px;
}

/* Bullhorn-governed offer preparation */
.governed-terms-card {
    border-top: 4px solid var(--brown-600);
}
.governed-definition-grid dd {
    font-weight: 700;
}
.governed-note {
    margin: 18px 0 0;
    padding: 13px 15px;
    color: var(--ink-soft);
    background: var(--paper-deep);
    border-left: 4px solid var(--brown-600);
    font-size: .84rem;
}
.smart-offer-form {
    align-items: start;
}
.offer-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.autosave-status { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.autosave-status.is-saving { color: var(--info); }
.autosave-status.is-saved { color: var(--success); }
.autosave-status.is-error { color: var(--danger); }
.compensation-field {
    grid-column: 1 / -1;
    max-width: 520px;
}
.money-input {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    overflow: hidden;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}
.money-input > span {
    align-self: stretch;
    display: grid;
    min-width: 44px;
    place-items: center;
    color: var(--cream-logo);
    background: var(--olive-800);
    font-weight: 800;
}
.money-input input {
    border: 0;
    border-radius: 0;
}
.money-input:focus-within {
    outline: 2px solid rgba(65, 83, 59, .28);
    outline-offset: 2px;
}
.governance-conflict {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(140, 48, 48, .22);
}

/* Bullhorn writeback diagnostics */
.sync-error-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 12px;
  font-size: .86rem;
}

.sync-error-facts.compact {
  margin-top: 8px;
  color: var(--ink-soft);
}

.sync-debug-note,
.writeback-error {
  margin: 10px 0 0;
}

.writeback-error {
  color: #8f211b;
  white-space: normal;
}

.writeback-event {
  min-width: 0;
  width: 100%;
}

.bullhorn-history-card .activity-list li {
  align-items: flex-start;
}

.payload-details {
  margin-top: 10px;
}

.payload-details summary {
  cursor: pointer;
  font-weight: 700;
}

.payload-details pre {
  max-height: 420px;
  overflow: auto;
  margin: 10px 0 0;
  padding: 14px;
  color: var(--paper);
  background: var(--olive-900);
  border-radius: 8px;
  font-size: .78rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}


/* SEMPERIX Operations Center icons and administration */
.material-symbols-outlined {
    display: inline-block;
    direction: ltr;
    font-family: "Material Symbols Outlined";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "liga";
    font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.top-nav .material-symbols-outlined { font-size: 18px; }
.icon-button { gap: 8px; }
.icon-button .material-symbols-outlined { font-size: 19px; }
.card-icon { color: var(--olive-700); font-size: 30px; }
.admin-grid { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 1.55fr); gap: 26px; align-items: start; }
.admin-create-card { position: sticky; top: 112px; }
.pipeline-summary { margin: 0 0 16px; padding: 12px 15px; color: var(--ink-soft); background: var(--paper-deep); border-left: 4px solid var(--olive-700); }
.pipeline-summary strong { color: var(--olive-900); }
.closed-pipeline { margin-top: 18px; padding: 0 18px 18px; background: rgba(255, 253, 248, .58); border: 1px solid var(--line); border-radius: var(--radius); }
.closed-pipeline summary { padding: 16px 0 0; }
.performance-note { margin: 12px 0 0; color: var(--ink-soft); font-size: .82rem; }
.job-link { color: var(--olive-900); font-weight: 800; }

@media (max-width: 1000px) {
    .admin-grid { grid-template-columns: 1fr; }
    .admin-create-card { position: static; }
    .performance-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .performance-grid { grid-template-columns: 1fr; }
}

/* Bullhorn-linked user management */
.bullhorn-directory-heading { margin-top: 42px; }
.source-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 800;
    color: var(--olive-900);
}
.source-chip .material-symbols-outlined { font-size: 18px; }
.user-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 190px;
}
.user-actions form { margin: 0; }
.role-checklist {
    display: grid;
    gap: 7px;
    min-width: 190px;
}
.role-checklist label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ink);
    font-size: .83rem;
    font-weight: 700;
}
.role-checklist input[type="checkbox"] {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--olive-700);
}
.privileged-role-control {
    display: grid;
    gap: 8px;
    margin-top: 6px;
    padding: 11px;
    background: rgba(122, 63, 54, .07);
    border: 1px solid rgba(122, 63, 54, .24);
    border-left: 4px solid var(--danger);
    border-radius: 5px;
}
.privileged-role-label {
    color: var(--danger);
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.role-checklist .privileged-role-option { align-items: flex-start; }
.privileged-role-option > span { display: grid; gap: 3px; }
.privileged-role-option small { color: var(--ink-soft); font-size: .69rem; font-weight: 400; line-height: 1.35; }
.role-checklist .administrator-role-confirmation {
    align-items: flex-start;
    padding-top: 8px;
    color: var(--danger);
    border-top: 1px solid rgba(122, 63, 54, .2);
    font-size: .72rem;
}
.activity-line {
    display: block;
    color: var(--ink-soft);
    font-size: .82rem;
    white-space: nowrap;
}
.activity-line strong { color: var(--olive-900); }
.field-error {
    display: block;
    max-width: 170px;
    margin-top: 7px;
    color: var(--danger);
    font-size: .74rem;
    line-height: 1.35;
}
.governed-summary {
    display: grid;
    gap: 10px;
    margin: 20px 0;
    padding: 15px;
    background: var(--paper-deep);
    border-left: 4px solid var(--olive-700);
}
.governed-summary span { display: grid; gap: 2px; }
.governed-summary strong { color: var(--olive-900); font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
@media (max-width: 900px) {
    .user-actions { justify-content: flex-start; min-width: 0; }
    .role-checklist { min-width: 0; }
}

.field-hint {
    display: block;
    max-width: 220px;
    margin-top: 3px;
    color: var(--ink-soft);
    font-size: .72rem;
    font-weight: 400;
    line-height: 1.35;
}
.manager-release-handoff {
    display: grid;
    gap: 15px;
    border-left: 5px solid var(--olive-700);
}
.manager-release-handoff > p, .manager-release-handoff > .alert { margin: 0; }
.manager-release-handoff form { margin: 0; }

/* Milestone 2: governed offer terms, document vault, and cancellation evidence */
.option-fieldset {
    min-width: 0;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--paper-deep) 55%, transparent);
}
.option-fieldset legend {
    padding: 0 8px;
    color: var(--ink);
    font-weight: 800;
}
.holiday-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
    gap: 9px 18px;
    margin-top: 13px;
}
.check-option {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    min-width: 0;
    color: var(--ink-soft);
    font-weight: 600;
    line-height: 1.35;
}
.check-option input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--olive-700);
}
.check-option-all {
    display: inline-flex;
    padding: 10px 13px;
    color: var(--olive-900);
    background: var(--sage-soft);
    border: 1px solid var(--sage);
    border-radius: var(--radius-sm);
}
.cancel-workflow {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.cancel-workflow summary {
    color: var(--danger);
    font-weight: 800;
    cursor: pointer;
}
.cancel-workflow form {
    display: grid;
    gap: 16px;
    max-width: 880px;
    margin-top: 16px;
}
.offer-letterhead img {
    width: min(260px, 68%);
    height: auto;
    margin: 0 0 20px;
}
.inline-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--olive-800);
    font-weight: 750;
    text-decoration: none;
}
.inline-link:hover,
.inline-link:focus-visible {
    text-decoration: underline;
}
.data-table td a .material-symbols-outlined {
    margin-right: 4px;
    font-size: 19px;
    vertical-align: -4px;
}
[hidden] {
    display: none !important;
}
@media (max-width: 700px) {
    .holiday-grid { grid-template-columns: 1fr; }
}

/* Integrated onboarding workspace and controlled test cleanup */
.case-workspace { min-width: 0; }
.workspace-presentation-status {
    position: sticky;
    top: 82px;
    z-index: 12;
    width: fit-content;
    max-width: 100%;
    margin: 0 0 12px auto;
    padding: 8px 11px;
    color: var(--ink-soft);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
    font-size: .74rem;
    font-weight: 750;
}
.workspace-presentation-status.is-saved { color: var(--success); border-color: var(--success); }
.workspace-presentation-status.is-error { color: var(--danger); border-color: var(--danger); }
.workspace-disclosure {
    min-width: 0;
    margin: 0 0 18px;
    overflow: hidden;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow-soft);
    scroll-margin-top: 96px;
}
.workspace-disclosure > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
}
.workspace-disclosure > summary::-webkit-details-marker { display: none; }
.workspace-disclosure > summary > span:first-child { display: grid; gap: 4px; min-width: 0; }
.workspace-disclosure > summary strong { color: var(--olive-900); font-family: var(--font-display); font-size: 1.16rem; }
.workspace-disclosure > summary .eyebrow { margin: 0; }
.workspace-summary-state { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.workspace-disclosure[open] > summary { background: var(--sage-soft); border-bottom: 1px solid var(--line); }
.workspace-disclosure[open] > summary > .material-symbols-outlined { transform: rotate(180deg); }
.workspace-disclosure-body { padding: 24px; }
.workspace-disclosure-body > .section-heading:first-child { margin-top: 0; }
.workspace-disclosure-body > :last-child { margin-bottom: 0; }
.workspace-body-actions { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.workspace-body-actions form { margin: 0; }
.workspace-body-introduction { margin: 0 0 20px; }
.workspace-body-introduction .lede { margin-top: 0; }
.toolbar-search {
    display: grid;
    gap: 7px;
    margin: 0 0 18px;
}
.toolbar-search > label {
    color: var(--ink-soft);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.toolbar-search-row {
    display: flex;
    gap: 10px;
    align-items: center;
}
.toolbar-search-row input { flex: 1 1 420px; }
.workflow-stage {
    display: grid;
    gap: 20px;
    margin-bottom: 22px;
}
.workflow-stage.is-locked { background: #eeeae0; }
.workflow-stage-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin: -26px -26px 0;
    padding: 20px 25px 18px;
    color: var(--cream-logo);
    background: var(--olive-800);
    border-bottom: 3px solid var(--brown-600);
}
.workflow-stage-header h3 { margin: 0; color: inherit; }
.workflow-stage-header .eyebrow { color: rgba(239, 229, 211, .72); }
.workflow-stage-header .status { align-self: center; }
.workflow-stage-help { margin: 0; color: var(--ink-soft); }
.billing-assignment-card + .billing-assignment-card,
.charge-code-card + .charge-code-card { margin-top: 22px; }
.billing-assignment-card .compact-form,
.billing-configuration .compact-form {
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.compact-section-heading { margin: 0 0 16px; }
.compact-section-heading h3 { margin-bottom: 0; }
.employment-termination {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--line);
    scroll-margin-top: 96px;
}
.employment-termination .compact-form,
.termination-status-card { margin: 0; }
.termination-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}
.compact-action-form {
    display: grid;
    align-content: start;
    gap: 10px;
    margin: 0;
}
.compact-action-form label { margin: 0; }
.terminated-employee-roster { margin-top: 24px; }
.terminated-employee-roster > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
}
.workflow-save-notice {
    margin-top: 14px;
    padding: 11px 14px;
    color: var(--ink);
    background: var(--paper-deep);
    border: 1px solid var(--line);
    border-radius: 8px;
    font-weight: 700;
}
.workflow-save-notice.is-saving { color: var(--ink-soft); }
.workflow-save-notice.is-success {
    color: var(--success);
    border-color: var(--success);
}
.workflow-save-notice.is-error {
    color: var(--danger);
    border-color: var(--danger);
}
.workflow-save-notice.is-warning {
    color: var(--warning-dark, #75520b);
    border-color: var(--warning, #b98416);
}
.async-action-status {
    margin: 12px 0;
    padding: 11px 13px;
    color: var(--ink-soft);
    background: var(--paper-deep);
    border: 1px solid var(--line);
    border-left: 4px solid var(--olive-600);
    border-radius: var(--radius-sm);
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.45;
}
.async-action-status.compact { margin: 8px 0 0; padding: 8px 10px; font-size: .72rem; }
.async-action-status.is-saving { color: var(--ink-soft); border-left-color: var(--brown-600); }
.async-action-status.is-success { color: var(--success); border-left-color: var(--success); }
.async-action-status.is-warning { color: var(--warning); border-left-color: var(--warning); }
.async-action-status.is-error { color: var(--danger); border-left-color: var(--danger); }
[data-async-region][aria-busy="true"] { opacity: .72; }
[data-async-region][aria-busy="true"] button { cursor: wait; }
.workflow-action-list { display: grid; }
.workflow-action-row,
.workflow-evidence-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 15px 0;
    border-top: 1px solid var(--line-soft);
}
.workflow-action-list > :first-child { border-top: 0; }
.workflow-action-row.is-saving { opacity: .68; }
.workflow-action-row.is-saving button { cursor: wait; }
.appointment-workspace.is-saving { opacity: .68; }
.appointment-workspace.is-saving button { cursor: wait; }
.workflow-action-copy,
.workflow-evidence-row {
    min-width: 0;
}
.workflow-action-copy,
.workflow-evidence-row,
.workflow-action-controls {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.workflow-action-copy > div,
.workflow-evidence-row > div { display: grid; gap: 4px; }
.workflow-action-copy small,
.workflow-evidence-row small { color: var(--ink-soft); line-height: 1.45; }
.workflow-action-copy p { margin: 3px 0 0; }
.workflow-action-copy > .material-symbols-outlined,
.workflow-evidence-row > .material-symbols-outlined { color: #8b8c84; }
.workflow-action-copy > .is-complete,
.workflow-evidence-row > .is-complete { color: var(--success); }
.workflow-action-copy > .is-blocked { color: var(--danger); }
.workflow-action-controls {
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.workflow-action-controls form { margin: 0; }
.blocker-control { position: relative; }
.blocker-control > summary,
.danger-zone > summary { cursor: pointer; color: var(--danger); font-weight: 800; }
.blocker-control form {
    display: grid;
    gap: 10px;
    min-width: min(360px, 75vw);
    margin-top: 10px;
    padding: 14px;
    background: var(--paper-deep);
    border: 1px solid var(--line);
    border-radius: 8px;
}
.appointment-workspace {
    display: grid;
    gap: 16px;
    padding: 19px;
    background: var(--paper-deep);
    border: 1px solid var(--line);
    border-radius: 9px;
}
.appointment-workspace h4 { margin: 0; }
.appointment-workspace .card-header { margin: 0; }
.cleanup-card { display: grid; gap: 18px; }
.cleanup-card .card-header { margin: 0; }
.cleanup-impact { margin: 0; }
.danger-zone {
    padding: 16px;
    background: var(--danger-bg);
    border: 1px solid rgba(140, 48, 48, .24);
    border-radius: 8px;
}
.danger-zone form { display: grid; gap: 15px; margin-top: 16px; }
@media (max-width: 800px) {
    .toolbar-search-row,
    .workflow-action-row,
    .workflow-stage-header { align-items: stretch; flex-direction: column; }
    .toolbar-search-row input,
    .toolbar-search-row .button { width: 100%; }
    .workflow-action-controls { justify-content: flex-start; }
    .workspace-disclosure > summary { grid-template-columns: minmax(0, 1fr) auto; padding: 18px; }
    .workspace-summary-state { grid-column: 1; grid-row: 2; }
    .workspace-disclosure > summary > .material-symbols-outlined { grid-column: 2; grid-row: 1 / span 2; }
    .workspace-disclosure-body { padding: 18px; }
}

/* Milestone 3: required onboarding intake and past-performance governance */
.intake-fieldset {
    min-width: 0;
    margin: 0;
    padding: clamp(18px, 2.3vw, 28px);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: linear-gradient(180deg, color-mix(in srgb, var(--sage-soft) 46%, var(--paper)) 0%, var(--paper) 100%);
}
.intake-fieldset legend {
    padding: 0 9px;
    color: var(--olive-900);
    font-family: var(--font-display);
    font-size: 1.18rem;
    font-weight: 800;
}
.sector-choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 22px;
}
.choice-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    color: var(--ink);
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    cursor: pointer;
}
.choice-card:has(input:checked) {
    background: var(--sage-soft);
    border-color: var(--olive-700);
    box-shadow: inset 0 0 0 1px var(--olive-700);
}
.choice-card input {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--olive-700);
}
.choice-card span { display: grid; gap: 4px; }
.choice-card strong { color: var(--olive-900); }
.choice-card small { color: var(--ink-soft); line-height: 1.4; }
.intake-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.intake-field { align-content: start; }
.field-label-text { display: inline-block; width: fit-content; max-width: 100%; }
.required-mark { display: inline; margin-left: 3px; color: var(--danger); white-space: nowrap; }
.intake-complete-line {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 12px 0;
    color: var(--olive-900);
    font-weight: 800;
}
.intake-complete-line .material-symbols-outlined { font-size: 21px; }
.compact-alert { margin: 12px 0; padding: 11px 13px; }
.snapshot-hash {
    margin: 18px 0 0;
    color: var(--ink-soft);
    font-size: .78rem;
    overflow-wrap: anywhere;
}
.snapshot-hash code { color: var(--olive-900); }
.intake-admin-form { align-items: end; }
.intake-admin-list { display: grid; gap: 16px; }
.intake-create-panel,
.intake-field-admin-card { padding: 0; overflow: hidden; scroll-margin-top: 96px; }
.intake-field-admin-card + .intake-field-admin-card { margin-top: 22px; }
.intake-create-panel > summary,
.intake-field-admin-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 24px;
    cursor: pointer;
    list-style: none;
}
.intake-field-admin-card > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    justify-content: normal;
}
.intake-create-panel > summary::-webkit-details-marker,
.intake-field-admin-card > summary::-webkit-details-marker { display: none; }
.intake-create-panel > summary > span:first-child,
.intake-admin-summary-copy { display: grid; gap: 4px; min-width: 0; }
.intake-field-admin-card > summary > .status { justify-self: end; }
.intake-create-panel > summary strong,
.intake-admin-summary-copy strong { color: var(--olive-900); font-size: 1.05rem; }
.intake-admin-summary-copy small { color: var(--ink-soft); }
.intake-create-panel[open] > summary,
.intake-field-admin-card[open] > summary { background: var(--sage-soft); border-bottom: 1px solid var(--line); }
.intake-create-panel[open] > summary > .material-symbols-outlined,
.intake-field-admin-card[open] > summary > .material-symbols-outlined { transform: rotate(180deg); }
.intake-create-panel > form,
.intake-admin-body { padding: 24px; }
.intake-admin-body { display: grid; gap: 20px; }
.intake-reference-policy { display: flex; justify-content: flex-end; align-items: center; }
.intake-reference-policy p { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--ink-soft); font-size: .82rem; }
.intake-reference-policy .material-symbols-outlined { font-size: 19px; }
.intake-options-admin {
    padding-top: 22px;
    border-top: 1px solid var(--line);
}
.intake-options-admin .card-header { margin: 0 0 14px; }
.intake-options-admin h4 { margin: 0; }
.intake-options-admin .card-header p { margin: 5px 0 0; color: var(--ink-soft); }
.intake-option-table-wrap { box-shadow: none; }
.intake-option-table { min-width: 760px; table-layout: fixed; }
.intake-option-table .intake-option-order-column { width: 130px; }
.intake-option-table .intake-option-experience-column { width: 220px; }
.intake-option-table .intake-option-years-column { width: 100px; }
.intake-option-table .intake-option-usage-column { width: 115px; }
.intake-option-table .intake-option-actions-column { width: 270px; }
.intake-option-table td { vertical-align: middle; }
.intake-option-table td input { width: 100%; min-width: 0; }
.intake-option-table tbody tr:hover { background: transparent; }
.intake-option-add-row td { border-top: 2px solid var(--line); }
.intake-option-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
.intake-option-actions form { margin: 0; }
.financial-review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 16px 0 22px; }
.financial-review-grid > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }
.financial-review-grid dt { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.financial-review-grid dd { margin: 6px 0 0; font-size: 1.15rem; font-weight: 800; }
@media (max-width: 900px) {
    .financial-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sector-choice,
    .intake-grid { grid-template-columns: 1fr; }
    .intake-reference-policy { justify-content: flex-start; }
}
@media (max-width: 520px) {
    .financial-review-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .intake-option-table { min-width: 0; table-layout: auto; }
    .intake-option-table > tbody > tr { grid-template-columns: minmax(0, 1fr) 110px; }
    .intake-option-table .record-span { grid-column: 1 / -1; }
    .intake-option-actions { justify-content: flex-start; }
}
@media (max-width: 480px) {
    .intake-option-table > tbody > tr { grid-template-columns: minmax(0, 1fr); }
    .intake-option-table .record-span { grid-column: 1; }
    .intake-option-actions,
    .intake-option-actions form,
    .intake-option-actions .button,
    .intake-option-add-row .button { width: 100%; }
}
.alert-warning { color: var(--warning); background: var(--warning-bg); border-color: rgba(117, 93, 52, .28); }
.profile-intake-list { display: grid; gap: 14px; }
.profile-intake-card { padding: 0; overflow: hidden; }
.profile-intake-card summary { display: flex; justify-content: space-between; gap: 18px; padding: 18px 20px; cursor: pointer; }
.profile-intake-card[open] summary { border-bottom: 1px solid var(--line); background: var(--sage-soft); }
.profile-intake-card .definition-grid { padding: 20px; }
.profile-intake-card .snapshot-hash { padding: 0 20px 20px; }

/* Unified Candidate / Employee Record */
.employee-record-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 30px;
}
.employee-record-summary { display: grid; align-content: start; gap: 7px; min-height: 142px; }
.employee-record-summary p { margin: 0; }
.employee-record-summary strong { color: var(--olive-900); font-size: 1.25rem; line-height: 1.2; }
.employee-record-summary span { color: var(--ink-soft); font-size: .84rem; }
.employee-record-case-list { display: grid; gap: 16px; }
.employee-record-case { padding: 0; overflow: hidden; }
.employee-record-case > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 20px 22px;
    cursor: pointer;
}
.employee-record-case > summary span:first-child { display: grid; gap: 4px; }
.employee-record-case > summary small { color: var(--ink-soft); }
.employee-record-case[open] > summary { background: var(--sage-soft); border-bottom: 1px solid var(--line); }
.employee-record-case-body { display: grid; gap: 20px; padding: 22px; }
.compact-definition-grid { margin: 0; }
.employee-record-subsection { border-top: 1px solid var(--line); }
.employee-record-subsection > summary { padding: 18px 0 0; color: var(--olive-900); font-weight: 800; cursor: pointer; }
.employee-record-subsection > p,
.employee-record-subsection > .table-wrap { margin-top: 14px; }
.compact-record-table { min-width: 720px; }
.employee-record-link { color: var(--olive-900); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.employee-record-link:hover,
.employee-record-link:focus-visible { color: var(--brown-700); }
.bulk-assignment-form { display: grid; gap: 18px; }
.bulk-assignment-rows { display: grid; gap: 14px; }
.bulk-assignment-row { display: grid; grid-template-columns: minmax(190px, 1.2fr) repeat(2, minmax(145px, .8fr)) repeat(2, minmax(140px, .75fr)) auto auto; align-items: end; gap: 12px; padding: 16px; background: var(--paper-deep); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.bulk-assignment-row .checkbox-row { align-self: center; }

@media (max-width: 1200px) {
    .bulk-assignment-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1050px) {
    .employee-record-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .bulk-assignment-row { grid-template-columns: minmax(0, 1fr); }
    .employee-record-overview { grid-template-columns: minmax(0, 1fr); }
    .employee-record-summary { min-height: 0; }
    .employee-record-case > summary { padding: 18px; }
    .employee-record-case-body { padding: 18px; }
    .compact-record-table { min-width: 0; }
}


.frozen-intake-card .card-header {
  align-items: flex-start;
}

.frozen-intake-card .card-header p {
  max-width: 78ch;
  margin-bottom: 0;
}

/* Milestone 4: role-specific work queues and appointment scheduling */
[data-filter-region] {
    transition: opacity .16s ease;
}
[data-filter-region][aria-busy="true"] {
    cursor: progress;
    opacity: .64;
    pointer-events: none;
}
.queue-metric-grid {
    margin-bottom: 18px;
}
.queue-view-controls {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr) auto auto;
    align-items: end;
    gap: 12px;
    margin: -6px 0 18px;
    padding: 16px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}
.person-work-queue {
    display: grid;
    gap: 12px;
    margin-bottom: clamp(34px, 5vw, 64px);
}
.queue-manager-heading {
    margin: 22px 0 2px;
    color: var(--brown-600);
    font-family: inherit;
    font-size: .78rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.queue-manager-heading:first-child { margin-top: 0; }
.person-work-card {
    min-width: 0;
    overflow: hidden;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-soft);
}
.person-work-card > summary {
    display: grid;
    grid-template-columns: auto minmax(240px, 1.5fr) minmax(74px, .35fr) minmax(150px, .75fr) auto;
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 17px 19px;
    cursor: pointer;
    list-style: none;
}
.person-work-card > summary::-webkit-details-marker { display: none; }
.person-work-card[open] > summary { background: var(--sage-soft); border-bottom: 1px solid var(--line); }
.person-work-identity,
.person-work-count,
.person-work-next { display: grid; min-width: 0; gap: 2px; }
.person-work-identity strong { color: var(--olive-900); font-size: 1rem; }
.person-work-identity small,
.person-work-count small,
.person-work-next small { color: var(--ink-soft); }
.person-work-count strong { font-size: 1.15rem; }
.person-work-next strong { font-size: .8rem; line-height: 1.35; }
.person-work-chevron { transition: transform .16s ease; }
.person-work-card[open] .person-work-chevron { transform: rotate(180deg); }
.person-work-details { display: grid; gap: 15px; padding: 17px 19px 19px; }
.person-work-owners { display: flex; flex-wrap: wrap; gap: 12px 28px; color: var(--ink-soft); font-size: .8rem; }
.person-work-owners span { display: grid; gap: 2px; }
.person-work-owners strong { color: var(--brown-600); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.person-task-list { display: grid; }
.person-task-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 12px;
    padding: 14px 0;
    border-top: 1px solid var(--line-soft);
}
.person-task-row:first-child { border-top: 0; }
.person-task-row > .material-symbols-outlined { color: var(--brown-600); font-size: 21px; }
.person-task-row > div { display: grid; gap: 3px; }
.person-task-row small { color: var(--ink-soft); line-height: 1.45; }
.person-task-row p { margin: 4px 0 0; }
.work-queue-empty { margin-bottom: clamp(34px, 5vw, 64px); }
.work-queue-table {
    margin-bottom: clamp(34px, 5vw, 64px);
}
.work-queue-table td {
    vertical-align: top;
}
.timecard-dashboard-heading { margin-top: 0; }
.action-metric-grid,
.summary-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.action-metric-card,
.summary-metric-card { align-content: center; }
.summary-metric-card { cursor: default; }
.lifecycle-metric-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: clamp(34px, 5vw, 64px);
}
.lifecycle-metric-card { min-height: 132px; }
.lifecycle-metric-card > strong { margin: 0; font-size: 1.8rem; }
.lifecycle-metric-card.has-attention { border-color: rgba(140, 48, 48, .42); background: var(--danger-bg); }
.lifecycle-alert-icon {
    position: absolute;
    top: 18px;
    right: 19px;
    color: var(--danger) !important;
    font-size: 21px !important;
}
@media (max-width: 1200px) {
    .lifecycle-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .action-metric-grid,
    .summary-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .queue-view-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .person-work-card > summary { grid-template-columns: auto minmax(0, 1fr) auto; }
    .person-work-count { justify-items: end; }
    .person-work-next { grid-column: 2 / 3; }
    .person-work-chevron { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 620px) {
    .queue-view-controls { grid-template-columns: 1fr; }
    .queue-view-controls .button { width: 100%; }
    .person-work-card > summary { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; }
    .person-work-card > summary > .status { justify-self: start; }
    .person-work-identity { grid-column: 1 / -1; grid-row: 2; }
    .person-work-count { grid-column: 1; grid-row: 3; justify-items: start; }
    .person-work-next { grid-column: 1; grid-row: 4; }
    .person-work-chevron { grid-column: 2; grid-row: 1; }
    .person-task-row { grid-template-columns: auto minmax(0, 1fr); }
    .person-task-row .button { grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 560px) {
    .action-metric-grid,
    .summary-metric-grid { grid-template-columns: minmax(0, 1fr); }
}
.appointment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-bottom: clamp(34px, 5vw, 64px);
}
.appointment-card {
    display: grid;
    align-content: start;
    gap: 18px;
}
.appointment-card .card-header {
    margin-bottom: 0;
}
.appointment-summary {
    margin: 0;
}
.appointment-summary > div {
    min-width: 0;
}
.appointment-form {
    display: grid;
    gap: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--line);
}
.appointment-form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.appointment-form-grid .field-span-2 {
    grid-column: span 3;
}
.appointment-actions {
    align-items: center;
    margin-top: -4px;
}
.appointment-actions form {
    margin: 0;
}
.task-row span {
    line-height: 1.45;
}
.task-escalation {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    color: var(--warning);
    font-size: .76rem;
    font-weight: 800;
}
@media (max-width: 1050px) {
    .appointment-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .appointment-form-grid {
        grid-template-columns: 1fr;
    }
    .appointment-form-grid .field-span-2 {
        grid-column: auto;
    }
}

/* Milestone 5: Sales and Recruiting intelligence */
.week-picker {
    display: flex;
    align-items: end;
    gap: 10px;
    flex-wrap: wrap;
}
.week-picker label {
    display: grid;
    gap: 5px;
    color: var(--ink-soft);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.page-heading .week-picker label { color: #f0e5d3; }
.week-picker input { min-width: 165px; }

/* Progressive disclosure for administrator-only diagnostics. */
.technical-details {
    margin-top: 24px;
    padding: 0;
    overflow: hidden;
}
.technical-details > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 22px;
    color: var(--olive-900);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.technical-details > summary::-webkit-details-marker { display: none; }
.technical-details > summary::after {
    content: "+";
    margin-left: auto;
    font-size: 1.25rem;
}
.technical-details[open] > summary {
    background: var(--sage-soft);
    border-bottom: 1px solid var(--line);
}
.technical-details[open] > summary::after { content: "-"; }
.technical-details-content { display: grid; gap: 18px; padding: 22px; }
.technical-details-content > :first-child { margin-top: 0; }
.technical-details-content > :last-child { margin-bottom: 0; }
.bullhorn-technical-card { display: grid; align-content: start; gap: 18px; }
.bullhorn-technical-card > :where(.eyebrow, h2, p, pre) { margin: 0; }
.performance-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(390px, 1fr));
    gap: 20px;
}
.performance-overview-card { display: grid; gap: 20px; }
.kpi-overall { display: flex; align-items: baseline; gap: 12px; }
.kpi-overall strong {
    color: var(--olive-900);
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    line-height: 1;
}
.kpi-overall span { color: var(--ink-soft); font-weight: 750; }
.kpi-compact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 10px;
}
.kpi-compact-grid > div {
    display: grid;
    gap: 2px;
    padding: 12px;
    background: rgba(216, 213, 191, .34);
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-sm);
}
.kpi-compact-grid strong { color: var(--olive-900); font-size: 1.35rem; }
.kpi-compact-grid span { font-size: .76rem; font-weight: 750; }
.kpi-compact-grid small { color: var(--ink-soft); }
.kpi-metric-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.kpi-metric-card { min-height: 170px; align-content: start; }
.kpi-metric-card small { color: var(--ink-soft); font-size: .78rem; font-weight: 700; }
.kpi-progress {
    height: 7px;
    overflow: hidden;
    margin-top: 5px;
    background: var(--paper-deep);
    border-radius: 999px;
}
.kpi-progress i { display: block; height: 100%; background: var(--olive-700); border-radius: inherit; }
.kpi-status-met { border-top: 4px solid var(--success); }
.kpi-status-near { border-top: 4px solid var(--warning); }
.kpi-status-behind { border-top: 4px solid var(--danger); }
.kpi-status-met .kpi-progress i { background: var(--success); }
.kpi-status-near .kpi-progress i { background: var(--warning); }
.kpi-status-behind .kpi-progress i { background: var(--danger); }
.kpi-ranking-table { min-width: 980px; }
.kpi-ranking-table th:not(:first-child), .kpi-ranking-table td:not(:first-child) { white-space: nowrap; }
.kpi-activity-table {
    min-width: 1100px;
    table-layout: fixed;
}
.kpi-activity-table .kpi-activity-col-metric { width: 12%; }
.kpi-activity-table .kpi-activity-col-candidate { width: 13%; }
.kpi-activity-table .kpi-activity-col-opportunity { width: 19%; }
.kpi-activity-table .kpi-activity-col-details { width: 42%; }
.kpi-activity-table .kpi-activity-col-occurred { width: 14%; }
.kpi-activity-table > thead > tr > th {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}
.kpi-activity-table > tbody > tr > td { vertical-align: top; }
.kpi-activity-table > tbody > tr > td[data-label="Details"] {
    line-height: 1.45;
    overflow-wrap: break-word;
    word-break: normal;
}
.kpi-detail-text.is-collapsed {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}
.kpi-detail-toggle {
    display: inline-block;
    margin-top: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brown-700);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}
.kpi-detail-toggle:hover,
.kpi-detail-toggle:focus-visible { color: var(--olive-900); }
.kpi-activity-table > tbody > tr > td[data-label="Occurred"] {
    overflow-wrap: normal;
    word-break: normal;
}
.lead-entry-form { align-items: end; }
.inline-admin-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto;
    gap: 8px;
    min-width: 330px;
    align-items: center;
}
.is-suppressed-row { opacity: .7; }
.kpi-target-form { display: grid; gap: 22px; }
.kpi-target-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.kpi-target-columns fieldset {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}
.kpi-target-columns legend {
    padding: 0 8px;
    color: var(--olive-900);
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
}
.kpi-target-columns label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(100px, 150px);
    gap: 12px;
    align-items: center;
    font-weight: 750;
}
.sync-status-card { display: grid; gap: 20px; }
.dashboard-kpi-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 18px;
}
.dashboard-kpi-card {
    display: grid;
    grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}
.dashboard-kpi-card > div:first-child { display: grid; gap: 2px; }
.dashboard-kpi-card > div:first-child strong {
    color: var(--olive-900);
    font-family: var(--font-display);
    font-size: 2.5rem;
    line-height: 1;
}
.dashboard-kpi-card > div:first-child span { color: var(--ink-soft); font-size: .75rem; font-weight: 750; }
.dashboard-kpi-card > a { grid-column: 1 / -1; justify-self: start; font-weight: 750; }
.dashboard-kpi-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 14px;
}
.dashboard-kpi-metrics span { color: var(--ink-soft); font-size: .76rem; }
.dashboard-kpi-metrics b { color: var(--olive-900); font-size: .95rem; }

@media (max-width: 900px) {
    .performance-overview-grid, .kpi-target-columns { grid-template-columns: 1fr; }
    .week-picker { width: 100%; }
    .dashboard-kpi-card { grid-template-columns: 1fr; }
    .dashboard-kpi-card > a { grid-column: auto; }
}

@media (max-width: 620px) {
    .performance-overview-grid { grid-template-columns: minmax(0, 1fr); }
    .week-picker, .week-picker label, .week-picker input, .week-picker .button { width: 100%; }
    .inline-admin-form { min-width: 260px; grid-template-columns: 1fr; }
    .kpi-target-columns label { grid-template-columns: 1fr; }
    .dashboard-kpi-summary { grid-template-columns: minmax(0, 1fr); }
}

/* Responsive timekeeping workspaces and consistent record spacing */
.timecard-entry-form,
.manager-approval-form,
.content-stack {
    display: grid;
    gap: 20px;
    min-width: 0;
}
.page-shell > .card + .manager-approval-form {
    margin-top: 22px;
}
.timecard-entry-form > .alert,
.timecard-entry-form > .muted {
    margin: 0;
}
.time-entry-table {
    min-width: 1120px;
}
.time-entry-table th:nth-child(1) { width: 145px; }
.time-entry-table th:nth-child(2) { width: 245px; }
.time-entry-table th:nth-child(3) { width: 155px; }
.time-entry-table th:nth-child(4) { width: 185px; }
.time-entry-table th:nth-child(5) { width: 105px; }
.time-entry-table th:last-child { width: 62px; }
.time-entry-table input,
.time-entry-table select { min-width: 0; }
.time-entry-remove { text-align: right; }
.time-entry-remove .button { width: 42px; padding-inline: 8px; }
.time-entry-remove-label { display: none; }
.timecard-matrix-wrap { width: 100%; overflow: clip; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.timecard-matrix { width: 100%; table-layout: fixed; }
.timecard-matrix th:nth-child(1) { width: 90px; }
.timecard-matrix th:nth-child(2) { width: 190px; }
.timecard-matrix th:nth-child(3) { width: 135px; }
.timecard-matrix th:nth-child(4) { width: 92px; }
.timecard-matrix th:nth-child(6) { width: 92px; }
.timecard-matrix td { vertical-align: middle; }
.timecard-matrix input,
.timecard-matrix select { width: 100%; min-width: 0; }
.timecard-matrix-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 18px 0; }
.timecard-matrix-totals div { display: grid; gap: 5px; padding: 14px 16px; background: var(--sage-soft); border: 1px solid var(--line); border-radius: var(--radius-sm); }
.timecard-matrix-totals span { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.timecard-matrix-totals strong { color: var(--olive-900); font-size: 1.25rem; }
.manager-approval-form > .card { margin-top: 0; }

@media (max-width: 760px) {
    .time-entry-wrap,
    .responsive-record-wrap {
        overflow: visible;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }
    .time-entry-table,
    .responsive-record-table {
        display: block;
        min-width: 0;
    }
    .kpi-activity-table {
        table-layout: auto;
    }
    .kpi-activity-table > colgroup {
        display: none;
    }
    .time-entry-table thead,
    .responsive-record-table > thead {
        display: none;
    }
    .time-entry-table tbody,
    .responsive-record-table > tbody {
        display: grid;
        gap: 14px;
    }
    .time-entry-table tr,
    .responsive-record-table > tbody > tr {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        padding: 17px;
        overflow: hidden;
        background: rgba(255, 253, 248, .9);
        border: 1px solid var(--line);
        border-radius: var(--radius);
        box-shadow: var(--shadow-sm);
    }
    .time-entry-table td,
    .responsive-record-table > tbody > tr > td {
        display: grid;
        min-width: 0;
        gap: 6px;
        padding: 0;
        border: 0;
    }
    .time-entry-table td::before,
    .responsive-record-table > tbody > tr > td::before {
        content: attr(data-label);
        color: #6a685f;
        font-size: .67rem;
        font-weight: 800;
        letter-spacing: .065em;
        line-height: 1.25;
        text-transform: uppercase;
    }
    .time-entry-table .time-entry-code,
    .time-entry-table .time-entry-description,
    .responsive-record-table .record-span {
        grid-column: 1 / -1;
    }
    .time-entry-table .time-entry-remove {
        display: flex;
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
    .time-entry-table .time-entry-remove::before { content: none; }
    .time-entry-remove .button { width: auto; }
    .responsive-record-table details { min-width: 0; }
    .responsive-record-table details > .table-wrap { margin-block: 12px; }
}

@media (max-width: 480px) {
    .time-entry-table tr,
    .responsive-record-table > tbody > tr {
        grid-template-columns: minmax(0, 1fr);
    }
    .time-entry-table .time-entry-code,
    .time-entry-table .time-entry-description,
    .time-entry-table .time-entry-remove,
    .responsive-record-table .record-span {
        grid-column: auto;
    }
    .time-entry-table .time-entry-remove { justify-content: stretch; }
    .time-entry-remove .button { width: 100%; }
    .time-entry-remove-label { display: inline; }
}

/* Active Employee / Timecard Operations */
.operations-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.employee-roster-search { display: grid; grid-template-columns: minmax(280px, 520px) auto auto; align-items: end; gap: 12px; margin-bottom: 20px; }
.employee-roster-search label { gap: 7px; }
.employee-roster-search > a { align-self: center; }
.employee-operations-table { min-width: 940px; }
.employee-operation-row.has-attention > td:first-child { border-left: 4px solid var(--danger); }
.employee-operation-actions { justify-content: flex-end; }
.operation-exception-list { display: grid; gap: 7px; margin: 12px 0 0; padding-left: 20px; }
.operation-matching-timecards,
.operation-matching-statuses { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.operation-matching-timecards li + li,
.operation-matching-statuses li + li { padding-top: 9px; border-top: 1px solid var(--line); }
.operation-matching-statuses li { display: grid; justify-items: start; gap: 5px; }
.recovery-override-card { padding: 0; overflow: hidden; border-color: rgba(153, 80, 68, .4); }
.manager-link-recovery-card {
    margin-bottom: 22px;
    border-color: rgba(65, 83, 59, .42);
    box-shadow: 0 13px 30px rgba(45, 55, 43, .12);
}
.manager-link-recovery-card h3 { margin-bottom: 7px; }
.manager-link-recovery-card p:not(.eyebrow) { margin: 0; color: var(--ink-soft); }
.recovery-override-card > summary { display: flex; align-items: center; gap: 9px; padding: 20px 24px; color: var(--danger); font-weight: 800; cursor: pointer; }
.recovery-override-card > summary:hover,
.recovery-override-card > summary:focus-visible { background: rgba(153, 80, 68, .07); }
.recovery-override-content { padding: 0 24px 24px; }
.checkbox-label { display: flex; grid-template-columns: none; flex-direction: row; align-items: flex-start; gap: 10px; }
.checkbox-label input[type="checkbox"] { width: 20px; height: 20px; flex: 0 0 20px; margin-top: 1px; }

@media (max-width: 760px) {
    .timecard-matrix-wrap { overflow: visible; border: 0; background: transparent; }
    .timecard-matrix,
    .timecard-matrix tbody { display: block; }
    .timecard-matrix thead { display: none; }
    .timecard-matrix tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; padding: 17px; background: rgba(255, 253, 248, .92); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
    .timecard-matrix td { display: grid; min-width: 0; gap: 6px; padding: 0; border: 0; }
    .timecard-matrix td::before { content: attr(data-label); color: #6a685f; font-size: .67rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
    .timecard-matrix .time-entry-code,
    .timecard-matrix .time-entry-description { grid-column: 1 / -1; }
    .operations-heading { align-items: flex-start; flex-direction: column; }
    .employee-roster-search { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
    .employee-operations-table { min-width: 0; }
    .employee-operation-row.has-attention > td:first-child { padding-left: 10px; }
    .employee-operation-actions { justify-content: flex-start; }
    .recovery-override-card > summary { padding: 18px; }
    .recovery-override-content { padding: 0 18px 18px; }
}

@media (max-width: 440px) {
    .timecard-matrix tr { grid-template-columns: minmax(0, 1fr); }
    .timecard-matrix .time-entry-code,
    .timecard-matrix .time-entry-description { grid-column: auto; }
    .employee-operation-actions,
    .employee-operation-actions .button,
    .employee-operation-actions form { width: 100%; }
}

/* Contextual help and searchable SOC Help Center */
body.help-open { overflow: hidden; }
.context-help-layer { position: fixed; inset: 0; z-index: 90; }
.context-help-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; background: rgba(24, 29, 23, .58); border: 0; cursor: default; }
.context-help-panel {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    width: min(560px, 100%);
    height: 100%;
    min-width: 0;
    flex-direction: column;
    overflow-y: auto;
    padding: 28px;
    color: var(--ink);
    background: var(--paper);
    border-left: 1px solid var(--line);
    box-shadow: -22px 0 54px rgba(28, 35, 27, .24);
}
.context-help-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.context-help-header h2 { margin: 0; font-size: clamp(1.55rem, 4vw, 2rem); }
.context-help-close { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; padding: 0; color: var(--olive-900); background: transparent; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
.context-help-close:hover, .context-help-close:focus-visible { color: var(--paper); background: var(--olive-900); }
.context-help-search { display: grid; gap: 7px; margin: 20px 0; }
.context-help-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.context-help-state { display: grid; gap: 4px; margin: 0 0 18px; padding: 14px 16px; color: var(--olive-900); background: var(--sage-soft); border: 1px solid var(--sage); border-left: 4px solid var(--olive-700); border-radius: var(--radius-sm); }
.context-help-state > span { font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.context-help-state p { margin: 3px 0 0; color: var(--ink-soft); line-height: 1.5; }
.context-help-summary { margin: 0 0 18px; color: var(--ink-soft); font-weight: 700; line-height: 1.6; }
.context-help-prose { flex: 1 0 auto; }
.context-help-footer { position: sticky; bottom: -28px; margin: 24px -28px -28px; padding: 18px 28px 24px; background: linear-gradient(180deg, rgba(243, 239, 229, .82), var(--paper) 28%); border-top: 1px solid var(--line); }
.context-help-footer .button { width: 100%; }
.help-prose { color: var(--ink); line-height: 1.66; overflow-wrap: anywhere; }
.help-prose h2 { margin: 28px 0 10px; color: var(--olive-900); font-size: 1.35rem; }
.help-prose h3, .help-prose h4 { margin: 23px 0 8px; color: var(--olive-900); font-family: var(--font-ui); font-size: .95rem; letter-spacing: .02em; }
.help-prose p { margin: 0 0 14px; }
.help-prose ul, .help-prose ol { display: grid; gap: 8px; margin: 0 0 18px; padding-left: 24px; }
.help-prose code { padding: 2px 5px; background: var(--paper-deep); border-radius: 4px; }
.help-prose a { font-weight: 750; }
.help-center-heading { align-items: center; }
.help-center-search { width: min(500px, 100%); }
.help-center-search label { color: var(--cream-logo); }
.help-center-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.help-center-layout { display: grid; grid-template-columns: minmax(250px, 320px) minmax(0, 1fr); gap: 24px; align-items: start; }
.help-topic-nav { position: sticky; top: 104px; display: grid; gap: 22px; max-height: calc(100vh - 130px); overflow-y: auto; }
.help-topic-nav section { display: grid; gap: 4px; }
.help-topic-nav h2 { margin: 0 0 5px; color: var(--brown-600); font-family: var(--font-ui); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.help-topic-nav a { padding: 8px 10px; color: var(--ink-soft); border-left: 3px solid transparent; border-radius: 4px; font-size: .82rem; font-weight: 700; line-height: 1.35; text-decoration: none; }
.help-topic-nav a:hover, .help-topic-nav a:focus-visible, .help-topic-nav a.is-active { color: var(--olive-950); background: var(--sage-soft); border-left-color: var(--olive-700); }
.help-article { min-width: 0; padding: clamp(24px, 4vw, 44px); }
.help-article > h2 { font-size: clamp(1.75rem, 3vw, 2.45rem); }
.help-article-summary { margin-bottom: 28px; padding-bottom: 22px; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: 1.02rem; font-weight: 700; }
.help-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-bottom: 28px; }
.help-result-card { display: grid; gap: 6px; color: inherit; text-decoration: none; }
.help-result-card strong { color: var(--olive-900); font-family: var(--font-display); font-size: 1.15rem; }
.help-result-card span:last-child { color: var(--ink-soft); font-size: .85rem; line-height: 1.5; }
.help-result-card:hover, .help-result-card:focus-visible { transform: translateY(-2px); border-color: var(--olive-700); box-shadow: var(--shadow); }

@media (max-width: 900px) {
    .help-center-layout { grid-template-columns: 1fr; }
    .help-topic-nav { position: static; max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .context-help-panel { width: 100%; padding: 22px 18px; border-left: 0; }
    .context-help-footer { bottom: -22px; margin: 22px -18px -22px; padding: 17px 18px 20px; }
    .help-center-search > div { grid-template-columns: 1fr; }
    .help-center-search .button { width: 100%; }
    .help-topic-nav { grid-template-columns: 1fr; }
    .help-article { padding: 22px; }
}

/* Administrator Past Performance intelligence */
.past-performance-filter-card { padding: 26px; }
.past-performance-filter-card .section-heading { margin-top: 0; }
.past-performance-filters {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: end;
}
.past-performance-filters label { min-width: 0; }
.past-performance-filters .filter-primary { grid-column: span 2; }
.past-performance-filter-actions { display: flex; align-items: end; min-height: 46px; }
.past-performance-summary { margin-top: 22px; }
.past-performance-hierarchy {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    border-left: 5px solid var(--sage);
}
.past-performance-hierarchy h2 { margin-bottom: 6px; }
.past-performance-hierarchy p { margin-bottom: 0; }
.hierarchy-count { display: grid; place-items: center; min-width: 150px; text-align: center; }
.hierarchy-count strong { font-family: var(--font-display); font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; color: var(--olive-800); }
.hierarchy-count span { color: var(--ink-soft); font-weight: 700; }
.past-performance-table td { vertical-align: top; }
.past-performance-table code { overflow-wrap: anywhere; }

@media (max-width: 1100px) {
    .past-performance-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .past-performance-filter-card { padding: 20px; }
    .past-performance-filters { grid-template-columns: 1fr; }
    .past-performance-filters .filter-primary { grid-column: auto; }
    .past-performance-filter-actions .button { width: 100%; }
    .past-performance-hierarchy { align-items: flex-start; flex-direction: column; }
    .hierarchy-count { min-width: 0; place-items: start; text-align: left; }
}

/* Milestone 13 - Spread Performance and Rankings */
.spread-entry-card,
.spread-control-grid,
.spread-summary-grid,
.spread-ranking-grid { display: grid; gap: 20px; }
.spread-entry-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.spread-entry-card h3 { margin-bottom: 6px; }
.spread-entry-card p { margin: 0; color: var(--ink-soft); }
.spread-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; margin-bottom: 30px; }
.spread-control-card { display: flex; flex-direction: column; min-width: 0; }
.spread-control-card > p:not(.eyebrow) { margin-bottom: 0; color: var(--ink-soft); }
.spread-control-card form { margin-top: 20px; }
.spread-control-card .form-stack > .button { justify-self: start; }
.spread-change-history { margin-top: 20px; }
.spread-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 28px; }
.spread-summary-card { display: grid; gap: 9px; min-width: 0; padding: 24px; background: var(--paper); border: 1px solid var(--line); border-top: 5px solid var(--brown-600); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.spread-summary-card.is-actual { border-top-color: var(--olive-700); }
.spread-summary-card.is-potential { border-top-color: var(--sage); }
.spread-summary-card > span { color: var(--brown-600); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.spread-summary-card > strong { overflow-wrap: anywhere; color: var(--olive-950); font-family: var(--font-display); font-size: clamp(1.65rem, 3.6vw, 2.65rem); line-height: 1.05; }
.spread-summary-card > small { color: var(--ink-soft); line-height: 1.45; }
.spread-ranking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 30px; }
.spread-ranking-grid > :last-child { grid-column: 1 / -1; }
.spread-report-heading .button-row { justify-content: flex-end; }
.spread-onboarding-inputs > .field-help { display: block; margin-bottom: 18px; }

@media (max-width: 900px) {
    .spread-summary-grid { grid-template-columns: 1fr 1fr; }
    .spread-summary-grid > :last-child { grid-column: 1 / -1; }
    .spread-ranking-grid { grid-template-columns: 1fr; }
    .spread-ranking-grid > :last-child { grid-column: auto; }
}

@media (max-width: 700px) {
    .spread-entry-card,
    .spread-control-grid,
    .spread-summary-grid { grid-template-columns: 1fr; }
    .spread-entry-card .button,
    .spread-control-card .button,
    .spread-report-heading .button { width: 100%; }
    .spread-summary-grid > :last-child { grid-column: auto; }
    .spread-report-heading .button-row { width: 100%; justify-content: stretch; }
}
.read-only-field {
    min-height: 52px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--paper);
}

.form-label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
}

.technical-diagnostic {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
}
.technical-diagnostic h3 { margin-bottom: 6px; }
.technical-diagnostic pre,
.diagnostic-details pre {
    max-width: 100%;
    max-height: 420px;
    margin: 12px 0 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: .78rem;
}
.diagnostic-details { margin-top: 12px; }
.diagnostic-details summary { cursor: pointer; color: var(--brown-700); font-weight: 750; }

/* Role-scoped recruiting lead workspace */
.lead-filter-form {
    grid-template-columns: minmax(180px, .7fr) minmax(190px, .8fr) minmax(260px, 1.4fr) auto;
    align-items: end;
}
.lead-filter-form .form-actions { align-self: end; }
.lead-search-field { min-width: 0; }
.lead-entry-form input[readonly] { color: var(--ink); background: var(--paper-deep); }

@media (max-width: 1080px) {
    .lead-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lead-filter-form .form-actions { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .lead-filter-form { grid-template-columns: 1fr; }
    .lead-filter-form .form-actions { grid-column: auto; }
    .termination-action-grid { grid-template-columns: 1fr; }
}
