:root {
    color-scheme: light;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 100%;
    --font-xs: .75rem; --font-sm: .875rem; --font-md: 1rem; --font-lg: 1.125rem; --font-xl: 1.25rem; --font-2xl: 1.5rem; --font-3xl: clamp(1.8rem, 4vw, 2.5rem);
    --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.5rem; --space-6: 2rem; --space-7: 3rem; --space-8: 4rem;
    --ink: #17212b; --ink-soft: #344454; --muted: #5b6b7a;
    --surface: #fff; --surface-subtle: #f8fafb; --canvas: #f1f4f6;
    --line: #d7dee4; --line-strong: #aeb9c3;
    --zeno-navy: #061b4e;
    --zeno-navy-mid: #0b2f7a;
    --zeno-blue: #2563eb;
    --booking-accent: #0f8794;
    --booking-accent-strong: #08717d;
    --booking-accent-soft: #e5f6f7;
    --booking-sidebar: #063f49;
    --booking-sidebar-mid: #052f38;
    --booking-sidebar-deep: #03252c;
    --brand: var(--booking-accent);
    --brand-strong: var(--booking-accent-strong);
    --brand-soft: var(--booking-accent-soft);
    --platform: var(--zeno-navy-mid); --platform-soft: #eef4ff; --focus: #2563eb;
    --danger: #a32a23; --danger-bg: #fff1f0; --success: #176237; --success-bg: #eaf7ef;
    --warning: #7a4b00; --warning-bg: #fff7df; --info: #184f70; --info-bg: #eaf5fb;
    --radius-sm: .4rem; --radius-md: .65rem; --radius-lg: .9rem; --radius-pill: 99rem;
    --shadow-sm: 0 1px 2px rgba(20,32,43,.05); --shadow-md: 0 .65rem 2rem rgba(20,32,43,.08);
    --sidebar-width: 17.75rem;
    --sidebar-collapsed-width: 4.6rem;
}
* { box-sizing: border-box; }
html { min-width: 20rem; background: var(--canvas); scroll-behavior: smooth; }
body { min-width: 20rem; min-height: 100vh; margin: 0; background: var(--canvas); color: var(--ink); font-size: var(--font-md); line-height: 1.55; text-rendering: optimizeLegibility; }
img { display: block; max-width: 100%; }
a { color: var(--brand); text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--brand-strong); }
button, input, select, textarea { font: inherit; }
button, .button, input, select, textarea { min-height: 2.75rem; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex="-1"]:focus-visible { outline: .2rem solid var(--focus); outline-offset: .18rem; }
.skip-link { position: fixed; z-index: 100; top: var(--space-2); left: var(--space-2); padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--ink); color: #fff; transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }

.site-header { border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); }
.site-header__inner { display: flex; align-items: center; gap: var(--space-4); width: min(76rem,100%); min-height: 4.5rem; margin: 0 auto; padding: var(--space-3) clamp(1rem,3vw,2rem); }
.site-header__nav { display: flex; align-items: center; gap: var(--space-4); margin-left: auto; color: var(--muted); font-size: var(--font-sm); font-weight: 700; }
.header-link { white-space: nowrap; }
.brand-lockup { display: inline-grid; color: var(--ink); line-height: 1; text-decoration: none; }
.brand-lockup__product { font-size: 1.25rem; font-weight: 850; letter-spacing: -.035em; }
.brand-lockup__suite { margin-top: .2rem; color: var(--brand); font-size: var(--font-xs); font-weight: 750; letter-spacing: .02em; }
.brand-slot { display: none; }
.page-shell { width: min(76rem,100%); min-height: calc(100vh - 10rem); margin: 0 auto; padding: clamp(1.25rem,4vw,3.5rem) clamp(1rem,3vw,2rem); }
.site-footer { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) clamp(1rem,3vw,2rem); border-top: 1px solid var(--line); color: var(--muted); font-size: var(--font-sm); }
.site-footer p { margin: 0; }

h1,h2,h3,h4 { color: var(--ink); line-height: 1.18; text-wrap: balance; }
h1 { margin: 0 0 var(--space-3); font-size: var(--font-3xl); letter-spacing: -.035em; }
h2 { margin: var(--space-6) 0 var(--space-3); font-size: var(--font-2xl); letter-spacing: -.02em; }
h3 { margin: 0 0 var(--space-2); font-size: var(--font-lg); }
h4 { margin: var(--space-5) 0 var(--space-2); font-size: var(--font-md); }
p { max-width: 70ch; }
.eyebrow,.empty-state__eyebrow { margin: 0 0 var(--space-2); color: var(--brand); font-size: var(--font-xs); font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.lede { margin: 0 0 var(--space-5); color: var(--muted); font-size: var(--font-lg); }
.meta,small { color: var(--muted); font-size: var(--font-sm); }
.total { font-size: var(--font-xl); font-weight: 850; }
.text-mono { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .83em; overflow-wrap: anywhere; }

.card { padding: clamp(1rem,3vw,1.75rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.page-shell > .card { max-width: 54rem; margin-inline: auto; }
.page-shell > .card--wide { max-width: 72rem; }
.card--quiet { background: var(--surface-subtle); box-shadow: none; }
.card--accent { border-top: .25rem solid var(--brand); }
.alert,.success,.info { margin: var(--space-4) 0; padding: var(--space-3) var(--space-4); border: 1px solid currentColor; border-radius: var(--radius-md); }
.alert { background: var(--danger-bg); color: var(--danger); }
.success { background: var(--success-bg); color: var(--success); }
.info { background: var(--info-bg); color: var(--info); }
.error-summary h2 { margin: 0 0 var(--space-2); font-size: var(--font-lg); }
.error-summary ul { margin: 0; padding-left: var(--space-5); }
.field-error { display: block; margin-top: var(--space-2); color: var(--danger); font-size: var(--font-sm); font-weight: 750; }

fieldset { min-width: 0; margin: var(--space-5) 0 0; padding: 0; border: 0; }
legend { width: 100%; margin-bottom: var(--space-3); font-size: var(--font-xl); font-weight: 800; }
label,.label { display: block; margin: var(--space-4) 0 var(--space-2); color: var(--ink-soft); font-size: var(--font-sm); font-weight: 750; }
input,select,textarea { width: 100%; padding: .7rem .8rem; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: #fff; color: var(--ink); box-shadow: inset 0 1px 1px rgba(20,32,43,.03); }
textarea { min-height: 7rem; resize: vertical; }
input:hover,select:hover,textarea:hover { border-color: #7d8c99; }
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { border-width: .125rem; border-color: var(--danger); }
input[type="checkbox"],input[type="radio"] { width: 1.25rem; min-height: 1.25rem; margin: .15rem 0 0; accent-color: var(--brand); box-shadow: none; }
.choice { display: grid; grid-template-columns: 1.3rem minmax(0,1fr); gap: var(--space-3); align-items: start; margin: 0; cursor: pointer; }
.field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 var(--space-4); }
.field-grid .field--wide { grid-column: 1/-1; }
.form-panel { max-width: 48rem; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }

button,.button { display: inline-flex; width: auto; align-items: center; justify-content: center; gap: var(--space-2); padding: .66rem 1rem; border: 2px solid var(--brand); border-radius: var(--radius-sm); background: var(--brand); color: #fff; font-weight: 780; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; }
button:hover,.button:hover { border-color: var(--brand-strong); background: var(--brand-strong); color: #fff; }
.button--secondary,button.secondary { background: #fff; color: var(--brand); }
.button--quiet,button.quiet { border-color: transparent; background: transparent; color: var(--brand); }
.button--danger,button.danger { border-color: var(--danger); background: #fff; color: var(--danger); }
.button--danger:hover,button.danger:hover { background: var(--danger); color: #fff; }
button:disabled { cursor: not-allowed; opacity: .6; }
form.inline { display: inline; margin: 0; }
.actions { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; margin-top: var(--space-5); }
.actions--compact { margin-top: 0; }
.strong-confirmation { margin: var(--space-3) 0; padding: var(--space-3); border: 1px solid #e4b2ae; border-radius: var(--radius-sm); background: var(--danger-bg); }
.strong-confirmation label { margin: 0; color: var(--ink); }
.strong-confirmation code { padding: .1rem .25rem; border-radius: .2rem; background: #fff; color: var(--danger); font-weight: 800; overflow-wrap: anywhere; }
.strong-confirmation input { margin-top: var(--space-2); }
.landing-hero { max-width: 60rem; margin: var(--space-8) auto; padding: clamp(2rem, 6vw, 5rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, var(--brand-soft), #fff); }
.landing-hero h1 { max-width: 18ch; font-size: clamp(2.2rem, 6vw, 4.5rem); }
.landing-hero > p:not(.eyebrow) { max-width: 62ch; font-size: var(--font-lg); }
.landing-discovery { max-width: 72rem; margin: 0 auto var(--space-8); }
.landing-tenant-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: var(--space-4); }
.landing-tenant-card { display: flex; flex-direction: column; align-items: flex-start; }
.landing-location-list { width: 100%; padding: 0; list-style: none; }
.landing-location-list li { border-top: 1px solid var(--line); }
.landing-location-list a { display: block; padding: var(--space-3) 0; text-decoration: none; }
.legal-page { max-width: 52rem; margin: var(--space-8) auto; }

.option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.option-card { position: relative; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-subtle); }
.option-card:has(input:checked) { border-color: var(--brand); background: var(--brand-soft); box-shadow: 0 0 0 1px var(--brand); }
.option-card.is-unavailable { background: #eef1f3; color: var(--muted); }
.option-card .label { margin-top: 0; }
.option-card p { margin: var(--space-2) 0; }
.progress { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: var(--space-2); margin: var(--space-5) 0 var(--space-6); padding: 0; list-style: none; }
.progress li { min-width: 0; padding: var(--space-3) var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); font-size: var(--font-xs); text-align: center; }
.progress li[aria-current="step"] { border-color: var(--brand); background: var(--brand); color: #fff; font-weight: 800; }
.progress li.is-complete { border-color: #7aaf8d; background: var(--success-bg); color: #315d45; }
.summary-list { margin: 0; padding: 0; list-style: none; }
.summary-list li { display: flex; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
.summary-list strong { text-align: right; }
.summary-total { margin-top: var(--space-4); padding: var(--space-4); border-radius: var(--radius-md); background: var(--surface-subtle); }
.badge,.status-badge { display: inline-flex; align-items: center; min-height: 1.75rem; padding: .2rem .6rem; border-radius: var(--radius-pill); background: var(--info-bg); color: var(--info); font-size: var(--font-xs); font-weight: 800; line-height: 1.2; }
.badge--success { background: var(--success-bg); color: var(--success); }
.badge--danger { background: var(--danger-bg); color: var(--danger); }
.badge--warning { background: var(--warning-bg); color: var(--warning); }
.badge--neutral { background: #edf1f4; color: var(--ink-soft); }
.hold-countdown { color: var(--warning); font-variant-numeric: tabular-nums; font-weight: 850; }
.empty-state { padding: var(--space-7) var(--space-5); border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); background: var(--surface-subtle); text-align: center; }
.empty-state h3,.empty-state p { max-width: 36rem; margin-inline: auto; }

.application-root { min-height: 100vh; }
.app-shell { display: grid; grid-template-columns: var(--sidebar-width) minmax(0,1fr); min-height: 100vh; }
.app-sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; border-right: 1px solid #204c65; background: #0d3f5b; color: #fff; }
.app-sidebar--platform { border-color: #163b73; background: var(--zeno-navy); }
.app-sidebar__brand { padding: var(--space-5); border-bottom: 1px solid rgba(255,255,255,.16); }
.app-sidebar .brand-lockup,.app-sidebar .brand-lockup__suite { color: #fff; }
.app-sidebar__brand p,.app-sidebar__brand span { display: block; margin: var(--space-3) 0 0; color: rgba(255,255,255,.74); font-size: var(--font-xs); }
.app-sidebar__brand strong { display: block; margin-top: var(--space-1); font-size: var(--font-lg); }
.platform-identity { color: #fff!important; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.side-nav { padding: var(--space-4); }
.side-nav__group { margin: 0 0 var(--space-5); }
.side-nav__group h2 { margin: 0 0 var(--space-2); padding: 0 var(--space-3); color: rgba(255,255,255,.62); font-size: .65rem; letter-spacing: .11em; text-transform: uppercase; }
.side-nav a { display: block; margin: .15rem 0; padding: .58rem var(--space-3); border-radius: var(--radius-sm); color: rgba(255,255,255,.84); font-size: var(--font-sm); font-weight: 650; text-decoration: none; }
.side-nav a:hover { background: rgba(255,255,255,.1); color: #fff; }
.side-nav a[aria-current="page"] { background: #fff; color: #0d3f5b; font-weight: 800; }
.app-sidebar--platform .side-nav a[aria-current="page"] { color: var(--zeno-navy); }
.app-main { min-width: 0; }
.app-header { position: sticky; z-index: 20; top: 0; display: flex; align-items: center; gap: var(--space-4); min-height: 4.5rem; padding: var(--space-3) clamp(1rem,3vw,2rem); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); }
.app-header__context { min-width: 0; }
.app-header__context strong,.app-header__context span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-header__context span { color: var(--muted); font-size: var(--font-xs); }
.app-header__actions { display: flex; align-items: center; gap: var(--space-3); margin-left: auto; }
.menu-toggle { display: none; }
.app-content { width: min(92rem,100%); margin: 0 auto; padding: clamp(1rem,3vw,2rem); }
.page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-5); }
.page-header h1 { margin-bottom: var(--space-1); }
.page-header p { margin: 0; color: var(--muted); }
.page-header__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.breadcrumb { margin: 0 0 var(--space-2); color: var(--muted); font-size: var(--font-xs); }
.toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.toolbar label { flex: 1 1 11rem; margin: 0; }
.toolbar button { min-height: 2.75rem; }

.metric-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(11rem,1fr)); gap: var(--space-4); }
.metric-card { min-width: 0; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-sm); }
.metric-card strong { display: block; margin-bottom: var(--space-1); font-size: 1.9rem; line-height: 1; font-variant-numeric: tabular-nums; }
.metric-card span { color: var(--muted); font-size: var(--font-sm); }
.dashboard-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(17rem,.8fr); gap: var(--space-5); margin-top: var(--space-5); }
.quick-actions { display: grid; gap: var(--space-3); }
.quick-action { display: block; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); text-decoration: none; }
.quick-action strong,.quick-action span { display: block; }
.quick-action span { margin-top: var(--space-1); color: var(--muted); font-size: var(--font-sm); }

.table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
table { width: 100%; border-collapse: collapse; overflow-wrap: anywhere; font-size: var(--font-sm); }
th,td { padding: .8rem var(--space-3); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
th { background: var(--surface-subtle); color: var(--ink-soft); font-size: var(--font-xs); letter-spacing: .035em; text-transform: uppercase; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fbfcfd; }
td form + form { margin-top: var(--space-2); }
.admin-note { padding: var(--space-3) var(--space-4); border-left: .2rem solid var(--brand); background: var(--surface-subtle); }
.logo-preview { max-width: 18rem; max-height: 10rem; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); object-fit: contain; }
.calendar-board { display: grid; gap: var(--space-4); }
.calendar-day { display: grid; grid-template-columns: 8rem minmax(0,1fr); gap: var(--space-4); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.calendar-day__date { color: var(--brand); font-weight: 850; }
.calendar-events { display: grid; gap: var(--space-2); }
.calendar-event { display: grid; grid-template-columns: minmax(8rem,1fr) minmax(8rem,1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3); border-left: .25rem solid var(--brand); border-radius: var(--radius-sm); background: var(--surface-subtle); }
.calendar-event--blocked { border-color: var(--danger); }
.calendar-event span { color: var(--muted); font-size: var(--font-sm); }

details { margin: var(--space-4) 0; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
summary { padding: var(--space-4); color: var(--brand); font-weight: 800; cursor: pointer; }
details[open] summary { border-bottom: 1px solid var(--line); }
details > form,details > p,details > h4 { margin-inline: var(--space-4); }
details > form { margin-bottom: var(--space-5); }
.configuration-list { display: grid; gap: var(--space-5); }
.location-card { display: grid; gap: var(--space-5); }
.location-card__header,.linked-resource__header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); }
.location-card__header h4,.linked-resource__header strong { margin: 0; }
.linked-resource-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-5); }
.linked-resource { margin-top: var(--space-3); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-subtle); }
.linked-resource__header span { display: block; margin-top: var(--space-1); }
.linked-resource .actions details { margin: 0; }

.auth-card { display: grid; grid-template-columns: minmax(0,.75fr) minmax(18rem,1fr); max-width: 62rem!important; padding: 0; overflow: hidden; }
.auth-card__intro { padding: clamp(1.5rem,5vw,3.5rem); background: #0d3f5b; color: #fff; }
.auth-card__intro h1,.auth-card__intro .brand-lockup,.auth-card__intro .brand-lockup__suite { color: #fff; }
.auth-card__intro p { color: rgba(255,255,255,.78); }
.auth-card__form { padding: clamp(1.5rem,5vw,3.5rem); }
.layout--platform-auth .auth-card__intro { background: var(--zeno-navy); }
.booking-layout { display: grid; grid-template-columns: minmax(0,1fr) 18rem; gap: var(--space-5); align-items: start; }
.booking-layout__main { min-width: 0; }
.booking-context { position: sticky; top: var(--space-4); padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-subtle); }
.booking-context h2 { margin: 0 0 var(--space-3); font-size: var(--font-lg); }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 64rem) { .app-shell { grid-template-columns: 14.5rem minmax(0,1fr); } .dashboard-grid,.booking-layout,.linked-resource-grid { grid-template-columns: 1fr; } .booking-context { position: static; order: -1; } }
@media (max-width: 48rem) {
    .app-shell { display: block; }
    .app-sidebar { position: static; width: 100%; height: auto; }
    .has-js .app-sidebar { position: fixed; z-index: 50; top: 0; left: 0; width: min(18rem,88vw); height: 100vh; transform: translateX(-105%); box-shadow: var(--shadow-md); }
    .has-js .app-sidebar.is-open { transform: translateX(0); }
    .has-js .menu-toggle { display: inline-flex; }
    .app-header__actions .button { display: none; }
    .page-header { align-items: flex-start; flex-direction: column; }
    .page-header__actions { width: 100%; }
    .page-header__actions > * { flex: 1; }
    .field-grid,.option-grid { grid-template-columns: minmax(0,1fr); }
    .progress { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .calendar-day { grid-template-columns: 1fr; }
    .calendar-event { grid-template-columns: 1fr auto; }
    .calendar-event span { grid-column: 1/-1; }
    .auth-card { grid-template-columns: 1fr; }
    .auth-card__intro { padding-block: var(--space-6); }
}
@media (max-width: 42rem) {
    .site-header__inner { align-items: flex-start; flex-wrap: wrap; }
    .site-header__nav { width: 100%; margin-left: 0; }
    .brand-slot { display: none; }
    .actions { align-items: stretch; flex-direction: column; }
    .actions > *,.actions form,.actions button,.actions .button { width: 100%; }
    .summary-list li { display: block; }
    .summary-list strong { display: block; margin-top: var(--space-1); text-align: left; }
    .location-card__header,.linked-resource__header { align-items: flex-start; flex-direction: column; }
    .toolbar { align-items: stretch; flex-direction: column; }
    .toolbar label {
        flex: 0 0 auto;
        width: 100%;
    }
    .toolbar button,.toolbar .button { width: 100%; }

    .bookings-table {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .bookings-table table,
    .bookings-table tbody,
    .bookings-table tr,
    .bookings-table td {
        display: block;
        width: 100%;
    }

    .bookings-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .bookings-table tbody {
        display: grid;
        gap: .75rem;
    }

    .bookings-table tbody tr {
        margin: 0;
        padding: .25rem .9rem;
        overflow: hidden;
        border: 1px solid #dce5e9;
        border-radius: .8rem;
        background: #fff;
        box-shadow:
            0 .35rem 1rem rgba(6, 63, 73, .035);
    }

    .bookings-table tbody td {
        display: grid;
        grid-template-columns:
            minmax(6.4rem, .75fr)
            minmax(0, 1.25fr);
        gap: .75rem;
        align-items: start;
        padding: .65rem 0;
        border-bottom: 1px solid var(--line);
        overflow-wrap: anywhere;
    }

    .bookings-table tbody td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: .68rem;
        font-weight: 800;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    .bookings-table tbody td:last-child {
        border-bottom: 0;
    }

    .bookings-table .badge {
        justify-self: start;
        max-width: 100%;
        white-space: normal;
    }
    .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .site-footer { flex-direction: column; }
}
@media (max-width: 22rem) { .site-header__nav { display: grid; gap: var(--space-2); } .progress { grid-template-columns: repeat(2,minmax(0,1fr)); } .metric-grid { grid-template-columns: 1fr; } .app-content { padding-inline: var(--space-3); } }
@media (prefers-reduced-motion: no-preference) { a,button,.button,input,select,textarea,.app-sidebar { transition: color .15s ease,background-color .15s ease,border-color .15s ease,outline-color .15s ease,transform .2s ease; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto!important; animation-duration: .001ms!important; animation-iteration-count: 1!important; transition-duration: .001ms!important; } }
@media print { .site-header,.site-footer,.actions,.progress,.app-sidebar,.app-header,.toolbar { display: none; } body,.page-shell,.application-root,.app-content { background: #fff; } .app-shell { display: block; } .card,.table-scroll { max-width: none; border: 0; box-shadow: none; } }

.manual-space-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 16px;
}

.manual-space-option {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--border, #d7dee7);
    border-radius: 12px;
    background: #fff;
}

.manual-space-option__selector {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    cursor: pointer;
}

.manual-space-option__selector input {
    width: auto;
    margin: 0;
}

.manual-space-option__label {
    margin: 0 0 6px;
    font-weight: 700;
}

.manual-space-option__price {
    margin: 14px 0 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.manual-space-option__amount {
    display: block;
    margin-top: 14px;
}

.manual-space-option__amount input {
    margin-top: 6px;
}

@media (max-width: 720px) {
    .manual-space-grid {
        grid-template-columns: 1fr;
    }
}

/* Back office — creazione prenotazione: respiro e gerarchia aree */
.booking-manual-availability {
    margin-top: 28px;
}

.booking-manual-availability > h3 {
    margin-bottom: 10px;
}

.booking-manual-availability > .meta {
    margin-bottom: 20px;
    line-height: 1.55;
}

.manual-space-grid {
    gap: 22px;
    margin-top: 20px;
    margin-bottom: 24px;
}

.manual-space-option {
    padding: 24px;
}

.manual-space-option__selector {
    gap: 12px;
    margin-bottom: 16px;
}

.manual-space-option__label {
    margin: 0 0 12px;
    line-height: 1.4;
}

.manual-space-option > .meta {
    margin: 0 0 18px;
    line-height: 1.55;
}

.manual-space-option__price {
    margin-top: 20px;
}

.manual-space-option__amount {
    margin-top: 20px;
}

.manual-space-option__amount input {
    margin-top: 8px;
}

.booking-manual-availability .actions {
    margin-top: 6px;
}

/* Back office — corpo interno del workflow Crea prenotazione */
#manual-booking > summary {
    margin: 0;
}

.manual-booking-body {
    padding: 24px;
}

.manual-booking-body > .meta:first-child {
    margin-top: 0;
    margin-bottom: 22px;
}

.manual-booking-body .booking-manual-availability {
    margin-top: 30px;
}

.manual-booking-body .manual-space-grid {
    margin-bottom: 26px;
}

.manual-booking-body > form:last-child,
.manual-booking-body .booking-manual-availability form {
    margin-bottom: 0;
}

.manual-booking-body .actions {
    margin-bottom: 0;
}

@media (max-width: 720px) {
    .manual-booking-body {
        padding: 18px;
    }
}

/* Back office — workflow prenotazione manuale / servizi */
.manual-booking-step {
    margin-top: 30px;
    padding-top: 26px;
    border-top: 1px solid var(--border, #d7dee7);
}

.manual-booking-step > h3 {
    margin: 0 0 8px;
}

.manual-booking-step > .meta {
    margin: 0 0 20px;
}

.manual-service-list {
    display: grid;
    gap: 12px;
    margin-bottom: 24px;
}

.manual-service-option {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    border: 1px solid var(--border, #d7dee7);
    border-radius: 10px;
    background: #fff;
}

.manual-service-option__content {
    min-width: 0;
}

.manual-service-option__content > strong {
    display: block;
    margin-bottom: 4px;
}

.manual-service-option__content p {
    margin-bottom: 0;
}

.manual-service-option__controls {
    flex: 0 0 190px;
}

.manual-service-option__controls > strong {
    display: block;
    margin-bottom: 8px;
}

@media (max-width: 720px) {
    .manual-service-option {
        display: block;
    }

    .manual-service-option__controls {
        margin-top: 14px;
    }
}

/* BKG-11A/2 — ZenoSuite Booking shell */

.app-shell {
    grid-template-columns:
        var(--sidebar-width)
        minmax(0, 1fr);
    background:
        linear-gradient(
            180deg,
            #f8fafc 0%,
            var(--canvas) 100%
        );
}

.app-sidebar {
    isolation: isolate;
    border-right: 1px solid rgba(255, 255, 255, .10);
    color: #fff;
    box-shadow:
        10px 0 32px rgba(6, 27, 78, .08);
}

.app-sidebar:not(.app-sidebar--platform) {
    background:
        radial-gradient(
            circle at 18% 4%,
            rgba(15, 135, 148, .24),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            var(--booking-sidebar) 0%,
            var(--booking-sidebar-mid) 52%,
            var(--booking-sidebar-deep) 100%
        );
    box-shadow:
        10px 0 32px rgba(6, 63, 73, .10);
}

.app-sidebar__brand {
    padding: 1.05rem .8rem .95rem;
    border-bottom:
        1px solid rgba(255, 255, 255, .11);
}

.app-sidebar__identity {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 2.65rem;
}

.app-sidebar__brand-lockup {
    min-width: 0;
    flex: 1;
    overflow: hidden;
}

.app-sidebar .brand-lockup {
    color: #fff;
}

.app-sidebar .brand-lockup__product {
    font-size: 1.14rem;
    letter-spacing: -.025em;
}

.app-sidebar .brand-lockup__suite {
    color: #85dde2;
    font-size: .68rem;
    letter-spacing: .04em;
}

.app-sidebar__tenant {
    overflow: hidden;
    margin: .65rem .35rem 0 !important;
    color: rgba(255, 255, 255, .65) !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-compact-mark {
    display: none !important;
    width: 2.35rem;
    height: 2.35rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(133, 221, 226, .38);
    border-radius: .72rem;
    background: rgba(15, 135, 148, .22);
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 850;
    line-height: 1;
}

.sidebar-collapse-button {
    flex: 0 0 2.4rem;
    width: 2.4rem;
    min-height: 2.4rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: .7rem;
    background: rgba(255, 255, 255, .055);
    color: rgba(255, 255, 255, .78);
}

.sidebar-collapse-button:hover {
    border-color: rgba(133, 221, 226, .48);
    background: rgba(15, 135, 148, .20);
    color: #fff;
}

.sidebar-collapse-button svg {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.sidebar-collapse-button__chevron {
    transform-origin: center;
}

.side-nav {
    padding: .72rem .62rem 1.5rem;
}

.side-nav__group {
    margin-bottom: 1.1rem;
}

.side-nav__group h2 {
    margin-bottom: .26rem;
    padding: 0 .64rem;
    color: rgba(255, 255, 255, .43);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .115em;
}

.side-nav a {
    position: relative;
    display: grid;
    grid-template-columns: 1.32rem minmax(0, 1fr);
    gap: .68rem;
    align-items: center;
    min-height: 2.6rem;
    margin: .12rem 0;
    padding: .55rem .68rem;
    border: 1px solid transparent;
    border-radius: .62rem;
    color: rgba(255, 255, 255, .77);
    font-size: .82rem;
    font-weight: 650;
}

.side-nav a:hover {
    border-color: rgba(255, 255, 255, .075);
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

.app-sidebar:not(.app-sidebar--platform)
.side-nav a[aria-current="page"] {
    border-color: rgba(133, 221, 226, .25);
    background:
        linear-gradient(
            90deg,
            rgba(15, 135, 148, .34),
            rgba(15, 135, 148, .10)
        );
    color: #fff;
    box-shadow:
        inset 3px 0 0 #62d1d8;
}

.side-nav__icon {
    display: inline-flex;
    width: 1.3rem;
    height: 1.3rem;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, .65);
}

.side-nav__icon svg {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.75;
}

.app-sidebar:not(.app-sidebar--platform)
.side-nav a[aria-current="page"] .side-nav__icon {
    color: #86e2e6;
}

.side-nav__label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-scrim {
    display: none;
}

/* Stato compatto desktop */

body.sidebar-collapsed .app-shell {
    grid-template-columns:
        var(--sidebar-collapsed-width)
        minmax(0, 1fr);
}

body.sidebar-collapsed .app-sidebar__brand {
    padding-inline: .55rem;
}

body.sidebar-collapsed .app-sidebar__brand-lockup,
body.sidebar-collapsed .app-sidebar__tenant,
body.sidebar-collapsed .side-nav__group h2,
body.sidebar-collapsed .side-nav__label {
    display: none;
}

body.sidebar-collapsed .sidebar-compact-mark {
    display: inline-flex !important;
}

body.sidebar-collapsed .app-sidebar__identity {
    flex-direction: column;
    gap: .45rem;
}

body.sidebar-collapsed .sidebar-collapse-button {
    width: 2.35rem;
    flex-basis: 2.35rem;
}

body.sidebar-collapsed
.sidebar-collapse-button__chevron {
    transform: rotate(180deg);
}

body.sidebar-collapsed .side-nav {
    padding-inline: .48rem;
}

body.sidebar-collapsed .side-nav__group {
    margin-bottom: .6rem;
}

body.sidebar-collapsed .side-nav a {
    grid-template-columns: 1fr;
    justify-items: center;
    padding-inline: .42rem;
}

body.sidebar-collapsed
.app-sidebar:not(.app-sidebar--platform)
.side-nav a[aria-current="page"] {
    box-shadow:
        inset 0 -3px 0 #62d1d8;
}

/* Shell principale */

.app-header {
    border-bottom: 1px solid #dce4ed;
    background: rgba(255, 255, 255, .965);
    box-shadow:
        0 1px 0 rgba(6, 27, 78, .025);
    backdrop-filter: blur(14px);
}

.app-content {
    width: min(94rem, 100%);
}

.page-header {
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--line);
}

.breadcrumb {
    color: var(--booking-accent-strong);
    font-weight: 780;
    letter-spacing: .025em;
}

.metric-card {
    border-color: #dce4ed;
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .055);
}

.metric-card strong {
    color: var(--zeno-navy-mid);
}
/* BKG-11A/2b — responsive shell */

/* Tooltip della sidebar compatta */
@media (min-width: 48.0625rem) {
    body.sidebar-collapsed .side-nav a::after,
    body.sidebar-collapsed .sidebar-collapse-button::after {
        position: fixed;
        z-index: 100;
        left: calc(
            var(--sidebar-collapsed-width) + .55rem
        );
        display: none;
        max-width: 16rem;
        padding: .5rem .65rem;
        border: 1px solid rgba(255, 255, 255, .12);
        border-radius: .48rem;
        background: var(--booking-sidebar);
        color: #fff;
        box-shadow:
            0 .75rem 1.8rem rgba(6, 27, 78, .22);
        content: attr(data-tooltip);
        font-size: .75rem;
        font-weight: 700;
        line-height: 1.25;
        pointer-events: none;
        white-space: nowrap;
    }

    body.sidebar-collapsed .side-nav a:hover::after,
    body.sidebar-collapsed .side-nav a:focus-visible::after,
    body.sidebar-collapsed
    .sidebar-collapse-button:hover::after,
    body.sidebar-collapsed
    .sidebar-collapse-button:focus-visible::after {
        display: block;
    }
}

/* Tablet / notebook compatti */
@media (max-width: 64rem) and (min-width: 48.0625rem) {
    :root {
        --sidebar-width: 15.5rem;
    }

    .app-content {
        padding-inline: 1.35rem;
    }

    .side-nav a {
        gap: .58rem;
        padding-inline: .6rem;
        font-size: .8rem;
    }

    .app-sidebar__brand {
        padding-inline: .7rem;
    }

    .page-header {
        align-items: flex-start;
    }
}

/* Mobile e tablet verticali */
@media (max-width: 48rem) {
    .app-shell,
    body.sidebar-collapsed .app-shell {
        display: block;
    }

    body.sidebar-collapsed
    .app-sidebar__brand-lockup {
        display: block;
    }

    body.sidebar-collapsed
    .app-sidebar__tenant,
    body.sidebar-collapsed
    .side-nav__group h2,
    body.sidebar-collapsed
    .side-nav__label {
        display: block;
    }

    body.sidebar-collapsed
    .sidebar-compact-mark {
        display: none !important;
    }

    body.sidebar-collapsed
    .app-sidebar__identity {
        flex-direction: row;
    }

    body.sidebar-collapsed
    .side-nav a {
        grid-template-columns:
            1.32rem minmax(0, 1fr);
        justify-items: stretch;
        padding-inline: .68rem;
    }

    .sidebar-collapse-button {
        display: none;
    }

    .has-js .app-sidebar {
        position: fixed;
        z-index: 60;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(20rem, 88vw);
        height: 100dvh;
        overflow-y: auto;
        border-right: 0;
        transform: translateX(-105%);
        box-shadow:
            1.25rem 0 3rem rgba(6, 27, 78, .25);
    }

    .has-js .app-sidebar.is-open {
        transform: translateX(0);
    }

    .has-js .menu-toggle {
        display: inline-flex;
    }

    .sidebar-scrim {
        position: fixed;
        z-index: 55;
        inset: 0;
        width: 100%;
        min-height: 100%;
        padding: 0;
        border: 0;
        border-radius: 0;
        background:
            rgba(3, 13, 34, .48);
        backdrop-filter: blur(2px);
    }

    body.mobile-navigation-open {
        overflow: hidden;
    }

    body.mobile-navigation-open
    .sidebar-scrim {
        display: block;
    }

    .app-header {
        min-height: 4rem;
        gap: .75rem;
        padding:
            .65rem .9rem;
    }

    .app-header__context {
        flex: 1;
    }

    .app-header__context strong {
        font-size: .9rem;
    }

    .app-header__context span {
        margin-top: .1rem;
    }

    .app-header__actions {
        gap: .4rem;
    }

    .app-content {
        width: 100%;
        padding:
            1.05rem .9rem 1.6rem;
    }

    .page-header {
        gap: .8rem;
        margin-bottom: 1rem;
        padding-bottom: 1rem;
    }

    .page-header__actions {
        display: grid;
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(9rem, 1fr)
            );
        width: 100%;
    }

    .page-header__actions > * {
        width: 100%;
    }

    .metric-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
        gap: .75rem;
    }

    .metric-card {
        padding: 1rem;
    }

    .metric-card strong {
        font-size: 1.6rem;
    }

    .dashboard-grid {
        gap: 1rem;
    }

    .toolbar {
        gap: .8rem;
        padding: 1rem;
    }

    .calendar-day {
        gap: .75rem;
    }

    .calendar-event {
        gap: .55rem .8rem;
    }
}

/* Telefoni */
@media (max-width: 36rem) {
    .app-header {
        padding-inline: .75rem;
    }

    .app-header__actions {
        margin-left: 0;
    }

    .app-content {
        padding-inline: .75rem;
    }

    .app-sidebar__brand {
        padding:
            .9rem .75rem .85rem;
    }

    .side-nav {
        padding-inline: .55rem;
    }

    .page-header__actions {
        grid-template-columns: 1fr;
    }

    .metric-grid {
        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );
    }

    .metric-card span {
        font-size: .78rem;
    }
}

/* Telefoni molto stretti */
@media (max-width: 24rem) {
    .metric-grid {
        grid-template-columns: 1fr;
    }

    .app-header__context span {
        display: none;
    }

    .menu-toggle {
        padding-inline: .75rem;
    }

    .app-content {
        padding-inline: .65rem;
    }
}

/* BKG-11A/3b — professional dashboard */

.app-header__menu {
    gap: .45rem;
}

.app-header__menu svg {
    width: 1.1rem;
    height: 1.1rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-width: 1.8;
}

.app-header__context strong {
    color: var(--zeno-navy);
    font-weight: 820;
    letter-spacing: -.01em;
}

.app-header__context span {
    margin-top: .08rem;
}

.page-header__copy {
    min-width: 0;
}

.page-header__copy h1 {
    margin-bottom: .35rem;
}

/* KPI */

.metric-grid {
    gap: 1rem;
}

.metric-card {
    position: relative;
    overflow: hidden;
    min-height: 8.7rem;
    padding: 1.15rem 1.2rem 1rem;
    border-color: #dce5ee;
    border-radius: .9rem;
    background:
        linear-gradient(
            180deg,
            #fff 0%,
            #fbfcfe 100%
        );
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .055);
}

.metric-card::after {
    position: absolute;
    right: -1.8rem;
    bottom: -2.3rem;
    width: 6.5rem;
    height: 6.5rem;
    border-radius: 50%;
    background:
        rgba(15, 135, 148, .045);
    content: "";
}

.metric-card__header {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .6rem;
}

.metric-card__header > span:first-child {
    max-width: 11rem;
    color: var(--muted);
    font-size: .78rem;
    font-weight: 760;
    line-height: 1.3;
}

.metric-card__indicator {
    flex: 0 0 .55rem;
    width: .55rem;
    height: .55rem;
    margin-top: .16rem;
    border-radius: 50%;
    background: var(--booking-accent);
    box-shadow:
        0 0 0 .25rem
        rgba(15, 135, 148, .10);
}

.metric-card > strong {
    position: relative;
    z-index: 1;
    margin: 1rem 0 .35rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.8rem, 3vw, 2.25rem);
    font-weight: 850;
    letter-spacing: -.045em;
}

.metric-card small {
    position: relative;
    z-index: 1;
    display: block;
    color: #7a8998;
    font-size: .72rem;
}

.metric-card--awaiting-payment
.metric-card__indicator,
.metric-card--document-failures
.metric-card__indicator {
    background: #d97706;
    box-shadow:
        0 0 0 .25rem
        rgba(217, 119, 6, .10);
}

.metric-card--paid
.metric-card__indicator,
.metric-card--confirmed
.metric-card__indicator {
    background: var(--success);
    box-shadow:
        0 0 0 .25rem
        rgba(23, 98, 55, .10);
}

/* Pannelli dashboard */

.dashboard-grid {
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(17rem, .72fr);
    gap: 1rem;
    margin-top: 1rem;
}

.dashboard-primary,
.dashboard-actions {
    border-color: #dce5ee;
    box-shadow:
        0 8px 26px rgba(6, 27, 78, .05);
}

.dashboard-primary {
    padding:
        clamp(1.15rem, 2.5vw, 1.6rem);
}

.dashboard-actions {
    align-self: start;
    padding:
        clamp(1.15rem, 2.5vw, 1.5rem);
    background:
        linear-gradient(
            180deg,
            #f8fbfc 0%,
            #f3f7fa 100%
        );
}

.dashboard-actions > h2 {
    margin-top: 0;
    margin-bottom: .4rem;
}

.dashboard-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.dashboard-section-heading h2 {
    margin: 0;
    font-size: 1.25rem;
}

.dashboard-section-heading
.eyebrow {
    margin-bottom: .22rem;
}

.dashboard-section-heading--secondary {
    margin-top: 1.65rem;
    padding-top: 1.35rem;
    border-top: 1px solid var(--line);
}

.dashboard-booking-list li {
    align-items: center;
    min-height: 3.6rem;
    padding: .78rem .2rem;
}

.dashboard-booking {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.dashboard-booking > strong,
.dashboard-booking > a {
    overflow: hidden;
    color: var(--ink);
    font-weight: 780;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-booking > a {
    color: var(--brand-strong);
    text-decoration: none;
}

.dashboard-booking > a:hover {
    text-decoration: underline;
}

.dashboard-booking > span {
    overflow: hidden;
    color: var(--muted);
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-booking__arrow {
    color: var(--booking-accent);
    font-weight: 800;
}

/* Accessi rapidi */

.quick-actions {
    margin-top: 1rem;
    gap: .65rem;
}

.quick-action {
    display: grid;
    grid-template-columns:
        2rem minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .85rem;
    border-color: #dbe4ec;
    border-radius: .7rem;
    background: #fff;
    color: var(--ink);
    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease,
        background-color .15s ease;
}

.quick-action:hover {
    border-color:
        rgba(15, 135, 148, .4);
    background: #fff;
    color: var(--ink);
    box-shadow:
        0 8px 20px
        rgba(6, 27, 78, .07);
    transform: translateY(-1px);
}

.quick-action__index {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: .55rem;
    background:
        var(--booking-accent-soft);
    color:
        var(--booking-accent-strong);
    font-size: .68rem;
    font-weight: 850;
}

.quick-action > span:nth-child(2) {
    min-width: 0;
}

.quick-action strong {
    color: var(--zeno-navy);
    font-size: .84rem;
}

.quick-action
span span {
    color: var(--muted);
    font-size: .73rem;
    line-height: 1.35;
}

.quick-action__arrow {
    color: var(--booking-accent);
    font-size: 1.05rem;
}

/* Responsive dashboard */

@media (max-width: 64rem) {
    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-actions {
        align-self: stretch;
    }

    .quick-actions {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .quick-action {
        grid-template-columns:
            2rem minmax(0, 1fr);
    }

    .quick-action__arrow {
        display: none;
    }
}

@media (max-width: 48rem) {
    .metric-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .metric-card {
        min-height: 8rem;
        padding: 1rem;
    }

    .quick-actions {
        grid-template-columns: 1fr;
    }

    .dashboard-section-heading {
        align-items: flex-start;
    }
}

@media (max-width: 30rem) {
    .metric-grid {
        grid-template-columns: 1fr;
    }

    .metric-card {
        min-height: 0;
    }

    .dashboard-section-heading {
        flex-direction: column;
    }

    .dashboard-section-heading
    .button {
        width: 100%;
    }

    .dashboard-booking-list li {
        align-items: flex-start;
    }
}

/* BKG-11A/4b — authenticated home */

.authenticated-home__workspace {
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(16rem, .65fr);
    gap: 1rem;
}

.authenticated-home__primary,
.authenticated-home__session {
    border-color: #dce5ee;
    box-shadow:
        0 8px 26px rgba(6, 27, 78, .05);
}

.authenticated-home__primary h2,
.authenticated-home__session h2 {
    margin-top: 0;
}

.authenticated-home__features {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.35rem;
}

.authenticated-home__features > div {
    padding: .9rem;
    border: 1px solid #dce5ee;
    border-radius: .7rem;
    background: #f8fbfc;
}

.authenticated-home__features strong,
.authenticated-home__features span {
    display: block;
}

.authenticated-home__features strong {
    color: var(--zeno-navy);
    font-size: .84rem;
}

.authenticated-home__features span {
    margin-top: .25rem;
    color: var(--muted);
    font-size: .74rem;
    line-height: 1.35;
}

.authenticated-home__details {
    margin: 1rem 0 0;
}

.authenticated-home__details > div {
    padding: .8rem 0;
    border-bottom: 1px solid var(--line);
}

.authenticated-home__details > div:last-child {
    border-bottom: 0;
}

.authenticated-home__details dt {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 780;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.authenticated-home__details dd {
    margin: .18rem 0 0;
    color: var(--ink);
    font-size: .86rem;
    font-weight: 720;
}

@media (max-width: 64rem) {
    .authenticated-home__workspace {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 48rem) {
    .authenticated-home__features {
        grid-template-columns: 1fr;
    }
}

/* BKG-11B/4b — public availability calendar */

.availability-calendar {
    margin: 1.35rem 0;
    padding:
        clamp(1rem, 2.5vw, 1.4rem);
    border: 1px solid #dce5ee;
    border-radius: 1rem;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdfe 100%
        );
    box-shadow:
        0 10px 30px rgba(6, 27, 78, .055);
}

.availability-calendar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.availability-calendar__header h2 {
    margin: 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.15rem, 2.5vw, 1.45rem);
    letter-spacing: -.025em;
}

.availability-calendar__header .eyebrow {
    margin-bottom: .2rem;
}

.availability-calendar__navigation {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.availability-calendar__nav {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    padding: .55rem .72rem;
    border: 1px solid #d8e2eb;
    border-radius: .65rem;
    background: #fff;
    color: var(--zeno-navy-mid);
    font-size: .76rem;
    font-weight: 760;
    line-height: 1;
    text-decoration: none;
}

.availability-calendar__nav:hover {
    border-color:
        rgba(15, 135, 148, .45);
    background:
        var(--booking-accent-soft);
    color:
        var(--booking-accent-strong);
}

.availability-calendar__nav.is-disabled {
    opacity: .38;
    cursor: default;
}

.availability-calendar__legend {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    margin-bottom: 1rem;
    padding: .7rem .8rem;
    border-radius: .7rem;
    background: #f6f9fb;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 680;
}

.availability-calendar__legend > span {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
}

.availability-calendar__legend-dot {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    flex: 0 0 .55rem;
    border-radius: 50%;
}

.availability-calendar__legend-dot.is-available {
    background: var(--success);
    box-shadow:
        0 0 0 .2rem
        rgba(23, 98, 55, .10);
}

.availability-calendar__legend-dot.is-partial {
    background: var(--booking-accent);
    box-shadow:
        0 0 0 .2rem
        rgba(15, 135, 148, .10);
}

.availability-calendar__legend-dot.is-unavailable {
    background: #98a5b3;
    box-shadow:
        0 0 0 .2rem
        rgba(82, 97, 112, .08);
}

.availability-calendar__weekdays,
.availability-calendar__grid {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0, 1fr));
    gap: .45rem;
}

.availability-calendar__weekdays {
    margin-bottom: .4rem;
    padding: 0 .15rem;
}

.availability-calendar__weekdays span {
    color: #738191;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

.availability-calendar__blank {
    min-width: 0;
}

.availability-calendar__day {
    position: relative;
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 4.15rem;
    appearance: none;
    align-items: flex-start;
    justify-content: space-between;
    padding: .65rem;
    border: 1px solid #dce5ed;
    border-radius: .72rem;
    background: #fff;
    color: var(--ink);
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.availability-calendar__day:not(:disabled):hover {
    border-color:
        rgba(15, 135, 148, .50);
    background: #f8fcfc;
    color: var(--ink);
    box-shadow:
        0 5px 15px rgba(6, 27, 78, .055);
}

.availability-calendar__day:disabled {
    opacity: 1;
    cursor: not-allowed;
}

.availability-calendar__number {
    position: relative;
    z-index: 1;
    color: var(--zeno-navy);
    font-size: .88rem;
    font-weight: 820;
    line-height: 1;
}


.availability-calendar__day--available {
    border-color: #d3e6da;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f5fbf7 100%
        );
}


.availability-calendar__day--partial {
    border-color: #cce5e8;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f1fafb 100%
        );
}


.availability-calendar__day--unavailable {
    border-color: #e3e8ed;
    background: #f5f7f9;
}

.availability-calendar__day--unavailable
.availability-calendar__number {
    color: #8d99a6;
}


.availability-calendar__day.is-selected {
    border-color: var(--booking-accent-strong);
    background:
        var(--booking-accent-soft);
    box-shadow:
        0 0 0 2px
        rgba(15, 135, 148, .14);
}

.availability-calendar__day.is-selected
.availability-calendar__number {
    color: var(--booking-accent-strong);
}

.availability-calendar__day:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 2px;
}

.availability-calendar__selection {
    margin: .95rem 0 0;
    padding: .72rem .8rem;
    border-left:
        3px solid var(--booking-accent);
    border-radius: .25rem .55rem .55rem .25rem;
    background: var(--booking-accent-soft);
    color: var(--zeno-navy);
    font-size: .78rem;
}

.availability-calendar__selection strong {
    color: var(--booking-accent-strong);
}

.availability-calendar__privacy {
    margin: .65rem 0 0;
    color: #758392;
    font-size: .68rem;
    line-height: 1.45;
}

.availability-calendar__fallback {
    margin: 1.2rem 0 1rem;
    padding: 1rem;
    border: 1px solid #e0e7ee;
    border-radius: .75rem;
    background: #f8fafc;
}

.availability-calendar__fallback label {
    margin-top: 0;
}

.availability-calendar__fallback .meta {
    margin: .45rem 0 0;
    color: var(--muted);
    font-size: .7rem;
}

/* Tablet */

@media (max-width: 48rem) {
    .availability-calendar {
        margin: 1.1rem 0;
        padding: 1rem;
        border-radius: .85rem;
    }

    .availability-calendar__header {
        align-items: flex-start;
    }

    .availability-calendar__navigation {
        flex: 0 0 auto;
    }

    .availability-calendar__nav {
        width: 2.6rem;
        min-height: 2.6rem;
        padding: .5rem;
    }

    .availability-calendar__nav span:not([aria-hidden="true"]) {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .availability-calendar__day {
        min-height: 3.65rem;
        padding: .55rem;
        border-radius: .62rem;
    }

    .availability-calendar__weekdays,
    .availability-calendar__grid {
        gap: .32rem;
    }
}

/* Smartphone */

@media (max-width: 36rem) {
    .availability-calendar {
        padding: .85rem;
    }

    .availability-calendar__header {
        margin-bottom: .8rem;
    }

    .availability-calendar__legend {
        gap: .45rem .75rem;
        padding: .65rem;
    }

    .availability-calendar__weekdays,
    .availability-calendar__grid {
        gap: .22rem;
    }

    .availability-calendar__weekdays span {
        font-size: .58rem;
    }

    .availability-calendar__day {
        min-height: 3.15rem;
        padding: .42rem;
        border-radius: .52rem;
    }

    .availability-calendar__number {
        font-size: .78rem;
    }

}

/* Schermi molto stretti */

@media (max-width: 24rem) {
    .availability-calendar {
        padding: .7rem;
    }

    .availability-calendar__header h2 {
        font-size: 1.05rem;
    }

    .availability-calendar__nav {
        width: 2.35rem;
        min-height: 2.35rem;
    }

    .availability-calendar__legend {
        display: grid;
        grid-template-columns: 1fr;
    }

    .availability-calendar__weekdays,
    .availability-calendar__grid {
        gap: .16rem;
    }

    .availability-calendar__day {
        min-height: 2.8rem;
        padding: .34rem;
    }
}

/* BKG-11B/5b — public booking entry */

.public-entry {
    width: min(100%, 70rem);
    margin: 0 auto;
}

.public-entry__hero {
    position: relative;
    display: grid;
    grid-template-columns:
        minmax(0, 1.3fr)
        minmax(17rem, .7fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    overflow: hidden;
    padding:
        clamp(1.6rem, 4vw, 3rem);
    border: 1px solid #dce7ef;
    border-radius: 1.2rem;
    background:
        radial-gradient(
            circle at 92% 5%,
            rgba(15, 135, 148, .14),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7fbfd 58%,
            #edf7f8 100%
        );
    box-shadow:
        0 20px 48px rgba(6, 27, 78, .08);
}

.public-entry__hero::before {
    content: "";
    position: absolute;
    width: 12rem;
    height: 12rem;
    right: -5rem;
    bottom: -6rem;
    border:
        1.5rem solid rgba(15, 135, 148, .045);
    border-radius: 50%;
    pointer-events: none;
}

.public-entry__hero-copy {
    position: relative;
    z-index: 1;
}

.public-entry__hero .eyebrow {
    margin-bottom: .5rem;
    color: var(--booking-accent-strong);
}

.public-entry__hero h1 {
    max-width: 16ch;
    margin:
        0 0 .85rem;
    color: var(--zeno-navy);
    font-size:
        clamp(2rem, 5vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.public-entry__hero .lede {
    max-width: 42rem;
    margin: 0;
    color: #536575;
    font-size:
        clamp(.95rem, 1.6vw, 1.08rem);
    line-height: 1.65;
}

.public-entry__assurance {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .65rem;
    padding: .8rem;
    border: 1px solid rgba(6, 27, 78, .08);
    border-radius: .95rem;
    background: rgba(255, 255, 255, .78);
    box-shadow:
        0 12px 28px rgba(6, 27, 78, .055);
    backdrop-filter: blur(8px);
}

.public-entry__assurance > span {
    display: grid;
    grid-template-columns: 2.2rem 1fr;
    gap: .7rem;
    align-items: center;
    min-height: 3.25rem;
    padding: .65rem .75rem;
    border-radius: .7rem;
    color: var(--zeno-navy);
    font-size: .8rem;
    font-weight: 720;
}

.public-entry__assurance > span + span {
    border-top: 1px solid #e6edf2;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.public-entry__assurance strong {
    display: inline-flex;
    width: 2.05rem;
    height: 2.05rem;
    align-items: center;
    justify-content: center;
    border-radius: .6rem;
    background: var(--booking-accent-soft);
    color: var(--booking-accent-strong);
    font-size: .7rem;
    font-weight: 850;
}

.public-entry__content {
    padding:
        clamp(1.5rem, 4vw, 2.6rem)
        clamp(.1rem, 1vw, .5rem);
}

.public-entry__section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 1.15rem;
}

.public-entry__section-heading h2 {
    margin: .15rem 0 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.45rem, 3vw, 1.9rem);
    letter-spacing: -.035em;
}

.public-entry__section-heading > p {
    max-width: 28rem;
    margin: 0;
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.5;
    text-align: right;
}

.public-entry__locations {
    display: grid;
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
    gap: 1rem;
}

.public-entry__location {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding:
        clamp(1rem, 2.5vw, 1.35rem);
    border: 1px solid #dce5ed;
    border-radius: 1rem;
    background: #fff;
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .045);
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.public-entry__location:hover {
    border-color:
        rgba(15, 135, 148, .38);
    box-shadow:
        0 16px 36px rgba(6, 27, 78, .075);
    transform: translateY(-2px);
}

.public-entry__location-top {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
}

.public-entry__location-mark {
    display: inline-flex;
    width: 2.8rem;
    height: 2.8rem;
    flex: 0 0 2.8rem;
    align-items: center;
    justify-content: center;
    border-radius: .8rem;
    background: var(--booking-accent-soft);
    color: var(--booking-accent-strong);
}

.public-entry__location-mark svg {
    width: 1.35rem;
    height: 1.35rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-entry__location h3 {
    margin: .12rem 0 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.05rem, 2vw, 1.25rem);
    letter-spacing: -.02em;
}

.public-entry__location .eyebrow {
    margin: 0;
    color: var(--booking-accent-strong);
}

.public-entry__address {
    min-height: 2.8rem;
    margin: 1rem 0;
    padding-left: 3.65rem;
    color: var(--muted);
    font-size: .76rem;
    line-height: 1.55;
}

.public-entry__location-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid #edf1f4;
}

.public-entry__availability {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #637383;
    font-size: .7rem;
    font-weight: 700;
}

.public-entry__availability i {
    display: block;
    width: .5rem;
    height: .5rem;
    flex: 0 0 .5rem;
    border-radius: 50%;
    background: var(--booking-accent);
    box-shadow:
        0 0 0 .2rem
        rgba(15, 135, 148, .10);
}

.public-entry__location-footer .button {
    flex: 0 0 auto;
}

.public-entry__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding:
        1rem .4rem .2rem;
    border-top: 1px solid #e4eaf0;
    color: #7a8794;
    font-size: .68rem;
}

.public-entry__footer span:first-child {
    color: var(--zeno-navy);
    font-weight: 760;
}

/* Tablet */

@media (max-width: 56rem) {
    .public-entry__hero {
        grid-template-columns: 1fr;
    }

    .public-entry__hero h1 {
        max-width: 20ch;
    }

    .public-entry__assurance {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .public-entry__assurance > span {
        grid-template-columns: 1fr;
        justify-items: center;
        min-height: 5.5rem;
        text-align: center;
    }

    .public-entry__assurance > span + span {
        border-top: 0;
        border-left: 1px solid #e6edf2;
        border-radius: .7rem;
    }
}

/* Smartphone */

@media (max-width: 48rem) {
    .public-entry__hero {
        padding: 1.4rem 1.15rem;
        border-radius: 1rem;
    }

    .public-entry__hero h1 {
        max-width: none;
        font-size: clamp(1.85rem, 9vw, 2.6rem);
    }

    .public-entry__section-heading {
        display: block;
    }

    .public-entry__section-heading > p {
        max-width: none;
        margin-top: .5rem;
        text-align: left;
    }

    .public-entry__locations {
        grid-template-columns: 1fr;
    }

    .public-entry__address {
        min-height: 0;
    }
}

@media (max-width: 36rem) {
    .public-entry__assurance {
        grid-template-columns: 1fr;
    }

    .public-entry__assurance > span {
        grid-template-columns: 2.2rem 1fr;
        justify-items: initial;
        min-height: 3.25rem;
        text-align: left;
    }

    .public-entry__assurance > span + span {
        border-top: 1px solid #e6edf2;
        border-left: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
    }

    .public-entry__address {
        padding-left: 0;
    }

    .public-entry__location-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .public-entry__location-footer .button {
        width: 100%;
    }

    .public-entry__footer {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

@media (max-width: 24rem) {
    .public-entry__hero {
        padding: 1.1rem .9rem;
    }

    .public-entry__content {
        padding-top: 1.2rem;
    }

    .public-entry__location {
        padding: .9rem;
    }

    .public-entry__location-mark {
        width: 2.45rem;
        height: 2.45rem;
        flex-basis: 2.45rem;
    }
}

/* BKG-11B/6a — professional public wizard */

/*
 * Il wizard pubblico mantiene intatto il flusso server-side.
 * Questo layer interviene soltanto sulla presentazione.
 */

.booking-layout {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(15.5rem, 18rem);
    gap: clamp(1rem, 2.5vw, 1.5rem);
}

.booking-layout__main {
    padding: clamp(1rem, 2.5vw, 1.5rem);
    border: 1px solid #dce5ed;
    border-radius: 1rem;
    background: #fff;
    box-shadow:
        0 12px 34px rgba(6, 27, 78, .055);
}

/* Progressione */

.progress {
    position: relative;
    gap: .45rem;
    margin: 0 0 1.15rem;
}

.progress li {
    position: relative;
    min-height: 3.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .6rem .45rem;
    border-color: #dde5ec;
    border-radius: .65rem;
    background: #f8fafc;
    color: #687786;
    font-size: .67rem;
    font-weight: 760;
    line-height: 1.25;
}

.progress li[aria-current="step"] {
    border-color: var(--booking-accent);
    background:
        linear-gradient(
            135deg,
            var(--booking-accent-strong),
            var(--booking-accent)
        );
    color: #fff;
    box-shadow:
        0 6px 16px rgba(15, 135, 148, .16);
}

.progress li.is-complete {
    border-color: #cfe1d5;
    background: #f2faf5;
    color: #315d45;
}

/* Fieldset / intestazioni step */

.booking-layout__main form > fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.booking-layout__main form > fieldset > legend {
    width: 100%;
    margin: 0 0 .45rem;
    padding: 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.3rem, 2.7vw, 1.7rem);
    font-weight: 820;
    line-height: 1.15;
    letter-spacing: -.03em;
}

.booking-layout__main form > fieldset > legend + .meta,
.booking-layout__main form > fieldset > legend + .info {
    margin-top: .35rem;
}

.booking-layout__main .info[role="status"] {
    margin: 0 0 1rem;
    padding: .75rem .9rem;
    border: 1px solid #cfe5e7;
    border-left: 3px solid var(--booking-accent);
    border-radius: .55rem;
    background: #f3fafb;
    color: #365d64;
    font-size: .75rem;
    line-height: 1.5;
}

/* Card aree e servizi */

.booking-layout__main .option-grid {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.booking-layout__main .option-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dce5ed;
    border-radius: .8rem;
    background: #fff;
    box-shadow:
        0 5px 16px rgba(6, 27, 78, .035);
    transition:
        border-color .16s ease,
        background .16s ease,
        box-shadow .16s ease;
}

.booking-layout__main .option-card:hover {
    border-color:
        rgba(15, 135, 148, .35);
    box-shadow:
        0 9px 22px rgba(6, 27, 78, .055);
}

.booking-layout__main .option-card:has(input:checked) {
    border-color: var(--booking-accent);
    background: #f2fafb;
    box-shadow:
        0 0 0 1px
        rgba(15, 135, 148, .18);
}

.booking-layout__main .option-card.is-unavailable {
    border-color: #e1e6eb;
    background: #f4f6f8;
    box-shadow: none;
}

.booking-layout__main .option-card.is-unavailable:hover {
    border-color: #e1e6eb;
    box-shadow: none;
}

.booking-layout__main .option-card h3 {
    margin: 0 0 .3rem;
    color: var(--zeno-navy);
    font-size: 1rem;
    letter-spacing: -.015em;
}

.booking-layout__main .option-card p {
    line-height: 1.5;
}

.booking-layout__main .option-card > p.meta,
.booking-layout__main .option-card small {
    color: #6d7b89;
    font-size: .7rem;
}

/* Selezioni */

.booking-layout__main .choice {
    display: flex;
    gap: .65rem;
    align-items: flex-start;
    margin: 0;
    color: var(--zeno-navy);
    cursor: pointer;
}

.booking-layout__main .choice input {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 1.05rem;
    margin: .08rem 0 0;
    accent-color: var(--booking-accent);
}

.booking-layout__main .choice span {
    min-width: 0;
    line-height: 1.4;
}

/* Campi quantità/importi dentro card */

.booking-layout__main .option-card label:not(.choice) {
    margin-top: .8rem;
    color: var(--zeno-navy);
    font-size: .72rem;
    font-weight: 760;
}

.booking-layout__main .option-card input[type="number"],
.booking-layout__main .option-card input[type="text"] {
    margin-top: .35rem;
    background: #fff;
}

/* Dati cliente */

.booking-layout__main .field-grid {
    gap: .85rem 1rem;
    margin-top: 1rem;
}

.booking-layout__main .field-grid > div {
    min-width: 0;
}

.booking-layout__main .field-grid label {
    color: var(--zeno-navy);
    font-size: .72rem;
    font-weight: 760;
}

.booking-layout__main .field-grid input {
    margin-top: .32rem;
    background: #fbfcfd;
}

.booking-layout__main .field-grid input:focus {
    background: #fff;
}

/* Linee guida */

.booking-layout__main #guidelines .option-card {
    margin-top: .8rem;
}

.booking-layout__main #guidelines .option-card > p {
    max-height: 15rem;
    overflow: auto;
    margin: .65rem 0 .9rem;
    padding: .8rem;
    border: 1px solid #e4eaef;
    border-radius: .55rem;
    background: #f8fafc;
    color: #455666;
    font-size: .77rem;
    line-height: 1.6;
}

.booking-layout__main #guidelines .choice {
    padding-top: .75rem;
    border-top: 1px solid #e8edf1;
    font-weight: 700;
}

/* Azioni */

.booking-layout__main form > .actions,
.booking-layout__main > .actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid #e6ebf0;
}

.booking-layout__main form > .actions button:first-child {
    min-width: 12rem;
}

/* Riepilogo */

.booking-layout__main > h2#summary {
    margin: 0 0 .45rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.4rem, 3vw, 1.8rem);
    letter-spacing: -.035em;
}

.booking-layout__main > h2:not(#summary) {
    margin: 1.35rem 0 .45rem;
    color: var(--zeno-navy);
    font-size: 1rem;
}

.booking-layout__main > .summary-list {
    padding: .35rem .9rem;
    border: 1px solid #e0e7ed;
    border-radius: .72rem;
    background: #fbfcfd;
}

.booking-layout__main > .summary-list li {
    min-width: 0;
    padding: .72rem 0;
}

.booking-layout__main > .summary-list li:last-child {
    border-bottom: 0;
}

.booking-layout__main > .summary-list span {
    color: #697987;
    font-size: .72rem;
}

.booking-layout__main > .summary-list strong {
    max-width: 60%;
    color: var(--zeno-navy);
    font-size: .77rem;
    overflow-wrap: anywhere;
}

.booking-layout__main .summary-total {
    margin-top: 1rem;
    padding: .85rem 1rem;
    border: 1px solid #cce5e8;
    border-radius: .8rem;
    background:
        linear-gradient(
            135deg,
            #f5fbfc 0%,
            var(--booking-accent-soft) 100%
        );
}

.booking-layout__main .summary-total .summary-list li {
    padding: .55rem 0;
}

.booking-layout__main .summary-total .total {
    margin-top: .2rem;
    padding-top: .8rem;
    border-top: 1px solid
        rgba(15, 135, 148, .2);
    border-bottom: 0;
}

.booking-layout__main .summary-total .total span,
.booking-layout__main .summary-total .total strong {
    color: var(--zeno-navy);
    font-size: .95rem;
    font-weight: 850;
}

/* Contesto percorso */

.booking-context {
    position: sticky;
    top: 5.6rem;
    padding: 1rem;
    border: 1px solid #dce5ed;
    border-radius: .9rem;
    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #f7fafc 100%
        );
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .045);
}

.booking-context .eyebrow {
    margin-bottom: .2rem;
    color: var(--booking-accent-strong);
}

.booking-context h2 {
    margin: 0 0 .75rem;
    color: var(--zeno-navy);
    font-size: 1rem;
}

.booking-context .summary-list li {
    gap: .7rem;
    padding: .58rem 0;
}

.booking-context .summary-list span {
    color: #73808d;
    font-size: .68rem;
}

.booking-context .summary-list strong {
    max-width: 60%;
    color: var(--zeno-navy);
    font-size: .7rem;
    overflow-wrap: anywhere;
}

.booking-context .summary-list .total {
    margin-top: .2rem;
    padding-top: .75rem;
}

.booking-context > .meta {
    margin: .8rem 0 0;
    padding-top: .7rem;
    border-top: 1px solid #e6ebef;
    color: #7b8793;
    font-size: .65rem;
    line-height: 1.45;
}

/* Tablet */

@media (max-width: 56rem) {
    .booking-layout {
        grid-template-columns: 1fr;
    }

    .booking-context {
        position: static;
        order: -1;
    }

    .booking-context .summary-list {
        display: grid;
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 0 .9rem;
    }
}

/* Mobile */

@media (max-width: 48rem) {
    .booking-layout__main {
        padding: 1rem;
        border-radius: .85rem;
    }

    .progress {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .progress li {
        min-height: 2.85rem;
    }

    .booking-layout__main .option-grid {
        grid-template-columns: 1fr;
    }

    .booking-layout__main form > .actions,
    .booking-layout__main > .actions {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-layout__main form > .actions > *,
    .booking-layout__main > .actions > * {
        width: 100%;
    }

    .booking-layout__main form > .actions button:first-child {
        min-width: 0;
    }
}

/* Smartphone stretto */

@media (max-width: 36rem) {
    .progress {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .booking-context .summary-list {
        grid-template-columns: 1fr;
    }

    .booking-layout__main .summary-list li {
        align-items: flex-start;
        flex-direction: column;
        gap: .2rem;
    }

    .booking-layout__main .summary-list strong,
    .booking-context .summary-list strong {
        max-width: 100%;
        text-align: left;
    }
}

@media (max-width: 24rem) {
    .booking-layout__main {
        padding: .8rem;
    }

    .progress {
        gap: .3rem;
    }

    .progress li {
        padding: .5rem .35rem;
        font-size: .62rem;
    }
}

/* BKG-11B/6c — professional booking summary */

.booking-summary {
    display: grid;
    gap: 1rem;
}

.booking-summary__hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    padding:
        clamp(1.1rem, 3vw, 1.5rem);
    border: 1px solid #d6e6e8;
    border-radius: .9rem;
    background:
        radial-gradient(
            circle at 95% 0%,
            rgba(15, 135, 148, .12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f4fbfc 100%
        );
}

.booking-summary__hero > div:first-child {
    min-width: 0;
    max-width: 42rem;
}

.booking-summary__hero .eyebrow {
    margin-bottom: .25rem;
    color: var(--booking-accent-strong);
}

.booking-summary__hero h2 {
    margin: 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.45rem, 3vw, 1.9rem);
    letter-spacing: -.035em;
}

.booking-summary__hero p:not(.eyebrow) {
    max-width: 44rem;
    margin: .55rem 0 0;
    color: #596b7b;
    font-size: .78rem;
    line-height: 1.55;
}

.booking-summary__total-preview {
    min-width: 11rem;
    flex: 0 0 auto;
    padding: .9rem 1rem;
    border: 1px solid
        rgba(15, 135, 148, .18);
    border-radius: .75rem;
    background: rgba(255, 255, 255, .84);
    text-align: right;
}

.booking-summary__total-preview span {
    display: block;
    color: #71808e;
    font-size: .66rem;
    font-weight: 720;
}

.booking-summary__total-preview strong {
    display: block;
    margin-top: .18rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.25rem, 3vw, 1.65rem);
    letter-spacing: -.035em;
}

.booking-summary__notice {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    padding: .8rem .9rem;
    border: 1px solid #dbe6ec;
    border-radius: .7rem;
    background: #f8fafc;
}

.booking-summary__notice-icon {
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 1.65rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--booking-accent-soft);
    color: var(--booking-accent-strong);
    font-size: .72rem;
    font-weight: 850;
}

.booking-summary__notice p {
    margin: .1rem 0 0;
    color: #5d6d7b;
    font-size: .72rem;
    line-height: 1.5;
}

.booking-summary__grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.booking-summary__section {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dfe6ec;
    border-radius: .8rem;
    background: #fff;
}

.booking-summary__section--wide {
    width: 100%;
}

.booking-summary__section-heading {
    display: flex;
    gap: .7rem;
    align-items: center;
    margin-bottom: .65rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid #e9eef2;
}

.booking-summary__section-heading > span {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    align-items: center;
    justify-content: center;
    border-radius: .58rem;
    background: var(--booking-accent-soft);
    color: var(--booking-accent-strong);
    font-size: .68rem;
    font-weight: 850;
}

.booking-summary__section-heading .eyebrow {
    margin: 0 0 .12rem;
    color: #72808d;
}

.booking-summary__section-heading h3 {
    margin: 0;
    color: var(--zeno-navy);
    font-size: .95rem;
    letter-spacing: -.018em;
}

.booking-summary__section .summary-list li {
    min-width: 0;
    padding: .62rem 0;
}

.booking-summary__section .summary-list li:last-child {
    border-bottom: 0;
}

.booking-summary__section .summary-list span {
    color: #6e7c89;
    font-size: .7rem;
}

.booking-summary__section .summary-list strong {
    max-width: 62%;
    color: var(--zeno-navy);
    font-size: .74rem;
    overflow-wrap: anywhere;
}

.booking-summary__totals {
    margin-top: 0;
    padding: 1rem 1.1rem;
}

.booking-summary__totals-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .45rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid
        rgba(15, 135, 148, .16);
}

.booking-summary__totals-heading .eyebrow {
    margin: 0 0 .1rem;
    color: var(--booking-accent-strong);
}

.booking-summary__totals-heading h3 {
    margin: 0;
    color: var(--zeno-navy);
    font-size: 1rem;
}

.booking-summary__totals-heading > span {
    color: #71808d;
    font-size: .65rem;
    font-weight: 700;
}

.booking-summary__confirmation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1rem;
    border: 1px solid #d8e2e9;
    border-radius: .8rem;
    background: #fbfcfd;
}

.booking-summary__confirmation-copy {
    min-width: 0;
}

.booking-summary__confirmation-copy strong {
    display: block;
    color: var(--zeno-navy);
    font-size: .83rem;
}

.booking-summary__confirmation-copy span {
    display: block;
    margin-top: .2rem;
    color: #6f7d89;
    font-size: .68rem;
    line-height: 1.45;
}

.booking-summary__confirmation > .actions {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    border: 0;
}

.booking-summary__confirmation > .actions button {
    min-width: 0;
}

/* Tablet */

@media (max-width: 48rem) {
    .booking-summary__hero {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-summary__total-preview {
        min-width: 0;
        text-align: left;
    }

    .booking-summary__grid {
        grid-template-columns: 1fr;
    }

    .booking-summary__confirmation {
        align-items: stretch;
        flex-direction: column;
    }

    .booking-summary__confirmation > .actions {
        width: 100%;
    }

    .booking-summary__confirmation > .actions > * {
        width: 100%;
    }
}

/* Smartphone */

@media (max-width: 36rem) {
    .booking-summary__hero,
    .booking-summary__section,
    .booking-summary__totals,
    .booking-summary__confirmation {
        padding: .85rem;
    }

    .booking-summary__section .summary-list li {
        align-items: flex-start;
        flex-direction: column;
        gap: .18rem;
    }

    .booking-summary__section .summary-list strong {
        max-width: 100%;
        text-align: left;
    }

    .booking-summary__totals-heading {
        flex-direction: column;
        gap: .25rem;
    }
}

/* BKG-11C/1b — BO calendar header */

.bo-calendar-header {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: 1rem 1.5rem;
    align-items: center;
    margin-bottom: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #dce5ed;
    border-radius: .9rem;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f5fafc 100%
        );
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .045);
}

.bo-calendar-header__title {
    min-width: 0;
}

.bo-calendar-header__title .eyebrow {
    margin: 0 0 .2rem;
    color: var(--booking-accent-strong);
}

.bo-calendar-header__title h2 {
    margin: 0;
    color: var(--zeno-navy);
    font-size:
        clamp(1.4rem, 2.8vw, 1.8rem);
    letter-spacing: -.035em;
}

.bo-calendar-header__title .meta {
    margin: .35rem 0 0;
}

.bo-calendar-header__metrics {
    display: flex;
    gap: .55rem;
    align-items: stretch;
}

.bo-calendar-header__metrics > span {
    display: flex;
    min-width: 5.7rem;
    flex-direction: column;
    justify-content: center;
    padding: .6rem .75rem;
    border: 1px solid #e0e7ed;
    border-radius: .65rem;
    background: #fff;
    color: #6d7b88;
    font-size: .64rem;
    font-weight: 700;
    text-align: center;
}

.bo-calendar-header__metrics strong {
    display: block;
    margin-bottom: .1rem;
    color: var(--zeno-navy);
    font-size: 1.05rem;
    line-height: 1;
}

.bo-calendar-header__navigation {
    grid-column: 1 / -1;
    display: flex;
    gap: .55rem;
    align-items: center;
    padding-top: .8rem;
    border-top: 1px solid #e6ebef;
}

@media (max-width: 56rem) {
    .bo-calendar-header {
        grid-template-columns: 1fr;
    }

    .bo-calendar-header__metrics {
        justify-content: flex-start;
    }
}

@media (max-width: 36rem) {
    .bo-calendar-header {
        padding: .9rem;
    }

    .bo-calendar-header__metrics {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .bo-calendar-header__metrics > span {
        min-width: 0;
        padding: .55rem .35rem;
    }

    .bo-calendar-header__navigation {
        display: grid;
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .bo-calendar-header__navigation .button {
        width: 100%;
        padding-inline: .45rem;
        font-size: .67rem;
    }
}

/* BKG-11C/2c — BO monthly calendar grid */

.bo-calendar-month {
    margin-bottom: 1.25rem;
    overflow: hidden;
    border: 1px solid #dce5ed;
    border-radius: .9rem;
    background: #fff;
    box-shadow:
        0 8px 24px rgba(6, 27, 78, .04);
}

.bo-calendar-month__weekdays {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid #dce5ed;
    background: #f5f8fa;
}

.bo-calendar-month__weekdays span {
    padding: .65rem .4rem;
    color: #687887;
    font-size: .66rem;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.bo-calendar-month__grid {
    display: grid;
    grid-template-columns:
        repeat(7, minmax(0, 1fr));
    background: #e7edf2;
    gap: 1px;
}

.bo-calendar-month__blank {
    min-height: 8.6rem;
    background: #f7f9fb;
}

.bo-calendar-month__day {
    min-width: 0;
    min-height: 8.6rem;
    padding: .6rem;
    background: #fff;
}

.bo-calendar-month__day.is-today {
    position: relative;
    background:
        linear-gradient(
            180deg,
            #f2fbfc 0%,
            #ffffff 78%
        );
    box-shadow:
        inset 0 0 0 2px
        rgba(15, 135, 148, .28);
}

.bo-calendar-month__day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    padding-bottom: .45rem;
    border-bottom: 1px solid #edf1f4;
}

.bo-calendar-month__day-header time {
    display: inline-flex;
    width: 1.8rem;
    height: 1.8rem;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--zeno-navy);
    font-size: .8rem;
    font-weight: 850;
}

.bo-calendar-month__day.is-today
.bo-calendar-month__day-header time {
    background: var(--booking-accent);
    color: #fff;
}

.bo-calendar-month__today {
    color: var(--booking-accent-strong);
    font-size: .61rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.bo-calendar-month__day-summary {
    display: grid;
    gap: .35rem;
    margin-top: .55rem;
}

.bo-calendar-month__day-summary > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .35rem;
    padding: .38rem .45rem;
    border-radius: .45rem;
    background: #f4f8fa;
    color: #657583;
    font-size: .63rem;
}

.bo-calendar-month__day-summary strong {
    color: var(--zeno-navy);
    font-size: .72rem;
}

.bo-calendar-month__free {
    justify-content: flex-start !important;
    background: transparent !important;
    color: #99a4ae !important;
    font-weight: 650;
}

/* Tablet */

@media (max-width: 64rem) {
    .bo-calendar-month__blank,
    .bo-calendar-month__day {
        min-height: 7.3rem;
    }

    .bo-calendar-month__day {
        padding: .45rem;
    }

    .bo-calendar-month__day-summary > span {
        align-items: flex-start;
        flex-direction: column;
        gap: .05rem;
    }
}

/* Mobile: il calendario diventa agenda a card */

@media (max-width: 48rem) {
    .bo-calendar-month {
        overflow: visible;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .bo-calendar-month__weekdays,
    .bo-calendar-month__blank {
        display: none;
    }

    .bo-calendar-month__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: .65rem;
        background: transparent;
    }

    .bo-calendar-month__day {
        min-height: 6.5rem;
        padding: .7rem;
        border: 1px solid #dce5ed;
        border-radius: .7rem;
        box-shadow:
            0 4px 14px rgba(6, 27, 78, .035);
    }

    .bo-calendar-month__day-summary > span {
        flex-direction: row;
        align-items: center;
    }
}

@media (max-width: 36rem) {
    .bo-calendar-month__grid {
        grid-template-columns: 1fr;
    }

    .bo-calendar-month__day {
        min-height: 0;
    }
}

/* BKG-11C/3b — BO calendar event chips */

.bo-calendar-month__events {
    display: grid;
    gap: .38rem;
    margin-top: .55rem;
    padding-top: .5rem;
    border-top: 1px solid #edf1f4;
}

.bo-calendar-month__event {
    min-width: 0;
    padding: .45rem .5rem;
    border: 1px solid #dfe7ec;
    border-left-width: .22rem;
    border-radius: .5rem;
    background: #fff;
    box-shadow:
        0 2px 7px rgba(6, 27, 78, .025);
}

.bo-calendar-month__event--booking {
    border-left-color: var(--booking-accent);
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f4fbfc 100%
        );
}

.bo-calendar-month__event--block {
    border-color: #ead8d6;
    border-left-color: #b5473c;
    background: #fff8f7;
}

.bo-calendar-month__event-top {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: .35rem;
}

.bo-calendar-month__event-top strong {
    min-width: 0;
    color: var(--zeno-navy);
    font-size: .66rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.bo-calendar-month__event--block
.bo-calendar-month__event-top strong {
    color: #7b302a;
}

.bo-calendar-month__event-top > span {
    flex: 0 0 auto;
    color: #657582;
    font-size: .58rem;
    font-weight: 780;
    white-space: nowrap;
}

.bo-calendar-month__event > span {
    display: block;
    margin-top: .22rem;
    color: #536575;
    font-size: .6rem;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.bo-calendar-month__event > small {
    display: block;
    margin-top: .15rem;
    color: #788590;
    font-size: .56rem;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.bo-calendar-month__event a {
    color: inherit;
    text-decoration: none;
}

.bo-calendar-month__event a:hover {
    color: var(--booking-accent-strong);
    text-decoration: underline;
}

.bo-calendar-month__event--block small {
    color: #86615d;
}

/* Tablet */

@media (max-width: 64rem) {
    .bo-calendar-month__event {
        padding: .4rem;
    }

    .bo-calendar-month__event-top {
        display: block;
    }

    .bo-calendar-month__event-top > span {
        display: block;
        margin-top: .12rem;
    }
}

/* Mobile */

@media (max-width: 48rem) {
    .bo-calendar-month__events {
        gap: .45rem;
    }

    .bo-calendar-month__event {
        padding: .55rem .6rem;
    }

    .bo-calendar-month__event-top {
        display: flex;
    }

    .bo-calendar-month__event-top strong {
        font-size: .72rem;
    }

    .bo-calendar-month__event-top > span {
        display: inline;
        margin-top: 0;
        font-size: .62rem;
    }

    .bo-calendar-month__event > span {
        font-size: .66rem;
    }

    .bo-calendar-month__event > small {
        font-size: .61rem;
    }
}

/* BKG-11C/3d — BO calendar event status */

.bo-calendar-month__event-status {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    align-items: center;
    margin-top: .38rem;
    padding-top: .35rem;
    border-top: 1px solid
        rgba(6, 27, 78, .07);
}

.bo-calendar-month__event-status .badge {
    max-width: 100%;
    padding: .2rem .38rem;
    font-size: .52rem;
    line-height: 1.15;
}

@media (max-width: 48rem) {
    .bo-calendar-month__event-status {
        gap: .32rem;
    }

    .bo-calendar-month__event-status .badge {
        font-size: .57rem;
    }
}

/* BKG-11C/4b — BO calendar operational detail */

.bo-calendar-detail {
    margin-top: 1rem;
    overflow: hidden;
    border: 1px solid #dce5ed;
    border-radius: .9rem;
    background: #fff;
    box-shadow:
        0 6px 20px rgba(6, 27, 78, .035);
}

.bo-calendar-detail__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    cursor: pointer;
    list-style: none;
    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f6fafc 100%
        );
}

.bo-calendar-detail__summary::-webkit-details-marker {
    display: none;
}

.bo-calendar-detail__summary > span:first-child {
    min-width: 0;
}

.bo-calendar-detail__summary strong {
    display: block;
    color: var(--zeno-navy);
    font-size: .82rem;
}

.bo-calendar-detail__summary small {
    display: block;
    margin-top: .18rem;
    color: #72818e;
    font-size: .65rem;
    line-height: 1.4;
}

.bo-calendar-detail__action {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .4rem;
    color: var(--booking-accent-strong);
    font-size: .65rem;
    font-weight: 800;
    white-space: nowrap;
}

.bo-calendar-detail__action::after {
    content: "⌄";
    display: inline-block;
    font-size: .9rem;
    line-height: 1;
    transition: transform .18s ease;
}

.bo-calendar-detail[open]
.bo-calendar-detail__summary {
    border-bottom: 1px solid #dce5ed;
}

.bo-calendar-detail[open]
.bo-calendar-detail__action {
    font-size: 0;
}

.bo-calendar-detail[open]
.bo-calendar-detail__action::before {
    content: "Chiudi dettaglio";
    font-size: .65rem;
}

.bo-calendar-detail[open]
.bo-calendar-detail__action::after {
    transform: rotate(180deg);
}

.bo-calendar-detail .calendar-board {
    margin: 0;
    padding: 1rem;
}

@media (prefers-reduced-motion: reduce) {
    .bo-calendar-detail__action::after {
        transition: none;
    }
}

@media (max-width: 48rem) {
    .bo-calendar-detail__summary {
        align-items: flex-start;
        padding: .85rem;
    }

    .bo-calendar-detail__action {
        padding-top: .08rem;
    }

    .bo-calendar-detail .calendar-board {
        padding: .75rem;
    }
}

@media (max-width: 36rem) {
    .bo-calendar-detail__summary {
        display: grid;
        grid-template-columns: 1fr;
        gap: .55rem;
    }

    .bo-calendar-detail__action {
        justify-self: start;
    }
}

/* BKG-11D/2c — professional authentication */

.auth-card--tenant,
.auth-card--platform {
    border: 1px solid #dce5ed;
    box-shadow:
        0 1.25rem 3.5rem rgba(6, 27, 78, .11);
}

.auth-card--tenant .auth-card__intro {
    position: relative;
    background:
        linear-gradient(
            145deg,
            #063f49 0%,
            #075f6b 58%,
            var(--booking-accent) 100%
        );
}

.auth-card--platform .auth-card__intro {
    position: relative;
    background:
        linear-gradient(
            145deg,
            var(--zeno-navy) 0%,
            var(--zeno-navy-mid) 100%
        );
}

.auth-card--tenant .auth-card__intro::after,
.auth-card--platform .auth-card__intro::after {
    content: "";
    position: absolute;
    right: -5rem;
    bottom: -5rem;
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .06);
    pointer-events: none;
}

.auth-card__identity {
    position: relative;
    z-index: 1;
    margin-top: clamp(2rem, 7vw, 5rem);
    max-width: 27rem;
}

.auth-card__identity h1 {
    margin: .7rem 0 .8rem;
    font-size:
        clamp(1.8rem, 4vw, 2.55rem);
    line-height: 1.05;
    letter-spacing: -.045em;
}

.auth-card__identity > p:last-child {
    max-width: 24rem;
    margin-bottom: 0;
    font-size: .92rem;
    line-height: 1.65;
}

.auth-card__context,
.auth-card--platform .platform-identity {
    display: inline-flex;
    margin: 0;
    padding: .38rem .65rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 99rem;
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .9);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.auth-card__form {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.auth-card__form .eyebrow {
    margin-bottom: .35rem;
}

.auth-card__form h2 {
    margin-top: 0;
    margin-bottom: .35rem;
    color: var(--zeno-navy);
    font-size: 1.65rem;
    letter-spacing: -.035em;
}

.auth-card__form form {
    margin-top: 1.25rem;
}

.auth-card__form label {
    font-weight: 720;
}

.auth-card__form input {
    margin-top: .35rem;
}

.auth-card__form .actions {
    margin-top: 1.35rem;
}

.auth-card__form .actions button {
    min-width: 10rem;
}

@media (max-width: 48rem) {
    .auth-card--tenant,
    .auth-card--platform {
        grid-template-columns: 1fr;
    }

    .auth-card__identity {
        margin-top: 2rem;
    }

    .auth-card__intro {
        min-height: 15rem;
    }

    .auth-card__form {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

/* BKG-11D/3b-2 — professional customer access */

.customer-access {
    position: relative;
    overflow: hidden;
    border-color: #d8e5e8;
    box-shadow:
        0 1rem 3rem rgba(6, 63, 73, .075);
}

.customer-access::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .24rem;
    background:
        linear-gradient(
            90deg,
            #063f49 0%,
            var(--booking-accent) 100%
        );
}

.customer-access > h1 {
    max-width: 42rem;
    margin-bottom: .55rem;
    color: var(--zeno-navy);
    letter-spacing: -.04em;
}

.customer-access > .lede {
    max-width: 48rem;
    color: #566b76;
}

.customer-access__eyebrow {
    color: var(--booking-accent-strong);
}

.customer-access__layout {
    margin-top: 1.75rem;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(15rem, 19rem);
    gap: 1.5rem;
}

.customer-access__main {
    display: grid;
    gap: 1rem;
}

.customer-access__form {
    margin: 0;
    padding: 1.25rem;
    border: 1px solid #dce7ea;
    border-radius: .85rem;
    background: #fff;
    box-shadow:
        0 5px 18px rgba(6, 27, 78, .035);
}

.customer-access__form + .customer-access__form {
    border-color:
        rgba(15, 135, 148, .35);
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f0fafb 100%
        );
    box-shadow:
        inset .22rem 0 0
        var(--booking-accent);
}

.customer-access__form label {
    color: var(--zeno-navy);
    font-weight: 750;
}

.customer-access__form input {
    margin-top: .35rem;
}

.customer-access__form small {
    display: block;
    margin-top: .45rem;
    color: #687b85;
    line-height: 1.45;
}

.customer-access__form .actions {
    margin-top: 1.25rem;
}

.customer-access__form .actions button {
    min-width: 11rem;
}

.customer-access__context {
    position: sticky;
    top: 6rem;
    border-color: #d8e5e8;
    background:
        linear-gradient(
            160deg,
            #f4fbfc 0%,
            #ffffff 100%
        );
}

.customer-access__context .eyebrow {
    color: var(--booking-accent-strong);
}

.customer-access__context h2 {
    margin-top: .2rem;
    color: var(--zeno-navy);
}

.customer-access__context ol {
    display: grid;
    gap: .7rem;
    margin: 1rem 0;
    padding-left: 1.3rem;
}

.customer-access__context li {
    padding-left: .2rem;
    color: #425865;
    line-height: 1.45;
}

.customer-access__context li::marker {
    color: var(--booking-accent);
    font-weight: 800;
}

@media (max-width: 64rem) {
    .customer-access__layout {
        grid-template-columns: 1fr;
    }

    .customer-access__context {
        position: static;
        order: -1;
    }
}

@media (max-width: 36rem) {
    .customer-access__form {
        padding: 1rem;
    }

    .customer-access__form .actions button {
        width: 100%;
        min-width: 0;
    }
}

/* BKG-11D/3c-2 — customer booking status */

.customer-booking {
    position: relative;
    overflow: hidden;
    border-color: #d8e5e8;
    box-shadow:
        0 1rem 3rem rgba(6, 63, 73, .065);
}

.customer-booking::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .24rem;
    background:
        linear-gradient(
            90deg,
            #063f49 0%,
            var(--booking-accent) 100%
        );
}

.customer-booking__eyebrow {
    color: var(--booking-accent-strong);
}

.customer-booking__title {
    max-width: 100%;
    margin-bottom: .45rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.55rem, 3.4vw, 2.2rem);
    line-height: 1.1;
    letter-spacing: -.04em;
    overflow-wrap: anywhere;
}

.customer-booking__lede {
    margin-top: 0;
    color: #526874;
}

.customer-booking__reference {
    display: grid;
    gap: .18rem;
    margin: .75rem 0 0;
}

.customer-booking__reference > span {
    color: #71818b;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.customer-booking__reference > code {
    color: var(--zeno-navy-mid);
    font-size: .72rem;
    font-weight: 680;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.customer-booking__status {
    margin: 1.5rem 0 1.75rem;
    padding: 1rem;
    border: 1px solid
        rgba(15, 135, 148, .25);
    border-radius: .9rem;
    background:
        linear-gradient(
            145deg,
            #f2fbfc 0%,
            #ffffff 100%
        );
}

.customer-booking__status-title {
    margin: 0 0 .8rem;
    color: var(--zeno-navy);
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.customer-booking__status-list {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(10rem, 1fr)
        );
    gap: .7rem;
}

.customer-booking__status-list > li {
    display: block;
    min-width: 0;
    padding: .8rem;
    border: 1px solid #dfe9ec;
    border-radius: .7rem;
    background: #fff;
}

.customer-booking__status-list > li > span {
    display: block;
    margin-bottom: .4rem;
    color: #697b85;
    font-size: .65rem;
    font-weight: 760;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.customer-booking__status-list > li > strong {
    display: block;
    color: var(--zeno-navy);
    font-size: .9rem;
    text-align: left;
    overflow-wrap: anywhere;
}

.customer-booking__status-list
> li:nth-child(3)
> strong {
    font-size: 1.18rem;
    letter-spacing: -.025em;
}

.customer-booking__status-list .badge {
    max-width: 100%;
    white-space: normal;
}

.customer-booking__status
.hold-countdown {
    color: #75500c;
    font-size: .78rem;
    line-height: 1.4;
}

.customer-booking__status > .meta {
    margin: .8rem 0 0;
    padding-top: .7rem;
    border-top: 1px solid #dce7ea;
    color: #687a84;
    font-size: .67rem;
}

@media (max-width: 48rem) {
    .customer-booking__status-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 36rem) {
    .customer-booking__status {
        padding: .8rem;
    }

    .customer-booking__status-list {
        grid-template-columns: 1fr;
    }

    .customer-booking__status-list > li {
        padding: .7rem;
    }
}

/* BKG-11D/3c-3b — customer booking sections */

.customer-booking__section-title {
    margin: 1.9rem 0 .7rem;
    color: var(--zeno-navy);
    font-size: 1rem;
    letter-spacing: -.02em;
}

.customer-booking__section-copy {
    max-width: 44rem;
    margin: 0 0 .8rem;
    color: #61737d;
    font-size: .78rem;
    line-height: 1.55;
}

.customer-booking__detail-list {
    overflow: hidden;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fff;
}

.customer-booking__detail-list > li {
    padding: .75rem .85rem;
}

.customer-booking__detail-list > li:last-child {
    border-bottom: 0;
}

.customer-booking__detail-list > li > span {
    color: #6c7c86;
    font-size: .72rem;
}

.customer-booking__detail-list > li > strong {
    color: var(--zeno-navy);
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.customer-booking__payment {
    margin: 0;
    padding: 1rem;
    border-color:
        rgba(15, 135, 148, .28);
    background:
        linear-gradient(
            145deg,
            #f1fbfc 0%,
            #ffffff 100%
        );
}

.customer-booking__payment .actions {
    margin-top: .2rem;
}

.customer-booking__payment button {
    min-width: 12rem;
}

.customer-booking__documents {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    padding: .9rem;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #f9fbfc;
}

.customer-booking__documents .button {
    margin: 0;
}

.customer-booking__management {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    align-items: center;
    padding: .95rem;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fff;
}

.customer-booking__management form {
    margin: 0;
}

.customer-booking__management .secondary {
    border-color: #cfdbe1;
}

.customer-booking__management .danger {
    margin-left: .2rem;
}

.customer-booking__footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem 1rem;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e3eaee;
}

.customer-booking__footer-actions a {
    font-size: .76rem;
    font-weight: 700;
}

@media (max-width: 48rem) {
    .customer-booking__detail-list > li {
        display: grid;
        grid-template-columns: 1fr;
        gap: .2rem;
    }

    .customer-booking__detail-list > li > strong {
        text-align: left;
    }

    .customer-booking__payment button,
    .customer-booking__documents .button,
    .customer-booking__management form,
    .customer-booking__management button {
        width: 100%;
    }

    .customer-booking__management {
        align-items: stretch;
        flex-direction: column;
    }

    .customer-booking__management .danger {
        margin-left: 0;
    }

    .customer-booking__footer-actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* BKG-11D/3d-2 — professional service messages */

.message-page {
    position: relative;
    max-width: 44rem;
    margin-inline: auto;
    overflow: hidden;
    border-color: #d8e5e8;
    text-align: center;
    box-shadow:
        0 1rem 3rem rgba(6, 63, 73, .07);
}

.message-page::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .24rem;
    background:
        linear-gradient(
            90deg,
            #063f49 0%,
            var(--booking-accent) 100%
        );
}

.message-page__eyebrow {
    color: var(--booking-accent-strong);
}

.message-page__title {
    max-width: 36rem;
    margin:
        .3rem auto
        1rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.55rem, 4vw, 2.15rem);
    line-height: 1.1;
    letter-spacing: -.04em;
}

.message-page__result {
    max-width: 36rem;
    margin-inline: auto;
    text-align: left;
    line-height: 1.55;
}

.message-page__action {
    margin:
        1.35rem 0
        0;
}

.message-page__action .button {
    min-width: 10rem;
}

@media (max-width: 36rem) {
    .message-page {
        text-align: left;
    }

    .message-page__title {
        margin-inline: 0;
    }

    .message-page__action .button {
        width: 100%;
    }
}

/* BKG-11D/4b-2 — professional tenant invitation */

.tenant-invitation {
    position: relative;
    display: block;
    max-width: 42rem;
    margin-inline: auto;
    padding: clamp(1.4rem, 4vw, 2.25rem);
    overflow: hidden;
    border: 1px solid #d8e5e8;
    border-radius: 1rem;
    background: #fff;
    box-shadow:
        0 1.2rem 3.4rem rgba(6, 63, 73, .075);
}

.tenant-invitation::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .24rem;
    background:
        linear-gradient(
            90deg,
            #063f49 0%,
            var(--booking-accent) 100%
        );
}

.tenant-invitation__eyebrow {
    margin-bottom: .45rem;
    color: var(--booking-accent-strong);
}

.tenant-invitation__title {
    margin: 0 0 .8rem;
    color: var(--zeno-navy);
    font-size:
        clamp(1.55rem, 4vw, 2.15rem);
    line-height: 1.1;
    letter-spacing: -.04em;
}

.tenant-invitation > p {
    color: #566a75;
    line-height: 1.6;
}

.tenant-invitation__summary {
    display: grid;
    grid-template-columns:
        minmax(6rem, auto)
        minmax(0, 1fr);
    gap: 0;
    margin: 1.35rem 0;
    overflow: hidden;
    border: 1px solid #dfe8eb;
    border-radius: .8rem;
    background: #fff;
}

.tenant-invitation__summary dt,
.tenant-invitation__summary dd {
    margin: 0;
    padding: .7rem .8rem;
    border-bottom: 1px solid #edf1f3;
}

.tenant-invitation__summary dt {
    color: #71818a;
    background: #f7fafb;
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.tenant-invitation__summary dd {
    min-width: 0;
    color: var(--zeno-navy);
    font-size: .78rem;
    font-weight: 720;
    overflow-wrap: anywhere;
}

.tenant-invitation__summary dt:nth-last-of-type(1),
.tenant-invitation__summary dd:nth-last-of-type(1) {
    border-bottom: 0;
}

.tenant-invitation__form {
    margin-top: 1.35rem;
    padding: 1.1rem;
    border: 1px solid
        rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background:
        linear-gradient(
            145deg,
            #f3fbfc 0%,
            #ffffff 100%
        );
}

.tenant-invitation__form label {
    color: var(--zeno-navy);
    font-weight: 740;
}

.tenant-invitation__form input {
    margin-top: .35rem;
}

.tenant-invitation__form .meta {
    color: #657780;
}

.tenant-invitation__form button {
    margin-top: .65rem;
    min-width: 10rem;
}

.tenant-invitation > .error {
    padding: .8rem .9rem;
    border: 1px solid currentColor;
    border-radius: .7rem;
}

.tenant-invitation > .actions {
    margin-top: 1.2rem;
}

@media (max-width: 36rem) {
    .tenant-invitation {
        padding: 1.15rem;
    }

    .tenant-invitation__summary {
        grid-template-columns: 1fr;
    }

    .tenant-invitation__summary dt {
        padding-bottom: .25rem;
        border-bottom: 0;
    }

    .tenant-invitation__summary dd {
        padding-top: .25rem;
    }

    .tenant-invitation__form button,
    .tenant-invitation > .actions .button {
        width: 100%;
        min-width: 0;
    }
}

/* BKG-11D/4c-2 — operational digest settings */

.operational-digest {
    border-color: #dce6e9;
}

.operational-digest--settings {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7fbfc 100%
        );
    box-shadow:
        0 .7rem 2rem rgba(6, 63, 73, .045);
}

.operational-digest--settings::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .22rem;
    background:
        linear-gradient(
            90deg,
            #063f49 0%,
            var(--booking-accent) 100%
        );
}

.operational-digest__eyebrow {
    color: var(--booking-accent-strong);
}

.operational-digest__title {
    margin-top: .2rem;
    margin-bottom: .55rem;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.operational-digest__settings-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(9rem, .55fr);
    gap: 1rem 1.25rem;
    max-width: 46rem;
    margin-top: 1.35rem;
    padding: 1rem;
    border: 1px solid
        rgba(15, 135, 148, .22);
    border-radius: .8rem;
    background: #fff;
}

.operational-digest__settings-form
> label:first-of-type {
    grid-column: 1 / -1;
    display: flex;
    gap: .55rem;
    align-items: center;
    padding: .7rem .8rem;
    border-radius: .6rem;
    background: var(--booking-accent-soft);
    color: var(--zeno-navy);
    font-weight: 760;
}

.operational-digest__settings-form
> label:first-of-type input {
    width: auto;
    margin: 0;
}

.operational-digest__settings-form label {
    color: var(--zeno-navy);
    font-weight: 720;
}

.operational-digest__settings-form select,
.operational-digest__settings-form
input[type="number"] {
    margin-top: .35rem;
}

.operational-digest__settings-form
> div {
    display: flex;
    gap: .45rem;
    align-items: center;
}

.operational-digest__settings-form
> div input {
    min-width: 0;
}

.operational-digest__settings-form
> .meta {
    grid-column: 1 / -1;
    margin: 0;
    padding-top: .2rem;
}

.operational-digest__settings-form
> button {
    grid-column: 1 / -1;
    justify-self: start;
    min-width: 11rem;
}

@media (max-width: 48rem) {
    .operational-digest__settings-form {
        grid-template-columns: 1fr;
    }

    .operational-digest__settings-form
    > label:first-of-type,
    .operational-digest__settings-form
    > .meta,
    .operational-digest__settings-form
    > button {
        grid-column: auto;
    }
}

@media (max-width: 36rem) {
    .operational-digest__settings-form {
        padding: .85rem;
    }

    .operational-digest__settings-form
    > button {
        width: 100%;
    }
}

/* BKG-11D/4c-3b — operational digest recipients */

.operational-digest--recipients {
    position: relative;
    overflow: hidden;
    box-shadow:
        0 .7rem 2rem rgba(6, 63, 73, .035);
}

.operational-digest__recipient-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        auto;
    gap: .8rem 1rem;
    align-items: end;
    max-width: 52rem;
    margin: 1.2rem 0 1.35rem;
    padding: 1rem;
    border: 1px solid #dfe8eb;
    border-radius: .8rem;
    background: #f9fbfc;
}

.operational-digest__recipient-form label {
    color: var(--zeno-navy);
    font-weight: 720;
}

.operational-digest__recipient-form input {
    margin-top: .35rem;
}

.operational-digest__recipient-form button {
    min-width: 10rem;
    margin: 0;
}

.operational-digest--recipients
.table-scroll {
    margin-top: 1rem;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fff;
}

.operational-digest--recipients table {
    margin: 0;
}

.operational-digest--recipients thead th {
    background: #f5f9fa;
    color: #5d707a;
    font-size: .68rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.operational-digest--recipients tbody td {
    vertical-align: middle;
}

.operational-digest--recipients
tbody td:first-child {
    color: var(--zeno-navy);
    font-weight: 720;
}

.operational-digest--recipients
tbody td:nth-child(2) {
    overflow-wrap: anywhere;
}

.operational-digest--recipients
tbody form {
    margin: 0;
}

.operational-digest--recipients
tbody button.secondary {
    white-space: nowrap;
}

@media (max-width: 56rem) {
    .operational-digest__recipient-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .operational-digest__recipient-form button {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 40rem) {
    .operational-digest__recipient-form {
        grid-template-columns: 1fr;
        padding: .85rem;
    }

    .operational-digest__recipient-form button {
        grid-column: auto;
        width: 100%;
    }

    .operational-digest--recipients
    .table-scroll {
        border-inline: 0;
        border-radius: 0;
    }
}

/* BKG-11D/4c-4b — operational digest runs */

.operational-digest--runs {
    position: relative;
    overflow: hidden;
    box-shadow:
        0 .7rem 2rem rgba(6, 63, 73, .035);
}

.operational-digest__runs-table {
    margin-top: 1rem;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fff;
}

.operational-digest__runs-table table {
    margin: 0;
}

.operational-digest__runs-table thead th {
    background: #f5f9fa;
    color: #5d707a;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.operational-digest__runs-table tbody td {
    vertical-align: middle;
}

.operational-digest__runs-table tbody td:first-child {
    color: var(--zeno-navy);
    font-weight: 720;
    white-space: nowrap;
}

.operational-digest__runs-table tbody td:nth-child(3),
.operational-digest__runs-table tbody td:nth-child(4) {
    font-variant-numeric: tabular-nums;
    font-weight: 720;
    text-align: center;
}

.operational-digest__runs-table tbody td:last-child {
    font-weight: 720;
}

@media (max-width: 48rem) {
    .operational-digest__runs-table {
        border-inline: 0;
        border-radius: 0;
    }

    .operational-digest__runs-table th,
    .operational-digest__runs-table td {
        white-space: nowrap;
    }
}

/* BKG-11D/4d-1b — locations configuration */

.configuration-create--location {
    margin: 1rem 0 1.5rem;
    overflow: hidden;
    border: 1px solid
        rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background:
        linear-gradient(
            145deg,
            #f4fbfc 0%,
            #ffffff 100%
        );
}

.configuration-create--location > summary {
    padding: .9rem 1rem;
    color: var(--zeno-navy);
    font-weight: 780;
    cursor: pointer;
}

.configuration-create--location[open] > summary {
    border-bottom: 1px solid #dde8eb;
    color: var(--booking-accent-strong);
}

.configuration-create--location > form {
    padding: 1rem;
    background: #fff;
}

.configuration-create--location .field-grid {
    align-items: start;
}

.configuration-create--location .actions {
    margin-top: 1rem;
}

.configuration-list--locations {
    margin-top: 1.4rem;
}

.configuration-list--locations > header {
    display: flex;
    gap: 1rem;
    align-items: end;
    justify-content: space-between;
    padding-bottom: .8rem;
    border-bottom: 1px solid #e2eaed;
}

.configuration-list--locations > header h3 {
    margin: 0;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-list--locations > header .meta {
    max-width: 38rem;
    margin: 0;
}

.configuration-card--location {
    position: relative;
    gap: 1.15rem;
    padding: 1.1rem;
    overflow: hidden;
    border-color: #dce6e9;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-card--location::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-card--location
.location-card__header {
    padding-bottom: .85rem;
    border-bottom: 1px solid #e7edef;
}

.configuration-card--location
.location-card__header h4 {
    margin-top: .15rem;
    color: var(--zeno-navy);
    font-size: 1.05rem;
    letter-spacing: -.02em;
}

.configuration-card--location
.location-card__header .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-card--location
> .actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}

.configuration-card--location
> .actions--compact > form {
    margin: 0;
}

.configuration-card--location
> .actions--compact details {
    margin: 0;
}

.configuration-card--location
.linked-resource-grid {
    gap: 1rem;
}

.configuration-card--location
.linked-resource-grid > section {
    min-width: 0;
    padding: .9rem;
    border: 1px solid #e1e9ec;
    border-radius: .75rem;
    background: #fafcfc;
}

.configuration-card--location
.linked-resource-grid > section > h5 {
    margin: 0 0 .7rem;
    color: var(--zeno-navy);
    font-size: .82rem;
    letter-spacing: -.01em;
}

.configuration-card--location
.linked-resource {
    margin-top: .65rem;
    padding: .8rem;
    border-color: #e0e8eb;
    background: #fff;
    box-shadow: none;
}

.configuration-card--location
.linked-resource__header {
    gap: .7rem;
}

.configuration-card--location
.linked-resource__header strong {
    color: var(--zeno-navy);
    font-size: .78rem;
}

.configuration-card--location
.linked-resource__header .meta {
    font-size: .68rem;
}

.configuration-card--location
.linked-resource .actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .7rem;
}

.configuration-card--location
.linked-resource .actions--compact > form {
    margin: 0;
}

.configuration-card--location
.linked-resource-grid > section > details {
    margin-top: .75rem;
}

.configuration-card--location
details > summary {
    color: var(--booking-accent-strong);
    font-weight: 720;
}

@media (max-width: 56rem) {
    .configuration-card--location
    .linked-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .configuration-list--locations > header,
    .configuration-card--location
    .location-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-create--location
    .field-grid {
        grid-template-columns: 1fr;
    }

    .configuration-create--location
    .field-grid .field--wide {
        grid-column: auto;
    }

    .configuration-card--location {
        padding: .9rem;
    }

    .configuration-card--location
    > .actions--compact {
        align-items: stretch;
        flex-direction: column;
    }

    .configuration-card--location
    > .actions--compact > form,
    .configuration-card--location
    > .actions--compact button {
        width: 100%;
    }

    .configuration-create--location
    .actions button {
        width: 100%;
    }
}

/* BKG-11D/4d-2b — catalog configuration */

.configuration-intro--catalog {
    margin-bottom: 1.25rem;
}

.configuration-intro--catalog > .card {
    border-color: #dce6e9;
}

.configuration-intro--catalog > .card:first-child {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-intro--catalog > .card:first-child::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-intro--catalog h2 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-intro--catalog .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-create--catalog-group,
.configuration-create--catalog-item,
.configuration-create--catalog-publish {
    margin: .8rem 0;
    overflow: hidden;
    border: 1px solid #dfe8eb;
    border-radius: .8rem;
    background: #fff;
}

.configuration-create--catalog-group > summary,
.configuration-create--catalog-item > summary,
.configuration-create--catalog-publish > summary {
    padding: .85rem 1rem;
    color: var(--zeno-navy);
    font-weight: 770;
    cursor: pointer;
}

.configuration-create--catalog-group[open] > summary,
.configuration-create--catalog-item[open] > summary,
.configuration-create--catalog-publish[open] > summary {
    border-bottom: 1px solid #e2eaed;
    color: var(--booking-accent-strong);
    background: #f7fbfc;
}

.configuration-create--catalog-group > form,
.configuration-create--catalog-publish > form {
    padding: 1rem;
}

.configuration-create--catalog-item
> .linked-resource-grid {
    padding: 1rem;
}

.configuration-create--catalog-item
.card--quiet {
    border-color: #e0e8eb;
    background: #fafcfc;
}

.configuration-create--catalog-item
.card--quiet h3 {
    color: var(--zeno-navy);
}

.configuration-create--catalog-group form,
.configuration-create--catalog-item form,
.configuration-create--catalog-publish form {
    max-width: 54rem;
}

.configuration-create--catalog-group button,
.configuration-create--catalog-item button,
.configuration-create--catalog-publish button {
    margin-top: .75rem;
}

.configuration-list--catalog {
    margin-top: 1.5rem;
}

.configuration-list--catalog > header {
    padding-bottom: .85rem;
    border-bottom: 1px solid #e2eaed;
}

.configuration-list--catalog > header h2 {
    margin: 0;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-list--catalog > header .meta {
    max-width: 46rem;
}

.configuration-card--catalog {
    position: relative;
    gap: 1rem;
    padding: 1.1rem;
    overflow: hidden;
    border-color: #dce6e9;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-card--catalog::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-card--catalog
.location-card__header {
    padding-bottom: .8rem;
    border-bottom: 1px solid #e6edef;
}

.configuration-card--catalog
.location-card__header h3 {
    margin: .15rem 0 0;
    color: var(--zeno-navy);
    letter-spacing: -.02em;
}

.configuration-card--catalog
.location-card__header .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-card--catalog
> .actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.configuration-card--catalog
> .actions--compact > form {
    margin: 0;
}

.configuration-card--catalog
.linked-resource-grid {
    gap: 1rem;
}

.configuration-card--catalog
.linked-resource {
    margin-top: 0;
    padding: .9rem;
    border-color: #e0e8eb;
    background: #fafcfc;
}

.configuration-card--catalog
.linked-resource__header strong {
    color: var(--zeno-navy);
    font-size: .8rem;
}

.configuration-card--catalog
.linked-resource > p {
    margin: .65rem 0;
}

.configuration-card--catalog
.linked-resource > .meta {
    color: #637680;
    font-size: .69rem;
    line-height: 1.5;
}

.configuration-card--catalog
.linked-resource h4 {
    margin: 1rem 0 .55rem;
    color: var(--zeno-navy);
    font-size: .76rem;
}

.configuration-card--catalog
.linked-resource .summary-list {
    overflow: hidden;
    border: 1px solid #e1e8eb;
    border-radius: .7rem;
    background: #fff;
}

.configuration-card--catalog
.linked-resource .summary-list li {
    gap: .8rem;
    padding: .7rem .75rem;
}

.configuration-card--catalog
.linked-resource .summary-list small {
    display: block;
    margin-top: .2rem;
    line-height: 1.45;
}

.configuration-card--catalog
.linked-resource .actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.configuration-card--catalog
.linked-resource .actions--compact > form {
    margin: 0;
}

@media (max-width: 56rem) {
    .configuration-create--catalog-item
    > .linked-resource-grid,
    .configuration-card--catalog
    .linked-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .configuration-card--catalog
    .location-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-create--catalog-group,
    .configuration-create--catalog-item,
    .configuration-create--catalog-publish {
        border-inline: 0;
        border-radius: 0;
    }

    .configuration-card--catalog {
        padding: .9rem;
    }

    .configuration-card--catalog
    > .actions--compact {
        align-items: stretch;
        flex-direction: column;
    }

    .configuration-card--catalog
    > .actions--compact > form,
    .configuration-card--catalog
    > .actions--compact button {
        width: 100%;
    }

    .configuration-card--catalog
    .linked-resource .summary-list li {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* BKG-11D/4d-3b — booking rules configuration */

.configuration-intro--rules {
    margin-bottom: 1.25rem;
}

.configuration-intro--rules > .card {
    border-color: #dce6e9;
}

.configuration-intro--rules > .card:first-child {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-intro--rules > .card:first-child::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-intro--rules h2 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-intro--rules .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-create--rules {
    margin: 1rem 0 1.5rem;
    overflow: hidden;
    border: 1px solid
        rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background: #fff;
}

.configuration-create--rules > summary {
    padding: .9rem 1rem;
    color: var(--zeno-navy);
    font-weight: 780;
    cursor: pointer;
}

.configuration-create--rules[open] > summary {
    border-bottom: 1px solid #e1e9ec;
    color: var(--booking-accent-strong);
    background: #f7fbfc;
}

.configuration-create--rules
> .linked-resource-grid {
    gap: 1rem;
    padding: 1rem;
}

.configuration-create--rules
.card--quiet {
    position: relative;
    overflow: hidden;
    border-color: #dfe7ea;
    background: #fafcfc;
}

.configuration-create--rules
.card--quiet::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .18rem;
    background: var(--booking-accent);
    opacity: .7;
}

.configuration-create--rules
.card--quiet h3 {
    margin-top: .15rem;
    color: var(--zeno-navy);
    font-size: .95rem;
    letter-spacing: -.02em;
}

.configuration-create--rules
.card--quiet > .meta {
    min-height: 3rem;
    color: #62757f;
    line-height: 1.5;
}

.configuration-create--rules
.card--quiet form {
    margin-top: 1rem;
}

.configuration-create--rules
.card--quiet label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.configuration-create--rules
.card--quiet button {
    margin-top: .7rem;
    width: 100%;
}

.configuration-list--rules {
    margin-top: 1.5rem;
}

.configuration-list--rules > header {
    padding-bottom: .85rem;
    border-bottom: 1px solid #e2eaed;
}

.configuration-list--rules > header h2 {
    margin: 0;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-list--rules > header .meta {
    max-width: 46rem;
}

.configuration-card--rules {
    position: relative;
    gap: 1rem;
    padding: 1.1rem;
    overflow: hidden;
    border-color: #dce6e9;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-card--rules::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-card--rules
.location-card__header {
    padding-bottom: .8rem;
    border-bottom: 1px solid #e6edef;
}

.configuration-card--rules
.location-card__header h3 {
    margin: .15rem 0 0;
    color: var(--zeno-navy);
    letter-spacing: -.02em;
}

.configuration-card--rules
.location-card__header .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-card--rules
.linked-resource-grid {
    gap: 1rem;
}

.configuration-card--rules
.linked-resource {
    margin-top: 0;
    padding: .9rem;
    border-color: #e0e8eb;
    background: #fafcfc;
}

.configuration-card--rules
.linked-resource__header strong {
    color: var(--zeno-navy);
    font-size: .82rem;
}

.configuration-card--rules
.linked-resource > p {
    margin: .65rem 0;
}

.configuration-card--rules
.summary-list {
    overflow: hidden;
    margin-top: .7rem;
    border: 1px solid #e1e8eb;
    border-radius: .7rem;
    background: #fff;
}

.configuration-card--rules
.summary-list li {
    gap: .8rem;
    padding: .65rem .75rem;
}

.configuration-card--rules
.summary-list strong {
    color: var(--zeno-navy);
}

.configuration-card--rules
.actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .8rem;
}

.configuration-card--rules
.actions--compact > form {
    margin: 0;
}

.configuration-card--rules
details > summary {
    color: var(--booking-accent-strong);
    font-weight: 720;
}

@media (max-width: 64rem) {
    .configuration-create--rules
    > .linked-resource-grid {
        grid-template-columns: 1fr;
    }

    .configuration-create--rules
    .card--quiet > .meta {
        min-height: 0;
    }
}

@media (max-width: 48rem) {
    .configuration-card--rules
    .linked-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .configuration-card--rules
    .location-card__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-card--rules {
        padding: .9rem;
    }

    .configuration-card--rules
    .summary-list li {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-card--rules
    .actions--compact {
        align-items: stretch;
        flex-direction: column;
    }

    .configuration-card--rules
    .actions--compact > form,
    .configuration-card--rules
    .actions--compact button {
        width: 100%;
    }
}

/* BKG-11D/4d-4b — notification recipients configuration */

.configuration-intro--recipients {
    margin-bottom: 1.25rem;
}

.configuration-intro--recipients > .card {
    border-color: #dce6e9;
}

.configuration-intro--recipients > .card:first-child {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-intro--recipients > .card:first-child::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-intro--recipients h2 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-intro--recipients .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-create--recipient {
    margin: 1rem 0 1.5rem;
    overflow: hidden;
    border: 1px solid
        rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background: #fff;
}

.configuration-create--recipient > summary {
    padding: .9rem 1rem;
    color: var(--zeno-navy);
    font-weight: 780;
    cursor: pointer;
}

.configuration-create--recipient[open] > summary {
    border-bottom: 1px solid #e1e9ec;
    color: var(--booking-accent-strong);
    background: #f7fbfc;
}

.configuration-create--recipient > form {
    max-width: 52rem;
    padding: 1rem;
}

.configuration-create--recipient label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.configuration-create--recipient .actions {
    margin-top: 1rem;
}

.configuration-list--recipients {
    margin-top: 1.5rem;
}

.configuration-list--recipients > header {
    padding-bottom: .85rem;
    border-bottom: 1px solid #e2eaed;
}

.configuration-list--recipients > header h2 {
    margin: 0;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-list--recipients > header .meta {
    max-width: 46rem;
}

.configuration-card--recipients {
    position: relative;
    gap: 1rem;
    padding: 1.1rem;
    overflow: hidden;
    border-color: #dce6e9;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-card--recipients::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-card--recipients
.location-card__header {
    padding-bottom: .8rem;
    border-bottom: 1px solid #e6edef;
}

.configuration-card--recipients
.location-card__header h3 {
    margin: .15rem 0 0;
    color: var(--zeno-navy);
    letter-spacing: -.02em;
}

.configuration-card--recipients
.location-card__header .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-card--recipients
.linked-resource-grid {
    gap: 1rem;
}

.configuration-card--recipients
.linked-resource {
    margin-top: 0;
    padding: .9rem;
    border-color: #e0e8eb;
    background: #fafcfc;
}

.configuration-card--recipients
.linked-resource__header strong {
    color: var(--zeno-navy);
    font-size: .82rem;
}

.configuration-card--recipients
.linked-resource__header .meta {
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.configuration-card--recipients
.actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .8rem;
}

.configuration-card--recipients
.actions--compact > form {
    margin: 0;
}

.configuration-card--recipients
details > summary {
    color: var(--booking-accent-strong);
    font-weight: 720;
}

@media (max-width: 48rem) {
    .configuration-card--recipients
    .linked-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .configuration-card--recipients
    .location-card__header,
    .configuration-card--recipients
    .linked-resource__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-card--recipients {
        padding: .9rem;
    }

    .configuration-card--recipients
    .actions--compact {
        align-items: stretch;
        flex-direction: column;
    }

    .configuration-card--recipients
    .actions--compact > form,
    .configuration-card--recipients
    .actions--compact button,
    .configuration-create--recipient
    .actions button {
        width: 100%;
    }
}

/* BKG-11D/4d-5b — guidelines configuration */

.configuration-intro--guidelines {
    margin-bottom: 1.25rem;
}

.configuration-intro--guidelines > .card {
    border-color: #dce6e9;
}

.configuration-intro--guidelines > .card:first-child {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-intro--guidelines > .card:first-child::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-intro--guidelines h2 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-intro--guidelines .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-create--guideline {
    margin: 1rem 0 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background: #fff;
}

.configuration-create--guideline > summary {
    padding: .9rem 1rem;
    color: var(--zeno-navy);
    font-weight: 780;
    cursor: pointer;
}

.configuration-create--guideline[open] > summary {
    border-bottom: 1px solid #e1e9ec;
    color: var(--booking-accent-strong);
    background: #f7fbfc;
}

.configuration-create--guideline > form {
    max-width: 56rem;
    padding: 1rem;
}

.configuration-create--guideline label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.configuration-create--guideline button {
    margin-top: .8rem;
}

.configuration-list--guidelines {
    margin-top: 1.5rem;
}

.configuration-list--guidelines > header {
    padding-bottom: .85rem;
    border-bottom: 1px solid #e2eaed;
}

.configuration-list--guidelines > header h2 {
    margin: 0;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-card--guidelines {
    position: relative;
    gap: 1rem;
    padding: 1.1rem;
    overflow: hidden;
    border-color: #dce6e9;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-card--guidelines::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-card--guidelines
.location-card__header {
    padding-bottom: .8rem;
    border-bottom: 1px solid #e6edef;
}

.configuration-card--guidelines
.location-card__header h3 {
    margin: .15rem 0 0;
    color: var(--zeno-navy);
    letter-spacing: -.02em;
}

.configuration-card--guidelines
.location-card__header .eyebrow {
    color: var(--booking-accent-strong);
}

.configuration-card--guidelines
.linked-resource-grid {
    gap: 1rem;
}

.configuration-card--guidelines
.linked-resource {
    position: relative;
    margin-top: 0;
    padding: .9rem;
    border-color: #e0e8eb;
    background: #fafcfc;
}

.configuration-card--guidelines
.linked-resource__header strong {
    color: var(--zeno-navy);
    font-size: .82rem;
}

.configuration-card--guidelines
.linked-resource > p {
    margin: .65rem 0;
    line-height: 1.55;
}

.configuration-card--guidelines
.actions--compact {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-top: .8rem;
}

.configuration-card--guidelines
.actions--compact > form {
    margin: 0;
}

.configuration-card--guidelines
details > summary {
    color: var(--booking-accent-strong);
    font-weight: 720;
}

.configuration-card--guidelines
details > form {
    margin-top: .7rem;
    padding: .85rem;
    border: 1px solid #e1e9ec;
    border-radius: .7rem;
    background: #fff;
}

@media (max-width: 48rem) {
    .configuration-card--guidelines
    .linked-resource-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 40rem) {
    .configuration-card--guidelines
    .location-card__header,
    .configuration-card--guidelines
    .linked-resource__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .configuration-card--guidelines {
        padding: .9rem;
    }

    .configuration-card--guidelines
    .actions--compact {
        align-items: stretch;
        flex-direction: column;
    }

    .configuration-card--guidelines
    .actions--compact > form,
    .configuration-card--guidelines
    .actions--compact button,
    .configuration-create--guideline button {
        width: 100%;
    }
}

/* BKG-11D/4d-6c — availability blocks configuration */

.configuration-block-form {
    position: relative;
    margin: 1rem 0 1.5rem;
    padding: 1rem;
    overflow: hidden;
    border: 1px solid rgba(15, 135, 148, .24);
    border-radius: .85rem;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-block-form::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-block-form > form {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .85rem 1rem;
    align-items: start;
}

.configuration-block-form label {
    min-width: 0;
    color: var(--zeno-navy);
    font-weight: 710;
}

.configuration-block-form select,
.configuration-block-form input,
.configuration-block-form textarea {
    width: 100%;
    margin-top: .35rem;
}

.configuration-block-form
label:nth-of-type(6),
.configuration-block-form
label:nth-of-type(7),
.configuration-block-form
label:nth-of-type(8) {
    grid-column: 1 / -1;
}

.configuration-block-form textarea {
    min-height: 6rem;
    resize: vertical;
}

.configuration-block-form button {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: .2rem;
}

.configuration-blocks-list {
    margin-top: 1.5rem;
}

.configuration-blocks-list > h3 {
    margin: 0 0 .85rem;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.configuration-blocks-table {
    overflow-x: auto;
    border: 1px solid #dfe7eb;
    border-radius: .8rem;
    background: #fff;
}

.configuration-blocks-table table {
    min-width: 58rem;
    margin: 0;
}

.configuration-blocks-table thead th {
    background: #f5f9fa;
    color: #5d707a;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.configuration-blocks-table tbody td {
    vertical-align: middle;
}

.configuration-blocks-table
tbody td:first-child {
    color: var(--zeno-navy);
    font-weight: 720;
}

.configuration-blocks-table
tbody td:nth-child(4),
.configuration-blocks-table
tbody td:nth-child(5) {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.configuration-blocks-table
tbody td:nth-child(6) {
    min-width: 12rem;
}

.configuration-blocks-table
tbody td:last-child form {
    margin: 0;
}

.configuration-blocks-table
tbody td:last-child button {
    white-space: nowrap;
}

@media (max-width: 48rem) {
    .configuration-block-form > form {
        grid-template-columns: 1fr;
    }

    .configuration-block-form
    label:nth-of-type(6),
    .configuration-block-form
    label:nth-of-type(7),
    .configuration-block-form
    label:nth-of-type(8),
    .configuration-block-form button {
        grid-column: auto;
    }

    .configuration-blocks-table {
        border-inline: 0;
        border-radius: 0;
    }
}

@media (max-width: 36rem) {
    .configuration-block-form {
        padding: .85rem;
    }

    .configuration-block-form button {
        width: 100%;
    }
}

/* BKG-11D/4d-7c — organization settings */

.configuration-settings {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}

.configuration-settings__intro {
    position: relative;
    overflow: hidden;
    padding: .95rem 1rem;
    border: 1px solid #dfe8eb;
    border-radius: .8rem;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
}

.configuration-settings__intro::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .2rem;
    background: var(--booking-accent);
}

.configuration-settings__intro p {
    max-width: 52rem;
    margin: 0;
    color: #5e727c;
    line-height: 1.55;
}

.configuration-settings__panel {
    padding: 1rem;
    border: 1px solid #dce6e9;
    border-radius: .85rem;
    background: #fff;
    box-shadow:
        0 .55rem 1.6rem rgba(6, 63, 73, .035);
}

.configuration-settings__panel > form {
    max-width: 56rem;
}

.configuration-settings__fields {
    align-items: start;
}

.configuration-settings__fields label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.configuration-settings__fields input {
    width: 100%;
    margin-top: .35rem;
}

.configuration-settings__fields
label:first-child {
    grid-column: 1 / -1;
}

.configuration-settings__panel .actions {
    margin-top: 1rem;
}

@media (max-width: 40rem) {
    .configuration-settings__panel {
        padding: .85rem;
    }

    .configuration-settings__fields {
        grid-template-columns: 1fr;
    }

    .configuration-settings__fields
    label:first-child {
        grid-column: auto;
    }

    .configuration-settings__panel
    .actions button {
        width: 100%;
    }
}

/* BKG-11D/4e-1b — platform dashboard */

.platform-dashboard__metrics {
    margin-bottom: 1.25rem;
}

.platform-dashboard__metrics
.metric-card {
    position: relative;
    overflow: hidden;
    border-color: #d9e2ef;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7f9fd 100%
        );
    box-shadow:
        0 .45rem 1.4rem rgba(6, 27, 78, .035);
}

.platform-dashboard__metrics
.metric-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: .18rem;
    background: var(--zeno-navy-mid);
}

.platform-dashboard__metrics
.metric-card strong {
    color: var(--zeno-navy);
    font-variant-numeric: tabular-nums;
}

.platform-dashboard__metrics
.metric-card span {
    color: #637188;
    font-weight: 680;
}

.platform-dashboard {
    align-items: stretch;
    gap: 1rem;
}

.platform-dashboard__overview {
    position: relative;
    overflow: hidden;
    border-color: #d8e1ef;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f3f6fc 100%
        );
    box-shadow:
        0 .65rem 1.8rem rgba(6, 27, 78, .04);
}

.platform-dashboard__overview::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .22rem;
    background: var(--zeno-navy-mid);
}

.platform-dashboard__overview
.eyebrow {
    color: var(--zeno-navy-mid);
}

.platform-dashboard__overview h2 {
    margin-top: .2rem;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.platform-dashboard__overview p:last-child {
    max-width: 48rem;
    color: #5d6c82;
    line-height: 1.6;
}

.platform-dashboard__actions {
    display: grid;
    gap: .8rem;
    align-content: start;
}

.platform-dashboard__actions
.quick-action {
    position: relative;
    display: grid;
    gap: .2rem;
    min-height: 5.6rem;
    padding: .95rem 1rem;
    border: 1px solid #dce4f0;
    border-radius: .8rem;
    background: #fff;
    box-shadow:
        0 .4rem 1.2rem rgba(6, 27, 78, .025);
}

.platform-dashboard__actions
.quick-action::after {
    content: "→";
    position: absolute;
    top: .9rem;
    right: 1rem;
    color: var(--zeno-navy-mid);
    font-weight: 850;
}

.platform-dashboard__actions
.quick-action strong {
    padding-right: 1.8rem;
    color: var(--zeno-navy);
}

.platform-dashboard__actions
.quick-action span {
    color: #68768a;
    line-height: 1.45;
}

.platform-dashboard__actions
.quick-action:hover {
    border-color: #b9c9df;
    background: #f8fafd;
}

@media (max-width: 56rem) {
    .platform-dashboard {
        grid-template-columns: 1fr;
    }

    .platform-dashboard__actions {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .platform-dashboard__actions {
        grid-template-columns: 1fr;
    }

    .platform-dashboard__metrics {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 30rem) {
    .platform-dashboard__metrics {
        grid-template-columns: 1fr;
    }
}

/* BKG-11D/4e-2b — platform provisioning */

.platform-provisioning {
    position: relative;
    width: 100%;
    max-width: none;
    min-width: 0;
    overflow: hidden;
    border-color: #d8e1ef;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f5f7fc 100%
        );
    box-shadow:
        0 .65rem 1.8rem rgba(6, 27, 78, .04);
}

.platform-provisioning::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .22rem;
    background: var(--zeno-navy-mid);
}

.platform-provisioning > .eyebrow {
    color: var(--zeno-navy-mid);
}

.platform-provisioning > h2 {
    margin-top: .2rem;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.platform-provisioning > p {
    max-width: 48rem;
    color: #5f6e83;
    line-height: 1.55;
}

.platform-provisioning > form {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .9rem 1rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid #dce4ef;
    border-radius: .8rem;
    background: #fff;
}

.platform-provisioning label {
    min-width: 0;
    color: var(--zeno-navy);
    font-weight: 710;
}

.platform-provisioning input,
.platform-provisioning select {
    width: 100%;
    margin-top: .35rem;
}

.platform-provisioning button {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: .2rem;
}

@media (max-width: 48rem) {
    .platform-provisioning > form {
        grid-template-columns: 1fr;
    }

    .platform-provisioning button {
        grid-column: auto;
    }
}

@media (max-width: 36rem) {
    .platform-provisioning > form {
        padding: .85rem;
    }

    .platform-provisioning button {
        width: 100%;
    }
}

/* BKG-11D/4e-3b — platform tenant lifecycle */

.platform-tenant-detail {
    position: relative;
    overflow: hidden;
    border-color: #d8e1ef;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6f8fc 100%
        );
    box-shadow:
        0 .65rem 1.8rem rgba(6, 27, 78, .04);
}

.platform-tenant-detail::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .22rem;
    background: var(--zeno-navy-mid);
}

.platform-tenant-detail > .eyebrow {
    color: var(--zeno-navy-mid);
}

.platform-tenant-detail > h2 {
    margin-top: .2rem;
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.platform-tenant-detail__lifecycle-title,
.platform-tenant-detail__stripe-title {
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px solid #dfe6f0;
    color: var(--zeno-navy);
    font-size: .9rem;
    letter-spacing: -.015em;
}

.platform-tenant-detail__lifecycle {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .7rem;
}

.platform-tenant-detail__lifecycle form {
    margin: 0;
}

.platform-tenant-detail__stripe-title + .meta {
    max-width: 48rem;
    color: #657389;
    line-height: 1.5;
}

.platform-tenant-detail code {
    overflow-wrap: anywhere;
    color: var(--zeno-navy);
}

.platform-tenant-detail__stripe-form {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    gap: .8rem 1rem;
    align-items: end;
    margin-top: 1rem;
    padding: .9rem;
    border: 1px solid #dce4ef;
    border-radius: .75rem;
    background: #fff;
}

.platform-tenant-detail__stripe-form label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.platform-tenant-detail__stripe-form input {
    width: 100%;
    margin-top: .35rem;
}

.platform-tenant-detail__stripe-form button {
    margin: 0;
    white-space: nowrap;
}

.platform-tenants-table {
    margin-top: 1rem;
    overflow-x: auto;
    border: 1px solid #dce4ef;
    border-radius: .8rem;
    background: #fff;
}

.platform-tenants-table table {
    min-width: 48rem;
    margin: 0;
}

.platform-tenants-table thead th {
    background: #f4f6fb;
    color: #5f6d83;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.platform-tenants-table tbody td {
    vertical-align: middle;
}

.platform-tenants-table tbody td:first-child a {
    color: var(--zeno-navy);
    font-weight: 760;
}

.platform-tenants-table tbody td:first-child small {
    display: block;
    margin-top: .18rem;
    color: #6b7789;
}

.platform-tenants-table tbody td:nth-child(3) {
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.platform-tenants-table tbody td:last-child {
    white-space: nowrap;
}

@media (max-width: 48rem) {
    .platform-tenant-detail__stripe-form {
        grid-template-columns: 1fr;
    }

    .platform-tenant-detail__stripe-form button {
        justify-self: start;
    }

    .platform-tenants-table {
        border-inline: 0;
        border-radius: 0;
    }
}

@media (max-width: 36rem) {
    .platform-tenant-detail__lifecycle {
        align-items: stretch;
        flex-direction: column;
    }

    .platform-tenant-detail__lifecycle form,
    .platform-tenant-detail__lifecycle button,
    .platform-tenant-detail__stripe-form button {
        width: 100%;
    }
}

/* BKG-11D/4e-4b — platform administrative audit */

.platform-audit-table {
    margin-top: 1rem;
    overflow-x: auto;
    border: 1px solid #dce4ef;
    border-radius: .8rem;
    background: #fff;
    box-shadow:
        0 .45rem 1.4rem rgba(6, 27, 78, .025);
}

.platform-audit-table table {
    min-width: 68rem;
    margin: 0;
}

.platform-audit-table thead th {
    background: #f4f6fb;
    color: #5f6d83;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.platform-audit-table tbody td {
    vertical-align: top;
    line-height: 1.45;
}

.platform-audit-table tbody td:first-child {
    white-space: nowrap;
    color: #647188;
    font-variant-numeric: tabular-nums;
}

.platform-audit-table tbody td:nth-child(2) {
    color: var(--zeno-navy);
    font-weight: 720;
}

.platform-audit-table tbody td:nth-child(3) {
    min-width: 10rem;
    font-weight: 680;
}

.platform-audit-table tbody td:nth-child(4) {
    min-width: 10rem;
}

.platform-audit-table tbody td:nth-child(5) {
    white-space: nowrap;
    font-weight: 720;
}

.platform-audit-table tbody td:last-child {
    max-width: 28rem;
}

.platform-audit-table tbody td:last-child code {
    display: block;
    max-width: 28rem;
    overflow-wrap: anywhere;
    white-space: normal;
    color: #55647a;
    font-size: .68rem;
    line-height: 1.5;
}

@media (max-width: 48rem) {
    .platform-audit-table {
        border-inline: 0;
        border-radius: 0;
    }
}

/* BKG-11D/4f-2 — tenant selection */

.tenant-select {
    position: relative;
    max-width: 52rem;
    overflow: hidden;
    border-color: #dce6e9;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
    box-shadow:
        0 .65rem 1.8rem rgba(6, 63, 73, .04);
}

.tenant-select::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .22rem;
    background: var(--booking-accent);
}

.tenant-select > .eyebrow {
    color: var(--booking-accent-strong);
}

.tenant-select > h1 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.tenant-select__options {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1.25rem;
}

.tenant-select__option {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border-color: #dfe8eb;
    background: #fff;
}

.tenant-select__button {
    width: 100%;
    min-height: 4.75rem;
    padding: .9rem 1rem;
    text-align: left;
}

@media (max-width: 40rem) {
    .tenant-select__options {
        grid-template-columns: 1fr;
    }
}

/* BKG-11D/4f-3 — password change */

.password-change {
    position: relative;
    max-width: 42rem;
    overflow: hidden;
    border-color: #dce6e9;
    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f6fbfc 100%
        );
    box-shadow:
        0 .65rem 1.8rem rgba(6, 63, 73, .04);
}

.password-change::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .22rem;
    background: var(--booking-accent);
}

.password-change > .eyebrow {
    color: var(--booking-accent-strong);
}

.password-change > h1 {
    color: var(--zeno-navy);
    letter-spacing: -.025em;
}

.password-change > form {
    display: grid;
    gap: .65rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid #dfe8eb;
    border-radius: .8rem;
    background: #fff;
}

.password-change > form label {
    color: var(--zeno-navy);
    font-weight: 710;
}

.password-change > form input {
    width: 100%;
}

.password-change > form small {
    margin-top: -.35rem;
    color: #68768a;
}

.password-change > form .actions {
    margin-top: .35rem;
}

@media (max-width: 36rem) {
    .password-change > form {
        padding: .85rem;
    }

    .password-change > form .actions button {
        width: 100%;
    }
}

/* BKG-12C/2b — platform directory */

.platform-directory-toolbar {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

.platform-directory-toolbar h2 {
    margin: .2rem 0 0;
}

.platform-directory-filter {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr))
        auto;
    gap: .8rem;
    align-items: end;
}

.platform-directory-filter label {
    min-width: 0;
}

.platform-directory-filter input,
.platform-directory-filter select {
    width: 100%;
    margin-top: .35rem;
}

.platform-tenant-profile {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: .7rem;
    margin: 1rem 0 1.35rem;
}

.platform-tenant-profile > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
    padding: .75rem;
    border: 1px solid #dfe6f0;
    border-radius: .7rem;
    background: #fff;
}

.platform-tenant-profile span {
    color: #6a7789;
    font-size: .78rem;
    font-weight: 700;
}

.platform-tenant-profile strong {
    overflow-wrap: anywhere;
    color: var(--zeno-navy);
    font-size: .92rem;
}

.platform-pagination {
    display: flex;
    gap: .75rem;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.platform-pagination span {
    color: #617086;
    font-weight: 700;
}

.platform-audit-table code {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 64rem) {
    .platform-directory-filter {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .platform-tenant-profile {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 40rem) {
    .platform-directory-filter,
    .platform-tenant-profile {
        grid-template-columns: 1fr;
    }

    .platform-pagination {
        flex-wrap: wrap;
    }
}

/* BKG-13 — Professional Readiness */

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

.activity-timeline {
    display: grid;
    gap: .65rem;
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}

.activity-timeline li {
    display: grid;
    grid-template-columns: minmax(8rem, auto) minmax(12rem, 1fr) auto;
    gap: .45rem 1rem;
    align-items: center;
    padding: .8rem 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.activity-timeline li small {
    grid-column: 2 / -1;
    overflow-wrap: anywhere;
}

.readiness-panel {
    margin: 1.25rem 0;
    padding: 1rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: var(--surface);
}

.readiness-panel--ready {
    border-color: #9fcfc3;
    background: #f5fbf9;
}

.readiness-panel--pending {
    border-color: #e8c77d;
    background: #fffaf0;
}

.readiness-panel__header,
.integration-panel__header,
.integration-account-card > header {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    justify-content: space-between;
}

.readiness-panel__header h3,
.integration-panel__header h2 {
    margin: .15rem 0 0;
}

.readiness-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin-top: 1rem;
}

.readiness-item {
    display: flex;
    gap: .55rem;
    align-items: center;
    min-width: 0;
    padding: .65rem .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: #fff;
}

.readiness-item > span {
    display: inline-grid;
    width: 1.45rem;
    height: 1.45rem;
    flex: 0 0 1.45rem;
    place-items: center;
    border-radius: 50%;
    font-weight: 800;
}

.readiness-item.is-ready > span {
    background: #e1f3ed;
    color: #136851;
}

.readiness-item.is-missing > span {
    background: #fff0cf;
    color: #875900;
}

.status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
}

.status-pill--success {
    background: #e1f3ed;
    color: #136851;
}

.status-pill--warning {
    background: #fff0cf;
    color: #875900;
}

.integration-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.integration-panel:last-child {
    grid-column: 1 / -1;
}

.integration-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    margin: 1rem 0;
}

.integration-facts > div {
    min-width: 0;
    padding: .65rem .75rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background: var(--surface-muted, #f7f9fb);
}

.integration-facts dt {
    margin-bottom: .2rem;
    color: #68768a;
    font-size: .75rem;
    font-weight: 720;
}

.integration-facts dd {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--zeno-navy);
    font-weight: 680;
}

.integration-account-card {
    display: grid;
    gap: .75rem;
    margin: .85rem 0;
    padding: .9rem;
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    background: #fff;
}

.integration-account-card > header > div {
    display: grid;
    gap: .2rem;
}

.integration-requirements {
    padding: .7rem .85rem;
    border-left: .2rem solid #d9a438;
    background: #fffaf0;
}

.integration-requirements ul {
    margin: .45rem 0 0;
    padding-left: 1.2rem;
}

.integration-requirements code,
.break-all {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.integration-test-form {
    margin-top: 1rem;
}

.alert--compact {
    margin: .5rem 0;
    padding: .65rem .75rem;
}

@media (max-width: 48rem) {
    .integration-grid,
    .integration-facts,
    .readiness-grid {
        grid-template-columns: 1fr;
    }

    .integration-panel:last-child {
        grid-column: auto;
    }

    .pagination,
    .readiness-panel__header,
    .integration-panel__header,
    .integration-account-card > header {
        align-items: stretch;
        flex-direction: column;
    }

    .activity-timeline li {
        grid-template-columns: 1fr;
    }

    .activity-timeline li small {
        grid-column: auto;
    }
}

/* BKG-14/2 — Stripe Connect self-service tenant */

.payment-connect {
    display: grid;
    grid-template-columns:
        minmax(0, 1.55fr)
        minmax(18rem, .65fr);
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.25rem;
}

.payment-connect__main {
    min-width: 0;
}

.payment-connect__header {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: flex-start;
}

.payment-connect__header h2,
.payment-connect__guide h2 {
    margin-top: .2rem;
    color: var(--zeno-navy);
}

.payment-connect__intro {
    max-width: 48rem;
    margin-bottom: 0;
    color: var(--muted);
}

.payment-connect__status {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
}

.payment-connect__facts {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1.25rem;
}

.payment-connect__facts > div {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid #dfe7ee;
    border-radius: .72rem;
    background: var(--surface-subtle);
}

.payment-connect__facts span {
    display: block;
    margin-bottom: .25rem;
    color: var(--muted);
    font-size: var(--font-xs);
    font-weight: 750;
}

.payment-connect__facts strong {
    display: block;
    color: var(--zeno-navy);
    font-size: .96rem;
}

.payment-connect__message {
    max-width: none;
    margin-bottom: 0;
}

.payment-connect__actions {
    margin-top: 1rem;
}

.payment-connect__actions form {
    margin: 0;
}

.payment-connect__last-check,
.payment-connect__permission {
    margin-bottom: 0;
}

.payment-connect__guide {
    min-width: 0;
}

.payment-connect__guide h2 {
    margin-bottom: 1rem;
}

.payment-connect__steps {
    display: grid;
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.payment-connect__steps li {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .7rem;
    align-items: center;
}

.payment-connect__steps strong {
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: .58rem;
    background: var(--booking-accent-soft);
    color: var(--booking-accent-strong);
    font-size: .75rem;
}

.payment-connect__steps span {
    color: var(--ink-soft);
    font-size: .84rem;
    line-height: 1.45;
}

.payment-connect__privacy {
    margin: 1.1rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid var(--line);
    line-height: 1.55;
}

@media (max-width: 70rem) {
    .payment-connect {
        grid-template-columns: 1fr;
    }

    .payment-connect__guide {
        display: grid;
        grid-template-columns:
            minmax(0, .45fr)
            minmax(0, 1fr);
        gap: 0 1.25rem;
    }

    .payment-connect__guide > .eyebrow,
    .payment-connect__guide > h2 {
        grid-column: 1;
    }

    .payment-connect__steps,
    .payment-connect__privacy {
        grid-column: 2;
    }

    .payment-connect__steps {
        grid-row: 1 / span 3;
    }
}

@media (max-width: 48rem) {
    .payment-connect__header {
        flex-direction: column;
    }

    .payment-connect__status {
        justify-content: flex-start;
    }

    .payment-connect__facts {
        grid-template-columns: 1fr;
    }

    .payment-connect__guide {
        display: block;
    }

    .payment-connect__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .payment-connect__actions > *,
    .payment-connect__actions form,
    .payment-connect__actions button,
    .payment-connect__actions .button {
        width: 100%;
    }
}

@media (max-width: 24rem) {
    .payment-connect__facts > div {
        padding: .8rem;
    }
}
