: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; }

.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-catalog-install button { min-height: 3rem; padding: .65rem 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; }
.auto-school-network-dashboard { margin: 2rem 0 2.5rem; }
.auto-school-network-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.auto-school-network-heading h2 { max-width: 42rem; margin: .35rem 0 0; font-size: clamp(1.45rem, 3vw, 2rem); letter-spacing: 0; }
.auto-school-network-heading > strong { color: #087d75; font-size: .8rem; text-align: right; text-transform: uppercase; }
.auto-school-network-summary { margin-top: 1rem; }
.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; }
.commercial-list .auto-school-network-state { font-weight: 850; }
.commercial-list .auto-school-network-state.is-ready { color: #087d75; }
.commercial-list .auto-school-network-state.is-inactive,
.commercial-list .auto-school-network-state.is-identity_required,
.commercial-list .auto-school-network-state.is-authorization_required,
.commercial-list .auto-school-network-state.is-coverage_required { color: #a72120; }
.commercial-list .auto-school-network-progress { color: #667174; font-variant-numeric: tabular-nums; }
.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-passkeys { margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #cfd7d5; }
.security-external-login { margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #087d75; border-bottom: 1px solid #cfd7d5; }
.security-external-login h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.security-external-login header > p:last-child { max-width: 44rem; margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.security-external-login-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem); align-items: end; gap: 1.5rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid #dce2e0; }
.security-external-login-row > div { display: grid; gap: .25rem; }
.security-external-login-row span { color: #667174; font-size: .8rem; }
.security-external-login-row form { display: grid; grid-template-columns: minmax(8rem, 1fr) auto; align-items: end; gap: .45rem; }
.security-external-login-row label { grid-column: 1 / -1; color: #53615e; font-size: .76rem; font-weight: 800; }
.security-external-login-row input { min-width: 0; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid #cfd7d5; border-radius: 5px; background: #fff; font: inherit; }
.security-external-login-row button, .security-external-link button { min-height: 2.75rem; }
.security-external-link { width: min(100%, 24rem); display: grid; gap: .45rem; margin-top: 1.25rem; }
.security-external-link label { color: #53615e; font-size: .76rem; font-weight: 800; }
.security-external-link input { min-width: 0; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid #cfd7d5; border-radius: 5px; background: #fff; font: inherit; }
.security-external-link button { padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #111719; font: inherit; font-weight: 850; cursor: pointer; }
.security-passkeys h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.security-passkeys header > p:last-child { max-width: 44rem; margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.passkey-enrollment { display: grid; justify-items: start; gap: .35rem; margin-top: 1.25rem; }
.passkey-enrollment button { min-height: 2.75rem; padding: 0 1rem; border: 0; border-radius: 5px; color: #fff; background: #111719; font: inherit; font-weight: 850; cursor: pointer; }
.security-passkey-list { margin: 1.5rem 0 0; padding: 0; list-style: none; border-top: 1px solid #dce2e0; }
.security-passkey-list > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 24rem); gap: 1.5rem; align-items: end; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.security-passkey-list > li > div { display: grid; gap: .25rem; }
.security-passkey-list span { color: #667174; font-size: .8rem; }
.security-passkey-list form { display: grid; grid-template-columns: minmax(8rem, 1fr) auto; gap: .45rem; align-items: end; }
.security-passkey-list label { grid-column: 1 / -1; color: #53615e; font-size: .76rem; font-weight: 800; }
.security-passkey-list input { min-width: 0; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid #cfd7d5; border-radius: 5px; background: #fff; font: inherit; }
.security-passkey-list button { min-height: 2.75rem; }
.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; }
.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-text-link { min-height: 2.75rem; display: inline-flex; align-items: center; flex: 0 0 auto; color: #087d75; font-weight: 850; }
.private-help-agent { width: 100%; margin: 0 0 2rem; padding: 2rem 0; }
.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-availability { margin-top: 1.25rem; padding: 1rem 0; border-top: 1px solid #aeb9b6; border-bottom: 1px solid #dce2e0; }
.planning-availability > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.planning-availability h2 { margin: 0; font-size: 1.25rem; }
.planning-availability__note { margin: .25rem 0 0; color: #667174; font-size: .8rem; }
.planning-availability > header > span, .planning-availability > p { color: #667174; font-size: .8rem; }
.planning-availability ol { margin: .75rem 0 0; padding: 0; list-style: none; }
.planning-availability li { display: grid; grid-template-columns: 8rem minmax(10rem, 1fr) minmax(12rem, 1.4fr) minmax(8rem, .7fr); gap: 1rem; padding: .7rem 0; border-top: 1px solid #edf0ef; }
.planning-availability li time { display: flex; gap: .45rem; }
.planning-availability li span { color: #53615e; font-size: .8rem; overflow-wrap: anywhere; }
.planning-official { margin-top: 1.5rem; padding: 1.15rem 0; border-top: 2px solid #b42323; border-bottom: 1px solid #dce2e0; }
.planning-official > header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.planning-official h2 { margin: 0; font-size: 1.35rem; }
.planning-official > header > span, .planning-official > p { color: #5c6967; font-size: .85rem; }
.planning-official > a { display: inline-flex; min-height: 44px; align-items: center; margin-top: .4rem; color: #087e73; font-weight: 800; }
.planning-official-schools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.planning-official-schools li { min-width: 0; }
.planning-official-schools a { min-height: 100%; display: grid; gap: .35rem; padding: 1rem; border: 1px solid #cbd4d1; border-radius: .85rem; color: #111719; background: #fff; text-decoration: none; box-shadow: 0 .45rem 1.25rem rgba(17, 23, 25, .05); }
.planning-official-schools a:hover { border-color: #087e73; transform: translateY(-1px); }
.planning-official-schools a:focus-visible { outline: 3px solid #f3b41b; outline-offset: 3px; }
.planning-official-schools strong { font-size: 1.05rem; overflow-wrap: anywhere; }
.planning-official-schools__count { color: #087e73; font-size: .9rem; font-weight: 900; }
.planning-official-schools small { color: #5c6967; line-height: 1.4; }
.planning-official-schools__action { align-self: end; margin-top: .35rem; color: #087e73; font-size: .82rem; font-weight: 900; }
.planning-official-refresh { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .8rem; margin-top: .8rem; padding: .8rem; border: 1px solid #cbd4d1; border-radius: .75rem; background: #f8faf9; }
.planning-official-refresh strong, .planning-official-refresh small { display: block; }
.planning-official-refresh small { margin-top: .15rem; color: #5c6967; line-height: 1.4; }
.planning-official-refresh button { min-height: 44px; padding: .6rem .85rem; border: 0; border-radius: .55rem; color: #fff; background: #087e73; font: inherit; font-weight: 850; cursor: pointer; }
.planning-official-refresh button:focus-visible { outline: 3px solid #f3b41b; outline-offset: 2px; }
.planning-official-periods { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: .8rem; color: #5c6967; font-size: .82rem; }
.planning-official-periods a { min-height: 2.25rem; display: inline-flex; align-items: center; padding: 0 .75rem; border: 1px solid #cbd4d1; border-radius: 999px; color: #087e73; font-weight: 800; text-decoration: none; }
.planning-official-periods a[aria-current="page"] { border-color: #087e73; color: #fff; background: #087e73; }
.planning-official-days, .planning-official-days ol { margin: .8rem 0 0; padding: 0; list-style: none; }
.planning-official-days > li { padding: .85rem 0; border-top: 1px solid #dce2e0; }
.planning-official-days h3 { margin: 0; font-size: 1rem; }
.planning-official-days > li > p { margin: .4rem 0 0; color: #5c6967; }
.planning-official-days ol > li { padding: .9rem 0; border-top: 1px solid #edf0ef; }
.planning-official-exam__facts { display: grid; grid-template-columns: 6.5rem repeat(4, minmax(9rem, 1fr)); gap: .8rem 1.2rem; }
.planning-official-exam__facts > span { display: grid; gap: .15rem; min-width: 0; }
.planning-official-days ol > li small { color: #667174; font-size: .75rem; font-weight: 700; }
.planning-official-days ol > li strong { overflow-wrap: anywhere; }
.planning-official-days time { display: flex; gap: .35rem; align-items: baseline; }
.planning-official-days .is-cancelled .planning-official-exam__facts { opacity: .7; text-decoration: line-through; }
.planning-official-exam__workflow { margin-top: .85rem; padding: .85rem; border: 1px solid #dce2e0; border-radius: .75rem; background: #f8faf9; }
.planning-official-exam__workflow > p { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0 0 .75rem; }
.planning-workflow-badge { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .25rem .55rem; border-radius: 999px; background: #e7f4f1; color: #086d64; font-size: .75rem; font-weight: 850; }
.planning-workflow-badge--assignment { background: #fff1d6; color: #805100; }
.planning-workflow-form { display: grid; grid-template-columns: repeat(2, minmax(12rem, 1fr)) auto; align-items: end; gap: .65rem; }
.planning-workflow-form label, .planning-note-form > label { display: grid; gap: .3rem; color: #53615e; font-size: .75rem; font-weight: 850; }
.planning-workflow-form select, .planning-note-form textarea { width: 100%; min-width: 0; padding: .6rem .7rem; border: 1px solid #bac6c3; border-radius: .55rem; background: #fff; color: #18201f; font: inherit; }
.planning-workflow-form select { min-height: 2.75rem; }
.planning-workflow-form button, .planning-note-form button { min-height: 2.75rem; padding: .55rem .8rem; border: 0; border-radius: .55rem; background: #087e73; color: #fff; font-weight: 850; cursor: pointer; }
.planning-note-form { display: grid; gap: .35rem; margin-top: .8rem; }
.planning-note-form textarea { resize: vertical; }
.planning-note-form > div { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.planning-note-form > div small { color: #667174; font-weight: 600; }
.planning-filter-notice--success { padding: .75rem .9rem; border: 1px solid #8ac7b7; border-radius: .6rem; background: #edf9f5; color: #086d64; }
.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) {
    .auto-school-network-heading { align-items: flex-start; flex-direction: column; gap: .75rem; }
    .auto-school-network-heading > strong { text-align: left; }
    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-external-login-row { grid-template-columns: 1fr; align-items: stretch; }
    .security-external-login-row form { grid-template-columns: 1fr; }
    .security-passkey-list > li { grid-template-columns: 1fr; align-items: stretch; }
    .security-passkey-list form { grid-template-columns: 1fr; }
    .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-availability > header { align-items: start; flex-direction: column; }
    .planning-availability li { grid-template-columns: 1fr 1fr; gap: .35rem .8rem; }
    .planning-official > header { align-items: start; flex-direction: column; }
    .planning-official-schools { grid-template-columns: 1fr; }
    .planning-official-refresh { grid-template-columns: 1fr; }
    .planning-official-refresh button { width: 100%; }
    .planning-official-exam__facts { grid-template-columns: 1fr 1fr; gap: .65rem .8rem; }
    .planning-workflow-form { grid-template-columns: 1fr; }
    .planning-note-form > div { align-items: stretch; flex-direction: column; }
    .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; }
    .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;
}
