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

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

.auth-shell {
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 3rem;
    padding: clamp(1.5rem, 4vw, 3rem);
}
.auth-form {
    align-self: center;
    width: min(100%, 28rem);
    margin: 0 auto 10vh;
    display: grid;
    gap: .85rem;
}
.auth-form h1 { margin: 0 0 1rem; font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: 0; }
.auth-form label { display: block; margin-bottom: .35rem; font-size: .9rem; font-weight: 700; }
.auth-form input, .auth-form select { width: 100%; min-height: 3.25rem; padding: 0 1rem; border: 1px solid #c9d1cf; border-radius: 6px; background: #fff; }
.auth-form button { min-height: 3.25rem; border: 0; border-radius: 6px; color: #fff; background: #f52219; font-weight: 800; cursor: pointer; }
.form-error { padding: .8rem 1rem; border-left: 3px solid #f52219; background: #fff; }
.form-success { padding: .8rem 1rem; border-left: 3px solid #087d75; background: #fff; }
.security-notice { padding: .8rem 1rem; border-left: 3px solid #d4a916; background: #fffbea; color: #443a13; }
.security-notice a { color: #087d75; font-weight: 800; }
.auth-links { margin: .25rem 0 0; color: #667174; text-align: center; }
.auth-links a, .primary-link { color: #087d75; font-weight: 750; }
.auth-message { gap: .45rem; }
.auth-message p { margin: 0 0 .75rem; line-height: 1.55; }
.primary-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; border-radius: 6px; color: #fff; background: #f52219; text-decoration: none; }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.checkbox-row > div { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .6rem; }
.checkbox-row input { width: 1.15rem; min-height: 1.15rem; margin-top: .15rem; }
.checkbox-row label { margin: 0; font-weight: 500; line-height: 1.4; }
.auth-form ul { margin: .35rem 0 0; padding-left: 1.2rem; color: #b5201d; font-size: .85rem; }
.auth-form .help-text, .auth-form .form-help { margin: .35rem 0 0; color: #667174; font-size: .78rem; line-height: 1.45; }
.auth-logout { width: min(100%, 28rem); margin: -9vh auto 0; text-align: center; }
.auth-logout .quiet-button { color: #667174; }
.auth-secondary-actions { width: min(100%, 28rem); display: flex; justify-content: center; gap: 1rem; margin: -9vh auto 0; }
.auth-secondary-actions form { margin: 0; }
.auth-secondary-actions .quiet-button { color: #667174; font-size: .82rem; text-decoration: underline; text-underline-offset: 3px; }

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

.app-header {
    min-height: 4.5rem;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1.25rem;
    padding: .75rem clamp(1rem, 4vw, 3rem);
    border-bottom: 1px solid #dce2e0;
    background: #fff;
}
.app-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; }
.app-header-actions form { margin: 0; }
.quiet-button { padding: 0; border: 0; background: transparent; color: #4f5a5d; text-decoration: none; cursor: pointer; }
.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: #f52219; font-size: .67rem; 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: end; 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; }
.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: .72rem; font-weight: 900; text-transform: uppercase; }
.next-focus time { color: #087d75; font-weight: 800; }
.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; }
.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: #7a8587; font-size: .66rem; 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 { display: inline-flex; margin-top: .65rem; padding: 0; border: 0; color: #087d75; background: transparent; font-size: .82rem; font-weight: 850; text-decoration: underline; cursor: pointer; }
.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: #f52219; 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; }
.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: .72rem; 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: #f52219; 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: #f52219; font-weight: 850; cursor: pointer; }
.billing-correction-form > small { display: block; margin-top: .55rem; color: #667174; font-size: .72rem; }
.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: .72rem; 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: .72rem; 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: #f52219; 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: .72rem; 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: .72rem; 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: .72rem; 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: clamp(2.25rem, 5vw, 3.6rem); 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-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-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: .7rem; 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: .67rem; 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: .72rem; 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 > a { color: #087d75; font-size: .86rem; font-weight: 850; white-space: nowrap; }
.inbox-empty { padding: 2rem 0; border-bottom: 1px solid #dce2e0; }
.inbox-empty strong { display: block; }
.inbox-empty p { margin: .35rem 0 0; color: #667174; }
.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; }
.security-mfa-status { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; margin-top: 2.5rem; padding: 1.5rem 0; border-top: 2px solid #f52219; border-bottom: 1px solid #cfd7d5; }
.security-mfa-status h2 { margin: 0; font-size: 1.45rem; letter-spacing: 0; }
.security-mfa-status > div > p:last-child { margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.security-mfa-status dl { display: grid; grid-template-columns: repeat(2, minmax(8rem, 1fr)); gap: 1.5rem; margin: 0; }
.security-mfa-status dl div { display: grid; gap: .25rem; }
.security-mfa-status dt { color: #667174; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.security-mfa-status dd { margin: 0; color: #111719; font-weight: 850; }
.security-recovery-requests { margin-top: 2.5rem; padding: 1.5rem 0 0; border-top: 2px solid #f52219; }
.security-recovery-requests h2 { margin: 0; font-size: 1.45rem; }
.security-recovery-requests header > p:last-child { margin: .45rem 0 0; color: #53615e; line-height: 1.5; }
.security-recovery-requests ol { margin: 1rem 0 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.security-recovery-requests li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, auto); align-items: center; gap: 1.5rem; padding: 1rem 0; border-bottom: 1px solid #dce2e0; }
.security-recovery-requests li > div { display: grid; gap: .2rem; }
.security-recovery-requests li span, .security-recovery-requests time { color: #667174; font-size: .8rem; }
.security-recovery-requests form { display: grid; justify-items: end; gap: .6rem; }
.security-recovery-requests label { display: flex; align-items: center; gap: .45rem; font-size: .78rem; cursor: pointer; }
.security-recovery-requests label input { width: 1rem; height: 1rem; }
.security-recovery-requests button { min-height: 2.65rem; padding: 0 1rem; border: 0; border-radius: 6px; color: #fff; background: #f52219; 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: .72rem; 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: #f52219; 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: #f52219; 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 { padding: 0; 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: #f52219; 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: .72rem; 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.65rem; }
.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-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: .74rem; }
.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: #f52219; 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.55rem; }
.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: .72rem; 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: .72rem; 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: .7rem; 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: .74rem; 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; padding-right: 12rem; }
.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-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 h2 { margin: 0; font-size: 1.5rem; }
.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 { 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: .68rem !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.35rem; 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 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-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-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: #f52219; 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 { display: inline-flex; 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; }

.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 .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; }
.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; }
.checkout-readiness-heading { max-width: 54rem; }
.checkout-readiness-heading h1 { max-width: 20ch; }
.checkout-readiness-verdict { display: inline-flex; margin-top: 1.25rem; padding: .55rem .75rem; border: 1px solid #a9c9c5; border-radius: 4px; color: #087d75; background: #f2f8f7; font-size: .78rem; text-transform: uppercase; }
.checkout-readiness-verdict.is-blocked { border-color: #ddc2c0; color: #a8201c; background: #fff5f4; }
.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-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-form div[id$="supportedGearboxes"] { border-top: 1px solid #dce2e0; }
.operational-form div[id$="supportedGearboxes"] > div { min-height: 3.25rem; display: flex; align-items: center; border-bottom: 1px solid #dce2e0; }
.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; }
.training-schedule-list { margin: 2rem 0; }
.training-schedule-list ol { margin: 0; padding: 0; border-top: 1px solid #dce2e0; list-style: none; }
.training-schedule-list li { min-height: 3.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #dce2e0; }
.training-schedule-list time { font-weight: 800; }
.training-schedule-list span { color: #667174; font-variant-numeric: tabular-nums; }
.training-schedule-list .training-schedule-empty { justify-content: flex-start; color: #667174; }
.training-schedule-form { padding-top: 1.5rem; border-top: 1px solid #dce2e0; }
.training-schedule-form label { display: block; margin-bottom: .45rem; font-weight: 800; }
.training-schedule-form input { width: 100%; min-height: 3.2rem; padding: 0 .9rem; border: 1px solid #bfc9c6; border-radius: 5px; background: #fff; }
.training-schedule-form .checkout-primary { margin-top: 1rem; }
.training-schedule-form ul { margin: .35rem 0 .7rem; padding-left: 1.2rem; color: #b5201d; }

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

.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: #8a9492; 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; }
.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; }

@media (max-width: 760px) {
    .form-pair { grid-template-columns: 1fr; }
    .mfa-setup-flow { grid-template-columns: 1fr; }
    .mfa-confirm-step { border-top: 1px solid #dce2e0; border-left: 0; }
    .mfa-recovery-codes { grid-template-columns: 1fr; }
    .mfa-recovery-codes li:nth-child(even) { border-left: 0; }
    .security-mfa-status { grid-template-columns: 1fr; align-items: start; }
    .security-mfa-status dl { width: 100%; grid-template-columns: 1fr; gap: .75rem; }
    .security-recovery-requests li { grid-template-columns: 1fr; align-items: start; }
    .security-recovery-requests form { justify-items: start; }
    .app-header { grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1rem; }
    .app-header > strong { min-width: 0; overflow-wrap: anywhere; }
    .app-header-actions {
        width: 100%;
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: .5rem 1rem;
    }
    .app-header-actions .quiet-button { min-height: 2rem; display: inline-flex; align-items: center; }
    .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; }
    .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: .68rem; font-weight: 800; text-transform: uppercase; }
    .quote-line [role="cell"]::before { content: none; }
    .quote-line .invoice-cell-label { display: block; color: #667174; font-size: .68rem; 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-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .inbox-heading form { margin: 0; }
    .inbox-item { grid-template-columns: 6rem minmax(0, 1fr); gap: .85rem; }
    .inbox-item > a { grid-column: 2; justify-self: start; }
    .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; }
    .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-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%; }
    .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-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; }
    .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.5rem; }
    .public-hero { height: 31rem; min-height: 0; }
    .public-hero > img { object-position: 58% 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-offers { padding-top: 3rem; padding-bottom: 3rem; }
    .public-footer { align-items: flex-start; flex-direction: column; }
    .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; }
    .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 div { grid-template-columns: 1fr; gap: .05rem; align-items: start; }
    .event-context dt { line-height: 1.15; }
    .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 print {
    @page { margin: 12mm; }
    body { background: #fff; }
    .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; }
}
