:root {
  --ink: #183335;
  --ink-deep: #10292b;
  --paper: #f3f0e7;
  --paper-light: #fffdf8;
  --muted: #657270;
  --line: rgba(24, 51, 53, 0.16);
  --coral: #eb6847;
  --coral-dark: #c84e30;
  --mint: #bdded1;
  --blue: #a9cae0;
  --sand: #e4c77d;
  --shadow: 0 24px 70px rgba(16, 41, 43, 0.12);
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Segoe UI", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
p, h1, h2, h3 { margin: 0; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; background: white; border: 2px solid var(--ink); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.site-header { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 max(32px, calc((100vw - 1180px) / 2)); background: rgba(243,240,231,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; background: var(--ink); color: white; border-radius: 3px 3px 14px 3px; font-weight: 900; }
.brand > span:last-child { display: grid; }
.brand strong { font-size: 14px; }
.brand small { margin-top: 3px; color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.site-header nav { display: flex; align-items: center; gap: 22px; font-size: 12px; font-weight: 800; }
.site-header nav form { margin: 0; }
.site-header nav button { padding: 8px 0; background: transparent; border: 0; border-bottom: 1px solid var(--ink); cursor: pointer; font-weight: 800; }
.nav-register { padding: 12px 16px; background: var(--coral); border-radius: 3px; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--coral-dark); font-size: 10px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow::before { width: 22px; height: 2px; content: ""; background: currentColor; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.04em; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid transparent; border-radius: 3px; cursor: pointer; font-size: 13px; font-weight: 850; }
.button.primary { background: var(--coral); color: var(--ink); box-shadow: 7px 7px 0 rgba(24,51,53,.12); }
.button.quiet { background: var(--paper-light); color: var(--ink); border-color: var(--line); }
.auth-landing { min-height: calc(100vh - 162px); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr); align-items: center; gap: 80px; width: min(1180px, calc(100% - 64px)); margin: auto; padding: 80px 0; }
.auth-landing h1, .auth-copy h1, .dashboard-hero h1, .admin-hero h1, .simple-hero h1, .credential-page h1 { margin-top: 18px; font-size: clamp(50px, 6vw, 84px); line-height: .98; }
.auth-landing .lead { max-width: 700px; margin-top: 26px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.auth-landing aside { padding: 38px; background: var(--ink); color: white; border-radius: 4px 4px 44px 4px; box-shadow: var(--shadow); }
.auth-landing aside > span { color: var(--coral); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.auth-landing ol { margin: 32px 0 0; padding: 0; list-style: none; counter-reset: item; }
.auth-landing li { min-height: 76px; display: flex; align-items: center; gap: 18px; border-top: 1px solid rgba(255,255,255,.14); font-family: Georgia, serif; font-size: 22px; }
.auth-landing li::before { counter-increment: item; content: "0" counter(item); color: var(--mint); font-family: "Segoe UI"; font-size: 10px; }
.auth-shell { min-height: calc(100vh - 82px); display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,500px); align-items: center; gap: 80px; width: min(1080px, calc(100% - 64px)); margin: auto; padding: 70px 0; }
.auth-copy h1 { max-width: 600px; }
.auth-copy > p:last-child { max-width: 570px; margin-top: 24px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.auth-card, .settings-card { padding: 38px; background: var(--paper-light); border: 1px solid var(--line); border-radius: 4px 4px 24px 4px; box-shadow: var(--shadow); }
.form-stack { display: grid; gap: 18px; }
.form-stack label:not(.checkbox), .inline-form label { display: grid; gap: 7px; color: #455754; font-size: 11px; font-weight: 850; }
input, select, textarea { width: 100%; min-height: 48px; padding: 10px 13px; background: white; color: var(--ink); border: 1px solid rgba(24,51,53,.28); border-radius: 3px; outline: none; }
textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
input:focus, select:focus, textarea:focus { border-color: var(--coral-dark); box-shadow: 0 0 0 3px rgba(235,104,71,.15); }
label small { color: var(--muted); font-weight: 500; line-height: 1.5; }
.checkbox { display: grid; grid-template-columns: 20px 1fr; align-items: start; gap: 10px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.checkbox input { width: 18px; min-height: 18px; margin: 1px 0 0; accent-color: var(--coral-dark); }
.checkbox a, .form-foot a, .document-page a { text-decoration: underline; text-underline-offset: 3px; }
.form-foot { margin-top: 22px; color: var(--muted); font-size: 12px; }
.attempt-note { margin-bottom: 16px; color: var(--muted); font-size: 11px; }
.notice { margin-bottom: 20px; padding: 14px 16px; border-left: 4px solid var(--coral-dark); background: rgba(235,104,71,.11); font-size: 12px; line-height: 1.55; }
.notice-success { background: rgba(189,222,209,.45); border-color: #4e806d; }
.notice-warning { background: rgba(228,199,125,.28); border-color: #a98125; }
.notice a { text-decoration: underline; }
.dashboard-hero, .admin-hero, .simple-hero { width: min(1180px, calc(100% - 64px)); margin: 0 auto; padding: 64px 0; }
.dashboard-hero { display: grid; grid-template-columns: 1fr 260px; align-items: end; gap: 60px; }
.dashboard-hero h1, .admin-hero h1, .simple-hero h1 { font-size: clamp(44px, 6vw, 74px); }
.dashboard-hero > div > p:last-child, .admin-hero > div > p:last-child, .simple-hero > p:last-child { margin-top: 20px; color: var(--muted); line-height: 1.65; }
.dashboard-hero aside { display: grid; padding: 24px; background: var(--mint); border-radius: 3px 3px 22px 3px; }
.dashboard-hero aside span { font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.dashboard-hero aside strong { margin-top: 8px; font-family: Georgia, serif; font-size: 48px; font-weight: 500; }
.dashboard-hero aside small { margin-top: 8px; color: #52625f; overflow-wrap: anywhere; }
.dashboard-shell, .admin-shell { width: min(1180px, calc(100% - 64px)); margin: 0 auto; padding: 0 0 90px; }
.dashboard-section, .admin-panel, .profile-card { padding: 36px; background: var(--paper-light); border: 1px solid var(--line); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; }
.section-head h2, .profile-card h2, .admin-panel h2 { margin-top: 10px; font-size: 36px; }
.section-head > a { font-size: 11px; font-weight: 850; border-bottom: 1px solid var(--ink); }
.access-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
.access-grid article { min-height: 260px; display: flex; flex-direction: column; padding: 24px; background: var(--paper); border-radius: 3px 3px 18px 3px; }
.access-grid article > span { color: #39745d; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.access-grid h3 { margin-top: 32px; font-size: 28px; }
.access-grid p { margin: 13px 0 22px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.access-grid .button { margin-top: auto; }
.empty-state { margin-top: 28px; padding: 30px; background: var(--paper); }
.empty-state strong { font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.empty-state p { max-width: 720px; margin: 10px 0 20px; color: var(--muted); line-height: 1.6; }
.dashboard-section + .dashboard-section { margin-top: 18px; }
.learning-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-top: 28px; background: var(--line); border: 1px solid var(--line); }
.learning-metrics article { min-height: 170px; padding: 24px; background: var(--paper); }
.learning-metrics span { display: block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.learning-metrics strong { display: block; margin-top: 20px; font-family: Georgia,serif; font-size: 44px; font-weight: 500; }
.learning-metrics strong small { font-family: "Segoe UI",sans-serif; font-size: 13px; }
.learning-metrics .metric-date { font-family: "Segoe UI",sans-serif; font-size: 17px; font-weight: 800; line-height: 1.35; }
.learning-metrics p { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.learning-metrics article > div { height: 6px; margin-top: 20px; overflow: hidden; background: #d9ded9; border-radius: 20px; }
.learning-metrics i { display: block; height: 100%; background: #39745d; }
.learning-resume { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 20px; padding: 22px 24px; background: var(--ink); color: white; }
.learning-resume span, .learning-resume small { display: block; color: rgba(255,255,255,.58); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.learning-resume strong { display: block; margin-top: 7px; font-family: Georgia,serif; font-size: 23px; font-weight: 500; }
.learning-resume small { margin-top: 8px; text-transform: none; }
.account-bookmarks { margin-top: 28px; }
.account-bookmarks h3 { font-size: 24px; }
.account-bookmarks ol { margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.account-bookmarks li { display: grid; grid-template-columns: 1fr 180px; gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.account-bookmarks a { font-weight: 800; }
.account-bookmarks time { color: var(--muted); text-align: right; }
.recent-results { margin-top: 28px; }
.recent-results h3 { font-size: 24px; }
.recent-results ol { margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.recent-results li { display: grid; grid-template-columns: 1fr 180px 54px; gap: 18px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.recent-results a { font-weight: 800; }
.recent-results time { color: var(--muted); }
.recent-results li > strong { text-align: right; font-size: 18px; }
.empty-state.compact { padding: 22px; }
.profile-card { display: grid; grid-template-columns: .7fr 1.3fr; gap: 60px; margin-top: 18px; }
.inline-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; }
.narrow-shell { width: min(720px, calc(100% - 64px)); margin: 0 auto; padding-bottom: 90px; }
.security-stack { display: grid; gap: 18px; }
.security-summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.security-summary h2, .setup-steps h2 { margin-top: 10px; font-size: 32px; }
.security-summary p, .setup-steps p { max-width: 520px; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.security-state { flex: none; padding: 10px 13px; border-radius: 999px; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.security-state.enabled { background: var(--mint); color: #285e4a; }
.credential-card.compact { margin-top: 0; padding: 22px; }
.provisioning-details { padding: 16px; background: var(--paper); color: var(--muted); font-size: 11px; }
.provisioning-details summary { cursor: pointer; color: var(--ink); font-weight: 850; }
.provisioning-details code { display: block; margin-top: 12px; overflow-wrap: anywhere; line-height: 1.55; }
.recovery-page { width: min(760px, calc(100% - 64px)); }
.recovery-codes { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 30px 0 22px; padding: 24px; background: var(--ink); color: white; list-style-position: inside; }
.recovery-codes li { padding: 8px; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 11px; }
.recovery-codes code { margin-left: 8px; font-size: 13px; letter-spacing: .04em; }
.document-page { width: min(840px, calc(100% - 64px)); margin: 0 auto; padding: 76px 0 100px; }
.document-page h1 { margin-top: 18px; font-size: clamp(48px,7vw,76px); }
.document-page h2 { margin-top: 44px; font-size: 30px; }
.document-page p { margin-top: 14px; color: var(--muted); line-height: 1.75; }
.document-warning { padding: 18px; background: rgba(228,199,125,.3); border-left: 4px solid #a98125; color: var(--ink) !important; }
.admin-hero { display: flex; justify-content: space-between; align-items: end; gap: 48px; }
.admin-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin-bottom: 18px; background: var(--ink); color: white; }
.admin-metrics article { padding: 28px; border-right: 1px solid rgba(255,255,255,.16); }
.admin-metrics span { display: block; color: rgba(255,255,255,.6); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.admin-metrics strong { display: block; margin-top: 9px; font-family: Georgia, serif; font-size: 42px; font-weight: 500; }
.admin-panel + .admin-panel { margin-top: 18px; }
.table-wrap { overflow-x: auto; margin-top: 28px; }
table { width: 100%; border-collapse: collapse; font-size: 12px; }
th { padding: 12px 10px; color: var(--muted); border-bottom: 1px solid var(--line); text-align: left; font-size: 9px; text-transform: uppercase; }
td { padding: 17px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
td strong, td small { display: block; }
td small { margin-top: 4px; color: var(--muted); }
td:last-child { text-align: right; font-weight: 800; white-space: nowrap; }
.status { display: inline-block; padding: 6px 8px; border-radius: 999px; font-size: 9px; font-weight: 900; }
.status-active { background: var(--mint); }
.status-blocked { background: rgba(235,104,71,.2); color: #9c3e28; }
.status-completed { background: var(--mint); color: #285e4a; }
.status-revoked, .status-expired { background: rgba(235,104,71,.16); color: #8b3824; }
.status-pending { background: rgba(169,202,224,.28); color: #315f78; }
.status-cancelled { background: rgba(101,114,112,.14); color: #52625f; }
.audit-list { margin: 26px 0 0; padding: 0; list-style: none; }
.audit-list li { display: grid; grid-template-columns: 160px 1fr 1fr; gap: 20px; padding: 13px 0; border-top: 1px solid var(--line); font-size: 11px; }
.audit-list span, .audit-list small { color: var(--muted); }
fieldset { display: grid; gap: 12px; margin: 0; padding: 20px; border: 1px solid var(--line); }
legend { padding: 0 8px; font-size: 11px; font-weight: 850; }
.credential-page, .error-page { width: min(820px, calc(100% - 64px)); margin: 0 auto; padding: 80px 0 110px; }
.credential-page > p:not(.eyebrow), .error-page p { margin-top: 20px; color: var(--muted); line-height: 1.7; }
.credential-card { display: grid; gap: 8px; margin-top: 32px; padding: 28px; background: var(--ink); color: white; border-radius: 4px 4px 24px 4px; }
.credential-card span { margin-top: 12px; color: var(--mint); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.credential-card code { padding: 12px; background: rgba(255,255,255,.1); overflow-wrap: anywhere; font-size: 16px; }
.manage-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 18px; }
.access-option { padding: 12px; background: var(--paper); }
.access-option strong, .access-option small { display: block; }
.access-option small { margin-top: 4px; }
.danger-panel dl { margin: 24px 0; }
.danger-panel dl div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.danger-panel dt { color: var(--muted); }
.danger-panel form + form { margin-top: 18px; }
.candidate-admin-metrics, .candidate-confidence { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; background: var(--line); border: 1px solid var(--line); }
.candidate-confidence { grid-template-columns: repeat(3,minmax(0,1fr)); }
.candidate-admin-metrics article, .candidate-confidence article { padding: 24px; background: var(--paper-light); }
.candidate-admin-metrics span, .candidate-confidence span, .candidate-report-meta span { display: block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.candidate-admin-metrics strong, .candidate-confidence strong { display: block; margin-top: 10px; font-family: Georgia,serif; font-size: 38px; font-weight: 500; }
.candidate-admin-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(300px,.9fr); gap: 18px; }
.candidate-method-note ul { display: grid; gap: 10px; margin: 24px 0; padding-left: 20px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.candidate-method-note > p:last-child, .form-note { color: var(--muted); font-size: 11px; line-height: 1.6; }
.candidate-registry { margin-top: 18px; }
.candidate-credential { width: min(960px,calc(100% - 64px)); }
.candidate-report-meta { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; background: var(--line); border: 1px solid var(--line); }
.candidate-report-meta > div { padding: 20px; background: var(--paper-light); }
.candidate-report-meta strong { display: block; margin-top: 9px; font-size: 12px; }
.candidate-result-panel { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 32px; background: var(--ink); color: white; }
.candidate-result-score { width: 130px; height: 130px; display: flex; align-items: baseline; justify-content: center; padding-top: 34px; background: var(--paper-light); color: var(--ink); border-radius: 50% 50% 50% 12%; }
.candidate-result-score strong { font-family: Georgia,serif; font-size: 52px; font-weight: 500; }
.candidate-result-score span { color: var(--coral-dark); font-size: 17px; font-weight: 900; }
.candidate-result-panel h2 { color: white; }
.candidate-result-panel > div:last-child > p:last-child { margin-top: 14px; color: rgba(255,255,255,.64); font-size: 12px; line-height: 1.6; }
.candidate-competency-list { display: grid; gap: 16px; margin-top: 28px; }
.candidate-competency-list article { display: grid; grid-template-columns: 210px minmax(0,1fr) 44px; align-items: center; gap: 16px; }
.candidate-competency-list article > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.candidate-competency-list article > div:first-child span { color: var(--muted); }
.candidate-competency-list article > div:nth-child(2) { height: 8px; overflow: hidden; background: #d9ded9; border-radius: 999px; }
.candidate-competency-list i { display: block; height: 100%; background: var(--coral); }
.candidate-competency-list b { text-align: right; font-size: 12px; }
.candidate-interview-focus { margin-top: 28px; padding: 20px; background: rgba(169,202,224,.28); border-left: 3px solid #578aa9; }
.candidate-interview-focus p { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.6; }
.candidate-confidence { margin-top: 18px; }
.candidate-pending h2 { margin-top: 12px; }
.candidate-pending > p:last-child { margin-top: 14px; color: var(--muted); line-height: 1.6; }
.candidate-report-disclaimer { margin-top: 18px; padding: 24px; background: var(--sand); }
.candidate-report-disclaimer p { margin-top: 9px; color: #5d5134; font-size: 12px; line-height: 1.6; }
.candidate-report-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; }
.candidate-report-actions form { margin: 0; }
.account-data-rights { margin-top: 18px; }
.data-rights-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 28px; }
.data-rights-grid article { display: flex; align-items: flex-start; flex-direction: column; min-height: 300px; padding: 28px; background: var(--paper); border-top: 4px solid var(--blue); }
.data-rights-grid article > span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.data-rights-grid h3 { margin-top: 18px; font-size: 28px; }
.data-rights-grid p { margin: 13px 0 22px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.data-rights-grid .button, .data-rights-grid form { margin-top: auto; }
.data-rights-grid .deletion-request { border-top-color: var(--coral); }
.data-rights-grid .deletion-request.pending { border-top-color: #4e806d; }
.deletion-request-form { width: 100%; display: grid; gap: 14px; }
.deletion-request-form > label:not(.checkbox) { display: grid; gap: 7px; color: #455754; font-size: 11px; font-weight: 850; }
.deletion-request-form textarea { min-height: 92px; }
.deletion-queue > .section-head > strong { font-family: Georgia,serif; font-size: 42px; font-weight: 500; }
.deletion-request-list { display: grid; gap: 12px; margin-top: 28px; }
.deletion-request-list article { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); gap: 32px; padding: 26px; background: var(--paper); border-left: 4px solid var(--coral); }
.deletion-request-list article > div > span { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.deletion-request-list h3 { margin-top: 10px; font-size: 28px; }
.deletion-request-list article > div > p { margin-top: 5px; color: var(--muted); font-size: 12px; }
.deletion-request-list blockquote { margin: 18px 0 0; padding: 14px 16px; background: var(--paper-light); border-left: 2px solid var(--blue); color: var(--muted); font-size: 12px; line-height: 1.6; }
.deletion-request-list form { display: grid; align-content: start; gap: 18px; }
.deletion-request-list .button { justify-self: start; }
.deletion-history { margin-top: 18px; }
.candidate-case-review { margin-top: 18px; }
.case-review-total { min-width: 180px; display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 8px; }
.case-review-total strong { font-family: Georgia,serif; font-size: 48px; font-weight: 500; }
.case-review-total span { color: var(--muted); font-size: 12px; }
.case-review-total small { grid-column: 1 / -1; color: var(--muted); font-size: 10px; }
.candidate-case-answers { display: grid; gap: 1px; margin-top: 28px; background: var(--line); border: 1px solid var(--line); }
.candidate-case-answer { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 24px; background: var(--paper); }
.candidate-case-answer > span { color: var(--coral-dark); font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.candidate-case-answer h3 { font-size: 23px; }
.candidate-case-answer p { margin-top: 12px; color: #405250; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.7; }
.case-review-form { display: grid; gap: 18px; margin-top: 28px; }
.case-review-form > label { display: grid; gap: 7px; color: #455754; font-size: 11px; font-weight: 850; }
.case-review-form fieldset { gap: 1px; padding: 0; background: var(--line); }
.case-review-form fieldset label { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(280px,1.2fr); align-items: center; gap: 20px; padding: 15px; background: var(--paper-light); }
.case-review-form fieldset strong, .case-review-form fieldset small { display: block; }
.case-review-form fieldset small { margin-top: 5px; color: var(--muted); font-weight: 500; line-height: 1.45; }
.case-review-form .button { justify-self: start; }
.case-review-summary { margin-top: 18px; padding: 22px; background: rgba(189,222,209,.35); border-left: 3px solid #4e806d; }
.case-review-summary strong { font-family: Georgia,serif; font-size: 24px; font-weight: 500; }
.case-review-summary p { margin-top: 10px; white-space: pre-wrap; color: var(--muted); font-size: 12px; line-height: 1.65; }
.case-review-summary small { display: block; margin-top: 10px; color: var(--muted); font-size: 10px; }
.protected-hero { width: min(1180px,calc(100% - 64px)); display: grid; grid-template-columns: minmax(0,1fr) 250px; align-items: end; gap: 64px; margin: 0 auto; padding: 72px 0 58px; }
.protected-hero h1 { max-width: 820px; margin-top: 18px; font-size: clamp(48px,6vw,78px); line-height: 1; }
.protected-hero > div > p:last-of-type { max-width: 760px; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.protected-hero aside { display: grid; padding: 24px; background: var(--ink); color: white; border-radius: 4px 4px 24px 4px; }
.protected-hero aside span { color: var(--mint); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.protected-hero aside strong { margin-top: 8px; font-family: Georgia,serif; font-size: 52px; font-weight: 500; }
.protected-hero aside small { color: rgba(255,255,255,.62); }
.protected-shell { width: min(1180px,calc(100% - 64px)); margin: 0 auto; padding-bottom: 100px; }
.protected-program-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.protected-program-card { min-height: 500px; display: flex; align-items: flex-start; flex-direction: column; padding: 34px; background: var(--paper-light); border: 1px solid var(--line); border-top: 5px solid var(--blue); }
.protected-program-card.locked { border-top-color: #9aa3a0; opacity: .78; }
.program-card-head { width: 100%; display: flex; justify-content: space-between; gap: 20px; color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.program-card-head b { color: var(--muted); }
.protected-program-card h2 { margin-top: 28px; font-size: 37px; }
.protected-program-card > p { margin-top: 14px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.protected-program-card dl { width: 100%; display: grid; gap: 12px; margin: 28px 0; }
.protected-program-card dl div { padding-top: 12px; border-top: 1px solid var(--line); }
.protected-program-card dt { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.protected-program-card dd { margin-top: 6px; font-size: 12px; line-height: 1.55; }
.program-progress { width: 100%; height: 7px; margin-top: auto; overflow: hidden; background: #d9ded9; border-radius: 999px; }
.program-progress i { display: block; height: 100%; background: #39745d; }
.protected-program-card .button { margin-top: 18px; }
.access-note { margin-top: auto !important; padding: 14px; background: var(--paper); border-left: 3px solid #89928f; }
.program-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.program-meta span { padding: 7px 9px; background: var(--paper-light); border: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.program-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 18px; padding: 30px; background: var(--mint); }
.program-intro h2 { max-width: 780px; margin-top: 10px; font-size: 34px; }
.private-lesson-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.private-lesson-list li { display: grid; grid-template-columns: 60px minmax(0,1fr) 180px; align-items: center; gap: 24px; padding: 28px; background: var(--paper-light); border: 1px solid var(--line); }
.private-lesson-list li > span { color: var(--coral-dark); font-family: Georgia,serif; font-size: 30px; }
.private-lesson-list small { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.private-lesson-list h2 { margin-top: 8px; font-size: 28px; }
.private-lesson-list p { margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.lesson-list-action { display: grid; justify-items: stretch; gap: 10px; }
.lesson-list-action b { color: #39745d; text-align: center; font-size: 9px; text-transform: uppercase; }
.private-lesson { width: min(1120px,calc(100% - 64px)); margin: 0 auto; padding: 70px 0 110px; }
.private-lesson > header { max-width: 920px; }
.private-lesson > header > a { display: inline-block; margin-bottom: 36px; color: var(--muted); font-size: 11px; font-weight: 800; }
.private-lesson h1 { margin-top: 18px; font-size: clamp(48px,7vw,78px); line-height: 1; }
.private-lesson > header > p:not(.eyebrow) { max-width: 820px; margin-top: 22px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.private-lesson > header > div { display: flex; gap: 10px; margin-top: 24px; color: var(--muted); font-size: 10px; }
.private-lesson-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; align-items: start; gap: 54px; margin-top: 64px; }
.private-lesson-layout .lesson-main > section { padding: 0 0 44px; }
.private-lesson-layout .lesson-main > section + section { padding-top: 44px; border-top: 1px solid var(--line); }
.private-lesson-layout .lesson-main h2 { font-size: 36px; }
.private-lesson-layout .lesson-main p { margin-top: 16px; color: #405250; font-size: 15px; line-height: 1.8; }
.private-lesson-layout .lesson-main ul, .private-lesson-layout .lesson-main ol { display: grid; gap: 11px; margin: 20px 0 0; padding-left: 22px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.private-lesson-layout > aside { position: sticky; top: 24px; display: grid; gap: 16px; }
.lesson-checklist { padding: 26px; background: var(--ink); color: white; }
.lesson-checklist h2 { margin-top: 10px; color: white; font-size: 28px; }
.lesson-checklist ul { display: grid; gap: 12px; margin: 22px 0 0; padding-left: 18px; color: rgba(255,255,255,.7); font-size: 11px; line-height: 1.6; }
.private-lesson-layout > aside form .button { width: 100%; }
.private-lesson-layout .lesson-practice { margin: 10px 0 44px; padding: 34px; background: var(--sand); border: 0; }
.private-lesson-layout .lesson-artifact { padding: 34px; background: var(--mint); border: 0; }
.lesson-artifact > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.lesson-artifact > div span { padding: 8px 10px; background: rgba(255,255,255,.54); font-size: 10px; font-weight: 800; }
.private-lesson-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 50px; padding-top: 30px; border-top: 1px solid var(--line); }
.private-lesson-nav a { display: grid; padding: 20px; background: var(--paper-light); }
.private-lesson-nav a:last-child { text-align: right; }
.private-lesson-nav small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.private-lesson-nav strong { margin-top: 6px; font-size: 12px; }
.company-hero { width: min(1180px,calc(100% - 64px)); display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: end; gap: 64px; margin: 0 auto; padding: 72px 0 58px; }
.company-hero h1 { max-width: 850px; margin-top: 16px; font-size: clamp(52px,7vw,86px); line-height: .98; }
.company-hero > div > p:not(.eyebrow) { max-width: 760px; margin-top: 22px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.company-hero aside { display: grid; min-height: 176px; align-content: end; padding: 26px; background: var(--ink); color: white; border-radius: 4px 4px 28px 4px; }
.company-hero aside span { color: var(--mint); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.company-hero aside strong { margin-top: 10px; color: white; font-family: Georgia,serif; font-size: 27px; font-weight: 500; line-height: 1.05; }
.company-hero aside small { margin-top: 10px; color: rgba(255,255,255,.62); }
.company-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.company-back { display: inline-block; margin-bottom: 28px; color: var(--muted); font-size: 11px; font-weight: 850; }
.company-shell { width: min(1180px,calc(100% - 64px)); margin: 0 auto; padding-bottom: 100px; }
.company-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; background: var(--line); border: 1px solid var(--line); }
.company-metrics article { padding: 24px; background: var(--paper-light); }
.company-metrics span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.company-metrics strong { display: block; margin-top: 8px; font-family: Georgia,serif; font-size: 42px; font-weight: 500; }
.company-learning { margin-top: 18px; padding: 34px; background: var(--paper-light); border: 1px solid var(--line); }
.company-learning > .section-head > span { font-family: Georgia,serif; font-size: 40px; }
.company-program-card { display: grid; grid-template-columns: minmax(0,1fr) 200px; column-gap: 36px; margin-top: 18px; padding: 30px; background: var(--paper); border-top: 5px solid var(--blue); }
.company-program-card.completed { border-top-color: #4e806d; }
.company-program-card .program-card-head, .company-program-card .company-category, .company-program-card h2, .company-program-card > p, .company-program-card .program-progress { grid-column: 1; }
.company-program-card .program-card-head { margin-bottom: 12px; }
.company-program-card .company-category { color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.company-program-card h2 { margin-top: 11px; font-size: 34px; }
.company-program-card > p { margin-top: 11px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.company-program-card .program-progress { margin-top: 24px; }
.company-card-foot { grid-column: 2; grid-row: 1 / 7; display: flex; align-items: flex-end; flex-direction: column; justify-content: space-between; gap: 24px; color: var(--muted); text-align: right; font-size: 10px; }
.company-preview-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 24px; }
.company-preview-card { display: flex; align-items: flex-start; flex-direction: column; min-height: 310px; padding: 24px; background: var(--paper); border-top: 4px solid var(--sand); }
.company-preview-card > span { color: var(--muted); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.company-preview-card h3 { margin-top: 16px; font-size: 27px; }
.company-preview-card p { margin: 12px 0 22px; color: var(--muted); font-size: 11px; line-height: 1.65; }
.company-preview-card .button { margin-top: auto; }
.company-report { margin-top: 18px; }
.company-report > .section-head > strong, .company-member-registry > .section-head > strong { font-family: Georgia,serif; font-size: 42px; font-weight: 500; }
.company-report-list, .company-member-list { display: grid; gap: 1px; margin-top: 24px; background: var(--line); border: 1px solid var(--line); }
.company-report-list article { display: grid; grid-template-columns: minmax(0,1fr) 300px auto; align-items: center; gap: 26px; padding: 22px; background: var(--paper); }
.company-report-list article > div > span, .company-member-list article > div > span { color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.company-report-list h3, .company-member-list h3 { margin-top: 7px; font-size: 24px; }
.company-report-list p, .company-member-list p { margin-top: 5px; color: var(--muted); font-size: 11px; }
.company-report-list dl, .company-member-list dl { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--line); }
.company-report-list dl div, .company-member-list dl div { padding: 12px; background: var(--paper-light); text-align: center; }
.company-report-list dt, .company-member-list dt { color: var(--muted); font-size: 8px; font-weight: 900; text-transform: uppercase; }
.company-report-list dd, .company-member-list dd { margin-top: 5px; font-size: 17px; font-weight: 900; }
.danger-text { color: var(--coral-dark); }
.company-program-hero h1 { font-size: clamp(48px,6vw,76px); }
.company-review-note { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; margin-bottom: 18px; padding: 28px; background: var(--sand); }
.company-review-note h2 { margin-top: 8px; font-size: 31px; }
.company-review-note p { max-width: 760px; margin-top: 10px; color: #5d5134; font-size: 12px; line-height: 1.65; }
.company-review-note > a { flex: 0 0 auto; color: #5d5134; font-size: 10px; font-weight: 850; border-bottom: 1px solid currentColor; }
.company-source { display: grid; gap: 12px; margin-top: 18px; padding: 24px; background: rgba(169,202,224,.24); color: var(--muted); font-size: 11px; line-height: 1.65; }
.company-source a { justify-self: start; border-bottom: 1px solid currentColor; font-weight: 850; }
.company-assessment-entry { display: flex; align-items: center; justify-content: space-between; gap: 38px; margin-top: 18px; padding: 32px; background: var(--ink); color: white; border-left: 5px solid var(--blue); }
.company-assessment-entry.passed { border-left-color: #71ad93; }
.company-assessment-entry h2 { margin-top: 10px; color: white; font-size: 34px; }
.company-assessment-entry p { max-width: 760px; margin-top: 10px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.65; }
.company-assessment-entry small { display: block; margin-top: 12px; color: var(--mint); font-size: 10px; }
.company-assessment-entry .button { flex: 0 0 auto; }
.company-assessment-hero { padding-bottom: 48px; }
.company-assessment-hero > p:last-child { max-width: 820px; }
.company-assessment-shell { width: min(980px,calc(100% - 64px)); margin: 0 auto; padding-bottom: 110px; }
.company-assessment-rules { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; background: var(--line); border: 1px solid var(--line); }
.company-assessment-rules article { padding: 24px; background: var(--paper-light); }
.company-assessment-rules span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.company-assessment-rules strong { display: block; margin-top: 8px; font-family: Georgia,serif; font-size: 40px; font-weight: 500; }
.company-assessment-rules small { display: block; margin-top: 7px; color: #39745d; font-size: 9px; font-weight: 850; }
.company-assessment-form { display: grid; gap: 16px; margin-top: 18px; }
.company-question { display: grid; gap: 18px; padding: 28px; background: var(--paper-light); border: 1px solid var(--line); }
.company-question legend { width: 100%; display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 14px; padding: 0 0 18px; font-family: Georgia,serif; font-size: 23px; line-height: 1.35; }
.company-question legend span { color: var(--coral-dark); }
.company-question > small { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.company-question > div { display: grid; gap: 8px; }
.company-question label { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: 12px; padding: 15px; background: var(--paper); border: 1px solid transparent; color: #405250; font-size: 12px; line-height: 1.55; cursor: pointer; }
.company-question label:has(input:checked) { border-color: var(--blue); background: rgba(169,202,224,.22); }
.company-question input { margin-top: 3px; accent-color: var(--coral-dark); }
.company-question input:disabled + span { opacity: .74; }
.company-assessment-form > .button { justify-self: start; margin-top: 8px; }
.company-assessment-result { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 34px; margin-top: 18px; padding: 30px; background: var(--ink); color: white; border-left: 5px solid var(--coral); }
.company-assessment-result.passed { border-left-color: #71ad93; }
.company-result-score { width: 130px; height: 130px; display: flex; align-items: baseline; justify-content: center; padding-top: 34px; background: var(--paper-light); color: var(--ink); border-radius: 50% 50% 50% 12%; }
.company-result-score strong { font-family: Georgia,serif; font-size: 52px; font-weight: 500; }
.company-result-score span { color: var(--coral-dark); font-size: 17px; font-weight: 900; }
.company-assessment-result h2 { margin-top: 9px; color: white; font-size: 34px; }
.company-assessment-result > div:last-child > p:last-child { margin-top: 12px; color: rgba(255,255,255,.68); font-size: 12px; line-height: 1.65; }
.company-assessment-competencies, .company-attempt-history { margin-top: 18px; padding: 30px; background: var(--paper-light); border: 1px solid var(--line); }
.company-assessment-competencies > div:last-child { display: grid; gap: 14px; margin-top: 24px; }
.company-assessment-competencies article { display: grid; grid-template-columns: 230px minmax(0,1fr) 48px; align-items: center; gap: 16px; }
.company-assessment-competencies article > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.company-assessment-competencies article > div:first-child span { color: var(--muted); }
.company-assessment-competencies article > div:nth-child(2) { height: 8px; overflow: hidden; background: #d9ded9; border-radius: 999px; }
.company-assessment-competencies i { display: block; height: 100%; background: #39745d; }
.company-assessment-competencies b { text-align: right; font-size: 11px; }
.company-attempt-history ol { display: grid; gap: 1px; margin: 24px 0 0; padding: 0; background: var(--line); list-style: none; }
.company-attempt-history li { display: grid; grid-template-columns: minmax(0,1fr) 190px 150px; gap: 18px; padding: 15px; background: var(--paper); font-size: 11px; }
.company-attempt-history time { color: var(--muted); }
.company-attempt-history strong { text-align: right; }
.success-text { color: #39745d; }
.company-manage-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.company-assignment-form { grid-column: 1 / -1; }
.company-assignment-form form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.company-assignment-form form > .checkbox, .company-assignment-form form > .button { align-self: end; }
.company-member-registry { margin-top: 18px; }
.company-member-list article { display: grid; grid-template-columns: minmax(0,1fr) 300px auto 150px; align-items: center; gap: 22px; padding: 22px; background: var(--paper); }
.company-member-list article.inactive { opacity: .62; }
.company-member-list form { margin: 0; text-align: right; }
.company-report-link { justify-self: end; white-space: nowrap; }
.company-member-learning-hero aside { display: grid; min-width: 220px; align-content: center; padding: 24px; background: var(--ink); color: white; border-radius: 4px 4px 24px 4px; }
.company-member-learning-hero aside span { color: var(--mint); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.company-member-learning-hero aside strong { margin-top: 8px; color: white; font-family: Georgia,serif; font-size: 42px; font-weight: 500; }
.company-member-learning-hero aside small { color: rgba(255,255,255,.62); }
.company-member-programs { display: grid; gap: 18px; }
.company-member-program { padding: 30px; background: var(--paper-light); border: 1px solid var(--line); border-top: 5px solid var(--coral); }
.company-member-program.passed { border-top-color: #71ad93; }
.company-member-program > header { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 24px; }
.company-member-program > header span { color: var(--coral-dark); font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.company-member-program > header h2 { margin-top: 8px; font-size: 32px; }
.company-member-program > header p { margin-top: 8px; color: var(--muted); font-size: 11px; }
.company-member-program > header > strong { font-family: Georgia,serif; font-size: 42px; font-weight: 500; }
.company-member-program > dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 22px; background: var(--line); border: 1px solid var(--line); }
.company-member-program > dl div { padding: 15px; background: var(--paper); }
.company-member-program dt { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.company-member-program dd { margin-top: 6px; font-size: 18px; font-weight: 900; }
.company-member-program > section { margin-top: 24px; }
.company-member-program > section > h3, .company-grant-history h3 { font-size: 20px; }
.company-member-attempts, .company-grant-history ol { display: grid; gap: 1px; margin: 14px 0 0; padding: 0; background: var(--line); list-style: none; }
.company-member-attempts li { display: grid; grid-template-columns: minmax(0,1fr) 180px 150px; gap: 16px; padding: 14px; background: var(--paper); font-size: 11px; }
.company-member-attempts time { color: var(--muted); }
.company-member-attempts strong { text-align: right; }
.company-member-empty, .company-attempt-available { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.company-grant-history { margin-top: 24px; }
.company-grant-history li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; padding: 15px; background: var(--paper); }
.company-grant-history li div { display: grid; gap: 5px; }
.company-grant-history li span, .company-grant-history li small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.company-grant-form { display: grid; gap: 14px; margin-top: 24px; padding: 22px; background: var(--sand); }
.company-grant-form textarea { min-height: 92px; resize: vertical; }
.company-grant-form .button { justify-self: start; }
.company-grant-form > small { color: #5d5134; font-size: 9px; line-height: 1.5; }
.text-button { padding: 4px 0; background: transparent; border: 0; border-bottom: 1px solid var(--ink); cursor: pointer; font-size: 11px; font-weight: 850; }
.muted { margin-top: 24px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.error-page span { color: var(--coral-dark); font-family: Georgia,serif; font-size: 84px; }
.error-page h1 { margin-top: 8px; font-size: 52px; }
.error-page .button { margin-top: 28px; }
.company-admin-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; padding: 6px; background: #e8ede8; border: 1px solid var(--line); border-radius: 10px; }
.company-admin-nav a { padding: 11px 16px; color: #42524f; border-radius: 7px; font-size: 14px; font-weight: 800; text-decoration: none; }
.company-admin-nav a[aria-current="page"] { background: var(--paper-light); color: var(--ink); box-shadow: 0 2px 8px rgba(24,45,41,.08); }
.company-editorial-hero aside, .company-revision-hero aside, .company-lesson-editor-hero aside { min-width: 220px; display: grid; align-content: center; gap: 8px; padding: 24px; background: var(--ink); color: white; border-radius: 4px 4px 24px 4px; }
.company-editorial-hero aside span, .company-revision-hero aside span, .company-lesson-editor-hero aside span, .company-assessment-editor-hero aside span, .company-question-editor-hero aside span { color: var(--mint); font-size: 12px; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.company-editorial-hero aside strong, .company-revision-hero aside strong, .company-lesson-editor-hero aside strong, .company-assessment-editor-hero aside strong, .company-question-editor-hero aside strong { color: white; font-family: Georgia,serif; font-size: 32px; font-weight: 500; }
.company-editorial-hero aside small, .company-revision-hero aside small, .company-lesson-editor-hero aside small, .company-assessment-editor-hero aside small, .company-question-editor-hero aside small { color: rgba(255,255,255,.65); font-size: 13px; }
.company-editorial-shell { font-size: 16px; }
.company-editorial-shell .form-stack label:not(.checkbox), .company-editorial-shell .editorial-fieldset label { color: #354542; font-size: 14px; }
.company-editorial-shell input, .company-editorial-shell textarea, .company-editorial-shell select { font-size: 15px; line-height: 1.55; }
.company-editorial-shell textarea { min-height: 96px; resize: vertical; }
.editorial-principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; padding: 1px; background: var(--line); border: 1px solid var(--line); }
.editorial-principles article { display: grid; gap: 8px; padding: 20px; background: var(--paper-light); }
.editorial-principles strong { color: var(--coral-dark); font-size: 14px; }
.editorial-principles span { color: var(--muted); font-size: 14px; line-height: 1.55; }
.company-content-list { display: grid; gap: 18px; }
.company-content-card { padding: 28px; background: var(--paper-light); border: 1px solid var(--line); border-top: 4px solid var(--ink); }
.company-content-card > header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 24px; align-items: start; }
.company-content-card > header span:first-child { color: var(--coral-dark); font-size: 13px; font-weight: 850; }
.company-content-card h2 { margin-top: 8px; font-size: 30px; }
.company-content-card header p { max-width: 800px; margin-top: 10px; color: var(--muted); font-size: 15px; line-height: 1.6; }
.revision-status { display: inline-flex; width: fit-content; align-items: center; padding: 7px 10px; background: #e6ebe8; color: #3b4c48; border-radius: 999px; font-family: Arial,sans-serif !important; font-size: 12px !important; font-weight: 850 !important; white-space: nowrap; }
.revision-status.review, .revision-status.changes { background: #f4e8c9; color: #694f12; }
.revision-status.approved, .revision-status.published { background: #dcece4; color: #24583f; }
.revision-status.discarded, .revision-status.superseded { background: #e7e5e2; color: #66615a; }
.company-content-card dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 22px; background: var(--line); border: 1px solid var(--line); }
.company-content-card dl div { padding: 14px; background: var(--paper); }
.company-content-card dt { color: var(--muted); font-size: 12px; }
.company-content-card dd { margin-top: 5px; font-size: 22px; font-weight: 850; }
.company-content-action { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 20px; }
.company-content-action p { color: var(--muted); font-size: 14px; line-height: 1.55; }
.company-content-create { margin-top: 20px; padding: 20px; background: #f3f0e8; }
.company-content-create .button { justify-self: start; }
.company-revision-history { margin-top: 18px; }
.company-revision-history ol { display: grid; gap: 1px; margin: 20px 0 0; padding: 0; background: var(--line); list-style: none; }
.company-revision-history li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px; align-items: center; padding: 16px; background: var(--paper); }
.company-revision-history li > div { display: grid; gap: 7px; }
.company-revision-history li > div:last-child { justify-items: end; }
.company-revision-history li strong { font-size: 15px; }
.company-revision-history li small, .company-revision-history li time { color: var(--muted); font-size: 13px; }
.company-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 18px; align-items: start; }
.company-editor-workspace { display: grid; gap: 18px; }
.company-editor-sidebar { position: sticky; top: 18px; display: grid; gap: 18px; }
.company-revision-lessons > ol { display: grid; gap: 1px; margin: 22px 0 0; padding: 0; background: var(--line); list-style: none; }
.company-revision-lessons > ol > li { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 18px; background: var(--paper); }
.company-revision-lessons > ol > li.incomplete { border-left: 4px solid var(--coral); }
.company-revision-lessons > ol > li > span { color: var(--coral-dark); font-family: Georgia,serif; font-size: 24px; }
.company-revision-lessons li small { color: var(--muted); font-size: 12px; }
.company-revision-lessons li h3 { margin-top: 5px; font-size: 20px; }
.company-revision-lessons li p { margin-top: 6px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.company-add-lesson { margin-top: 24px; padding: 22px; background: #f3f0e8; border-left: 4px solid var(--coral); }
.company-add-lesson .button { justify-self: start; }
.editorial-assessment-card > p { margin-top: 10px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.editorial-assessment-card > dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 20px; background: var(--line); border: 1px solid var(--line); }
.editorial-assessment-card > dl > div { padding: 16px; background: var(--paper); }
.editorial-assessment-card dt { color: var(--muted); font-size: 14px; }
.editorial-assessment-card dd { margin-top: 6px; font-size: 24px; font-weight: 850; }
.editorial-assessment-card.missing { border-left: 4px solid var(--coral); }
.editorial-action-form { display: grid; gap: 18px; }
.editorial-action-form p { margin-top: 7px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.editorial-action-form .button { justify-self: start; }
.editorial-review-form { display: grid; gap: 16px; }
.editorial-review-form label { display: grid; gap: 8px; font-size: 14px; font-weight: 800; }
.editorial-review-form > div { display: flex; flex-wrap: wrap; gap: 9px; }
.editorial-discard { padding: 18px 20px; background: var(--paper-light); border: 1px solid var(--line); }
.editorial-discard summary { cursor: pointer; font-size: 14px; font-weight: 850; }
.editorial-discard form { margin-top: 16px; }
.editorial-discard .button { justify-self: start; }
.editorial-timeline ol { display: grid; gap: 18px; margin: 18px 0 0; padding: 0; list-style: none; }
.editorial-timeline li { display: grid; grid-template-columns: 10px minmax(0,1fr); gap: 12px; }
.editorial-timeline li i { width: 9px; height: 9px; margin-top: 5px; background: var(--coral); border-radius: 50%; }
.editorial-timeline li div { display: grid; gap: 5px; }
.editorial-timeline li strong { font-size: 14px; }
.editorial-timeline li p, .editorial-timeline li small { color: var(--muted); font-size: 13px; line-height: 1.5; }
.company-lesson-editor { max-width: 900px; margin-inline: auto; }
.editorial-field-row { display: grid; grid-template-columns: minmax(0,1fr) 180px; gap: 16px; }
.editorial-section { background: var(--paper); border: 1px solid var(--line); }
.editorial-section summary { padding: 16px 18px; cursor: pointer; font-size: 16px; font-weight: 850; }
.editorial-section > div { display: grid; gap: 18px; padding: 18px; border-top: 1px solid var(--line); }
.editorial-fieldset { display: grid; gap: 18px; margin: 0; padding: 22px; border: 1px solid var(--line); }
.editorial-fieldset legend { padding: 0 8px; color: var(--ink); font-size: 17px; font-weight: 850; }
.company-editor-toolbar { position: sticky; bottom: 0; display: flex; justify-content: flex-end; gap: 10px; padding: 16px; background: rgba(250,249,245,.96); border-top: 1px solid var(--line); backdrop-filter: blur(8px); }
.company-lesson-editor.readonly > fieldset { display: grid; gap: 18px; margin-top: 18px; padding: 0; border: 0; }
.assessment-quality { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); gap: 28px; align-items: center; margin-bottom: 18px; padding: 24px 28px; background: #eef4f0; border: 1px solid #cddfd5; border-left: 5px solid #39745d; }
.assessment-quality.warning { background: #f6efe0; border-color: #e5d5ad; border-left-color: var(--coral); }
.assessment-quality h2 { margin-top: 7px; font-size: 27px; }
.assessment-quality p, .assessment-quality li { color: var(--muted); font-size: 16px; line-height: 1.55; }
.assessment-quality > div > p:last-child { margin-top: 8px; }
.assessment-quality ul { display: grid; gap: 7px; margin: 0; padding-left: 22px; }
.assessment-editor-grid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 18px; align-items: start; }
.assessment-editor-grid > aside { position: sticky; top: 18px; display: grid; gap: 18px; }
.assessment-question-list > ol { display: grid; gap: 1px; margin: 22px 0 0; padding: 0; background: var(--line); list-style: none; }
.assessment-question-list > ol > li { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 20px; background: var(--paper); }
.assessment-question-list > ol > li > span { color: var(--coral-dark); font-family: Georgia,serif; font-size: 24px; }
.assessment-question-list li small, .assessment-question-list li p { color: var(--muted); font-size: 14px; line-height: 1.5; }
.assessment-question-list li h3 { margin-top: 7px; font-size: 19px; line-height: 1.42; }
.assessment-question-list li p { margin-top: 7px; }
.assessment-add-question { margin-top: 24px; padding: 22px; background: #f3f0e8; border-left: 4px solid var(--coral); }
.assessment-add-question .button, .assessment-settings .button { justify-self: start; }
.assessment-key-note p:last-child { margin-top: 10px; color: var(--muted); font-size: 16px; line-height: 1.65; }
.assessment-editor-guidance { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-bottom: 18px; padding: 20px 24px; background: var(--ink); color: white; }
.assessment-editor-guidance strong { color: var(--mint); font-size: 16px; }
.assessment-editor-guidance span { color: rgba(255,255,255,.75); font-size: 16px; line-height: 1.5; }
.assessment-question-editor { max-width: 1040px; margin-inline: auto; }
.assessment-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.assessment-option-editor { display: grid; gap: 14px; padding: 18px; background: var(--paper); border: 1px solid var(--line); }
.assessment-option-editor header { display: flex; justify-content: space-between; gap: 16px; }
.assessment-option-editor header strong { font-size: 17px; }
.assessment-option-editor header span { color: var(--muted); font-size: 14px; }
.assessment-correct-choice { display: flex !important; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 10px !important; padding: 12px; background: #edf4ef; border: 1px solid #cddfd5; }
.assessment-correct-choice input { width: 20px; height: 20px; margin: 0; }
.assessment-correct-choice span { font-size: 15px; font-weight: 850; }
.assessment-question-editor.readonly > fieldset { display: grid; gap: 18px; margin-top: 18px; padding: 0; border: 0; }
.company-assessment-competencies > div:last-child { display: flex; flex-wrap: wrap; gap: 10px; }
.company-topic-chip { display: inline-flex; padding: 9px 12px; background: #e7eee9; color: #315e4c; border-radius: 999px; font-size: 14px; font-weight: 800; }
.company-report-entry { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 18px; padding: 30px; }
.company-report-entry h2 { margin-top: 8px; font-size: 32px; }
.company-report-entry p { max-width: 760px; margin-top: 10px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.company-report-entry .button { flex: 0 0 auto; }
.company-report-hero { align-items: flex-end; padding-bottom: 42px; }
.company-report-hero > div > p:not(.eyebrow) { max-width: 760px; margin-top: 14px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.company-report-hero > div > small { display: block; margin-top: 13px; color: var(--coral-dark); font-size: 14px; font-weight: 800; }
.company-report-export { display: grid; justify-items: end; gap: 9px; }
.company-report-export small { color: var(--muted); font-size: 14px; }
.company-report-shell { padding-bottom: 110px; }
.company-report-filters { display: grid; grid-template-columns: minmax(190px,1.25fr) repeat(3,minmax(170px,1fr)) auto; align-items: end; gap: 14px; margin-bottom: 18px; padding: 22px; }
.company-report-filters label, .company-report-scope { display: grid; gap: 8px; color: #405250; font-size: 14px; font-weight: 800; }
.company-report-filters input, .company-report-filters select { min-height: 46px; padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); color: var(--ink); font: inherit; font-size: 16px; }
.company-report-scope { min-height: 74px; align-content: center; padding: 10px 12px; background: #edf1ed; border: 1px solid var(--line); }
.company-report-scope span { color: var(--muted); font-size: 14px; font-weight: 700; }
.company-report-scope strong { font-size: 16px; }
.company-report-filter-actions { display: flex; gap: 8px; }
.company-report-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; margin-bottom: 18px; background: var(--line); border: 1px solid var(--line); }
.company-report-metrics article { min-height: 154px; padding: 24px; background: var(--paper-light); }
.company-report-metrics article.attention { background: #fff1eb; }
.company-report-metrics span { color: var(--muted); font-size: 14px; font-weight: 850; }
.company-report-metrics strong { display: block; margin-top: 14px; font-family: Georgia,serif; font-size: 44px; font-weight: 500; }
.company-report-metrics small { display: block; margin-top: 9px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.company-report-alert { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; padding: 18px 22px; background: #fff1eb; border-left: 5px solid var(--coral); }
.company-report-alert div { display: grid; gap: 5px; }
.company-report-alert strong { font-size: 17px; }
.company-report-alert span { color: #75412f; font-size: 14px; }
.company-report-table-panel, .company-report-programs, .company-report-topics { margin-top: 18px; }
.company-report-table-panel > .section-head > strong { font-family: Georgia,serif; font-size: 40px; font-weight: 500; }
.company-learning-report-table { min-width: 1120px; font-size: 14px; }
.company-learning-report-table th, .company-report-programs th { padding: 13px 12px; color: var(--muted); font-size: 13px; letter-spacing: .02em; text-align: left; }
.company-learning-report-table td, .company-report-programs td { padding: 15px 12px; vertical-align: top; font-size: 14px; line-height: 1.45; }
.company-learning-report-table td > strong, .company-report-programs td > strong { display: block; font-size: 15px; }
.company-learning-report-table td > small, .company-report-programs td > small { display: block; margin-top: 5px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.report-status { display: inline-flex; padding: 7px 10px; background: #e7ece9; color: #3e504b; border-radius: 999px; font-size: 13px; font-weight: 850; white-space: nowrap; }
.report-status.completed { background: #dcece4; color: #24583f; }
.report-status.overdue, .report-status.attempts_exhausted { background: #f8ddd3; color: #8b3824; }
.report-status.in_progress { background: #e2edf3; color: #315f78; }
.report-status.unassigned { background: #eceae7; color: #625d55; }
.report-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin-top: 22px; }
.report-pagination > :last-child { justify-self: end; }
.report-pagination strong { font-size: 14px; }
.company-report-programs table { min-width: 780px; font-size: 14px; }
.company-report-topics > .section-head > span { color: var(--muted); font-size: 14px; }
.company-report-topic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 24px; }
.company-report-topic-grid article { padding: 20px; background: var(--paper); border: 1px solid var(--line); }
.company-report-topic-grid article > span { color: var(--muted); font-size: 13px; }
.company-report-topic-grid h3 { margin-top: 9px; font-size: 21px; }
.company-report-topic-grid .program-progress { margin-top: 20px; }
.company-report-topic-grid p { margin-top: 11px; color: var(--muted); font-size: 14px; }
.company-report-privacy { max-width: 780px; margin-top: 18px; color: var(--muted); font-size: 16px; line-height: 1.65; }
@media (max-width: 900px) {
  .editorial-principles, .company-editor-layout, .assessment-editor-grid, .assessment-quality { grid-template-columns: 1fr; }
  .company-editor-sidebar, .assessment-editor-grid > aside { position: static; }
  .company-content-card > header { grid-template-columns: 1fr; }
  .company-report-entry, .company-report-alert { align-items: flex-start; flex-direction: column; }
  .company-report-hero { align-items: flex-start; }
  .company-report-export { justify-items: start; }
  .company-report-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-report-filter-actions { align-self: end; }
  .company-report-metrics, .company-report-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .company-content-card dl, .editorial-field-row, .editorial-assessment-card > dl, .assessment-option-grid { grid-template-columns: 1fr; }
  .company-content-action, .company-editor-toolbar { align-items: flex-start; flex-direction: column; }
  .company-revision-history li, .company-revision-lessons > ol > li, .assessment-question-list > ol > li { grid-template-columns: 1fr; }
  .company-revision-history li > div:last-child { justify-items: start; }
  .company-report-filters, .company-report-topic-grid { grid-template-columns: 1fr; }
  .company-report-filter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .company-report-filter-actions .button, .company-report-entry .button, .company-report-alert .button, .company-report-export .button { width: 100%; }
  .company-report-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-report-metrics article { min-height: 138px; padding: 18px; }
  .company-report-metrics strong { font-size: 34px; }
  .company-report-table-panel .table-wrap { overflow: visible; }
  .company-learning-report-table { min-width: 0; }
  .company-learning-report-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .company-learning-report-table, .company-learning-report-table tbody { display: grid; gap: 14px; }
  .company-learning-report-table tr { display: grid; padding: 10px; background: var(--paper); border: 1px solid var(--line); }
  .company-learning-report-table td { display: grid; grid-template-columns: 108px minmax(0,1fr); gap: 10px; padding: 10px; border-bottom: 1px solid var(--line); }
  .company-learning-report-table td:last-child { border-bottom: 0; }
  .company-learning-report-table td::before { content: attr(data-label); color: var(--muted); font-size: 13px; font-weight: 800; }
  .company-learning-report-table td .text-button { justify-self: start; }
  .report-pagination { grid-template-columns: 1fr 1fr; }
  .report-pagination strong { grid-column: 1 / -1; grid-row: 1; text-align: center; }
  .report-pagination > :last-child { justify-self: stretch; }
}
footer { min-height: 120px; display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 28px max(32px, calc((100vw - 1180px) / 2)); background: var(--ink-deep); color: white; }
footer > div { display: flex; gap: 18px; }
footer span, footer a { color: rgba(255,255,255,.6); font-size: 10px; }
button:focus-visible, a:focus-visible { outline: 3px solid var(--sand); outline-offset: 3px; }

@media (max-width: 900px) {
  .site-header { padding-inline: 20px; }
  .site-header nav { gap: 12px; }
  .auth-landing, .auth-shell, .dashboard-hero, .profile-card, .manage-grid, .candidate-admin-grid, .data-rights-grid, .deletion-request-list article { grid-template-columns: 1fr; }
  .auth-landing, .auth-shell { gap: 42px; }
  .access-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .learning-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-hero { align-items: flex-start; flex-direction: column; }
  .audit-list li { grid-template-columns: 130px 1fr; }
  .audit-list small { grid-column: 2; }
  .protected-hero, .private-lesson-layout, .company-hero { grid-template-columns: 1fr; }
  .private-lesson-layout > aside { position: static; }
  .company-preview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .company-report-list article, .company-member-list article { grid-template-columns: 1fr 260px; }
  .company-report-link { justify-self: start; }
  .company-member-list form { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 620px) {
  .site-header { align-items: flex-start; flex-direction: column; padding-block: 14px; }
  .site-header nav { width: 100%; flex-wrap: wrap; }
  .brand small { display: none; }
  .auth-landing, .auth-shell, .dashboard-hero, .admin-hero, .simple-hero, .dashboard-shell, .admin-shell, .narrow-shell, .document-page, .credential-page, .error-page { width: min(100% - 28px, 520px); }
  .protected-hero, .protected-shell, .private-lesson, .company-hero, .company-shell { width: min(100% - 28px,520px); }
  .auth-landing, .auth-shell { padding: 52px 0; }
  .auth-landing h1, .auth-copy h1, .dashboard-hero h1, .admin-hero h1, .simple-hero h1, .credential-page h1 { font-size: 46px; }
  .auth-card, .settings-card, .dashboard-section, .admin-panel, .profile-card { padding: 24px 20px; }
  .security-summary { align-items: flex-start; flex-direction: column; }
  .recovery-codes { grid-template-columns: 1fr; padding: 18px; }
  .dashboard-hero { grid-template-columns: 1fr; gap: 30px; padding: 50px 0; }
  .access-grid, .admin-metrics, .candidate-admin-metrics, .candidate-confidence, .candidate-report-meta { grid-template-columns: 1fr; }
  .protected-program-grid, .private-lesson-nav { grid-template-columns: 1fr; }
  .company-metrics, .company-preview-grid, .company-manage-grid, .company-assignment-form form { grid-template-columns: 1fr; }
  .company-assignment-form { grid-column: auto; }
  .company-program-card { grid-template-columns: 1fr; }
  .company-card-foot { grid-column: 1; grid-row: auto; align-items: flex-start; margin-top: 22px; text-align: left; }
  .company-report-list article, .company-member-list article { grid-template-columns: 1fr; }
  .company-member-list form { grid-column: auto; }
  .company-review-note { align-items: flex-start; flex-direction: column; }
  .company-assessment-entry { align-items: flex-start; flex-direction: column; }
  .company-assessment-shell { width: min(100% - 28px,520px); }
  .company-assessment-rules, .company-assessment-result { grid-template-columns: 1fr; }
  .company-assessment-competencies article, .company-attempt-history li { grid-template-columns: 1fr; }
  .company-assessment-competencies b, .company-attempt-history strong { text-align: left; }
  .company-member-program > header, .company-member-program > dl, .company-member-attempts li, .company-grant-history li { grid-template-columns: 1fr; }
  .company-member-attempts strong { text-align: left; }
  .private-lesson-list li { grid-template-columns: 42px 1fr; }
  .lesson-list-action { grid-column: 2; }
  .program-intro { align-items: flex-start; flex-direction: column; }
  .candidate-result-panel, .candidate-competency-list article { grid-template-columns: 1fr; }
  .candidate-case-answer, .case-review-form fieldset label { grid-template-columns: 1fr; }
  .candidate-competency-list b { text-align: left; }
  .candidate-report-actions { align-items: flex-start; flex-direction: column; }
  .inline-form { grid-template-columns: 1fr; }
  .learning-metrics { grid-template-columns: 1fr; }
  .learning-resume { align-items: flex-start; flex-direction: column; }
  .learning-resume .button { width: 100%; }
  .account-bookmarks li { grid-template-columns: 1fr; gap: 5px; }
  .account-bookmarks time { text-align: left; }
  .recent-results li { grid-template-columns: 1fr auto; }
  .recent-results time { grid-column: 1; }
  .admin-metrics article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.16); }
  .section-head { align-items: flex-start; flex-direction: column; }
  .audit-list li { grid-template-columns: 1fr; gap: 5px; }
  .audit-list small { grid-column: auto; }
  footer { align-items: flex-start; flex-direction: column; padding-inline: 20px; }
  footer > div { flex-direction: column; gap: 7px; }
}

/* Mobile usability and visual consistency */

:root {
  --muted: #60706d;
  --coral-dark: #b9472c;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
}

body {
  min-width: 320px;
}

button,
a,
input,
select,
textarea,
summary {
  touch-action: manipulation;
}

.button.primary {
  color: var(--ink-deep);
}

input,
select,
textarea,
.company-editorial-shell input,
.company-editorial-shell textarea,
.company-editorial-shell select {
  min-width: 0;
  font-size: 16px;
}

.form-stack label:not(.checkbox),
.inline-form label,
.deletion-request-form > label:not(.checkbox),
.case-review-form > label,
.case-review-form fieldset label,
.company-report-filters label,
.company-report-scope,
.company-editorial-shell .form-stack label:not(.checkbox),
.company-editorial-shell .editorial-fieldset label {
  font-size: 14px;
}

.checkbox,
.form-foot,
.notice,
.attempt-note,
.form-note {
  font-size: 13px;
}

.eyebrow {
  font-size: 12px;
  letter-spacing: .09em;
}

.brand small {
  font-size: 11px;
}

.site-header nav {
  font-size: 14px;
}

.account-mobile-menu {
  display: none;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}

.table-wrap {
  scrollbar-color: rgba(24,51,53,.34) transparent;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}

.table-wrap:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--sand);
  outline-offset: 3px;
}

table {
  font-size: 14px;
}

th {
  font-size: 12px;
  letter-spacing: .025em;
}

td,
td small {
  overflow-wrap: anywhere;
}

td small {
  font-size: 13px;
}

.status,
.security-state,
.revision-status,
.report-status {
  font-size: 12px !important;
}

.access-grid article > span,
.learning-metrics span,
.learning-resume span,
.learning-resume small,
.dashboard-hero aside span,
.admin-metrics span,
.candidate-admin-metrics span,
.candidate-confidence span,
.candidate-report-meta span,
.data-rights-grid article > span,
.deletion-request-list article > div > span,
.candidate-case-answer > span,
.protected-hero aside span,
.program-card-head,
.protected-program-card dt,
.private-lesson-list small,
.lesson-list-action b,
.private-lesson-nav small,
.company-hero aside span,
.company-metrics span,
.company-program-card .company-category,
.company-preview-card > span,
.company-report-list article > div > span,
.company-member-list article > div > span,
.company-report-list dt,
.company-member-list dt,
.company-assessment-rules span,
.company-assessment-rules small,
.company-question > small,
.company-member-learning-hero aside span,
.company-member-program > header span,
.company-member-program dt {
  font-size: 12px;
}

.access-grid p,
.learning-metrics p,
.security-summary p,
.setup-steps p,
.candidate-method-note ul,
.candidate-result-panel > div:last-child > p:last-child,
.candidate-interview-focus p,
.candidate-report-disclaimer p,
.data-rights-grid p,
.deletion-request-list article > div > p,
.deletion-request-list blockquote,
.candidate-case-answer p,
.case-review-summary p,
.protected-program-card > p,
.protected-program-card dd,
.private-lesson-list p,
.lesson-checklist ul,
.company-program-card > p,
.company-preview-card p,
.company-report-list p,
.company-member-list p,
.company-review-note p,
.company-source,
.company-assessment-entry p,
.company-assessment-result > div:last-child > p:last-child,
.company-attempt-history li,
.company-member-program > header p,
.company-member-attempts li,
.company-member-empty,
.company-attempt-available,
.company-grant-history li span,
.company-grant-history li small,
.muted {
  font-size: 14px;
  line-height: 1.6;
}

.company-question label {
  font-size: 15px;
}

.company-question input {
  width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
}

.company-question label:focus-within {
  border-color: var(--coral-dark);
  box-shadow: 0 0 0 3px rgba(235,104,71,.14);
}

.section-head > a,
.text-button,
.company-back,
.private-lesson > header > a,
.company-review-note > a,
.company-source a,
.company-report-link,
.company-admin-nav a,
.provisioning-details summary,
.editorial-discard summary,
.editorial-section summary,
footer a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.text-button {
  padding: 8px 0;
  font-size: 13px;
}

footer {
  padding-right: max(32px, env(safe-area-inset-right));
  padding-bottom: max(28px, env(safe-area-inset-bottom));
  padding-left: max(32px, env(safe-area-inset-left));
}

footer span,
footer a {
  font-size: 12px;
}

.company-hero aside small,
.company-member-list p,
.company-report-list p,
.company-content-card,
.company-content-card h2,
.company-member-program,
.company-member-program h2,
.revision-status,
td,
th {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 1080px) {
  .site-header {
    min-height: 72px;
    align-items: center;
    flex-direction: row;
    gap: 16px;
    padding: 13px max(20px, env(safe-area-inset-right)) 13px max(20px, env(safe-area-inset-left));
  }

  .site-header > .account-nav-desktop {
    display: none;
  }

  .account-mobile-menu {
    position: static;
    display: block;
    margin-left: auto;
  }

  .account-mobile-menu > summary {
    min-width: 92px;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 13px;
    background: var(--paper-light);
    border: 1px solid var(--line);
    border-radius: 3px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    list-style: none;
  }

  .account-mobile-menu > summary::-webkit-details-marker {
    display: none;
  }

  .account-mobile-menu summary i {
    width: 18px;
    display: grid;
    gap: 5px;
  }

  .account-mobile-menu summary b {
    width: 18px;
    height: 2px;
    display: block;
    background: var(--ink);
    transition: transform 180ms ease;
  }

  .account-mobile-menu[open] summary b:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }

  .account-mobile-menu[open] summary b:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }

  .account-mobile-menu > nav {
    position: absolute;
    z-index: 25;
    top: calc(100% + 1px);
    right: 0;
    left: 0;
    max-height: calc(100dvh - 72px);
    display: grid;
    align-items: stretch;
    gap: 0;
    overflow-y: auto;
    padding: 10px max(20px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
    background: rgba(255,253,248,.99);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 22px 42px rgba(16,41,43,.18);
    overscroll-behavior: contain;
  }

  .account-mobile-menu nav a,
  .account-mobile-menu nav button {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 0 4px;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
  }

  .account-mobile-menu nav form {
    margin: 0;
  }

  .account-mobile-menu nav button {
    width: 100%;
    background: transparent;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    cursor: pointer;
    font-weight: 800;
  }

  .account-mobile-menu .nav-register {
    justify-content: center;
    margin-top: 10px;
    padding: 0 16px;
    border-bottom: 0;
  }

  .auth-landing,
  .auth-shell {
    min-height: calc(100svh - 72px);
  }

  .company-admin-nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: inline proximity;
    overscroll-behavior-inline: contain;
  }

  .company-admin-nav a {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
}

@media (max-width: 620px) {
  .brand small {
    display: none;
  }

  .auth-landing,
  .auth-shell,
  .dashboard-hero,
  .admin-hero,
  .simple-hero,
  .protected-hero,
  .private-lesson,
  .company-hero,
  .document-page,
  .credential-page,
  .error-page {
    padding-top: 44px;
  }

  .auth-landing h1,
  .auth-copy h1,
  .dashboard-hero h1,
  .admin-hero h1,
  .simple-hero h1,
  .credential-page h1,
  .document-page h1,
  .protected-hero h1,
  .private-lesson h1,
  .company-hero h1,
  .company-program-hero h1,
  .error-page h1 {
    font-size: clamp(36px, 10.8vw, 44px);
    line-height: 1.04;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .auth-copy > p:last-child,
  .auth-landing .lead,
  .protected-hero > div > p:last-of-type,
  .private-lesson > header > p:not(.eyebrow),
  .company-hero > div > p:not(.eyebrow) {
    font-size: 16px;
  }

  .auth-card,
  .settings-card,
  .dashboard-section,
  .admin-panel,
  .profile-card,
  .company-learning,
  .company-member-program,
  .company-assessment-competencies,
  .company-attempt-history {
    padding: 22px 18px;
  }

  .access-grid article,
  .learning-metrics article,
  .protected-program-card,
  .company-preview-card {
    min-height: 0;
  }

  .learning-metrics,
  .admin-metrics,
  .candidate-admin-metrics,
  .candidate-confidence,
  .candidate-report-meta,
  .company-metrics,
  .company-report-metrics {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .learning-metrics article,
  .admin-metrics article,
  .candidate-admin-metrics article,
  .candidate-confidence article,
  .candidate-report-meta > div,
  .company-metrics article {
    padding: 18px;
  }

  .learning-metrics strong,
  .admin-metrics strong,
  .candidate-admin-metrics strong,
  .candidate-confidence strong,
  .company-metrics strong {
    font-size: 34px;
  }

  .company-program-card,
  .company-report-list article,
  .company-member-list article,
  .company-preview-card,
  .protected-program-card {
    padding: 22px 18px;
  }

  .company-report-list dl,
  .company-member-list dl,
  .company-member-program > dl {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .company-report-list dl div,
  .company-member-list dl div,
  .company-member-program > dl div {
    text-align: left;
  }

  .company-report-filter-actions,
  .company-editor-toolbar {
    width: 100%;
  }

  .company-editor-toolbar {
    z-index: 12;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }

  .company-editor-toolbar .button {
    width: 100%;
  }

  .revision-status {
    white-space: normal;
  }

  .company-learning-report-table td {
    grid-template-columns: 96px minmax(0,1fr);
  }

  footer {
    padding-right: max(20px, env(safe-area-inset-right));
    padding-bottom: max(28px, env(safe-area-inset-bottom));
    padding-left: max(20px, env(safe-area-inset-left));
  }
}

@media (max-width: 390px) {
  .account-mobile-menu > summary {
    min-width: 46px;
    width: 46px;
    padding: 0;
  }

  .account-mobile-menu > summary > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .company-learning-report-table td {
    grid-template-columns: 1fr;
    gap: 5px;
  }
}

@media (max-height: 700px) and (min-width: 901px) {
  .private-lesson-layout > aside,
  .company-editor-sidebar,
  .assessment-editor-grid > aside {
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
  }
}

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