:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: #111719;
    background: #f5f7f6;
    font-synthesis: none;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: #f5f7f6; }
button, input, select { font: inherit; }
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
.skip-link {
    position: fixed;
    z-index: 1000;
    top: .75rem;
    left: .75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    padding: 0 1rem;
    border-radius: 5px;
    color: #fff;
    background: #111719;
    font-weight: 850;
    text-decoration: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-100% - 1.5rem));
}
.skip-link:focus {
    outline: 3px solid #f52219;
    outline-offset: 2px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
[id="main-content"]:focus { outline: none; }
:where(a[href], button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #111719;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}
input[type="date"]:focus {
    outline: 3px solid #111719;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}
.form-error[role="alert"]:focus {
    outline: 3px solid #111719;
    outline-offset: 3px;
}
[aria-invalid="true"]:focus {
    outline: 3px solid #111719;
    outline-offset: 3px;
    box-shadow: 0 0 0 2px #fff;
}

.brand {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: #111719;
    font-size: 2rem;
    font-weight: 900;
    text-decoration: none;
}
.brand span { width: .55rem; height: .55rem; margin: 0 0 .65rem .2rem; border-radius: 50%; background: #f52219; }

.auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 3rem;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.auth-form {
    align-self: center;
    width: min(100%, 28rem);
    margin: 0 auto 10vh;
    display: grid;
    gap: .85rem;
}
.auth-form h1 { margin: 0 0 1rem; font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: 0; }
.auth-form label { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 700; }
.auth-form input, .auth-form select { width: 100%; min-height: 3.25rem; padding: 0 1rem; border: 1px solid #c9d1cf; border-radius: 6px; background: #fff; }
.auth-form button { min-height: 3.25rem; border: 0; border-radius: 6px; color: #fff; background: #e51f17; font-weight: 800; cursor: pointer; }
.form-error { padding: .8rem 1rem; border-left: 3px solid #f52219; background: #fff; }
.form-success { padding: .8rem 1rem; border-left: 3px solid #087d75; background: #fff; }
.network-status {
    position: fixed;
    z-index: 90;
    right: 1rem;
    bottom: 4.75rem;
    width: min(28rem, calc(100vw - 2rem));
    margin: 0;
    padding: .8rem 1rem;
    border: 1px solid #d8dfdd;
    border-left: 4px solid #f52219;
    background: #fff;
    color: #101619;
    box-shadow: 0 12px 30px rgb(16 22 25 / 14%);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.4;
}
.network-status[data-state="recovered"] { border-left-color: #087d75; }
.network-status[hidden] { display: none; }
.security-notice { padding: .8rem 1rem; border-left: 3px solid #d4a916; background: #fffbea; color: #443a13; }
.security-notice a { color: #087d75; font-weight: 800; }
.auth-links { margin: .25rem 0 0; color: #667174; text-align: center; }
.auth-links a, .primary-link { color: #087d75; font-weight: 750; }
.auth-links a { min-height: 2.75rem; display: inline-flex; align-items: center; }
.auth-message { gap: .45rem; }
.auth-message p { margin: 0 0 .75rem; line-height: 1.55; }
.primary-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; border-radius: 6px; color: #fff; background: #e51f17; text-decoration: none; }
.error-shell { background: #fff; }
.error-page { max-width: 34rem; margin-bottom: 16vh; }
.error-page-kicker {
    margin: 0 !important;
    color: #b5201d;
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
}
.error-page h1 { margin-bottom: .45rem; }
.error-page .primary-link { margin-top: .8rem; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.checkbox-row > div { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .6rem; }
.checkbox-row input { width: 1.15rem; min-height: 1.15rem; margin-top: .15rem; }
.checkbox-row label { min-height: 2.75rem; display: flex; align-items: center; margin: 0; font-weight: 500; line-height: 1.4; }
.auth-form ul { margin: .35rem 0 0; padding-left: 1.2rem; color: #b5201d; font-size: .85rem; }
.auth-form .help-text, .auth-form .form-help { margin: .35rem 0 0; color: #667174; font-size: .78rem; line-height: 1.45; }
.auth-logout { width: min(100%, 28rem); margin: -9vh auto 0; text-align: center; }
.auth-logout .quiet-button { color: #667174; }
.auth-secondary-actions { width: min(100%, 28rem); display: flex; justify-content: center; gap: 1rem; margin: -9vh auto 0; }
.auth-secondary-actions form { margin: 0; }
.auth-secondary-actions .quiet-button { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 .25rem; color: #667174; font-size: .82rem; text-decoration: underline; text-underline-offset: 3px; }

.mfa-setup-shell, .mfa-recovery-shell { width: min(calc(100% - 2rem), 64rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.mfa-heading { max-width: 46rem; margin-bottom: 2rem; }
.mfa-heading h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.6rem); letter-spacing: 0; }
.mfa-heading > p:last-child { margin: .75rem 0 0; color: #667174; line-height: 1.55; }
.mfa-setup-flow { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; background: #fff; }
.mfa-qr-step, .mfa-confirm-step { min-width: 0; padding: clamp(1.25rem, 3vw, 2.5rem); }
.mfa-confirm-step { display: grid; align-content: start; gap: .8rem; border-left: 1px solid #dce2e0; background: #fff8f6; }
.mfa-qr-step > div > span, .mfa-confirm-step > span { color: #b5201d; font-size: .75rem; font-weight: 900; }
.mfa-qr-step h2, .mfa-confirm-step h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.mfa-qr-step p, .mfa-confirm-step > p { margin: .45rem 0 0; color: #667174; line-height: 1.5; }
.mfa-qr-step > img { width: min(100%, 17.5rem); display: block; margin: 1.25rem auto; }
.mfa-qr-step details { border-top: 1px solid #dce2e0; padding-top: .85rem; }
.mfa-qr-step summary { color: #087d75; font-weight: 800; cursor: pointer; }
.mfa-qr-step details p { font-size: .82rem; }
.mfa-qr-step code { display: block; margin-top: .5rem; color: #263235; font-size: .86rem; overflow-wrap: anywhere; }
.mfa-confirm-step label { margin-top: .5rem; font-size: .85rem; font-weight: 800; }
.mfa-confirm-step input { width: 100%; min-height: 3.25rem; padding: 0 1rem; border: 1px solid #c9d1cf; border-radius: 6px; background: #fff; font-size: 1.15rem; letter-spacing: 0; }
.mfa-confirm-step button { min-height: 3.25rem; border: 0; border-radius: 6px; color: #fff; background: #e51f17; font-weight: 850; cursor: pointer; }
.mfa-recovery-shell { width: min(calc(100% - 2rem), 44rem); }
.mfa-recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; background: #fff; }
.mfa-recovery-codes li { padding: 1rem; border-bottom: 1px solid #dce2e0; }
.mfa-recovery-codes li:nth-child(even) { border-left: 1px solid #dce2e0; }
.mfa-recovery-codes code { font-size: 1rem; font-weight: 800; }
.mfa-recovery-shell > .security-notice { margin: 1.5rem 0; }
.mfa-finish { width: 100%; }

.app-header {
    min-height: 4.5rem;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: center;
    gap: 1.25rem;
    padding: .75rem clamp(1rem, 4vw, 3rem);
    border-bottom: 1px solid #dce2e0;
    background: #fff;
}
.app-header-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem 1rem;
}
.app-navigation { min-width: 0; position: relative; justify-self: end; }
.app-navigation > summary {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: #087d75;
    font-weight: 850;
    list-style: none;
    cursor: pointer;
}
.app-navigation > summary::-webkit-details-marker { display: none; }
.app-navigation > summary::after { content: "↓"; margin-left: .45rem; color: #667174; }
.app-navigation[open] > summary::after { content: "↑"; }
.app-navigation:not([open]) > .app-header-actions { display: none; }
.app-navigation[open] > .app-header-actions {
    position: absolute;
    z-index: 45;
    top: calc(100% + .55rem);
    right: 0;
    width: min(22rem, calc(100vw - 2rem));
    max-height: min(70vh, 40rem);
    display: grid;
    align-items: stretch;
    gap: 0;
    padding: .45rem;
    overflow-y: auto;
    border: 1px solid #dce2e0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 12px 32px rgb(17 23 25 / 14%);
}
.app-navigation[open] > .app-header-actions > .quiet-button,
.app-navigation[open] > .app-header-actions > form > .quiet-button,
.app-navigation[open] > .app-header-actions > .referral-menu > summary {
    width: 100%;
    min-height: 2.75rem;
    padding: .55rem .7rem;
    justify-content: flex-start;
}
.app-navigation[open] > .app-header-actions > form,
.app-navigation[open] > .app-header-actions > form > .quiet-button { width: 100%; }
.app-navigation-section {
    margin: .35rem .7rem 0;
    padding: .65rem 0 .15rem;
    border-top: 1px solid #edf0ef;
    color: #667174;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}
.app-navigation-section:first-child {
    margin-top: 0;
    padding-top: .25rem;
    border-top: 0;
}
.app-navigation[open] > .app-header-actions > .quiet-button:hover,
.app-navigation[open] > .app-header-actions > .quiet-button:focus-visible,
.app-navigation[open] > .app-header-actions > form > .quiet-button:hover,
.app-navigation[open] > .app-header-actions > form > .quiet-button:focus-visible,
.app-navigation[open] > .app-header-actions > .referral-menu > summary:hover,
.app-navigation[open] > .app-header-actions > .referral-menu > summary:focus-visible { background: #f3f6f5; }
.app-header-actions form { margin: 0; }
.quiet-button { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0; border: 0; background: transparent; color: #4f5a5d; text-decoration: none; cursor: pointer; }
.diary-header-navigation { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.diary-header-navigation > .app-navigation { min-width: 0; flex: 1 1 auto; }
.referral-menu { position: relative; }
.referral-menu summary { list-style: none; }
.referral-menu summary::-webkit-details-marker { display: none; }
.referral-menu[open] summary { color: #111719; }
.referral-menu > div { position: absolute; z-index: 20; top: calc(100% + .7rem); right: 0; width: max-content; min-width: 13rem; padding: .35rem 0; border: 1px solid #dce2e0; border-radius: 6px; background: #fff; box-shadow: 0 10px 28px rgb(17 23 25 / 10%); }
.referral-menu button { display: block; width: 100%; padding: .7rem .9rem; border: 0; background: transparent; color: #111719; text-align: left; cursor: pointer; }
.referral-menu button:hover, .referral-menu button:focus-visible { background: #f3f6f5; }
.message-link { display: inline-flex; align-items: center; gap: .4rem; }
.message-link > span { min-width: 1.25rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 .3rem; border-radius: 1rem; color: #fff; background: #e51f17; font-size: .75rem; font-weight: 900; }
.message-link > span[hidden] { display: none; }
.diary-shell { padding: clamp(1.5rem, 4vw, 3rem); }
.eyebrow { margin: 0 0 .55rem; color: #b5201d; font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.diary-heading { display: flex; align-items: start; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.diary-heading h1 { margin: 0; font-size: clamp(2rem, 5vw, 4rem); letter-spacing: 0; }
.lead { margin: .5rem 0 2rem; color: #667174; }
.diary-heading .lead { margin-bottom: 0; }
.diary-essentials { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin: -1rem 0 2rem; padding: .65rem 0; border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; }
.diary-essentials a,
.diary-essentials button { min-height: 2.75rem; display: inline-flex; align-items: center; color: #087d75; font-weight: 850; text-underline-offset: 3px; }
.diary-essentials button { padding: 0; border: 0; background: none; font: inherit; text-decoration: underline; cursor: pointer; }
.diary-essentials > strong { display: inline-flex; min-height: 2.75rem; align-items: center; color: #15191b; }
.diary-essentials-commercial a { display: grid; align-content: center; gap: .08rem; text-decoration: none; }
.diary-essentials-commercial a > strong { text-decoration: underline; text-underline-offset: 3px; }
.diary-essentials-commercial a > small { color: #53615e; font-size: .75rem; font-weight: 700; }
.next-focus { width: min(100%, 25rem); display: grid; gap: .25rem; padding: 1rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.next-focus > span { color: #b5201d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.next-focus time { color: #087d75; font-weight: 800; }
.next-focus > p { margin: .35rem 0 0; color: #53615e; font-size: .88rem; line-height: 1.5; }
.next-focus small { color: #667174; line-height: 1.4; }
.next-focus a { width: max-content; margin-top: .25rem; color: #087d75; font-size: .85rem; font-weight: 800; }
.next-focus form { margin: 0; }
.diary-grid { min-height: 60vh; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #dce2e0; background: #fff; }
.diary-column { padding: clamp(1.25rem, 2.5vw, 2.25rem); }
.diary-column + .diary-column { border-left: 1px solid #dce2e0; }
.diary-column-today { background: #fff8f6; }
.diary-column h2 { min-height: 3.2rem; margin: 0 0 1.5rem; font-size: 1.15rem; }
.event-list { margin: 0; padding: 0; list-style: none; }
.event-list li { display: grid; grid-template-columns: 3.25rem 1fr; gap: .75rem; padding: 1rem 0; border-top: 1px solid #e7ebea; line-height: 1.4; }
.event-list time { color: #667174; font-size: .82rem; }
.event-list strong { display: block; font-size: .95rem; }
.event-list p { margin: .3rem 0 0; color: #667174; font-size: .85rem; line-height: 1.45; overflow-wrap: anywhere; }
.event-context { display: grid; gap: .22rem; margin: .65rem 0 0; }
.event-context div { min-width: 0; display: grid; grid-template-columns: 4.15rem minmax(0, 1fr); gap: .5rem; align-items: baseline; }
.event-context dt { color: #667174; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.event-context dd { min-width: 0; margin: 0; color: #263235; font-size: .78rem; line-height: 1.35; overflow-wrap: anywhere; }
.event-context .event-result dd { color: #087d75; font-weight: 700; }
.event-context dd a { color: #087d75; font-weight: 800; text-underline-offset: 2px; }
.event-success { box-shadow: inset 3px 0 #087d75; padding-left: .75rem !important; }
.event-attention { box-shadow: inset 3px 0 #f52219; padding-left: .75rem !important; }
.event-muted { opacity: .65; }
.event-list .empty-state { display: block; color: #667174; }
.inline-action { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: .35rem; padding: 0; border: 0; color: #087d75; background: transparent; font-size: .82rem; font-weight: 850; text-decoration: underline; cursor: pointer; }
.inline-action + .inline-action-secondary { margin-left: 1rem; color: #53615e; }
.commercial-shell { width: min(calc(100% - 2rem), 68rem); margin: 0 auto; padding: clamp(1.25rem, 4vw, 2.75rem) 0; }
.commercial-heading { max-width: 52rem; margin-bottom: 1.5rem; }
.commercial-heading h1 { margin: 0; font-size: clamp(1.8rem, 3.5vw, 2.75rem); line-height: 1.06; letter-spacing: 0; }
.commercial-heading > p:last-child { margin: .75rem 0 0; color: #53615e; font-size: .95rem; line-height: 1.5; }
.commercial-request, .commercial-history { margin-top: 1.5rem; padding-top: 1rem; border-top: 2px solid #111719; }
.commercial-request h2, .commercial-history h2 { margin: 0 0 1.25rem; font-size: 1.25rem; }
.commercial-request form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .75rem; }
.commercial-request label { display: grid; gap: .4rem; color: #263235; font-size: .82rem; font-weight: 800; }
.commercial-field { min-width: 0; display: grid; gap: .4rem; }
.commercial-field label { display: block; }
.commercial-request input, .commercial-request select, .commercial-request textarea, .commercial-issue-form input { width: 100%; min-height: 3rem; padding: .65rem .8rem; border: 1px solid #c9d1cf; border-radius: 5px; color: #111719; background: #fff; }
.commercial-request textarea { resize: vertical; }
.commercial-request button, .commercial-list button { min-height: 3rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font-weight: 850; cursor: pointer; }
.commercial-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.commercial-list > li { min-height: 5.5rem; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.commercial-list > li > div:first-child { min-width: 0; display: grid; gap: .2rem; }
.commercial-list span, .commercial-list small { color: #667174; font-size: .8rem; overflow-wrap: anywhere; }
.commercial-list a { color: #087d75; font-size: .86rem; font-weight: 850; }
.commercial-amount { font-variant-numeric: tabular-nums; white-space: nowrap; }
.commercial-actions { display: flex; gap: .5rem; }
.commercial-actions form { margin: 0; }
.commercial-list button.is-secondary { color: #53615e; background: #e8edeb; }
.commercial-list .commercial-empty { display: block; min-height: 0; color: #667174; }
.operational-section { margin-top: 2rem; padding-top: 1.5rem; border-top: 2px solid #111719; }
.operational-section > header { max-width: 48rem; margin-bottom: 1rem; }
.operational-section > header h2 { margin: 0; font-size: 1.25rem; }
.operational-section > header p { margin: .5rem 0 0; color: #53615e; font-size: .9rem; line-height: 1.5; }
.auto-school-membership-list > li { display: block; min-height: 0; }
.auto-school-authorization-summary { color: #33413f !important; font-weight: 800; }
.commercial-list .auto-school-rdvpermis-state { font-weight: 800; }
.commercial-list .auto-school-rdvpermis-state.is-ready { color: #087d75; }
.commercial-list .auto-school-rdvpermis-state.is-renewal_required,
.commercial-list .auto-school-rdvpermis-state.is-invalid { color: #a72120; }
.commercial-list .auto-school-rdvpermis-state.is-disconnected,
.commercial-list .auto-school-rdvpermis-state.is-unavailable { color: #53615e; }
.auto-school-membership-list form { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(12rem, 1fr) auto; align-items: end; gap: .75rem 1rem; }
.auto-school-membership-list label { display: grid; gap: .25rem; }
.auto-school-membership-list label span { font-size: .78rem; }
.auto-school-membership-list input[name="departments"] { width: 100%; min-height: 3rem; padding: 0 .8rem; border: 1px solid #bfc9c6; border-radius: 5px; color: #111719; background: #fff; }
.auto-school-membership-list form > small { grid-column: 2; }
.auto-school-membership-list .membership-protection-note { grid-column: 2; color: #a72120; font-size: .875rem; font-weight: 750; margin: 0; }
.auto-school-membership-list .membership-account-warning { grid-column: 2; color: #a72120; font-size: .875rem; font-weight: 750; margin: 0; }
.school-protection-note { color: #a72120; font-weight: 750; }
.auto-school-membership-list .quiet-button { grid-column: 3; grid-row: 1 / span 2; }
.commercial-direction-list > li { grid-template-columns: 8rem minmax(0, 1fr) auto minmax(15rem, auto); }
.commercial-direction-list time { color: #667174; font-size: .8rem; }
.commercial-issue-form { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: .5rem; }
.billing-unavailable { margin: 1.5rem 0; padding: .9rem 0; border-top: 2px solid #b7211c; border-bottom: 1px solid #dce2e0; color: #4d595c; }
.billing-order-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.billing-order-list > li { padding: 1.1rem 0; border-bottom: 1px solid #dce2e0; }
.billing-order-list > .commercial-empty { color: #667174; }
.billing-order-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1rem; }
.billing-order-summary > div { min-width: 0; display: grid; gap: .2rem; }
.billing-order-summary span { color: #667174; font-size: .82rem; }
.billing-order-summary a, .billing-recipient summary { color: #087d75; font-weight: 850; }
.billing-status { font-weight: 800; }
.billing-recipient { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid #e2e7e6; }
.billing-recipient summary { width: fit-content; cursor: pointer; }
.billing-recipient form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-top: 1rem; }
.billing-recipient label { min-width: 0; display: grid; align-content: start; gap: .35rem; color: #263235; font-size: .82rem; font-weight: 800; }
.billing-recipient input, .billing-recipient select { width: 100%; min-height: 2.9rem; padding: .6rem .75rem; border: 1px solid #c9d1cf; border-radius: 5px; color: #111719; background: #fff; font: inherit; }
.billing-recipient small { color: #667174; font-size: .75rem; font-weight: 500; }
.billing-recipient .billing-wide { grid-column: 1 / -1; }
.billing-recipient button { grid-column: 1 / -1; min-height: 3rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font-weight: 850; cursor: pointer; }
.document-profile-summary { margin: 0; color: #263235; font-style: normal; line-height: 1.55; }
.billing-recipient details { margin-top: .8rem; }
.billing-recipient .billing-profile-action { display: block; margin-top: .8rem; }
.billing-recipient .billing-profile-action button { width: 100%; }
.commercial-state { align-self: center; color: #667174; font-size: .82rem; font-weight: 750; }
.billing-state-copy { margin: .8rem 0 0; color: #53615e; }
.billing-correction-state { display: grid; gap: .55rem; margin-top: 1rem; padding: .9rem 0; border-top: 1px solid #dce2e0; }
.billing-correction-state header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.billing-correction-state time, .billing-correction-state small { color: #667174; font-size: .75rem; }
.billing-correction-state p { margin: 0; color: #3f4d50; line-height: 1.45; }
.billing-correction-answer { display: grid; gap: .2rem; padding-left: .8rem; border-left: 3px solid #087d75; }
.billing-correction-form { margin-top: .8rem; padding-top: .8rem; border-top: 1px solid #e2e7e6; }
.billing-correction-form summary { width: fit-content; color: #087d75; font-weight: 850; cursor: pointer; }
.billing-correction-form form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .75rem; margin-top: .8rem; }
.billing-correction-form label { display: grid; gap: .35rem; color: #263235; font-size: .82rem; font-weight: 800; }
.billing-correction-form textarea, .billing-correction-resolution textarea { width: 100%; min-height: 5rem; padding: .65rem .75rem; border: 1px solid #c9d1cf; border-radius: 5px; color: #111719; background: #fff; font: inherit; resize: vertical; }
.billing-correction-form button, .billing-correction-resolution button { min-height: 3rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font-weight: 850; cursor: pointer; }
.billing-correction-form > small { display: block; margin-top: .55rem; color: #667174; font-size: .75rem; }
.billing-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.billing-section-heading h2 { margin-bottom: 0; }
.billing-section-heading > p { max-width: 27rem; margin: 0; color: #667174; font-size: .78rem; text-align: right; }
.billing-correction-list > li { grid-template-columns: 8rem minmax(0, 1fr) auto minmax(13rem, auto); align-items: start; }
.billing-correction-list time { color: #667174; font-size: .78rem; }
.billing-correction-list p { margin: .35rem 0 0; color: #3f4d50; line-height: 1.4; }
.billing-correction-list form:not(.billing-correction-resolution) { justify-self: end; }
.billing-correction-resolution { display: grid; gap: .55rem; }
.billing-correction-resolution label { display: grid; gap: .3rem; color: #53615e; font-size: .75rem; font-weight: 800; }
.billing-closed-corrections > li { grid-template-columns: 8rem minmax(0, 1fr); align-items: start; }
.billing-closed-corrections time { color: #667174; font-size: .78rem; }
.billing-direction-list > li { grid-template-columns: 8rem minmax(0, 1fr) auto minmax(17rem, auto); }
.billing-direction-list > li > div { min-width: 0; display: grid; gap: .2rem; }
.billing-issued-list > li { grid-template-columns: minmax(0, 1fr) auto; }
.information-shell { width: min(calc(100% - 2rem), 58rem); margin: 0 auto; padding: clamp(1.5rem, 5vw, 3.5rem) 0; }
.information-heading { max-width: 43rem; }
.information-heading h1 { margin: 0; font-size: clamp(2rem, 4.5vw, 3.35rem); line-height: 1.04; letter-spacing: 0; }
.information-heading > p:last-child { margin: .8rem 0 0; color: #53615e; line-height: 1.5; }
.information-identity { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr); align-items: end; gap: 2rem; margin-top: 2rem; padding: 1.25rem 0; border-top: 2px solid #111719; border-bottom: 1px solid #dce2e0; }
.information-identity h2 { margin: 0; font-size: 1.4rem; }
.information-identity dl { margin: 0; }
.information-identity dl div { display: grid; gap: .2rem; }
.information-identity dt { color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.information-identity dd { min-width: 0; margin: 0; color: #263235; overflow-wrap: anywhere; }
.information-form { margin-top: 1.5rem; }
.information-form > section { display: grid; grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr); gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid #dce2e0; }
.information-form section header h2 { margin: 0; font-size: 1.15rem; }
.information-form section header > p:last-child { margin: .45rem 0 0; color: #667174; font-size: .82rem; line-height: 1.45; }
.information-form label { min-width: 0; display: grid; align-content: start; gap: .35rem; color: #263235; font-size: .8rem; font-weight: 800; }
.information-form input, .information-form select { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #c9d1cf; border-radius: 5px; color: #111719; background: #fff; font: inherit; }
.information-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.information-fields .information-wide { grid-column: 1 / -1; }
.information-submit { width: 100%; min-height: 3.2rem; margin-top: 1.25rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font: inherit; font-weight: 850; cursor: pointer; }
.information-submit:hover { background: #d91b14; }
.information-candidate-form { margin-top: 3rem; padding-top: 1rem; border-top: 3px solid #111719; }
.candidate-representative[hidden] { display: none; }
.form-attention { padding: .8rem 0 .8rem 1rem; border-left: 3px solid #c98616; color: #4b3a1c; background: #fffaf0; line-height: 1.45; }
.representative-access { grid-column: 2; margin-top: 1rem; padding: 1rem 0 0 1rem; border-left: 3px solid #c98616; }
.representative-access--ready { border-left-color: #087f72; }
.representative-access .eyebrow { margin: 0 0 .35rem; }
.representative-access strong { display: block; font-size: 1rem; }
.representative-access > p:not(.eyebrow) { margin: .4rem 0 0; color: #53615e; font-size: .84rem; line-height: 1.5; }
.representative-access .quiet-button { margin-top: .8rem; }
.checkout-confirmation-actions { display: flex; align-items: center; gap: 1.25rem; }
.checkout-confirmation-actions .checkout-secondary-link { margin-top: 0; }
.invoice-page { width: min(calc(100% - 2rem), 64rem); margin: 0 auto; padding: 1.25rem 0 3rem; }
.invoice-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; }
.invoice-toolbar a { color: #087d75; font-weight: 800; }
.invoice-toolbar button { min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #111719; font-weight: 800; cursor: pointer; }
.invoice-document { padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid #dce2e0; background: #fff; }
.invoice-heading { display: flex; justify-content: space-between; gap: 2rem; padding-bottom: 2rem; border-bottom: 3px solid #111719; }
.invoice-heading h1 { margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); line-height: 1; letter-spacing: 0; }
.invoice-heading dl, .invoice-totals dl { margin: 0; }
.invoice-heading dl div { display: grid; grid-template-columns: auto auto; gap: 1rem; padding: .2rem 0; }
.invoice-heading dt, .invoice-parties h2 { color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.invoice-heading dd { margin: 0; font-weight: 800; text-align: right; }
.invoice-parties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; padding: 2rem 0; }
.invoice-parties h2 { margin: 0 0 .7rem; }
.invoice-parties address { font-style: normal; line-height: 1.55; }
.invoice-parties p { margin: .45rem 0 0; color: #53615e; font-size: .82rem; overflow-wrap: anywhere; }
.invoice-line { border-top: 1px solid #cfd7d5; border-bottom: 1px solid #cfd7d5; }
.invoice-line > div { display: grid; grid-template-columns: minmax(15rem, 1fr) 3rem repeat(3, minmax(6rem, auto)); gap: 1rem; align-items: start; padding: .85rem 0; }
.invoice-line-header { color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.invoice-line [role="cell"]:not(:first-child), .invoice-line [role="columnheader"]:not(:first-child) { text-align: right; }
.invoice-line [role="cell"] small { display: block; margin-top: .25rem; color: #667174; }
.invoice-cell-label { display: none; }
.invoice-totals { display: flex; justify-content: flex-end; padding: 1.5rem 0; }
.invoice-totals dl { width: min(100%, 22rem); }
.invoice-totals div { display: flex; justify-content: space-between; gap: 1.5rem; padding: .35rem 0; }
.invoice-totals div:last-child { margin-top: .35rem; padding-top: .8rem; border-top: 2px solid #111719; font-size: 1.15rem; font-weight: 900; }
.invoice-totals dd { margin: 0; font-variant-numeric: tabular-nums; }
.invoice-legal { padding-top: 1rem; border-top: 1px solid #dce2e0; color: #667174; font-size: .75rem; line-height: 1.5; }
.invoice-legal p { margin: .35rem 0; overflow-wrap: anywhere; }
.quote-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; flex-wrap: wrap; }
.quote-toolbar-actions form { margin: 0; }
.quote-toolbar-actions > span { color: #53615e; font-size: .78rem; font-weight: 800; }
.invoice-toolbar .quote-toolbar-link { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 1rem; border-radius: 5px; color: #fff; background: #e51f19; text-decoration: none; }
.invoice-toolbar button.is-secondary { border: 1px solid #cfd7d5; color: #111719; background: #fff; }
.quote-document-section { padding: 1.25rem 0; border-top: 1px solid #dce2e0; }
.quote-document-section h2 { margin: 0 0 .5rem; font-size: .82rem; text-transform: uppercase; }
.quote-document-section p { margin: 0; color: #364240; line-height: 1.6; white-space: pre-line; }
.commercial-issue-form label { grid-column: 1 / -1; color: #667174; font-size: .75rem; font-weight: 800; }
.commercial-issue-form input, .commercial-issue-form button { min-height: 2.75rem; }
.tariff-form form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.tariff-form form > label:nth-of-type(n+7) { grid-column: 1 / -1; }
.tariff-amounts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.tariff-dates { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.tariff-form form > button { grid-column: 1 / -1; justify-self: start; }
.inbox-shell { width: min(calc(100% - 2rem), 58rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.inbox-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.inbox-heading > div { max-width: 42rem; }
.inbox-heading h1 { margin: 0; font-size: 3rem; line-height: 1.02; letter-spacing: 0; }
.inbox-heading > div > p:last-child { margin: 1rem 0 0; color: #53615e; font-size: 1.02rem; line-height: 1.55; }
.inbox-heading form { flex: 0 0 auto; margin-bottom: .25rem; }
.inbox-heading form .quiet-button { color: #087d75; font-size: .82rem; font-weight: 800; }
.inbox-heading-actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 1rem; }
.notification-alert-control { display: flex; align-items: center; }
.notification-alert-control[hidden], .notification-alert-control .quiet-button[hidden] { display: none; }
.notification-alert-control .quiet-button { color: #087d75; font-size: .82rem; font-weight: 800; }
.notification-alert-status { color: #53615e; font-size: .78rem; line-height: 1.35; }
.inbox-conversation-history {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: #087d75;
    font-weight: 800;
}

.inbox-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
}

.inbox-pagination > span {
    color: var(--muted);
    font-weight: 700;
}

@media (max-width: 520px) {
    .inbox-pagination {
        align-items: stretch;
        flex-direction: column;
    }

    .inbox-pagination > span {
        order: -1;
    }
}
.inbox-live-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.inbox-new-message-jump { position: sticky; top: 5.5rem; z-index: 4; display: block; width: fit-content; margin: 0 auto .75rem; border-color: #b8c9c6; background: #fff; box-shadow: 0 .35rem 1rem rgba(17, 27, 27, .12); color: #087d75; }
.inbox-new-message-jump[hidden] { display: none; }
.inbox-list { margin: 0; padding: 0; }
.inbox-list:focus { outline: none; }
.inbox-list:focus-visible { outline: 2px solid #087d75; outline-offset: .25rem; }
.inbox-section + .inbox-section { margin-top: 3rem; }
.inbox-section-heading { padding: 1rem 0 1.15rem; border-top: 3px solid #111719; }
.inbox-section-heading .eyebrow { margin-bottom: .35rem; }
.inbox-section-heading h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.inbox-section-heading > p:last-child { margin: .35rem 0 0; color: #667174; font-size: .85rem; line-height: 1.45; }
.inbox-section-conversations .inbox-section-heading { border-top-color: #f52219; }
.inbox-section-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.inbox-item { min-height: 6.5rem; display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1.2rem 0; border-bottom: 1px solid #dce2e0; }
.inbox-item.is-attention { box-shadow: inset 3px 0 #f52219; padding-left: 1rem; }
.inbox-item.is-pending { box-shadow: inset 3px 0 #d4a916; padding-left: 1rem; }
.inbox-meta { display: grid; gap: .55rem; align-self: start; }
.inbox-meta time { display: grid; color: #263235; font-size: .82rem; font-weight: 800; }
.inbox-meta time span { color: #667174; font-weight: 500; }
.inbox-meta > span { width: max-content; color: #087d75; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.inbox-item.is-attention .inbox-meta > span { color: #b5201d; }
.inbox-item.is-pending .inbox-meta > span { color: #756000; }
.inbox-content strong { display: block; font-size: 1rem; }
.inbox-title { display: flex; align-items: center; gap: .6rem; }
.inbox-title > span { color: #b5201d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.inbox-item.is-unread .inbox-content strong { color: #111719; }
.inbox-content p { max-width: 42rem; margin: .35rem 0 0; color: #667174; font-size: .88rem; line-height: 1.5; }
.inbox-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem 1.1rem; max-width: 38rem; margin: .65rem 0 0; }
.inbox-facts > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); min-width: 0; gap: .35rem; align-items: baseline; }
.inbox-facts dt { color: #667174; font-size: .75rem; font-weight: 700; }
.inbox-facts dd { margin: 0; color: #263235; font-size: .78rem; font-weight: 800; }
.inbox-facts dd a, .tracking-facts dd a, .checkout-summary dd a { color: #087d75; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.inbox-item-action { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 .15rem; color: #087d75; font-size: .86rem; font-weight: 850; white-space: nowrap; }
.inbox-item-action::after { content: "→"; margin-left: .4rem; }
.inbox-item.has-conversation { align-items: start; scroll-margin-top: 1rem; }
.inbox-item.has-conversation .inbox-content { min-width: 0; }
.inbox-conversation { max-width: 42rem; margin-top: 1rem; }
.inbox-conversation-list { display: grid; gap: .55rem; margin: 0; padding: 0; list-style: none; }
.inbox-conversation-message { width: min(88%, 33rem); justify-self: start; padding: .7rem .8rem; border: 1px solid #dce2e0; border-radius: 7px; background: #f6f8f7; }
.inbox-conversation-message.is-own { justify-self: end; border-color: #ead2d0; background: #fff7f6; }
.inbox-conversation-message-head, .inbox-conversation-message-foot { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; }
.inbox-conversation-message-head strong { color: #111719; font-size: .76rem; }
.inbox-conversation-message.is-own .inbox-conversation-message-head strong { color: #b5201d; }
.inbox-conversation-message-head time { color: #667174; font-size: .75rem; white-space: nowrap; }
.inbox-conversation-message p { max-width: none; margin: .3rem 0 .45rem; color: #263235; font-size: .86rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.inbox-conversation-message-foot span, .inbox-conversation-message-foot small { color: #667174; font-size: .75rem; font-weight: 750; }
.inbox-conversation-message-foot small.is-read { color: #087d75; }
.inbox-conversation-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .5rem .7rem; margin-top: .85rem; padding-top: .85rem; border-top: 1px solid #cfd7d5; }
.inbox-conversation-form > label { grid-column: 1 / -1; color: #263235; font-size: .75rem; font-weight: 850; }
.inbox-conversation-form select { grid-column: 1 / -1; min-height: 2.75rem; width: 100%; padding: .55rem .7rem; border: 1px solid #bfc9c6; border-radius: 5px; color: #111719; background: #fff; font: inherit; }
.inbox-conversation-form textarea { grid-column: 1 / -1; min-height: 5.2rem; width: 100%; padding: .7rem .75rem; resize: vertical; border: 1px solid #bfc9c6; border-radius: 5px; color: #111719; background: #fff; font: inherit; line-height: 1.45; }
.inbox-conversation-feedback { grid-column: 1 / -1; min-height: 1rem; margin: 0; color: #087d75; font-size: .75rem; font-weight: 800; }
.inbox-conversation-feedback:empty { display: none; }
.inbox-conversation-feedback.is-error { color: #b5201d; }
.inbox-conversation-recipient { grid-column: 1 / -1; margin: 0; color: #53615e; font-size: .75rem; }
.inbox-conversation-submit { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.inbox-conversation-submit small { color: #667174; font-size: .75rem; }
.inbox-conversation-submit button { min-width: 7.5rem; }
.inbox-empty { padding: 2rem 0; border-bottom: 1px solid #dce2e0; }
.inbox-empty strong { display: block; }
.inbox-empty p { margin: .35rem 0 0; color: #667174; }
.global-message-link { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 40; display: flex; align-items: center; gap: .65rem; min-height: 2.8rem; padding: .65rem .8rem; border-radius: 7px; color: #fff; background: #111719; box-shadow: 0 8px 24px rgb(17 23 25 / 18%); font-size: .8rem; font-weight: 850; text-decoration: none; }
.global-message-link:hover, .global-message-link:focus-visible { background: #263235; }
.global-message-link > strong { min-width: 1.45rem; height: 1.45rem; display: inline-grid; place-items: center; padding: 0 .3rem; border-radius: 999px; color: #fff; background: #e51f17; font-size: .75rem; line-height: 1; }
.security-shell { width: min(calc(100% - 2rem), 58rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.security-heading { max-width: 44rem; }
.security-heading h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 3.6rem); line-height: 1.02; letter-spacing: 0; }
.security-heading > p:last-child { margin: 1rem 0 0; color: #53615e; font-size: 1.02rem; line-height: 1.55; }
.security-shell > .security-notice { margin: 2rem 0 0; }
.telegram-shell { width: min(calc(100% - 2rem), 58rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.telegram-heading { max-width: 44rem; }
.telegram-heading h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 3.6rem); line-height: 1.02; letter-spacing: 0; }
.telegram-heading > p:last-child { margin: 1rem 0 0; color: #53615e; font-size: 1.02rem; line-height: 1.55; }
.telegram-status { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2rem; padding: 1.5rem 0; border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; }
.telegram-status > div { max-width: 38rem; }
.telegram-status h2 { margin: .35rem 0 .5rem; font-size: 1.55rem; letter-spacing: 0; }
.telegram-status p, .telegram-status small { color: #596563; line-height: 1.5; }
.telegram-status form { margin: 0; }
.telegram-status button { min-height: 3rem; padding: .7rem 1rem; border: 0; border-radius: 6px; color: #fff; background: #e51f17; font: inherit; font-weight: 800; cursor: pointer; }
.telegram-status .quiet-danger { color: #9e211d; background: #fff; border: 1px solid #d9dfdd; }
.telegram-state { color: #087d75; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.telegram-commands { margin-top: 2.5rem; }
.telegram-commands h2 { margin: 0 0 .75rem; font-size: 1.15rem; letter-spacing: 0; }
.telegram-commands dl { margin: 0; border-top: 1px solid #dce2e0; }
.telegram-commands dl div { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; padding: .85rem 0; border-bottom: 1px solid #dce2e0; }
.telegram-commands dt { font-weight: 850; }
.telegram-commands dd { margin: 0; color: #596563; }

.esr-live-pairing-code {
    overflow-wrap: anywhere;
    user-select: all;
}

.esr-live-device-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.esr-live-device-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid #dce2e0;
}

.esr-live-device-list li:last-child { border-bottom: 0; }
.esr-live-device-list div { display: grid; gap: .25rem; }
.esr-live-device-list span { color: #596563; }
.security-mfa-status { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #cfd7d5; }
.security-mfa-status h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.security-mfa-status > div > p:last-child { margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.security-mfa-status dl { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: 1.5rem; margin: 0; }
.security-mfa-status dl div { display: grid; gap: .25rem; }
.security-mfa-status dt { color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.security-mfa-status dd { margin: 0; color: #111719; font-weight: 850; }
.security-recovery-requests { margin-top: 2.5rem; padding: 1.5rem 0 0; border-top: 2px solid #f52219; }
.security-recovery-requests h2 { margin: 0; font-size: 1.45rem; }
.security-recovery-requests header > p:last-child { margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.security-recovery-requests ol { margin: 1rem 0 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.security-recovery-requests li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, auto); align-items: center; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.security-recovery-requests li > div { display: grid; gap: .2rem; }
.security-recovery-requests li span, .security-recovery-requests time { color: #667174; font-size: .8rem; }
.security-recovery-requests form { display: grid; justify-items: end; gap: .6rem; }
.security-recovery-requests label { display: flex; align-items: center; gap: .45rem; font-size: .78rem; cursor: pointer; }
.security-recovery-requests label input { width: 1rem; height: 1rem; }
.security-recovery-requests button { min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 6px; color: #fff; background: #e51f17; font-weight: 800; cursor: pointer; }
.security-activity-list { margin: 2.5rem 0 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.security-activity-list li { min-height: 5rem; display: grid; grid-template-columns: minmax(0, 1fr) 14rem 9rem; align-items: center; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.security-activity-list li > div:first-child { display: grid; gap: .2rem; }
.security-activity-list strong { font-size: 1rem; }
.security-activity-list li > div:first-child span, .security-activity-list time { color: #667174; font-size: .82rem; }
.security-activity-status { text-align: right; }
.security-activity-status span { display: inline-block; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.security-activity-status .is-current { color: #087d75; }
.security-activity-status .is-new { color: #b5201d; }
.security-activity-list .security-empty { display: grid; grid-template-columns: 1fr; gap: .25rem; color: #667174; }
.security-response { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2.5rem; padding: 1.25rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.security-response h2 { margin: 0; font-size: 1.15rem; }
.security-response p { margin: .35rem 0 0; color: #667174; line-height: 1.45; }
.security-response form { width: min(100%, 26rem); display: grid; gap: .45rem; margin: 0; }
.security-response form label { color: #53615e; font-size: .76rem; font-weight: 800; }
.security-response form > div { display: grid; grid-template-columns: minmax(8rem, 1fr) auto; gap: .55rem; }
.security-response input { min-width: 0; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid #cfd7d5; border-radius: 5px; background: #fff; font: inherit; }
.security-response button { min-height: 2.75rem; padding: 0 .9rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; }
.security-response button:hover { background: #d91b14; }
.security-password-link { margin: .85rem 0 0; color: #667174; font-size: .8rem; }
.security-password-link a { color: #087d75; font-weight: 800; text-underline-offset: 2px; }
.security-privacy { max-width: 44rem; margin: 1rem 0 0; color: #667174; font-size: .78rem; line-height: 1.5; }
.privacy-shell { width: min(calc(100% - 2rem), 58rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.privacy-heading { max-width: 44rem; margin-bottom: 2.5rem; }
.privacy-heading h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 3.6rem); line-height: 1.02; letter-spacing: 0; }
.privacy-heading > p:last-child { margin: 1rem 0 0; color: #53615e; font-size: 1.02rem; line-height: 1.55; }
.privacy-actions { margin-top: 2rem; }
.privacy-actions h2, .privacy-history h2, .privacy-direction-workflow h2 { margin: 0 0 .8rem; font-size: 1.1rem; }
.privacy-actions ol, .privacy-history ol, .privacy-direction-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.privacy-actions li { min-height: 6rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.privacy-actions strong { display: block; }
.privacy-actions p { max-width: 38rem; margin: .3rem 0 0; color: #667174; font-size: .88rem; line-height: 1.5; }
.privacy-actions li > span { color: #087d75; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.privacy-actions form, .privacy-history form, .privacy-direction-list form { margin: 0; }
.privacy-actions button, .privacy-direction-list button, .privacy-direction-workflow button { min-height: 2.8rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer; }
.privacy-history { margin-top: 2.5rem; }
.privacy-history li { min-height: 4.75rem; display: grid; grid-template-columns: 10rem minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.privacy-history time { color: #667174; font-size: .8rem; }
.privacy-history li > div { display: grid; gap: .2rem; }
.privacy-history li > div span { color: #087d75; font-size: .75rem; font-weight: 850; }
.privacy-history button { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; padding: .5rem; border: 0; color: #667174; background: transparent; font: inherit; font-size: .8rem; font-weight: 800; text-decoration: underline; cursor: pointer; }
.privacy-empty { display: block !important; padding: 1.5rem 0 !important; color: #667174; }
.privacy-safeguard { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 2px solid #087d75; color: #53615e; font-size: .84rem; line-height: 1.5; }
.document-shell { width: min(calc(100% - 2rem), 62rem); margin: 0 auto; padding: 1.5rem 0; }
.document-heading { max-width: 46rem; margin-bottom: 1.25rem; }
.document-heading h1 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.4rem); line-height: 1.08; letter-spacing: 0; }
.document-heading > p:last-child { margin: .55rem 0 0; color: #53615e; font-size: .9rem; line-height: 1.45; }
.document-upload { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(16rem, 1.4fr) auto; align-items: end; gap: .8rem; padding: .9rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.document-upload > div { min-width: 0; display: grid; gap: .4rem; }
.document-upload label { font-size: .8rem; font-weight: 850; }
.document-upload select, .document-upload input[type="file"] { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #c4cecb; border-radius: 5px; background: #fff; }
.document-upload input[type="file"] { color: #53615e; font-size: .8rem; }
.document-upload button, .document-review-list button { min-height: 3rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font: inherit; font-size: .82rem; font-weight: 850; cursor: pointer; }
.document-upload small { grid-column: 1 / -1; color: #667174; font-size: .76rem; }
.document-unavailable { margin: 0; padding: 1rem 0; border-top: 2px solid #d4a916; border-bottom: 1px solid #dce2e0; color: #53615e; }
.document-history { margin-top: 1.5rem; }
.document-history h2 { margin: 0 0 .8rem; font-size: 1.1rem; }
.document-history ol, .document-review-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.document-history li { min-height: 4.75rem; display: grid; grid-template-columns: 11rem minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.document-history time, .document-review-list time { color: #667174; font-size: .8rem; }
.document-history li > div { min-width: 0; display: grid; gap: .2rem; }
.document-status { width: max-content; color: #756000; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.document-status-approved { color: #087d75; }
.document-status-rejected { color: #b5201d; }
.document-history a, .document-review-list a { color: #087d75; font-size: .82rem; font-weight: 850; }
.document-empty { display: block !important; min-height: 0 !important; padding: 1.5rem 0 !important; color: #667174; }
.document-contracts { margin-bottom: 1.5rem; }
.document-review-list > li { min-height: 5.5rem; display: grid; grid-template-columns: 10rem minmax(0, 1fr) auto auto auto; align-items: center; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.document-review-list li > div { min-width: 0; display: grid; gap: .25rem; }
.document-review-list li > div span { color: #667174; font-size: .8rem; line-height: 1.4; overflow-wrap: anywhere; }
.document-review-list form { margin: 0; }
.document-review-list button { min-height: 2.75rem; }
.document-review-list button.is-secondary { color: #53615e; background: #e8edeb; }
.onboarding-shell { width: min(calc(100% - 2rem), 54rem); margin: 0 auto; padding: 1.5rem 0 2rem; }
.onboarding-heading { max-width: 42rem; margin-bottom: 1.25rem; }
.onboarding-heading h1 { margin: 0; font-size: clamp(1.8rem, 3vw, 2.45rem); line-height: 1.08; letter-spacing: 0; }
.onboarding-heading > p:last-child { margin: .55rem 0 0; color: #53615e; font-size: .9rem; line-height: 1.45; }
.onboarding-contacts { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.onboarding-contacts a { overflow-wrap: anywhere; }
.onboarding-requirements, .onboarding-review-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.onboarding-requirements > li { min-height: 4rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid #dce2e0; }
.onboarding-requirements li > div, .onboarding-review-list li > div { min-width: 0; display: grid; gap: .18rem; }
.onboarding-requirements a, .onboarding-review-list a { color: #087d75; font-size: .8rem; font-weight: 850; }
.document-status-missing { color: #667174; }
.onboarding-upload { display: grid; grid-template-columns: minmax(11rem, .8fr) minmax(16rem, 1.4fr) auto; align-items: end; gap: .75rem; margin-top: 1.25rem; padding: .9rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.onboarding-upload > div { min-width: 0; display: grid; gap: .35rem; }
.onboarding-upload label { font-size: .78rem; font-weight: 850; }
.onboarding-upload select, .onboarding-upload input[type="file"] { width: 100%; min-height: 2.85rem; padding: .6rem .7rem; border: 1px solid #c4cecb; border-radius: 5px; background: #fff; }
.onboarding-upload input[type="file"] { color: #53615e; font-size: .78rem; }
.onboarding-upload small { grid-column: 1 / -1; color: #667174; font-size: .75rem; }
.onboarding-upload button, .onboarding-submit button, .onboarding-review-list button { min-height: 2.85rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font: inherit; font-size: .8rem; font-weight: 850; cursor: pointer; }
.onboarding-submit { margin: 1.25rem 0 0; }
.onboarding-submit button { min-width: 12rem; }
.onboarding-next, .onboarding-closed, .onboarding-outcome { margin: 1.25rem 0 0; padding: .9rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; color: #53615e; font-size: .84rem; line-height: 1.45; }
.onboarding-closed { border-top-color: #d4a916; }
.onboarding-outcome { display: grid; gap: .2rem; }
.onboarding-outcome strong { color: #087d75; }
.onboarding-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .75rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; color: #53615e; font-size: .82rem; }
.onboarding-summary strong { color: #101619; }
.onboarding-review-list > li { min-height: 4.5rem; display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: .7rem; padding: .8rem 0; border-bottom: 1px solid #dce2e0; }
.onboarding-review-list form { margin: 0; }
.onboarding-review-list button { min-height: 2.75rem; }
.onboarding-review-list button.is-secondary { color: #53615e; background: #e8edeb; }
.privacy-direction-list > li { min-height: 6rem; display: grid; grid-template-columns: 10rem minmax(0, 1fr) 8rem auto; align-items: center; gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.privacy-direction-list time, .privacy-direction-list p, .privacy-direction-list small { color: #667174; font-size: .82rem; }
.privacy-direction-list strong { display: block; }
.privacy-direction-list p { margin: .3rem 0 0; }
.privacy-direction-list > li > span { color: #087d75; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.privacy-direction-list a { color: #087d75; font-weight: 850; }
.privacy-request-facts { margin-bottom: 2rem; }
.privacy-direction-workflow { max-width: 48rem; padding: 1.25rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.privacy-direction-workflow p { margin: 0; color: #53615e; line-height: 1.55; }
.privacy-direction-workflow form { margin-top: 1rem; }
.privacy-governance-shell { max-width: 64rem; }
.privacy-governance-progress { display: flex; align-items: end; justify-content: space-between; gap: 2rem; padding: 1.25rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #cfd7d5; }
.privacy-governance-progress h2 { margin: 0; font-size: 1.6rem; letter-spacing: 0; }
.privacy-governance-progress > strong { color: #b5201d; font-size: .78rem; text-transform: uppercase; }
.privacy-governance-progress > strong.is-ready { color: #087d75; }
.privacy-governance-global { margin: 1.25rem 0 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.privacy-governance-global li { padding: .8rem 0; border-bottom: 1px solid #dce2e0; color: #53615e; font-size: .88rem; }
.privacy-governance-strategy { margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.privacy-governance-strategy > h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.privacy-governance-strategy > ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.privacy-governance-strategy > ol > li { padding: 0 1rem; border-left: 1px solid #dce2e0; }
.privacy-governance-strategy > ol > li:first-child { padding-left: 0; border-left: 0; }
.privacy-governance-strategy > ol > li:last-child { padding-right: 0; }
.privacy-governance-strategy strong,
.privacy-governance-strategy span { display: block; }
.privacy-governance-strategy span,
.privacy-governance-strategy > p:last-child { color: #53615e; font-size: .84rem; line-height: 1.5; }
.privacy-governance-strategy span { margin-top: .35rem; }
.privacy-governance-strategy > p:last-child { margin: 1.25rem 0 0; }
.privacy-governance-categories { margin-top: 2.5rem; }
.privacy-governance-categories > h2 { margin: 0 0 .8rem; font-size: 1.1rem; }
.privacy-governance-categories > ol { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.privacy-governance-categories > ol > li { padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.privacy-governance-category-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.25rem; }
.privacy-governance-category-summary > div { min-width: 0; }
.privacy-governance-category-summary strong { display: block; }
.privacy-governance-category-summary p { margin: .3rem 0 0; color: #667174; font-size: .82rem; line-height: 1.45; }
.privacy-governance-category-summary > span,
.privacy-governance-purpose-list > li > span { color: #b5201d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.privacy-governance-categories > ol > li.is-ready .privacy-governance-category-summary > span,
.privacy-governance-purpose-list > li.is-ready > span { color: #087d75; }
.privacy-governance-purpose-list { margin: .9rem 0 0; padding: 0; border-top: 1px solid #e1e6e4; list-style: none; }
.privacy-governance-purpose-list > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #eef1f0; }
.privacy-governance-purpose-list > li:last-child { border-bottom: 0; }
.privacy-governance-purpose-list strong { display: block; font-size: .88rem; }
.privacy-governance-purpose-list p { display: block; margin: .2rem 0 0; color: #667174; font-size: .76rem; line-height: 1.4; }
.privacy-governance-next { margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.privacy-governance-next h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.privacy-governance-next > p:last-child { max-width: 52rem; margin: .65rem 0 0; color: #53615e; line-height: 1.55; }
.privacy-decision-shell { max-width: 68rem; }
.privacy-decision-requirements { margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.privacy-decision-requirements > h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.privacy-decision-requirements > ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.25rem 0 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.privacy-decision-requirements > ol > li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: .75rem; padding: .95rem 1rem .95rem 0; border-bottom: 1px solid #e4e9e7; }
.privacy-decision-requirements > ol > li:nth-child(even) { padding-right: 0; padding-left: 1rem; border-left: 1px solid #e4e9e7; }
.privacy-decision-requirements > ol > li > span,
.privacy-decision-family-list > li > ol > li > span { color: #b5201d; font-size: .75rem; font-weight: 900; }
.privacy-decision-requirements strong { display: block; font-size: .88rem; }
.privacy-decision-requirements p { margin: .25rem 0 0; color: #667174; font-size: .78rem; line-height: 1.45; }
.privacy-decision-register { margin-top: 2.5rem; }
.privacy-decision-register-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, 24rem); align-items: end; gap: 2rem; padding-bottom: .85rem; border-bottom: 2px solid #f52219; }
.privacy-decision-register-heading h2 { margin: 0; font-size: 1.2rem; letter-spacing: 0; }
.privacy-decision-register-heading > p { margin: 0; color: #667174; font-size: .78rem; line-height: 1.45; text-align: right; }
.privacy-decision-family-list { margin: 0; padding: 0; list-style: none; }
.privacy-decision-family-list > li { padding: 1.35rem 0 0; border-bottom: 1px solid #cfd7d5; }
.privacy-decision-family-list > li > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding-bottom: .75rem; }
.privacy-decision-family-list > li > header strong { display: block; }
.privacy-decision-family-list > li > header p { margin: .2rem 0 0; color: #667174; font-size: .76rem; }
.privacy-decision-family-list > li > header > span,
.privacy-decision-family-list > li > ol > li > em { color: #b5201d; font-size: .75rem; font-style: normal; font-weight: 900; text-transform: uppercase; }
.privacy-decision-family-list > li > header > span.is-ready,
.privacy-decision-family-list > li > ol > li > em.is-ready { color: #087d75; }
.privacy-decision-family-list > li > ol { margin: 0; padding: 0; border-top: 1px solid #e1e6e4; list-style: none; }
.privacy-decision-family-list > li > ol > li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: .75rem; padding: .8rem 0; border-bottom: 1px solid #eef1f0; }
.privacy-decision-family-list > li > ol > li:last-child { border-bottom: 0; }
.privacy-decision-family-list > li > ol strong { display: block; font-size: .86rem; }
.privacy-decision-family-list > li > ol p { margin: .2rem 0 0; color: #667174; font-size: .75rem; line-height: 1.4; }
.privacy-decision-guardrail { margin-top: 2.5rem; padding: 1.25rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.privacy-decision-guardrail p { margin: .4rem 0 0; color: #53615e; font-size: .84rem; line-height: 1.5; }
.tracking-shell { width: min(calc(100% - 2rem), 62rem); margin: 0 auto; padding: clamp(1.5rem, 3vw, 2.5rem) 0 3rem; }
.tracking-heading { position: relative; }
.tracking-heading h1 { max-width: 28ch; margin: 0; font-size: clamp(2rem, 3.5vw, 2.8rem); line-height: 1.06; letter-spacing: 0; }
.tracking-heading > p:not(.eyebrow) { max-width: 44rem; margin: .65rem 0 0; color: #53615e; font-size: .94rem; line-height: 1.5; }
.tracking-status { position: absolute; top: 0; right: 0; color: #087d75; font-size: .76rem; text-transform: uppercase; }
.tracking-now { margin-top: 1.75rem; padding: 1.1rem 0 1.2rem 1.1rem; border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; border-left: 4px solid #111719; }
.tracking-now h2 { margin: 0; font-size: 1.45rem; line-height: 1.2; letter-spacing: 0; }
.tracking-now > p:last-child { max-width: 46rem; margin: .4rem 0 0; color: #53615e; font-size: .9rem; line-height: 1.5; }
.tracking-now-success { border-left-color: #087d75; }
.tracking-now-attention { border-left-color: #f52219; }
.tracking-now-current { border-left-color: #d5a300; }
.tracking-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.5rem 0 0; border-top: 1px solid #cfd7d5; }
.tracking-facts div { min-width: 0; padding: .65rem 0; border-bottom: 1px solid #dce2e0; }
.tracking-facts div:nth-child(odd) { padding-right: 1.5rem; }
.tracking-facts div:nth-child(even) { padding-left: 1.5rem; border-left: 1px solid #e3e8e6; }
.tracking-facts dt { margin-bottom: .25rem; color: #667174; font-size: .78rem; }
.tracking-facts dd { margin: 0; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }
.tracking-facts .is-emphasis dd { color: #b5201d; }
.tracking-action { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: .85rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.tracking-action > div { display: grid; gap: .25rem; }
.tracking-action span { color: #667174; line-height: 1.4; }
.tracking-action > .tracking-action-buttons { display: flex; align-items: center; gap: 1rem; }
.tracking-action-buttons form { margin: 0; }
.tracking-action-buttons > a { color: #087d75; font-size: .82rem; font-weight: 800; }
.tracking-section { margin-top: 3rem; }
.tracking-section > header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.tracking-section > header > div { min-width: 0; }
.tracking-section > header > p { margin: 0; color: #667174; font-size: .78rem; text-align: right; }
.tracking-section h2 { margin: 0; font-size: 1.5rem; }
.journey-messages-section { margin-top: 2.5rem; }
.journey-message-list { margin: 1.1rem 0 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.journey-message { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr); gap: 1.25rem; padding: .95rem 0; border-bottom: 1px solid #dce2e0; }
.journey-message time { color: #263235; font-size: .78rem; font-weight: 800; line-height: 1.35; }
.journey-message time span { display: block; color: #667174; font-weight: 600; }
.journey-message > div { min-width: 0; }
.journey-message-title { display: flex; align-items: baseline; gap: .65rem; }
.journey-message-title strong { line-height: 1.35; }
.journey-message-title span { color: #b5201d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.journey-message p { margin: .25rem 0 0; color: #53615e; font-size: .84rem; line-height: 1.45; }
.journey-message-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .3rem 1rem; max-width: 38rem; margin: .65rem 0 0; }
.journey-message-facts > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); min-width: 0; gap: .35rem; align-items: baseline; }
.journey-message-facts dt { color: #667174; font-size: .75rem; font-weight: 700; }
.journey-message-facts dd { min-width: 0; margin: 0; color: #263235; font-size: .78rem; font-weight: 800; overflow-wrap: anywhere; }
.journey-message-facts dd a { color: #087d75; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.journey-message-action, .journey-all-messages { color: #087d75; font-weight: 850; text-underline-offset: 2px; }
.journey-message-action { display: inline-block; margin-top: .55rem; font-size: .82rem; }
.journey-all-messages { display: inline-block; margin-top: .9rem; font-size: .84rem; }
.journey-message.is-unread { box-shadow: inset 3px 0 0 #f52219; padding-left: .75rem; }
.journey-conversation { scroll-margin-top: 1rem; }
.journey-conversation-heading { display: flex; align-items: baseline; gap: .65rem; }
.journey-conversation-heading [data-notification-unread-badge] { color: #b5201d; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.journey-conversation-list { margin: 1.1rem 0 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.journey-conversation-message { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.journey-conversation-meta { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: .15rem; }
.journey-conversation-meta strong { color: #111719; font-size: .86rem; }
.journey-conversation-meta span { color: #087d75; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.journey-conversation-meta time { color: #667174; font-size: .75rem; }
.journey-conversation-content { min-width: 0; }
.journey-conversation-content > p { margin: 0; color: #263235; font-size: .9rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.journey-conversation-receipt { display: block; margin-top: .4rem; color: #667174; font-size: .75rem; font-weight: 750; }
.journey-conversation-receipt.is-read { color: #087d75; }
.journey-conversation-message.is-own .journey-conversation-meta strong { color: #b5201d; }
.journey-conversation-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.journey-conversation-pagination a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #087d75; font-size: .78rem; font-weight: 850; }
.journey-conversation-pagination span { color: #667174; font-size: .75rem; font-weight: 750; }
.journey-conversation-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; margin-top: 1.15rem; padding-top: 1rem; border-top: 2px solid #111719; }
.journey-conversation-form label { color: #263235; font-size: .78rem; font-weight: 850; }
.journey-conversation-form select, .journey-conversation-form textarea { width: 100%; padding: .75rem .8rem; border: 1px solid #bfc9c6; border-radius: 5px; color: #111719; background: #fff; font: inherit; }
.journey-conversation-form select { min-height: 3rem; }
.journey-conversation-form textarea { min-height: 7rem; resize: vertical; line-height: 1.5; }
.journey-conversation-recipient { margin: 0 0 .2rem; color: #53615e; font-size: .78rem; }
.journey-conversation-feedback { min-height: 1.2rem; margin: 0; color: #087d75; font-size: .75rem; font-weight: 750; }
.journey-conversation-feedback.is-error { color: #b5201d; }
.journey-conversation-submit { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .2rem; }
.journey-conversation-submit small { color: #667174; font-size: .75rem; }
.journey-conversation-submit button { min-width: 8.5rem; }
.journey-section { margin-top: 2.5rem; }
.journey-timeline { margin: 1.15rem 0 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.journey-event { display: grid; grid-template-columns: 7rem 1rem minmax(0, 1fr); gap: 1rem; min-height: 5rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.journey-event time { color: #263235; font-size: .78rem; font-weight: 800; line-height: 1.35; }
.journey-event time span { display: block; color: #667174; font-weight: 600; }
.journey-marker { width: .65rem; height: .65rem; margin-top: .2rem; border: 2px solid #9aa5a2; border-radius: 50%; background: #fff; }
.journey-event.is-completed .journey-marker { border-color: #087d75; background: #087d75; }
.journey-event.is-current .journey-marker { border-color: #d5a300; background: #d5a300; box-shadow: 0 0 0 4px rgba(213, 163, 0, .16); }
.journey-event.is-upcoming .journey-marker { border-color: #111719; }
.journey-event.is-attention .journey-marker { border-color: #f52219; background: #f52219; }
.journey-event > div { min-width: 0; }
.journey-category { display: block; margin-bottom: .18rem; color: #667174; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.journey-event strong { display: block; line-height: 1.35; }
.journey-event p { margin: .25rem 0 0; color: #53615e; font-size: .84rem; line-height: 1.45; }
.tracking-list { margin: 1rem 0 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.tracking-list li { min-height: 4.6rem; display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.tracking-list time, .tracking-list div { display: grid; gap: .15rem; }
.tracking-list time { color: #111719; font-weight: 800; }
.tracking-list time span, .tracking-list div span { color: #667174; font-size: .82rem; font-weight: 500; }
.tracking-list a { color: #087d75; font-size: .86rem; font-weight: 850; }
.tracking-course-actions { display: flex !important; align-items: flex-end; gap: .4rem !important; }
.tracking-course-actions form { margin: 0; }
.tracking-course-actions button { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0; border: 0; color: #087d75; background: transparent; font-size: .86rem; font-weight: 850; text-decoration: underline; cursor: pointer; }
.tracking-course-actions > span { color: #756000 !important; font-weight: 800 !important; }
.teacher-arrival { grid-column: 2 / -1; display: flex !important; align-items: center; justify-content: space-between; gap: 1rem !important; padding: .7rem 0 0 .85rem; border-top: 1px solid #dce2e0; border-left: 3px solid #9aa5a2; }
.teacher-arrival > div:first-child { display: grid; gap: .15rem; min-width: 0; }
.teacher-arrival-kicker { color: #667174 !important; font-size: .75rem !important; font-weight: 850 !important; }
.teacher-arrival strong { font-size: .92rem; line-height: 1.3; }
.teacher-arrival-en_route { border-left-color: #f52219; }
.teacher-arrival-arrived { border-left-color: #087d75; }
.teacher-arrival form { margin: 0; }
.teacher-arrival button { min-height: 2.75rem; padding: .45rem .75rem; border: 0; border-radius: 4px; color: #fff; background: #111719; font: inherit; font-size: .78rem; font-weight: 850; cursor: pointer; white-space: nowrap; }
.teacher-arrival-primary-link { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; padding: .45rem .75rem; border-radius: 4px; color: #fff; background: #111719; font-size: .78rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.teacher-arrival button.is-quiet { color: #52605e; background: transparent; text-decoration: underline; }
.teacher-arrival-actions { display: flex !important; align-items: center; gap: .4rem !important; }
.tracking-list .tracking-empty { display: block; min-height: 0; color: #667174; }
.tracking-result { padding-top: 2rem; border-top: 1px solid #dce2e0; }
.tracking-result-value { margin: 1rem 0 .3rem; font-size: 1.5rem; font-weight: 900; }
.tracking-result > p:not(.tracking-result-value) { margin: .35rem 0; color: #53615e; }
.tracking-result small { display: block; margin-top: .75rem; color: #b5201d; }
.lesson-shell .checkout-heading { margin: 2rem 0 1.5rem; }
.lesson-shell .checkout-heading h1 { max-width: none; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.05; }
.lesson-shell > .teacher-arrival { margin: 1rem 0 2rem; }
.lesson-theory-handover { margin: 2rem 0; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.lesson-theory-handover.is-consolidate { border-top-color: #b5201d; }
.lesson-theory-handover.is-reworked { border-top-color: #087d75; }
.lesson-theory-handover.is-reached { border-top-color: #087d75; }
.lesson-theory-handover header { display: grid; gap: .4rem; }
.lesson-theory-handover h2 { margin: 0; font-size: 1.45rem; line-height: 1.2; }
.lesson-theory-handover header > p:last-child { max-width: 58rem; margin: 0; color: #53615e; line-height: 1.5; }
.lesson-theory-handover dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); margin: 1.25rem 0; border-top: 1px solid #dce2e0; }
.lesson-theory-handover dl div { min-width: 0; padding: .85rem 1rem .85rem 0; border-bottom: 1px solid #dce2e0; }
.lesson-theory-handover dt { color: #667174; font-size: .8rem; font-weight: 800; line-height: 1.35; }
.lesson-theory-handover dd { margin: .25rem 0 0; overflow-wrap: anywhere; font-weight: 900; }
.lesson-theory-handover small { display: block; max-width: 60rem; color: #667174; line-height: 1.5; }
.lesson-section { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dce2e0; }
.lesson-assessment { margin: 0; }
.lesson-assessment div { display: grid; grid-template-columns: minmax(8rem, 1fr) 1.5fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #e7ebea; }
.lesson-assessment dt { color: #667174; }
.lesson-assessment dd { margin: 0; overflow-wrap: anywhere; font-weight: 700; text-align: right; }
.lesson-next-action { margin: 0; font-size: 1.1rem; line-height: 1.55; }
.lesson-confirmation { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 2rem 0; padding: 1.25rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.lesson-confirmation p { display: grid; gap: .25rem; margin: 0; }
.lesson-confirmation span { color: #667174; font-size: .9rem; line-height: 1.4; }
.lesson-request-link { margin: 1rem 0 2rem; }
.lesson-request-link a { color: #087d75; font-weight: 800; }
.lesson-request-state { margin: 2rem 0; padding: 1.25rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.lesson-request-state strong { display: block; }
.lesson-request-state > p:not(.eyebrow) { margin: .5rem 0; color: #334044; line-height: 1.5; white-space: pre-wrap; }
.lesson-request-state small { color: #667174; line-height: 1.45; }
.lesson-request-heading h1 { max-width: 18ch; }
.lesson-request-form { display: grid; gap: 1.5rem; }
.lesson-request-form > div > label { display: block; margin-bottom: .6rem; font-weight: 800; }
.lesson-request-form div[id$="_type"] { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); column-gap: .65rem; align-items: center; border-top: 1px solid #dce2e0; }
.lesson-request-form div[id$="_type"] > div { display: contents; }
.lesson-request-form div[id$="_type"] input[type="radio"] { width: 1.15rem; height: 1.15rem; margin: 0; accent-color: #f52219; }
.lesson-request-form div[id$="_type"] label { min-width: 0; min-height: 3.5rem; display: flex; align-items: center; padding: .7rem 0; border-bottom: 1px solid #dce2e0; line-height: 1.35; cursor: pointer; }
.lesson-request-form select { width: 100%; min-height: 3.5rem; padding: .65rem .75rem; border: 1px solid #bfc9c6; border-radius: 5px; color: #111719; background: #fff; font: inherit; }
.lesson-request-form textarea { width: 100%; min-height: 8rem; padding: .85rem; resize: vertical; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; font: inherit; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding: .25rem; border: 1px solid #d2dad8; border-radius: 6px; background: #edf1f0; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] > div { min-height: 0; border: 0; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] label { width: 100%; min-height: 2.8rem; display: flex; align-items: center; justify-content: center; padding: .45rem .65rem; border-radius: 4px; color: #53615e; font-size: .86rem; font-weight: 800; text-align: center; cursor: pointer; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] input { position: absolute; opacity: 0; pointer-events: none; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] input:checked + label { color: #fff; background: #111719; }
.lesson-request-form div[id$="_workedObjectiveOutcome"] input:focus-visible + label { outline: 3px solid rgba(8, 125, 117, .28); outline-offset: 1px; }
.lesson-request-form ul { margin: .35rem 0 0; padding-left: 1.2rem; color: #b5201d; font-size: .85rem; }
.lesson-request-form .checkout-primary { justify-self: start; }
.lesson-objective-suggestion { padding: 1.2rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.lesson-objective-suggestion strong { display: block; font-size: 1.15rem; line-height: 1.4; }
.lesson-objective-suggestion > p:not(.eyebrow) { margin: .55rem 0; color: #334044; line-height: 1.5; }
.lesson-objective-suggestion small { color: #667174; line-height: 1.45; }
.lesson-objective-readout { margin: 1.2rem 0; border-top: 1px solid #dce2e0; }
.lesson-objective-readout div { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #dce2e0; }
.lesson-objective-readout dt { color: #667174; }
.lesson-objective-readout dd { margin: 0; font-weight: 750; line-height: 1.45; }
.lesson-objective-readout dd small { display: block; margin-top: .3rem; color: #53615e; font-weight: 500; }
.lesson-request-message { margin: 1.5rem 0; padding: 1.25rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.lesson-request-message > p:last-child { margin: 0; line-height: 1.55; white-space: pre-wrap; }

.checkout-shell { width: min(calc(100% - 2rem), 70rem); min-height: 100vh; margin: 0 auto; padding: 2rem 0 4rem; }
.checkout-narrow { width: min(calc(100% - 2rem), 46rem); }
.checkout-heading { margin: clamp(2.5rem, 8vh, 6rem) 0 2rem; }
.checkout-heading h1 { max-width: 16ch; margin: 0; font-size: clamp(2.2rem, 6vw, 4.8rem); line-height: 1; letter-spacing: 0; }
.checkout-heading > p:last-child { max-width: 42rem; margin: 1rem 0 0; color: #667174; font-size: 1.05rem; line-height: 1.55; }
.checkout-stage-shell { background: #f8faf9; }
.checkout-topbar { margin-bottom: 0; }
.checkout-heading-compact { margin: 2.5rem 0 1.5rem; }
.checkout-heading-compact h1 { max-width: 18ch; font-size: clamp(2.2rem, 5vw, 3.35rem); }
.checkout-stop { padding: 1.5rem 0; border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; }
.checkout-stop h2, .checkout-stop p { margin: 0; }
.checkout-stop p { margin-top: .5rem; color: #667174; line-height: 1.5; }
.checkout-flow { display: grid; grid-template-columns: 1fr 1.35fr; gap: 2rem; }
.checkout-flow fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.checkout-flow legend { margin-bottom: .8rem; font-size: 1rem; font-weight: 850; }
.choice-list { border-top: 1px solid #dce2e0; }
.choice-list label { display: grid; grid-template-columns: auto 1fr; gap: .8rem; align-items: center; min-height: 4.5rem; padding: .8rem .2rem; border-bottom: 1px solid #dce2e0; cursor: pointer; }
.choice-list label.is-preselected { padding-right: .6rem; padding-left: .6rem; background: #edf7f5; }
.choice-list input { width: 1.15rem; height: 1.15rem; accent-color: #f52219; }
.choice-list span { display: flex; justify-content: space-between; gap: .75rem; }
.choice-list small { color: #667174; text-align: right; }
.checkout-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: 0 1.25rem; border: 0; border-radius: 6px; color: #fff; background: #e51f17; font-weight: 850; text-decoration: none; cursor: pointer; }
.checkout-flow > .checkout-primary { grid-column: 1 / -1; }
.checkout-summary { margin: 0 0 2rem; border-top: 1px solid #dce2e0; }
.checkout-summary div { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.checkout-summary dt { color: #667174; }
.checkout-summary dd { margin: 0; font-weight: 750; text-align: right; }
.checkout-summary-emphasis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1.25rem; }
.checkout-summary-emphasis div { grid-template-columns: 1fr; gap: .2rem; padding: .65rem 0; }
.checkout-summary-emphasis div:nth-child(odd):not(.is-wide) { padding-right: 1rem; }
.checkout-summary-emphasis div:nth-child(even) { padding-left: 1rem; border-left: 1px solid #dce2e0; }
.checkout-summary-emphasis .is-wide { grid-column: 1 / -1; }
.checkout-summary-emphasis dd { text-align: left; }
.signature-status { margin: 1.25rem 0; padding: 1rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; color: #42504d; line-height: 1.5; }
.contract-document > small { display: block; margin-top: .45rem; color: #667174; line-height: 1.45; }
.signature-queue > li { grid-template-columns: 8rem minmax(0, 1fr) auto auto; }
.contract-document { margin: 0 0 1.25rem; padding: 1.15rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.contract-document h2 { margin: 0; font-size: 1.2rem; }
.contract-document p:not(.eyebrow) { margin: .45rem 0; color: #53615e; line-height: 1.5; }
.contract-document small { color: #667174; }
.signed-contract-copy-body > section { padding: 1rem 0; border-top: 1px solid #dce2e0; }
.signed-contract-copy-body > section h3 { margin: 0 0 .65rem; font-size: 1rem; }
.signed-contract-copy-body .checkout-summary { margin-bottom: 0; }
.signed-contract-copy-body > footer { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.signed-contract-payment-action { width: 100%; margin: 0 0 1.5rem; }
.signed-contract-copy-proof { padding: 1rem 0 2rem; border-top: 1px solid #dce2e0; color: #53615e; line-height: 1.5; overflow-wrap: anywhere; }
.signed-contract-copy-proof p { margin: 0 0 .5rem; }
.signed-contract-copy-proof small { color: #667174; }
.checkout-archive-notice { margin: 0 0 1rem; color: #53615e; line-height: 1.5; }
.checkout-consent { display: grid; grid-template-columns: auto 1fr; gap: .75rem; margin: 1rem 0; line-height: 1.45; cursor: pointer; }
.checkout-consent input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: #087d75; }
.checkout-sign-form, .checkout-payment-form { margin: 0; }
.checkout-sign-form .checkout-primary, .checkout-payment-form .checkout-primary { width: 100%; }
.sandbox-notice { padding: .75rem 1rem; border-left: 3px solid #087d75; background: #fff; color: #35585a; }
.checkout-hold-notice { margin: 0 0 1.25rem; padding: 1.1rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.checkout-hold-notice h2 { margin: .2rem 0 0; font-size: 1.3rem; letter-spacing: 0; }
.checkout-hold-notice > p:last-child { max-width: 42rem; margin: .55rem 0 0; color: #53615e; line-height: 1.5; }
.checkout-payment-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 1.25rem; padding: .2rem; border: 1px solid #d2dad8; border-radius: 6px; background: #edf1f0; }
.checkout-payment-methods a { min-height: 2.8rem; display: flex; align-items: center; justify-content: center; padding: .45rem .75rem; border-radius: 4px; color: #53615e; font-size: .88rem; font-weight: 850; text-align: center; text-decoration: none; }
.checkout-payment-methods a.is-active { color: #fff; background: #111719; }
.checkout-bank-warning { margin: 0 0 1.25rem; padding: 1.1rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.checkout-bank-warning h2 { margin: .2rem 0 0; font-size: 1.3rem; letter-spacing: 0; }
.checkout-bank-warning > p:last-child { max-width: 42rem; margin: .55rem 0 0; color: #53615e; line-height: 1.5; }
.bank-transfer-details { margin: 1.25rem 0; border-top: 1px solid #cfd7d5; }
.bank-transfer-details div { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.bank-transfer-details dt { color: #667174; }
.bank-transfer-details dd { min-width: 0; margin: 0; font-weight: 800; text-align: right; }
.bank-transfer-details code { overflow-wrap: anywhere; color: #111719; font: inherit; font-variant-numeric: tabular-nums; }
.bank-transfer-next { margin: 1.25rem 0; color: #53615e; line-height: 1.55; }
.checkout-secondary-link { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: 1rem; color: #087d75; font-weight: 850; }
.checkout-total { margin: 2rem 0; font-size: clamp(3rem, 10vw, 6rem); font-weight: 900; }
.confirmation-mark { width: 3.25rem; height: 3.25rem; margin: 4rem 0 1rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #087d75; font-size: 1.5rem; font-weight: 900; }
.confirmation-shell .checkout-heading { margin-top: 0; }
.checkout-next-step { margin: 0 0 2rem; padding: 1.25rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.checkout-next-step h2 { margin: .2rem 0 0; font-size: 1.35rem; letter-spacing: 0; }
.checkout-next-step > p:last-child { max-width: 42rem; margin: .6rem 0 0; color: #53615e; line-height: 1.55; }

.reconciliation-shell { width: min(calc(100% - 2rem), 68rem); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0; }
.reconciliation-heading { max-width: 48rem; margin-bottom: 2.5rem; }
.reconciliation-heading h1 { max-width: 18ch; margin: 0; font-size: clamp(2rem, 5vw, 4rem); line-height: 1.02; letter-spacing: 0; }
.reconciliation-heading > p:not(.eyebrow) { margin: 1rem 0 0; color: #667174; line-height: 1.55; }
.reconciliation-preparation-link { display: inline-flex; margin-top: 1rem; color: #087d75; font-size: .9rem; font-weight: 850; }
.reconciliation-heading-links { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #dce2e0; }
.pagination span { color: #667174; font-size: .88rem; }
.pagination a { color: #087d75; font-weight: 800; }
.reconciliation-section-title { margin: 2.5rem 0 .75rem; font-size: 1rem; }
.reconciliation-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.reconciliation-list > li { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 8rem auto; align-items: center; gap: 1.25rem; padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.reconciliation-list time { color: #667174; font-size: .82rem; }
.reconciliation-list strong { display: block; }
.reconciliation-list p { margin: .25rem 0 0; color: #667174; font-size: .88rem; }
.reconciliation-list .reconciliation-request-copy { margin-top: .7rem; color: #273235; line-height: 1.5; white-space: pre-wrap; }
.reconciliation-list .bank-proof-match { color: #101619; font-weight: 800; }
.reconciliation-list span { font-variant-numeric: tabular-nums; font-weight: 800; text-align: right; }
.reconciliation-list a { color: #087d75; font-weight: 850; }
.reconciliation-list form { margin: 0; }
.reconciliation-list form .inline-action { margin: 0; }
.reconciliation-list .reconciliation-review-form button { min-height: 2.75rem; }
.bank-proof-status { color: #a22b25; font-size: .78rem; font-style: normal; font-weight: 900; text-align: right; text-transform: uppercase; }
.bank-proof-status.is-eligible { color: #087d75; }
.bank-proof-status.is-pending { color: #756000; }
.reconciliation-list .reconciliation-empty { display: block; padding: 2rem 0; }
.instructor-directory-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1rem; padding: .9rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.instructor-directory-summary span { color: #667174; font-size: .85rem; }
.instructor-directory-summary span b { color: #101719; }
.instructor-directory-summary em { margin-left: auto; color: #756000; font-size: .75rem; font-style: normal; font-weight: 900; text-transform: uppercase; }
.instructor-directory-list { margin: 0; padding: 0; list-style: none; }
.instructor-directory-list > li { display: grid; grid-template-columns: minmax(13rem, 1.2fr) minmax(15rem, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.instructor-directory-identity { min-width: 0; }
.instructor-directory-identity strong { display: block; }
.instructor-directory-identity span { display: block; margin-top: .2rem; color: #667174; font-size: .82rem; overflow-wrap: anywhere; }
.instructor-directory-list dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.instructor-directory-list dl div { min-width: 0; }
.instructor-directory-list dt { color: #667174; font-size: .75rem; }
.instructor-directory-list dd { margin: .2rem 0 0; font-size: .88rem; font-weight: 800; overflow-wrap: anywhere; }
.instructor-directory-status { color: #756000; font-size: .75rem; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.instructor-directory-status.is-active { color: #087d75; }
.instructor-directory-local-match { display: grid; grid-column: 1 / -1; gap: .2rem; color: #667174; line-height: 1.45; }
.instructor-directory-local-match.is-consistent { color: #086c66; }
.instructor-directory-unavailable { padding: 1.25rem 0; border-top: 2px solid #b5201d; border-bottom: 1px solid #dce2e0; }
.instructor-directory-unavailable h2 { margin: 0; font-size: 1.15rem; }
.instructor-directory-unavailable p,
.instructor-directory-empty p { margin: .45rem 0 0; color: #667174; line-height: 1.5; }
.instructor-directory-list > .instructor-directory-empty { display: block; }
.reconciliation-detail { max-width: 48rem; }
.reconciliation-detail code { overflow-wrap: anywhere; font-size: .82rem; }
.reconciliation-privacy { padding-top: 1.25rem; border-top: 1px solid #dce2e0; }
.reconciliation-privacy p { margin: .35rem 0 0; color: #667174; line-height: 1.5; }
.reconciliation-workflow { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #d9dfdd; }
.reconciliation-workflow h2 { margin: 0 0 .55rem; font-size: 1.35rem; }
.reconciliation-workflow > p { max-width: 68ch; color: #53615e; }
.reconciliation-workflow form { margin-top: 1rem; }
.reconciliation-workflow button { min-height: 2.9rem; padding: 0 1.1rem; border: 0; border-radius: 5px; color: #fff; background: #111719; font: inherit; font-weight: 800; cursor: pointer; }
.reconciliation-review-form { display: grid; gap: .55rem; max-width: 48rem; }
.reconciliation-review-form label { font-weight: 800; }
.reconciliation-review-form select { width: 100%; min-height: 3.25rem; padding: 0 .85rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.reconciliation-review-form textarea { min-height: 7rem; padding: .85rem; resize: vertical; border: 1px solid #bfc9c6; border-radius: 5px; font: inherit; }
.reconciliation-review-form button { justify-self: start; }
.reconciliation-workflow blockquote { max-width: 68ch; margin: 1rem 0; padding: .8rem 1rem; border-left: 3px solid #087d75; background: #f3f8f7; white-space: pre-wrap; }
.reconciliation-unchanged { font-size: .9rem; }
.payment-readiness-shell { max-width: 64rem; }
.payment-readiness-channel { padding: 2rem 0; border-top: 1px solid #cfd7d5; }
.payment-readiness-channel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.payment-readiness-channel h2, .payment-readiness-rule h2, .payment-readiness-decisions h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.payment-readiness-channel header p:not(.eyebrow) { max-width: 38rem; margin: .4rem 0 0; color: #667174; line-height: 1.45; }
.payment-readiness-status { flex: 0 0 auto; color: #b5201d; font-size: .78rem; text-transform: uppercase; }
.payment-readiness-status.is-ready { color: #087d75; }
.payment-readiness-list { margin: 0; padding: 0; list-style: none; }
.payment-readiness-list li { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; padding: 1rem 0; border-top: 1px solid #dce2e0; }
.payment-readiness-list li > span { color: #b5201d; font-size: .75rem; font-weight: 900; }
.payment-readiness-list li.is-ready > span { color: #087d75; }
.payment-readiness-list strong { display: block; }
.payment-readiness-list p { max-width: 48rem; margin: .3rem 0 0; color: #667174; font-size: .88rem; line-height: 1.5; }
.payment-readiness-rule { margin-top: 1rem; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.payment-readiness-rule > p:last-child { max-width: 52rem; margin: .65rem 0 0; color: #53615e; line-height: 1.55; }
.payment-readiness-decisions { padding: 2rem 0 0; }
.payment-readiness-decisions ul { margin: 1rem 0 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.payment-readiness-decisions li { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.payment-readiness-decisions span { color: #667174; line-height: 1.45; }
.checkout-readiness-shell { max-width: 66rem; padding-top: 1.4rem; }
.checkout-readiness-heading { max-width: 54rem; margin-bottom: 1.1rem; }
.checkout-readiness-heading h1 { max-width: 20ch; }
.checkout-readiness-heading > p:not(.eyebrow) { margin-top: .65rem; }
.checkout-readiness-verdict { color: #087d75; font-size: .78rem; text-transform: uppercase; }
.checkout-readiness-verdict.is-blocked { color: #a8201c; }
.launch-blocking-summary { display: flex; flex-wrap: wrap; gap: .45rem 1.15rem; margin: .9rem 0 0; padding: 0; color: #53615e; list-style: none; }
.launch-blocking-summary li { font-size: .82rem; }
.launch-blocking-summary strong { color: #111719; }
.launch-first-action { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: .75rem; color: #087d75; font-weight: 850; }
.launch-domain-overview { padding: 1rem 0 1.5rem; border-top: 2px solid #111719; }
.launch-domain-overview h2 { margin: .2rem 0 0; font-size: 1.5rem; letter-spacing: 0; }
.launch-domain-overview ol { margin: .9rem 0 0; padding: 0; list-style: none; }
.launch-domain-overview li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .85rem 0; border-top: 1px solid #dce2e0; }
.launch-domain-overview li > div { min-width: 0; }
.launch-domain-overview li strong { display: block; }
.launch-domain-overview li p { max-width: 48rem; margin: .25rem 0 0; color: #667174; font-size: .84rem; line-height: 1.45; }
.checkout-launch-priorities { padding: 1rem 0 1.5rem; border-top: 2px solid #111719; }
.checkout-launch-priorities h2 { max-width: 26ch; margin: .2rem 0 0; font-size: 1.5rem; letter-spacing: 0; }
.checkout-launch-priorities ol { margin: .9rem 0 0; padding: 0; list-style: none; }
.checkout-launch-priorities li {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: .75rem 0;
    border-top: 1px solid #dce2e0;
}
.checkout-launch-priorities li > span {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: #111719;
    font-size: .8rem;
    font-weight: 900;
}
.checkout-launch-priorities li small { display: block; color: #b5201d; font-size: .75rem; font-weight: 850; text-transform: uppercase; }
.checkout-launch-priorities li strong { display: block; margin-top: .2rem; font-size: 1.05rem; }
.checkout-launch-priorities li p { max-width: 48rem; margin: .35rem 0 0; color: #667174; font-size: .88rem; line-height: 1.5; }
.checkout-launch-priorities li a { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: .45rem; color: #087d75; font-weight: 850; }
.checkout-launch-remaining { margin: .8rem 0 0; color: #667174; font-size: .82rem; }
.checkout-readiness-technical { padding: 1.15rem 0 0; border-top: 1px solid #cfd7d5; }
.checkout-readiness-technical > summary {
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    color: #087d75;
    font-weight: 850;
    cursor: pointer;
}
.checkout-readiness-technical > div { padding-top: 1rem; }
.checkout-readiness-section { padding: 2rem 0; border-top: 1px solid #cfd7d5; }
.checkout-readiness-section > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: .8rem; }
.checkout-readiness-section h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.checkout-readiness-section header p:not(.eyebrow) { max-width: 43rem; margin: .4rem 0 0; color: #667174; line-height: 1.45; }
.checkout-readiness-section code { color: #263235; font: inherit; overflow-wrap: anywhere; }
.checkout-readiness-list { margin: 0; padding: 0; list-style: none; }
.checkout-readiness-list li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; align-items: start; gap: .8rem; padding: 1rem 0; border-top: 1px solid #dce2e0; }
.checkout-readiness-list li > span { color: #b5201d; font-size: .75rem; font-weight: 900; }
.checkout-readiness-list li.is-ready > span { color: #087d75; }
.checkout-readiness-list li.is-follow-up > span { color: #667174; }
.checkout-readiness-list p { max-width: 48rem; margin: .3rem 0 0; color: #667174; font-size: .88rem; line-height: 1.5; }
.checkout-readiness-list small { color: #667174; font-size: .75rem; white-space: nowrap; }
.catalog-approval-fingerprint { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-top: 2px solid #111719; border-bottom: 1px solid #dce2e0; }
.catalog-approval-fingerprint span { color: #667174; font-size: .82rem; font-weight: 800; }
.catalog-approval-fingerprint code { overflow-wrap: anywhere; color: #111719; font-size: .82rem; }
.catalog-approval-list { margin: 0; padding: 0; list-style: none; }
.catalog-approval-list > li { padding: 1.5rem 0; border-bottom: 1px solid #cfd7d5; }
.catalog-approval-list > li > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; }
.catalog-approval-list h3 { margin: .2rem 0 0; font-size: 1.15rem; letter-spacing: 0; }
.catalog-approval-list header span { color: #667174; font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.catalog-approval-list header > strong { flex: 0 0 auto; font-size: 1rem; }
.catalog-approval-list dl { margin: 1rem 0 0; }
.catalog-approval-list dl > div { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 1rem; padding: .65rem 0; border-top: 1px solid #e1e6e4; }
.catalog-approval-list dt { color: #667174; font-size: .78rem; font-weight: 800; }
.catalog-approval-list dd { margin: 0; color: #273033; font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
.checkout-readiness-footer { padding: 1.5rem 0 0; border-top: 2px solid #111719; }
.checkout-readiness-footer p { max-width: 52rem; color: #667174; line-height: 1.5; }
.checkout-readiness-footer a { color: #087d75; font-weight: 850; }
.checkout-readiness-footer a + a { margin-left: 1.25rem; }
.partner-sharing-readiness-shell { max-width: 60rem; }
.partner-sharing-readiness-heading { max-width: 48rem; margin-bottom: 2rem; }
.partner-sharing-readiness-heading h1 { max-width: 22ch; font-size: clamp(2rem, 3.7vw, 3.35rem); line-height: 1.04; }
.external-recipe-readiness-shell { max-width: 64rem; }
.external-recipe-closed { max-width: 46rem; margin: .75rem 0 0; color: #667174; line-height: 1.5; }
.teacher-assignment-form { display: grid; gap: .8rem; padding-top: 1.5rem; border-top: 1px solid #dce2e0; }
.teacher-assignment-form > label:first-of-type { font-weight: 800; }
.teacher-assignment-form select { width: 100%; min-height: 3.25rem; padding: 0 .9rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.teacher-assignment-form .checkout-primary { justify-self: start; }
.operational-heading h1 { max-width: 18ch; }
.operational-status { display: grid; grid-template-columns: 12rem 1fr; gap: 1rem; margin: 0 0 2.5rem; padding: 1rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #dce2e0; }
.operational-status span { color: #667174; }
.operational-status.is-ready { border-top-color: #087d75; }
.operational-form { display: grid; gap: 2rem; }
.operational-form section { padding-top: 1.5rem; border-top: 1px solid #dce2e0; }
.operational-form h2 { margin: 0 0 1rem; font-size: 1.15rem; }
.operational-form section > div { margin-top: 1.15rem; }
.operational-form section > div > label { display: block; margin-bottom: .55rem; font-weight: 800; }
.operational-form input[type="text"], .operational-form input[type="date"] { width: 100%; min-height: 3.2rem; padding: 0 .9rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.operational-form select { width: 100%; min-height: 11rem; padding: .5rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.operational-form input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin: .12rem .55rem 0 0; accent-color: #087d75; }
.operational-choice-options { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: center; column-gap: .75rem; border-top: 1px solid #dce2e0; }
.operational-choice-options > input[type="checkbox"] { width: 1.15rem; height: 1.15rem; margin: 0; accent-color: #087d75; }
.operational-choice-options > label { min-height: 3.25rem; display: flex; align-items: center; padding: .65rem 0; border-bottom: 1px solid #dce2e0; cursor: pointer; }
.operational-choice-options > input[type="checkbox"]:checked + label { color: #087d75; font-weight: 850; }
.operational-choice-options > input[type="checkbox"].existing-unavailable-membership + label { color: #a72120; font-weight: 800; }
.operational-choice-options > input[type="checkbox"]:focus-visible + label { outline: 3px solid #111719; outline-offset: -3px; }
.operational-choice-group > label { display: block; margin-bottom: .55rem; font-weight: 800; }
.operational-choice-group > div {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    align-items: center;
    column-gap: .75rem;
    border-top: 1px solid #dce2e0;
}
.operational-choice-group > div > input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    accent-color: #087d75;
}
.operational-choice-group > div > label {
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    padding: .65rem 0;
    border-bottom: 1px solid #dce2e0;
    cursor: pointer;
}
.operational-choice-group > div > input[type="checkbox"]:checked + label {
    color: #087d75;
    font-weight: 850;
}
.operational-choice-group > div > input[type="checkbox"]:focus-visible + label {
    outline: 3px solid #111719;
    outline-offset: -3px;
}
.operational-toggle-row {
    min-height: 3.75rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.25rem;
    align-items: center;
    gap: .35rem 1rem;
    padding: .7rem 0;
    border-top: 1px solid #dce2e0;
}
.operational-toggle-row > label {
    margin: 0;
    line-height: 1.4;
    cursor: pointer;
}
.operational-toggle-row > input[type="checkbox"] {
    grid-column: 2;
    grid-row: 1;
    width: 1.15rem;
    height: 1.15rem;
    margin: 0;
    accent-color: #087d75;
}
.operational-toggle-row > .help-text {
    grid-column: 1 / -1;
    margin: 0;
}
.operational-form .help-text { margin: .4rem 0 0; color: #667174; font-size: .82rem; line-height: 1.4; }
.operational-form ul { margin: .35rem 0 0; padding-left: 1.2rem; color: #b5201d; font-size: .85rem; }
.operational-form > .checkout-primary { justify-self: start; }
.teacher-school-scope { margin: 0 0 2.5rem; }
.teacher-school-scope > header { margin-bottom: .9rem; }
.teacher-school-scope > header h2 { margin: 0; font-size: 1.15rem; }
.teacher-school-scope > header p { margin: .4rem 0 0; color: #53615e; font-size: .9rem; line-height: 1.5; }
.teacher-school-list { margin: 0; padding: 0; border-top: 1px solid #cfd7d5; list-style: none; }
.teacher-school-list > li { display: grid; gap: .4rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.teacher-school-list > li > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; }
.teacher-school-list p, .teacher-school-empty { margin: 0; color: #53615e; font-size: .86rem; line-height: 1.5; }
.teacher-school-state { font-size: .76rem; font-weight: 850; }
.teacher-school-state.is-active { color: #087d75; }
.teacher-school-state.is-inactive { color: #9b1c19; }
.teacher-school-empty { padding: .9rem 0; border-top: 1px solid #cfd7d5; border-bottom: 1px solid #dce2e0; }
.training-schedule-list { margin: 2rem 0; }
.training-schedule-list ol { margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.training-schedule-list li { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #dce2e0; }
.training-schedule-list time { font-weight: 800; }
.training-schedule-list span { color: #667174; font-variant-numeric: tabular-nums; }
.training-schedule-list .training-schedule-empty { justify-content: flex-start; color: #667174; }
.training-schedule-form { padding-top: 1.5rem; border-top: 1px solid #dce2e0; }
.training-schedule-form label { display: block; margin-bottom: .45rem; font-weight: 800; }
.training-schedule-form input { width: 100%; min-height: 3.2rem; padding: 0 .9rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.training-schedule-form .checkout-primary { margin-top: 1rem; }
.training-schedule-form ul { margin: .35rem 0 .7rem; padding-left: 1.2rem; color: #b5201d; }

.public-page { min-height: 100vh; background: #f5f7f6; }
.public-header { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: .75rem max(1.25rem, calc((100% - 74rem) / 2)); border-bottom: 1px solid #dce2e0; background: #fff; }
.public-nav { display: flex; align-items: center; gap: 1.5rem; }
.public-nav a { color: #334044; font-size: .9rem; font-weight: 750; text-decoration: none; }
.public-nav .public-account { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 1rem; border-radius: 5px; color: #fff; background: #111719; }
.recipe-banner { margin: 0; padding: .5rem 1.25rem; color: #35585a; background: #e9f4f2; font-size: .78rem; text-align: center; }
.public-page main { background: #fff; }
.public-hero { position: relative; height: min(34rem, calc(100svh - 7rem)); min-height: 27rem; overflow: hidden; background: #111719; }
.public-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.public-hero-shade { position: absolute; inset: 0; background: rgba(10, 16, 17, .56); }
.public-hero-content { position: relative; z-index: 1; width: min(calc(100% - 2.5rem), 74rem); height: 100%; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; color: #fff; }
.public-hero-content .eyebrow { color: #fff; }
.public-hero h1 { max-width: 12ch; margin: 0; font-size: 4rem; line-height: 1; letter-spacing: 0; }
.public-hero-content > p:last-of-type { max-width: 38rem; margin: 1.15rem 0 1.5rem; font-size: 1.05rem; line-height: 1.55; }
.public-primary { min-height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 1.2rem; border-radius: 5px; color: #fff; background: #e51f17; font-weight: 850; text-decoration: none; }
.public-hero-status { max-width: 38rem; margin: 0; padding-left: .85rem; border-left: 3px solid #e51f17; color: #fff; font-weight: 850; line-height: 1.4; }
.public-hero-next { margin-top: .55rem; color: rgba(255, 255, 255, .86); font-size: .78rem; }
.public-availability { width: min(calc(100% - 2.5rem), 74rem); margin: 0 auto; padding: 2.25rem 0; border-bottom: 1px solid #dce2e0; scroll-margin-top: 1rem; }
.public-availability > header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; }
.public-availability h2 { margin: 0; font-size: 1.4rem; }
.public-availability p:not(.eyebrow) { margin: .35rem 0 0; color: #53615e; }
.public-availability small { display: block; margin-top: .35rem; color: #087d75; }
.public-availability-list { margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.public-availability-list li { min-height: 4.5rem; display: grid; grid-template-columns: 7rem minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: .75rem 0; border-bottom: 1px solid #dce2e0; }
.public-availability-list time, .public-availability-list li > div { min-width: 0; display: grid; gap: .1rem; }
.public-availability-list time span, .public-availability-list li > div span { color: #667174; font-size: .82rem; }
.public-text-link { min-height: 2.75rem; display: inline-flex; align-items: center; flex: 0 0 auto; color: #087d75; font-weight: 850; }
.public-process { width: min(calc(100% - 2.5rem), 74rem); margin: 0 auto; padding: 4rem 0; }
.public-section-heading { margin-bottom: 2rem; }
.public-section-heading h2 { margin: 0; font-size: 2rem; letter-spacing: 0; }
.public-process ol, .public-offers ul { margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.public-process li { min-height: 5rem; display: grid; grid-template-columns: 3rem 1fr; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.public-process li > span { color: #b5201d; font-size: .78rem; font-weight: 900; }
.public-process strong, .public-offers strong { display: block; }
.public-process li p { margin: .25rem 0 0; color: #667174; }
.public-faq { width: min(calc(100% - 2.5rem), 74rem); margin: 0 auto; padding: 4rem 0; border-top: 1px solid #dce2e0; scroll-margin-top: 1rem; }
.public-faq dl { margin: 0; border-top: 1px solid #dce2e0; }
.public-faq dl > div { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(20rem, 1.2fr); gap: 3rem; padding: 1.35rem 0; border-bottom: 1px solid #dce2e0; }
.public-faq dt { font-weight: 850; line-height: 1.4; }
.public-faq dd { margin: 0; color: #53615e; line-height: 1.55; }
.public-offers { padding: 4rem max(1.25rem, calc((100% - 74rem) / 2)); background: #f5f7f6; }
.public-offers li { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #d2dad8; }
.public-offers small { display: block; margin-top: .2rem; color: #667174; }
.public-offers li > span { flex: 0 0 auto; font-weight: 900; }
.public-offers > .public-primary { margin-top: 1.5rem; }
.public-footer { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem max(1.25rem, calc((100% - 74rem) / 2)); color: #fff; background: #111719; }
.public-footer span { font-weight: 900; }
.public-footer nav { display: flex; align-items: center; gap: 1.25rem; }
.public-footer a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #fff; }

.rdv-help-heading,
.rdv-help-states,
.rdv-help-answers {
    width: min(calc(100% - 2.5rem), 74rem);
    margin: 0 auto;
}
.rdv-help-heading { padding: 5rem 0 4rem; border-bottom: 1px solid #dce2e0; }
.rdv-help-heading h1 { max-width: 16ch; margin: 0; font-size: 3.5rem; line-height: 1.05; letter-spacing: 0; }
.rdv-help-heading > p:not(.eyebrow) { max-width: 43rem; margin: 1rem 0 0; color: #53615e; font-size: 1.05rem; line-height: 1.6; }
.rdv-help-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.25rem; margin-top: 1.5rem; }
.rdv-help-reservation-status { margin: 0; color: #52605f; font-weight: 800; line-height: 1.4; }
.rdv-help-agent { width: min(calc(100% - 2.5rem), 74rem); display: grid; grid-template-columns: minmax(0, .75fr) minmax(22rem, 1.25fr); gap: 2rem 4rem; margin: 0 auto; padding: 3rem 0; border-bottom: 1px solid #dce2e0; }
.rdv-help-agent h2 { margin: 0; font-size: 2rem; letter-spacing: 0; }
.rdv-help-agent > div:first-child > p:not(.eyebrow) { max-width: 31rem; margin: .7rem 0 0; color: #53615e; line-height: 1.55; }
.rdv-help-agent-input label { display: block; margin-bottom: .5rem; font-weight: 850; }
.rdv-help-agent-input > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.rdv-help-agent-input input { min-width: 0; min-height: 3.25rem; padding: 0 .9rem; border: 1px solid #aebbb7; border-right: 0; border-radius: 5px 0 0 5px; color: #111719; background: #fff; font: inherit; }
.rdv-help-agent-input button { min-height: 3.25rem; padding: 0 1.2rem; border: 0; border-radius: 0 5px 5px 0; color: #fff; background: #111719; font: inherit; font-weight: 850; cursor: pointer; }
.rdv-help-agent-input input:focus-visible,
.rdv-help-agent-input button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(8, 125, 117, .35); outline-offset: 1px; }
.rdv-help-agent-result { grid-column: 1 / -1; padding-top: 1.25rem; border-top: 2px solid #087d75; }
.rdv-help-agent-result[hidden] { display: none; }
.rdv-help-agent-transcript { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.rdv-help-agent-exchange { display: grid; gap: .65rem; }
.rdv-help-agent-turn { max-width: min(100%, 52rem); }
.rdv-help-agent-turn.is-user { justify-self: end; max-width: min(100%, 38rem); padding: .7rem .9rem; border-radius: 5px; background: #f0f3f2; }
.rdv-help-agent-turn.is-assistant { padding-left: .9rem; border-left: 3px solid #087d75; }
.rdv-help-agent-author { display: block; margin-bottom: .2rem; color: #087d75; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.rdv-help-agent-turn.is-user .rdv-help-agent-author { color: #53615e; }
.rdv-help-agent-result strong { display: block; font-size: 1.1rem; }
.rdv-help-agent-result p { margin: .3rem 0 0; color: #53615e; line-height: 1.6; }
.rdv-help-agent-result a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #087d75; font-weight: 850; }
.private-help-agent { width: 100%; margin: 0 0 2rem; padding: 2rem 0; }
.rdv-help-states, .rdv-help-answers { padding: 4rem 0; scroll-margin-top: 1rem; }
.rdv-help-states ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.rdv-help-states li { min-width: 0; padding: 1.25rem 1rem 1.25rem 0; border-bottom: 1px solid #dce2e0; }
.rdv-help-states li + li { padding-left: 1rem; border-left: 1px solid #dce2e0; }
.rdv-help-states li > span { display: block; margin-bottom: .75rem; color: #b5201d; font-size: .78rem; font-weight: 900; }
.rdv-help-states strong { display: block; line-height: 1.35; }
.rdv-help-states li p { margin: .45rem 0 0; color: #667174; font-size: .9rem; line-height: 1.55; }
.rdv-help-answers { border-top: 1px solid #dce2e0; }
.rdv-help-answers dl { margin: 0; border-top: 1px solid #dce2e0; }
.rdv-help-answers dl > div { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(20rem, 1.2fr); gap: 3rem; padding: 1.35rem 0; border-bottom: 1px solid #dce2e0; }
.rdv-help-answers dt { font-weight: 850; line-height: 1.4; }
.rdv-help-answers dd { margin: 0; color: #53615e; line-height: 1.6; }
.rdv-help-sources { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); gap: 4rem; padding: 4rem max(1.25rem, calc((100% - 74rem) / 2)); background: #eef3f1; scroll-margin-top: 1rem; }
.rdv-help-sources h2 { margin: 0; font-size: 2rem; letter-spacing: 0; }
.rdv-help-sources p:not(.eyebrow) { max-width: 38rem; margin: .85rem 0 0; color: #53615e; line-height: 1.6; }
.rdv-help-sources ul { margin: 0; padding: 0; border-top: 1px solid #cbd6d2; list-style: none; }
.rdv-help-sources li { border-bottom: 1px solid #cbd6d2; }
.rdv-help-sources a { min-height: 3.25rem; display: flex; align-items: center; color: #08756e; font-weight: 850; }

.reservation-shell { background: #f8faf9; }
.reservation-topbar { min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-bottom: 1px solid #dce2e0; }
.reservation-progress { display: flex; align-items: center; gap: 1.75rem; margin: 0; padding: 0; color: #667174; font-size: .78rem; font-weight: 850; list-style: none; }
.reservation-progress li { position: relative; }
.reservation-progress li + li::before { content: ""; position: absolute; top: 50%; right: calc(100% + .45rem); width: .85rem; height: 1px; background: #cbd3d1; }
.reservation-progress .is-current { color: #111719; }
.reservation-progress .is-complete { color: #087d75; }
.reservation-quote-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0 0; padding: .75rem 0; border-bottom: 1px solid #dce2e0; color: #263235; font-size: .82rem; }
.reservation-quote-summary strong { color: #087d75; }
.reservation-quote-summary span { color: #667174; text-align: right; }
.reservation-heading { margin: 3.5rem 0 2rem; }
.reservation-heading h1 { max-width: 16ch; margin: 0; font-size: 3.4rem; line-height: 1; letter-spacing: 0; }
.reservation-heading > p:last-child, .reservation-heading-row > div > p:last-child { max-width: 42rem; margin: .85rem 0 0; color: #667174; line-height: 1.5; }
.reservation-heading-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.qualification-form { border-top: 1px solid #dce2e0; }
.qualification-status { min-height: 2.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #667174; font-size: .78rem; font-weight: 800; }
.qualification-status button { padding: 0; border: 0; color: #087d75; background: transparent; font: inherit; cursor: pointer; }
.qualification-form fieldset { min-width: 0; display: grid; grid-template-columns: minmax(15rem, 1.2fr) minmax(18rem, 1fr); align-items: center; gap: 2rem; margin: 0; padding: .8rem 0; border: 0; border-bottom: 1px solid #dce2e0; }
.qualification-form fieldset[hidden], .qualification-form [hidden] { display: none; }
.qualification-form[data-enhanced="true"] fieldset { min-height: 9rem; }
.qualification-form legend { padding: 0; font-size: .95rem; font-weight: 800; }
.qualification-form legend:focus { outline: 3px solid rgba(8, 125, 117, .35); outline-offset: .25rem; }
.segmented-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .2rem; border: 1px solid #d2dad8; border-radius: 6px; background: #edf1f0; }
.segmented-choice label { position: relative; min-width: 0; cursor: pointer; }
.segmented-choice input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-choice span { min-height: 2.55rem; display: flex; align-items: center; justify-content: center; padding: .4rem .65rem; border-radius: 4px; color: #53615e; font-size: .82rem; font-weight: 800; text-align: center; }
.segmented-choice input:checked + span { color: #fff; background: #111719; }
.segmented-choice input:focus-visible + span { outline: 3px solid rgba(8, 125, 117, .28); outline-offset: 1px; }
.qualification-form > .checkout-primary { margin-top: 1.5rem; }
.reservation-intent { display: grid; grid-template-columns: 8rem minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.reservation-intent time, .reservation-intent p { min-width: 0; display: grid; gap: .12rem; margin: 0; }
.reservation-intent span { color: #667174; font-size: .84rem; }
.reservation-choice-flow { padding-top: 1.25rem; border-top: 1px solid #dce2e0; }
.reservation-resume { padding: 2rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.reservation-resume h2 { margin: 0; font-size: 2rem; }
.reservation-resume > p:not(.eyebrow) { margin: .55rem 0 1.25rem; color: #53615e; }
.reservation-resume form { margin: 0; }
.reservation-resume form small { display: block; margin-top: .65rem; color: #667174; }
.auth-context-hidden { display: none; }
.auth-intro { margin: -1rem 0 .5rem; color: #667174; line-height: 1.5; }

.planning-shell { width: min(calc(100% - 2rem), 92rem); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) 0; }
.planning-heading { max-width: 56rem; }
.planning-heading h1 { margin: 0; font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1; letter-spacing: 0; }
.planning-heading > p:last-child { margin: .75rem 0 0; color: #53615e; line-height: 1.5; }
.planning-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 2rem 0 0;
    padding: 0;
    border-top: 2px solid #111719;
    border-bottom: 1px solid #cfd7d5;
    background: #fff;
}
.planning-summary > div { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; }
.planning-summary > div + div { border-left: 1px solid #dce2e0; }
.planning-summary dt { color: #53615e; font-size: .78rem; font-weight: 800; }
.planning-summary dd { margin: 0; font-size: 1.6rem; font-weight: 900; font-variant-numeric: tabular-nums; }
.planning-summary .is-attention dd { color: #b5201d; }
.planning-filters {
    display: grid;
    grid-template-columns: minmax(15rem, 1.6fr) repeat(5, minmax(8rem, 1fr)) auto;
    align-items: end;
    gap: .75rem;
    margin-top: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #dce2e0;
}
.planning-filters label { min-width: 0; display: grid; gap: .35rem; color: #53615e; font-size: .75rem; font-weight: 850; }
.planning-filters input, .planning-filters select {
    width: 100%;
    min-width: 0;
    min-height: 2.8rem;
    padding: .55rem .7rem;
    border: 1px solid #c9d1cf;
    border-radius: 5px;
    color: #111719;
    background: #fff;
}
.planning-filters button { min-height: 2.8rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #e51f17; font-weight: 850; cursor: pointer; }
.planning-filters > a { grid-column: 1 / -1; width: fit-content; color: #087d75; font-size: .78rem; font-weight: 800; }
.planning-results { margin-top: 2rem; }
.planning-results > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; }
.planning-results h2 { margin: 0; font-size: 1.4rem; }
.planning-results > header > span { color: #667174; font-size: .8rem; }
.planning-list { margin: 0; padding: 0; border-top: 1px solid #aeb9b6; list-style: none; }
.planning-row {
    position: relative;
    min-width: 0;
    display: grid;
    grid-template-columns: 8.5rem minmax(13rem, 1.35fr) minmax(12rem, 1.2fr) minmax(11rem, 1fr) minmax(10rem, .85fr) auto;
    gap: 1.15rem;
    align-items: start;
    padding: 1rem .75rem 1rem 1rem;
    border-bottom: 1px solid #d8dfdd;
    background: #fff;
    box-shadow: inset 3px 0 #b8c2bf;
    transition: background-color 120ms ease;
}
.planning-row:hover, .planning-row:focus-within { background: #f9fbfa; }
.planning-row > div { min-width: 0; display: grid; align-content: start; gap: .18rem; }
.planning-row strong, .planning-row span, .planning-row small { min-width: 0; overflow-wrap: anywhere; }
.planning-row strong { color: #111719; font-size: .88rem; line-height: 1.35; }
.planning-row span { color: #53615e; font-size: .78rem; line-height: 1.4; }
.planning-row small { color: #667174; font-size: .75rem; line-height: 1.4; }
.planning-date time { display: grid; gap: .08rem; }
.planning-date time span { color: #087d75; font-size: 1rem; font-weight: 850; }
.planning-field-label { margin-bottom: .18rem; color: #667174 !important; font-size: .75rem !important; font-weight: 900; text-transform: uppercase; }
.planning-contact { position: relative; z-index: 2; width: fit-content; color: #087d75; font-size: .75rem; font-weight: 800; overflow-wrap: anywhere; }
.planning-missing { color: #b5201d !important; }
.planning-row-link {
    position: relative;
    z-index: 1;
    min-width: 2.75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    align-self: center;
    color: #087d75;
    font-size: .78rem;
    font-weight: 900;
    text-decoration: none;
}
.planning-row-link::after { content: ""; position: absolute; z-index: -1; inset: -2rem -1rem; }
.planning-state-awaiting-payment { box-shadow: inset 3px 0 #d4a916; }
.planning-state-paid-pending-official-confirmation { box-shadow: inset 3px 0 #f52219; }
.planning-state-officially-confirmed, .planning-state-completed { box-shadow: inset 3px 0 #087d75; }
.planning-state-cancelled { opacity: .72; }
.planning-empty { display: grid; gap: .25rem; padding: 2rem 1rem; border-bottom: 1px solid #d8dfdd; color: #667174; background: #fff; }
.planning-empty strong { color: #263235; }
.planning-pagination { margin-bottom: 1rem; }

@media (max-width: 1120px) {
    .planning-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .planning-search { grid-column: span 2; }
    .planning-filters button { width: 100%; }
    .planning-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.5rem; padding: 1.1rem 1rem; }
    .planning-row-link { justify-self: start; align-self: end; }
    .planning-row-link::after { inset: -1rem; }
}

@media (max-width: 760px) {
    main a[href] { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; }
    html:has(.global-message-link) { scroll-padding-bottom: calc(4.25rem + env(safe-area-inset-bottom)); }
    body:has(.global-message-link) { padding-bottom: calc(4.25rem + env(safe-area-inset-bottom)); }
    body:has(.global-message-link) main :where(a[href], button, input, select, textarea, summary) {
        scroll-margin-bottom: calc(4.25rem + env(safe-area-inset-bottom));
    }
    .global-message-link {
        right: 0;
        bottom: 0;
        left: 0;
        justify-content: center;
        min-height: 3.25rem;
        padding-bottom: max(.65rem, env(safe-area-inset-bottom));
        border-radius: 0;
    }
    .form-pair { grid-template-columns: 1fr; }
    .mfa-setup-flow { grid-template-columns: 1fr; }
    .mfa-confirm-step { border-top: 1px solid #dce2e0; border-left: 0; }
    .mfa-recovery-codes { grid-template-columns: 1fr; }
    .mfa-recovery-codes li:nth-child(even) { border-left: 0; }
    .security-mfa-status { grid-template-columns: 1fr; align-items: start; }
    .security-mfa-status dl { width: 100%; grid-template-columns: 1fr; gap: .75rem; }
    .security-recovery-requests li { grid-template-columns: 1fr; align-items: start; }
    .security-recovery-requests form { justify-items: start; }
    .app-header { grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1rem; }
    .app-header > strong { min-width: 0; overflow-wrap: anywhere; }
    .app-header > .app-header-actions { grid-column: 1 / -1; }
    .app-navigation {
        position: relative;
        grid-column: 1 / -1;
    }
    .diary-header-navigation {
        grid-column: 1 / -1;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0 1rem;
    }
    .diary-header-navigation > .app-navigation { flex: 0 0 auto; }
    .diary-header-navigation > .message-link { color: #087d75; font-weight: 850; }
    .app-header-actions .quiet-button, .app-header > .quiet-button { min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0 .25rem; }
    .inbox-heading .quiet-button, .notification-alert-control .quiet-button { min-height: 2.75rem; display: inline-flex; align-items: center; }
    .planning-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .planning-summary > div + div { border-left: 0; }
    .planning-summary > div:nth-child(even) { border-left: 1px solid #dce2e0; }
    .planning-summary > div:nth-child(n+3) { border-top: 1px solid #dce2e0; }
    .planning-summary > div { padding: .85rem; }
    .planning-filters, .planning-row { grid-template-columns: 1fr; }
    .planning-search { grid-column: auto; }
    .planning-filters > a { grid-column: auto; }
    .planning-row { gap: .85rem; }
    .planning-row > div { padding-bottom: .7rem; border-bottom: 1px solid #edf0ef; }
    .planning-row > .planning-payment { border-bottom: 0; }
    .planning-row-link { min-height: 2.75rem; }
    .diary-heading { align-items: stretch; flex-direction: column; }
    .next-focus { width: 100%; }
    .diary-grid { grid-template-columns: 1fr; }
    .diary-column + .diary-column { border-left: 0; border-top: 1px solid #dce2e0; }
    .diary-column h2 { min-height: 0; }
    .commercial-request form, .tariff-form form { grid-template-columns: 1fr; }
    .tariff-form form > label, .tariff-form form > label:nth-of-type(n+7), .tariff-amounts, .tariff-dates, .tariff-form form > button { grid-column: 1; }
    .tariff-amounts, .tariff-dates { grid-template-columns: 1fr; }
    .commercial-list > li, .commercial-direction-list > li { grid-template-columns: 1fr auto; gap: .6rem 1rem; }
    .commercial-list > li > div:first-child, .commercial-direction-list time, .commercial-issue-form { grid-column: 1 / -1; }
    .commercial-actions { grid-column: 1 / -1; }
    .auto-school-membership-list form { grid-template-columns: 1fr; align-items: stretch; }
    .auto-school-membership-list form > small,
    .auto-school-membership-list .membership-account-warning,
    .auto-school-membership-list .membership-protection-note,
    .auto-school-membership-list .quiet-button { grid-column: 1; grid-row: auto; }
    .auto-school-membership-list .quiet-button { width: 100%; }
    .commercial-issue-form { width: 100%; }
    .billing-order-summary { grid-template-columns: minmax(0, 1fr) auto; }
    .billing-order-summary > a, .billing-order-summary > .billing-status { grid-column: 1 / -1; }
    .billing-recipient form { grid-template-columns: 1fr; }
    .billing-recipient .billing-wide, .billing-recipient button { grid-column: 1; }
    .billing-direction-list > li { grid-template-columns: 1fr auto; }
    .billing-correction-state header, .billing-section-heading { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .billing-section-heading > p { text-align: left; }
    .billing-correction-form form { grid-template-columns: 1fr; }
    .billing-correction-form button { width: 100%; }
    .billing-correction-list > li, .billing-closed-corrections > li { grid-template-columns: 1fr auto; gap: .6rem 1rem; }
    .billing-correction-list time, .billing-correction-list > li > div, .billing-correction-list form,
    .billing-closed-corrections time, .billing-closed-corrections > li > div { grid-column: 1 / -1; }
    .billing-correction-list form:not(.billing-correction-resolution) { justify-self: start; }
    .information-identity, .information-form > section { grid-template-columns: 1fr; gap: 1rem; }
    .representative-access { grid-column: 1; }
    .information-fields { grid-template-columns: 1fr; }
    .information-fields .information-wide { grid-column: 1; }
    .checkout-confirmation-actions { align-items: stretch; flex-direction: column; }
    .checkout-confirmation-actions .checkout-primary { width: 100%; }
    .invoice-heading { flex-direction: column; }
    .invoice-heading dl { width: 100%; }
    .invoice-parties { grid-template-columns: 1fr; }
    .invoice-line-header { display: none !important; }
    .invoice-line > div:not(.invoice-line-header) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
    .invoice-line [role="cell"] { min-width: 0; display: flex; flex-direction: column; gap: .15rem; text-align: left !important; overflow-wrap: anywhere; }
    .invoice-line [role="cell"]::before { content: attr(data-label); color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
    .quote-line [role="cell"]::before { content: none; }
    .quote-line .invoice-cell-label { display: block; color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
    .invoice-line [role="cell"]:first-child { grid-column: 1 / -1; padding-bottom: .65rem; border-bottom: 1px solid #e2e7e6; }
    .reservation-quote-summary { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .reservation-quote-summary span { text-align: left; }
    .event-list li { grid-template-columns: 2.55rem minmax(0, 1fr); gap: .45rem; }
    .event-context div { grid-template-columns: 3.4rem minmax(0, 1fr); gap: .35rem; }
    .inbox-shell { padding: 1.25rem 0 2rem; }
    .inbox-heading { align-items: flex-start; flex-direction: column; gap: .6rem; margin-bottom: 1.25rem; }
    .inbox-heading h1 { font-size: 2rem; line-height: 1.05; }
    .inbox-heading .eyebrow, .inbox-heading > div > p:last-child { display: none; }
    .inbox-heading form { margin: 0; }
    .inbox-heading-actions { width: 100%; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: .5rem; }
    .notification-alert-status { font-size: .75rem; }
    .inbox-section + .inbox-section { margin-top: 2rem; }
    .inbox-section-heading { padding: .75rem 0 .85rem; }
    .inbox-section-heading > p:last-child { display: none; }
    .inbox-item { grid-template-columns: minmax(0, 1fr); align-items: start; gap: .65rem; }
    .inbox-meta { display: flex; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; }
    .inbox-meta time { display: flex; align-items: baseline; gap: .35rem; }
    .inbox-content, .inbox-item-action { grid-column: 1; }
    .inbox-item-action { justify-self: start; }
    .inbox-conversation-message { width: 92%; }
    .inbox-conversation-submit { align-items: stretch; flex-direction: column; }
    .inbox-conversation-submit button { width: 100%; }
    .inbox-facts { grid-template-columns: 1fr; }
    .inbox-facts > div { grid-template-columns: 1fr; gap: .1rem; }
    .inbox-facts .is-contact a { white-space: nowrap; }
    .security-activity-list li { grid-template-columns: minmax(0, 1fr) auto; gap: .55rem 1rem; }
    .security-activity-list time { grid-column: 1; }
    .security-activity-status { grid-column: 2; grid-row: 1 / span 2; }
    .security-response { align-items: stretch; flex-direction: column; gap: 1rem; }
    .security-response form { width: 100%; }
    .security-response form > div { grid-template-columns: 1fr; }
    .telegram-status { align-items: stretch; flex-direction: column; gap: 1rem; }
    .telegram-status form, .telegram-status button, .telegram-status .primary-link { width: 100%; }
    .telegram-commands dl div { grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; }
    .esr-live-device-list li { align-items: stretch; flex-direction: column; }
    .privacy-actions li { align-items: start; grid-template-columns: 1fr; gap: .75rem; }
    .privacy-actions button { width: 100%; }
    .privacy-history li { grid-template-columns: 1fr auto; gap: .45rem 1rem; }
    .privacy-history time { grid-column: 1 / -1; }
    .document-upload { grid-template-columns: 1fr; align-items: stretch; }
    .document-upload button { width: 100%; }
    .document-upload small { grid-column: 1; }
    .document-history li { grid-template-columns: 1fr auto; gap: .4rem 1rem; }
    .document-history time { grid-column: 1 / -1; }
    .document-review-list > li { grid-template-columns: 1fr auto; gap: .6rem 1rem; }
    .document-review-list time, .document-review-list li > div { grid-column: 1 / -1; }
    .document-review-list a { justify-self: start; }
    .onboarding-upload { grid-template-columns: 1fr; align-items: stretch; }
    .onboarding-upload button { width: 100%; }
    .onboarding-upload small { grid-column: 1; }
    .onboarding-submit button { width: 100%; }
    .onboarding-review-list > li { grid-template-columns: 1fr auto; gap: .55rem .8rem; }
    .onboarding-review-list li > div { grid-column: 1 / -1; }
    .onboarding-review-list a { justify-self: start; }
    .privacy-direction-list > li { grid-template-columns: 1fr auto; gap: .55rem 1rem; }
    .privacy-direction-list time, .privacy-direction-list li > div { grid-column: 1 / -1; }
    .privacy-direction-list form, .privacy-direction-list a, .privacy-direction-list small { justify-self: start; }
    .privacy-governance-progress { align-items: start; flex-direction: column; gap: .75rem; }
    .privacy-governance-strategy > ol { grid-template-columns: 1fr; }
    .privacy-governance-strategy > ol > li { padding: .85rem 0; border-top: 1px solid #e7ebea; border-left: 0; }
    .privacy-governance-strategy > ol > li:first-child { padding-top: 0; border-top: 0; }
    .privacy-governance-category-summary,
    .privacy-governance-purpose-list > li { grid-template-columns: 1fr; gap: .45rem; }
    .privacy-decision-requirements > ol { grid-template-columns: 1fr; }
    .privacy-decision-requirements > ol > li,
    .privacy-decision-requirements > ol > li:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
    .privacy-decision-register-heading,
    .privacy-decision-family-list > li > ol > li { grid-template-columns: 1fr; gap: .5rem; }
    .privacy-decision-register-heading > p { text-align: left; }
    .privacy-decision-family-list > li > ol > li > span { display: none; }
    .tracking-heading { padding-right: 0; }
    .tracking-status { position: static; display: inline-block; margin-top: 1rem; }
    .tracking-facts { grid-template-columns: 1fr; }
    .tracking-facts div:nth-child(odd), .tracking-facts div:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
    .tracking-action { align-items: stretch; flex-direction: column; gap: 1rem; }
    .tracking-action .checkout-primary { width: 100%; }
    .tracking-action-buttons { align-items: stretch; flex-direction: column; }
    .tracking-section > header { align-items: flex-start; flex-direction: column; gap: .2rem; }
    .tracking-section > header > p { text-align: left; }
    .journey-message { grid-template-columns: 4rem minmax(0, 1fr); gap: .7rem; }
    .journey-message-facts { grid-template-columns: 1fr; }
    .journey-message-facts > div { grid-template-columns: 1fr; gap: .1rem; }
    .journey-message-facts .is-contact a { white-space: nowrap; }
    .journey-conversation-message { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
    .journey-conversation-meta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: .7rem; }
    .journey-conversation-meta span { grid-column: 1 / -1; }
    .journey-conversation-submit { align-items: stretch; flex-direction: column; }
    .journey-conversation-submit button { width: 100%; }
    .journey-event { grid-template-columns: 5.25rem .75rem minmax(0, 1fr); gap: .7rem; }
    .tracking-list li { grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; }
    .tracking-list a { grid-column: 2; }
    .teacher-arrival { grid-column: 1 / -1; align-items: stretch; flex-direction: column; padding-left: .7rem; }
    .teacher-arrival-actions { align-items: stretch; flex-direction: column; }
    .teacher-arrival button { width: 100%; }
    .teacher-arrival-primary-link { width: 100%; }
    .checkout-flow { grid-template-columns: 1fr; }
    .checkout-flow > .checkout-primary { grid-column: 1; }
    .choice-list span { display: grid; }
    .choice-list small { text-align: left; }
    .checkout-summary div { grid-template-columns: 1fr; gap: .25rem; }
    .checkout-summary dd { text-align: left; }
    .checkout-payment-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1rem; }
    .checkout-payment-summary div { min-width: 0; grid-template-columns: 1fr; gap: .15rem; padding: .5rem 0; }
    .checkout-payment-summary div:nth-child(odd) { padding-right: .75rem; }
    .checkout-payment-summary div:nth-child(even) { padding-left: .75rem; border-left: 1px solid #dce2e0; }
    .checkout-payment-summary dd { overflow-wrap: anywhere; }
    .checkout-payment-shell .checkout-heading-compact { margin: 1.75rem 0 1rem; }
    .checkout-payment-shell .checkout-hold-notice { margin-bottom: 1rem; padding: .85rem 0; }
    .bank-transfer-details div { grid-template-columns: 1fr; gap: .25rem; }
    .bank-transfer-details dd { text-align: left; }
    .lesson-assessment div { grid-template-columns: 1fr; gap: .25rem; }
    .lesson-assessment dd { text-align: left; }
    .lesson-theory-handover dl { grid-template-columns: 1fr; }
    .lesson-theory-handover dl div { padding-right: 0; }
    .lesson-confirmation { align-items: stretch; flex-direction: column; }
    .lesson-confirmation .checkout-primary { width: 100%; }
    .lesson-request-form .checkout-primary { width: 100%; }
    .lesson-objective-readout div { grid-template-columns: 1fr; gap: .2rem; }
    .reconciliation-list > li { grid-template-columns: 1fr auto; gap: .7rem 1rem; }
    .reconciliation-list time, .reconciliation-list div { grid-column: 1 / -1; }
    .reconciliation-list span { text-align: left; }
    .instructor-directory-list > li { grid-template-columns: 1fr auto; gap: .8rem 1rem; }
    .instructor-directory-identity,
    .instructor-directory-list dl { grid-column: 1 / -1; }
    .instructor-directory-summary em { width: 100%; margin-left: 0; }
    .payment-readiness-channel > header { flex-direction: column; gap: .75rem; }
    .payment-readiness-decisions li { grid-template-columns: 1fr; gap: .25rem; }
    .checkout-readiness-section > header { flex-direction: column; gap: .75rem; }
    .launch-domain-overview li { grid-template-columns: 1fr; gap: .45rem; }
    .checkout-readiness-list li { grid-template-columns: 2rem minmax(0, 1fr); }
    .checkout-readiness-list small { grid-column: 2; white-space: normal; }
    .catalog-approval-fingerprint { grid-template-columns: 1fr; gap: .3rem; }
    .catalog-approval-list > li > header { display: grid; gap: .65rem; }
    .catalog-approval-list dl > div { grid-template-columns: 1fr; gap: .2rem; }
    .checkout-readiness-footer a { display: block; width: fit-content; margin-top: .65rem; }
    .checkout-readiness-footer a + a { margin-left: 0; }
    .operational-status { grid-template-columns: 1fr; gap: .3rem; }
    .public-header { min-height: 4.25rem; gap: 1rem; }
    .public-header .brand { font-size: 1.75rem; }
    .public-nav { gap: .75rem; }
    .public-nav > a:not(.public-account) { display: none; }
    .public-nav .public-account { min-height: 2.75rem; }
    .public-hero { height: min(31rem, calc(100svh - 10.5rem)); min-height: 0; }
    .public-hero > img { object-position: 88% center; }
    .public-hero h1 { font-size: 2.65rem; }
    .public-hero-content > p:last-of-type { font-size: .98rem; }
    .public-availability > header { align-items: flex-start; flex-direction: column; gap: .5rem; }
    .public-availability-list li { grid-template-columns: 6rem minmax(0, 1fr); gap: .75rem; }
    .public-availability-list .public-text-link { grid-column: 2; justify-self: start; }
    .public-process, .public-faq, .public-offers { padding-top: 3rem; padding-bottom: 3rem; }
    .public-faq dl > div { grid-template-columns: 1fr; gap: .45rem; padding: 1.1rem 0; }
    .rdv-help-heading { padding: 3.5rem 0 3rem; }
    .rdv-help-heading h1 { font-size: 2.5rem; }
    .rdv-help-actions { align-items: stretch; flex-direction: column; }
    .rdv-help-actions .public-primary,
    .rdv-help-actions .public-text-link { width: 100%; }
    .rdv-help-agent { grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 0; }
    .rdv-help-agent-input > div { grid-template-columns: 1fr; gap: .5rem; }
    .rdv-help-agent-input input,
    .rdv-help-agent-input button { min-height: 3rem; border: 1px solid #aebbb7; border-radius: 5px; }
    .rdv-help-agent-input button { border-color: #111719; }
    .rdv-help-states, .rdv-help-answers { padding: 3rem 0; }
    .rdv-help-states ol { grid-template-columns: 1fr; }
    .rdv-help-states li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: .75rem; padding: 1rem 0; border-left: 0; }
    .rdv-help-states li + li { padding-left: 0; border-left: 0; }
    .rdv-help-states li > span { margin: .15rem 0 0; }
    .rdv-help-answers dl > div { grid-template-columns: 1fr; gap: .45rem; padding: 1.1rem 0; }
    .rdv-help-sources { grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; padding-bottom: 3rem; }
    .inline-action + .inline-action-secondary { margin-left: 0; }
    .public-footer { align-items: flex-start; flex-direction: column; }
    .public-footer nav { width: 100%; align-items: flex-start; flex-direction: column; gap: 0; }
    .reservation-topbar { align-items: flex-start; flex-direction: column; gap: 1rem; padding: .5rem 0 1rem; }
    .reservation-progress { width: 100%; justify-content: space-between; gap: .75rem; }
    .reservation-progress li + li::before { display: none; }
    .reservation-heading { margin: 2.5rem 0 1.5rem; }
    .reservation-heading h1 { font-size: 2.5rem; }
    .reservation-heading-row { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .qualification-form fieldset { grid-template-columns: 1fr; gap: .7rem; padding: .9rem 0; }
    .reservation-intent { grid-template-columns: 6rem minmax(0, 1fr); gap: .75rem; }
    .reservation-intent .public-text-link { grid-column: 2; justify-self: start; }
    .segmented-choice span { min-height: 2.8rem; }
    .qualification-form > .checkout-primary { width: 100%; }
    .checkout-stage-shell { padding-top: 1rem; padding-bottom: 2rem; }
    .checkout-topbar { align-items: center; flex-direction: row; gap: 1rem; padding: .25rem 0 .75rem; }
    .checkout-topbar .reservation-progress { width: auto; gap: .9rem; }
    .checkout-heading-compact { margin: 1.75rem 0 1.1rem; }
    .confirmation-mark { margin-top: 2rem; }
}

@media (max-width: 520px) {
    .invoice-page { width: min(calc(100% - 1rem), 64rem); }
    .invoice-toolbar { align-items: flex-start; gap: .65rem; }
    .invoice-toolbar > a { flex: 0 0 6.5rem; font-size: .82rem; line-height: 1.25; white-space: nowrap; }
    .statement-period-toolbar { justify-content: stretch; flex-wrap: wrap; }
    .statement-period-toolbar > strong { order: -1; flex: 1 0 100%; text-align: center; }
    .statement-period-toolbar > a {
        display: inline-flex;
        flex: 1 1 calc(50% - .325rem);
        align-items: center;
        min-width: 0;
        min-height: 2.75rem;
        white-space: normal;
    }
    .statement-period-toolbar > a:last-child { justify-content: flex-end; text-align: right; }
    .invoice-toolbar button { padding-right: .8rem; padding-left: .8rem; }
    .quote-toolbar-actions { gap: .35rem; }
    .quote-toolbar-actions > span { width: 100%; text-align: right; }
    .invoice-document { padding: 1.25rem; }
    .invoice-heading { gap: 1.25rem; padding-bottom: 1.5rem; }
    .invoice-heading h1 { font-size: 2.35rem; }
    .invoice-heading dl div { grid-template-columns: minmax(5.75rem, 1fr) auto; gap: .6rem; }
    .invoice-heading dd { font-size: .86rem; white-space: nowrap; }
    .invoice-parties { gap: 1.25rem; padding: 1.5rem 0; }
    .invoice-line > div:not(.invoice-line-header) { grid-template-columns: 1fr; gap: .7rem; }
    .invoice-line [role="cell"]:first-child { grid-column: auto; }
    .quote-line [role="cell"]:not(:first-child) { display: grid; grid-template-columns: minmax(5.5rem, 1fr) auto; align-items: baseline; gap: .75rem; }
    .quote-line .invoice-cell-label, .quote-line .invoice-cell-value { min-width: 0; }
    .quote-line .invoice-cell-value { text-align: right; white-space: nowrap; }
    .invoice-totals { padding: 1.25rem 0; }
    .event-context { gap: .38rem; }
    .event-context div { grid-template-columns: minmax(4.75rem, 6rem) minmax(0, 1fr); gap: .35rem; align-items: start; }
    .event-context dt { line-height: 1.25; overflow-wrap: anywhere; }
    .checkout-topbar { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .checkout-topbar .reservation-progress { width: 100%; }
    .checkout-summary-emphasis { grid-template-columns: 1fr; }
    .checkout-summary-emphasis .is-wide { grid-column: auto; }
    .checkout-summary-emphasis div:nth-child(odd):not(.is-wide),
    .checkout-summary-emphasis div:nth-child(even) { padding-right: 0; padding-left: 0; border-left: 0; }
}

@media (max-width: 360px) {
    .checkout-readiness-heading h1 { font-size: 1.75rem; line-height: 1.05; }
    .checkout-readiness-heading > p:not(.eyebrow) { margin-top: .5rem; font-size: .88rem; line-height: 1.4; }
    .checkout-launch-priorities h2 { font-size: 1.35rem; line-height: 1.12; }
    .checkout-launch-priorities li strong { font-size: 1rem; }
    .checkout-launch-priorities li p { font-size: .82rem; line-height: 1.4; }
}

@media (prefers-reduced-motion: reduce) {
    .planning-row { transition: none; }
}

@media print {
    @page { margin: 12mm; }
    body { background: #fff; }
    .app-header,
    .global-message-link { display: none; }
    .invoice-page { width: 100%; margin: 0; padding: 0; }
    .invoice-toolbar { display: none; }
    .invoice-document { padding: 0; border: 0; }
    .invoice-heading h1 { font-size: 2.5rem; }
    .invoice-line { break-inside: avoid; }
    .invoice-legal { break-inside: avoid; }
}

form[aria-busy="true"] button[type="submit"],
form[aria-busy="true"] input[type="submit"] {
    cursor: wait;
    opacity: .72;
}

.theory-shell {
    width: min(calc(100% - 2rem), 76rem);
    margin: 0 auto;
    padding: 2.5rem 0 4rem;
}
.theory-heading { max-width: 48rem; margin-bottom: 2.5rem; }
.theory-heading h1,
.theory-feedback h1,
.theory-complete h1 { margin: 0; font-size: 3rem; line-height: 1.05; }
.theory-heading > p:last-child,
.theory-feedback > p:not(.eyebrow),
.theory-complete > p:not(.eyebrow) { margin: .75rem 0 0; color: #53615e; font-size: 1rem; line-height: 1.55; }
.theory-recommendation,
.theory-empty,
.theory-feedback,
.theory-complete { max-width: 54rem; padding: 2rem 0; border-top: 3px solid #f52219; border-bottom: 1px solid #cfd7d5; }
.theory-recommendation h2,
.theory-empty h2 { max-width: 22ch; margin: .45rem 0 0; font-size: 2rem; line-height: 1.12; }
.theory-recommendation > p:not(.theory-program),
.theory-empty p { max-width: 44rem; margin: .8rem 0 0; color: #53615e; line-height: 1.55; }
.theory-program { margin: 0; color: #b5201d; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.theory-route-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2rem 0; border-top: 1px solid #dce2e0; }
.theory-route-facts div { min-width: 0; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.theory-route-facts div + div { padding-left: 1rem; border-left: 1px solid #dce2e0; }
.theory-route-facts dt { color: #667174; font-size: .78rem; font-weight: 800; }
.theory-route-facts dd { margin: .3rem 0 0; font-weight: 900; overflow-wrap: anywhere; }
.theory-primary,
.theory-secondary { min-height: 3.75rem; display: inline-flex; align-items: center; justify-content: center; margin-top: 1rem; border-radius: 6px; font-weight: 850; text-decoration: none; }
main a.theory-primary,
main a.theory-secondary { min-height: 3rem; }
.theory-primary { padding: 0 1.25rem; border: 0; color: #fff; background: #e51f17; cursor: pointer; }
.theory-primary:disabled { opacity: .45; cursor: not-allowed; }
.theory-secondary { color: #087d75; text-decoration: underline; text-underline-offset: 3px; }
.theory-session-exit { max-width: 54rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid #dce2e0; }
.theory-session-exit h2 { margin: 0; font-size: 1rem; line-height: 1.3; }
.theory-session-exit p { max-width: 38rem; margin: .35rem 0 0; color: #53615e; font-size: .86rem; line-height: 1.5; }
.theory-session-exit form { flex: 0 0 auto; }
.theory-session-exit .theory-secondary { margin: 0; }
.theory-coach-heading { padding-bottom: 1.5rem; border-bottom: 1px solid #dce2e0; }
.theory-coach-count { margin: 1rem 0 0; color: #087d75; font-weight: 850; }
.theory-coach-list { margin: 0; padding: 0; list-style: none; }
.theory-coach-item { min-width: 0; display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(18rem, 1.15fr) minmax(16rem, .9fr); align-items: start; gap: 2rem; padding: 1.5rem 0; border-bottom: 1px solid #dce2e0; }
.theory-coach-person, .theory-coach-guidance { min-width: 0; }
.theory-coach-person > span { color: #b5201d; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.theory-coach-item.is-ready .theory-coach-person > span { color: #087d75; }
.theory-coach-person h2 { margin: .25rem 0 0; font-size: 1.15rem; }
.theory-coach-person p, .theory-coach-guidance p { margin: .3rem 0 0; color: #53615e; line-height: 1.5; }
.theory-coach-guidance strong { color: #111719; }
.theory-coach-guidance small { display: block; margin-top: .6rem; color: #667174; }
.theory-coach-mock-priorities { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid #cbd7d4; }
.theory-coach-mock-priorities > strong { font-size: .86rem; }
.theory-coach-mock-priorities ul { margin: .45rem 0 0; padding: 0; list-style: none; }
.theory-coach-mock-priorities li { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; padding: .35rem 0; border-bottom: 1px solid #e2e7e5; }
.theory-coach-mock-priorities li span { min-width: 0; color: #273331; font-weight: 800; overflow-wrap: anywhere; }
.theory-coach-mock-priorities li small { margin: 0; white-space: nowrap; }
.theory-coach-mock-priorities > small { margin-top: .5rem; }
.theory-coach-repeated-summary { padding-left: .7rem; border-left: 3px solid #b3261e; }
.theory-coach-mock-priorities .theory-coach-repeated-topics { margin-bottom: .7rem; }
.theory-coach-mock-priorities .theory-coach-repeated-topics li span { color: #7d1c17; }
.theory-coach-mock-latest-title { display: block; margin-top: .75rem; font-size: .78rem; text-transform: uppercase; }
.theory-coach-reinforcement { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid #cbd7d4; }
.theory-coach-reinforcement strong, .theory-coach-reinforcement span { display: block; }
.theory-coach-reinforcement strong { color: #08756e; font-size: .86rem; }
.theory-coach-reinforcement.is-pending strong { color: #9c2724; }
.theory-coach-reinforcement span { margin-top: .25rem; color: #273331; font-weight: 800; }
.theory-coach-reinforcement small { margin-top: .25rem; }
.theory-coach-call { min-height: 3rem; display: inline-flex; align-items: center; color: #08756e; font-weight: 850; white-space: nowrap; }
main a.theory-coach-call { min-height: 3rem; }
.theory-coach-actions, .theory-coach-actions form { min-width: 0; display: grid; gap: .65rem; }
.theory-coach-actions label { color: #273331; font-size: .85rem; font-weight: 800; }
.theory-coach-actions textarea { width: 100%; min-height: 5.5rem; resize: vertical; }
.theory-coach-actions .theory-primary { width: 100%; }
.theory-coach-empty { padding: 2rem 0; border-bottom: 1px solid #dce2e0; }
.theory-coach-empty h2 { margin: 0; font-size: 1.15rem; }
.theory-coach-empty p, .theory-coach-more { color: #53615e; }
.theory-question-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; }
.theory-question-heading h1 { margin: 0; font-size: 1.35rem; }
.theory-question-heading progress { width: min(18rem, 45%); height: .65rem; border: 0; border-radius: 0; overflow: hidden; accent-color: #087d75; }
.theory-question-heading progress::-webkit-progress-bar { background: #dce2e0; }
.theory-question-heading progress::-webkit-progress-value { background: #087d75; }
.theory-question { max-width: 60rem; padding: 2rem 0; border-top: 1px solid #cfd7d5; }
.theory-question > img { width: 100%; max-height: 28rem; display: block; margin-bottom: 1.5rem; object-fit: contain; background: #e8edeb; }
.theory-question h2 { max-width: 34ch; margin: 0; font-size: 2rem; line-height: 1.3; }
.theory-choice-help { margin: .75rem 0 1.5rem; color: #667174; font-size: .88rem; }
.theory-question form { margin-top: 1.5rem; }
.theory-choices { display: grid; margin: 0; padding: 0; border: 0; border-top: 1px solid #dce2e0; }
.theory-choices label { min-height: 4rem; display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: center; gap: .8rem; padding: .75rem .25rem; border-bottom: 1px solid #dce2e0; cursor: pointer; }
.theory-choices label:hover { background: #eef4f2; }
.theory-choices input { width: 1.25rem; height: 1.25rem; margin: 0; accent-color: #e51f17; }
.theory-choices span { min-width: 0; line-height: 1.45; overflow-wrap: anywhere; }
.theory-feedback.is-correct { border-top-color: #087d75; }
.theory-feedback.is-incorrect { border-top-color: #d5a300; }
.theory-feedback-prompt { max-width: 48rem; color: #111719 !important; font-size: 1.1rem !important; font-weight: 800; }
.theory-feedback-facts { max-width: 48rem; margin: 1.5rem 0 0; border-top: 1px solid #cfd7d5; }
.theory-feedback-facts > div { display: grid; grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr); gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.theory-feedback-facts > div.is-key { border-bottom-color: #087d75; }
.theory-feedback-facts dt { color: #53615e; font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.theory-feedback-facts dd { min-width: 0; margin: 0; color: #111719; font-weight: 750; line-height: 1.5; overflow-wrap: anywhere; }
.theory-feedback-facts .is-key dd { font-weight: 850; }
.theory-feedback-facts .is-insight dd { display: grid; gap: .55rem; }
.theory-feedback-facts .is-insight dd span { display: block; }
.theory-feedback-facts .is-insight dd strong { color: #9c2724; }
.theory-feedback-next { color: #08756e !important; font-weight: 850; }
.theory-score strong { color: #087d75; font-size: 2rem; }
.theory-diary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .75rem; border-top: 1px solid #cfd7d5; border-bottom: 1px solid #cfd7d5; }
.theory-diary-day { min-width: 0; padding: 1.5rem; }
.theory-diary-day:first-child { padding-left: 0; }
.theory-diary-day:last-child { padding-right: 0; }
.theory-diary-day + .theory-diary-day { border-left: 1px solid #dce2e0; }
.theory-diary-day.is-today { background: #fff5f3; }
.theory-diary-label { margin: 0; color: #b5201d; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.theory-diary-day h2 { margin: .55rem 0 0; font-size: 1.4rem; line-height: 1.18; }
.theory-diary-day > p:not(.theory-diary-label, .theory-diary-metric) { margin: .75rem 0 0; color: #53615e; line-height: 1.5; }
.theory-diary-metric { margin: 1.1rem 0 0; color: #087d75; font-size: 1.5rem; font-weight: 900; }
.theory-daily-plan { margin: 1.1rem 0 0; border-top: 1px solid #d6dddb; }
.theory-daily-plan > div { min-width: 0; padding: .75rem 0; border-bottom: 1px solid #d6dddb; }
.theory-daily-plan dt { color: #9c2724; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.theory-daily-plan dd { margin: .25rem 0 0; color: #111719; font-weight: 780; line-height: 1.4; overflow-wrap: anywhere; }
.theory-daily-action-note { margin: 1rem 0 0; color: #53615e; font-size: .88rem; line-height: 1.5; }
.theory-route-reinforcement { margin: 1rem 0 0; padding-top: 1rem; border-top: 2px solid #087d75; }
.theory-route-reinforcement strong,
.theory-route-reinforcement span { display: block; }
.theory-route-reinforcement strong { color: #08756e; }
.theory-route-reinforcement span { margin-top: .35rem; color: #53615e; line-height: 1.5; }
.theory-route-coach-note { min-width: 0; margin: 1.1rem 0 0; padding: 1rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #dce2e0; }
.theory-route-coach-note > p:first-child { margin: 0; color: #08756e; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.theory-route-coach-note h3 { margin: .3rem 0 0; font-size: 1rem; }
.theory-route-coach-note h3 + p { margin: .55rem 0 0; color: #263033; line-height: 1.5; overflow-wrap: anywhere; }
.theory-route-coach-note time { display: block; margin-top: .65rem; color: #667174; font-size: .75rem; }
.theory-diary-day form { margin: 0; }
.theory-session-size { margin: 1rem 0 0; padding: 0; border: 0; }
.theory-session-size legend { margin-bottom: .55rem; color: #263033; font-size: .82rem; font-weight: 800; }
.theory-session-size > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.theory-session-size label { position: relative; min-width: 0; min-height: 2.75rem; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.theory-session-size input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.theory-session-size span { width: 100%; min-height: 2.75rem; display: flex; align-items: center; justify-content: center; gap: .25rem; padding: .45rem; border: 1px solid #b9c3c0; color: #263033; background: #fff; font-size: .78rem; text-align: center; }
.theory-session-size input:checked + span { border-color: #087d75; color: #075f59; box-shadow: inset 0 0 0 1px #087d75; }
.theory-session-size input:focus-visible + span { outline: 3px solid #101719; outline-offset: 2px; }
.theory-readiness { padding: 2rem 0; border-bottom: 1px solid #cfd7d5; }
.theory-readiness > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1rem 2rem; }
.theory-readiness > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-readiness > header > strong { color: #53615e; }
.theory-readiness.is-reached > header > strong { color: #08756e; }
.theory-readiness.is-reworked > header > strong { color: #08756e; }
.theory-readiness.is-consolidate > header > strong { color: #8b4c08; }
.theory-readiness > p { max-width: 52rem; margin: .75rem 0 0; color: #53615e; line-height: 1.5; }
.theory-readiness dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); margin: 1.25rem 0 0; border-top: 1px solid #dce2e0; }
.theory-readiness dl > div { min-width: 0; padding: 1rem .8rem; border-bottom: 1px solid #dce2e0; }
.theory-readiness dl > div:first-child { padding-left: 0; }
.theory-readiness dl > div + div { border-left: 1px solid #dce2e0; }
.theory-readiness dt { color: #667174; font-size: .78rem; font-weight: 800; }
.theory-readiness dd { margin: .3rem 0 0; font-weight: 900; overflow-wrap: anywhere; }
.theory-readiness dd small { display: block; margin-top: .2rem; color: #667174; font-weight: 600; }
.theory-exam-target dd > strong { display: block; color: #08756e; font-size: 1.2rem; }
.theory-exam-target.is-today dd > strong { color: #a51d1d; }
.theory-exam-target.is-elapsed dd > strong { color: #53615e; }
.theory-exam-target dd > span { display: block; margin-top: .1rem; }
.theory-readiness-review { min-height: 2.75rem; display: inline-flex; align-items: center; margin-top: .35rem; color: #08756e; font-size: .88rem; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.theory-readiness > small { display: block; max-width: 52rem; margin-top: .75rem; color: #667174; line-height: 1.45; }
.theory-target-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, auto); align-items: end; gap: 1rem 2rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #dce2e0; }
.theory-target-editor h3 { margin: 0; font-size: 1rem; }
.theory-target-editor p { max-width: 42rem; margin: .35rem 0 0; color: #53615e; line-height: 1.45; }
.theory-target-editor form { display: grid; grid-template-columns: minmax(10rem, 12rem) auto; align-items: end; gap: .45rem .75rem; margin: 0; }
.theory-target-editor label { grid-column: 1 / -1; color: #53615e; font-size: .82rem; font-weight: 800; }
.theory-target-editor input[type="date"] { width: 100%; min-height: 2.75rem; padding: .55rem .65rem; border: 1px solid #9eaaa7; border-radius: 4px; background: #fff; color: #111719; font: inherit; }
.theory-target-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.theory-target-actions .theory-primary,
.theory-target-clear { min-height: 2.75rem; }
.theory-target-clear { padding: .55rem .7rem; border: 0; background: transparent; color: #08756e; font: inherit; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.theory-mastery { padding: 2rem 0; border-bottom: 1px solid #cfd7d5; }
.theory-mastery > header { display: grid; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr); gap: 2rem; align-items: end; padding-bottom: 1rem; }
.theory-mastery > header h2 { max-width: 28ch; margin: 0; font-size: 1.35rem; line-height: 1.25; }
.theory-mastery ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #dce2e0; }
.theory-mastery li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .65fr); gap: 2rem; align-items: center; min-height: 5rem; padding: .9rem 0; border-bottom: 1px solid #dce2e0; }
.theory-mastery-name h3 { margin: 0; font-size: 1rem; }
.theory-mastery-name p { margin: .25rem 0 0; color: #53615e; font-size: .85rem; }
.theory-mastery-status { display: grid; grid-template-columns: auto minmax(5rem, 1fr) 3rem; align-items: center; gap: .75rem; }
.theory-mastery-status strong { color: #53615e; font-size: .82rem; }
.theory-mastery-status progress { width: 100%; height: .5rem; border: 0; accent-color: #087d75; }
.theory-mastery-status span { color: #087d75; font-size: .85rem; font-weight: 850; text-align: right; }
.theory-mastery li.is-attention .theory-mastery-status strong { color: #a33d08; }
.theory-mastery li.is-solid .theory-mastery-status strong { color: #08756e; }
.theory-mock-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid #cfd7d5; }
.theory-mock-entry h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-mock-entry p:last-child { max-width: 48rem; margin: .65rem 0 0; color: #53615e; line-height: 1.5; }
.theory-mock-entry form { margin: 0; }
.theory-mock-action { margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.theory-mock-result { max-width: 64rem; }
.theory-mock-result > h1 { max-width: 18ch; margin: .35rem 0 0; font-size: 3rem; line-height: 1.05; }
.theory-mock-result > p:not(.eyebrow, .theory-mock-score, .theory-mock-perfect) { max-width: 48rem; color: #53615e; line-height: 1.55; }
.theory-mock-score { margin: 1.5rem 0 .5rem; font-size: 1.15rem; }
.theory-mock-score strong { color: #087d75; font-size: 2rem; }
.theory-mock-comparison { max-width: 48rem; margin-top: 1.5rem; padding: 1rem 0; border-top: 2px solid #111719; border-bottom: 1px solid #cfd7d5; }
.theory-mock-comparison h2 { margin: 0; font-size: 1.15rem; }
.theory-mock-comparison p { margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.theory-mock-comparison p strong { color: #273331; font-size: 1.35rem; }
.theory-mock-comparison.is-improved p strong { color: #08756e; }
.theory-mock-comparison.is-declined p strong { color: #9c2724; }
.theory-mock-comparison small { display: block; max-width: 44rem; margin-top: .55rem; color: #667174; line-height: 1.45; }
.theory-mock-repeated-summary { max-width: 48rem; margin: 1rem 0 0; padding-left: .85rem; border-left: .25rem solid #b5201d; color: #53615e; line-height: 1.5; }
.theory-mock-repeated-summary strong { display: block; color: #273331; }
.theory-mock-priorities { max-width: 48rem; margin-top: 2rem; border-top: 2px solid #111719; }
.theory-mock-priorities h2 { margin: 0; padding: 1rem 0 .25rem; font-size: 1.15rem; }
.theory-mock-priorities ul { margin: 0; padding: 0; list-style: none; }
.theory-mock-priorities li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid #dce2e0; }
.theory-mock-priorities li strong { overflow-wrap: anywhere; }
.theory-mock-priorities li span { color: #53615e; text-align: right; }
.theory-mock-result > h2 { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid #cfd7d5; font-size: 1.35rem; }
.theory-mock-corrections { margin: 0; padding: 0; list-style: none; }
.theory-mock-corrections > li { padding: 1.5rem 0; border-bottom: 1px solid #dce2e0; }
.theory-mock-position { margin: 0; color: #b5201d; font-size: .78rem; font-weight: 900; text-transform: uppercase; }
.theory-mock-position strong { display: inline-block; margin-left: .5rem; padding: .15rem .35rem; border: 1px solid currentColor; border-radius: 3px; }
.theory-mock-corrections > li.is-repeated { box-shadow: inset .25rem 0 #b5201d; padding-left: 1rem; }
.theory-mock-corrections h3 { max-width: 44rem; margin: .4rem 0 0; font-size: 1.15rem; line-height: 1.35; }
.theory-mock-corrections dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 48rem; margin: 1rem 0 0; border-top: 1px solid #dce2e0; }
.theory-mock-corrections dl div { padding: .8rem 0; border-bottom: 1px solid #dce2e0; }
.theory-mock-corrections dl div + div { padding-left: 1rem; border-left: 1px solid #dce2e0; }
.theory-mock-corrections dt { color: #667174; font-size: .78rem; font-weight: 800; }
.theory-mock-corrections dd { margin: .3rem 0 0; font-weight: 800; overflow-wrap: anywhere; }
.theory-mock-corrections dl .is-insight,
.theory-mock-corrections dl .is-key { grid-column: 1 / -1; padding-left: 0; border-left: 0; }
.theory-mock-corrections dl .is-insight dd { display: grid; gap: .55rem; }
.theory-mock-corrections dl .is-insight dd span { display: block; }
.theory-mock-corrections dl .is-insight dd strong { color: #9c2724; }
.theory-mock-corrections dl .is-key { border-bottom-color: #087d75; }
.theory-mock-corrections dl .is-key dd { line-height: 1.5; }
.theory-mock-corrections li > p:not(.theory-mock-position) { max-width: 48rem; color: #53615e; line-height: 1.55; }
.theory-concern { max-width: 48rem; margin: 1.25rem 0 0; border-top: 1px solid #dce2e0; border-bottom: 1px solid #dce2e0; }
.theory-concern > summary { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #08756e; font-weight: 850; cursor: pointer; }
.theory-concern > summary::after { content: "+"; color: #111719; font-size: 1.25rem; }
.theory-concern[open] > summary::after { content: "−"; }
.theory-concern-form { max-width: 48rem; margin: 0; padding: .75rem 0 1rem; border-top: 1px solid #dce2e0; }
.theory-concern-form > label { display: block; margin-bottom: .5rem; color: #273331; font-weight: 850; }
.theory-concern-form > div { display: grid; grid-template-columns: minmax(13rem, 1fr) auto; gap: .65rem; }
.theory-concern-form select,
.theory-concern-form button { min-height: 3rem; border: 1px solid #aeb9b7; border-radius: 5px; font: inherit; }
.theory-concern-form select { width: 100%; padding: .6rem .75rem; background: #fff; color: #111719; }
.theory-concern-form button { padding: .6rem 1rem; border-color: #111719; background: #111719; color: #fff; font-weight: 850; cursor: pointer; }
.theory-mock-perfect { padding: 1.5rem 0; color: #087d75; font-weight: 850; }
.theory-classroom-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1.5rem;
    padding: 1.25rem 0;
    border-top: 2px solid #111719;
    border-bottom: 1px solid #cfd7d5;
}
.theory-classroom-entry h2 { margin: .3rem 0 0; font-size: 1.35rem; }
.theory-classroom-entry p:last-child { margin: .45rem 0 0; color: #53615e; }
.theory-classroom-entry form { margin: 0; }
.theory-coach-room { display: inline-flex; margin-top: 1rem; }
.theory-classroom-create {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(12rem, .65fr) auto;
    align-items: end;
    gap: 1.25rem;
    padding: 1.5rem 0;
    border-top: 1px solid #cfd7d5;
    border-bottom: 1px solid #cfd7d5;
}
.theory-classroom-create > div { min-width: 0; }
.theory-classroom-create label { display: block; margin-bottom: .45rem; font-weight: 850; }
.theory-classroom-create select,
.theory-classroom-create input {
    width: 100%;
    min-height: 3rem;
    padding: .65rem .75rem;
    border: 1px solid #aeb9b7;
    border-radius: .35rem;
    background: #fff;
    color: #111719;
    font: inherit;
}
.theory-classroom-create small { display: block; margin-top: .4rem; color: #667174; }
.theory-classroom-history { margin-top: 2.5rem; border-top: 2px solid #111719; }
.theory-classroom-history > header { padding: 1.25rem 0; }
.theory-classroom-history h2 { max-width: 28ch; margin: .3rem 0 0; font-size: 1.65rem; }
.theory-classroom-history ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid #dce2e0; }
.theory-classroom-history li { border-bottom: 1px solid #dce2e0; }
.theory-classroom-history a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, .7fr);
    align-items: center;
    gap: 1.5rem;
    min-height: 4.5rem;
    padding: .85rem 0;
    color: #111719;
    text-decoration: none;
}
.theory-classroom-history a:hover strong { text-decoration: underline; text-underline-offset: .18em; }
.theory-classroom-history a > span { min-width: 0; overflow-wrap: anywhere; }
.theory-classroom-history a > span:last-child { color: #53615e; line-height: 1.45; }
.theory-classroom-history strong,
.theory-classroom-history small { display: block; }
.theory-classroom-history strong { font-size: 1.05rem; }
.theory-classroom-history small { margin-top: .25rem; color: #667174; font-size: .9rem; }
.theory-classroom-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #cfd7d5;
}
.theory-classroom-heading h1 { max-width: 20ch; margin: .3rem 0 0; font-size: 3rem; line-height: 1.05; }
.theory-classroom-live { margin: 0; color: #08756e; font-weight: 850; text-align: right; }
.theory-classroom-waiting {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, .65fr) auto;
    align-items: center;
    gap: 2rem;
    padding: 2rem 0;
    border-bottom: 1px solid #cfd7d5;
}
.theory-classroom-waiting h2 { margin: 0; font-size: 1.5rem; }
.theory-classroom-waiting p { max-width: 42rem; margin: .5rem 0 0; color: #53615e; line-height: 1.55; }
.theory-classroom-waiting ul { margin: 0; padding: 0; list-style: none; }
.theory-classroom-waiting li { padding: .4rem 0; border-bottom: 1px solid #dce2e0; font-weight: 800; }
.theory-classroom-waiting form { margin: 0; }
.theory-classroom .theory-question-heading { max-width: 60rem; margin-top: 1.5rem; }
.theory-classroom .theory-question-heading h2 { margin: .3rem 0 0; font-size: 1.5rem; }
.theory-classroom-answer-count { margin: .8rem 0 0; color: #53615e; }
.theory-classroom-question h3 { max-width: 46rem; margin: 0 0 1rem; font-size: 1.55rem; line-height: 1.35; }
.theory-classroom-options { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-classroom-options li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-height: 3.5rem;
    padding: .65rem 0;
    border-bottom: 1px solid #dce2e0;
}
.theory-classroom-options li > strong { color: #667174; }
.theory-classroom-options li > small { color: #667174; font-weight: 800; }
.theory-classroom-options li.is-correct { box-shadow: inset .25rem 0 #08756e; }
.theory-classroom-options li.is-incorrect { box-shadow: inset .25rem 0 #b5201d; }
.theory-classroom-options li.is-correct > strong { color: #08756e; }
.theory-classroom-options li.is-incorrect > strong { color: #b5201d; }
.theory-classroom-privacy,
.theory-classroom-recorded { max-width: 42rem; margin: 1rem 0; color: #53615e; line-height: 1.5; }
.theory-classroom-recorded { color: #08756e; font-weight: 850; }
.theory-classroom-pending { max-width: 48rem; margin: 1.25rem 0; padding-top: 1rem; border-top: 1px solid #cfd7d5; }
.theory-classroom-pending h3 { margin: 0; font-size: 1.15rem; }
.theory-classroom-pending p { margin: .4rem 0 0; color: #53615e; }
.theory-classroom-pending ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .35rem 1rem; margin: .65rem 0 0; padding: 0; list-style: none; }
.theory-classroom-pending li { min-width: 0; overflow-wrap: anywhere; font-weight: 800; }
.theory-classroom-correction { max-width: 48rem; margin: 1.5rem 0; padding: 1.25rem 0; border-top: 2px solid #111719; border-bottom: 1px solid #cfd7d5; }
.theory-classroom-correction h3 { margin: .3rem 0 0; font-size: 1.35rem; }
.theory-classroom-correction p:last-child { margin: .6rem 0 0; color: #53615e; line-height: 1.55; }
.theory-classroom-correction.is-correct { border-top-color: #08756e; }
.theory-classroom-correction.is-incorrect { border-top-color: #b5201d; }
.theory-studio-heading { max-width: 58rem; }
.theory-studio-heading h1 { overflow-wrap: anywhere; }
.theory-studio-heading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.theory-studio-heading-actions > a:not(.theory-primary) { min-height: 2.75rem; display: inline-flex; align-items: center; color: #08756e; font-weight: 850; }
.theory-studio-fingerprint { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; gap: .5rem; }
.theory-studio-fingerprint span { color: #667174; font-weight: 800; }
.theory-studio-fingerprint code { min-width: 0; overflow-wrap: anywhere; color: #53615e; font-size: .78rem; }
.theory-studio-section { margin-top: 2.5rem; border-top: 2px solid #111719; }
.theory-studio-section > header { padding: 1.25rem 0; border-bottom: 1px solid #cfd7d5; }
.theory-studio-section > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-studio-list { margin: 0; padding: 0; list-style: none; }
.theory-studio-list li { border-bottom: 1px solid #dce2e0; }
.theory-studio-list a,
.theory-studio-empty { min-width: 0; min-height: 6.25rem; display: grid; grid-template-columns: minmax(9rem, .35fr) minmax(11rem, .45fr) minmax(14rem, 1fr) minmax(12rem, .6fr); align-items: center; gap: 1.25rem; padding: 1rem .25rem; color: #111719; text-decoration: none; }
main .theory-studio-list a[href] { display: grid; }
.theory-studio-list a > *,
.theory-studio-empty > * { min-width: 0; overflow-wrap: anywhere; }
.theory-studio-list a:hover { background: #eef4f2; }
.theory-studio-list a > span:not(.theory-studio-state),
.theory-studio-list a > small,
.theory-studio-empty span { color: #53615e; line-height: 1.45; }
.theory-studio-list a > small { font-size: .78rem; }
.theory-studio-state { width: fit-content; margin: 0; color: #8d241e; font-size: .76rem; font-weight: 900; text-transform: uppercase; }
.theory-studio-state.is-approved { color: #08756e; }
.theory-studio-state.is-retired { color: #667174; }
.theory-studio-form { display: grid; gap: 2.25rem; }
.theory-studio-quality-signal { max-width: 56rem; margin: 1.5rem 0 2rem; padding: 1.1rem 0; border-top: 2px solid #8b4c08; border-bottom: 1px solid #dce2e0; }
.theory-studio-quality-signal h2 { margin: .35rem 0 0; font-size: 1.3rem; }
.theory-studio-quality-signal > p:not(.eyebrow) { margin: .65rem 0 0; color: #283532; line-height: 1.5; }
.theory-studio-quality-signal small { display: block; margin-top: .55rem; color: #53615e; line-height: 1.45; }
.theory-studio-form section { padding-top: 1.5rem; border-top: 1px solid #cfd7d5; }
.theory-studio-form h2 { margin: 0 0 1rem; font-size: 1.2rem; }
.theory-studio-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(10rem, .55fr); gap: 1.25rem; }
.theory-studio-form-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.theory-studio-answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; margin: 1rem 0 1.5rem; }
.theory-studio-form section > div:not(.theory-studio-form-grid, .theory-studio-answer-grid),
.theory-studio-answer-grid > div > div { margin-top: 1rem; }
.theory-studio-form label,
.theory-studio-decision label { display: block; margin-bottom: .45rem; font-weight: 850; }
.theory-studio-form input[type="text"],
.theory-studio-form input[type="file"],
.theory-studio-form select,
.theory-studio-form textarea,
.theory-studio-decision textarea { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 1px solid #aeb9b7; border-radius: 5px; background: #fff; color: #111719; font: inherit; }
.theory-studio-form textarea,
.theory-studio-decision textarea { min-height: 5rem; resize: vertical; }
.theory-studio-form input[type="checkbox"] { width: 1.2rem; height: 1.2rem; margin: .1rem .5rem 0 0; accent-color: #087d75; }
.theory-studio-form .help-text { margin: .35rem 0 0; color: #667174; font-size: .82rem; }
.theory-studio-form ul { margin: .35rem 0 0; padding-left: 1.2rem; color: #b5201d; }
.theory-studio-preview { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .65fr); gap: 3rem; border-top: 1px solid #cfd7d5; }
.theory-studio-question { min-width: 0; padding-top: 1.5rem; }
.theory-studio-question > img { width: 100%; max-height: 30rem; display: block; margin: 1rem 0 1.5rem; object-fit: contain; background: #e8edeb; }
.theory-studio-question h2 { max-width: 36ch; margin: 1rem 0 0; font-size: 2rem; line-height: 1.3; }
.theory-studio-question h2,
.theory-studio-question li span { min-width: 0; overflow-wrap: anywhere; }
.theory-studio-question ol { margin: 1.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid #dce2e0; }
.theory-studio-question li { min-height: 3.5rem; display: grid; grid-template-columns: 2rem minmax(0, 1fr); align-items: center; gap: .75rem; padding: .6rem .25rem; border-bottom: 1px solid #dce2e0; }
.theory-studio-question li.is-correct { box-shadow: inset .25rem 0 #08756e; }
.theory-studio-question li strong { color: #667174; }
.theory-studio-question section { margin-top: 1.5rem; padding: 1.25rem 0; border-top: 2px solid #08756e; border-bottom: 1px solid #dce2e0; }
.theory-studio-question section h3 { margin: 0; font-size: 1.15rem; }
.theory-studio-question section p { margin: .6rem 0 0; color: #53615e; line-height: 1.55; }
.theory-studio-proof { min-width: 0; padding: 1.5rem 0 0 1.5rem; border-left: 1px solid #dce2e0; }
.theory-studio-proof dl { margin: 0; }
.theory-studio-proof dl div { padding: .75rem 0; border-bottom: 1px solid #dce2e0; }
.theory-studio-proof dt { color: #667174; font-size: .78rem; font-weight: 850; text-transform: uppercase; }
.theory-studio-proof dd { margin: .3rem 0 0; overflow-wrap: anywhere; line-height: 1.45; }
.theory-studio-proof section { margin-top: 1.5rem; }
.theory-studio-proof section h2 { margin: 0; font-size: 1.15rem; }
.theory-studio-proof section p { color: #53615e; line-height: 1.5; }
.theory-source-state { color: #08756e; }
.theory-source-state.is-due_soon { color: #8b4c08; }
.theory-source-state.is-expired,
.theory-source-state.is-missing,
.theory-source-state.is-future { color: #9f1f20; }
.theory-studio-source-blocked { margin: 1rem 0 0; padding: .9rem 0; border-top: 2px solid #9f1f20; border-bottom: 1px solid #dce2e0; color: #4b2525; font-weight: 800; line-height: 1.5; }
.theory-studio-review.is-approved strong { color: #08756e; }
.theory-studio-review.is-rejected strong { color: #b5201d; }
.theory-studio-decision { max-width: 48rem; margin-top: 2.5rem; padding-top: 1.5rem; border-top: 2px solid #111719; }
.theory-studio-decision h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.theory-studio-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1.25rem; }
.theory-studio-actions form { margin: 0; }
.theory-studio-actions .theory-primary { margin-top: 0; }
.theory-studio-notice { margin-top: 2rem; padding: 1rem 0; border-top: 2px solid #d5a300; border-bottom: 1px solid #dce2e0; color: #53615e; font-weight: 800; }
.theory-quality-heading { max-width: 68rem; padding-bottom: 1.5rem; border-bottom: 1px solid #cfd7d5; }
.theory-quality-overview { border-bottom: 1px solid #cfd7d5; }
.theory-quality-overview dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.theory-quality-overview dl > div { min-width: 0; padding: 1.25rem 1rem; }
.theory-quality-overview dl > div:first-child { padding-left: 0; }
.theory-quality-overview dl > div + div { border-left: 1px solid #dce2e0; }
.theory-quality-overview dt { color: #53615e; font-size: .78rem; font-weight: 800; }
.theory-quality-overview dd { margin: .35rem 0 0; color: #111719; font-size: 2rem; font-weight: 900; }
.theory-editorial-work { padding: 2rem 0; border-bottom: 1px solid #cfd7d5; }
.theory-editorial-work > header { max-width: 58rem; }
.theory-editorial-work > header h2 { margin: .35rem 0 0; font-size: 1.5rem; }
.theory-editorial-work > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-editorial-work-scope { max-width: 58rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.25rem; margin-top: 1rem; padding: .8rem 0; border-top: 1px solid #dce2e0; }
.theory-editorial-work-scope p { margin: 0; color: #53615e; }
.theory-editorial-work-scope strong { color: #111719; }
.theory-editorial-work-scope a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #08756e; font-weight: 850; }
.theory-editorial-work > ol { margin: 1.25rem 0 0; padding: 0; list-style: none; border-top: 2px solid #111719; }
.theory-editorial-work > ol > li { min-width: 0; display: grid; grid-template-columns: minmax(11rem, .42fr) minmax(20rem, 1fr) auto; gap: .75rem 1.5rem; align-items: start; padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.theory-editorial-work-priority { min-width: 0; display: grid; gap: .25rem; }
.theory-editorial-work-priority strong { color: #08756e; font-size: .82rem; text-transform: uppercase; }
.theory-editorial-work .is-urgent .theory-editorial-work-priority strong { color: #9f1f20; }
.theory-editorial-work .is-review .theory-editorial-work-priority strong { color: #8b4c08; }
.theory-editorial-work-priority span { color: #53615e; font-size: .78rem; overflow-wrap: anywhere; }
.theory-editorial-work-content { min-width: 0; }
.theory-editorial-work-content h3 { margin: 0; font-size: 1.05rem; }
.theory-editorial-work-content > p { margin: .35rem 0 0; color: #303a3c; overflow-wrap: anywhere; }
.theory-editorial-work-content ul { margin: .55rem 0 0; padding-left: 1.15rem; color: #53615e; }
.theory-editorial-work-content li + li { margin-top: .25rem; }
.theory-editorial-work > ol > li > a { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; color: #08756e; font-weight: 850; text-align: center; }
.theory-editorial-work > ol > li.is-empty { grid-template-columns: 1fr; }
.theory-quality-programs { padding: 2rem 0; }
.theory-quality-programs > header { display: grid; grid-template-columns: minmax(10rem, .45fr) minmax(0, 1fr); gap: .5rem 2rem; align-items: end; padding-bottom: 1rem; }
.theory-quality-programs > header .eyebrow { grid-row: 1 / span 2; }
.theory-quality-programs > header h2 { margin: 0; font-size: 1.35rem; }
.theory-quality-programs > header > p:last-child { margin: .2rem 0 0; color: #667174; }
.theory-quality-programs ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-programs li { min-width: 0; display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(24rem, 1.35fr); gap: 1rem 2rem; padding: 1.35rem 0; border-bottom: 1px solid #dce2e0; }
.theory-quality-program-name { min-width: 0; }
.theory-quality-program-name > span { color: #8b6900; font-size: .75rem; font-weight: 900; text-transform: uppercase; }
.theory-quality-program-name > span.is-published { color: #08756e; }
.theory-quality-program-name h3 { margin: .3rem 0 0; font-size: 1.05rem; overflow-wrap: anywhere; }
.theory-quality-program-name p { margin: .25rem 0 0; color: #667174; font-size: .8rem; }
.theory-quality-programs li > dl { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; }
.theory-quality-programs li > dl div { min-width: 0; padding: .15rem .75rem; }
.theory-quality-programs li > dl div:first-child { padding-left: 0; }
.theory-quality-programs li > dl div + div { border-left: 1px solid #dce2e0; }
.theory-quality-programs dt { color: #667174; font-size: .75rem; font-weight: 800; }
.theory-quality-programs dd { margin: .3rem 0 0; font-size: 1.15rem; font-weight: 900; }
.theory-quality-readiness { grid-column: 2; margin: 0; padding-top: .8rem; border-top: 1px solid #e4e8e7; color: #8b4c08; font-weight: 800; }
.theory-quality-readiness.is-ready { color: #08756e; }
.theory-quality-empty { grid-template-columns: 1fr; }
.theory-quality-empty p { margin: .35rem 0 0; color: #667174; }
.theory-quality-equity { padding: 2rem 0; border-top: 2px solid #111719; }
.theory-quality-equity > header { max-width: 58rem; }
.theory-quality-equity > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-quality-equity > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-quality-equity ol { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-equity li { min-width: 0; display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(0, 1.45fr); gap: .7rem 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.theory-quality-equity-heading { min-width: 0; display: grid; align-content: start; gap: .3rem; }
.theory-quality-equity-heading strong { color: #08756e; }
.theory-quality-equity li.is-review .theory-quality-equity-heading strong { color: #8b4c08; }
.theory-quality-equity li.is-protected .theory-quality-equity-heading strong { color: #53615e; }
.theory-quality-equity-heading h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.theory-quality-equity dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.theory-quality-equity dl div { min-width: 0; padding: .1rem .7rem; }
.theory-quality-equity dl div:first-child { padding-left: 0; }
.theory-quality-equity dl div + div { border-left: 1px solid #dce2e0; }
.theory-quality-equity dt { color: #667174; font-size: .75rem; font-weight: 800; }
.theory-quality-equity dd { margin: .3rem 0 0; font-size: 1.05rem; font-weight: 900; }
.theory-quality-equity li > p { margin: 0; color: #32403d; line-height: 1.45; }
.theory-quality-equity li:not(.is-protected) > p { grid-column: 2; }
.theory-quality-equity li > small { grid-column: 2; color: #667174; font-size: .75rem; }
.theory-quality-topics { padding: 2rem 0; border-top: 2px solid #111719; }
.theory-quality-topics > header { max-width: 58rem; }
.theory-quality-topics > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-quality-topics > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-quality-topics ol { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-topics li { min-width: 0; display: grid; grid-template-columns: minmax(13rem, .55fr) minmax(24rem, 1.45fr); gap: .7rem 1.5rem; padding: 1.15rem 0; border-bottom: 1px solid #dce2e0; }
.theory-quality-topic-heading { min-width: 0; display: grid; align-content: start; gap: .25rem; }
.theory-quality-topic-heading strong { color: #08756e; }
.theory-quality-topics li.is-reinforce .theory-quality-topic-heading strong { color: #9f1f20; }
.theory-quality-topics li.is-follow .theory-quality-topic-heading strong { color: #8b4c08; }
.theory-quality-topic-heading span { color: #53615e; font-size: .75rem; }
.theory-quality-topic-heading h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.theory-quality-topics dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.theory-quality-topics dl div { min-width: 0; padding: .1rem .7rem; }
.theory-quality-topics dl div:first-child { padding-left: 0; }
.theory-quality-topics dl div + div { border-left: 1px solid #dce2e0; }
.theory-quality-topics dt { color: #667174; font-size: .75rem; font-weight: 800; }
.theory-quality-topics dd { margin: .3rem 0 0; font-size: 1.05rem; font-weight: 900; }
.theory-quality-topic-followup { grid-column: 2; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem 1.25rem; }
.theory-quality-topic-followup small { color: #667174; font-size: .75rem; }
.theory-quality-topic-followup a { min-height: 2.75rem; display: inline-flex; flex: 0 0 auto; align-items: center; color: #08756e; font-weight: 850; }
.theory-quality-sources { padding: 2rem 0; border-top: 2px solid #111719; }
.theory-quality-sources > header { max-width: 54rem; }
.theory-quality-sources > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-quality-sources > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-quality-sources ol { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-sources li { min-width: 0; display: grid; grid-template-columns: minmax(13rem, .65fr) minmax(18rem, 1.1fr) minmax(16rem, .85fr) auto; gap: .65rem 1.25rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.theory-quality-sources li > div:first-child { min-width: 0; display: grid; gap: .25rem; }
.theory-quality-sources li strong { color: #8b4c08; }
.theory-quality-sources li.is-expired strong,
.theory-quality-sources li.is-missing strong,
.theory-quality-sources li.is-future strong { color: #9f1f20; }
.theory-quality-sources li span,
.theory-quality-sources li small { color: #53615e; font-size: .75rem; overflow-wrap: anywhere; }
.theory-quality-sources li > p { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.theory-quality-sources dl { min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.theory-quality-sources dl div { min-width: 0; padding: 0 .65rem; }
.theory-quality-sources dl div + div { border-left: 1px solid #dce2e0; }
.theory-quality-sources dt { color: #667174; font-size: .75rem; font-weight: 800; }
.theory-quality-sources dd { margin: .25rem 0 0; font-weight: 900; }
.theory-quality-sources li > small { grid-column: 2 / 4; }
.theory-quality-sources li > a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #08756e; font-weight: 850; }
.theory-quality-drifts,
.theory-quality-revision-comparisons,
.theory-quality-distractors { padding: 2rem 0; border-top: 2px solid #111719; }
.theory-quality-drifts > header,
.theory-quality-revision-comparisons > header,
.theory-quality-distractors > header { max-width: 54rem; }
.theory-quality-drifts > header h2,
.theory-quality-revision-comparisons > header h2,
.theory-quality-distractors > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-quality-drifts > header > p:last-child,
.theory-quality-revision-comparisons > header > p:last-child,
.theory-quality-distractors > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-quality-drifts ol,
.theory-quality-revision-comparisons ol,
.theory-quality-distractors ol { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-drifts li,
.theory-quality-revision-comparisons li,
.theory-quality-distractors li { min-width: 0; display: grid; grid-template-columns: minmax(13rem, .65fr) minmax(17rem, 1fr) minmax(23rem, 1.2fr) auto; gap: .65rem 1.25rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.theory-quality-drifts li > div:first-child,
.theory-quality-revision-comparisons li > div:first-child,
.theory-quality-distractors li > div:first-child { min-width: 0; display: grid; gap: .25rem; }
.theory-quality-drifts li strong,
.theory-quality-revision-comparisons li strong,
.theory-quality-distractors li strong { color: #8b4c08; }
.theory-quality-drifts li span,
.theory-quality-drifts li small,
.theory-quality-revision-comparisons li span,
.theory-quality-revision-comparisons li small,
.theory-quality-distractors li span,
.theory-quality-distractors li small { color: #53615e; font-size: .75rem; overflow-wrap: anywhere; }
.theory-quality-drifts li > p,
.theory-quality-revision-comparisons li > p,
.theory-quality-distractors li > p { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.theory-quality-drifts dl,
.theory-quality-revision-comparisons dl,
.theory-quality-distractors dl { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.theory-quality-distractors dl { grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); }
.theory-quality-drifts dl div,
.theory-quality-revision-comparisons dl div,
.theory-quality-distractors dl div { min-width: 0; padding: 0 .65rem; }
.theory-quality-drifts dl div + div,
.theory-quality-revision-comparisons dl div + div,
.theory-quality-distractors dl div + div { border-left: 1px solid #dce2e0; }
.theory-quality-drifts dt,
.theory-quality-revision-comparisons dt,
.theory-quality-distractors dt { color: #667174; font-size: .75rem; font-weight: 800; }
.theory-quality-drifts dd,
.theory-quality-revision-comparisons dd,
.theory-quality-distractors dd { margin: .25rem 0 0; font-weight: 900; overflow-wrap: anywhere; }
.theory-quality-drifts li > small,
.theory-quality-revision-comparisons li > small,
.theory-quality-distractors li > small { grid-column: 2 / 4; }
.theory-quality-drifts li > a,
.theory-quality-revision-comparisons li > a,
.theory-quality-distractors li > a { min-height: 2.75rem; display: inline-flex; align-items: center; color: #08756e; font-weight: 850; }
.theory-quality-concerns { padding: 2rem 0; border-top: 2px solid #111719; }
.theory-quality-concerns > header { max-width: 54rem; }
.theory-quality-concerns > header h2 { margin: .35rem 0 0; font-size: 1.35rem; }
.theory-quality-concerns > header > p:last-child { margin: .5rem 0 0; color: #53615e; }
.theory-quality-concerns ol { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 1px solid #cfd7d5; }
.theory-quality-concerns li { min-width: 0; display: grid; grid-template-columns: minmax(13rem, .6fr) minmax(18rem, 1.25fr) minmax(10rem, auto); align-items: start; gap: .75rem 1.25rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; scroll-margin-top: 1rem; }
.theory-quality-concern-heading { min-width: 0; display: grid; gap: .45rem; }
.theory-quality-concern-heading > div { min-width: 0; display: grid; gap: .25rem; }
.theory-quality-concerns li strong { color: #8b4c08; }
.theory-quality-concerns li span { color: #667174; font-size: .8rem; overflow-wrap: anywhere; }
.theory-quality-concerns li > p { min-width: 0; margin: 0; line-height: 1.45; overflow-wrap: anywhere; }
.theory-quality-concern-status { width: fit-content; padding: .25rem .45rem; border: 1px solid #bcc9c6; color: #32403d !important; font-weight: 850; }
.theory-quality-concern-actions { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .5rem; }
.theory-quality-concern-actions a,
.theory-quality-concern-actions button { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; font-weight: 850; }
.theory-quality-concern-actions a { color: #08756e; }
.theory-quality-concern-actions form { margin: 0; }
.theory-quality-concern-actions button,
.theory-quality-decision button { border: 0; border-radius: .25rem; padding: .65rem .8rem; background: #b42324; color: #fff; cursor: pointer; }
.theory-quality-concern-owner,
.theory-quality-decision,
.theory-quality-decision-record { grid-column: 1 / -1; }
.theory-quality-concern-owner { padding-top: .5rem; border-top: 1px solid #e4e8e7; color: #53615e; }
.theory-quality-decision { display: grid; grid-template-columns: minmax(12rem, .8fr) minmax(18rem, 1.4fr) auto; gap: .75rem 1rem; align-items: end; padding-top: .75rem; border-top: 1px solid #e4e8e7; }
.theory-quality-decision > div { min-width: 0; display: grid; gap: .35rem; }
.theory-quality-decision label { font-weight: 850; }
.theory-quality-decision select,
.theory-quality-decision textarea { width: 100%; min-height: 2.75rem; border: 1px solid #9aa8a5; border-radius: .25rem; padding: .65rem .75rem; background: #fff; color: #111719; font: inherit; }
.theory-quality-decision textarea { resize: vertical; }
.theory-quality-decision small,
.theory-quality-decision-record small { color: #53615e; font-size: .75rem; }
.theory-quality-decision button { min-height: 2.75rem; }
.theory-quality-decision-record { display: grid; gap: .35rem; padding: .8rem 0 .1rem; border-top: 1px solid #e4e8e7; }
.theory-quality-decision-record p { margin: 0; }
.theory-quality-concerns li.is-resolved { border-left: .2rem solid #08756e; padding-left: .75rem; }

@media (max-width: 640px) {
    .theory-shell { width: min(calc(100% - 1.5rem), 76rem); padding-top: 1.5rem; }
    .theory-heading { margin-bottom: 1.5rem; }
    .theory-heading h1,
    .theory-feedback h1,
    .theory-complete h1 { font-size: 2.25rem; }
    .theory-recommendation h2,
    .theory-empty h2,
    .theory-question h2 { font-size: 1.5rem; }
    .theory-route-facts { grid-template-columns: 1fr; }
    .theory-route-facts div + div { padding-left: 0; border-left: 0; }
    .theory-primary { width: 100%; }
    .theory-session-exit { align-items: stretch; flex-direction: column; gap: .75rem; }
    .theory-session-exit form,
    .theory-session-exit .theory-secondary { width: 100%; }
    .theory-question-heading { align-items: stretch; flex-direction: column; gap: .75rem; }
    .theory-question-heading progress { width: 100%; }
    .theory-feedback-facts > div { grid-template-columns: 1fr; gap: .35rem; }
    .theory-diary { grid-template-columns: 1fr; }
    .theory-diary-day,
    .theory-diary-day:first-child,
    .theory-diary-day:last-child { padding: 1.25rem 0; }
    .theory-diary-day + .theory-diary-day { border-top: 1px solid #dce2e0; border-left: 0; }
    .theory-diary-day.is-today { margin: 0 -.75rem; padding-right: .75rem; padding-left: .75rem; }
    .theory-readiness > header { grid-template-columns: 1fr; align-items: start; }
    .theory-readiness dl { grid-template-columns: 1fr; }
    .theory-readiness dl > div,
    .theory-readiness dl > div:first-child { padding: .85rem 0; }
    .theory-readiness dl > div + div { border-left: 0; }
    .theory-target-editor { grid-template-columns: 1fr; align-items: start; gap: .8rem; }
    .theory-target-editor form { grid-template-columns: 1fr; }
    .theory-target-actions { align-items: stretch; }
    .theory-target-actions .theory-primary,
    .theory-target-clear { width: 100%; }
    .theory-mastery > header, .theory-mastery li { grid-template-columns: 1fr; gap: .75rem; }
    .theory-mastery-status { grid-template-columns: auto minmax(4rem, 1fr) 3rem; }
    .theory-mock-entry { grid-template-columns: 1fr; gap: .75rem; padding: 1.5rem 0; }
    .theory-mock-action { width: auto; }
    .theory-mock-result > h1 { font-size: 2.25rem; }
    .theory-mock-priorities li { grid-template-columns: 1fr; gap: .25rem; }
    .theory-mock-priorities li span { text-align: left; }
    .theory-mock-corrections dl { grid-template-columns: 1fr; }
    .theory-mock-corrections dl div + div { padding-left: 0; border-left: 0; }
    .theory-concern-form > div { grid-template-columns: 1fr; }
    .theory-concern-form button { width: 100%; }
    .theory-coach-item { grid-template-columns: 1fr; gap: .8rem; padding: 1.25rem 0; }
    .theory-coach-call { justify-self: start; white-space: normal; }
    .theory-classroom-entry,
    .theory-classroom-create,
    .theory-classroom-heading,
    .theory-classroom-waiting { grid-template-columns: 1fr; gap: .85rem; }
    .theory-classroom-entry .theory-primary,
    .theory-classroom-create .theory-primary,
    .theory-classroom-waiting .theory-primary { width: 100%; }
    .theory-classroom-heading h1 { font-size: 2.25rem; }
    .theory-classroom-live { text-align: left; }
    .theory-classroom-history a { grid-template-columns: 1fr; gap: .35rem; min-height: 4.75rem; }
    .theory-classroom-question h3 { font-size: 1.35rem; }
    .theory-classroom-options li { grid-template-columns: 1.75rem minmax(0, 1fr); }
    .theory-classroom-options li > small { grid-column: 2; }
    .theory-studio-list a,
    .theory-studio-empty { grid-template-columns: minmax(0, 1fr); gap: .35rem; padding: 1rem 0; }
    .theory-quality-overview dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theory-quality-overview dl > div,
    .theory-quality-overview dl > div:first-child { padding: 1rem .75rem; border-bottom: 1px solid #dce2e0; }
    .theory-quality-overview dl > div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .theory-quality-overview dl > div:nth-child(even) { padding-right: 0; }
    .theory-quality-programs > header,
    .theory-quality-programs li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-editorial-work > ol > li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-editorial-work > ol > li > a { justify-content: flex-start; }
    .theory-quality-programs > header .eyebrow { grid-row: auto; }
    .theory-quality-programs li > dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theory-quality-programs li > dl div { padding: .5rem .75rem; border-bottom: 1px solid #e4e8e7; }
    .theory-quality-programs li > dl div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .theory-quality-programs li > dl div:nth-child(even) { padding-right: 0; }
    .theory-quality-programs li > dl div:last-child { padding-right: 0; }
    .theory-quality-readiness { grid-column: 1; }
    .theory-quality-equity li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-equity dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theory-quality-equity dl div { padding: .5rem .75rem; border-bottom: 1px solid #e4e8e7; }
    .theory-quality-equity dl div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .theory-quality-equity dl div:nth-child(even) { padding-right: 0; }
    .theory-quality-equity li:not(.is-protected) > p,
    .theory-quality-equity li > small { grid-column: auto; }
    .theory-quality-topics li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-topics dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theory-quality-topics dl div { padding: .5rem .75rem; border-bottom: 1px solid #e4e8e7; }
    .theory-quality-topics dl div:nth-child(odd) { padding-left: 0; border-left: 0; }
    .theory-quality-topics dl div:nth-child(even) { padding-right: 0; }
    .theory-quality-topic-followup { grid-column: auto; align-items: flex-start; flex-direction: column; }
    .theory-quality-sources li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-sources li > small { grid-column: auto; }
    .theory-quality-drifts li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-drifts dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theory-quality-drifts li > small { grid-column: auto; }
    .theory-quality-revision-comparisons li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-revision-comparisons dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theory-quality-revision-comparisons li > small { grid-column: auto; }
    .theory-quality-distractors li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-distractors dl { grid-template-columns: 1fr; }
    .theory-quality-distractors dl div { padding: .5rem 0; }
    .theory-quality-distractors dl div + div { border-top: 1px solid #dce2e0; border-left: 0; }
    .theory-quality-distractors li > small { grid-column: auto; }
    .theory-quality-concerns li { grid-template-columns: 1fr; gap: .65rem; }
    .theory-quality-concern-owner,
    .theory-quality-decision,
    .theory-quality-decision-record { grid-column: auto; }
    .theory-quality-decision { grid-template-columns: 1fr; }
    .theory-quality-decision button { width: 100%; }
    main .theory-studio-list a[href] { display: grid; }
    .theory-studio-form-grid,
    .theory-studio-form-grid.is-two,
    .theory-studio-answer-grid,
    .theory-studio-preview { grid-template-columns: 1fr; }
    .theory-studio-preview { gap: 1.5rem; }
    .theory-studio-proof { padding: 1.5rem 0 0; border-top: 1px solid #dce2e0; border-left: 0; }
    .theory-studio-question h2 { font-size: 1.5rem; }
    .theory-studio-fingerprint { grid-template-columns: 1fr; gap: .2rem; }
    .theory-studio-actions { align-items: stretch; flex-direction: column; }
    .theory-studio-actions form,
    .theory-studio-actions button { width: 100%; }
}
