body {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    margin: 0;
    color: #1b2430;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-wrap: break-word; }
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea, summary { touch-action: manipulation; }
:focus-visible { outline: 3px solid #d07912; outline-offset: 3px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: .5rem; left: .5rem; padding: .7rem 1rem; border-radius: 7px; background: #123d35; color: white; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 2rem;
    border-bottom: 1px solid #dce5e2;
    background: #f7faf9;
}

.site-header nav { align-items: center; }
.locale-selector { margin-left: auto; font-size: .9rem; }
.locale-selector span { color: #587069; }
.locale-selector form { display: inline-flex; align-items: center; }
.locale-selector button { min-height: auto; padding: .25rem .4rem; border: 0; border-radius: 5px; background: transparent; color: #126b58; cursor: pointer; }
.locale-selector button[aria-pressed="true"] { background: #dcece7; font-weight: 700; }

main { min-height: calc(100vh - 170px); }
.hero, .public-shell { max-width: 1120px; margin: 0 auto; padding: 4rem 2rem; }
.hero { max-width: 900px; }
.hero h1, .page-intro h1, .profile-header h1 { margin: .2rem 0 .8rem; font-size: clamp(2.1rem, 6vw, 4rem); line-height: 1.05; color: #123d35; }
.hero > p, .page-intro > p, .profile-header > p { max-width: 760px; font-size: 1.08rem; line-height: 1.7; }
.eyebrow { margin: 0; color: #126b58; font-size: .8rem !important; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.secondary-link { display: inline-block; padding: .65rem 1rem; border: 1px solid #126b58; border-radius: 8px; color: #126b58; text-decoration: none; }
.site-footer { padding: 1.5rem 2rem; border-top: 1px solid #dce5e2; color: #587069; font-size: .88rem; text-align: center; }

.category-nav { display: flex; flex-wrap: wrap; gap: .55rem; margin: 2rem 0; }
.category-nav a { padding: .55rem .8rem; border: 1px solid #b8cbc5; border-radius: 999px; color: #244e45; text-decoration: none; }
.category-nav a.active { border-color: #126b58; background: #e4f2ed; font-weight: 700; }
.status-panel, .language-notice { margin: 1.25rem 0; padding: 1rem 1.2rem; border: 1px solid #cbdcd6; border-radius: 10px; background: #f7faf9; }
.language-notice { border-color: #d6c788; background: #fffbea; color: #66591d; }
.provider-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1rem; }
.provider-card { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid #dce5e2; border-radius: 12px; background: white; box-shadow: 0 8px 22px rgb(25 70 59 / 6%); }
.provider-card h2 { margin: .2rem 0; color: #183f37; }
.provider-card p { margin: .35rem 0; line-height: 1.5; }
.provider-category { color: #126b58; font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.provider-title { font-weight: 650; }
.card-link { margin-top: auto; padding-top: 1rem; color: #126b58; font-weight: 700; }
.back-link { display: inline-block; margin-bottom: 2rem; color: #126b58; }
.profile-header { padding-bottom: 1.5rem; border-bottom: 1px solid #dce5e2; }
.profile-title { font-weight: 650; }
.profile-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); gap: 2rem; margin-top: 2rem; }
.profile-body { white-space: pre-wrap; line-height: 1.75; }
.profile-facts { padding: 1.25rem; border: 1px solid #dce5e2; border-radius: 12px; background: #f7faf9; align-self: start; }
.profile-facts > div { display: grid; gap: .2rem; padding: .75rem 0; border-top: 1px solid #dce5e2; }
.profile-facts span { color: #587069; font-size: .82rem; }
.services-panel { margin-top: 2rem; }
.service-list { display: grid; gap: .75rem; padding: 0; list-style: none; }
.service-list li { display: grid; gap: .3rem; padding: 1rem; border: 1px solid #dce5e2; border-radius: 9px; }
.service-list small { color: #587069; }
.page-intro.compact h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.offering-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .75rem; margin: 1.5rem 0; }
.offering-nav a { display: grid; gap: .25rem; padding: 1rem; border: 1px solid #b8cbc5; border-radius: 10px; color: #244e45; text-decoration: none; }
.offering-nav a.active { border-color: #126b58; background: #e4f2ed; box-shadow: inset 0 0 0 1px #126b58; }
.offering-nav small { color: #587069; }
.selected-service-summary, .booking-panel, .booking-receipt { margin: 1.25rem 0; padding: 1.4rem; border: 1px solid #dce5e2; border-radius: 12px; background: white; }
.section-heading-row { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.section-heading-row h2 { margin-top: 0; }
.section-heading-row button, .secondary-button { padding: .55rem .8rem; border: 1px solid #91aaa3; border-radius: 7px; background: white; color: #244e45; cursor: pointer; }
.availability-days { display: grid; gap: 1rem; margin: 1rem 0; }
.availability-days article { padding: .9rem; border: 1px solid #dce5e2; border-radius: 9px; }
.availability-days h3 { margin: 0 0 .7rem; }
.slot-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.slot-buttons button { padding: .55rem .75rem; border: 1px solid #91aaa3; border-radius: 7px; background: white; cursor: pointer; }
.slot-buttons button.selected { border-color: #126b58; background: #dff1eb; font-weight: 700; }
.selected-slot { display: grid; gap: .25rem; margin: 1rem 0; padding: 1rem; border-left: 4px solid #126b58; background: #f1f8f5; }
.hold-notice { padding: .8rem; border-radius: 8px; background: #fff7d8; color: #5c501e; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.contact-form.compact { padding-top: 1rem; border-top: 1px solid #dce5e2; }
.field { display: flex; flex-direction: column; gap: .35rem; font-weight: 650; }
.field input, .field select, .field textarea, .contact-form input, .contact-form select, .contact-form textarea { box-sizing: border-box; width: 100%; padding: .65rem; border: 1px solid #aebfba; border-radius: 7px; font: inherit; }
.field small, .contact-form small { color: #587069; font-weight: 400; }
.contact-form .wide, .contact-form .check-row, .contact-form .booking-message, .contact-form button { grid-column: 1 / -1; }
.check-row { display: flex; align-items: start; gap: .6rem; }
.check-row input { width: auto; margin-top: .2rem; }
.booking-message { margin: 0; }
.booking-receipt h1 { color: #123d35; }
.security { border-color: #d6c788; background: #fffbea; }

.site-header .brand {
    color: #145c4c;
    font-size: 1.2rem;
    font-weight: 750;
    text-decoration: none;
}

.site-header nav { display: flex; gap: 1rem; }
.site-header nav a { color: #244e45; }
.site-header nav form { display: inline-flex; margin: 0; }
.site-header .nav-action { min-height: auto; padding: 0; border: 0; background: transparent; color: #244e45; text-decoration: underline; cursor: pointer; }

.primary-link,
button.primary {
    display: inline-block;
    border: 0;
    border-radius: 8px;
    padding: .7rem 1rem;
    background: #126b58;
    color: white;
    text-decoration: none;
    cursor: pointer;
}

.primary-link, button, .secondary-link, .content-subnav a, .content-link-grid a { min-height: 44px; box-sizing: border-box; }

.panel {
    max-width: 920px;
    margin: 1rem 0;
    padding: 1.25rem;
    border: 1px solid #dce5e2;
    border-radius: 12px;
    background: #fff;
}

.card-list { display: grid; gap: .8rem; padding: 0; list-style: none; }
.card-list li { padding: 1rem; border: 1px solid #dce5e2; border-radius: 10px; }
.section-heading-actions, .slot-management-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.section-heading-actions { align-items: flex-start; margin-bottom: 1rem; }
.section-heading-actions h2 { margin-top: 0; }
.section-heading-actions p { margin-bottom: 0; }
.card-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: .7rem; }
.editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.editor-grid label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; }
.editor-grid .wide { grid-column: 1 / -1; }
.editor-grid input, .editor-grid select, .editor-grid textarea { padding: .65rem; border: 1px solid #aebfba; border-radius: 7px; font: inherit; }
.toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: .8rem; }
.toolbar label { display: flex; flex-direction: column; gap: .3rem; }
.muted { color: #587069; }
.success { color: #176848; }

.client-center, .check-in-shell { max-width: 920px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0; }
.filter-tabs button { padding: .55rem .85rem; border: 1px solid #91aaa3; border-radius: 999px; background: white; color: #244e45; cursor: pointer; }
.filter-tabs button.active { border-color: #126b58; background: #dff1eb; font-weight: 700; }
.client-card-list { display: grid; gap: 1rem; margin-top: 1.25rem; }
.client-card { display: block; padding: 1.25rem; border: 1px solid #dce5e2; border-radius: 12px; background: white; box-shadow: 0 8px 22px rgb(25 70 59 / 6%); }
.client-card h2, .request-detail h2, .check-in-confirmation h2 { color: #183f37; }
.client-card h2 { margin: .45rem 0 .2rem; }
.client-card p { margin: .3rem 0; }
.client-card-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.status-pill { display: inline-block; padding: .25rem .55rem; border-radius: 999px; background: #e4f2ed; color: #126b58; font-size: .78rem; font-weight: 750; }
.source-pill { display: inline-flex; align-items: center; min-height: 1.75rem; margin-inline-start: .35rem; padding: .15rem .55rem; border: 1px solid #cbdcd6; border-radius: 999px; color: #52645f; font-size: .78rem; font-weight: 700; }
.compact-card-list { margin: 1rem 0 1.25rem; }
.advanced-editor-grid { margin-top: 1.25rem; }
.checkbox-field { flex-direction: row !important; align-items: center; align-self: end; min-height: 2.75rem; }
.checkbox-field input { width: auto; }
.generation-summary { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin: 1rem 0; padding: 1rem; border: 1px solid #cbdcd6; border-radius: 10px; background: #f7faf9; }
.time-block { display: grid; min-width: 9rem; gap: .1rem; text-align: right; }
.time-block span, .time-block small, .client-card small { color: #587069; }
.client-card dl { margin: 1rem 0; }
.client-card dl > div { display: grid; grid-template-columns: minmax(8rem, .4fr) 1fr; gap: .8rem; padding: .45rem 0; border-top: 1px solid #edf2f0; }
.client-card dt { color: #587069; }
.client-card dd { margin: 0; overflow-wrap: anywhere; }
.request-card-link { color: inherit; text-decoration: none; }
.request-card-link:hover, .request-card-link:focus-visible { border-color: #126b58; }
.danger-secondary, .danger-button { padding: .6rem .85rem; border: 1px solid #b23b2e; border-radius: 7px; cursor: pointer; }
.danger-secondary { background: white; color: #9b3025; }
.danger-button { background: #9b3025; color: white; }
button:disabled { cursor: not-allowed; opacity: .55; }
.confirmation-panel, .check-in-confirmation, .request-detail { margin: 1.5rem 0; padding: 1.4rem; border: 1px solid #b8cbc5; border-radius: 12px; background: #f7faf9; }
.confirmation-panel { border-color: #d19b92; background: #fff8f7; }
.proposal-list, .event-list, .candidate-list { display: grid; gap: .75rem; padding: 0; }
.proposal-list article, .candidate-list article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #dce5e2; border-radius: 9px; background: white; }
.proposal-list article > div { display: grid; gap: .25rem; }
.proposal-list small, .candidate-list small { color: #587069; }
.alternative-panel { margin: 1.25rem 0; padding: 1rem; border: 1px solid #dce5e2; border-radius: 9px; background: white; }
.alternative-panel summary { margin-bottom: 1rem; color: #126b58; font-weight: 700; cursor: pointer; }
.alternative-panel button { margin-top: 1rem; }
.event-list { list-style-position: inside; }
.event-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #dce5e2; }
.check-in-confirmation.success { border-color: #91c3ae; background: #edf8f3; }
.appointment-time { font-size: 1.15rem; font-weight: 700; }
.candidate-list h2 { color: #183f37; }
.provider-content-shell { max-width: 920px; }
.content-subnav { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.5rem; }
.content-subnav a, .content-link-grid a { padding: .65rem .9rem; border: 1px solid #b8cbc5; border-radius: 8px; color: #126b58; text-decoration: none; }
.content-subnav a[aria-current="page"] { border-color: #126b58; background: #dff1eb; font-weight: 700; }
.provider-workbench { max-width: 1040px; }
.provider-workbench .content-subnav { margin-bottom: 1.25rem; }
.platform-admin-shell { max-width: 1180px; margin: 0 auto; padding: 3rem 2rem 4rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.5rem; color: #587069; font-size: .9rem; }
.breadcrumbs a { color: #126b58; }
.admin-status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1.75rem 0; }
.admin-status-grid article { display: grid; gap: .25rem; padding: 1.15rem; border: 1px solid #d7e3df; border-radius: 12px; background: linear-gradient(145deg, #fff, #f2f8f5); }
.admin-status-grid strong { color: #123d35; font-size: 1.75rem; }
.admin-status-grid span { color: #587069; font-size: .88rem; }
.admin-provider-directory { margin-top: 2rem; }
.admin-filter-bar { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(190px, .35fr); gap: 1rem; margin: 1rem 0 1.25rem; padding: 1rem; border: 1px solid #d7e3df; border-radius: 12px; background: #f7faf9; }
.admin-filter-bar label { display: grid; gap: .35rem; color: #244e45; font-weight: 700; }
.admin-filter-bar input, .admin-filter-bar select { width: 100%; padding: .7rem; border: 1px solid #aebfba; border-radius: 8px; background: white; }
.admin-provider-list { display: grid; gap: 1rem; padding: 0; list-style: none; }
.admin-provider-list > li { padding: 1.25rem; border: 1px solid #d7e3df; border-radius: 12px; background: white; box-shadow: 0 8px 22px rgb(25 70 59 / 5%); }
.admin-provider-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.admin-provider-summary > div { display: grid; gap: .25rem; }
.admin-provider-summary strong { color: #183f37; font-size: 1.12rem; }
.admin-provider-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: .55rem; margin-top: 1rem; }
.admin-provider-actions a { display: flex; align-items: center; min-height: 44px; padding: .55rem .7rem; border: 1px solid #c5d8d2; border-radius: 8px; color: #126b58; text-decoration: none; }
.admin-provider-actions a:hover, .admin-provider-actions a:focus-visible { border-color: #126b58; background: #eef8f4; }
.provider-workspace-shell { margin: 0 0 2rem; border: 1px solid #cadbd5; border-radius: 14px; background: #f7faf9; overflow: hidden; }
.provider-workspace-context { padding: 1.25rem; background: linear-gradient(135deg, #173f36, #245f51); color: white; }
.provider-workspace-context .back-link { margin-bottom: 1rem; color: #d8eee7; }
.provider-workspace-context .eyebrow { color: #bfe4d8; }
.provider-workspace-context h2 { margin: .35rem 0 .8rem; color: white; }
.provider-workspace-context dl { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; margin: 0; }
.provider-workspace-context dl > div { display: flex; gap: .35rem; }
.provider-workspace-context dt { color: #bfe4d8; }
.provider-workspace-context dd { margin: 0; font-weight: 700; }
.provider-workspace-navigation { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.provider-workspace-navigation section { display: grid; align-content: start; gap: .2rem; padding: 1rem; border-inline-start: 1px solid #d7e3df; }
.provider-workspace-navigation section:first-child { border-inline-start: 0; }
.provider-workspace-navigation h3 { margin: 0 0 .45rem; color: #587069; font-size: .74rem; letter-spacing: .07em; text-transform: uppercase; }
.provider-workspace-navigation a { min-height: 38px; padding: .5rem .6rem; border-radius: 7px; color: #244e45; text-decoration: none; }
.provider-workspace-navigation a:hover, .provider-workspace-navigation a:focus-visible { background: #e7f3ef; }
.provider-workspace-navigation a[aria-current="page"] { background: #d8eee7; color: #0c5d4c; font-weight: 750; }
.preserve-text { white-space: pre-wrap; }
.audit-panel, .request-detail { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid #d7e3df; }
.timeline { display: grid; gap: .8rem; padding-left: 1.25rem; }
.timeline li { padding-left: .35rem; }
.timeline span, .timeline small { display: block; margin-top: .2rem; color: #587069; }
.time-proposal-list { display: grid; gap: .75rem; margin: 1rem 0 1.5rem; }
.time-proposal { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #cbdcd6; border-radius: 10px; background: white; }
.time-proposal span, .time-proposal small { display: block; margin-top: .25rem; }
.time-proposal small { color: #587069; }
.compact-editor { margin: 1.25rem 0; }
.content-link-grid { display: flex; flex-wrap: wrap; gap: .75rem; }
.announcement-list, .insight-grid { display: grid; gap: 1rem; margin-top: 1.5rem; }
.announcement-card { padding: 1.3rem; border: 1px solid #dce5e2; border-left: 5px solid #91aaa3; border-radius: 10px; background: white; }
.announcement-card.urgency-important { border-left-color: #c18b24; }
.announcement-card.urgency-urgent { border-left-color: #b23b2e; }
.announcement-meta { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: .9rem; color: #587069; font-size: .85rem; }
.announcement-meta strong { color: #9b3025; }
.provider-content-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.75; }
.insight-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.insight-card { overflow: hidden; border: 1px solid #dce5e2; border-radius: 12px; background: white; color: inherit; text-decoration: none; box-shadow: 0 8px 22px rgb(25 70 59 / 6%); }
.insight-card img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.insight-card > div { padding: 1.1rem; }
.insight-card h2 { margin: .35rem 0; color: #183f37; }
.insight-card time, .insight-article time { color: #587069; font-size: .85rem; }
.insight-article { max-width: 760px; }
.insight-article header { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid #dce5e2; }
.insight-article h1 { margin: .5rem 0; color: #123d35; font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.12; }
.check-in-token-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 300px); gap: 2rem; align-items: center; margin: 1.5rem 0; padding: 1.5rem; border: 1px solid #cbdcd6; border-radius: 14px; background: #f4faf7; }
.check-in-token-panel select { width: min(100%, 30rem); }
.qr-card { display: grid; justify-items: center; gap: .55rem; padding: 1rem; border: 1px solid #b8cbc5; border-radius: 12px; background: white; text-align: center; }
.qr-code { width: 100%; max-width: 270px; color: #111; }
.qr-code svg { display: block; width: 100%; height: auto; }
.check-in-roster { margin-top: 2rem; }
.check-in-roster-item .status-pill.checkedin, .check-in-roster-item .status-pill.inservice { background: #dff1eb; color: #155d4d; }
.check-in-roster-item .status-pill.late { background: #fff0cf; color: #7a4b00; }
.check-in-roster-item .status-pill.completed { background: #e8eef7; color: #2b4e76; }
.check-in-roster-item .status-pill.noshow { background: #f7e6e3; color: #8a3025; }
.print-layout { min-height: 100vh; padding: 1.5rem; background: #eef4f1; }
.check-in-print-page { max-width: 760px; margin: 0 auto; }
.print-state { padding: 2rem; border-radius: 12px; background: white; }
.print-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.check-in-print-sheet { padding: 3rem; border: 1px solid #c7d3cf; background: white; text-align: center; box-shadow: 0 12px 30px rgb(25 70 59 / 8%); }
.print-brand { margin: 0; color: #126b58; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.check-in-print-sheet h1 { margin: .45rem 0; font-size: 2.5rem; }
.print-instruction { font-size: 1.15rem; }
.print-qr { width: min(100%, 430px); margin: 2rem auto; }
.print-qr .qr-code { max-width: none; }
.check-in-print-sheet dl { max-width: 540px; margin: 1.5rem auto; text-align: left; }
.check-in-print-sheet dl > div { display: grid; grid-template-columns: 9rem 1fr; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid #dde6e3; }
.check-in-print-sheet dt { font-weight: 700; }
.check-in-print-sheet dd { margin: 0; }
.print-privacy { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #ccd8d4; color: #465e57; font-size: .9rem; }
.content-management-grid { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 1.6fr); gap: 1.5rem; align-items: start; }
.content-management-list, .content-management-form, .content-management-section { padding: 1.25rem; border: 1px solid #d5e1dd; border-radius: 12px; background: white; }
.content-management-form textarea { width: 100%; resize: vertical; }
.content-list-item { display: grid; width: 100%; gap: .25rem; padding: .9rem; border: 1px solid #d8e3df; border-radius: 9px; background: white; color: inherit; text-align: left; }
.content-list-item.selected { border-color: #126b58; background: #edf8f3; }
.content-list-item span, .content-list-item small { color: #587069; }
.content-management-section { margin-top: 1.5rem; }
.insight-management-list { display: grid; gap: .8rem; }
.insight-management-list article { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid #d8e3df; border-radius: 10px; }
.insight-management-list h3 { margin: 0 0 .25rem; }
.insight-management-list p, .insight-management-list small { display: block; margin: 0; color: #587069; }
.order-number { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: 50%; background: #e5f2ed; color: #155d4d; font-weight: 800; }
.content-search-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; align-items: end; }
.content-search-row label { grid-column: 1 / -1; }
.invitation-accept-shell { min-height: 70vh; display: grid; place-items: center; padding: 2rem 1rem; }
.invitation-accept-card { width: min(640px, 100%); padding: clamp(1.5rem, 4vw, 2.5rem); border: 1px solid #d5e1dd; border-radius: 18px; background: white; box-shadow: 0 18px 55px rgb(20 60 50 / 10%); }
.invitation-accept-card h1 { margin-top: .35rem; color: #163f36; }
.invitation-accept-card .card-actions { align-items: center; margin-top: 1.5rem; }
.invitation-accept-mark { display: grid; width: 3rem; height: 3rem; place-items: center; margin-bottom: .8rem; border-radius: 50%; background: #e5f2ed; color: #126b58; font-size: 1.4rem; font-weight: 800; }
.invitation-accept-mark.success { background: #dff1e8; color: #176848; }
.invitation-management-shell { max-width: 920px; }
.invitation-link-panel { display: grid; gap: .55rem; margin-top: 1rem; padding: 1rem; border: 1px solid #c5d9d2; border-radius: 10px; background: #edf8f3; }
.invitation-link-panel input { width: 100%; box-sizing: border-box; padding: .65rem; border: 1px solid #aebfba; border-radius: 7px; }
.invitation-management-list { display: grid; gap: .8rem; }
.invitation-management-list article { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #d8e3df; border-radius: 10px; }
.invitation-management-list h3 { margin: .55rem 0 .25rem; }
.invitation-management-list p { margin: 0; color: #587069; }

@media (max-width: 680px) {
    .site-header { align-items: flex-start; flex-wrap: wrap; padding: 1rem; }
    .site-header nav { order: 3; width: 100%; flex-wrap: wrap; overflow: visible; }
    .locale-selector { order: 2; width: auto !important; margin-left: 0; }
    .hero, .public-shell { padding: 2.5rem 1rem; }
    .profile-layout { grid-template-columns: 1fr; }
    .contact-form { grid-template-columns: 1fr; }
    .section-heading-row { flex-direction: column; }
    .editor-grid { grid-template-columns: 1fr; }
    .section-heading-actions, .slot-management-row { align-items: stretch; flex-direction: column; }
    .client-card-heading, .proposal-list article, .candidate-list article { align-items: stretch; flex-direction: column; }
    .time-block { text-align: left; }
    .client-card dl > div { grid-template-columns: 1fr; gap: .2rem; }
    .event-list li { flex-direction: column; gap: .25rem; }
    .offering-nav, .provider-grid, .insight-grid { grid-template-columns: minmax(0, 1fr); }
    .client-card, .booking-panel, .booking-receipt, .selected-service-summary, .confirmation-panel, .check-in-confirmation, .request-detail { min-width: 0; padding: 1rem; }
    .content-subnav a, .content-link-grid a { flex: 1 1 100%; }
    .time-proposal { align-items: stretch; flex-direction: column; }
    .check-in-token-panel { grid-template-columns: 1fr; padding: 1rem; }
    .check-in-print-sheet { padding: 1.25rem; }
    .check-in-print-sheet dl > div { grid-template-columns: 1fr; gap: .2rem; }
    .content-management-grid { grid-template-columns: 1fr; }
    .insight-management-list article { grid-template-columns: 2.5rem minmax(0, 1fr); }
    .insight-management-list .card-actions { grid-column: 1 / -1; }
    .content-search-row { grid-template-columns: 1fr; }
    .invitation-management-list article { align-items: stretch; flex-direction: column; }
    .platform-admin-shell { padding: 2rem 1rem 3rem; }
    .admin-status-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-filter-bar { grid-template-columns: 1fr; }
    .admin-provider-summary { align-items: stretch; flex-direction: column; }
    .provider-workspace-navigation { grid-template-columns: 1fr; }
    .provider-workspace-navigation section { border-inline-start: 0; border-top: 1px solid #d7e3df; }
    .provider-workspace-context dl { display: grid; gap: .35rem; }
}

@media print {
    @page { margin: 12mm; }
    .print-layout { min-height: auto; padding: 0; background: white; }
    .print-toolbar { display: none !important; }
    .check-in-print-sheet { padding: 0; border: 0; box-shadow: none; }
    .print-qr { width: 105mm; }
}

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

.error {
    color: #b23b2e;
}

code {
    background: #eef1f3;
    padding: 1px 5px;
    border-radius: 4px;
}
