:root {
    --blue: #000f9f;
    --blue-deep: #000873;
    --blue-soft: #e9ebff;
    --paper: #f2f2ef;
    --surface: #fff;
    --line: #d8dbe8;
    --ink: #101114;
    --muted: #555d72;
    --placeholder: #8b91a1;
    --amber: #efb824;
    --red: #d83931;
    --green: #1d7556;
    --display: "Aptos Display", Aptos, "Avenir Next", Helvetica, sans-serif;
    --body: Aptos, "Aptos Light", "Avenir Next", Helvetica, sans-serif;
    --shadow: 0 24px 64px rgba(0, 15, 159, .1);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--paper); color: var(--blue); }
body { min-height: 100vh; margin: 0; font-family: var(--body); font-weight: 300; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.eyebrow { margin: 0 0 .7rem; color: var(--blue); font-size: .68rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow--light { color: var(--amber); }

.brand-lockup { display: inline-flex; align-items: center; color: var(--blue); text-decoration: none; }
.brand-lockup img { display: block; object-fit: contain; }
.brand-lockup__product, .brand-lockup--header span, .brand-lockup--pending span { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.brand-lockup--hero { align-self: flex-start; gap: 1.15rem; color: #fff; }
.brand-lockup__logo-panel { display: grid; width: 6rem; height: 6rem; place-items: center; background: #fff; }
.brand-lockup__logo-panel img { width: 4.7rem; height: 4.7rem; }
.brand-lockup--header { gap: 1.1rem; }
.brand-lockup--header img { width: 3.5rem; height: 3.5rem; }
.brand-lockup--header span { padding-left: 1.1rem; border-left: 1px solid var(--line); }
.brand-lockup--pending { gap: 1.3rem; }
.brand-lockup--pending img { width: 5rem; height: 5rem; }

.auth-shell { background: var(--paper); }
.auth-grid { min-height: 100vh; display: grid; grid-template-columns: minmax(25rem, .92fr) minmax(34rem, 1.08fr); }
.auth-story { position: relative; display: flex; min-height: 100vh; flex-direction: column; justify-content: space-between; padding: 3.2rem 4rem; overflow: hidden; color: #fff; background: var(--blue); }
.auth-story::before { content: ""; position: absolute; top: 0; right: 0; width: 42%; height: 1rem; background: var(--amber); }
.auth-story::after { content: ""; position: absolute; right: -10rem; bottom: -7rem; width: 34rem; height: 34rem; border: 1px solid rgba(255,255,255,.25); transform: rotate(18deg); }
.auth-story > * { position: relative; z-index: 1; }
.auth-story__copy { max-width: 36rem; margin: auto 0; padding: 5rem 0; }
.auth-story h1 { max-width: 12ch; margin: 0 0 1.5rem; font-family: var(--display); font-size: clamp(2.8rem, 4.6vw, 5rem); font-weight: 300; line-height: .98; letter-spacing: -.035em; text-transform: uppercase; }
.auth-story__copy > p:last-child { max-width: 31rem; color: rgba(255,255,255,.78); font-size: 1.05rem; line-height: 1.7; }
.auth-story__route { display: flex; align-items: center; width: min(100%, 31rem); color: rgba(255,255,255,.78); font-size: .66rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.auth-story__route i { flex: 1; height: 1px; margin: 0 .7rem; background: rgba(255,255,255,.35); }

.auth-panel { display: flex; flex-direction: column; justify-content: center; padding: 4rem clamp(3rem, 7vw, 8rem); background: var(--surface); }
.auth-shell--minimal .auth-story { justify-content: center; }
.auth-shell--minimal .auth-panel__header { margin-bottom: 1rem; }
.auth-shell--minimal .auth-panel__footnote { color: var(--muted); font-weight: 400; }
.auth-shell--minimal .auth-panel > .button + .credential-form--login { margin-top: 2rem; }
.prototype-flag { align-self: flex-start; display: flex; align-items: center; gap: .6rem; margin-bottom: 3.5rem; padding: .55rem .8rem; border: 1px solid #c8cdf5; border-radius: 999px; background: #f5f6ff; color: var(--blue); font-size: .72rem; font-weight: 500; }
.prototype-flag__dot, .environment-pill i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(239,184,36,.16); }
.prototype-flag__version { padding-left: .65rem; border-left: 1px solid #c8cdf5; font-size: .66rem; font-weight: 600; white-space: nowrap; }
.auth-panel__header { max-width: 36rem; }
.auth-panel h2, .pending-card h1 { margin: 0 0 1rem; color: var(--blue); font-family: var(--display); font-size: clamp(2.15rem, 3vw, 3.1rem); font-weight: 500; line-height: 1.05; letter-spacing: -.03em; text-transform: uppercase; }
.auth-panel__header > p:last-child { margin: 0 0 2.2rem; color: var(--muted); line-height: 1.6; }
.persona-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; padding: 0; border: 0; }
.persona-card { position: relative; display: grid; grid-template-columns: 2.65rem 1fr auto; align-items: center; gap: .85rem; min-height: 5rem; padding: .85rem 1rem; border: 1px solid var(--line); background: #fff; cursor: pointer; transition: border-color .18s, transform .18s, box-shadow .18s; }
.persona-card:hover { border-color: var(--blue); transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,15,159,.07); }
.persona-card:has(input:checked) { border-color: var(--blue); background: #f8f8ff; box-shadow: inset 4px 0 var(--blue), 0 8px 24px rgba(0,15,159,.07); }
.persona-card input { position: absolute; opacity: 0; }
.persona-card input:focus-visible + .persona-card__mark { outline: 3px solid rgba(0,15,159,.25); outline-offset: 3px; }
.persona-card__mark, .account__avatar { display: grid; place-items: center; width: 2.65rem; height: 2.65rem; color: #fff; background: var(--blue); font-family: var(--display); font-size: 1.1rem; font-weight: 600; }
.persona-card__body { min-width: 0; }
.persona-card__body strong, .persona-card__body small { display: block; }
.persona-card__body strong { margin-bottom: .28rem; color: var(--blue); font-size: .88rem; font-weight: 600; }
.persona-card__body small { overflow: hidden; color: var(--muted); font-size: .7rem; line-height: 1.35; text-overflow: ellipsis; }
.persona-card__check { color: var(--blue); opacity: 0; transform: scale(.7); transition: opacity .18s, transform .18s; }
.persona-card:has(input:checked) .persona-card__check { opacity: 1; transform: scale(1); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 2.75rem; padding: .72rem 1.15rem; border: 1px solid transparent; background: transparent; color: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.button:disabled { cursor: not-allowed; opacity: .55; }
.button.is-disabled { cursor: not-allowed; opacity: .55; }
.button--primary { margin-top: 1.3rem; color: #fff; background: var(--blue); transition: background .18s, transform .18s; }
.button--primary:hover { background: var(--blue-deep); transform: translateY(-1px); }
.button--wide { width: 100%; }
.button--light { color: var(--blue); background: #fff; }
.button--quiet { min-height: 2.2rem; padding: .4rem .7rem; border-color: var(--blue); color: var(--blue); font-size: .76rem; }
.auth-panel__footnote { max-width: 34rem; margin: 1.5rem 0 0; color: #7d8496; font-size: .7rem; line-height: 1.55; }
.field-error, .notice { padding: .75rem 1rem; color: #8e2320; background: #fff0ef; font-size: .8rem; }
.notice--success { border-left: 3px solid var(--green); color: #155b43; background: #edf8f3; }
.credential-form { display: grid; gap: 1rem; width: min(100%, 34rem); }
.credential-form .field { display: grid; gap: .45rem; }
.credential-form .field span { color: var(--blue); font-size: .72rem; font-weight: 600; }
.credential-form input { width: 100%; min-height: 3.25rem; padding: .8rem 1rem; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: #fff; outline: 0; transition: border-color .18s, box-shadow .18s; }
.credential-form input:focus { border-color: var(--blue); box-shadow: inset 4px 0 var(--blue); }
.credential-form__utility { display: flex; justify-content: flex-end; margin-top: -.25rem; }
.credential-form__utility a, .auth-back-link { color: var(--blue); font-size: .76rem; font-weight: 600; }
.auth-back-link { display: inline-flex; justify-content: center; margin-top: .5rem; text-decoration: none; }
.auth-method-divider { display: flex; align-items: center; gap: .8rem; width: min(100%, 34rem); margin: 2rem 0 1rem; color: var(--muted); font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.auth-method-divider::before, .auth-method-divider::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.prototype-access-panel { width: min(100%, 40rem); border: 1px solid var(--line); background: #f8f8fb; }
.prototype-access-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; color: var(--blue); cursor: pointer; list-style: none; }
.prototype-access-panel > summary::-webkit-details-marker { display: none; }
.prototype-access-panel > summary span { font-weight: 600; }
.prototype-access-panel > summary small { color: var(--muted); }
.prototype-access-panel[open] > summary { border-bottom: 1px solid var(--line); }
.prototype-access-panel .persona-form { padding: 1rem; }
.prototype-access-panel .persona-list { grid-template-columns: 1fr; max-height: 19rem; overflow: auto; }
.prototype-access-panel .button--outline { margin-top: 1rem; }

.centered-shell { display: grid; place-items: center; padding: 2rem; background: var(--paper); }
.pending-card { width: min(100%, 42rem); padding: 4rem; border-top: 8px solid var(--amber); background: var(--surface); box-shadow: var(--shadow); }
.pending-card .brand-lockup { margin-bottom: 5rem; }
.pending-card p:last-child { color: var(--muted); line-height: 1.65; }
.pending-card .pending-card__version { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--blue); font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

.app-shell { display: flex; flex-direction: column; background: var(--paper); }
.topbar { display: flex; min-height: 6rem; align-items: center; justify-content: space-between; padding: 0 clamp(1.5rem, 5vw, 5rem); border-bottom: 1px solid var(--line); color: var(--blue); background: #fff; }
.topbar__actions { display: flex; align-items: center; gap: 1.4rem; }
.environment-pill { display: inline-flex; align-items: center; gap: .55rem; padding: .45rem .7rem; border: 1px solid #c8cdf5; border-radius: 999px; color: var(--blue); font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.environment-pill__version { padding-left: .55rem; border-left: 1px solid #c8cdf5; letter-spacing: .02em; text-transform: none; }
.app-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: auto; padding: 1.1rem clamp(1.5rem, 5vw, 5rem); border-top: 1px solid var(--line); color: var(--muted); background: #fff; font-size: .65rem; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.app-footer span:last-child { color: var(--blue); font-weight: 600; letter-spacing: .02em; text-transform: none; }
.account { display: flex; align-items: center; gap: .75rem; }
.account__avatar { width: 2.35rem; height: 2.35rem; color: var(--blue); background: var(--amber); font-size: .95rem; }
.account strong, .account small { display: block; }
.account strong { font-size: .78rem; font-weight: 600; }
.account small { margin-top: .15rem; color: var(--muted); font-size: .66rem; }
.notification-pill { display: inline-flex; align-items: center; gap: .45rem; color: var(--blue); font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.notification-pill strong { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: 50%; color: var(--blue); background: var(--amber); font-size: .65rem; }
.section-nav { display: flex; gap: 2rem; min-height: 3.35rem; align-items: center; padding: 0 clamp(1.5rem, 5vw, 5rem); border-bottom: 1px solid var(--line); background: var(--surface); }
.section-nav a, .section-nav span { position: relative; color: var(--muted); font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.section-nav .is-active { color: var(--blue); }
.section-nav .is-active::after { content: ""; position: absolute; right: 0; bottom: -1.12rem; left: 0; height: 4px; background: var(--amber); }
.section-nav span { opacity: .55; }

.dashboard { width: min(100%, 92rem); margin: 0 auto; padding: 2.5rem clamp(1.5rem, 5vw, 5rem) 5rem; }
.welcome-band { position: relative; display: flex; align-items: flex-end; justify-content: space-between; min-height: 16rem; padding: 3rem; overflow: hidden; color: #fff; background: var(--blue); }
.welcome-band::before { content: ""; position: absolute; top: 0; right: 0; width: 30%; height: .8rem; background: var(--amber); }
.welcome-band::after { content: ""; position: absolute; top: -11rem; right: -6rem; width: 28rem; height: 28rem; border: 1px solid rgba(255,255,255,.2); transform: rotate(22deg); }
.welcome-band > * { position: relative; z-index: 1; }
.welcome-band h1 { max-width: 18ch; margin: 0 0 .7rem; font-family: var(--display); font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 300; line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.welcome-band p:last-child { max-width: 44rem; margin: 0; color: rgba(255,255,255,.8); line-height: 1.55; }
.metric-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; margin: 1rem 0; }
.metric-card { position: relative; display: block; min-height: 10.5rem; padding: 1.4rem; border-top: 6px solid var(--blue); color: inherit; background: var(--surface); box-shadow: 0 6px 18px rgba(0,15,159,.04); text-decoration: none; transition: box-shadow .18s ease, transform .18s ease; }
a.metric-card:hover { box-shadow: 0 12px 28px rgba(0,15,159,.11); transform: translateY(-2px); }
a.metric-card:focus-visible { outline: 3px solid var(--amber); outline-offset: 2px; }
.metric-card--amber { border-color: var(--amber); }
.metric-card--green { border-color: var(--green); }
.metric-card--red { border-color: var(--red); }
.metric-card--outline { border-color: var(--blue); }
.metric-card__label, .metric-card small { display: block; color: var(--muted); font-size: .7rem; font-weight: 600; }
.metric-card strong { display: block; margin: 1.1rem 0 .6rem; color: var(--blue); font-family: var(--display); font-size: 3rem; font-weight: 300; line-height: 1; }
.metric-card .metric-card__word { font-size: 2rem; }
.metric-card__link { position: absolute; right: 1.4rem; bottom: 1.1rem; color: var(--blue); font-size: .66rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(18rem, .75fr); gap: 1rem; }
.panel { padding: 1.7rem; background: var(--surface); }
.panel__heading { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.panel h2 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.45rem; font-weight: 500; letter-spacing: -.015em; text-transform: uppercase; }
.status-badge { display: inline-flex; align-items: center; padding: .35rem .55rem; border-radius: 999px; font-size: .64rem; font-weight: 600; }
.status-badge--neutral { color: var(--blue); background: var(--blue-soft); }
.status-badge--green { color: #155840; background: #dff1e9; }
.empty-state { display: grid; min-height: 19rem; place-items: center; align-content: center; padding: 2rem; text-align: center; }
.empty-state__icon { display: grid; place-items: center; width: 4rem; height: 4rem; margin-bottom: 1.2rem; border: 1px solid var(--line); color: var(--blue); font-size: 1.6rem; }
.empty-state h3 { margin: 0 0 .6rem; color: var(--blue); font-family: var(--display); font-size: 1.2rem; font-weight: 500; text-transform: uppercase; }
.empty-state p { max-width: 31rem; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.draft-summary { display: flex; min-height: 19rem; align-items: center; justify-content: space-between; gap: 2rem; padding: 2rem; }
.draft-summary h3 { margin: 1rem 0 .5rem; color: var(--blue); font-family: var(--display); font-size: 1.8rem; font-weight: 300; }
.draft-summary p { margin: 0; color: var(--muted); }
.button--outline { border-color: var(--blue); color: var(--blue); background: #fff; }
.access-panel dl { margin: 1.6rem 0; }
.access-panel dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.access-panel dt { color: var(--muted); font-size: .72rem; }
.access-panel dd { margin: 0; font-size: .76rem; font-weight: 600; text-align: right; }
.role-stack { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.5rem; }
.role-stack > span { flex-basis: 100%; margin-bottom: .25rem; color: var(--muted); font-size: .7rem; }
.role-stack strong { padding: .4rem .55rem; border-left: 3px solid var(--amber); background: var(--paper); font-size: .69rem; font-weight: 600; }
.access-panel__note { margin: 1.5rem 0 0; padding-top: 1.3rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; line-height: 1.55; }

.mission-editor { width: min(100%, 92rem); margin: 0 auto; padding: 2rem clamp(1.5rem, 5vw, 5rem) 5rem; }
.breadcrumb { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.5rem; color: var(--muted); font-size: .72rem; }
.breadcrumb a { color: var(--blue); text-decoration: none; }
.mission-editor__header { position: relative; display: flex; min-height: 15rem; align-items: flex-end; justify-content: space-between; gap: 2rem; padding: 3rem; overflow: hidden; color: #fff; background: var(--blue); }
.mission-editor__header::after { content: ""; position: absolute; top: 0; right: 0; width: 30%; height: .8rem; background: var(--amber); }
.mission-editor__header > * { position: relative; z-index: 1; }
.mission-editor__header h1 { margin: 0 0 .7rem; font-family: var(--display); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 300; letter-spacing: -.04em; text-transform: uppercase; }
.mission-editor__header p:last-child { max-width: 45rem; margin: 0; color: rgba(255,255,255,.78); line-height: 1.55; }
.step-indicator { align-self: flex-start; min-width: 8rem; padding: .85rem 1rem; border: 1px solid rgba(255,255,255,.38); font-size: 1.15rem; font-weight: 400; text-align: center; }
.step-indicator small { color: rgba(255,255,255,.68); font-size: .72rem; font-weight: 300; }
.mission-form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(18rem, .72fr); gap: 1rem; margin-top: 1rem; align-items: start; }
.form-panel, .draft-panel { background: var(--surface); }
.form-panel { padding: 2rem; }
.form-panel__heading { display: flex; align-items: flex-start; gap: 1.2rem; margin-bottom: 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.form-panel__heading > span { display: grid; width: 2.7rem; height: 2.7rem; flex: 0 0 auto; place-items: center; color: var(--blue); border: 1px solid var(--blue); font-size: .78rem; }
.form-panel h2, .draft-panel h2 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.7rem; font-weight: 500; letter-spacing: -.02em; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
.field { display: flex; flex-direction: column; gap: .55rem; color: var(--blue); font-size: .75rem; }
.field--wide { grid-column: 1 / -1; }
.field > span { font-weight: 600; }
.field input, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--ink); caret-color: var(--blue); background: #fff; font: 400 .95rem/1.5 var(--body); transition: border-color .18s, box-shadow .18s; }
.field input { min-height: 3.2rem; padding: .72rem .85rem; }
.field textarea { min-height: 10rem; padding: .85rem; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: var(--placeholder); font-weight: 300; opacity: 1; }
.field input:focus, .field textarea:focus { border-color: var(--blue); box-shadow: inset 3px 0 var(--blue); }
.field input:disabled { color: #666d7f; background: var(--paper); }
.field small { color: var(--muted); font-size: .67rem; }
.field .field__error { color: var(--red); }
.success-notice { margin: 0 0 1.5rem; padding: .85rem 1rem; border-left: 3px solid var(--green); color: #155840; background: #e7f4ee; font-size: .78rem; }
.draft-panel { padding: 2rem; border-top: 6px solid var(--amber); }
.draft-panel dl { margin: 1.7rem 0; }
.draft-panel dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.draft-panel dt { color: var(--muted); font-size: .72rem; }
.draft-panel dd { margin: 0; color: var(--blue); font-size: .76rem; font-weight: 600; text-align: right; }
.draft-panel > p:not(.eyebrow) { color: var(--muted); font-size: .74rem; line-height: 1.6; }
.draft-panel__actions { display: grid; gap: .5rem; margin-top: 1.8rem; }
.draft-panel__actions .button { width: 100%; margin: 0; }
.button--text { color: var(--blue); background: transparent; }

/* Request workspace — Aptos Light for reading, SemiBold for actions and landmarks. */
.page-shell { width: min(100%, 92rem); margin: 0 auto; padding: 2rem clamp(1.5rem, 5vw, 5rem) 5rem; }
.page-header { position: relative; display: flex; min-height: 14rem; align-items: flex-end; justify-content: space-between; gap: 2rem; padding: 3rem; overflow: hidden; color: #fff; background: var(--blue); }
.page-header::after { content: ""; position: absolute; top: 0; right: 0; width: 30%; height: .8rem; background: var(--amber); }
.page-header > * { position: relative; z-index: 1; }
.page-header h1 { margin: 0 0 .75rem; font-family: var(--display); font-size: clamp(2.5rem, 5vw, 4.6rem); font-weight: 300; line-height: .95; letter-spacing: -.04em; text-transform: uppercase; }
.page-header p:last-child { max-width: 45rem; margin: 0; color: rgba(255,255,255,.8); font-size: 1rem; line-height: 1.55; }
.page-header--detail > div:first-child > p:last-child, .page-header--review > div:first-child > p:last-child { color: #fff; font-weight: 400; }
.page-header__status { min-width: 14rem; padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.3); }
.page-header__status > span, .page-header__status > strong { display: block; }
.page-header__status > span { color: rgba(255,255,255,.66); font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.page-header__status > strong { margin: .45rem 0 1.2rem; font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.page-header__exports { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: .45rem; }
.page-header__exports .button { min-height: 2.45rem; padding: .6rem .7rem; font-size: .66rem; white-space: nowrap; }
.page-header__exports--wide { grid-column: 1 / -1; }
.page-header__status > .button { width: 100%; margin-top: .45rem; }
.signature-panel { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.signature-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.signature-panel__heading span, .signature-panel__heading strong { display: block; }
.signature-panel__heading span { color: var(--muted); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.signature-panel__heading strong { margin-top: .2rem; color: var(--blue); font-size: 1rem; }
.signature-panel > p { color: var(--muted); font-size: .72rem; line-height: 1.55; }
.signature-canvas { display: block; width: 100%; height: 10.5rem; border: 1px solid var(--blue); background: #fff; cursor: crosshair; touch-action: none; }
.signature-canvas:focus { outline: 3px solid rgba(0,15,159,.18); outline-offset: 2px; }
.signature-panel__error { display: block; margin-top: .55rem; color: var(--red); }
.signature-panel .signature-attestation { margin: .8rem 0; padding: .75rem; border-left: 3px solid var(--amber); color: var(--ink); background: #fffaf0; }
.risk-reference { margin: .45rem 0 0; color: var(--muted); font-size: .72rem; }
.risk-reference a { color: var(--blue); font-weight: 600; text-underline-offset: .18em; }
.risk-reference a:hover { color: var(--red); }
.approval-proof { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; margin-top: .8rem; padding: .8rem; border: 1px solid var(--line); background: #fafaff; }
.approval-proof img { width: 9rem; height: 3.8rem; object-fit: contain; border: 1px solid var(--line); background: #fff; }
.approval-proof dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem 1rem; margin: 0; }
.approval-proof dl div { min-width: 0; }
.approval-proof dt { color: var(--muted); font-size: .58rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.approval-proof dd { margin: .15rem 0 0; overflow-wrap: anywhere; color: var(--ink); font-size: .67rem; }
.approval-proof code { color: var(--blue); font: 500 .64rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.success-notice--page { margin: 1rem 0 0; }

.wizard-progress { display: grid; grid-template-columns: repeat(3, 1fr); margin: 1rem 0; padding: 0; list-style: none; background: var(--surface); }
.wizard-progress li { position: relative; border-right: 1px solid var(--line); }
.wizard-progress li:last-child { border-right: 0; }
.wizard-progress li::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: transparent; }
.wizard-progress li.is-active::after { background: var(--amber); }
.wizard-progress li.is-complete::after { background: var(--blue); }
.wizard-progress button { width: 100%; min-height: 4.7rem; padding: .8rem 1rem; border: 0; color: var(--muted); background: transparent; font-size: .76rem; font-weight: 600; letter-spacing: .035em; text-align: left; cursor: pointer; }
.wizard-progress button:disabled { cursor: not-allowed; opacity: .48; }
.wizard-progress button span { display: inline-grid; width: 2rem; height: 2rem; margin-right: .65rem; place-items: center; border: 1px solid var(--line); color: var(--blue); font-size: .65rem; }
.wizard-progress .is-active button { color: var(--blue); }
.wizard-progress .is-active button span, .wizard-progress .is-complete button span { border-color: var(--blue); color: #fff; background: var(--blue); }
.success-notice--floating { margin: 0 0 1rem; }

/* Governed Executive e-mail decisions. */
.email-template-preview__decisions { display: grid; grid-template-columns: repeat(3, 1fr); gap: .3rem; margin: 1rem 0; }
.email-template-preview__decisions span { padding: .55rem .35rem; color: #fff; background: var(--green); font-size: .55rem; font-weight: 600; text-align: center; }
.email-template-preview__decisions span:nth-child(2) { color: var(--ink); background: var(--amber); }
.email-template-preview__decisions span:last-child { background: var(--red); }
.executive-email-policy { margin-bottom: 1rem; padding: clamp(1.4rem, 3vw, 2.2rem); border-top: 6px solid var(--amber); background: #fff; }
.executive-email-policy__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.executive-email-policy__heading h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.9rem; font-weight: 500; }
.executive-email-policy__heading p:last-child { max-width: 52rem; color: var(--muted); font-size: .8rem; font-weight: 400; }
.executive-email-policy > form { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(15rem, .7fr); gap: 1rem; margin-top: 1.2rem; padding: 1.2rem; align-items: end; background: #f7f7fb; }
.executive-email-policy > form > .button { grid-column: 1 / -1; justify-self: end; }
.executive-email-policy__toggle { margin: 0; padding: 0; border: 0; background: transparent; }
.executive-email-policy__changes { grid-column: 1 / -1; padding-top: 1rem; border-top: 1px solid var(--line); }
.executive-email-policy__toggle > span { display: flex; align-items: center; gap: .55rem; }
.executive-email-policy__toggle input { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; margin: 0; accent-color: var(--blue); }
.executive-email-policy__toggle input:focus-visible { outline: 3px solid rgba(0,15,159,.25); outline-offset: 3px; }
.executive-email-policy__toggle strong { color: var(--ink); font-size: .85rem; font-weight: 600; }
.executive-email-policy__toggle small { display: block; margin-top: .35rem; color: var(--muted); font-size: .78rem; font-weight: 400; line-height: 1.5; }
.executive-email-policy__queue { margin-top: 1.5rem; border: 1px solid var(--line); }
.executive-email-policy__queue > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border-bottom: 1px solid var(--line); }
.executive-email-policy__queue h4 { margin: 0; color: var(--blue); font-size: 1rem; }
.executive-email-policy__queue > header > span { color: var(--muted); font-size: .68rem; }
.executive-email-policy__queue > article { display: grid; grid-template-columns: minmax(11rem, 1fr) minmax(12rem, 1fr) minmax(10rem, .7fr) auto; gap: 1rem; padding: 1rem; align-items: center; border-bottom: 1px solid var(--line); }
.executive-email-policy__queue > article:last-child { border-bottom: 0; }
.executive-email-policy__queue article strong, .executive-email-policy__queue article small { display: block; }
.executive-email-policy__queue article strong { color: var(--blue); font-size: .78rem; }
.executive-email-policy__queue article small { margin-top: .18rem; color: var(--muted); font-size: .64rem; }
.executive-email-policy__actions { display: flex; gap: .35rem; justify-content: flex-end; }
.executive-email-policy__actions .button { margin: 0; white-space: nowrap; }
@media (max-width: 980px) {
    .executive-email-policy > form { grid-template-columns: 1fr 1fr; }
    .executive-email-policy > form .button { grid-column: 1 / -1; }
    .executive-email-policy__queue > article { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .executive-email-policy__heading, .executive-email-policy__queue > header { display: block; }
    .executive-email-policy > form, .executive-email-policy__queue > article { grid-template-columns: 1fr; }
    .executive-email-policy__actions { justify-content: stretch; }
    .executive-email-policy__actions .button { flex: 1; }
}
.validation-summary { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 1rem 1.2rem; border-left: 4px solid var(--red); color: #8e2320; background: #fff0ef; font-size: .78rem; }
.validation-summary strong { font-weight: 600; }

.wizard-shell { display: grid; gap: 1rem; }
.wizard-panel { padding: 2.25rem; background: var(--surface); }
.wizard-panel h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.repeater-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin: 2.4rem 0 1rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.destination-list, .traveler-list { display: grid; gap: .85rem; }
.repeater-card { position: relative; display: grid; grid-template-columns: 3rem 1fr 2.5rem; gap: 1rem; padding: 1.35rem; border: 1px solid var(--line); background: #fbfbfd; }
.repeater-card__number, .traveler-card__number { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: #fff; background: var(--blue); font-size: .7rem; font-weight: 600; }
.repeater-card__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field select, .filter-field select { width: 100%; min-height: 3.2rem; padding: .72rem 2.3rem .72rem .85rem; border: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--ink); background: #fff; font: 400 .95rem/1.5 var(--body); }
.field select:has(option[value=""]:checked) { color: var(--placeholder); font-weight: 300; }
.field select:focus, .filter-field select:focus { border-color: var(--blue); box-shadow: inset 3px 0 var(--blue); }
.icon-button { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid var(--line); color: var(--blue); background: #fff; font-size: 1.2rem; font-weight: 300; cursor: pointer; }
.icon-button:disabled { cursor: not-allowed; opacity: .35; }
.budget-summary-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; padding: 1rem 1.25rem; color: #fff; background: var(--blue); }
.budget-summary-bar span { font-size: .72rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.budget-summary-bar strong { font-family: var(--display); font-size: 1.55rem; font-weight: 500; }
.traveler-card { border: 1px solid var(--line); background: #fbfbfd; }
.traveler-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); background: #fff; }
.traveler-card > header > div { display: flex; align-items: center; gap: .8rem; }
.traveler-card > header h3 { font-size: 1.15rem; }
.traveler-card > header > div:last-child > strong { font-family: var(--display); font-size: 1.25rem; font-weight: 500; }
.traveler-card .form-grid { padding: 1.35rem; }
.funding-grid { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
.funding-grid__cost-center { grid-column: 1; grid-row: 1; }
.funding-grid__source { grid-column: 1; grid-row: 2; }
.funding-grid__detail { grid-column: 2; grid-row: 2; }
.funding-grid__budget { grid-column: 1; grid-row: 3; }
.funding-grid__budget small { color: var(--muted); font-weight: 400; }
.other-costs-editor { display: grid; gap: .7rem; padding: 1rem; border: 1px solid var(--line); background: #fff; }
.other-costs-editor__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.other-costs-editor__heading span, .other-costs-editor__heading small { display: block; }
.other-costs-editor__heading span { color: var(--blue); font-size: .72rem; font-weight: 600; }
.other-costs-editor__heading small { margin-top: .2rem; color: var(--muted); font-size: .66rem; }
.other-cost-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(9rem, .7fr) auto; align-items: end; gap: .7rem; }
.add-traveler { margin-top: 1rem; }
.wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-top: 4px solid var(--blue); background: #fff; }
.wizard-actions > div { display: flex; gap: .55rem; }
.wizard-actions .button--primary { margin-top: 0; }

.review-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.review-grid article { min-height: 8rem; padding: 1.25rem; border-right: 1px solid var(--line); }
.review-grid article:last-child { border-right: 0; }
.review-grid span, .review-grid strong, .review-grid small { display: block; }
.review-grid span { color: var(--muted); font-size: .67rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.review-grid strong { margin: .8rem 0 .35rem; font-family: var(--display); font-size: 1.1rem; font-weight: 500; }
.review-grid small { color: var(--muted); font-size: .7rem; }
.review-grid__total { color: #fff; background: var(--blue); }
.review-grid__total span, .review-grid__total small { color: rgba(255,255,255,.68); }
.review-grid__total strong { font-size: 1.7rem; }
.category-totals { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 1rem; border: 1px solid var(--line); background: #fff; }
.category-totals article { min-width: 0; padding: 1rem 1.15rem; border-right: 1px solid var(--line); }
.category-totals article:last-child { border-right: 0; }
.category-totals span, .category-totals strong { display: block; }
.category-totals span { color: var(--muted); font-size: .63rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.category-totals strong { margin-top: .45rem; color: var(--ink); font-size: 1rem; font-weight: 600; }
.category-totals__grand { background: #f3f3ff; }
.category-totals__grand strong { color: var(--blue); }
.review-section { margin-top: 1rem; padding: 1.35rem; border: 1px solid var(--line); color: var(--muted); font-size: .85rem; line-height: 1.6; }
.review-section > p:last-child { margin: 0; white-space: pre-line; }
.review-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.review-line { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.review-line:last-child { border-bottom: 0; }
.review-line strong { color: var(--blue); font-weight: 600; }
.review-line span small { display: block; margin-top: .2rem; color: var(--muted); font-size: .66rem; }
.review-line--sub { padding-left: 1rem; color: var(--muted); font-size: .72rem; }
.risk-badge { display: inline-flex; align-items: center; padding: .32rem .55rem; border-radius: 999px; font-size: .64rem; font-weight: 600; }
.risk-badge--green { color: #155840; background: #dff1e9; }
.risk-badge--yellow { color: #6d5100; background: #fff1bd; }
.risk-badge--orange { color: #8a3e00; background: #ffe4ca; }
.risk-badge--red { color: #8e2320; background: #ffdedd; }
.attestation-card { display: flex; align-items: flex-start; gap: 1rem; margin-top: 1rem; padding: 1.35rem; border: 1px solid var(--blue); color: var(--blue); background: #f7f8ff; cursor: pointer; }
.attestation-card input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--blue); }
.attestation-card strong, .attestation-card small { display: block; }
.attestation-card strong { font-size: .86rem; font-weight: 600; }
.attestation-card small { margin-top: .35rem; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.submission-route { margin: 1.4rem 0; border: 1px solid var(--line); background: #fff; }
.submission-route__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.35rem; border-bottom: 3px solid var(--blue); }
.submission-route__heading h3 { margin: .15rem 0 0; color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 500; }
.submission-route__heading > span { color: var(--muted); font-size: .64rem; }
.submission-route__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.submission-route__stage { min-width: 0; padding: 1.2rem; border-right: 1px solid var(--line); }
.submission-route__stage:last-child { border-right: 0; }
.submission-route__stage > header { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; }
.submission-route__stage > header > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; color: #fff; background: var(--blue); font-size: .58rem; font-weight: 700; }
.submission-route__stage > header strong, .submission-route__stage > header small { display: block; }
.submission-route__stage > header strong { color: var(--blue); font-size: .74rem; }
.submission-route__stage > header small { margin-top: .15rem; color: var(--muted); font-size: .6rem; }
.submission-route__person { display: flex; align-items: center; gap: .65rem; min-height: 3.2rem; padding: .65rem; border: 1px solid var(--line); background: #fafafe; }
.submission-route__avatar { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: .7rem; font-weight: 700; }
.submission-route__person strong, .submission-route__person small { display: block; overflow: hidden; text-overflow: ellipsis; }
.submission-route__person strong { color: var(--ink); font-size: .72rem; }
.submission-route__person small { margin-top: .1rem; color: var(--muted); font-size: .58rem; }
.submission-route__source { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .75rem; }
.submission-route__source small { color: var(--muted); font-size: .58rem; }
.submission-route__source button { padding: 0; border: 0; color: var(--blue); background: transparent; font-size: .6rem; font-weight: 700; cursor: pointer; text-decoration: underline; }
.submission-route__unavailable { margin: .7rem 0 0; padding: .65rem .7rem; border-left: 3px solid var(--amber); color: #594817; background: #fff9e8; font-size: .61rem; line-height: 1.5; }
.submission-route__reason { margin-top: .9rem; }
.submission-route__reason textarea { min-height: 5.4rem; resize: vertical; }
.submission-route__notice { margin: 0; padding: .8rem 1.35rem; border-top: 1px solid var(--line); color: var(--muted); background: #fafafe; font-size: .62rem; line-height: 1.5; }

.list-panel { margin-top: 1rem; padding: 1.7rem; background: #fff; }
.list-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.list-toolbar h2, .detail-card h2 { margin: 0; font-family: var(--display); font-size: 1.45rem; font-weight: 500; letter-spacing: -.015em; text-transform: uppercase; }
.list-toolbar__summary { flex: 0 0 auto; }
.list-toolbar__filters { display: flex; align-items: flex-end; justify-content: flex-end; gap: .7rem; }
.filter-field { display: flex; min-width: 11rem; flex-direction: column; gap: .4rem; color: var(--muted); font-size: .68rem; font-weight: 600; text-transform: uppercase; }
.filter-field--search { min-width: clamp(15rem, 24vw, 23rem); }
.filter-field select, .filter-field input { width: 100%; min-height: 2.7rem; padding: .65rem .78rem; border: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--ink); background: #fff; font: 400 .78rem/1.4 var(--body); text-transform: none; }
.filter-field select { padding-right: 2rem; }
.filter-field input::placeholder { color: var(--placeholder); font-weight: 300; opacity: 1; }
.filter-field select:focus, .filter-field input:focus { border-color: var(--blue); box-shadow: inset 3px 0 var(--blue); }
.portfolio-scope { min-width: 15rem; padding: 1rem 0 1rem 1.4rem; border-left: 1px solid rgba(255,255,255,.35); }
.portfolio-scope span, .portfolio-scope strong, .portfolio-scope small { display: block; }
.portfolio-scope span { color: var(--amber); font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.portfolio-scope strong { margin: .45rem 0; font-family: var(--display); font-size: 1.45rem; font-weight: 500; text-transform: uppercase; }
.portfolio-scope small { color: rgba(255,255,255,.72); font-size: .7rem; }
.portfolio-export-panel { display: grid; grid-template-columns: minmax(16rem, .7fr) minmax(32rem, 1.3fr); align-items: end; gap: 2rem; margin-top: 1rem; padding: 1.4rem 1.7rem; border-top: 6px solid var(--amber); background: #fff; }
.portfolio-export-panel__intro h2 { margin: 0; font-family: var(--display); font-size: 1.35rem; font-weight: 500; letter-spacing: -.015em; text-transform: uppercase; }
.portfolio-export-panel__intro > p:last-child { max-width: 31rem; margin: .55rem 0 0; color: var(--muted); font-size: .72rem; line-height: 1.55; }
.portfolio-export-panel__controls { display: grid; grid-template-columns: repeat(2, minmax(10rem, 1fr)) minmax(18rem, 1.35fr); align-items: end; gap: .7rem; }
.portfolio-export-panel__actions { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: .55rem; }
.portfolio-export-panel__actions .button { min-height: 2.7rem; margin: 0; padding: .6rem .75rem; font-size: .7rem; white-space: nowrap; }
.mission-row { display: grid; grid-template-columns: minmax(16rem, 1.3fr) minmax(25rem, 1.7fr) auto; align-items: center; gap: 2rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); }
.mission-row--oversight { grid-template-columns: minmax(14rem, 1fr) minmax(36rem, 2.25fr) auto; }
.mission-row__identity h3 { margin: .7rem 0 .25rem; font-family: var(--display); font-size: 1.2rem; font-weight: 500; }
.mission-row__identity p { margin: 0; color: var(--muted); font-size: .75rem; }
.mission-row__facts { display: grid; grid-template-columns: 1.35fr .65fr 1fr; gap: 1rem; margin: 0; }
.mission-row__facts--oversight { grid-template-columns: 1.2fr 1.25fr .55fr .8fr; }
.mission-row__facts dt { margin-bottom: .3rem; color: var(--muted); font-size: .63rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.mission-row__facts dd { margin: 0; color: #20243a; font-size: .76rem; font-weight: 500; }
.mission-row__facts dd small { display: block; margin-top: .22rem; color: var(--muted); font-size: .66rem; font-weight: 400; }
.mission-row__action { display: grid; gap: .45rem; }
.status-badge--draft { color: var(--blue); background: var(--blue-soft); }
.status-badge--pending_department, .status-badge--pending_finance, .status-badge--pending_executive { color: #6d5100; background: #fff1bd; }
.status-badge--approved { color: #155840; background: #dff1e9; }
.status-badge--changes_requested { color: #8a3e00; background: #ffe4ca; }
.status-badge--rejected, .status-badge--cancelled { color: #8e2320; background: #ffdedd; }
.status-badge--inactive { color: #4b5160; background: #e9eaf0; }
.pagination-shell { padding-top: 1.4rem; }
.pagination-shell nav > div:first-child { display: none; }
.pagination-shell nav > div:last-child { display: flex; justify-content: space-between; color: var(--muted); font-size: .75rem; }
.recent-list article { display: flex; min-height: 6.4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.recent-list article:last-child { border-bottom: 0; }
.recent-list h3 { margin: .55rem 0 .2rem; font-family: var(--display); font-size: 1.1rem; font-weight: 500; }
.recent-list p { margin: 0; color: var(--muted); font-size: .74rem; }
.recent-list p + p { margin-top: .25rem; }
.recent-list p strong { color: var(--ink); font-weight: 500; }
.recent-list--compact article { min-height: 0; padding: .65rem 0; }
.recent-list--compact h3 { display: inline-block; margin: .35rem .55rem .2rem 0; }
.recent-list--compact p { display: inline; }
.activity-controls { display: flex; align-items: flex-end; justify-content: flex-end; gap: .55rem; }
.activity-search { display: grid; gap: .28rem; min-width: min(23rem, 36vw); }
.activity-search span { color: var(--muted); font-size: .62rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.activity-search input { width: 100%; min-height: 2.45rem; padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: #fff; font: 400 .8rem/1.4 var(--body); }
.activity-search input:focus { border-color: var(--blue); outline: 0; box-shadow: inset 3px 0 var(--blue); }
.button--small { min-height: 2.45rem; padding: .55rem .7rem; font-size: .66rem; }
.awaiting-reviews, .completed-reviews { margin-top: 1rem; }

.detail-overview { display: grid; grid-template-columns: repeat(4, 1fr); margin: 1rem 0; border: 1px solid var(--line); background: #fff; }
.detail-overview article { min-height: 8.5rem; padding: 1.3rem; border-right: 1px solid var(--line); }
.detail-overview article:last-child { border-right: 0; }
.detail-overview span, .detail-overview strong, .detail-overview small { display: block; }
.detail-overview span { color: var(--muted); font-size: .65rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.detail-overview strong { margin: .85rem 0 .3rem; font-family: var(--display); font-size: 1.12rem; font-weight: 500; }
.detail-overview small { color: var(--muted); font-size: .7rem; }
.detail-overview__total { color: #fff; background: var(--blue); }
.detail-overview__total span, .detail-overview__total small { color: rgba(255,255,255,.68); }
.detail-overview__total strong { font-size: 1.75rem; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(19rem, .7fr); gap: 1rem; }
.detail-card { padding: 1.7rem; background: #fff; }
.detail-card--full { grid-column: 1 / -1; }
.detail-card__copy { margin: 1.5rem 0 0; color: #34394e; font-size: .94rem; line-height: 1.75; white-space: pre-line; }
.detail-card__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.detail-card__heading > strong { color: var(--blue); font-family: var(--display); font-size: 1.5rem; font-weight: 500; }
.detail-lines article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.detail-lines article:last-child { border-bottom: 0; }
.detail-lines strong, .detail-lines small { display: block; }
.detail-lines strong { font-size: .82rem; font-weight: 600; }
.detail-lines small { margin-top: .25rem; color: var(--muted); font-size: .68rem; }
.itinerary-preview { margin-top: 1.3rem; padding: 1.4rem; border: 1px solid var(--line); background: #fff; }
.itinerary-preview .detail-card__heading > small { color: var(--muted); font-size: .68rem; }
.itinerary-timeline { display: grid; margin: 0; padding: 1.2rem 0 0; list-style: none; }
.itinerary-timeline > li { position: relative; display: grid; grid-template-columns: 2.5rem 1fr; min-height: 6.4rem; }
.itinerary-timeline__rail { position: relative; display: flex; justify-content: center; }
.itinerary-timeline__rail::before { content: ""; position: absolute; top: 1.25rem; bottom: -1.25rem; width: 1px; background: var(--blue); }
.itinerary-timeline > li:last-child .itinerary-timeline__rail::before { bottom: 50%; }
.itinerary-timeline__rail i { position: relative; z-index: 1; width: .72rem; height: .72rem; margin-top: 1rem; border: 3px solid #fff; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 1px var(--blue); }
.itinerary-timeline > li.is-pending .itinerary-timeline__rail::before { background: var(--line); }
.itinerary-timeline > li.is-pending .itinerary-timeline__rail i { background: #fff; box-shadow: 0 0 0 1px var(--line); }
.itinerary-timeline article { display: grid; grid-template-columns: minmax(12rem, .9fr) minmax(14rem, 1.4fr) auto; align-items: center; gap: 1rem; margin-bottom: .75rem; padding: .95rem 1rem; border: 1px solid var(--line); background: #fafafe; }
.itinerary-timeline__dates { display: flex; align-items: center; gap: .5rem; color: var(--blue); font-size: .69rem; font-weight: 600; }
.itinerary-timeline__place { display: flex; align-items: center; gap: .75rem; }
.itinerary-timeline__place > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; color: #fff; background: var(--blue); font-size: .62rem; font-weight: 600; }
.itinerary-timeline__place strong, .itinerary-timeline__place small { display: block; }
.itinerary-timeline__place strong { color: var(--ink); font-size: .79rem; font-weight: 600; }
.itinerary-timeline__place small { margin-top: .2rem; color: var(--muted); font-size: .63rem; }
.risk-badge--pending { color: var(--muted); background: #eceef4; }
.approval-timeline { grid-column: 1 / -1; padding: 1.7rem; border-top: 6px solid var(--amber); background: #fff; scroll-margin-top: 1rem; }
.approval-timeline--compact { width: min(100%, 92rem); margin: 1rem auto; }
.approval-timeline__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.approval-timeline__header h2 { margin: 0; font-family: var(--display); font-size: clamp(1.35rem, 2vw, 1.8rem); font-weight: 500; letter-spacing: -.015em; text-transform: uppercase; }
.approval-timeline__header p:last-child { margin: .4rem 0 0; color: var(--muted); font-size: .72rem; }
.approval-timeline__waiting, .approval-timeline__complete { padding: .5rem .7rem; font-size: .64rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.approval-timeline__waiting { color: #6d5100; background: #fff1bd; }
.approval-timeline__complete { color: #155840; background: #dff1e9; }
.approval-timeline__actions { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; }
.approval-timeline__reassign { margin: 0; padding: .65rem .85rem; white-space: nowrap; }
.approval-timeline ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 1.35rem 0 0; padding: 0; list-style: none; }
.approval-timeline li { position: relative; display: grid; grid-template-columns: 2.35rem 1fr; gap: .7rem; padding: 0 .9rem 0 0; opacity: .55; }
.approval-timeline li::before { content: ""; position: absolute; top: 1.15rem; right: 0; left: 2.35rem; height: 1px; background: var(--line); }
.approval-timeline li:last-child::before { display: none; }
.approval-timeline__marker { position: relative; z-index: 1; display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 1px solid var(--line); color: var(--muted); background: #fff; font-size: .64rem; font-weight: 600; }
.approval-timeline li > div { position: relative; z-index: 1; padding-right: .35rem; background: #fff; }
.approval-timeline li strong, .approval-timeline li small, .approval-timeline li em, .approval-timeline li time { display: block; }
.approval-timeline li strong { color: var(--ink); font-size: .75rem; font-style: normal; font-weight: 600; }
.approval-timeline li a { text-decoration-color: var(--amber); text-underline-offset: .25rem; }
.approval-timeline li small { margin-top: .25rem; color: var(--muted); font-size: .64rem; line-height: 1.4; }
.approval-timeline li em { margin-top: .4rem; color: #785900; font-size: .62rem; font-style: normal; font-weight: 600; }
.approval-timeline li time { grid-column: 2; margin-top: .55rem; color: var(--muted); font-size: .61rem; }
.approval-timeline li.approval-status--pending, .approval-timeline li.approval-status--approved, .approval-timeline li.approval-status--rejected, .approval-timeline li.approval-status--changes_requested { opacity: 1; }
.approval-timeline li.approval-status--pending .approval-timeline__marker { border-color: var(--amber); color: var(--blue); background: var(--amber); }
.approval-timeline li.approval-status--approved .approval-timeline__marker { border-color: var(--green); color: #fff; background: var(--green); }
.approval-timeline li.approval-status--rejected .approval-timeline__marker { border-color: var(--red); color: #fff; background: var(--red); }
.approval-timeline li.approval-status--changes_requested .approval-timeline__marker { border-color: #d56d18; color: #fff; background: #d56d18; }
.approval-timeline li em.approval-timeline__reassignment { color: var(--blue); }
.approval-continuity { grid-column: 1 / -1; display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); border: 1px solid var(--line); border-left: 6px solid var(--blue); background: #fff; }
.approval-continuity__marker { display: grid; min-height: 100%; place-items: center; color: var(--blue); background: var(--amber); font-family: var(--display); font-size: 1.4rem; }
.approval-continuity__body { padding: 1.45rem; }
.approval-continuity__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.approval-continuity__heading h2 { margin: .1rem 0 .45rem; font-family: var(--display); font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 500; text-transform: uppercase; }
.approval-continuity__heading p:last-child { max-width: 54rem; margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.55; }
.approval-continuity__heading .button { flex: 0 0 auto; margin: 0; white-space: nowrap; }
.approval-continuity__unavailable { display: grid; gap: .3rem; margin-top: 1rem; padding: .85rem 1rem; border-left: 3px solid var(--amber); background: #fff8df; }
.approval-continuity__unavailable strong { color: #604900; font-size: .74rem; font-weight: 600; }
.approval-continuity__unavailable span { color: #6b6245; font-size: .68rem; line-height: 1.5; }
.approval-continuity__unavailable a { width: fit-content; margin-top: .25rem; color: var(--blue); font-size: .69rem; font-weight: 600; text-underline-offset: .2rem; }
.approval-continuity__form { display: grid; grid-template-columns: minmax(14rem, .75fr) minmax(18rem, 1.25fr); gap: 1rem; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.approval-continuity__form textarea { min-height: 6.5rem; }
.approval-continuity__evidence { grid-column: 1 / -1; display: grid; grid-template-columns: 1.7rem 1fr; align-items: start; gap: .7rem; padding: .75rem .9rem; color: var(--blue); background: var(--blue-soft); }
.approval-continuity__evidence span { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid var(--blue); border-radius: 50%; font-size: .7rem; font-weight: 600; }
.approval-continuity__evidence p { margin: 0; font-size: .66rem; line-height: 1.55; }
.approval-continuity__form footer { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: .65rem; }
.approval-continuity__form footer .button { margin: 0; }
.workflow-card { border-top: 6px solid var(--amber); }
.workflow-card ol { margin: 1.3rem 0 0; padding: 0; list-style: none; }
.workflow-card li { display: flex; align-items: center; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid var(--line); opacity: .55; }
.workflow-card li > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid var(--line); font-size: .65rem; font-weight: 600; }
.workflow-card li strong, .workflow-card li small { display: block; }
.workflow-card li strong { font-size: .78rem; font-weight: 600; }
.workflow-card li small { margin-top: .18rem; color: var(--muted); font-size: .65rem; }
.workflow-card li.is-current, .workflow-card li.is-complete { opacity: 1; }
.workflow-card li.is-current > span { border-color: var(--amber); color: var(--blue); background: var(--amber); }
.workflow-card li.is-complete > span { border-color: var(--blue); color: #fff; background: var(--blue); }
.budget-table-wrap { overflow-x: auto; }
.budget-table { width: 100%; border-collapse: collapse; color: #20243a; font-size: .76rem; }
.budget-table th { padding: .85rem .7rem; border-bottom: 1px solid var(--blue); color: var(--muted); font-size: .63rem; font-weight: 600; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
.budget-table td { padding: 1rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.budget-table td strong, .budget-table td small { display: block; }
.budget-table td strong { font-weight: 600; }
.budget-table td small { margin-top: .25rem; color: var(--muted); font-size: .65rem; }
.budget-table tfoot th, .budget-table tfoot td { padding: .9rem .7rem; border-top: 2px solid var(--blue); border-bottom: 0; color: var(--ink); background: #f3f3ff; }
.budget-table tfoot th { font-size: .68rem; }
.budget-table tfoot td { font-weight: 600; }

.queue-total { display: flex; min-width: 11rem; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border: 1px solid rgba(255,255,255,.35); }
.queue-total strong { font-family: var(--display); font-size: 2.8rem; font-weight: 300; line-height: 1; }
.queue-total span { max-width: 5rem; color: rgba(255,255,255,.72); font-size: .68rem; font-weight: 600; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.assignment-note { padding: .45rem .65rem; color: var(--blue); background: var(--blue-soft); font-size: .65rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.approval-row { display: grid; grid-template-columns: minmax(11rem, .8fr) minmax(15rem, 1.15fr) minmax(22rem, 1.4fr) auto; align-items: center; gap: 1.5rem; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.approval-row__stage { display: flex; align-items: center; gap: .8rem; }
.approval-row__stage > span { display: grid; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; place-items: center; color: var(--blue); background: var(--amber); font-size: .7rem; font-weight: 600; }
.approval-row__stage strong, .approval-row__stage small { display: block; }
.approval-row__stage strong { font-size: .76rem; font-weight: 600; }
.approval-row__stage small, .approval-row__mission small { margin-top: .2rem; color: var(--muted); font-size: .65rem; }
.approval-row__mission h3 { margin: 0 0 .3rem; font-family: var(--display); font-size: 1.1rem; font-weight: 500; }
.approval-row__mission p { margin: 0 0 .25rem; color: #34394e; font-size: .75rem; }
.approval-row dl { display: grid; grid-template-columns: 1.25fr .65fr 1fr; gap: .75rem; margin: 0; }
.approval-row dt { margin-bottom: .3rem; color: var(--muted); font-size: .62rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.approval-row dd { margin: 0; color: #20243a; font-size: .74rem; font-weight: 500; }
.approval-row > .button--primary { margin-top: 0; white-space: nowrap; }

.validation-summary--page { margin: 1rem 0 0; }
.review-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(20rem, .6fr); align-items: start; gap: 1rem; }
.review-workspace > *, .review-document > * { min-width: 0; }
.review-document { display: grid; min-width: 0; gap: 1rem; }
.decision-card { position: sticky; top: 1rem; padding: 1.7rem; border-top: 6px solid var(--amber); background: #fff; }
.decision-card h2 { margin: 0; font-family: var(--display); font-size: 1.45rem; font-weight: 500; text-transform: uppercase; }
.decision-card > p:not(.eyebrow) { margin: 1rem 0 1.4rem; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.decision-card .field textarea { min-height: 9rem; }
.decision-routing { min-width: 0; margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--line); background: #fafafe; }
.decision-routing--current { border-left: 4px solid var(--blue); }
.decision-routing--next { border-left: 4px solid var(--amber); background: #fffdf6; }
.decision-routing--final { border-left: 4px solid var(--green); background: #f4fbf8; }
.decision-routing__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.decision-routing__heading span, .decision-routing__heading strong { display: block; }
.decision-routing__heading div > span, .decision-routing--final > span { color: var(--muted); font-size: .54rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.decision-routing__heading div > strong, .decision-routing--final > strong { margin-top: .18rem; color: var(--blue); font-size: .72rem; font-weight: 700; }
.decision-routing__heading .button { flex: 0 0 auto; margin: -.35rem -.35rem 0 0; padding: .4rem; font-size: .58rem; }
.decision-routing__step { display: grid !important; width: 1.8rem; height: 1.8rem; flex: 0 0 auto; place-items: center; color: var(--blue); background: var(--amber); font-size: .58rem; font-weight: 800; }
.decision-routing > p, .decision-routing--final > p { margin: .6rem 0 0; color: var(--ink); font-size: .6rem; font-weight: 400; line-height: 1.5; }
.decision-routing > p strong { color: var(--blue); }
.decision-routing .field { min-width: 0; margin-top: .8rem; }
.decision-routing .field > span { font-size: .58rem; }
.decision-routing .field select { width: 100%; min-width: 0; max-width: 100%; min-height: 2.8rem; padding: .6rem .65rem; font-size: .7rem; }
.decision-routing .field textarea { width: 100%; min-width: 0; max-width: 100%; min-height: 4.6rem; padding: .65rem; font-size: .68rem; }
.decision-routing__form { margin-top: .8rem; padding-top: .15rem; border-top: 1px solid var(--line); }
.decision-routing__evidence { padding: .65rem; border-left: 3px solid var(--amber); background: #fff9e8; }
.decision-routing__actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; margin-top: .75rem; }
.decision-routing__actions .button { margin: 0; padding: .58rem .7rem; font-size: .59rem; }
.decision-routing__unavailable { margin-top: .75rem; padding: .75rem; border-left: 3px solid var(--red); background: #fff3f2; }
.decision-routing__unavailable strong { color: var(--red); font-size: .65rem; }
.decision-routing__unavailable p { margin: .25rem 0 .55rem; color: var(--ink); font-size: .6rem; line-height: 1.45; }
.decision-routing__unavailable .button { margin: .3rem 0 0; padding: 0; }
.decision-routing__warning { padding: .6rem; border-left: 3px solid var(--amber); background: #fff7dc; }
.decision-actions { display: grid; gap: .55rem; margin-top: 1rem; }
.decision-actions .button--primary { margin-top: 0; }
.button--danger { border-color: #bd2c27; color: #9b2521; background: #fff; }
.button--danger:hover { color: #fff; background: #bd2c27; }
.decision-card__note { display: block; margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .66rem; line-height: 1.5; }

.approval-history { display: grid; gap: 1rem; padding-top: 1.2rem; }
.approval-version { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; }
.approval-version > strong { color: var(--blue); font-size: .7rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.approval-version ol { margin: 0; padding: 0; list-style: none; }
.approval-version li { display: grid; grid-template-columns: 2.5rem 1fr auto; align-items: start; gap: .8rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.approval-version li > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 1px solid var(--line); color: var(--muted); font-size: .63rem; font-weight: 600; }
.approval-version li strong, .approval-version li small { display: block; }
.approval-version li strong { font-size: .76rem; font-weight: 600; }
.approval-version li small { margin-top: .2rem; color: var(--muted); font-size: .65rem; }
.approval-version li p { margin: .5rem 0 0; color: #34394e; font-size: .72rem; line-height: 1.5; }
.approval-reassignment-note { padding: .65rem .75rem; border-left: 3px solid var(--blue); background: var(--blue-soft); }
.approval-version time { color: var(--muted); font-size: .65rem; }
.approval-version .approval-status--pending > span { border-color: var(--amber); color: var(--blue); background: var(--amber); }
.approval-version .approval-status--approved > span { border-color: var(--green); color: #fff; background: var(--green); }
.approval-version .approval-status--rejected > span { border-color: var(--red); color: #fff; background: var(--red); }
.approval-version .approval-status--changes_requested > span { border-color: #d56d18; color: #fff; background: #d56d18; }

.admin-lock { padding: .7rem .9rem; border: 1px solid rgba(255,255,255,.4); font-size: .68rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.admin-status-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1rem 0; }
.integration-card { padding: 1.7rem; border-top: 6px solid var(--amber); background: #fff; }
.integration-card--ready { border-color: var(--green); }
.integration-card > div:first-child { display: flex; align-items: center; gap: .65rem; color: var(--blue); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.integration-card h2 { margin: 1rem 0 .65rem; font-family: var(--display); font-size: 1.55rem; font-weight: 500; text-transform: uppercase; }
.integration-card > p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.integration-card dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1.3rem 0 0; }
.integration-card dl div { padding-top: .8rem; border-top: 1px solid var(--line); }
.integration-card dt { color: var(--muted); font-size: .62rem; text-transform: uppercase; }
.integration-card dd { margin: .3rem 0 0; font-size: .74rem; font-weight: 600; }
.admin-section { margin-top: 1rem; padding: 1.7rem; background: #fff; }
.admin-section__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--line); }
.admin-section__heading h2 { margin: 0; font-family: var(--display); font-size: 1.5rem; font-weight: 500; text-transform: uppercase; }
.admin-section__heading > span { color: var(--muted); font-size: .67rem; }
.admin-section__heading > .admin-section__value { color: var(--ink); font-weight: 400; }
.admin-section__heading-actions { display: flex; align-items: center; gap: 1rem; }
.admin-section__heading-actions > span { color: var(--muted); font-size: .67rem; }
.admin-section__heading-actions .button { margin: 0; white-space: nowrap; }
.admin-section__tools { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.admin-section__tools .button { margin: 0; }
.admin-section__value { color: var(--ink); font-size: .68rem; font-weight: 400; }

/* Administration — standard and demonstration access boundary. */
.demo-access-admin { padding-top: 0; overflow: hidden; border-top: 7px solid var(--amber); }
.demo-access-admin > .admin-section__heading { margin: 0 -1.7rem; padding: 1.7rem; color: #fff; border: 0; background: var(--blue-deep); }
.demo-access-admin > .admin-section__heading .eyebrow { color: var(--amber); }
.demo-access-admin > .admin-section__heading h2 { color: #fff; }
.demo-access-admin > .admin-section__heading .status-badge { align-self: center; margin: 0; border: 1px solid rgba(255,255,255,.3); }
.demo-access-console { display: grid; grid-template-columns: minmax(19rem, .82fr) minmax(28rem, 1.18fr); border: 1px solid var(--line); border-top: 0; }
.demo-access-map { min-width: 0; color: #fff; background: var(--blue); }
.demo-access-map__header { display: grid; grid-template-columns: 2.7rem minmax(0, 1fr); align-items: center; gap: .8rem; padding: 1.35rem; border-bottom: 1px solid rgba(255,255,255,.2); }
.demo-access-map__header > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: var(--blue); background: var(--amber); font-size: 1.15rem; }
.demo-access-map h3 { margin: .15rem 0 0; color: #fff; font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.demo-access-map ol { margin: 0; padding: 0; list-style: none; }
.demo-access-map li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: 1.05rem 1.25rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.demo-access-map li > span { display: grid; width: 1.85rem; height: 1.85rem; place-items: center; border: 1px solid rgba(255,255,255,.38); font-size: .53rem; font-weight: 800; }
.demo-access-map li strong { display: block; color: #fff; font-size: .78rem; }
.demo-access-map li p { margin: .22rem 0 0; color: rgba(255,255,255,.72); font-size: .6rem; line-height: 1.45; }
.demo-access-map li b { padding: .32rem .42rem; color: var(--blue); background: #fff; font-size: .51rem; letter-spacing: .08em; text-transform: uppercase; }
.demo-access-map li.is-demo b { color: #fff; background: #74798b; }
.demo-access-map li.is-demo.is-open b { color: var(--blue); background: var(--amber); }
.demo-access-map > footer { padding: 1.1rem 1.25rem 1.3rem; background: rgba(0,0,0,.12); }
.demo-access-map > footer strong { color: var(--amber); font-size: .57rem; letter-spacing: .09em; text-transform: uppercase; }
.demo-access-map > footer p { margin: .35rem 0 0; color: rgba(255,255,255,.75); font-size: .59rem; line-height: 1.55; }
.demo-access-map code { color: #fff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .58rem; }
.demo-access-policy { display: grid; align-content: start; gap: 1.1rem; min-width: 0; padding: 1.4rem; background: #f8f8fc; }
.demo-access-policy > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.demo-access-policy h3 { margin: .15rem 0 0; color: var(--blue); font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.demo-access-policy__saved { padding: .4rem .55rem; color: #fff; background: var(--green); font-size: .55rem; font-weight: 700; letter-spacing: .05em; white-space: nowrap; text-transform: uppercase; }
.demo-access-gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); background: #fff; }
.demo-access-gates > div { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); align-items: center; gap: .65rem; min-width: 0; padding: .75rem; }
.demo-access-gates > div + div { border-left: 1px solid var(--line); }
.demo-access-gates > div > span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: #fff; background: #8b91a1; font-size: .66rem; font-weight: 800; }
.demo-access-gates > div.is-ready > span { background: var(--green); }
.demo-access-gates strong, .demo-access-gates small { display: block; }
.demo-access-gates strong { color: var(--blue); font-size: .63rem; }
.demo-access-gates small { margin-top: .12rem; color: var(--muted); font-size: .53rem; line-height: 1.35; }
.demo-access-switch { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .85rem; padding: 1rem; border: 1px solid var(--blue); background: #fff; cursor: pointer; }
.demo-access-switch > input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.demo-access-switch > span { position: relative; width: 3.1rem; height: 1.65rem; border: 1px solid #8b91a1; border-radius: 2rem; background: #dfe1e8; transition: background .18s ease, border-color .18s ease; }
.demo-access-switch > span::after { position: absolute; top: .18rem; left: .18rem; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(17,24,51,.22); content: ''; transition: transform .18s ease; }
.demo-access-switch > input:checked + span { border-color: var(--green); background: var(--green); }
.demo-access-switch > input:checked + span::after { transform: translateX(1.42rem); }
.demo-access-switch > input:focus-visible + span { outline: 3px solid rgba(239,184,36,.4); outline-offset: 3px; }
.demo-access-switch > input:disabled + span { opacity: .55; }
.demo-access-switch strong { display: block; color: var(--blue); font-size: .7rem; }
.demo-access-switch p { margin: .25rem 0 0; color: var(--ink); font-size: .61rem; line-height: 1.5; }
.demo-access-policy > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.demo-access-policy > footer p { margin: 0; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.demo-access-policy > footer .button { margin: 0; white-space: nowrap; }
.demo-access-audit { margin-top: 1rem; border-top: 1px solid var(--line); }
.demo-access-audit > summary { display: flex; align-items: center; justify-content: space-between; padding: .9rem 0 0; color: var(--blue); font-size: .68rem; font-weight: 600; cursor: pointer; }
.demo-access-audit > summary span { color: var(--muted); }
.demo-access-audit .admin-access-log__list article > span { background: var(--amber); }
.smtp-administration { padding-top: 0; overflow: hidden; }
.smtp-administration > .admin-section__heading { margin: 0 -1.7rem; padding: 1.7rem; color: #fff; border: 0; background: var(--blue); }
.smtp-administration > .admin-section__heading .eyebrow { color: var(--amber); }
.smtp-administration > .admin-section__heading h2 { color: #fff; }
.smtp-administration > .admin-section__heading > span { color: rgba(255,255,255,.95); font-weight: 500; }
.smtp-status-rail { display: grid; grid-template-columns: .8fr 1.2fr 1fr 1.15fr; border: 1px solid var(--line); border-top: 0; background: #f8f8fb; }
.smtp-status-rail > div { display: flex; min-width: 0; min-height: 5rem; flex-direction: column; justify-content: center; gap: .35rem; padding: 1rem 1.2rem; border-right: 1px solid var(--line); }
.smtp-status-rail > div:last-child { border-right: 0; }
.smtp-status-rail small { color: var(--muted); font-size: .58rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.smtp-status-rail strong { overflow: hidden; color: var(--ink); font-size: .72rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.smtp-status-rail strong.is-success { color: var(--green); }
.smtp-status-rail strong.is-failure { color: var(--red); }
.smtp-status-rail > .smtp-status-rail__state { flex-direction: row; align-items: center; justify-content: flex-start; gap: .75rem; }
.smtp-status-rail__state i { width: .62rem; height: .62rem; flex: 0 0 auto; border-radius: 50%; background: #8b91a1; box-shadow: 0 0 0 5px rgba(139,145,161,.14); }
.smtp-status-rail__state.is-enabled i { background: var(--green); box-shadow: 0 0 0 5px rgba(29,117,86,.14); }
.smtp-status-rail__state span { display: flex; min-width: 0; flex-direction: column; gap: .35rem; }
.smtp-workspace { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(19rem, .5fr); gap: 1rem; margin-top: 1rem; }
.smtp-configuration-panel { padding: 1.45rem; border: 1px solid var(--line); border-left: 6px solid var(--blue); background: #f8f8fc; }
.smtp-configuration-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.smtp-configuration-panel h3, .smtp-test-panel h3 { margin: 0; font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.smtp-configuration-panel > header > span { padding: .4rem .55rem; color: var(--blue); background: var(--blue-soft); font-size: .6rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.smtp-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }
.smtp-form-grid .field input, .smtp-form-grid .field select { min-height: 3rem; }
.smtp-form-grid .field select { width: 100%; border: 1px solid var(--line); color: var(--ink); background: #fff; font: 400 .85rem var(--body); }
.smtp-unit-input { display: grid; grid-template-columns: 1fr auto; align-items: center; border: 1px solid var(--line); background: #fff; }
.smtp-unit-input input { min-width: 0; border: 0; }
.smtp-unit-input span { padding: 0 .8rem; border-left: 1px solid var(--line); color: var(--muted); font-size: .64rem; }
.smtp-secret-field > small { line-height: 1.45; }
.smtp-remove-secret { display: flex; align-items: center; gap: .45rem; color: var(--red); font-size: .64rem; font-weight: 500; cursor: pointer; }
.smtp-remove-secret input { width: auto; min-height: auto; }
.smtp-activation-control { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(18rem, 1.25fr); align-items: center; gap: 1rem; margin-top: 1.2rem; padding: 1rem; border: 1px solid #bfc4d8; background: #fff; }
.smtp-activation-control > label { display: flex; align-items: center; gap: .7rem; cursor: pointer; }
.smtp-activation-control input { position: absolute; opacity: 0; pointer-events: none; }
.smtp-activation-control label > span { position: relative; width: 2.5rem; height: 1.35rem; flex: 0 0 auto; border-radius: 999px; background: #c7cad5; transition: background .18s; }
.smtp-activation-control label > span::after { position: absolute; top: .2rem; left: .2rem; width: .95rem; height: .95rem; border-radius: 50%; background: #fff; content: ""; transition: transform .18s; }
.smtp-activation-control label:has(input:checked) > span { background: var(--green); }
.smtp-activation-control label:has(input:checked) > span::after { transform: translateX(1.15rem); }
.smtp-activation-control input:focus-visible + span { outline: 3px solid rgba(0,15,159,.25); outline-offset: 2px; }
.smtp-activation-control strong { color: var(--ink); font-size: .72rem; font-weight: 600; }
.smtp-activation-control p { margin: 0; color: var(--ink); font-size: .7rem; font-weight: 400; line-height: 1.5; }
.smtp-configuration-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.smtp-configuration-panel > footer p { max-width: 34rem; margin: 0; color: var(--ink); font-size: .7rem; font-weight: 400; line-height: 1.5; }
.smtp-configuration-panel > footer .button { margin: 0; }
.smtp-test-panel { position: relative; display: flex; min-height: 100%; flex-direction: column; justify-content: space-between; gap: 1.4rem; overflow: hidden; padding: 1.5rem; color: #fff; background: var(--blue); }
.smtp-test-panel::after { position: absolute; top: -5rem; right: -5rem; width: 12rem; height: 12rem; border: 1px solid rgba(255,255,255,.17); content: ""; transform: rotate(32deg); }
.smtp-test-panel > * { position: relative; z-index: 1; }
.smtp-test-panel h3 { color: #fff; }
.smtp-test-panel > div:first-child > p:not(.eyebrow) { margin: .65rem 0 0; color: #fff; font-size: .72rem; font-weight: 400; line-height: 1.55; }
.smtp-test-panel p strong, .smtp-configuration-panel--oauth .field strong { overflow-wrap: anywhere; }
.smtp-configuration-panel--oauth .field__error { color: #9c2724; }
.smtp-test-panel form label { display: flex; flex-direction: column; gap: .5rem; }
.smtp-test-panel form label > span { font-size: .64rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.smtp-test-panel input { width: 100%; min-height: 3.1rem; padding: .7rem .8rem; border: 1px solid rgba(255,255,255,.48); outline: 0; color: var(--ink); background: #fff; font: 400 .84rem var(--body); }
.smtp-test-panel input:focus { border-color: var(--amber); box-shadow: inset 3px 0 var(--amber); }
.smtp-test-panel .button { margin: .75rem 0 0; }
.smtp-test-panel__error { display: block; margin-top: .45rem; color: #ffe1de; font-size: .64rem; line-height: 1.4; }
.smtp-test-result { display: grid; grid-template-columns: 2rem 1fr; align-items: start; gap: .7rem; padding: .8rem; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.09); }
.smtp-test-result > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; color: var(--blue); background: #fff; font-weight: 600; }
.smtp-test-result.is-success > span { color: var(--green); }
.smtp-test-result.is-failure > span { color: var(--red); }
.smtp-test-result strong { font-size: .7rem; font-weight: 600; }
.smtp-test-result p { margin: .2rem 0 0; color: #fff; font-size: .65rem; font-weight: 400; line-height: 1.45; }
.smtp-security-notes { margin: 0; padding: 1rem 0 0 1rem; border-top: 1px solid rgba(255,255,255,.4); color: #fff; font-size: .65rem; font-weight: 400; line-height: 1.7; }
.smtp-audit-log .admin-access-log__list article > span { background: var(--green); }
.microsoft-mail-console { margin-bottom: 1rem; border: 1px solid var(--line); border-top: 7px solid var(--amber); background: #fff; }
.microsoft-mail-console > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.45rem; }
.microsoft-mail-console > header h3 { margin: .2rem 0 .55rem; color: var(--blue); font-family: var(--display); font-size: 1.55rem; font-weight: 500; text-transform: uppercase; }
.microsoft-mail-console > header p:last-child { max-width: 55rem; margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.6; }
.microsoft-mail-console code { color: var(--blue); background: var(--blue-soft); }
.microsoft-mail-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); list-style: none; background: #f7f7fb; }
.microsoft-mail-steps li { position: relative; display: flex; align-items: center; gap: .8rem; min-height: 5rem; padding: .9rem 1.2rem; border-right: 1px solid var(--line); }
.microsoft-mail-steps li:last-child { border-right: 0; }
.microsoft-mail-steps li > span { display: grid; width: 2.1rem; height: 2.1rem; flex: 0 0 auto; place-items: center; border: 1px solid #b9bed2; color: var(--blue); background: #fff; font-size: .66rem; font-weight: 600; }
.microsoft-mail-steps li.is-current { background: #fff9e9; box-shadow: inset 0 -4px var(--amber); }
.microsoft-mail-steps li.is-current > span { border-color: var(--amber); background: var(--amber); }
.microsoft-mail-steps li.is-complete > span { border-color: var(--green); color: #fff; background: var(--green); }
.microsoft-mail-steps strong, .microsoft-mail-steps small { display: block; }
.microsoft-mail-steps strong { color: var(--blue); font-size: .72rem; }
.microsoft-mail-steps small { margin-top: .25rem; color: var(--muted); font-size: .6rem; line-height: 1.35; }
.microsoft-mail-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(18rem, .45fr); }
.microsoft-mail-settings { padding: 1.35rem; background: #fafafd; }
.microsoft-mail-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.microsoft-mail-form-grid .field { display: grid; gap: .4rem; }
.microsoft-mail-form-grid .field > span { color: var(--blue); font-size: .66rem; font-weight: 600; }
.microsoft-mail-form-grid input { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid var(--line); color: var(--ink); background: #fff; font: 400 .8rem var(--body); }
.microsoft-mail-form-grid input:focus { border-color: var(--blue); outline: 0; box-shadow: inset 3px 0 var(--blue); }
.microsoft-mail-form-grid input[readonly] { color: var(--blue); background: #f0f1f8; }
.microsoft-mail-form-grid .field > small { color: var(--muted); font-size: .61rem; line-height: 1.45; }
.microsoft-mail-form-grid .field > .field__error, .microsoft-mail-enable > .field__error { color: var(--red); }
.microsoft-mail-secret > label { display: flex; align-items: center; gap: .45rem; color: var(--red); font-size: .62rem; }
.microsoft-mail-secret > label input { width: auto; min-height: auto; }
.microsoft-mail-redirect { grid-column: 1 / -1; }
.microsoft-mail-redirect input { font-size: .71rem; }
.microsoft-mail-enable { display: grid; grid-template-columns: minmax(16rem, .8fr) 1.2fr; align-items: center; gap: 1rem; margin-top: 1rem; padding: .9rem; border: 1px solid var(--line); background: #fff; }
.microsoft-mail-enable > label { display: flex; align-items: center; gap: .65rem; cursor: pointer; }
.microsoft-mail-enable > label > input { position: absolute; opacity: 0; pointer-events: none; }
.microsoft-mail-enable > label > span { position: relative; width: 2.5rem; height: 1.35rem; flex: 0 0 auto; border-radius: 999px; background: #c7cad5; }
.microsoft-mail-enable > label > span::after { position: absolute; top: .2rem; left: .2rem; width: .95rem; height: .95rem; border-radius: 50%; background: #fff; content: ""; transition: transform .18s; }
.microsoft-mail-enable > label:has(input:checked) > span { background: var(--green); }
.microsoft-mail-enable > label:has(input:checked) > span::after { transform: translateX(1.15rem); }
.microsoft-mail-enable > label:has(input:disabled) { cursor: not-allowed; opacity: .55; }
.microsoft-mail-enable strong { color: var(--ink); font-size: .7rem; }
.microsoft-mail-enable p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.45; }
.microsoft-mail-settings > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.microsoft-mail-settings > footer p { max-width: 38rem; margin: 0; color: var(--muted); font-size: .63rem; line-height: 1.5; }
.microsoft-mail-settings > footer .button { margin: 0; white-space: nowrap; }
.microsoft-mail-connection { display: flex; min-width: 0; flex-direction: column; padding: 1.4rem; color: #fff; background: var(--blue); }
.microsoft-mail-connection__signal { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; }
.microsoft-mail-connection__signal span { display: grid; width: 3rem; height: 3rem; place-items: center; border: 1px solid rgba(255,255,255,.7); font-family: var(--display); font-size: 1.35rem; }
.microsoft-mail-connection__signal i { width: .65rem; height: .65rem; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 5px rgba(251,188,28,.15); }
.microsoft-mail-connection h4 { margin: .25rem 0 .7rem; overflow-wrap: anywhere; font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.microsoft-mail-connection > p:not(.eyebrow):not(.microsoft-mail-connection__error) { margin: 0 0 1rem; color: rgba(255,255,255,.82); font-size: .68rem; line-height: 1.55; }
.microsoft-mail-connection dl { margin: 0 0 1rem; border-top: 1px solid rgba(255,255,255,.25); }
.microsoft-mail-connection dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid rgba(255,255,255,.25); }
.microsoft-mail-connection dt { color: rgba(255,255,255,.66); font-size: .59rem; text-transform: uppercase; }
.microsoft-mail-connection dd { margin: 0; font-size: .65rem; text-align: right; }
.microsoft-mail-connection > .button { margin: .65rem 0 0; }
.microsoft-mail-connection .button--ghost-light { border: 1px solid rgba(255,255,255,.65); color: #fff; background: transparent; }
.microsoft-mail-connection > small { margin-top: auto; padding-top: 1.2rem; color: rgba(255,255,255,.65); font-size: .58rem; line-height: 1.45; }
.microsoft-mail-connection__locked { display: block; padding: .75rem; border: 1px solid rgba(255,255,255,.4); color: rgba(255,255,255,.7); font-size: .65rem; text-align: center; }
.microsoft-mail-connection__error { padding: .65rem; color: #751410; background: #fff0ee; font-size: .63rem; line-height: 1.4; }
.smtp-configuration-panel--oauth { border-left-color: var(--green); }
.admin-user-error { margin: 1rem 0 0; }
.prototype-cleanup { margin: 1.5rem 0; border: 1px solid var(--line); border-top: 4px solid var(--amber); padding: clamp(1rem, 2.5vw, 1.75rem); background: #f8f8fc; }
.prototype-cleanup__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.prototype-cleanup__heading h3, .prototype-cleanup__heading h4 { margin: .3rem 0; }
.prototype-cleanup__heading p { margin: .5rem 0; }
.prototype-cleanup__heading .button { flex-shrink: 0; }
.prototype-cleanup__scope { margin-top: 1rem; padding: 1rem; border-left: 3px solid var(--amber); background: #fff4d4; line-height: 1.6; }
.prototype-cleanup__scope strong { display: block; }
.prototype-cleanup__group { margin-top: 1.5rem; }
.prototype-cleanup__group h4 span { padding: .2rem .5rem; background: var(--blue-soft); }
.prototype-cleanup__row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.prototype-cleanup__row > div { min-width: 0; overflow-wrap: anywhere; }
.prototype-cleanup__row strong, .prototype-cleanup__row small, .prototype-cleanup__row > div > span { display: block; }
.prototype-cleanup__row small { margin-top: .35rem; line-height: 1.5; }
.prototype-cleanup__heading p, .prototype-cleanup__scope, .prototype-cleanup__row { color: #28316a; font-weight: 400; }
.prototype-cleanup__row .button, .prototype-cleanup__row .status-badge { flex-shrink: 0; }
@media (max-width: 600px) {
    .prototype-cleanup__row { align-items: flex-start; flex-direction: column; }
    .prototype-cleanup__heading .button { width: 100%; white-space: normal; }
}
.admin-user-editor { margin-top: 1.2rem; padding: 1.5rem; border-left: 6px solid var(--blue); background: #f7f8ff; }
.admin-user-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.3rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.admin-user-editor h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.admin-user-editor > header > span { padding: .4rem .55rem; color: var(--blue); background: var(--blue-soft); font-size: .62rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.admin-user-role-picker { margin: 1.3rem 0 0; padding: 1.1rem; border: 1px solid var(--line); background: #fff; }
.admin-user-role-picker legend { padding: 0 .4rem; color: var(--blue); font-size: .72rem; font-weight: 600; }
.admin-user-role-picker > p { margin: 0 0 .9rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.admin-user-role-picker > .field__error { display: block; margin-top: .65rem; color: var(--red); font-size: .67rem; }
.administrator-continuity-notice { display: grid; grid-template-columns: 2.6rem 1fr; align-items: center; gap: .8rem; margin: 0 0 1rem; padding: .8rem; border: 1px solid #efc76f; border-left: 5px solid var(--amber); background: #fff9ea; }
.administrator-continuity-notice > span { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; color: var(--blue); background: var(--amber); font-size: .64rem; font-weight: 700; }
.administrator-continuity-notice strong { display: block; color: var(--blue); font-size: .73rem; font-weight: 600; }
.administrator-continuity-notice p { margin: .2rem 0 0; color: var(--ink); font-size: .65rem; line-height: 1.45; }
.administrator-continuity-notice--current { border-color: #cfd4f3; border-left-color: var(--blue); background: var(--blue-soft); }
.administrator-continuity-notice--current > span { color: #fff; background: var(--blue); }
.admin-user-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; }
.admin-user-editor > footer p { max-width: 35rem; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.admin-user-editor > footer div { display: flex; align-items: center; gap: .5rem; }
.admin-user-editor > footer .button { margin: 0; }
.admin-user-list { margin-top: 1rem; border-top: 1px solid var(--line); }
.admin-user-list > article { display: grid; grid-template-columns: minmax(16rem, .9fr) minmax(18rem, 1.2fr) auto; align-items: center; gap: 1rem; padding: 1rem .4rem; border-bottom: 1px solid var(--line); }
.admin-user-list > article.is-inactive { background: #fafafd; }
.admin-user__identity { display: flex; align-items: center; gap: .75rem; }
.admin-user__identity > span { display: grid; width: 2.5rem; height: 2.5rem; flex: 0 0 auto; place-items: center; color: #fff; background: var(--blue); font-family: var(--display); font-weight: 600; }
.admin-user-list > article.is-inactive .admin-user__identity > span { color: var(--blue); background: #e9eaf0; }
.admin-user__identity strong, .admin-user__identity small { display: block; }
.admin-user__identity strong { font-size: .78rem; font-weight: 600; }
.admin-user__identity small { margin-top: .2rem; color: var(--muted); font-size: .64rem; }
.admin-user__name-line { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.admin-user__name-line .status-badge { padding: .22rem .4rem; font-size: .56rem; }
.admin-user__name-line .status-badge--protected { color: #735400; background: #fff2c9; box-shadow: inset 3px 0 var(--amber); }
.admin-role-grid { display: flex; flex-wrap: wrap; gap: .4rem; }
.admin-role-grid label { position: relative; cursor: pointer; }
.admin-role-grid input { position: absolute; opacity: 0; }
.admin-role-grid span { display: inline-flex; padding: .4rem .5rem; border: 1px solid var(--line); color: var(--muted); font-size: .63rem; }
.admin-role-grid label:has(input:checked) span { border-color: var(--blue); color: var(--blue); background: var(--blue-soft); font-weight: 600; }
.admin-role-grid label.is-locked { cursor: not-allowed; }
.admin-role-grid label.is-locked span { border-color: #efc76f; color: #735400; background: #fff9ea; box-shadow: inset 3px 0 var(--amber); }
.admin-role-badges { display: flex; flex-wrap: wrap; gap: .35rem; }
.admin-role-badges > span { padding: .35rem .45rem; border-left: 3px solid var(--amber); color: var(--blue); background: #f7f7f3; font-size: .62rem; font-weight: 600; }
.admin-role-badges > span.is-empty { border-color: var(--line); color: var(--red); }
.admin-user__actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.admin-access-log { margin-top: 1.5rem; padding-top: 1.4rem; border-top: 1px solid var(--blue); }
.admin-access-log__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.admin-access-log__heading h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.15rem; font-weight: 500; text-transform: uppercase; }
.admin-access-log__heading > span { color: var(--muted); font-size: .64rem; }
.admin-access-log__list article { display: grid; grid-template-columns: .55rem 1fr auto; align-items: center; gap: .8rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.admin-access-log__list article > span { width: .5rem; height: .5rem; border-radius: 50%; background: var(--amber); }
.admin-access-log__list strong, .admin-access-log__list p { display: block; }
.admin-access-log__list strong { font-size: .72rem; font-weight: 600; }
.admin-access-log__list p { margin: .2rem 0 0; color: var(--ink); font-size: .65rem; }
.admin-access-log__list time { color: var(--ink); font-size: .64rem; font-weight: 400; }
.admin-access-log__empty { margin: 1rem 0 0; color: var(--muted); font-size: .7rem; }
.route-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; padding-top: 1.2rem; }
.route-grid article { padding: 1.2rem; border: 1px solid var(--line); background: #fbfbfd; }
.route-grid article header { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.route-grid article header span { display: grid; min-width: 2.4rem; height: 2.4rem; place-items: center; color: #fff; background: var(--blue); font-size: .58rem; font-weight: 600; }
.route-grid h3, .reference-columns h3 { margin: 0; font-family: var(--display); font-size: 1.05rem; font-weight: 500; text-transform: uppercase; }
.route-grid .field { margin-bottom: .8rem; }
.admin-section__intro { max-width: 52rem; margin: .8rem 0 0; color: var(--muted); font-size: .76rem; line-height: 1.65; }

/* Workflow permissions — practical guidance beside the editable routing policies. */
.workflow-permission-guide { margin-top: 1.35rem; border: 1px solid #cdd1e2; border-top: 7px solid var(--amber); background: #fff; box-shadow: 0 14px 38px rgba(0,15,159,.055); }
.workflow-permission-guide__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; padding: 1.4rem 1.5rem; color: #fff; background: var(--blue-deep); }
.workflow-permission-guide__header h3 { margin: .18rem 0 0; color: #fff; font-family: var(--display); font-size: 1.45rem; font-weight: 500; text-transform: uppercase; }
.workflow-permission-guide__header p:last-child { max-width: 48rem; margin: .55rem 0 0; color: rgba(255,255,255,.82); font-size: .7rem; font-weight: 400; line-height: 1.55; }
.workflow-permission-guide__header > span { flex: 0 0 auto; padding: .45rem .6rem; border: 1px solid rgba(255,255,255,.32); color: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.workflow-permission-guide__timing { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); background: #f8f8fb; }
.workflow-permission-guide__timing article { display: grid; grid-template-columns: 2.1rem 1fr; gap: .7rem; padding: 1rem 1.15rem; border-right: 1px solid var(--line); }
.workflow-permission-guide__timing article:last-child { border-right: 0; }
.workflow-permission-guide__timing article > span { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--blue); background: var(--amber); font-size: .58rem; font-weight: 800; }
.workflow-permission-guide__timing strong, .workflow-permission-guide__timing p { display: block; }
.workflow-permission-guide__timing strong { color: var(--blue); font-size: .68rem; font-weight: 700; }
.workflow-permission-guide__timing p { margin: .2rem 0 0; color: var(--ink); font-size: .61rem; font-weight: 400; line-height: 1.5; }
.workflow-permission-guide__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr); }
.workflow-permission-guide__authorities, .workflow-permission-guide__eligibility { min-width: 0; padding: 1.35rem 1.5rem; }
.workflow-permission-guide__eligibility { border-left: 1px solid var(--line); background: #fbfbfd; }
.workflow-permission-guide__subheading h4 { margin: .18rem 0 0; color: var(--blue); font-family: var(--display); font-size: 1.05rem; font-weight: 500; text-transform: uppercase; }
.workflow-authority-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }
.workflow-authority-grid article { min-width: 0; padding: .9rem; border: 1px solid var(--line); border-top: 4px solid var(--blue); background: #fff; }
.workflow-authority-grid article:last-child { border-top-color: var(--amber); }
.workflow-authority-grid article > div { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); align-items: center; gap: .55rem; }
.workflow-authority-grid__number { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; color: #fff; background: var(--blue); font-size: .62rem; font-weight: 800; }
.workflow-authority-grid strong, .workflow-authority-grid small { display: block; }
.workflow-authority-grid strong { color: var(--blue); font-size: .67rem; font-weight: 700; }
.workflow-authority-grid small { margin-top: .1rem; color: var(--muted); font-size: .54rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.workflow-authority-grid p { margin: .72rem 0 0; color: var(--ink); font-size: .61rem; font-weight: 400; line-height: 1.55; }
.workflow-permission-guide__eligibility ul { display: grid; gap: .55rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.workflow-permission-guide__eligibility li { display: grid; grid-template-columns: 1.5rem 1fr; gap: .55rem; align-items: start; }
.workflow-permission-guide__eligibility li > span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: .58rem; font-weight: 800; }
.workflow-permission-guide__eligibility li p { margin: .03rem 0 0; color: var(--ink); font-size: .61rem; font-weight: 400; line-height: 1.5; }
.workflow-permission-guide__eligibility li strong { color: var(--blue); font-weight: 700; }
.workflow-role-capacity { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; border: 1px solid var(--line); background: #fff; }
.workflow-role-capacity > span { padding: .65rem .55rem; border-right: 1px solid var(--line); text-align: center; }
.workflow-role-capacity > span:last-child { border-right: 0; }
.workflow-role-capacity small, .workflow-role-capacity strong { display: block; }
.workflow-role-capacity small { color: var(--muted); font-size: .49rem; font-weight: 600; text-transform: uppercase; }
.workflow-role-capacity strong { margin-top: .25rem; color: var(--blue); font-family: var(--display); font-size: 1.15rem; font-weight: 500; }
.workflow-permission-guide__capacity-note { margin: .65rem 0 0; color: var(--muted); font-size: .56rem; line-height: 1.45; }
.workflow-permission-guide__footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 1.5rem; border-top: 1px solid var(--line); background: #fff9e8; }
.workflow-permission-guide__footer strong { color: #4e3a00; font-size: .66rem; font-weight: 700; }
.workflow-permission-guide__footer p { max-width: 50rem; margin: .22rem 0 0; color: #554619; font-size: .61rem; font-weight: 400; line-height: 1.5; }
.workflow-permission-guide__footer nav { display: flex; flex: 0 0 auto; align-items: center; gap: .55rem; }
.workflow-permission-guide__footer .button--outline { background: #fff; }
.route-grid--policies { grid-template-columns: 1fr; gap: 1.2rem; }
.route-grid .route-policy { padding: 0; background: #fff; }
.route-policy > header { padding: 1.15rem 1.25rem; margin: 0; border-bottom: 1px solid var(--line); }
.route-policy > header div { min-width: 0; }
.route-policy > header small { display: block; margin-top: .2rem; color: var(--muted); font-size: .64rem; }
.route-policy__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.route-policy__stage { min-width: 0; padding: 1.2rem; border-right: 1px solid var(--line); }
.route-policy__stage:last-child { border-right: 0; }
.route-policy__stage-heading { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; }
.route-policy__stage-heading > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--blue); color: var(--blue); font-size: .58rem; font-weight: 700; }
.route-policy__stage-heading strong, .route-policy__stage-heading small { display: block; }
.route-policy__stage-heading strong { color: var(--blue); font-size: .74rem; }
.route-policy__stage-heading small { margin-top: .15rem; color: var(--muted); font-size: .6rem; }
.route-policy__fields { display: grid; gap: .75rem; }
.route-policy__summary { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin: .15rem 0 .75rem; padding: .55rem .65rem; border-left: 3px solid var(--blue); color: var(--blue); background: var(--blue-soft); }
.route-policy__summary span { font-size: .58rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.route-policy__summary strong { color: var(--ink); font-size: .62rem; font-weight: 600; text-align: right; }
.route-policy__summary.is-warning { border-color: var(--amber); color: #6d5100; background: #fff8df; }
.route-policy__alternates { margin: .25rem 0 0; padding: .85rem; border: 1px solid #d9ddec; background: #f8f9fd; }
.route-policy__alternates legend { padding: 0 .35rem; color: var(--blue); font-size: .64rem; font-weight: 700; }
.route-policy__alternates > p { margin: 0 0 .7rem; color: var(--muted); font-size: .62rem; line-height: 1.45; }
.route-policy__alternates > div { display: grid; gap: .45rem; }
.route-policy__alternates label { display: flex; align-items: flex-start; gap: .55rem; padding: .55rem; background: #fff; cursor: pointer; }
.route-policy__alternates input { width: 1rem; height: 1rem; margin-top: .1rem; accent-color: var(--blue); }
.route-policy__alternates strong, .route-policy__alternates small { display: block; overflow: hidden; text-overflow: ellipsis; }
.route-policy__alternates strong { color: var(--ink); font-size: .68rem; }
.route-policy__alternates small { margin-top: .1rem; color: var(--muted); font-size: .58rem; }
.route-policy__empty-alternatives { display: grid !important; grid-template-columns: 1.8rem 1fr; gap: .65rem !important; padding: .75rem; border-left: 3px solid var(--amber); background: #fff9e8; }
.route-policy__empty-alternatives > span { display: grid; width: 1.6rem; height: 1.6rem; place-items: center; color: var(--blue); background: var(--amber); font-size: .72rem; font-weight: 800; }
.route-policy__empty-alternatives strong { color: #4d3d0d; font-size: .68rem; }
.route-policy__empty-alternatives p { margin: .25rem 0 .55rem; color: #594817; font-size: .6rem; line-height: 1.45; }
.route-policy__empty-alternatives button { padding: 0; border: 0; color: var(--blue); background: transparent; font-size: .61rem; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: .18rem; }
.route-policy__fixed-note { display: flex; gap: .45rem; margin: .35rem 0 0; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.route-policy__fixed-note span { color: var(--gold); }
.route-policy > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem; border-top: 1px solid var(--line); background: #fafafe; }
.route-policy > footer p { max-width: 34rem; margin: 0; color: var(--muted); font-size: .62rem; line-height: 1.5; }
.route-policy__save-actions { display: flex; align-items: center; justify-content: flex-end; gap: .8rem; }
.route-policy__saved { display: flex; align-items: center; gap: .5rem; color: #155840; }
.route-policy__saved > i { display: grid; width: 1.8rem; height: 1.8rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: .75rem; font-style: normal; font-weight: 800; }
.route-policy__saved strong, .route-policy__saved small { display: block; }
.route-policy__saved strong { font-size: .66rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.route-policy__saved small { margin-top: .08rem; color: #326f5c; font-size: .56rem; white-space: nowrap; }

/* Approval routing command centre — one department and one responsibility at a time. */
.workflow-permission-guide > summary { list-style: none; cursor: pointer; }
.workflow-permission-guide > summary::-webkit-details-marker { display: none; }
.workflow-permission-guide > summary > span { flex: 0 0 auto; padding: .5rem .7rem; border: 1px solid rgba(255,255,255,.42); color: #fff; font-size: .6rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.workflow-permission-guide[open] > summary > span { color: var(--blue); background: var(--amber); border-color: var(--amber); }
.routing-workspace-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1.2rem; border: 1px solid var(--line); background: #fff; }
.routing-workspace-tabs button { display: grid; grid-template-columns: 2.1rem minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .8rem; align-items: center; padding: 1rem 1.2rem; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: transparent; text-align: left; cursor: pointer; }
.routing-workspace-tabs button:last-child { border-right: 0; }
.routing-workspace-tabs button > span { grid-row: 1 / 3; display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border: 1px solid var(--line); color: var(--muted); font-size: .56rem; font-weight: 700; }
.routing-workspace-tabs strong, .routing-workspace-tabs small { display: block; min-width: 0; }
.routing-workspace-tabs strong { color: var(--ink); font-size: .74rem; font-weight: 650; }
.routing-workspace-tabs small { margin-top: .15rem; font-size: .58rem; }
.routing-workspace-tabs button.is-active { color: var(--blue); background: var(--blue-soft); box-shadow: inset 0 -4px 0 var(--blue); }
.routing-workspace-tabs button.is-active > span { border-color: var(--blue); color: #fff; background: var(--blue); }
.routing-workspace-tabs button.is-active strong { color: var(--blue); }
.routing-command-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); align-items: start; margin-top: 1rem; border: 1px solid var(--line); background: #fff; }
.routing-department-nav { position: sticky; top: 1rem; min-width: 0; border-right: 1px solid var(--line); background: #f7f7fa; }
.routing-department-nav > header { padding: 1rem; border-bottom: 1px solid var(--line); }
.routing-department-nav > header span, .routing-department-nav > header strong { display: block; }
.routing-department-nav > header span { color: var(--muted); font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.routing-department-nav > header strong { margin-top: .25rem; color: var(--blue); font-family: var(--display); font-size: .95rem; font-weight: 500; }
.routing-department-nav nav { display: grid; }
.routing-department-nav nav button { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .65rem; align-items: center; width: 100%; padding: .85rem .8rem; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.routing-department-nav nav button:hover { background: #fff; }
.routing-department-nav nav button.is-active { position: relative; background: #fff; box-shadow: inset 4px 0 0 var(--blue); }
.routing-department-nav__code { display: grid; width: 2rem; height: 2rem; place-items: center; color: #fff; background: var(--blue); font-size: .45rem; font-weight: 800; letter-spacing: -.02em; overflow: hidden; }
.routing-department-nav__identity { min-width: 0; }
.routing-department-nav__identity strong, .routing-department-nav__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.routing-department-nav__identity strong { color: var(--blue); font-size: .65rem; font-weight: 650; }
.routing-department-nav__identity small { margin-top: .12rem; color: var(--muted); font-size: .51rem; }
.routing-department-nav__signals { display: flex; gap: .25rem; }
.routing-department-nav__signals i, .routing-department-nav__signals b { display: grid; min-width: 1.25rem; height: 1.25rem; place-items: center; padding: 0 .22rem; border-radius: .65rem; font-size: .5rem; font-style: normal; font-weight: 800; }
.routing-department-nav__signals i { color: #634800; background: #ffe99c; }
.routing-department-nav__signals b { color: #fff; background: var(--blue); }
.routing-department-nav > footer { display: grid; grid-template-columns: 1.4rem 1fr; gap: .55rem; padding: .9rem; }
.routing-department-nav > footer > span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; color: #5c4300; background: var(--amber); font-size: .62rem; font-weight: 800; }
.routing-department-nav > footer p { margin: 0; color: var(--muted); font-size: .53rem; line-height: 1.45; }
.routing-command-main { min-width: 0; }
.routing-switch-warning { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid #e8c34f; background: #fff8dd; }
.routing-switch-warning strong { color: #584100; font-size: .68rem; }
.routing-switch-warning p { margin: .18rem 0 0; color: #665526; font-size: .58rem; }
.routing-switch-warning > div:last-child { display: flex; flex: 0 0 auto; gap: .5rem; }
.routing-context-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.25rem; border-bottom: 1px solid var(--line); }
.routing-context-bar h3 { margin: .2rem 0 .1rem; color: var(--blue); font-family: var(--display); font-size: 1.35rem; font-weight: 500; }
.routing-context-bar > div:first-child > span { color: var(--muted); font-size: .59rem; }
.routing-context-bar__status { max-width: 20rem; text-align: right; }
.routing-context-bar__status strong, .routing-context-bar__status small { display: block; }
.routing-context-bar__status strong { color: var(--blue); font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.routing-context-bar__status strong.is-unsaved { color: #8a6000; }
.routing-context-bar__status strong.is-saved { color: var(--green); }
.routing-context-bar__status small { margin-top: .15rem; color: var(--muted); font-size: .55rem; }
.routing-scope-notice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .8rem; align-items: center; padding: .7rem 1rem; border-bottom: 1px solid var(--line); background: #f4f6ff; }
.routing-scope-notice > span { padding: .35rem .45rem; color: #fff; background: var(--blue); font-size: .5rem; font-weight: 800; letter-spacing: .08em; }
.routing-scope-notice p { margin: 0; color: var(--ink); font-size: .59rem; line-height: 1.45; }
.routing-scope-notice button { padding: 0; border: 0; color: var(--blue); background: transparent; font-size: .58rem; font-weight: 700; cursor: pointer; }
.routing-scope-notice--live { background: #fff8df; }
.routing-scope-notice--live > span { color: #553e00; background: var(--amber); }
.routing-command-main .route-grid--policies { margin: 0; }
.routing-command-main .route-policy { border: 0; box-shadow: none; }
.route-stage-flow { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items: stretch; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); background: #f8f8fb; }
.route-stage-flow button { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .55rem; align-items: center; min-width: 0; padding: .7rem; border: 1px solid var(--line); color: var(--ink); background: #fff; text-align: left; cursor: pointer; }
.route-stage-flow button.is-active { border-color: var(--blue); box-shadow: inset 0 -3px 0 var(--blue); }
.route-stage-flow button.has-warning:not(.is-active) { border-color: #e7c255; }
.route-stage-flow__number { display: grid; width: 2rem; height: 2rem; place-items: center; color: var(--blue); background: var(--blue-soft); font-size: .54rem; font-weight: 800; }
.route-stage-flow button.is-active .route-stage-flow__number { color: #fff; background: var(--blue); }
.route-stage-flow__person { min-width: 0; }
.route-stage-flow__person small, .route-stage-flow__person strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.route-stage-flow__person small { color: var(--muted); font-size: .51rem; }
.route-stage-flow__person strong { margin-top: .12rem; color: var(--blue); font-size: .62rem; }
.route-stage-flow__backup { color: var(--muted); font-size: .5rem; font-weight: 650; text-align: right; }
.route-stage-flow button.has-warning .route-stage-flow__backup { color: #795800; }
.route-stage-flow__connector { display: grid; min-width: 1.7rem; place-items: center; color: var(--blue); font-size: .72rem; }
.route-policy__stages--focused { grid-template-columns: 1fr; }
.route-policy__stages--focused .route-policy__stage { border-right: 0; }
.route-policy__legacy-warning { display: grid; grid-template-columns: 1.8rem minmax(0,1fr); gap: .7rem; padding: .8rem; border-left: 4px solid var(--amber); background: #fff8df; }
.route-policy__legacy-warning > span { display: grid; width: 1.6rem; height: 1.6rem; place-items: center; color: #4e3900; background: var(--amber); font-size: .7rem; font-weight: 800; }
.route-policy__legacy-warning strong { color: #4d3900; font-size: .66rem; }
.route-policy__legacy-warning p { margin: .2rem 0 .45rem; color: #665526; font-size: .58rem; line-height: 1.45; }
.route-policy__legacy-warning ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.route-policy__legacy-warning li { display: flex; justify-content: space-between; gap: .8rem; color: #5c4b20; font-size: .55rem; }
.route-policy__legacy-warning li span { text-align: right; }
.route-policy__selection-needed { margin: .65rem 0 0 !important; padding: .6rem; border-left: 3px solid var(--amber); color: #594817 !important; background: #fff9e8; }
.route-policy__excluded { margin-top: .2rem; border: 1px solid var(--line); background: #fff; }
.route-policy__excluded summary { display: flex; justify-content: space-between; gap: .7rem; padding: .65rem .75rem; color: var(--blue); font-size: .58rem; font-weight: 700; cursor: pointer; }
.route-policy__excluded summary span { display: grid; min-width: 1.25rem; height: 1.25rem; place-items: center; border-radius: .7rem; color: #fff; background: var(--blue); font-size: .48rem; }
.route-policy__excluded > div { border-top: 1px solid var(--line); }
.route-policy__excluded article { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem .75rem; border-bottom: 1px solid var(--line); }
.route-policy__excluded article:last-child { border-bottom: 0; }
.route-policy__excluded article strong, .route-policy__excluded article small { display: block; }
.route-policy__excluded article strong { color: var(--ink); font-size: .59rem; }
.route-policy__excluded article small, .route-policy__excluded article p { color: var(--muted); font-size: .52rem; }
.route-policy__excluded article p { margin: 0; text-align: right; }
.route-policy__authority-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--line); }
.route-policy__authority-summary > span { padding: .6rem; border-right: 1px solid var(--line); }
.route-policy__authority-summary > span:last-child { border-right: 0; }
.route-policy__authority-summary small, .route-policy__authority-summary strong { display: block; }
.route-policy__authority-summary small { color: var(--muted); font-size: .48rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.route-policy__authority-summary strong { margin-top: .18rem; color: var(--ink); font-size: .55rem; font-weight: 600; line-height: 1.35; }
.route-policy__unsaved { display: flex; align-items: center; gap: .5rem; color: #785500; }
.route-policy__unsaved i { font-size: .7rem; font-style: normal; }
.route-policy__unsaved strong, .route-policy__unsaved small { display: block; }
.route-policy__unsaved strong { font-size: .62rem; font-weight: 700; text-transform: uppercase; }
.route-policy__unsaved small { margin-top: .1rem; color: #806d37; font-size: .54rem; }
.routing-live-workspace { background: #f8f8fb; }
.routing-live-workspace > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.25rem; border-bottom: 1px solid var(--line); }
.routing-live-workspace > header h4 { margin: .2rem 0 0; color: var(--blue); font-family: var(--display); font-size: 1.2rem; font-weight: 500; }
.routing-live-workspace > header > strong { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; color: #fff; background: var(--blue); font-family: var(--display); font-size: 1rem; font-weight: 500; }
.routing-live-list { display: grid; gap: .9rem; padding: 1rem; }
.routing-live-card { border-top: 4px solid var(--blue); background: #fff; box-shadow: 0 8px 20px rgba(0,15,159,.05); }
.routing-live-card > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.routing-live-card > header h5 { margin: .16rem 0; color: var(--blue); font-family: var(--display); font-size: 1rem; font-weight: 500; }
.routing-live-card > header p { margin: 0; color: var(--muted); font-size: .56rem; }
.routing-live-card > header > div:first-child > span { color: var(--green); font-size: .5rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.routing-live-card > header > div:last-child { text-align: right; }
.routing-live-card > header > div:last-child small, .routing-live-card > header > div:last-child strong, .routing-live-card > header > div:last-child span { display: block; }
.routing-live-card > header > div:last-child small { color: var(--muted); font-size: .48rem; font-weight: 700; text-transform: uppercase; }
.routing-live-card > header > div:last-child strong { margin-top: .2rem; color: var(--ink); font-size: .64rem; }
.routing-live-card > header > div:last-child span { margin-top: .12rem; color: #795800; font-size: .52rem; }
.routing-live-timeline { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: .9rem 1rem; list-style: none; }
.routing-live-timeline li { position: relative; display: grid; grid-template-columns: 1.75rem minmax(0,1fr); gap: .55rem; align-items: center; padding-right: .6rem; }
.routing-live-timeline li:not(:last-child)::after { position: absolute; top: .86rem; right: .2rem; left: 2rem; z-index: 0; height: 1px; background: var(--line); content: ""; }
.routing-live-timeline li > span { z-index: 1; display: grid; width: 1.75rem; height: 1.75rem; place-items: center; border: 1px solid var(--line); color: var(--muted); background: #fff; font-size: .5rem; font-weight: 800; }
.routing-live-timeline li.is-complete > span { border-color: var(--green); color: #fff; background: var(--green); }
.routing-live-timeline li.is-current > span { border-color: var(--amber); color: var(--blue); background: var(--amber); }
.routing-live-timeline li strong, .routing-live-timeline li small { display: block; position: relative; z-index: 1; background: #fff; }
.routing-live-timeline li strong { color: var(--blue); font-size: .57rem; }
.routing-live-timeline li small { margin-top: .12rem; color: var(--muted); font-size: .49rem; }
.routing-live-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid var(--line); background: #fafafe; }
.routing-live-card__coverage { display: grid; grid-template-columns: 1.9rem minmax(0,1fr); gap: .55rem; align-items: center; }
.routing-live-card__coverage > span { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; color: #fff; background: var(--green); font-size: .62rem; font-weight: 800; }
.routing-live-card__coverage.has-warning > span { color: #4c3900; background: var(--amber); }
.routing-live-card__coverage strong, .routing-live-card__coverage small { display: block; }
.routing-live-card__coverage strong { color: var(--ink); font-size: .58rem; }
.routing-live-card__coverage small { margin-top: .12rem; color: var(--muted); font-size: .51rem; }
.routing-live-empty { padding: 3rem 1.5rem; color: var(--muted); background: #fff; text-align: center; }
.routing-live-empty > span { display: grid; width: 2.7rem; height: 2.7rem; margin: 0 auto .8rem; place-items: center; border-radius: 50%; color: #fff; background: var(--green); }
.routing-live-empty strong { display: block; color: var(--blue); font-family: var(--display); font-size: 1rem; font-weight: 500; }
.routing-live-empty p { margin: .3rem 0 0; font-size: .58rem; }

/* Approval routing map — an institutional, read-only governance blueprint. */
.routing-map-page { width: min(100%, 104rem); }
.routing-map-hero { position: relative; overflow: hidden; background: var(--blue-deep); }
.routing-map-hero::after { position: absolute; top: -6rem; right: 22%; width: 17rem; height: 17rem; border: 1px solid rgba(255,255,255,.15); background: transparent; content: ""; transform: rotate(24deg); }
.routing-map-hero > * { position: relative; z-index: 1; }
.routing-map-hero__stamp { min-width: 13rem; padding-left: 1.5rem; border-left: 1px solid rgba(255,255,255,.35); text-align: right; }
.routing-map-hero__stamp span, .routing-map-hero__stamp strong, .routing-map-hero__stamp small { display: block; }
.routing-map-hero__stamp span { color: var(--amber); font-size: .6rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.routing-map-hero__stamp strong { margin-top: .45rem; color: #fff; font-size: .84rem; font-weight: 500; }
.routing-map-hero__stamp small { margin-top: .2rem; color: rgba(255,255,255,.72); font-size: .62rem; }
.routing-map-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1rem; border: 1px solid var(--line); background: #fff; }
.routing-map-summary article { display: flex; min-height: 5.5rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-right: 1px solid var(--line); }
.routing-map-summary article:last-child { border-right: 0; }
.routing-map-summary span { color: var(--muted); font-size: .62rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.routing-map-summary strong { color: var(--blue); font-family: var(--display); font-size: 1.75rem; font-weight: 500; }
.routing-map-legend { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; padding: 1rem 1.2rem; border-left: 5px solid var(--amber); background: #fff; }
.routing-map-legend > div { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .65rem; }
.routing-map-legend p { margin: .08rem 0 0; color: var(--ink); font-size: .65rem; font-weight: 400; line-height: 1.45; }
.routing-key { padding: .3rem .42rem; border: 1px solid var(--blue); color: var(--blue); font-size: .55rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.routing-key--choice { border-color: var(--amber); color: #5d4500; background: #fff5d2; }
.routing-key--role { border-color: var(--line); color: var(--ink); background: #f4f4f7; }
.routing-map-list { display: grid; gap: 1.35rem; margin-top: 1rem; }
.routing-diagram { border-top: 7px solid var(--blue); background: #fff; box-shadow: 0 12px 36px rgba(0,15,159,.06); }
.routing-diagram__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; border-bottom: 1px solid var(--line); }
.routing-diagram__identity { display: flex; align-items: center; gap: .8rem; }
.routing-diagram__identity > span { display: grid; min-width: 3rem; height: 3rem; place-items: center; padding: .3rem; color: #fff; background: var(--blue); font-size: .56rem; font-weight: 700; letter-spacing: .04em; }
.routing-diagram__identity h2 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.routing-diagram__identity p { margin: .2rem 0 0; color: var(--muted); font-size: .64rem; }
.routing-diagram__status { display: inline-flex; align-items: center; gap: .5rem; padding: .42rem .6rem; color: var(--green); background: #e9f6f0; font-size: .6rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.routing-diagram__status i { width: .45rem; height: .45rem; border-radius: 50%; background: var(--green); }
.routing-diagram__status.is-inactive { color: var(--red); background: #fff0ef; }
.routing-diagram__status.is-inactive i { background: var(--red); }
.routing-flow { display: grid; grid-template-columns: minmax(6rem,.55fr) 1.5rem minmax(11rem,1fr) 1.5rem minmax(11rem,1fr) 1.5rem minmax(11rem,1fr) 1.5rem minmax(6rem,.55fr); align-items: stretch; padding: 1.4rem; background-image: linear-gradient(rgba(0,15,159,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0,15,159,.025) 1px, transparent 1px); background-size: 20px 20px; }
.routing-flow__connector { display: grid; place-items: center; color: var(--blue); font-size: 1.05rem; font-weight: 700; }
.routing-flow__terminal { display: flex; min-width: 0; min-height: 9rem; flex-direction: column; align-items: center; justify-content: center; padding: .8rem; border: 1px dashed #abb1ca; color: var(--blue); background: rgba(255,255,255,.86); text-align: center; }
.routing-flow__terminal span { font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.routing-flow__terminal strong { margin-top: .45rem; font-family: var(--display); font-size: .9rem; font-weight: 500; text-transform: uppercase; }
.routing-flow__terminal small { margin-top: .28rem; color: var(--muted); font-size: .56rem; line-height: 1.35; }
.routing-flow__terminal--end { border-style: solid; border-color: var(--green); color: var(--green); background: #eef8f4; }
.routing-stage { position: relative; min-width: 0; padding: 1rem; border: 1px solid #c5c9dc; border-top: 4px solid var(--blue); background: #fff; }
.routing-stage--choice { border-top-color: var(--amber); }
.routing-stage > header { display: flex; align-items: center; gap: .62rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.routing-stage > header > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; color: #fff; background: var(--blue); font-size: .58rem; font-weight: 700; }
.routing-stage > header small, .routing-stage > header h3 { display: block; }
.routing-stage > header small { color: var(--muted); font-size: .52rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.routing-stage > header h3 { margin: .12rem 0 0; color: var(--blue); font-size: .7rem; font-weight: 600; }
.routing-stage__mode { display: inline-block; margin-top: .7rem; padding: .3rem .42rem; color: var(--blue); background: var(--blue-soft); font-size: .52rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.routing-stage__mode.is-choice { color: #5d4500; background: #fff1bf; }
.routing-stage__authority { margin-top: .75rem; padding: .7rem; border-left: 3px solid var(--blue); background: #f6f7fc; }
.routing-stage__authority > span, .routing-stage__authority strong, .routing-stage__authority small { display: block; overflow-wrap: anywhere; }
.routing-stage__authority > span { color: var(--muted); font-size: .5rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.routing-stage__authority strong { margin-top: .25rem; color: var(--ink); font-size: .68rem; font-weight: 600; }
.routing-stage__authority small { margin-top: .15rem; color: var(--muted); font-size: .55rem; }
.routing-stage__authority em, .routing-stage__alternatives em { display: block; margin-top: .4rem; color: var(--red); font-size: .54rem; font-style: normal; font-weight: 600; }
.routing-stage__alternatives { margin-top: .7rem; padding-top: .65rem; border-top: 1px solid var(--line); }
.routing-stage__alternatives > span { color: var(--blue); font-size: .52rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.routing-stage__alternatives > div { display: grid; grid-template-columns: 1.55rem minmax(0, 1fr); align-items: center; gap: .45rem; margin-top: .5rem; }
.routing-stage__alternatives > div > i { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; color: var(--blue); background: var(--amber); font-size: .58rem; font-style: normal; font-weight: 700; }
.routing-stage__alternatives > div strong, .routing-stage__alternatives > div small { display: block; overflow: hidden; text-overflow: ellipsis; }
.routing-stage__alternatives > div strong { color: var(--ink); font-size: .6rem; font-weight: 600; }
.routing-stage__alternatives > div small { margin-top: .08rem; color: var(--muted); font-size: .52rem; }
.routing-stage__alternatives > div em { grid-column: 2; margin-top: 0; }
.routing-stage__alternatives > p { margin: .5rem 0 0; color: #5b4300; font-size: .56rem; line-height: 1.45; }
.routing-stage__locked { display: flex; gap: .4rem; margin: .72rem 0 0; color: var(--muted); font-size: .56rem; line-height: 1.4; }
.routing-stage__locked span { color: var(--green); }
.routing-stage > footer { margin-top: .75rem; padding-top: .55rem; border-top: 1px dashed #c5c9dc; }
.routing-stage > footer span { display: block; color: var(--muted); font-size: .49rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.routing-stage > footer code { display: block; margin-top: .25rem; overflow-wrap: anywhere; color: var(--blue); font-size: .54rem; font-weight: 600; }
.routing-diagram__rule { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .9rem 1.4rem; border-top: 1px solid var(--line); background: #f7f7fa; }
.routing-diagram__rule strong { color: var(--blue); font-size: .6rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.routing-diagram__rule p { margin: 0; color: var(--ink); font-size: .62rem; font-weight: 400; line-height: 1.5; }
.routing-map-empty { padding: 3rem; border-top: 5px solid var(--amber); background: #fff; text-align: center; }
.routing-map-empty strong { color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.routing-map-empty p { margin: .5rem 0 0; color: var(--muted); font-size: .72rem; }
.financial-rule-workspace { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr); gap: 1rem; padding-top: 1.2rem; }
.financial-rule-editor { padding: 1.35rem; border-left: 6px solid var(--blue); background: #f7f8ff; }
.financial-rule-editor > header, .reference-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.financial-rule-editor h3, .reference-editor h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.financial-rule-editor > header > span, .reference-editor > header > span { padding: .38rem .52rem; color: var(--blue); background: var(--blue-soft); font-size: .59rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.financial-formula-field { display: block; margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); background: #fff; }
.financial-formula-field__heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .65rem; }
.financial-formula-field__heading > span { display: flex; align-items: center; gap: .55rem; color: var(--ink); font-size: .72rem; font-weight: 600; }
.financial-formula-field__heading strong { display: grid; width: 1.75rem; height: 1.75rem; place-items: center; color: #fff; background: var(--blue); font-size: .58rem; }
.financial-formula-field__heading small { color: var(--blue); font-size: .6rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.financial-formula-field input { width: 100%; padding: .82rem .9rem; border: 1px solid #aeb4c9; color: #080b18; background: #fcfcff; font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: .74rem; font-weight: 500; }
.financial-formula-field input:focus { outline: 2px solid var(--blue); outline-offset: 1px; border-color: var(--blue); background: #fff; }
.financial-formula-field__variables { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; margin-top: .55rem; color: var(--muted); font-size: .62rem; }
.financial-formula-field code, .formula-syntax-guide code { padding: .16rem .28rem; color: var(--blue); background: var(--blue-soft); font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; font-size: .61rem; font-weight: 600; }
.financial-formula-field > .field__error { display: block; margin-top: .55rem; color: var(--red); font-size: .65rem; }
.formula-syntax-guide { display: grid; grid-template-columns: 8rem 1fr; gap: .8rem; margin-top: 1rem; padding: .85rem 1rem; border: 1px dashed #aeb4c9; color: var(--ink); background: rgba(255,255,255,.6); font-size: .65rem; line-height: 1.55; }
.formula-syntax-guide > strong { color: var(--blue); font-weight: 600; text-transform: uppercase; }
.financial-rule-editor > footer, .reference-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.financial-rule-editor > footer p, .reference-editor > footer p { max-width: 34rem; margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.55; }
.financial-rule-editor > footer .button, .reference-editor > footer .button { margin: 0; }
.financial-rule-preview { position: relative; overflow: hidden; padding: 1.45rem; color: #fff; background: var(--blue); }
.financial-rule-preview::after { position: absolute; right: -2.8rem; top: -2.8rem; width: 8rem; height: 8rem; border: 1px solid rgba(255,255,255,.18); content: ""; transform: rotate(45deg); }
.financial-rule-preview h3 { position: relative; margin: .55rem 0 .45rem; font-family: var(--display); font-size: 1.6rem; font-weight: 400; text-transform: uppercase; }
.financial-rule-preview > p:not(.eyebrow) { position: relative; margin: 0; color: rgba(255,255,255,.72); font-size: .68rem; line-height: 1.55; }
.financial-rule-preview dl { position: relative; margin: 1.2rem 0 0; }
.financial-rule-preview dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.financial-rule-preview dt, .financial-rule-preview dd { font-size: .66rem; }
.financial-rule-preview dt { color: rgba(255,255,255,.68); }
.financial-rule-preview dd { margin: 0; font-weight: 600; }
.financial-rule-preview__result { position: relative; margin-top: 1rem; padding: .9rem 0 0; border-top: 3px solid var(--amber); }
.financial-rule-preview__result span, .financial-rule-preview__result strong { display: block; }
.financial-rule-preview__result span { color: rgba(255,255,255,.68); font-size: .59rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.financial-rule-preview__result strong { margin-top: .3rem; font-family: var(--display); font-size: 1.45rem; font-weight: 500; }
.financial-rule-preview__result--mission { border-color: rgba(255,255,255,.35); }
.financial-rule-preview > small { position: relative; display: block; margin-top: 1rem; color: rgba(255,255,255,.6); font-size: .58rem; line-height: 1.5; }
.reference-editor { margin-top: 1.2rem; padding: 1.3rem; border-left: 6px solid var(--amber); background: #fffaf0; }
.reference-editor__fields { display: grid; grid-template-columns: minmax(12rem, .45fr) minmax(16rem, 1fr); gap: 1rem; margin-top: 1rem; }
.reference-editor > footer > div { display: flex; align-items: center; gap: .5rem; }
.reference-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding-top: 1.2rem; }
.reference-columns > div { padding: 1.2rem; border: 1px solid var(--line); }
.reference-list > header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .9rem; border-bottom: 2px solid var(--blue); }
.reference-list > header > div { display: flex; align-items: baseline; gap: .6rem; }
.reference-list > header span { color: var(--muted); font-size: .6rem; }
.reference-list > header .button { margin: 0; }
.reference-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.reference-row:last-child { border-bottom: 0; }
.reference-row.is-inactive { opacity: .72; }
.reference-row__identity > div { display: flex; align-items: center; gap: .45rem; }
.reference-row__identity strong { font-size: .72rem; font-weight: 600; }
.reference-row__identity .status-badge { margin: 0; padding: .2rem .35rem; font-size: .52rem; }
.reference-row__identity p { margin: .25rem 0 0; color: var(--ink); font-size: .67rem; line-height: 1.35; }
.reference-row__identity small { display: block; margin-top: .25rem; color: var(--muted); font-size: .58rem; }
.reference-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: .3rem; }
.reference-row__actions .button { margin: 0; }
.reference-list__empty { margin: 1rem 0 0; color: var(--muted); font-size: .68rem; }
.financial-audit-log .admin-access-log__list article > span { background: var(--blue); }
.status-toggle { padding: .35rem .5rem; border: 1px solid var(--line); color: var(--blue); background: #fff; font-size: .63rem; font-weight: 600; cursor: pointer; }

/* Administration — system time and organisation registry. */
.system-time-admin { padding-top: 0; overflow: hidden; }
.system-time-admin > .admin-section__heading { margin: 0 -1.7rem; padding: 1.7rem; color: #fff; border: 0; background: var(--blue-deep); }
.system-time-admin > .admin-section__heading .eyebrow { color: var(--amber); }
.system-time-admin > .admin-section__heading h2 { color: #fff; }
.system-time-admin > .admin-section__heading > span { color: rgba(255,255,255,.82); }
.system-time-console { display: grid; grid-template-columns: minmax(15rem, .55fr) minmax(25rem, 1.45fr); border: 1px solid var(--line); border-top: 0; }
.system-time-console__clock { display: flex; min-height: 14rem; flex-direction: column; justify-content: center; padding: 1.5rem; color: #fff; background: var(--blue); }
.system-time-console__clock > div { display: flex; align-items: center; gap: .55rem; font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }
.system-time-console__pulse { width: .5rem; height: .5rem; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 5px rgba(239,184,36,.16); }
.system-time-console__clock > time { margin-top: .9rem; font-family: var(--display); font-size: clamp(3rem, 6vw, 5rem); font-weight: 300; line-height: .95; letter-spacing: -.04em; }
.system-time-console__clock > p { margin: .7rem 0 .25rem; color: #fff; font-size: .76rem; }
.system-time-console__clock > small { color: rgba(255,255,255,.7); font-size: .62rem; }
.system-time-console__settings { display: grid; align-content: center; gap: 1.1rem; padding: 1.5rem; background: #f8f8fc; }
.system-time-console__settings h3 { margin: .15rem 0 0; color: var(--blue); font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.system-time-console__settings > div > p:last-child { max-width: 45rem; margin: .55rem 0 0; color: var(--ink); font-size: .7rem; line-height: 1.55; }
.system-time-console__settings select { width: 100%; min-height: 3.1rem; }
.system-time-console__settings footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .95rem; border-top: 1px solid var(--line); }
.system-time-console__settings footer p { margin: 0; color: var(--muted); font-size: .63rem; }
.system-time-console__settings footer .button { margin: 0; }
.system-time-audit { margin-top: 1rem; border-top: 1px solid var(--line); }
.system-time-audit > summary { display: flex; align-items: center; justify-content: space-between; padding: .9rem 0 0; color: var(--blue); font-size: .68rem; font-weight: 600; cursor: pointer; }
.system-time-audit > summary span { color: var(--muted); }

.department-administration { border-top: 7px solid var(--amber); }
.department-editor { margin-top: 1.2rem; border: 1px solid var(--blue); background: #f8f8fc; }
.department-editor > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; color: #fff; background: var(--blue); }
.department-editor > header h3 { margin: .15rem 0 0; color: #fff; font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.department-editor > header > span { padding: .4rem .55rem; border: 1px solid rgba(255,255,255,.35); font-size: .58rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.department-editor__identity { display: grid; grid-template-columns: minmax(12rem, .45fr) minmax(18rem, 1fr); gap: 1rem; padding: 1.35rem; }
.department-editor__route { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: .65rem; padding: 1.35rem; border-top: 1px solid var(--line); background: #fff; }
.department-editor__route > i { color: var(--amber); font-style: normal; font-size: 1.15rem; }
.department-editor__route .field > span { display: flex; align-items: center; gap: .5rem; }
.department-editor__route .field b { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; color: #fff; background: var(--blue); font-size: .52rem; }
.department-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.35rem; border-top: 1px solid var(--line); }
.department-editor > footer p { max-width: 48rem; margin: 0; color: var(--muted); font-size: .66rem; line-height: 1.5; }
.department-editor > footer > div { display: flex; gap: .5rem; }
.department-editor > footer .button { margin: 0; }
.department-registry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: 1.2rem; }
.department-registry > article { border: 1px solid var(--line); border-top: 5px solid var(--blue); background: #fff; }
.department-registry > article.is-retired { border-top-color: #8b91a1; background: #fafafd; }
.department-registry > article > header { display: grid; grid-template-columns: 3.2rem 1fr; gap: .8rem; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.department-registry > article > header > span { display: grid; width: 3rem; height: 3rem; place-items: center; overflow: hidden; color: #fff; background: var(--blue); font-size: .52rem; font-weight: 700; letter-spacing: .04em; }
.department-registry > article.is-retired > header > span { color: var(--blue); background: #e7e8ee; }
.department-registry > article > header > div > div { display: flex; align-items: center; gap: .55rem; }
.department-registry h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.05rem; font-weight: 500; text-transform: uppercase; }
.department-registry > article > header p { margin: .3rem 0 0; color: var(--muted); font-size: .61rem; }
.department-registry ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 1rem 1.1rem; list-style: none; }
.department-registry li { display: grid; grid-template-columns: 1.75rem 1fr; align-items: center; gap: .45rem; padding-right: .6rem; }
.department-registry li + li { padding-left: .6rem; border-left: 1px solid var(--line); }
.department-registry li b { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; color: var(--blue); background: var(--amber); font-size: .5rem; }
.department-registry li small, .department-registry li strong { display: block; }
.department-registry li small { color: var(--muted); font-size: .51rem; text-transform: uppercase; }
.department-registry li strong { margin-top: .12rem; overflow: hidden; font-size: .62rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.department-registry > article > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.1rem; border-top: 1px solid var(--line); background: #f8f8fb; }
.department-registry > article > footer p { margin: 0; color: var(--muted); font-size: .6rem; }
.department-registry > article > footer .button { margin: 0; }
.department-registry__warning { margin: 0; padding: 1rem 1.1rem; color: var(--red); font-size: .65rem; }
.department-audit-log .admin-access-log__list article > span { background: var(--blue); }

.notification-list { padding-bottom: 1.7rem; }
.notification-row { display: grid; grid-template-columns: .7rem 1fr auto; align-items: center; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.notification-row__mark { width: .55rem; height: .55rem; border-radius: 50%; background: var(--line); }
.notification-row.is-unread .notification-row__mark { background: var(--amber); box-shadow: 0 0 0 4px rgba(239,184,36,.16); }
.notification-row strong { font-size: .8rem; font-weight: 600; }
.notification-row p { margin: .3rem 0; color: #34394e; font-size: .74rem; }
.notification-row small { color: var(--muted); font-size: .64rem; }
.notification-row > div:last-child { display: flex; align-items: center; gap: .4rem; }

/* Persisted and calculated values stay visually distinct from labels and help text. */
.persona-card__body small,
.account small,
.draft-summary p,
.review-grid article:not(.review-grid__total) small,
.review-section,
.mission-row__identity p,
.recent-list p,
.detail-overview article:not(.detail-overview__total) small,
.detail-card__copy,
.detail-lines small,
.budget-table,
.budget-table td small,
.approval-row__stage small,
.approval-row__mission p,
.approval-row__mission small,
.approval-version li small,
.approval-version li p,
.approval-version time,
.admin-user__identity small,
.notification-row p,
.notification-row small {
    color: var(--ink);
    font-weight: 400;
}

@media (max-width: 1280px) {
    .account > span:not(.account__avatar), .environment-pill { display: none; }
    .topbar__actions { gap: .8rem; }
    .page-header:has(.portfolio-scope) { min-height: 0; align-items: flex-start; flex-direction: column; padding: 2.5rem; }
    .page-header:has(.portfolio-scope) > div:first-child { min-width: 0; max-width: 100%; }
    .portfolio-scope { width: 100%; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.35); border-left: 0; }
    .portfolio-export-panel { grid-template-columns: 1fr; }
    .list-toolbar { align-items: stretch; flex-direction: column; }
    .list-toolbar__filters { display: grid; grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(10rem, 1fr)); }
    .mission-row--oversight { grid-template-columns: 1fr auto; }
    .mission-row--oversight .mission-row__facts { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 960px) {
    .auth-grid { grid-template-columns: 1fr; }
    .auth-story { min-height: 38rem; }
    .auth-shell--minimal .auth-story { min-height: auto; padding: 2rem; }
    .auth-shell--minimal .auth-grid { grid-template-rows: auto 1fr; }
    .auth-panel { padding: 4rem 2rem; }
    .metric-grid { grid-template-columns: repeat(2, 1fr); }
    .metric-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .activity-search { min-width: min(28rem, 48vw); }
    .mission-form { grid-template-columns: 1fr; }
    .mission-row, .mission-row--oversight { grid-template-columns: 1fr auto; }
    .mission-row__facts { grid-column: 1 / -1; grid-row: 2; }
    .list-toolbar { align-items: stretch; flex-direction: column; }
    .list-toolbar__filters { display: grid; grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(10rem, 1fr)); }
    .review-grid, .detail-overview, .category-totals { grid-template-columns: repeat(2, 1fr); }
    .review-grid article:nth-child(2), .detail-overview article:nth-child(2) { border-right: 0; }
    .review-grid article, .detail-overview article { border-bottom: 1px solid var(--line); }
    .detail-grid { min-width: 0; grid-template-columns: minmax(0, 1fr); }
    .detail-grid > * { min-width: 0; }
    .detail-card--full { grid-column: auto; }
    .itinerary-timeline article { grid-template-columns: minmax(10rem, .85fr) 1fr auto; }
    .approval-timeline ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 0; }
    .approval-row { grid-template-columns: minmax(12rem, .85fr) minmax(15rem, 1.15fr) auto; }
    .approval-row dl { grid-column: 1 / 3; grid-row: 2; }
    .review-workspace { grid-template-columns: 1fr; }
    .decision-card { position: static; }
    .financial-rule-workspace { grid-template-columns: 1fr; }
    .smtp-workspace { grid-template-columns: 1fr; }
    .smtp-test-panel { min-height: 26rem; }
    .system-time-console { grid-template-columns: minmax(13rem, .6fr) minmax(20rem, 1.4fr); }
    .department-registry { grid-template-columns: 1fr; }
    .department-editor__route { grid-template-columns: 1fr; }
    .department-editor__route > i { justify-self: center; transform: rotate(90deg); }
    .admin-user-list > article { grid-template-columns: 1fr; }
    .admin-user__actions { justify-content: flex-start; }
    .route-grid { grid-template-columns: repeat(2, 1fr); }
    .route-grid--policies { grid-template-columns: 1fr; }
    .route-policy__stages { grid-template-columns: 1fr; }
    .route-policy__stage { border-right: 0; border-bottom: 1px solid var(--line); }
    .route-policy__stage:last-child { border-bottom: 0; }
    .workflow-permission-guide__body { grid-template-columns: 1fr; }
    .workflow-permission-guide__eligibility { border-top: 1px solid var(--line); border-left: 0; }
    .workflow-permission-guide__footer { align-items: flex-start; flex-direction: column; }
    .workflow-permission-guide__footer nav { width: 100%; }
    .routing-command-layout { grid-template-columns: 12rem minmax(0, 1fr); }
    .route-stage-flow { grid-template-columns: 1fr; gap: .45rem; }
    .route-stage-flow__connector { min-height: 1rem; transform: rotate(90deg); }
    .route-stage-flow button { grid-template-columns: 2rem minmax(0,1fr) auto; }
    .route-policy__authority-summary { grid-template-columns: 1fr; }
    .route-policy__authority-summary > span { border-right: 0; border-bottom: 1px solid var(--line); }
    .route-policy__authority-summary > span:last-child { border-bottom: 0; }
    .routing-live-timeline { grid-template-columns: 1fr; gap: .65rem; }
    .routing-live-timeline li:not(:last-child)::after { top: 1.5rem; bottom: -.65rem; left: .86rem; width: 1px; height: auto; }
    .submission-route__stages { grid-template-columns: 1fr; }
    .submission-route__stage { border-right: 0; border-bottom: 1px solid var(--line); }
    .submission-route__stage:last-child { border-bottom: 0; }
    .routing-map-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .routing-map-summary article:nth-child(2) { border-right: 0; }
    .routing-map-summary article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .routing-map-legend { grid-template-columns: 1fr; }
    .routing-flow { grid-template-columns: 1fr; gap: .45rem; }
    .routing-flow__connector { min-height: 1.5rem; transform: rotate(90deg); }
    .routing-flow__terminal { min-height: 6rem; }
    .account > span:not(.account__avatar), .environment-pill { display: none; }
}

@media (max-width: 620px) {
    .auth-story { min-height: 32rem; padding: 2rem; }
    .auth-story__copy { padding: 3rem 0; }
    .brand-lockup__logo-panel { width: 5rem; height: 5rem; }
    .brand-lockup__logo-panel img { width: 3.9rem; height: 3.9rem; }
    .persona-list, .metric-grid { grid-template-columns: 1fr; }
    .topbar { align-items: flex-start; gap: 1rem; padding-top: 1.2rem; padding-bottom: 1.2rem; }
    .brand-lockup--header span, .account { display: none; }
    .section-nav { gap: 1.2rem; overflow-x: auto; }
    .welcome-band { align-items: flex-start; flex-direction: column; gap: 2rem; padding: 2rem; }
    .panel__heading:has(.activity-controls) { gap: 1rem; flex-direction: column; }
    .activity-controls { width: 100%; align-items: stretch; flex-direction: column; }
    .activity-search { min-width: 0; }
    .activity-controls .button { width: 100%; }
    .mission-editor__header { align-items: flex-start; flex-direction: column-reverse; padding: 2rem; }
    .draft-summary { align-items: flex-start; flex-direction: column; }
    .form-grid { grid-template-columns: 1fr; }
    .field--wide { grid-column: auto; }
    .page-header { align-items: flex-start; flex-direction: column; padding: 2rem; }
    .page-header > div:first-child { min-width: 0; max-width: 100%; }
    .page-header h1, .mission-editor__header h1 { font-size: clamp(2rem, 10vw, 2.7rem); overflow-wrap: anywhere; }
    .page-header__status { width: 100%; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.3); border-left: 0; }
    .page-header__exports { grid-template-columns: 1fr; }
    .page-header__exports--wide { grid-column: auto; }
    .approval-proof { grid-template-columns: 1fr; }
    .approval-proof img { width: 100%; height: 6rem; }
    .approval-proof dl { grid-template-columns: 1fr; }
    .wizard-progress button { min-height: 5rem; padding: .65rem; font-size: .65rem; text-align: center; }
    .wizard-progress button span { display: grid; margin: 0 auto .35rem; }
    .wizard-panel { padding: 1.25rem; }
    .repeater-heading, .wizard-actions, .list-toolbar { align-items: stretch; flex-direction: column; }
    .list-toolbar__filters { grid-template-columns: 1fr; }
    .filter-field, .filter-field--search { min-width: 0; }
    .portfolio-export-panel__controls { grid-template-columns: 1fr; }
    .portfolio-export-panel__actions { grid-template-columns: 1fr; }
    .repeater-card { grid-template-columns: 1fr; }
    .repeater-card__fields { grid-column: 1; }
    .repeater-card > .icon-button { grid-column: 1; justify-self: end; }
    .repeater-card__fields, .review-columns, .review-grid, .detail-overview, .category-totals { grid-template-columns: 1fr; }
    .other-costs-editor__heading { align-items: stretch; flex-direction: column; }
    .other-cost-row { grid-template-columns: 1fr; }
    .funding-grid { grid-column: auto; grid-template-columns: 1fr; }
    .funding-grid__cost-center, .funding-grid__source, .funding-grid__detail, .funding-grid__budget { grid-column: 1; grid-row: auto; }
    .other-cost-row .icon-button { justify-self: end; }
    .review-grid article, .detail-overview article { border-right: 0; }
    .traveler-card > header { align-items: flex-start; }
    .traveler-card > header > div:last-child { align-items: flex-end; flex-direction: column; }
    .wizard-actions > div { justify-content: space-between; }
    .mission-row { grid-template-columns: 1fr; gap: 1rem; }
    .mission-row__facts, .mission-row__facts--oversight { grid-column: auto; grid-row: auto; grid-template-columns: 1fr; }
    .mission-row__action .button { width: 100%; }
    .approval-row { grid-template-columns: 1fr; }
    .approval-row dl { grid-column: auto; grid-row: auto; grid-template-columns: 1fr; }
    .approval-row > .button { width: 100%; }
    .decision-routing__heading { align-items: stretch; flex-direction: column; }
    .decision-routing__heading .button { width: 100%; margin: 0; }
    .decision-routing__step { align-self: flex-start; }
    .decision-routing__actions { align-items: stretch; flex-direction: column-reverse; }
    .decision-routing__actions .button { width: 100%; }
    .route-policy > footer { align-items: stretch; flex-direction: column; }
    .route-policy > footer .button { width: 100%; }
    .route-policy__save-actions { align-items: stretch; flex-direction: column; }
    .route-policy__saved { justify-content: center; padding: .45rem 0; }
    .route-policy__summary { align-items: flex-start; flex-direction: column; }
    .route-policy__summary strong { text-align: left; }
    .workflow-permission-guide__header { flex-direction: column; gap: 1rem; }
    .workflow-permission-guide__timing, .workflow-authority-grid { grid-template-columns: 1fr; }
    .workflow-permission-guide__timing article { border-right: 0; border-bottom: 1px solid var(--line); }
    .workflow-permission-guide__timing article:last-child { border-bottom: 0; }
    .workflow-permission-guide__authorities, .workflow-permission-guide__eligibility { padding: 1.1rem; }
    .workflow-permission-guide__footer nav { align-items: stretch; flex-direction: column; }
    .workflow-permission-guide__footer .button { width: 100%; }
    .routing-workspace-tabs { grid-template-columns: 1fr; }
    .routing-workspace-tabs button { border-right: 0; border-bottom: 1px solid var(--line); }
    .routing-workspace-tabs button:last-child { border-bottom: 0; }
    .routing-command-layout { grid-template-columns: 1fr; }
    .routing-department-nav { position: static; border-right: 0; border-bottom: 1px solid var(--line); }
    .routing-department-nav nav { display: flex; overflow-x: auto; }
    .routing-department-nav nav button { min-width: 14rem; border-right: 1px solid var(--line); }
    .routing-department-nav nav button.is-active { box-shadow: inset 0 -4px 0 var(--blue); }
    .routing-department-nav > footer { display: none; }
    .routing-context-bar, .routing-switch-warning { align-items: flex-start; flex-direction: column; }
    .routing-context-bar__status { max-width: none; text-align: left; }
    .routing-switch-warning > div:last-child { width: 100%; flex-direction: column; }
    .routing-switch-warning .button { width: 100%; }
    .routing-scope-notice { grid-template-columns: 1fr; }
    .routing-scope-notice > span { justify-self: start; }
    .route-stage-flow { padding: .8rem; }
    .route-policy__legacy-warning li, .route-policy__excluded article { align-items: flex-start; flex-direction: column; }
    .route-policy__legacy-warning li span, .route-policy__excluded article p { text-align: left; }
    .routing-live-card > header, .routing-live-card > footer { align-items: stretch; flex-direction: column; }
    .routing-live-card > header > div:last-child { text-align: left; }
    .routing-live-card > footer .button { width: 100%; }
    .admin-section__heading-actions { align-items: stretch; flex-direction: column; }
    .admin-section__heading-actions .button { width: 100%; }
    .routing-map-hero__stamp { width: 100%; padding: 1rem 0 0; border-top: 1px solid rgba(255,255,255,.35); border-left: 0; text-align: left; }
    .routing-map-summary article { min-height: 4.6rem; padding: .8rem; }
    .routing-map-summary span { font-size: .54rem; }
    .routing-map-summary strong { font-size: 1.35rem; }
    .routing-diagram__header { align-items: flex-start; flex-direction: column; }
    .routing-diagram__status { align-self: flex-start; }
    .routing-flow { padding: .85rem; }
    .routing-diagram__rule { grid-template-columns: 1fr; gap: .4rem; }
    .submission-route__heading { align-items: flex-start; flex-direction: column; }
    .approval-continuity { grid-template-columns: 1fr; }
    .approval-continuity__marker { min-height: 2.7rem; }
    .approval-continuity__heading { align-items: stretch; flex-direction: column; }
    .approval-continuity__heading .button { width: 100%; }
    .approval-continuity__form { grid-template-columns: 1fr; }
    .approval-continuity__evidence, .approval-continuity__form footer { grid-column: 1; }
    .approval-continuity__form footer { align-items: stretch; flex-direction: column-reverse; }
    .approval-continuity__form footer .button { width: 100%; }
    .approval-version { grid-template-columns: 1fr; }
    .approval-version li { grid-template-columns: 2.5rem 1fr; }
    .approval-version time { grid-column: 2; }
    .notification-pill { display: none; }
    .admin-status-grid, .route-grid, .reference-columns, .smtp-status-rail, .smtp-form-grid, .smtp-activation-control, .system-time-console, .department-editor__identity, .demo-access-console { grid-template-columns: 1fr; }
    .integration-card dl { grid-template-columns: 1fr; }
    .admin-section__heading, .admin-section__tools, .admin-user-editor > header, .admin-user-editor > footer, .financial-rule-editor > header, .financial-rule-editor > footer, .reference-editor > header, .reference-editor > footer, .smtp-configuration-panel > header, .smtp-configuration-panel > footer { align-items: stretch; flex-direction: column; }
    .smtp-status-rail > div { border-right: 0; border-bottom: 1px solid var(--line); }
    .smtp-status-rail > div:last-child { border-bottom: 0; }
    .smtp-configuration-panel > footer .button { width: 100%; }
    .system-time-console__settings footer, .department-editor > header, .department-editor > footer, .department-registry > article > footer { align-items: stretch; flex-direction: column; }
    .demo-access-policy > header, .demo-access-policy > footer { align-items: stretch; flex-direction: column; }
    .demo-access-policy > footer .button { width: 100%; }
    .demo-access-gates { grid-template-columns: 1fr; }
    .demo-access-gates > div + div { border-top: 1px solid var(--line); border-left: 0; }
    .system-time-console__settings footer .button, .department-editor > footer .button { width: 100%; }
    .department-editor > footer > div { flex-direction: column-reverse; }
    .department-registry ol { grid-template-columns: 1fr; gap: .55rem; }
    .department-registry li + li { padding-top: .55rem; padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
    .admin-section__tools .button { width: 100%; }
    .admin-user-editor > footer div { justify-content: space-between; }
    .reference-editor__fields, .formula-syntax-guide { grid-template-columns: 1fr; }
    .reference-editor > footer > div { justify-content: space-between; }
    .financial-rule-editor > footer .button { width: 100%; }
    .reference-row { grid-template-columns: 1fr; }
    .reference-row__actions { justify-content: flex-start; flex-wrap: wrap; }
    .admin-role-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
    .admin-user__actions { align-items: stretch; flex-direction: column; }
    .admin-access-log__list article { grid-template-columns: .55rem 1fr; }
    .admin-access-log__list time { grid-column: 2; }
    .notification-row { grid-template-columns: .7rem 1fr; }
    .notification-row > div:last-child { grid-column: 2; align-items: stretch; flex-direction: column; }
    .itinerary-timeline article { grid-template-columns: 1fr; align-items: start; }
    .itinerary-timeline .risk-badge { justify-self: start; }
    .approval-timeline__header { flex-direction: column; }
    .approval-timeline__actions { width: 100%; align-items: stretch; flex-direction: column; }
    .approval-timeline__reassign { width: 100%; text-align: center; }
    .approval-timeline__header > div, .approval-timeline li > div { min-width: 0; }
    .approval-timeline h2, .approval-timeline li em, .approval-continuity h2, .approval-continuity p { overflow-wrap: anywhere; }
    .approval-timeline ol { grid-template-columns: 1fr; gap: 1.2rem; }
    .approval-timeline li { min-height: 4.25rem; padding-right: 0; }
    .approval-timeline li::before { top: 2.35rem; right: auto; bottom: -1.2rem; left: 1.15rem; width: 1px; height: auto; }
}

.email-workspace-tabs { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 -1.7rem 1.7rem; border-bottom: 1px solid var(--line); background: #f7f7fa; }
.email-workspace-tabs button { min-height: 3.6rem; padding: .9rem 1rem; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: transparent; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.email-workspace-tabs button:last-child { border-right: 0; }
.email-workspace-tabs button.is-active { color: var(--blue); background: #fff; box-shadow: inset 0 -4px var(--amber); }
.email-template-workspace { display: grid; grid-template-columns: 15rem minmax(26rem, 1fr) minmax(20rem, .72fr); gap: 1rem; align-items: start; }
.email-template-catalog { border: 1px solid var(--line); background: #f8f8fb; }
.email-template-catalog > .eyebrow { padding: 1rem 1rem 0; }
.email-template-catalog__group > strong { display: block; padding: .85rem 1rem .45rem; color: var(--muted); font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; }
.email-template-catalog__group button { display: grid; gap: .25rem; width: 100%; padding: .78rem 1rem; border: 0; border-top: 1px solid #e5e6ee; color: var(--blue); background: transparent; text-align: left; cursor: pointer; }
.email-template-catalog__group button span { font-size: .75rem; font-weight: 600; }
.email-template-catalog__group button small { color: var(--muted); font-size: .62rem; }
.email-template-catalog__group button.is-active { color: #fff; background: var(--blue); box-shadow: inset 5px 0 var(--amber); }
.email-template-catalog__group button.is-active small { color: rgba(255,255,255,.75); }
.email-template-editor { border: 1px solid var(--line); background: #fff; }
.email-template-editor > header, .email-template-editor > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; }
.email-template-editor > header { border-bottom: 1px solid var(--line); }
.email-template-editor > header h3 { margin: 0; color: var(--blue); font-family: var(--display); font-size: 1.25rem; font-weight: 500; text-transform: uppercase; }
.email-template-editor > header > span { color: var(--muted); font-size: .62rem; }
.email-template-editor__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.2rem; background: #fafafd; }
.email-template-editor__fields .field { display: grid; gap: .4rem; }
.email-template-editor__fields .field > span { color: var(--blue); font-size: .68rem; font-weight: 600; }
.email-template-editor__fields input, .email-template-editor__fields textarea { width: 100%; padding: .75rem; border: 1px solid var(--line); color: var(--ink); background: #fff; resize: vertical; }
.email-template-editor__fields input:focus, .email-template-editor__fields textarea:focus { border-color: var(--blue); outline: 0; box-shadow: inset 3px 0 var(--blue); }
.email-template-editor__fields .field--wide { grid-column: 1 / -1; }
.email-variable-bank { display: flex; flex-wrap: wrap; gap: .45rem; padding: 1rem 1.2rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.email-variable-bank > span { width: 100%; margin-bottom: .2rem; color: var(--muted); font-size: .63rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.email-variable-bank code { padding: .35rem .5rem; color: var(--blue); background: var(--blue-soft); font-size: .68rem; }
.email-template-editor > footer > div { display: flex; gap: .5rem; }
.email-template-editor > footer .button { margin: 0; }
.email-template-preview { position: sticky; top: 1rem; border: 1px solid #c9cce0; background: #ececf2; box-shadow: 0 18px 42px rgba(0,15,159,.1); }
.email-template-preview__render { max-height: 850px; overflow: auto; background: #f2f2ef; }
.email-template-preview.is-mobile .email-template-preview__render { max-width: 390px; margin-inline: auto; }
.email-template-preview__caption, .email-template-test-feedback { padding: 1rem; margin: 0; font-size: .78rem; line-height: 1.6; }
.email-template-test-feedback { border-top: 1px solid var(--line); }
.email-template-test-feedback [role="status"] { color: var(--blue); font-weight: 600; }
.email-template-test-feedback p { margin: .4rem 0; }
.email-template-preview__device-switch { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; padding: .5rem; background: #fff; }
.email-template-preview__device-switch button { padding: .55rem; border: 1px solid var(--line); color: var(--muted); background: #fff; font-size: .62rem; font-weight: 600; text-transform: uppercase; cursor: pointer; }
.email-template-preview__device-switch button.is-active { border-color: var(--blue); color: #fff; background: var(--blue); }
.email-template-preview__browser { display: flex; align-items: center; gap: .35rem; min-height: 2.3rem; padding: .55rem .7rem; color: var(--muted); background: #dadbe5; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.email-template-preview__browser i { width: .45rem; height: .45rem; border-radius: 50%; background: #b5b7c5; }
.email-template-preview__browser i:first-child { background: var(--amber); }
.email-template-preview__browser span { margin-left: auto; }
.email-template-preview__paper { margin: 1rem; padding: 2rem; color: var(--ink); background: #fff; }
.email-template-preview__paper img { width: 4.2rem; height: 4.2rem; margin-bottom: 2rem; object-fit: contain; }
.email-template-preview__paper > small { display: block; padding-bottom: .8rem; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .62rem; }
.email-template-preview__paper h3 { margin: 1.4rem 0 .8rem; color: var(--blue); font-family: var(--display); font-size: 1.45rem; font-weight: 500; text-transform: uppercase; }
.email-template-preview__paper p { font-size: .78rem; line-height: 1.65; }
.email-template-preview__button { display: inline-flex; margin: 1rem 0; padding: .8rem 1rem; color: #fff; background: var(--blue); font-size: .72rem; font-weight: 600; }
.email-template-preview__paper footer { margin-top: 1.2rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .62rem; line-height: 1.5; }
.email-template-preview.is-mobile .email-template-preview__paper { max-width: 17rem; margin-right: auto; margin-left: auto; padding: 1.25rem; }
.email-template-preview.is-mobile .email-template-preview__paper img { width: 3.2rem; height: 3.2rem; margin-bottom: 1.25rem; }
.email-template-preview.is-mobile .email-template-preview__paper h3 { font-size: 1.15rem; }
.email-template-preview.is-mobile .email-template-preview__button { display: flex; justify-content: center; text-align: center; }
.email-trigger-intro, .email-log-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: 1.3rem; border-left: 6px solid var(--amber); background: #f8f8fb; }
.email-trigger-intro h3, .email-log-toolbar h3 { margin: 0 0 .4rem; font-family: var(--display); font-size: 1.35rem; font-weight: 500; text-transform: uppercase; }
.email-trigger-intro p, .email-log-toolbar p { max-width: 52rem; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.email-trigger-intro > span { color: var(--blue); font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.email-trigger-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
.email-trigger-grid > section { border: 1px solid var(--line); }
.email-trigger-grid > section > header { display: flex; justify-content: space-between; padding: 1rem; color: #fff; background: var(--blue); }
.email-trigger-grid > section > header span { color: rgba(255,255,255,.72); font-size: .65rem; }
.email-trigger-grid article { display: grid; grid-template-columns: .6rem 1fr auto; align-items: center; gap: .8rem; min-height: 5rem; padding: .8rem 1rem; border-bottom: 1px solid var(--line); }
.email-trigger-grid article:last-child { border-bottom: 0; }
.email-trigger-grid article > div strong, .email-trigger-grid article > div small { display: block; }
.email-trigger-grid article > div strong { color: var(--blue); font-size: .78rem; }
.email-trigger-grid article > div small { margin-top: .3rem; color: var(--muted); font-size: .63rem; line-height: 1.4; }
.email-trigger__signal { width: .55rem; height: .55rem; border-radius: 50%; background: #b8bbc8; }
.email-trigger__signal.is-active { background: var(--green); box-shadow: 0 0 0 4px rgba(29,117,86,.12); }
.email-log-toolbar > div:last-child { display: flex; gap: .7rem; }
.email-log-toolbar__filters { flex-wrap: wrap; justify-content: flex-end; max-width: 50rem; }
.email-log-toolbar label { display: grid; gap: .35rem; }
.email-log-toolbar label span { color: var(--muted); font-size: .6rem; font-weight: 600; text-transform: uppercase; }
.email-log-toolbar select, .email-log-toolbar input { min-width: 10rem; padding: .65rem; border: 1px solid var(--line); color: var(--ink); background: #fff; }
.email-delivery-table { overflow-x: auto; border: 1px solid var(--line); }
.email-delivery-table table { width: 100%; border-collapse: collapse; }
.email-delivery-table th, .email-delivery-table td { padding: .8rem; border-bottom: 1px solid var(--line); color: var(--ink); font-size: .7rem; text-align: left; vertical-align: top; }
.email-delivery-table th { color: var(--blue); background: #f3f3f8; font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.email-delivery-table td strong, .email-delivery-table td small { display: block; }
.email-delivery-table td small { margin-top: .25rem; color: var(--red); font-size: .6rem; }
.admin-user__access-meta { margin-top: .3rem; color: var(--muted); }
.admin-user-list > article { grid-template-columns: minmax(17rem, .9fr) minmax(15rem, .8fr) minmax(24rem, 1.2fr); }
.admin-user__actions { flex-wrap: wrap; }

@media (max-width: 1180px) {
    .email-template-workspace { grid-template-columns: 14rem 1fr; }
    .email-template-preview { position: static; grid-column: 2; }
    .email-trigger-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .email-workspace-tabs { grid-template-columns: repeat(2, 1fr); }
    .email-workspace-tabs button:nth-child(2) { border-right: 0; }
    .email-template-workspace { grid-template-columns: 1fr; }
    .email-template-preview { grid-column: 1; }
    .email-template-editor__fields { grid-template-columns: 1fr; }
    .email-template-editor__fields .field--wide { grid-column: 1; }
    .email-template-editor > header, .email-template-editor > footer, .email-trigger-intro, .email-log-toolbar { align-items: stretch; flex-direction: column; }
    .email-template-editor > footer > div, .email-log-toolbar > div:last-child { flex-direction: column; }
    .email-template-editor > footer .button, .email-log-toolbar select, .email-log-toolbar input { width: 100%; }
    .email-trigger-grid article { grid-template-columns: .6rem 1fr; }
    .email-trigger-grid article > .button, .email-trigger-grid article > .status-badge { grid-column: 2; justify-self: start; }
    .admin-user-list, .admin-user-list > article, .admin-user__identity, .admin-role-badges, .admin-user__actions { min-width: 0; max-width: 100%; }
    .admin-user-list > article { grid-template-columns: minmax(0, 1fr); }
    .admin-user__actions { width: 100%; }
    .admin-user__actions .button { width: 100%; }
    .routing-command-layout, .routing-command-main, .routing-department-nav { min-width: 0; max-width: 100%; }
}

.auth-panel:has(.diagnostic-form) { justify-content: flex-start; overflow-y: auto; padding-top: 3rem; padding-bottom: 3rem; }
.diagnostic-flag { margin-bottom: 2rem; }
.diagnostic-header h2 { max-width: 14ch; }
.diagnostic-header > p:last-child { margin-bottom: 1.4rem; }
.diagnostic-mode-switch { display: grid; grid-template-columns: 1fr 1fr; width: min(100%, 46rem); margin: -1rem 0 1.3rem; border: 1px solid var(--line); background: #f7f7fa; }
.diagnostic-mode-switch a { display: flex; align-items: center; justify-content: center; min-height: 3.15rem; padding: .7rem 1rem; border-right: 1px solid var(--line); color: var(--muted); font-size: .66rem; font-weight: 600; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.diagnostic-mode-switch a:last-child { border-right: 0; }
.diagnostic-mode-switch a.is-active { color: #fff; background: var(--blue); box-shadow: inset 0 -4px var(--amber); }
.oauth-diagnostic-header h2 { max-width: 18ch; }
.oauth-diagnostic-map { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100%, 46rem); margin: 0 0 1.3rem; border: 1px solid var(--line); background: #fff; }
.oauth-diagnostic-map article { display: grid; grid-template-columns: 2.2rem 1fr; gap: .7rem; min-height: 5.3rem; padding: .9rem; border-right: 1px solid var(--line); }
.oauth-diagnostic-map article:last-child { border-right: 0; }
.oauth-diagnostic-map article > span, .oauth-form-section > header > span { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; color: var(--blue); border: 1px solid var(--blue); font-size: .62rem; font-weight: 600; }
.oauth-diagnostic-map strong, .oauth-diagnostic-map small { display: block; }
.oauth-diagnostic-map strong { margin-top: .1rem; color: var(--blue); font-size: .72rem; text-transform: uppercase; }
.oauth-diagnostic-map small { margin-top: .35rem; color: var(--muted); font-size: .61rem; line-height: 1.4; }
.oauth-diagnostic-form { display: grid; gap: 1rem; }
.oauth-form-section { display: grid; gap: 1rem; padding: 1rem; border: 1px solid var(--line); background: #fff; }
.oauth-form-section > header { display: grid; grid-template-columns: 2.2rem 1fr; gap: .8rem; align-items: center; padding-bottom: .85rem; border-bottom: 1px solid var(--line); }
.oauth-form-section > header strong, .oauth-form-section > header small { display: block; }
.oauth-form-section > header strong { color: var(--blue); font-size: .75rem; text-transform: uppercase; }
.oauth-form-section > header small { margin-top: .2rem; color: var(--muted); font-size: .62rem; line-height: 1.4; }
.oauth-form-section .field small { color: var(--muted); font-size: .62rem; line-height: 1.45; }
.oauth-form-section .field small strong { color: var(--blue); }
.diagnostic-form__actions.oauth-diagnostic-actions { grid-template-columns: repeat(3, 1fr); }
.oauth-diagnostic-result .diagnostic-result__configuration dl { grid-template-columns: 1fr 1fr; }
.diagnostic-warning { display: grid; gap: .35rem; width: min(100%, 46rem); margin-bottom: 1.3rem; padding: 1rem 1.2rem; border-left: 5px solid var(--amber); color: var(--muted); background: #fff8e8; font-size: .73rem; line-height: 1.5; }
.diagnostic-warning strong { color: #725100; font-size: .8rem; }
.diagnostic-warning small { margin-top: .25rem; color: var(--blue); font-size: .64rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.diagnostic-errors { width: min(100%, 46rem); margin: 0 0 1rem; }
.diagnostic-errors strong { display: block; margin-bottom: .4rem; }
.diagnostic-errors ul { margin: 0; padding-left: 1.1rem; }
.diagnostic-form { width: min(100%, 46rem); padding: 1.25rem; border: 1px solid var(--line); background: #fafafd; }
.diagnostic-form__pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.diagnostic-form__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; padding-top: .3rem; }
.diagnostic-form__actions .button { width: 100%; margin: 0; }
.diagnostic-result { width: min(100%, 46rem); margin-top: 1.3rem; border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 42px rgba(0,15,159,.08); }
.diagnostic-result.is-success { border-top: 6px solid var(--green); }
.diagnostic-result.is-failure { border-top: 6px solid var(--red); }
.diagnostic-result > header { display: grid; grid-template-columns: 2.7rem 1fr; gap: 1rem; align-items: start; padding: 1.25rem; border-bottom: 1px solid var(--line); }
.diagnostic-result__signal { display: grid; width: 2.7rem; height: 2.7rem; place-items: center; color: #fff; background: var(--green); font-size: 1.25rem; font-weight: 600; }
.diagnostic-result.is-failure .diagnostic-result__signal { background: var(--red); }
.diagnostic-result > header .eyebrow { margin-bottom: .35rem; }
.diagnostic-result > header h3 { margin: 0; color: var(--ink); font-family: var(--display); font-size: 1.08rem; font-weight: 500; line-height: 1.35; }
.diagnostic-result__stages { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-bottom: 1px solid var(--line); background: #f7f7fa; }
.diagnostic-result__stages div { padding: .85rem 1rem; border-right: 1px solid var(--line); }
.diagnostic-result__stages div:last-child { border-right: 0; }
.diagnostic-result dt { color: var(--muted); font-size: .59rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.diagnostic-result dd { margin: .35rem 0 0; color: var(--blue); font-size: .72rem; font-weight: 600; overflow-wrap: anywhere; }
.diagnostic-result__configuration { padding: 1.2rem; }
.diagnostic-result__configuration h4 { margin: 0 0 .8rem; color: var(--blue); font-family: var(--display); font-size: .9rem; font-weight: 600; text-transform: uppercase; }
.diagnostic-result__configuration dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; margin: 0; }
.diagnostic-result__configuration dl div { display: grid; grid-template-columns: 6.4rem 1fr; gap: .7rem; padding: .7rem 0; border-bottom: 1px solid #ececf2; }
.diagnostic-result__configuration dd { margin: 0; color: var(--ink); font-weight: 400; }
.diagnostic-result__note { margin: 0; padding: .85rem 1.2rem; border-top: 1px solid var(--line); color: var(--muted); background: #f7f7fa; font-size: .64rem; line-height: 1.5; }

@media (max-width: 760px) {
    .microsoft-mail-console > header, .microsoft-mail-settings > footer { align-items: stretch; flex-direction: column; }
    .microsoft-mail-steps, .microsoft-mail-layout, .microsoft-mail-form-grid, .microsoft-mail-enable { grid-template-columns: 1fr; }
    .microsoft-mail-steps li { border-right: 0; border-bottom: 1px solid var(--line); }
    .microsoft-mail-steps li:last-child { border-bottom: 0; }
    .microsoft-mail-redirect { grid-column: 1; }
    .microsoft-mail-settings > footer .button { width: 100%; }
    .auth-panel:has(.diagnostic-form) { padding: 2rem 1.25rem; }
    .diagnostic-form__pair, .diagnostic-form__actions, .diagnostic-result__stages, .diagnostic-result__configuration dl { grid-template-columns: 1fr; }
    .diagnostic-form__actions.oauth-diagnostic-actions { grid-template-columns: 1fr; }
    .diagnostic-mode-switch, .oauth-diagnostic-map, .oauth-diagnostic-result .diagnostic-result__configuration dl { grid-template-columns: 1fr; }
    .diagnostic-mode-switch a, .oauth-diagnostic-map article { border-right: 0; border-bottom: 1px solid var(--line); }
    .diagnostic-mode-switch a:last-child, .oauth-diagnostic-map article:last-child { border-bottom: 0; }
    .diagnostic-result__stages div { border-right: 0; border-bottom: 1px solid var(--line); }
    .diagnostic-result__stages div:last-child { border-bottom: 0; }
}

.admin-section--organization code { overflow-wrap: anywhere; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
