:root {
  --ink: #102a2e;
  --ink-soft: #355157;
  --brand-navy: #113b64;
  --brand-navy-hover: #174f80;
  --paper: #f7f8f4;
  --white: #ffffff;
  --field: #dde9e6;
  --field-strong: #c3d8d3;
  --line: #ced9d5;
  --line-dark: #9fb4af;
  --blue: #0a3c7a;
  --blue-soft: #e8eff8;
  --amber: #ffb52e;
  --amber-soft: #fff2d1;
  --positive: #24705a;
  --positive-soft: #e4f1eb;
  --risk: #a5483d;
  --risk-soft: #f8e9e6;
  --warning: #8d6212;
  --warning-soft: #fff3d8;
  --shadow: 0 18px 50px rgba(17, 59, 100, 0.10);
  --sidebar: 248px;
  --topbar: 76px;
  --radius-small: 6px;
  --radius: 10px;
  --radius-large: 18px;
  --font: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--font); font-size: 16px; }
body { margin: 0; min-height: 100vh; }
body, button, input, select, textarea { font-family: var(--font); }
button, input, select, textarea { font-size: inherit; }
a { color: var(--blue); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); letter-spacing: -0.035em; }
h1 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 0.98; font-weight: 600; }
h2 { font-size: 1.35rem; line-height: 1.15; font-weight: 600; }
h3 { font-size: 1.05rem; line-height: 1.25; font-weight: 600; }
p { color: var(--ink-soft); line-height: 1.55; }
button { 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; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; transform: translateY(-150%); background: var(--brand-navy); color: var(--white); padding: 10px 14px; border-radius: var(--radius-small); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }

.portal-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.sidebar { position: sticky; top: 0; z-index: 30; height: 100vh; padding: 24px 18px 18px; display: flex; flex-direction: column; background: var(--brand-navy); color: var(--white); overflow-y: auto; }
.brand { display: flex; align-items: center; gap: 11px; margin: 0 7px 28px; color: var(--white); }
.brand:hover { text-decoration: none; }
.brand img { width: 144px; height: auto; background: var(--white); border-radius: 5px; padding: 5px 7px; }
.brand span { font-size: 0.74rem; letter-spacing: 0.03em; opacity: 0.7; }
.sidebar-admin .brand { margin-bottom: 18px; }
.organization-mark { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 10px; align-items: center; padding: 12px 10px 20px; border-bottom: 1px solid rgba(255,255,255,0.14); }
.organization-initial { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--amber); color: var(--ink); font-weight: 700; }
.organization-mark strong, .organization-mark small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.organization-mark strong { font-size: 0.88rem; font-weight: 600; }
.organization-mark small { margin-top: 3px; color: rgba(255,255,255,0.62); font-size: 0.75rem; }
.main-nav, .secondary-nav { display: grid; gap: 3px; }
.main-nav { margin-top: 22px; }
.main-nav a, .secondary-nav a { color: rgba(255,255,255,0.74); border-radius: 8px; text-decoration: none; }
.main-nav a { display: grid; grid-template-columns: 28px 1fr; align-items: center; min-height: 42px; padding: 6px 10px; font-size: 0.9rem; font-weight: 500; }
.main-nav a:hover, .secondary-nav a:hover { color: var(--white); background: rgba(255,255,255,0.08); }
.main-nav a[aria-current="page"], .secondary-nav a[aria-current="page"] { color: var(--white); background: rgba(221,233,230,0.15); }
.nav-mark { display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid rgba(255,255,255,0.35); border-radius: 50%; font-size: 0.61rem; }
.main-nav a[aria-current="page"] .nav-mark { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 700; }
.secondary-nav { margin-top: auto; padding-top: 24px; }
.secondary-nav a { padding: 8px 10px; font-size: 0.8rem; }
.sidebar-signout { margin-top: 8px; padding: 12px 10px 0; border-top: 1px solid rgba(255,255,255,0.14); }
.text-button { border: 0; padding: 0; background: none; color: rgba(255,255,255,0.7); cursor: pointer; font-size: 0.8rem; }
.text-button:hover { color: var(--white); text-decoration: underline; }
.portal-stage { min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; height: var(--topbar); display: flex; align-items: center; gap: 20px; padding: 0 clamp(20px, 4vw, 56px); background: rgba(247,248,244,0.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.topbar-title { display: grid; gap: 2px; }
.topbar-title span { color: var(--ink-soft); font-size: 0.7rem; }
.topbar-title strong { font-size: 0.95rem; font-weight: 600; }
.account-chip { margin-left: auto; display: flex; align-items: center; gap: 9px; max-width: 260px; }
.account-chip > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: var(--field); color: var(--ink); font-weight: 700; }
.account-chip strong, .account-chip small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-chip strong { font-size: 0.78rem; }
.account-chip small { margin-top: 2px; color: var(--ink-soft); font-size: 0.68rem; }
.menu-button { display: none; width: 40px; height: 40px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--white); cursor: pointer; }
.menu-button > span:not(.sr-only) { display: block; width: 18px; height: 1px; margin: 4px 0; background: var(--ink); }
.main-content { width: 100%; max-width: 1540px; margin: 0 auto; padding: clamp(28px, 4vw, 56px); }
.sidebar-scrim { display: none; }

.section-label { margin-bottom: 10px; color: var(--positive); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.01em; }
.page-heading { max-width: 850px; margin-bottom: 32px; }
.page-heading h1 { margin-bottom: 13px; }
.page-heading p { max-width: 690px; margin-bottom: 0; font-size: 1rem; }
.page-heading-action { max-width: none; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.page-heading-action > div { max-width: 850px; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 17px; border: 1px solid transparent; border-radius: var(--radius-small); font-weight: 600; font-size: 0.87rem; cursor: pointer; text-decoration: none; }
.button:hover { text-decoration: none; }
.button-primary { background: var(--brand-navy); color: var(--white); }
.button-primary:hover { background: var(--brand-navy-hover); }
.button-secondary { background: var(--white); border-color: var(--line-dark); color: var(--ink); }
.button-secondary:hover { border-color: var(--ink); }
.button-danger { background: var(--risk); color: var(--white); }
.button-quiet { background: transparent; border-color: var(--line); color: var(--ink); }
.button-wide { width: 100%; }
.button-small { min-height: 34px; padding: 6px 11px; font-size: 0.76rem; }
.quiet-link { display: inline-block; margin-top: 20px; font-size: 0.84rem; }
.notice { margin-bottom: 22px; padding: 12px 14px; border-left: 4px solid; font-size: 0.86rem; line-height: 1.45; }
.notice-success { background: var(--positive-soft); border-color: var(--positive); color: #164a3b; }
.notice-error { background: var(--risk-soft); border-color: var(--risk); color: #76342d; }
.notice-warning { background: var(--warning-soft); border-color: var(--warning); color: #674708; }

.summary-strip { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); margin-bottom: 34px; background: var(--white); border: 1px solid var(--line); }
.summary-strip > div { min-height: 104px; padding: 22px; border-right: 1px solid var(--line); }
.summary-strip > div:last-child { border-right: 0; }
.summary-strip strong, .summary-strip span { display: block; }
.summary-strip strong { margin-bottom: 10px; font-size: clamp(1.4rem, 2.5vw, 2.25rem); line-height: 1; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.summary-strip span { color: var(--ink-soft); font-size: 0.76rem; line-height: 1.3; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 0.8fr); gap: 24px; align-items: start; }
.work-section { background: var(--white); border: 1px solid var(--line); }
.section-heading { min-height: 84px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.section-heading h2 { margin-bottom: 5px; }
.section-heading p { margin-bottom: 0; font-size: 0.8rem; }
.section-heading > a { margin-top: 3px; font-size: 0.8rem; }
.program-list { display: grid; }
.program-row { min-height: 84px; display: grid; grid-template-columns: 42px minmax(160px, 1.5fr) 90px minmax(110px, 0.7fr); gap: 16px; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.program-row:last-child { border-bottom: 0; }
.program-row:hover { background: var(--paper); text-decoration: none; }
.program-type { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; font-weight: 700; }
.program-type-transition { background: var(--amber-soft); color: #6f4b00; }
.program-type-campus { background: var(--blue-soft); color: var(--blue); }
.program-type-professional { background: var(--positive-soft); color: var(--positive); }
.program-name strong, .program-name small { display: block; }
.program-name strong { margin-bottom: 6px; font-size: 0.9rem; }
.program-name small, .program-next { color: var(--ink-soft); font-size: 0.74rem; }
.program-status, .status-pill { width: fit-content; padding: 5px 8px; border-radius: 99px; background: var(--field); color: var(--ink-soft); font-size: 0.69rem; font-weight: 600; }
.status-active, .status-complete, .status-ready { background: var(--positive-soft); color: var(--positive); }
.status-draft, .status-queued, .status-running { background: var(--warning-soft); color: var(--warning); }
.status-archived, .status-disabled, .status-expired { background: #edf0ee; color: #60706d; }
.activity-list { list-style: none; margin: 0; padding: 12px 20px 20px; }
.activity-list li { position: relative; display: grid; grid-template-columns: 12px 1fr; gap: 10px; padding: 10px 0; }
.activity-dot { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--field-strong); }
.activity-list strong, .activity-list small { display: block; }
.activity-list strong { margin-bottom: 4px; font-size: 0.76rem; font-weight: 600; }
.activity-list small { color: var(--ink-soft); font-size: 0.68rem; line-height: 1.35; }
.empty-state { max-width: 520px; padding: 46px 28px; }
.empty-state h3 { margin-bottom: 8px; }
.empty-state p { margin-bottom: 22px; font-size: 0.86rem; }
.quiet-empty { padding: 24px 20px; font-size: 0.82rem; }

.public-body { background: var(--paper); }
.public-main { min-height: 100vh; }
.auth-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr); }
.auth-context { position: relative; min-height: 680px; display: flex; flex-direction: column; padding: clamp(28px, 6vw, 82px); overflow: hidden; background: var(--brand-navy); color: var(--white); }
.auth-context::after { content: ""; position: absolute; right: -170px; bottom: -160px; width: 520px; height: 520px; border: 110px solid rgba(255,181,46,0.12); border-radius: 50%; }
.auth-brand { position: relative; z-index: 1; width: fit-content; display: flex; align-items: center; gap: 12px; color: inherit; }
.auth-brand:hover { text-decoration: none; }
.auth-brand img { width: 178px; background: var(--white); border-radius: var(--radius-small); padding: 7px 9px; }
.auth-brand span { font-size: 0.78rem; color: rgba(255,255,255,0.65); }
.auth-statement { position: relative; z-index: 1; max-width: 660px; margin: auto 0; padding: 80px 0; }
.auth-statement .section-label { color: var(--amber); }
.auth-statement h1 { max-width: 640px; color: var(--white); font-size: clamp(2.8rem, 6vw, 5.5rem); line-height: 0.94; }
.auth-statement > p:last-child { max-width: 540px; color: rgba(255,255,255,0.68); font-size: 1.08rem; }
.privacy-note { position: relative; z-index: 1; max-width: 540px; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }
.privacy-symbol { width: 32px; height: 32px; border: 2px solid var(--amber); border-radius: 50% 50% 45% 45%; }
.privacy-note p { margin: 0; color: rgba(255,255,255,0.67); font-size: 0.78rem; }
.privacy-note strong { color: var(--white); }
.auth-panel { display: grid; place-items: center; padding: 44px; background: var(--white); }
.auth-form-wrap { width: min(100%, 420px); }
.auth-form-wrap h2 { margin-bottom: 10px; font-size: 2.2rem; }
.form-intro { margin-bottom: 28px; }
.stack-form { display: grid; gap: 18px; }
label { display: grid; gap: 8px; color: var(--ink); font-size: 0.79rem; font-weight: 600; }
label small { color: var(--ink-soft); font-size: 0.7rem; font-weight: 400; line-height: 1.4; }
input, select, textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-dark); border-radius: var(--radius-small); background-color: var(--white); color: var(--ink); line-height: 1.25; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select { height: 44px; }
select { -webkit-appearance: none; appearance: none; padding-right: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5.25 7 9l4-3.75' fill='none' stroke='%23355157' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 14px 14px; cursor: pointer; }
select option { background: var(--white); color: var(--ink); }
input::placeholder, textarea::placeholder { color: #7b8e8a; opacity: 1; }
textarea { min-height: 120px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #78938d; }
input:focus, select:focus, textarea:focus { border-color: var(--blue); outline: 3px solid rgba(10,60,122,0.14); }
.code-input { font-size: 1.8rem; letter-spacing: 0.25em; font-variant-numeric: tabular-nums; }
.single-auth-page, .setup-page { min-height: 100vh; padding: clamp(28px, 6vw, 70px); }
.single-auth-page { display: grid; grid-template-rows: auto 1fr; gap: 50px; }
.single-auth-page .auth-brand span, .setup-page .auth-brand span { color: var(--ink-soft); }
.single-auth-card { width: min(100%, 460px); margin: auto; padding: 36px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.single-auth-card h1 { font-size: 2.4rem; }
.setup-page { display: grid; grid-template-rows: auto 1fr; gap: 40px; }
.setup-card { width: min(100%, 780px); margin: auto; padding: clamp(26px, 5vw, 52px); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.setup-card > div:first-child { max-width: 590px; margin-bottom: 30px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field-span { grid-column: 1 / -1; }
.error-page { max-width: 560px; margin: 12vh auto; padding: 36px; }
.error-page > span { color: var(--amber); font-size: 4rem; font-weight: 700; letter-spacing: -0.06em; }
.error-page h1 { margin: 12px 0; }
.public-error { min-height: 100vh; }

.program-context-bar { margin: -20px 0 38px; padding-bottom: 0; border-bottom: 1px solid var(--line); }
.program-context-bar > div { min-height: 42px; display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--ink-soft); font-size: 0.76rem; }
.program-context-bar > div strong { color: var(--ink); }
.program-context-bar > div > span:not(.program-type-tag) { color: var(--line-dark); }
.program-context-bar nav { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: thin; }
.program-context-bar nav a { position: relative; flex: 0 0 auto; padding: 12px 0 14px; color: var(--ink-soft); font-size: 0.8rem; font-weight: 500; text-decoration: none; }
.program-context-bar nav a[aria-current="page"] { color: var(--ink); }
.program-context-bar nav a[aria-current="page"]::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; background: var(--amber); }
.program-type-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 8px; border-radius: 99px; font-size: 0.68rem; font-weight: 700; }
.type-transition { background: var(--amber-soft); color: #6f4b00; }
.type-campus { background: var(--blue-soft); color: var(--blue); }
.type-professional { background: var(--positive-soft); color: var(--positive); }
.compact-heading { margin-bottom: 26px; }
.compact-heading h1 { font-size: clamp(2rem, 4vw, 3rem); }

.data-section { margin-bottom: 30px; background: var(--white); border: 1px solid var(--line); }
.data-table { width: 100%; overflow: hidden; }
.data-row { display: grid; align-items: center; min-height: 68px; padding: 12px 20px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 0.8rem; text-decoration: none; }
a.data-row:hover { background: var(--paper); text-decoration: none; }
.data-row:last-child { border-bottom: 0; }
.data-row > span { min-width: 0; }
.data-row strong, .data-row small { display: block; }
.data-row strong { overflow: hidden; text-overflow: ellipsis; font-size: 0.84rem; }
.data-row small { margin-top: 5px; color: var(--ink-soft); font-size: 0.69rem; }
.data-head { min-height: 42px; display: grid; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--line); background: var(--paper); color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; }
.program-table .data-row { grid-template-columns: minmax(180px, 1.6fr) 110px 100px 90px 100px 80px; gap: 16px; }
.cohort-table .data-row { grid-template-columns: 110px minmax(190px, 1.5fr) minmax(150px, 1fr) 100px 110px; gap: 16px; }
.preview-table .data-row { grid-template-columns: 100px minmax(180px, 1.5fr) minmax(150px, 1fr) 70px; gap: 16px; }
.choice-empty { padding: clamp(25px, 4vw, 44px); background: var(--white); border: 1px solid var(--line); }
.choice-empty > h2 { margin-bottom: 24px; }
.use-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.use-case-option { min-height: 220px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--line); border-top: 4px solid; color: var(--ink); text-decoration: none; }
.use-case-option:hover { background: var(--paper); text-decoration: none; }
.use-case-option > span { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 28px; border-radius: 50%; background: var(--field); font-weight: 700; }
.use-case-option h3 { margin-bottom: 8px; }
.use-case-option p { margin-bottom: 0; font-size: 0.79rem; }
.type-border-transition { border-top-color: var(--amber); }
.type-border-campus { border-top-color: var(--blue); }
.type-border-professional { border-top-color: var(--positive); }

.program-form { display: grid; gap: 20px; }
.type-picker { margin: 0 0 10px; padding: 0; border: 0; }
.type-picker legend { margin-bottom: 12px; font-size: 0.78rem; font-weight: 700; }
.type-picker { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.type-picker legend { grid-column: 1 / -1; }
.type-choice { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; padding: 18px; border: 1px solid var(--line); background: var(--white); cursor: pointer; }
.type-choice:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 -3px var(--amber); }
.type-choice input { position: absolute; opacity: 0; pointer-events: none; }
.type-choice-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; font-size: 0.8rem; font-weight: 700; }
.type-choice strong, .type-choice small { display: block; }
.type-choice strong { margin: 2px 0 7px; font-size: 0.9rem; }
.type-choice small { color: var(--ink-soft); font-size: 0.7rem; font-weight: 400; line-height: 1.4; }
.form-section { display: grid; grid-template-columns: minmax(180px, 0.65fr) minmax(360px, 1.5fr); gap: clamp(24px, 5vw, 72px); padding: clamp(24px, 4vw, 38px); background: var(--white); border: 1px solid var(--line); }
.form-section > div:first-child p { margin-bottom: 0; font-size: 0.79rem; }
.form-section > div:first-child h2 { margin-bottom: 8px; }
.check-field { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; padding: 16px; background: var(--amber-soft); border: 1px solid #eacb82; font-weight: 500; line-height: 1.45; }
.check-field input { width: 18px; min-height: 18px; margin-top: 2px; }
.form-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; padding: 16px 0 30px; }
.form-actions form { margin: 0; }

.program-progress { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 24px; background: var(--white); border: 1px solid var(--line); }
.program-progress a { min-height: 124px; display: grid; align-content: start; gap: 7px; padding: 20px; border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.program-progress a:last-child { border-right: 0; }
.program-progress a:hover { background: var(--paper); }
.program-progress a > span { display: grid; place-items: center; width: 26px; height: 26px; margin-bottom: 7px; border: 1px solid var(--line-dark); border-radius: 50%; color: var(--ink-soft); font-size: 0.7rem; }
.program-progress a.step-complete > span { background: var(--positive); border-color: var(--positive); color: var(--white); }
.program-progress strong { font-size: 0.78rem; }
.program-progress small { color: var(--ink-soft); font-size: 0.68rem; line-height: 1.3; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, 0.6fr); gap: 24px; }
.next-action-body { min-height: 230px; display: grid; grid-template-columns: 54px 1fr; gap: 20px; align-content: start; padding: 34px; }
.action-number { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid var(--amber); border-radius: 50%; background: var(--amber-soft); font-size: 1.25rem; font-weight: 700; }
.next-action-body h3 { margin: 3px 0 8px; font-size: 1.25rem; }
.next-action-body p { max-width: 620px; margin-bottom: 22px; font-size: 0.84rem; }
.program-facts dl { margin: 0; padding: 12px 20px 20px; }
.program-facts dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--line); font-size: 0.76rem; }
.program-facts dl > div:last-child { border-bottom: 0; }
.program-facts dt { color: var(--ink-soft); }
.program-facts dd { margin: 0; text-align: right; font-weight: 600; }
.quiet-danger-zone { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--line); }
.confirm-panel { margin-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px; background: var(--risk-soft); border: 1px solid #dfbbb5; }
.confirm-panel[hidden] { display: none; }
.confirm-panel h3 { margin-bottom: 5px; }
.confirm-panel p { margin-bottom: 0; font-size: 0.78rem; }
.confirm-panel > div:last-child { display: flex; gap: 8px; }

.privacy-rule { display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: start; margin-bottom: 20px; padding: 20px 22px; background: var(--field); border-left: 5px solid var(--positive); }
.privacy-rule-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--positive); border-radius: 50%; color: var(--positive); font-weight: 700; }
.privacy-rule h2 { margin: 1px 0 5px; font-size: 1rem; }
.privacy-rule p { margin: 0; font-size: 0.76rem; }
.upload-panel { display: grid; grid-template-columns: minmax(220px, 0.7fr) minmax(420px, 1.3fr); gap: 40px; align-items: end; margin-bottom: 20px; padding: 24px; background: var(--white); border: 1px solid var(--line); }
.upload-panel h2 { margin-bottom: 6px; }
.upload-panel p { margin-bottom: 0; font-size: 0.78rem; }
.upload-panel form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; }
.upload-panel input[type="file"] { padding: 8px; }
.history-section { margin-top: 34px; }
.history-section h2 { margin-bottom: 12px; }
.history-list { background: var(--white); border: 1px solid var(--line); }
.history-list a { min-height: 62px; display: grid; grid-template-columns: 1fr auto 90px; gap: 16px; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: 0.75rem; }
.history-list a:last-child { border-bottom: 0; }
.history-list a:hover { background: var(--paper); }
.history-list strong, .history-list small { display: block; }
.history-list small { margin-top: 4px; color: var(--ink-soft); }
.import-verdict { display: grid; grid-template-columns: repeat(3, 1fr) auto; align-items: center; margin-bottom: 20px; padding: 20px 24px; border: 1px solid; }
.verdict-ready { background: var(--positive-soft); border-color: #a8cabe; }
.verdict-error { background: var(--risk-soft); border-color: #dfbbb5; }
.import-verdict > div { border-right: 1px solid rgba(16,42,46,0.18); }
.import-verdict > div + div { padding-left: 20px; }
.import-verdict strong, .import-verdict span { display: block; }
.import-verdict strong { margin-bottom: 5px; font-size: 1.45rem; font-variant-numeric: tabular-nums; }
.import-verdict span { font-size: 0.7rem; }
.error-list > div { display: grid; grid-template-columns: 90px 130px 1fr; gap: 14px; padding: 13px 20px; border-bottom: 1px solid var(--line); font-size: 0.76rem; }
.error-list > div:last-child { border-bottom: 0; }
.error-list span { color: var(--risk); }
.error-list p { margin: 0; font-size: inherit; }

.summary-three { grid-template-columns: repeat(3, 1fr); }
.summary-four { grid-template-columns: repeat(4, 1fr); }
.copy-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 10px; }
.copy-line input { min-width: 0; }
.field-action { display: flex; align-items: end; }
.inline-form { display: flex; align-items: center; gap: 7px; }
.inline-form select { min-width: 120px; height: 34px; min-height: 34px; padding: 5px 32px 5px 8px; background-position: right 9px center; }
.simple-list > div, .audit-list > div, .report-list > div { min-height: 64px; display: grid; align-items: center; gap: 16px; padding: 13px 20px; border-bottom: 1px solid var(--line); font-size: 0.76rem; }
.simple-list > div:last-child, .audit-list > div:last-child, .report-list > div:last-child { border-bottom: 0; }
.simple-list > div { grid-template-columns: minmax(190px, 1.5fr) repeat(2, minmax(100px, 0.7fr)); }
.simple-list strong, .simple-list small, .report-list strong, .report-list small { display: block; }
.simple-list small, .report-list small { margin-top: 4px; color: var(--ink-soft); }
.team-table .data-row { grid-template-columns: minmax(190px, 1.4fr) minmax(190px, 1fr) 110px 80px 80px; gap: 14px; }
.audit-list > div { grid-template-columns: 145px minmax(220px, 1fr) 140px; }
.audit-list time, .audit-list code { color: var(--ink-soft); font-size: 0.7rem; }
.audit-list strong, .audit-list small { display: block; }
.audit-list small { margin-top: 5px; color: var(--ink-soft); }
.security-panel { min-height: 190px; display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: clamp(26px, 4vw, 44px); }
.security-panel > div { max-width: 620px; }
.security-panel h2 { margin-bottom: 7px; }
.security-panel p { margin: 0; }
.large-check { display: grid; place-items: center; width: 62px; height: 62px; flex: 0 0 auto; border-radius: 50%; background: var(--positive); color: var(--white); font-weight: 700; }
.backup-codes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 24px 0; }
.backup-codes code { padding: 10px; background: var(--paper); border: 1px solid var(--line); text-align: center; }
.break-code { display: block; margin-top: 10px; overflow-wrap: anywhere; color: var(--ink-soft); }
.totp-qr { width: fit-content; margin: 26px 0 0; padding: 12px; background: var(--white); border: 1px solid var(--line); }
.totp-qr img { width: 220px; height: 220px; }
.totp-qr figcaption { margin-top: 8px; color: var(--ink-soft); font-size: 0.7rem; text-align: center; }
.totp-regenerate { margin-top: 12px; }
.security-password { margin-top: 24px; }
.session-section { margin-top: 24px; }
.session-heading { align-items: center; }
.session-heading form { flex: 0 0 auto; }
.session-list { display: grid; }
.session-row { display: grid; grid-template-columns: minmax(190px, 0.75fr) minmax(420px, 1.7fr) auto; gap: 24px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--line); }
.session-row:last-child { border-bottom: 0; }
.session-current { box-shadow: inset 4px 0 var(--positive); }
.session-device { display: flex; align-items: center; gap: 11px; min-width: 0; }
.session-mark { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: var(--field); color: var(--ink); font-weight: 700; }
.session-device strong, .session-device small { display: block; }
.session-device strong { font-size: 0.8rem; }
.session-device small { margin-top: 4px; color: var(--positive); font-size: 0.68rem; }
.session-row dl { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: 18px; margin: 0; }
.session-row dl div { min-width: 0; }
.session-row dt { margin-bottom: 5px; color: var(--ink-soft); font-size: 0.65rem; }
.session-row dd { margin: 0; overflow-wrap: anywhere; font-size: 0.72rem; font-weight: 600; }

.seat-planner { display: grid; grid-template-columns: 1fr minmax(280px, 0.65fr); gap: 30px; align-items: end; margin-bottom: 22px; padding: 22px; background: var(--field); border: 1px solid var(--field-strong); }
.seat-planner h2 { margin-bottom: 5px; }
.seat-planner p { margin: 0; font-size: 0.78rem; }
.seat-table .data-row { grid-template-columns: 110px 90px minmax(180px, 1.2fr) 150px minmax(210px, 1fr); gap: 14px; }
.issue-form select { max-width: 230px; }
.muted { color: var(--ink-soft); font-size: 0.72rem; }
.save-link { margin-top: 28px; padding-top: 25px; border-top: 1px solid var(--line); }
.save-link h2 { margin-bottom: 6px; font-size: 1rem; }
.save-link p { font-size: 0.77rem; }
.issued-access-card { margin-bottom: 24px; background: var(--white); border: 1px solid var(--line); }
.issued-access-context { display: grid; gap: 4px; padding: 20px 22px; background: var(--field); border-bottom: 1px solid var(--line); }
.issued-access-context span { color: var(--positive); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.issued-access-context strong { font-size: 1rem; }
.issued-access-context small { color: var(--ink-soft); font-size: .72rem; }
.issued-access-card > .notice { margin: 22px 22px 0; }
.issued-access-card > .notice p { margin: 4px 0 0; font-size: .76rem; }
.issued-access-grid { display: grid; grid-template-columns: .8fr 1.2fr; }
.issued-access-grid > div { min-width: 0; padding: 26px 22px 30px; }
.issued-access-grid > div + div { border-left: 1px solid var(--line); }
.issued-access-grid h2 { margin-bottom: 16px; }
.copy-code input { color: var(--brand-navy); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 1.05rem; font-weight: 700; letter-spacing: .08em; }
.text-link { display: inline-block; margin-top: 14px; font-size: .78rem; font-weight: 600; }
.access-layout { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(440px, 0.9fr); }
.access-intro { display: flex; flex-direction: column; justify-content: space-between; gap: 80px; padding: clamp(32px, 7vw, 90px); background: var(--brand-navy); color: var(--white); }
.access-intro > div:last-child { max-width: 680px; margin: auto 0; }
.access-intro h1 { max-width: 650px; color: var(--white); font-size: clamp(3rem, 6vw, 5.7rem); }
.access-intro p { color: rgba(255,255,255,0.68); }
.access-intro .section-label { color: var(--amber); }
.access-form { display: grid; place-items: center; padding: clamp(30px, 5vw, 70px); background: var(--white); }
.access-form > div { width: min(100%, 420px); }
.access-form h2 { font-size: 2.3rem; }
.outcome-card { width: min(100%, 620px); }

.method-note { display: grid; grid-template-columns: 150px 1fr; gap: 28px; margin-bottom: 24px; padding: 20px 22px; background: var(--field); border-left: 4px solid var(--positive); }
.method-note p { margin: 0; font-size: 0.78rem; }
.forecast-results { display: grid; gap: 18px; }
.forecast-row { background: var(--white); border: 1px solid var(--line); }
.forecast-row > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.forecast-row > header h2 { margin: 5px 0; }
.forecast-row > header p { margin: 0; font-size: 0.76rem; }
.record-code { color: var(--positive); font-size: 0.7rem; font-weight: 700; }
.coverage { padding: 5px 8px; border-radius: 99px; font-size: 0.68rem; font-weight: 700; }
.coverage-strong { background: var(--positive-soft); color: var(--positive); }
.coverage-partial { background: var(--warning-soft); color: var(--warning); }
.coverage-limited { background: var(--risk-soft); color: var(--risk); }
.forecast-bands { display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); }
.forecast-bands > div { min-height: 178px; padding: 20px; border-right: 1px solid var(--line); }
.forecast-bands > div:last-child { border-right: 0; }
.forecast-bands > div > span { display: block; min-height: 32px; margin-bottom: 16px; color: var(--ink-soft); font-size: 0.68rem; font-weight: 600; }
.forecast-bands ol { margin: 0; padding-left: 18px; }
.forecast-bands li { margin-bottom: 8px; font-size: 0.72rem; }
.forecast-bands li strong, .forecast-bands li small { display: block; }
.forecast-bands li small, .forecast-bands > div > small { margin-top: 5px; color: var(--ink-soft); font-size: 0.65rem; line-height: 1.35; }
.band-value { display: block; font-size: 1.08rem; line-height: 1.25; }
.risk-lower { color: var(--positive); }
.risk-moderate { color: var(--warning); }
.risk-higher { color: var(--risk); }
.forecast-row details { padding: 15px 22px; border-top: 1px solid var(--line); }
.forecast-row summary { cursor: pointer; font-size: 0.75rem; font-weight: 600; }
.forecast-row details p { margin: 12px 0 0; font-size: 0.74rem; }
.source-panel { margin-top: 30px; padding: 26px; background: var(--brand-navy); color: var(--white); }
.source-panel h2, .source-panel h3 { color: var(--white); }
.source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.source-grid p, .source-grid small, .source-grid dt, .source-grid dd { color: rgba(255,255,255,0.68); font-size: 0.72rem; }
.source-grid a { color: var(--amber); }
.source-grid dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 15px; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.12); }
.source-grid dd { margin: 0; overflow-wrap: anywhere; }

.scenario-builder { margin-bottom: 30px; background: var(--white); border: 1px solid var(--line); }
.scenario-header { display: grid; grid-template-columns: 1fr 180px; gap: 18px; padding: 22px; background: var(--field); border-bottom: 1px solid var(--line); }
.support-row { display: grid; grid-template-columns: 55px minmax(260px, 1fr) 140px 140px; gap: 16px; align-items: center; min-height: 86px; padding: 13px 20px; border-bottom: 1px solid var(--line); }
.support-row:last-child { border-bottom: 0; }
.support-head { min-height: 42px; background: var(--paper); color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; }
.support-row strong, .support-row small, .support-row i { display: block; }
.support-row strong { font-size: 0.85rem; }
.support-row small { max-width: 620px; margin-top: 5px; color: var(--ink-soft); font-size: 0.7rem; line-height: 1.4; }
.support-row i { width: fit-content; margin-top: 7px; padding: 3px 6px; background: var(--field); color: var(--ink-soft); font-size: 0.62rem; font-style: normal; }
.support-check input { width: 20px; min-height: 20px; }
.scenario-list a { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 72px; padding: 14px 20px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.scenario-list a:last-child { border-bottom: 0; }
.scenario-list a:hover { background: var(--paper); }
.scenario-list strong, .scenario-list small { display: block; }
.scenario-list small { margin-top: 5px; color: var(--ink-soft); font-size: 0.69rem; }
.support-detail .data-row { grid-template-columns: minmax(240px, 1.4fr) 100px 150px 150px; gap: 16px; }
.large-total { padding: 14px 18px; background: var(--brand-navy); color: var(--white); font-size: 1.3rem; }

.outcome-ledger { display: grid; grid-template-columns: repeat(5, 1fr); margin-bottom: 24px; background: var(--brand-navy); color: var(--white); }
.outcome-ledger > div { min-height: 145px; padding: 23px; border-right: 1px solid rgba(255,255,255,0.15); }
.outcome-ledger > div:last-child { border-right: 0; }
.outcome-ledger span, .outcome-ledger strong, .outcome-ledger small { display: block; }
.outcome-ledger span { color: rgba(255,255,255,0.65); font-size: 0.68rem; }
.outcome-ledger strong { margin: 20px 0 8px; color: var(--white); font-size: 1.65rem; }
.outcome-ledger small { color: rgba(255,255,255,0.55); font-size: 0.65rem; line-height: 1.35; }
.outcome-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.metric-list { margin: 0; padding: 10px 22px 20px; }
.metric-list > div { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.metric-list > div:last-child { border-bottom: 0; }
.metric-list dt { color: var(--ink-soft); font-size: 0.76rem; }
.metric-list dd { margin: 0; font-weight: 700; }
.privacy-exclusion { margin-top: 24px; padding: 24px; background: var(--field); }
.privacy-exclusion h2 { margin-bottom: 6px; font-size: 1rem; }
.privacy-exclusion p { margin: 0; font-size: 0.76rem; }
.report-list > div { grid-template-columns: minmax(220px, 1fr) 100px auto; }

.operator-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.operator-links a { min-height: 160px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; border: 1px solid var(--line); border-top: 5px solid var(--amber); background: var(--white); color: var(--ink); text-decoration: none; }
.operator-links a:hover { background: var(--field); }
.operator-links strong, .operator-links span { display: block; }
.operator-links strong { font-size: 1.05rem; }
.operator-links span { margin-top: 8px; color: var(--ink-soft); font-size: 0.76rem; }
.organization-list a { min-height: 70px; display: grid; grid-template-columns: minmax(230px, 1.4fr) repeat(3, minmax(90px, 0.5fr)); gap: 16px; align-items: center; padding: 13px 20px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; font-size: 0.76rem; }
.organization-list a:last-child { border-bottom: 0; }
.organization-list a:hover { background: var(--paper); }
.organization-list strong, .organization-list small { display: block; }
.organization-list small { margin-top: 5px; color: var(--ink-soft); }
.operator-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.compact-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; padding: 20px 22px; }
.five-col > div { grid-template-columns: minmax(180px, 1fr) 80px 100px 140px 90px; }

.admin-nav { padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.14); }
.sidebar-admin .admin-nav { margin-top: 0; }
.status-onboarding, .status-sent, .status-issued { background: var(--blue-soft); color: var(--blue); }
.status-signed, .status-paid { background: var(--positive-soft); color: var(--positive); }
.status-paused, .status-overdue { background: var(--warning-soft); color: var(--warning); }
.status-closed, .status-ended, .status-terminated, .status-void, .status-inactive { background: #edf0ee; color: #60706d; }
.admin-ledger { display: grid; grid-template-columns: repeat(6, minmax(120px, 1fr)); margin-bottom: 26px; background: var(--brand-navy); color: var(--white); }
.admin-ledger > div { min-height: 124px; padding: 22px; border-right: 1px solid rgba(255,255,255,0.14); }
.admin-ledger > div:last-child { border-right: 0; }
.admin-ledger span, .admin-ledger strong, .admin-ledger small { display: block; }
.admin-ledger span { min-height: 32px; color: rgba(255,255,255,0.64); font-size: 0.7rem; line-height: 1.35; }
.admin-ledger strong { margin-top: 15px; color: var(--white); font-size: clamp(1.25rem, 2vw, 1.9rem); font-variant-numeric: tabular-nums; letter-spacing: -0.04em; }
.admin-ledger small { margin-top: 5px; color: rgba(255,255,255,0.55); font-size: 0.65rem; }
.admin-workspace { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.8fr); gap: 24px; align-items: start; }
.admin-workspace-even { grid-template-columns: 1fr 1fr; margin-bottom: 28px; }
.client-ledger > a { display: grid; grid-template-columns: minmax(210px, 1.45fr) 70px 70px 130px 85px; gap: 16px; align-items: center; min-height: 72px; padding: 13px 20px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.client-ledger > a:hover { background: var(--paper); }
.client-ledger > a:last-child { border-bottom: 0; }
.client-ledger strong, .client-ledger small, .billing-list strong, .billing-list small { display: block; }
.client-ledger small, .billing-list small { margin-top: 4px; color: var(--ink-soft); font-size: 0.68rem; }
.billing-list > a { display: grid; grid-template-columns: minmax(130px, 1fr) auto auto; gap: 14px; align-items: center; min-height: 74px; padding: 13px 18px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.billing-list > a:hover { background: var(--paper); }
.billing-list > a:last-child { border-bottom: 0; }
.billing-list > a > span:nth-child(2) { text-align: right; }
.client-filters { display: grid; grid-template-columns: minmax(220px, 1fr) 180px 180px auto auto; gap: 12px; align-items: end; margin-bottom: 20px; padding: 18px; background: var(--field); border: 1px solid var(--field-strong); }
.invoice-filters { grid-template-columns: 220px auto auto; justify-content: start; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; padding: 0 8px; font-size: 0.8rem; }
.client-directory .data-head, .client-directory .data-row { grid-template-columns: minmax(210px, 1.45fr) 75px 80px 70px 75px 130px 85px; gap: 14px; }
.contact-directory .data-head, .contact-directory .data-row { grid-template-columns: minmax(220px, 1.3fr) 110px 130px minmax(160px, 1fr) minmax(190px, auto); gap: 14px; }
.product-directory .data-head, .product-directory .data-row { grid-template-columns: minmax(180px, 1.25fr) minmax(150px, 1fr) 100px 90px 75px minmax(190px, auto); gap: 14px; }
.invoice-directory .data-head, .invoice-directory .data-row { grid-template-columns: minmax(150px, 1.2fr) minmax(120px, 1fr) 105px 105px 120px minmax(190px, auto); gap: 14px; }
.invoice-directory .data-row:has(> span:nth-child(7)), .invoice-directory .data-head:has(> span:nth-child(7)) { grid-template-columns: minmax(140px, 1.1fr) minmax(150px, 1.2fr) 110px 100px 100px 115px 85px; }
.data-row .inline-form { min-width: 185px; }
.data-row .inline-form select { min-width: 105px; }
.admin-create { margin-top: 34px; scroll-margin-top: calc(var(--topbar) + 22px); }
.form-section-stacked { display: block; }
.form-section-stacked > div:first-child { margin-bottom: 24px; }
.owner-invite-panel { background: var(--brand-navy); color: var(--white); }
.owner-invite-panel h2, .owner-invite-panel label { color: var(--white); }
.owner-invite-panel p { color: rgba(255,255,255,0.68); }
.client-heading { display: flex; justify-content: space-between; gap: 28px; align-items: flex-end; margin-bottom: 22px; }
.client-heading h1 { margin: 10px 0 7px; }
.client-heading p { margin: 0; font-size: 0.82rem; }
.client-title-line { display: flex; align-items: center; gap: 14px; }
.back-link { font-size: 0.76rem; }
.client-nav { display: flex; gap: 2px; margin-bottom: 28px; border-bottom: 1px solid var(--line-dark); overflow-x: auto; }
.client-nav a { flex: 0 0 auto; padding: 11px 14px 12px; color: var(--ink-soft); font-size: 0.79rem; text-decoration: none; border-bottom: 3px solid transparent; }
.client-nav a:hover { color: var(--ink); background: var(--white); }
.client-nav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--amber); font-weight: 700; }
.admin-ledger-client { margin-bottom: 24px; }
.client-overview-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 0.65fr); gap: 24px; align-items: start; margin-bottom: 24px; }
.account-profile .profile-form { padding: 22px; }
.client-side-stack { display: grid; gap: 24px; }
.seat-provisioning .stack-form { padding: 20px 22px 24px; }
.quick-records dl { margin: 0; padding: 10px 22px 20px; }
.quick-records dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 0.76rem; }
.quick-records dl > div:last-child { border-bottom: 0; }
.quick-records dd { margin: 0; font-weight: 600; text-align: right; }
.record-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px; }
.compact-record-list > div { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 16px; align-items: center; min-height: 64px; padding: 12px 20px; border-bottom: 1px solid var(--line); font-size: 0.76rem; }
.compact-record-list > div:last-child { border-bottom: 0; }
.compact-record-list strong, .compact-record-list small { display: block; }
.compact-record-list small { margin-top: 4px; color: var(--ink-soft); font-size: 0.68rem; }
.note-preview { margin-bottom: 24px; }
.note-list article { padding: 17px 20px; border-bottom: 1px solid var(--line); }
.note-list article:last-child { border-bottom: 0; }
.note-list article > div { display: flex; justify-content: space-between; gap: 16px; }
.note-list article p { margin: 10px 0 6px; color: var(--ink); font-size: 0.8rem; }
.note-list article small, .note-list article time { color: var(--ink-soft); font-size: 0.68rem; }
.record-type { color: var(--positive); font-size: 0.69rem; font-weight: 700; }
.contract-list { display: grid; gap: 18px; }
.contract-record { background: var(--white); border: 1px solid var(--line); }
.contract-record > header { display: flex; justify-content: space-between; gap: 20px; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.contract-record > header strong, .contract-record > header small { display: block; }
.contract-record > header small { margin-top: 5px; color: var(--ink-soft); font-size: 0.7rem; }
.contract-record dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.contract-record dl > div { min-height: 92px; padding: 18px 20px; border-right: 1px solid var(--line); }
.contract-record dl > div:last-child { border-right: 0; }
.contract-record dt { margin-bottom: 10px; color: var(--ink-soft); font-size: 0.68rem; }
.contract-record dd { margin: 0; font-size: 0.83rem; font-weight: 600; }
.record-notes { padding: 15px 20px; background: var(--field); }
.record-notes p { margin: 0; font-size: 0.75rem; }
.record-notes p + p { margin-top: 7px; }
.record-status-form { justify-content: flex-end; padding: 15px 20px; border-top: 1px solid var(--line); }
.record-status-form label { display: flex; align-items: center; gap: 10px; }
.record-status-form select { min-width: 130px; }
.invite-history { margin-top: 24px; }
.note-form-section { margin-bottom: 24px; }
.activity-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.account-activity > div { display: grid; grid-template-columns: 105px 1fr; gap: 16px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.account-activity > div:last-child { border-bottom: 0; }
.account-activity time, .account-activity small { color: var(--ink-soft); font-size: 0.68rem; }
.account-activity strong, .account-activity small { display: block; }
.account-activity small { margin-top: 4px; }

.admin-tools-nav { margin-top: auto; padding-top: 18px; border-top: 1px solid rgba(255,255,255,0.14); }
.summary-six { grid-template-columns: repeat(6, minmax(110px, 1fr)); }
.directory-filters { display: grid; gap: 12px; align-items: end; margin-bottom: 20px; padding: 18px; background: var(--field); border: 1px solid var(--field-strong); }
.user-filters { grid-template-columns: minmax(210px, 1.4fr) repeat(5, minmax(130px, 0.65fr)) auto; }
.delivery-filters { grid-template-columns: minmax(260px, 1fr) 180px auto; }
.filter-actions { display: flex; gap: 8px; }
.user-directory .data-head, .user-directory .data-row { grid-template-columns: minmax(220px, 1.4fr) 100px 120px 85px 70px 120px 95px; gap: 14px; }
.status-free { background: #edf0ee; color: #60706d; }
.status-sponsored { background: var(--blue-soft); color: var(--blue); }
.status-complimentary { background: var(--amber-soft); color: var(--warning); }
.status-success, .status-sent { background: var(--positive-soft); color: var(--positive); }
.status-error, .status-failed { background: var(--risk-soft); color: var(--risk); }
.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 22px 0; color: var(--ink-soft); font-size: 0.76rem; }
.user-detail-heading { max-width: 980px; }
.user-detail-heading .back-link { display: inline-block; margin-bottom: 20px; }
.detail-list { margin: 0; padding: 10px 22px 20px; }
.detail-list > div { display: grid; grid-template-columns: minmax(130px, 0.7fr) minmax(160px, 1fr); gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: var(--ink-soft); font-size: 0.74rem; }
.detail-list dd { margin: 0; overflow-wrap: anywhere; font-size: 0.78rem; font-weight: 600; text-align: right; }
.compact-details { padding-bottom: 8px; }
.support-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.support-actions form { margin: 0; }
.sensitive-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 20px 22px; }
.sensitive-actions details, .model-config details { border: 1px solid #dfbbb5; background: var(--risk-soft); }
.sensitive-actions summary, .model-config summary { padding: 13px 15px; cursor: pointer; font-size: 0.78rem; font-weight: 600; }
.sensitive-actions form, .model-config form { padding: 0 15px 15px; }
.danger-link { display: flex; align-items: center; padding: 13px 15px; border: 1px solid #dfbbb5; color: var(--risk); font-size: 0.78rem; font-weight: 600; }
.control-forms { display: grid; gap: 16px; padding: 20px 22px 24px; border-top: 1px solid var(--line); }
.inline-control { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
.inline-control input { min-height: 38px; }
.button-line { display: flex; flex-wrap: wrap; gap: 8px; }
.subscription-records { border-top: 1px solid var(--line); }
.application-directory .data-head, .application-directory .data-row { grid-template-columns: minmax(220px, 1.4fr) minmax(170px, 1fr) 130px 120px 100px; gap: 16px; }
.erasure-layout { display: grid; grid-template-columns: minmax(300px, 0.8fr) minmax(420px, 1.2fr); gap: 24px; align-items: start; }
.danger-zone { border-color: #dfbbb5; }
.danger-zone .check-field { background: var(--risk-soft); border-color: #dfbbb5; }
.button:disabled { opacity: 0.45; cursor: not-allowed; }
.attention-list { display: grid; gap: 8px; margin-bottom: 28px; }
.attention-item { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 68px; padding: 13px 18px; background: var(--white); border: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.attention-item:hover { background: var(--paper); text-decoration: none; }
.attention-item > span { width: 8px; height: 8px; border-radius: 50%; background: var(--warning); }
.attention-error > span { background: var(--risk); }
.attention-item strong, .attention-item small { display: block; }
.attention-item small { margin-top: 5px; color: var(--ink-soft); font-size: 0.72rem; }
.attention-item b { color: var(--blue); font-size: 0.75rem; }
.window-directory .data-head, .window-directory .data-row { grid-template-columns: minmax(120px, 1fr) repeat(7, minmax(85px, 0.7fr)); gap: 12px; }
.platform-inventory { margin-bottom: 30px; }
.section-tabs { display: flex; gap: 2px; margin-bottom: 26px; border-bottom: 1px solid var(--line-dark); overflow-x: auto; }
.section-tabs a { position: relative; flex: 0 0 auto; padding: 12px 15px 14px; color: var(--ink-soft); font-size: 0.8rem; font-weight: 500; text-decoration: none; }
.section-tabs a:hover { background: var(--white); color: var(--ink); }
.section-tabs a[aria-current="page"] { color: var(--ink); font-weight: 700; }
.section-tabs a[aria-current="page"]::after { content: ""; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px; background: var(--amber); }
.delivery-email .data-head, .delivery-email .data-row { grid-template-columns: minmax(190px, 1.1fr) 110px minmax(180px, 1fr) 80px 125px minmax(200px, 1.1fr); gap: 14px; }
.delivery-sign-ins .data-head, .delivery-sign-ins .data-row { grid-template-columns: minmax(210px, 1.2fr) 90px 125px 135px minmax(260px, 1.5fr); gap: 14px; }
.delivery-imports .data-head, .delivery-imports .data-row { grid-template-columns: minmax(190px, 1fr) minmax(220px, 1.3fr) minmax(160px, 0.9fr) 90px 135px minmax(180px, 1fr); gap: 14px; }
.delivery-ingestion .data-head, .delivery-ingestion .data-row { grid-template-columns: minmax(190px, 1fr) 90px 135px 80px minmax(210px, 1.2fr) minmax(210px, 1.2fr); gap: 14px; }
.delivery-directory .data-row { align-items: start; }
.delivery-directory code { color: var(--ink-soft); font-size: 0.72rem; }
.metric-table { overflow-x: auto; }
.metric-row { min-width: 560px; display: grid; grid-template-columns: minmax(180px, 1.4fr) repeat(4, minmax(90px, 0.65fr)); gap: 14px; align-items: center; min-height: 58px; padding: 11px 18px; border-bottom: 1px solid var(--line); font-size: 0.75rem; }
.metric-row:last-child { border-bottom: 0; }
.metric-head { min-height: 40px; background: var(--paper); color: var(--ink-soft); font-size: 0.68rem; font-weight: 700; }
.model-metric-row { grid-template-columns: minmax(180px, 1.4fr) repeat(3, minmax(90px, 0.65fr)); }
.model-config-list { display: grid; }
.model-config { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(120px, auto); gap: 24px; align-items: start; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.model-config:last-child { border-bottom: 0; }
.model-config-active { box-shadow: inset 4px 0 var(--positive); }
.model-config strong, .model-config small { display: block; }
.model-config small { margin-top: 6px; color: var(--ink-soft); font-size: 0.72rem; }
.model-config p { margin: 9px 0 0; font-size: 0.75rem; }
.trend-ledger > div { display: grid; grid-template-columns: 90px 1fr auto; gap: 16px; align-items: center; min-height: 55px; padding: 10px 18px; border-bottom: 1px solid var(--line); font-size: 0.74rem; }
.trend-ledger > div:last-child { border-bottom: 0; }
.trend-ledger time, .trend-ledger span { color: var(--ink-soft); }
.failure-directory .data-head, .failure-directory .data-row { grid-template-columns: 135px minmax(150px, 1fr) 130px 80px 80px minmax(260px, 1.5fr); gap: 14px; }
.market-window-directory .data-head, .market-window-directory .data-row { grid-template-columns: minmax(150px, 1fr) repeat(3, minmax(120px, 0.7fr)); gap: 16px; }
.country-directory .data-head, .country-directory .data-row { grid-template-columns: minmax(160px, 1fr) repeat(4, minmax(100px, 0.7fr)); gap: 14px; }
.benchmark-directory .data-head, .benchmark-directory .data-row { grid-template-columns: 90px minmax(180px, 1fr) 90px 130px minmax(220px, 1.2fr); gap: 14px; }
.source-quality-link { margin: 20px 22px; }
.settings-sections { display: grid; gap: 24px; }
.settings-list article { display: grid; grid-template-columns: minmax(240px, 1.2fr) minmax(280px, 1fr); gap: 30px; align-items: center; padding: 19px 22px; border-bottom: 1px solid var(--line); }
.settings-list article:last-child { border-bottom: 0; }
.setting-copy strong, .setting-copy code, .setting-copy p { display: block; }
.setting-copy code { width: fit-content; margin-top: 6px; color: var(--blue); font-size: 0.7rem; }
.setting-copy p { margin: 8px 0 0; font-size: 0.74rem; }
.setting-state { display: grid; justify-items: end; gap: 8px; overflow: hidden; }
.setting-state code { max-width: 100%; overflow-wrap: anywhere; font-size: 0.7rem; }
.setting-state small { color: var(--ink-soft); font-size: 0.68rem; }
.setting-form { display: grid; grid-template-columns: minmax(180px, 1fr) auto; gap: 10px; align-items: end; }
.setting-form input, .setting-form select { height: 38px; min-height: 38px; }

@media (max-width: 1450px) {
  .user-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .user-filters > label:first-child, .user-filters .filter-actions { grid-column: 1 / -1; }
  .user-filters .filter-actions { justify-content: flex-end; }
}

@media (max-width: 1120px) {
  .session-row { grid-template-columns: minmax(170px, 0.7fr) minmax(330px, 1.5fr); }
  .session-row > form { grid-column: 2; justify-self: start; }
  .session-row dl { grid-template-columns: 1fr 1fr; }
  .summary-six { grid-template-columns: repeat(3, 1fr); }
  .summary-six > div:nth-child(3n) { border-right: 0; }
  .summary-six > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .user-filters { grid-template-columns: repeat(3, 1fr); }
  .user-filters > label:first-child { grid-column: 1 / -1; }
  .user-directory .data-head, .user-directory .data-row { grid-template-columns: minmax(210px,1.4fr) 120px 80px 70px 110px 90px; }
  .user-directory .data-head > span:nth-child(2), .user-directory .data-row > span:nth-child(2) { display: none; }
  .window-directory .data-head, .window-directory .data-row { grid-template-columns: minmax(120px,1fr) repeat(6,minmax(80px,.7fr)); }
  .window-directory .data-head > span:nth-child(5), .window-directory .data-row > span:nth-child(5) { display: none; }
  .admin-ledger { grid-template-columns: repeat(3, 1fr); }
  .admin-ledger > div:nth-child(3n) { border-right: 0; }
  .admin-ledger > div:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,0.14); }
  .client-directory .data-head, .client-directory .data-row { grid-template-columns: minmax(190px,1.4fr) 70px 75px 70px 120px 80px; }
  .client-directory .data-head > span:nth-child(5), .client-directory .data-row > span:nth-child(5) { display: none; }
  .client-overview-grid { grid-template-columns: 1fr; }
  .summary-strip { grid-template-columns: repeat(3, 1fr); }
  .summary-strip > div:nth-child(3) { border-right: 0; }
  .summary-strip > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .program-table .data-row { grid-template-columns: minmax(170px, 1.4fr) 100px 90px 90px 85px; }
  .program-table .data-row > span:nth-child(5) { display: none; }
  .detail-grid { grid-template-columns: 1fr; }
  .forecast-bands { grid-template-columns: 1fr 1fr; }
  .forecast-bands > div:nth-child(2) { border-right: 0; }
  .forecast-bands > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .seat-table .data-row { grid-template-columns: 100px 80px minmax(170px, 1fr) minmax(210px, 1fr); }
  .seat-table .data-row > span:nth-child(4) { display: none; }
  .team-table .data-row { grid-template-columns: minmax(180px,1.3fr) minmax(180px,1fr) 90px 80px; }
  .team-table .data-row > span:nth-child(3) { display: none; }
}

@media (max-width: 860px) {
  .user-filters, .delivery-filters { grid-template-columns: 1fr 1fr; }
  .user-filters > label:first-child, .delivery-filters > label:first-of-type { grid-column: 1 / -1; }
  .erasure-layout { grid-template-columns: 1fr; }
  .settings-list article { grid-template-columns: 1fr; gap: 16px; }
  .setting-state { justify-items: start; }
  .portal-shell { display: block; }
  .sidebar { position: fixed; left: 0; transform: translateX(-105%); width: min(82vw, 280px); transition: transform 180ms ease; box-shadow: var(--shadow); }
  .sidebar-open .sidebar { transform: translateX(0); }
  .sidebar-scrim { position: fixed; inset: 0; z-index: 25; width: 100%; height: 100%; border: 0; background: rgba(17,59,100,0.42); }
  .sidebar-open .sidebar-scrim { display: block; }
  .menu-button { display: block; }
  .topbar { padding: 0 18px; }
  .main-content { padding: 28px 20px 50px; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-context { min-height: 500px; padding: 34px 28px; }
  .auth-statement { padding: 70px 0 40px; }
  .auth-statement h1 { font-size: clamp(2.8rem, 12vw, 4.5rem); }
  .auth-panel { padding: 48px 24px; }
  .form-section { grid-template-columns: 1fr; gap: 18px; }
  .upload-panel { grid-template-columns: 1fr; gap: 20px; }
  .access-layout { grid-template-columns: 1fr; }
  .access-intro { min-height: 560px; padding: 38px 28px; }
  .access-form { padding: 55px 24px; }
  .source-grid, .outcome-grid, .operator-actions, .admin-workspace, .admin-workspace-even, .record-preview-grid, .activity-columns { grid-template-columns: 1fr; }
  .client-filters { grid-template-columns: 1fr 1fr; }
  .client-filters label:first-child { grid-column: 1 / -1; }
  .outcome-ledger { grid-template-columns: repeat(3, 1fr); }
  .outcome-ledger > div:nth-child(3) { border-right: 0; }
  .outcome-ledger > div:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,0.15); }
}

@media (max-width: 640px) {
  .session-heading { align-items: stretch; flex-direction: column; }
  .session-heading .button { width: 100%; }
  .session-row { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .session-row > form { grid-column: auto; }
  .session-row > form .button { width: 100%; }
  .session-row dl { grid-template-columns: 1fr 1fr; gap: 14px; }
  .summary-six { grid-template-columns: 1fr 1fr; }
  .summary-six > div:nth-child(2n) { border-right: 0; }
  .summary-six > div:nth-child(3) { border-right: 1px solid var(--line); }
  .summary-six > div:last-child { grid-column: auto; }
  .user-filters, .delivery-filters { grid-template-columns: 1fr; }
  .user-filters > label:first-child, .delivery-filters > label:first-of-type { grid-column: auto; }
  .filter-actions { align-items: stretch; flex-direction: column; }
  .user-directory .data-row, .window-directory .data-row, .application-directory .data-row, .delivery-email .data-row, .delivery-sign-ins .data-row, .delivery-imports .data-row, .delivery-ingestion .data-row, .failure-directory .data-row, .market-window-directory .data-row, .country-directory .data-row, .benchmark-directory .data-row { grid-template-columns: 1fr; gap: 10px; padding: 18px; }
  .user-directory .data-row > span:nth-child(2), .window-directory .data-row > span:nth-child(5) { display: grid; }
  .sensitive-actions { grid-template-columns: 1fr; }
  .inline-control, .setting-form { grid-template-columns: 1fr; }
  .support-actions { align-items: stretch; flex-direction: column; }
  .support-actions .button, .inline-control .button, .setting-form .button { width: 100%; }
  .detail-list > div { grid-template-columns: 1fr; gap: 5px; }
  .detail-list dd { text-align: left; }
  .model-config { grid-template-columns: 1fr; }
  .trend-ledger > div { grid-template-columns: 80px 1fr; }
  .trend-ledger strong { grid-column: 2; }
  h1 { font-size: 2.25rem; }
  .account-chip div { display: none; }
  .page-heading-action { display: grid; align-items: start; }
  .page-heading-action .button { width: 100%; }
  .summary-strip { grid-template-columns: 1fr 1fr; }
  .summary-strip > div { min-height: 88px; padding: 17px; border-bottom: 1px solid var(--line); }
  .summary-strip > div:nth-child(2n) { border-right: 0; }
  .summary-strip > div:nth-child(3) { border-right: 1px solid var(--line); }
  .summary-strip > div:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .program-row { grid-template-columns: 38px 1fr auto; gap: 10px; padding: 15px; }
  .program-status { justify-self: end; }
  .program-next { grid-column: 2 / -1; }
  .form-grid { grid-template-columns: 1fr; }
  .field-span { grid-column: auto; }
  .single-auth-card, .setup-card { padding: 26px 22px; }
  .type-picker, .use-case-grid { grid-template-columns: 1fr; }
  .type-choice { min-height: 100px; }
  .program-progress { grid-template-columns: 1fr; }
  .program-progress a { min-height: 68px; grid-template-columns: 28px 1fr auto; align-items: center; align-content: center; border-right: 0; border-bottom: 1px solid var(--line); }
  .program-progress a:last-child { border-bottom: 0; }
  .program-progress a > span { margin-bottom: 0; }
  .data-head { display: none; }
  .data-row, .program-table .data-row, .cohort-table .data-row, .preview-table .data-row { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 18px; }
  .data-row > span { display: grid; grid-template-columns: 105px 1fr; gap: 10px; }
  .data-row > span::before { content: attr(data-label); color: var(--ink-soft); font-size: 0.68rem; font-weight: 600; }
  .program-table .data-row > span:nth-child(5) { display: grid; }
  .upload-panel form { grid-template-columns: 1fr; }
  .history-list a { grid-template-columns: 1fr auto; }
  .history-list a > span:nth-child(2) { grid-column: 1 / -1; }
  .import-verdict { grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 16px; }
  .import-verdict > .status-pill { grid-column: 1 / -1; }
  .import-verdict > div + div { padding-left: 10px; }
  .error-list > div { grid-template-columns: 1fr; gap: 5px; }
  .next-action-body { grid-template-columns: 1fr; padding: 26px 20px; }
  .confirm-panel { align-items: stretch; flex-direction: column; }
  .confirm-panel > div:last-child { flex-wrap: wrap; }
  .summary-three, .summary-four { grid-template-columns: 1fr 1fr; }
  .summary-three > div:last-child { grid-column: 1 / -1; }
  .seat-planner, .method-note, .scenario-header { grid-template-columns: 1fr; }
  .issued-access-grid { grid-template-columns: 1fr; }
  .issued-access-grid > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .seat-table .data-row, .team-table .data-row, .support-detail .data-row { grid-template-columns: 1fr; }
  .seat-table .data-row > span:nth-child(4), .team-table .data-row > span:nth-child(3) { display: grid; }
  .support-head { display: none; }
  .support-row { grid-template-columns: 35px 1fr; padding: 18px; }
  .support-row > label:nth-last-child(-n+2) { grid-column: 2; }
  .forecast-bands { grid-template-columns: 1fr; }
  .forecast-bands > div { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
  .forecast-bands > div:last-child { border-bottom: 0; }
  .outcome-ledger { grid-template-columns: 1fr 1fr; }
  .outcome-ledger > div { min-height: 120px; }
  .outcome-ledger > div:nth-child(2n) { border-right: 0; }
  .outcome-ledger > div:last-child { grid-column: 1 / -1; }
  .operator-links { grid-template-columns: 1fr; }
  .organization-list a, .simple-list > div, .five-col > div, .audit-list > div, .report-list > div, .client-directory .data-row, .contact-directory .data-row, .product-directory .data-row, .invoice-directory .data-row { grid-template-columns: 1fr; gap: 8px; padding: 18px; }
  .client-directory .data-row > span:nth-child(5) { display: grid; }
  .client-heading { display: grid; align-items: start; }
  .client-title-line { align-items: flex-start; flex-direction: column; gap: 5px; }
  .client-filters, .invoice-filters { grid-template-columns: 1fr; }
  .client-filters label:first-child { grid-column: auto; }
  .client-ledger > a, .billing-list > a { grid-template-columns: 1fr auto; }
  .client-ledger > a > span:nth-child(2), .client-ledger > a > span:nth-child(3) { display: none; }
  .client-ledger > a > span:nth-child(4) { grid-column: 1; }
  .contract-record dl { grid-template-columns: 1fr 1fr; }
  .contract-record dl > div:nth-child(2) { border-right: 0; }
  .contract-record dl > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .record-status-form, .record-status-form label { align-items: stretch; flex-direction: column; }
  .backup-codes { grid-template-columns: 1fr 1fr; }
  .security-panel { align-items: stretch; flex-direction: column; }
  .totp-setup { grid-template-columns: 1fr; }
  .copy-line { grid-template-columns: 1fr; }
  .copy-line .button { width: 100%; }
}

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