/* /Components/Layout/MainLayout.razor.rz.scp.css */
.site[b-0jlysn5k5o] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.site-header[b-0jlysn5k5o] {
    background: var(--brand, #1f2a44);
    color: #fff;
    padding: 0.9rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 2rem;
}

.site-nav[b-0jlysn5k5o] {
    display: flex;
    gap: 1.25rem;
}

.site-nav[b-0jlysn5k5o]  a {
    color: #cbd5e1;
    text-decoration: none;
    font-size: 0.95rem;
}

.site-nav[b-0jlysn5k5o]  a:hover {
    color: #fff;
}

.brand[b-0jlysn5k5o] {
    color: #fff;
    text-decoration: none;
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.brand-tagline[b-0jlysn5k5o] {
    color: #cbd5e1;
    font-size: 0.8rem;
    font-style: italic;
    margin-left: -1.25rem;
}

.site-nav .return-link[b-0jlysn5k5o] {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
    padding: 0.3rem 0.85rem;
    transition: background 0.15s, border-color 0.15s;
}

.site-nav .return-link:hover[b-0jlysn5k5o] {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.7);
}

.site-main[b-0jlysn5k5o] {
    flex: 1;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem;
    box-sizing: border-box;
}

.site-footer[b-0jlysn5k5o] {
    padding: 0.75rem 1.5rem;
    color: #6b7280;
    font-size: 0.85rem;
    border-top: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.footer-links[b-0jlysn5k5o] {
    display: flex;
    gap: 1.25rem;
}

.footer-links a[b-0jlysn5k5o] {
    color: #6b7280;
    text-decoration: none;
}

.footer-links a:hover[b-0jlysn5k5o] {
    color: var(--brand, #1f2a44);
    text-decoration: underline;
}

@media (max-width: 640px) {
    .site-header[b-0jlysn5k5o] {
        padding: 0.7rem 0.9rem;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .brand[b-0jlysn5k5o] {
        font-size: 1rem;
    }

    .site-nav[b-0jlysn5k5o] {
        gap: 0.9rem;
    }

    .site-nav[b-0jlysn5k5o]  a {
        font-size: 0.85rem;
    }

    .site-main[b-0jlysn5k5o] {
        padding: 0.75rem;
    }
}

/* ── modern header nav ─────────────────────────────────────────
   Brand + tagline on the left, pill links pushed right, the
   current page highlighted, "Return to site" as a gold button. */

.site-header[b-0jlysn5k5o] {
    gap: 0.9rem;
    padding: 0.85rem 1.6rem;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.18);
}

.brand[b-0jlysn5k5o] {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    letter-spacing: 0.01em;
}

.brand-tagline[b-0jlysn5k5o] {
    margin-left: 0;
    color: #e7cf9f;
    font-size: 0.74rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-style: normal;
    opacity: 0.9;
    align-self: center;
    padding-top: 0.15rem;
}

.site-nav[b-0jlysn5k5o] {
    margin-left: auto;
    align-items: center;
    gap: 0.3rem;
}

.site-nav[b-0jlysn5k5o]  a {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    font-weight: 500;
    padding: 0.48rem 1rem;
    border-radius: 999px;
    line-height: 1;
    transition: background 0.16s ease, color 0.16s ease;
}

.site-nav[b-0jlysn5k5o]  a:hover {
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
}

.site-nav[b-0jlysn5k5o]  a.active {
    background: rgba(255, 255, 255, 0.14);
    color: #e7cf9f;
    font-weight: 700;
}

.site-nav .return-link[b-0jlysn5k5o] {
    margin-left: 0.6rem;
    border: 0;
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    font-weight: 700;
    padding: 0.52rem 1.15rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
}

.site-nav .return-link:hover[b-0jlysn5k5o] {
    background: linear-gradient(135deg, #eed9ab, #d9b566);
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.30);
    color: #241a04;
}

.return-arrow[b-0jlysn5k5o] {
    font-size: 0.85em;
    transition: transform 0.14s ease;
}

.return-link:hover .return-arrow[b-0jlysn5k5o] {
    transform: translate(1px, -1px);
}

@media (max-width: 640px) {
    .brand-tagline[b-0jlysn5k5o] {
        display: none;
    }

    .site-nav[b-0jlysn5k5o] {
        margin-left: 0;
        width: 100%;
        justify-content: flex-start;
    }

    .site-nav[b-0jlysn5k5o]  a {
        padding: 0.42rem 0.75rem;
        font-size: 0.85rem;
    }

    .site-nav .return-link[b-0jlysn5k5o] {
        margin-left: auto;
    }
}

.powered-by[b-0jlysn5k5o] {
    color: #9ca3af;
    text-decoration: none;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.powered-by strong[b-0jlysn5k5o] {
    color: #8a672a;
    font-weight: 700;
}

.powered-by:hover strong[b-0jlysn5k5o] {
    color: #cfa84e;
}
/* /Components/Pages/B2bPortal.razor.rz.scp.css */
.lead[b-4ekiaqhql2] {
    color: #4b5563;
    max-width: 560px;
}

.desk-head[b-4ekiaqhql2] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
}

.who[b-4ekiaqhql2] {
    font-weight: 700;
    color: #047857;
    background: #f0fdf9;
    border: 1px solid #6ee7b7;
    border-radius: 99px;
    padding: 0.2rem 0.8rem;
    font-size: 0.85rem;
}

/* ── command bar ───────────────────────────────────────────── */

.bar[b-4ekiaqhql2] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.8rem 1rem;
    margin-bottom: 1.25rem;
    position: sticky;
    top: 0;
    z-index: 5;
}

.bar-item label[b-4ekiaqhql2] {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin-bottom: 0.25rem;
}

.bar-item input[type="date"][b-4ekiaqhql2] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-family: inherit;
    font-size: 0.9rem;
}

.step[b-4ekiaqhql2] {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
}

.step button[b-4ekiaqhql2] {
    width: 28px;
    height: 32px;
    border: 0;
    background: #f3f4f6;
    font-size: 1rem;
    cursor: pointer;
    color: #374151;
}

.step button:hover[b-4ekiaqhql2] {
    background: #e5e7eb;
}

.step span[b-4ekiaqhql2] {
    min-width: 2em;
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.go[b-4ekiaqhql2] {
    margin-left: auto;
    padding: 0.55rem 1.3rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
}

.go:hover:not(:disabled)[b-4ekiaqhql2] {
    background: var(--brand-dark, #16203a);
}

.go:disabled[b-4ekiaqhql2] {
    opacity: 0.6;
}

.nudge[b-4ekiaqhql2] {
    color: #6b7280;
}

/* ── offers + docket layout ────────────────────────────────── */

.desk[b-4ekiaqhql2] {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 1.25rem;
    align-items: start;
}

.offers[b-4ekiaqhql2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.offer[b-4ekiaqhql2] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.9rem 1rem;
}

.offer.picked[b-4ekiaqhql2] {
    border-color: var(--brand-accent, #1d4ed8);
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.15);
}

.offer.soldout[b-4ekiaqhql2] {
    opacity: 0.65;
}

.offer-head[b-4ekiaqhql2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}

.offer-name[b-4ekiaqhql2] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
}

.chip[b-4ekiaqhql2] {
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 99px;
    padding: 0.18rem 0.6rem;
    white-space: nowrap;
}

.chip.ok[b-4ekiaqhql2]    { background: #d1fae5; color: #065f46; }
.chip.tight[b-4ekiaqhql2] { background: #ffedd5; color: #c2410c; }
.chip.no[b-4ekiaqhql2]    { background: #e5e7eb; color: #6b7280; }

.plans-row[b-4ekiaqhql2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pill[b-4ekiaqhql2] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    border-radius: 9px;
    padding: 0.45rem 0.7rem;
    font-family: inherit;
    cursor: pointer;
}

.pill:hover[b-4ekiaqhql2] {
    border-color: var(--brand-accent, #1d4ed8);
}

.pill.on[b-4ekiaqhql2] {
    background: var(--brand, #1f2a44);
    border-color: var(--brand, #1f2a44);
    color: #fff;
}

.pill-plan[b-4ekiaqhql2] {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #9ca3af;
}

.pill.on .pill-plan[b-4ekiaqhql2] {
    color: #93c5fd;
}

.pill-rate[b-4ekiaqhql2] {
    font-weight: 800;
    font-size: 0.95rem;
}

.pill-per[b-4ekiaqhql2] {
    font-size: 0.7rem;
    color: #9ca3af;
}

.norate[b-4ekiaqhql2] {
    font-size: 0.8rem;
    color: #9ca3af;
}

/* ── the docket ────────────────────────────────────────────── */

.docket[b-4ekiaqhql2] {
    position: sticky;
    top: 76px;
    background: var(--brand, #1f2a44);
    color: #fff;
    border-radius: 14px;
    padding: 1rem 1.1rem;
}

.docket.empty[b-4ekiaqhql2] {
    color: #94a3b8;
    font-size: 0.9rem;
}

.docket-title[b-4ekiaqhql2] {
    font-weight: 800;
    margin-bottom: 0.6rem;
}

.lines[b-4ekiaqhql2] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.3rem 0.75rem;
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
}

.lines dt[b-4ekiaqhql2] {
    color: #94a3b8;
}

.lines dd[b-4ekiaqhql2] {
    margin: 0;
    text-align: right;
}

.lines dd.strong[b-4ekiaqhql2] {
    font-weight: 800;
    font-size: 1rem;
}

.gst-line[b-4ekiaqhql2] {
    display: block;
    font-size: 0.82rem;
    color: #cbd5e1;
    margin-bottom: 0.7rem;
}

.docket-input[b-4ekiaqhql2] {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-family: inherit;
    font-size: 0.88rem;
}

.docket-input[b-4ekiaqhql2]::placeholder {
    color: #94a3b8;
}

.commit-errors[b-4ekiaqhql2] {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1.1rem;
    color: #fca5a5;
    font-size: 0.82rem;
}

.act[b-4ekiaqhql2] {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 9px;
    padding: 0.6rem;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    margin-top: 0.5rem;
}

.act:disabled[b-4ekiaqhql2] {
    opacity: 0.45;
    cursor: default;
}

.act.hold[b-4ekiaqhql2] {
    background: #fbbf24;
    color: #451a03;
}

.act.hold:hover:not(:disabled)[b-4ekiaqhql2] {
    background: #fcd34d;
}

.act.confirm[b-4ekiaqhql2] {
    background: #34d399;
    color: #052e22;
}

.act.confirm:hover:not(:disabled)[b-4ekiaqhql2] {
    background: #6ee7b7;
}

.agree[b-4ekiaqhql2] {
    display: block;
    font-size: 0.78rem;
    color: #cbd5e1;
    margin-top: 0.7rem;
}

.docket-fine[b-4ekiaqhql2] {
    font-size: 0.72rem;
    color: #94a3b8;
    margin: 0.6rem 0 0;
}

/* ── success ───────────────────────────────────────────────── */

.done[b-4ekiaqhql2] {
    max-width: 480px;
    text-align: center;
    margin: 2rem auto;
}

.done-mark[b-4ekiaqhql2] {
    font-size: 3rem;
}

.done-ref[b-4ekiaqhql2] {
    color: #4b5563;
}

.done-card[b-4ekiaqhql2] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: #374151;
}

.done-amount[b-4ekiaqhql2] {
    font-weight: 800;
    color: var(--brand, #1f2a44);
    font-size: 1.1rem;
}

.done-note[b-4ekiaqhql2] {
    font-size: 0.8rem;
    color: #b45309;
}

.done-actions[b-4ekiaqhql2] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1rem;
}

.share[b-4ekiaqhql2] {
    padding: 0.55rem 1.1rem;
    background: #25d366;
    color: #073b1c;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
}

.again[b-4ekiaqhql2] {
    padding: 0.55rem 1.1rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
}

/* ── mobile ────────────────────────────────────────────────── */

@media (max-width: 760px) {
    .desk[b-4ekiaqhql2] {
        grid-template-columns: 1fr;
    }

    .docket[b-4ekiaqhql2] {
        position: static;
    }

    .bar[b-4ekiaqhql2] {
        position: static;
    }

    .go[b-4ekiaqhql2] {
        margin-left: 0;
        width: 100%;
    }
}
/* /Components/Pages/BookingStatus.razor.rz.scp.css */
.lead[b-9k429lsnyd] {
    color: #4b5563;
}

.ask[b-9k429lsnyd] {
    max-width: 460px;
}

.ask label[b-9k429lsnyd] {
    display: block;
    font-weight: 600;
    color: #374151;
    margin: 0.9rem 0 0.35rem;
}

.ask-row[b-9k429lsnyd] {
    display: flex;
    gap: 0.5rem;
}

.ask-row input[b-9k429lsnyd] {
    flex: 1;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    font-family: inherit;
}

.check[b-9k429lsnyd] {
    padding: 0.55rem 1.1rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.check:disabled[b-9k429lsnyd] {
    opacity: 0.5;
}

.st-error[b-9k429lsnyd] {
    margin-top: 0.6rem;
    color: #b91c1c;
    font-weight: 600;
    font-size: 0.9rem;
}

/* ── full-width hero ───────────────────────────────────────── */

.stx-hero[b-9k429lsnyd] {
    width: 100%;
    box-sizing: border-box;
    border-radius: 20px;
    padding: 2rem 2.25rem 1.75rem;
    color: #fff;
    background: linear-gradient(135deg, var(--brand, #1f2a44) 0%, var(--brand-light, #2c3e6b) 55%, var(--brand-accent, #1d4ed8) 130%);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.28);
    animation: stx-in-b-9k429lsnyd 0.4s cubic-bezier(0.2, 1.1, 0.3, 1);
}

.stx-hero.warn[b-9k429lsnyd] {
    background: linear-gradient(135deg, #78350f 0%, #b45309 75%, #f59e0b 140%);
}

.stx-hero.bad[b-9k429lsnyd] {
    background: linear-gradient(135deg, #450a0a 0%, #7f1d1d 75%, #b91c1c 140%);
}

@keyframes stx-in-b-9k429lsnyd {
    from { transform: translateY(36px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

.hero-row[b-9k429lsnyd] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.stx-hotel[b-9k429lsnyd] {
    font-weight: 800;
    font-size: 1.35rem;
}

.stx-ref[b-9k429lsnyd] {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    letter-spacing: 0.15em;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 0.3rem;
}

.st-chip[b-9k429lsnyd] {
    font-size: 0.75rem;
    font-weight: 800;
    padding: 0.35rem 0.95rem;
    border-radius: 99px;
    white-space: nowrap;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
}

.stx-count[b-9k429lsnyd] {
    margin: 1.4rem 0 1.6rem;
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.hero-legs[b-9k429lsnyd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 620px;
}

.leg[b-9k429lsnyd] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.leg:last-child[b-9k429lsnyd] {
    align-items: flex-end;
    text-align: right;
}

.leg.mid[b-9k429lsnyd] {
    align-items: center;
    text-align: center;
}

.leg-label[b-9k429lsnyd] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: rgba(255, 255, 255, 0.6);
}

.leg-value[b-9k429lsnyd] {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
}

.leg-big[b-9k429lsnyd] {
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
}

.leg-line[b-9k429lsnyd] {
    width: 90px;
    border-top: 2px dashed rgba(255, 255, 255, 0.45);
    margin-top: 0.25rem;
    position: relative;
}

.leg-line[b-9k429lsnyd]::after {
    content: "⌂";
    position: absolute;
    right: -7px;
    top: -0.8em;
    color: #fff;
    font-size: 0.85rem;
}

.hero-room[b-9k429lsnyd] {
    margin-top: 1.1rem;
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.8);
}

/* ── the two aligned panels ────────────────────────────────── */

.stx-grid[b-9k429lsnyd] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    margin: 1.25rem 0;
}

.panel[b-9k429lsnyd] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 1.4rem 1.6rem;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.05);
}

.panel h3[b-9k429lsnyd] {
    margin: 0 0 1.1rem;
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #9ca3af;
}

.panel-note[b-9k429lsnyd] {
    color: #4b5563;
    font-size: 0.9rem;
}

/* journey timeline */
.journey[b-9k429lsnyd] {
    display: flex;
    justify-content: space-between;
    margin: 0.5rem 0 1.2rem;
    position: relative;
}

.journey[b-9k429lsnyd]::before {
    content: "";
    position: absolute;
    left: 9%;
    right: 9%;
    top: 8px;
    border-top: 2px solid #e5e7eb;
}

.jstep[b-9k429lsnyd] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    flex: 1;
}

.jdot[b-9k429lsnyd] {
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #e5e7eb;
    border: 3px solid #fff;
    box-shadow: 0 0 0 1px #d1d5db;
}

.jstep.done .jdot[b-9k429lsnyd] {
    background: #10b981;
    box-shadow: 0 0 0 1px #10b981;
}

.jstep.next .jdot[b-9k429lsnyd] {
    background: #fff;
    box-shadow: 0 0 0 2px var(--brand-accent, #1d4ed8);
    animation: jpulse-b-9k429lsnyd 1.6s ease-in-out infinite;
}

@keyframes jpulse-b-9k429lsnyd {
    0%, 100% { box-shadow: 0 0 0 2px var(--brand-accent, #1d4ed8); }
    50% { box-shadow: 0 0 0 6px rgba(29, 78, 216, 0.25); }
}

.jlabel[b-9k429lsnyd] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #9ca3af;
    text-align: center;
}

.jstep.done .jlabel[b-9k429lsnyd] { color: #065f46; }
.jstep.next .jlabel[b-9k429lsnyd] { color: var(--brand-accent, #1d4ed8); }

/* payments */
.paybar-head[b-9k429lsnyd] {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    font-weight: 700;
    color: #374151;
    margin-bottom: 0.4rem;
}

.paybar[b-9k429lsnyd] {
    height: 12px;
    border-radius: 99px;
    background: #eef1f5;
    overflow: hidden;
}

.paybar-fill[b-9k429lsnyd] {
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg, #10b981, #34d399);
    animation: fill-in-b-9k429lsnyd 0.8s ease;
}

@keyframes fill-in-b-9k429lsnyd {
    from { width: 0; }
}

.paybar-note[b-9k429lsnyd] {
    margin-top: 0.4rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: #b45309;
}

.st-pay-title[b-9k429lsnyd] {
    margin-top: 1.1rem;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #9ca3af;
}

.pay-row[b-9k429lsnyd] {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px dashed #e5e7eb;
    font-size: 0.9rem;
    color: #374151;
}

.pay-amt[b-9k429lsnyd] {
    font-weight: 800;
    color: #065f46;
}

.st-again[b-9k429lsnyd] {
    font-size: 0.9rem;
    cursor: pointer;
}

/* ── mobile ────────────────────────────────────────────────── */

@media (max-width: 700px) {
    .stx-hero[b-9k429lsnyd] {
        padding: 1.4rem 1.3rem;
    }

    .stx-count[b-9k429lsnyd] {
        font-size: 1.4rem;
        margin: 1rem 0 1.2rem;
    }

    .leg-big[b-9k429lsnyd] {
        font-size: 1.05rem;
    }

    .leg-line[b-9k429lsnyd] {
        width: 44px;
    }

    .stx-grid[b-9k429lsnyd] {
        grid-template-columns: 1fr;
    }
}

/* ── modern match ──────────────────────────────────────────────
   Brings the lookup form in line with the reserve page: serif
   heading, card form, gold action button. */

h1[b-9k429lsnyd] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
    color: var(--brand, #1f2a44);
}

.lead[b-9k429lsnyd] {
    color: #4b5563;
    max-width: 560px;
}

.ask[b-9k429lsnyd] {
    background: #fff;
    border-radius: 18px;
    padding: 1.4rem 1.6rem 1.6rem;
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.09);
    max-width: 540px;
    margin-top: 1.25rem;
}

.ask label[b-9k429lsnyd] {
    display: block;
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #9ca3af;
    margin: 1rem 0 0.35rem;
}

.ask label:first-child[b-9k429lsnyd] {
    margin-top: 0;
}

.ask input[b-9k429lsnyd] {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #d8dbe1;
    border-radius: 12px;
    padding: 0.65rem 0.8rem;
    font-family: inherit;
    font-size: 0.95rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ask input:focus[b-9k429lsnyd] {
    outline: none;
    border-color: #cfa84e;
    box-shadow: 0 0 0 3px rgba(207, 168, 78, 0.18);
}

.ask-row[b-9k429lsnyd] {
    display: flex;
    gap: 0.6rem;
}

.ask-row input[b-9k429lsnyd] {
    flex: 1;
}

.check[b-9k429lsnyd] {
    border: 0;
    border-radius: 12px;
    padding: 0.65rem 1.25rem;
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(138, 103, 42, 0.28);
    transition: transform 0.14s ease, box-shadow 0.14s ease, opacity 0.14s ease;
}

.check:hover:not(:disabled)[b-9k429lsnyd] {
    background: linear-gradient(135deg, #eed9ab, #d9b566);
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(138, 103, 42, 0.34);
}

.check:disabled[b-9k429lsnyd] {
    opacity: 0.45;
    cursor: default;
    box-shadow: none;
}

.st-error[b-9k429lsnyd] {
    color: #b91c1c;
    font-size: 0.88rem;
    margin: 0.75rem 0 0;
}

/* ── result view polish ────────────────────────────────────────
   Serif display, gold reference pill, richer cards and journey. */

.stx-hero[b-9k429lsnyd] {
    border-radius: 22px;
    padding: 1.6rem 1.8rem;
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.22);
}

.stx-hotel[b-9k429lsnyd] {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    font-weight: 600;
}

.stx-ref[b-9k429lsnyd] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.4rem;
    letter-spacing: normal;
    font-family: inherit;
}

.ref-pill[b-9k429lsnyd] {
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    font-weight: 800;
    font-size: 0.8rem;
    padding: 0.22rem 0.7rem;
    border-radius: 999px;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

.ref-guest[b-9k429lsnyd] {
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.92rem;
}

.stx-count[b-9k429lsnyd] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
}

.panel[b-9k429lsnyd] {
    border-radius: 18px;
    border: 0;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    padding: 1.3rem 1.5rem;
}

.panel h3[b-9k429lsnyd] {
    color: #8a672a;
}

.jdot[b-9k429lsnyd] {
    box-shadow: 0 0 0 3px rgba(207, 168, 78, 0.0);
    transition: box-shadow 0.2s ease;
}

.jstep.done .jdot[b-9k429lsnyd] {
    background: linear-gradient(135deg, #2f6b4f, #1d4a35);
    border-color: #2f6b4f;
}

.jstep.next .jdot[b-9k429lsnyd] {
    border-color: #cfa84e;
    box-shadow: 0 0 0 3px rgba(207, 168, 78, 0.25);
}

.jstep.next .jlabel[b-9k429lsnyd] {
    color: #8a672a;
}

.st-again[b-9k429lsnyd] {
    display: inline-block;
    margin-top: 1.25rem;
    padding: 0.55rem 1.2rem;
    border: 1.5px solid #cfa84e;
    border-radius: 999px;
    color: #8a672a;
    font-weight: 700;
    font-size: 0.88rem;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, transform 0.13s ease;
}

.st-again:hover[b-9k429lsnyd] {
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    transform: translateY(-1px);
}

/* With the payments panel hidden (travel-partner bookings), the journey
   panel takes the full width so the timeline can breathe. */
.stx-grid.single[b-9k429lsnyd] {
    grid-template-columns: 1fr;
}

.stx-grid.single .journey[b-9k429lsnyd] {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    padding: 0.75rem 0 0;
}

.stx-grid.single .panel-note[b-9k429lsnyd] {
    text-align: center;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
/* /Components/Pages/BookOnline.razor.rz.scp.css */
.stay-strip[b-bdurq7dd5z] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    align-items: baseline;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    margin-bottom: 1.25rem;
    font-size: 0.9rem;
    color: #4b5563;
}

.strip-hotel[b-bdurq7dd5z] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
}

.ask[b-bdurq7dd5z] {
    max-width: 460px;
    margin-bottom: 1.25rem;
}

.ask label[b-bdurq7dd5z] {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}

.ask-row[b-bdurq7dd5z] {
    display: flex;
    gap: 0.5rem;
}

.ask-row input[b-bdurq7dd5z] {
    flex: 1;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    font-family: inherit;
}

.ask-row input:focus[b-bdurq7dd5z] {
    outline: 2px solid var(--brand-accent, #1d4ed8);
    border-color: transparent;
}

.check[b-bdurq7dd5z] {
    padding: 0.55rem 1.1rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.check:hover:not(:disabled)[b-bdurq7dd5z] {
    background: var(--brand-dark, #16203a);
}

.check:disabled[b-bdurq7dd5z] {
    opacity: 0.5;
    cursor: default;
}

.mobile-error[b-bdurq7dd5z] {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #b91c1c;
}

.otp-dev[b-bdurq7dd5z] {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: var(--brand-accent, #1d4ed8);
    background: #eff6ff;
    border: 1px dashed #93c5fd;
    border-radius: 7px;
    padding: 0.4rem 0.7rem;
    display: inline-block;
}

.mobile-hint[b-bdurq7dd5z] {
    margin: 0.4rem 0 0;
    font-size: 0.78rem;
    color: #9ca3af;
}

.verdict[b-bdurq7dd5z] {
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    margin-bottom: 1.25rem;
    max-width: 640px;
}

.verdict p[b-bdurq7dd5z] {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
}

.verdict.warn[b-bdurq7dd5z] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #78350f;
}

.verdict.ok[b-bdurq7dd5z] {
    background: #f0fdf9;
    border: 1px solid #6ee7b7;
    color: #065f46;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    align-items: baseline;
}

.switch[b-bdurq7dd5z] {
    font-size: 0.85rem;
    cursor: pointer;
}

.plans[b-bdurq7dd5z] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    max-width: 900px;
}

.plan[b-bdurq7dd5z] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1rem 1.1rem;
}

.plan-code[b-bdurq7dd5z] {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: #9ca3af;
}

.plan-label[b-bdurq7dd5z] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
    margin: 0.15rem 0 0.6rem;
}

.plan-rate[b-bdurq7dd5z] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #065f46;
}

.plan-rate .per[b-bdurq7dd5z] {
    font-size: 0.8rem;
    font-weight: 500;
    color: #6b7280;
}

.plan-total[b-bdurq7dd5z] {
    font-size: 0.85rem;
    color: #4b5563;
    margin-top: 0.2rem;
}

.plan-season[b-bdurq7dd5z] {
    margin-top: 0.5rem;
    font-size: 0.72rem;
    color: #9ca3af;
}

.fine[b-bdurq7dd5z] {
    font-size: 0.78rem;
    color: #9ca3af;
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .ask-row[b-bdurq7dd5z] {
        flex-direction: column;
    }
}
/* /Components/Pages/GuestReserve.razor.rz.scp.css */
.lead[b-k4nrb9oa5j] {
    color: #4b5563;
    max-width: 560px;
}

.desk-head[b-k4nrb9oa5j] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
}

.who[b-k4nrb9oa5j] {
    font-weight: 700;
    color: #047857;
    background: #f0fdf9;
    border: 1px solid #6ee7b7;
    border-radius: 99px;
    padding: 0.2rem 0.8rem;
    font-size: 0.85rem;
}

/* ── command bar ───────────────────────────────────────────── */

.bar[b-k4nrb9oa5j] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.8rem 1rem;
    margin-bottom: 1.25rem;
    position: sticky;
    top: 0;
    z-index: 5;
}

.bar-item label[b-k4nrb9oa5j] {
    display: block;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin-bottom: 0.25rem;
}

.bar-item input[type="date"][b-k4nrb9oa5j] {
    padding: 0.4rem 0.5rem;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    font-family: inherit;
    font-size: 0.9rem;
}

.step[b-k4nrb9oa5j] {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 7px;
    overflow: hidden;
}

.step button[b-k4nrb9oa5j] {
    width: 28px;
    height: 32px;
    border: 0;
    background: #f3f4f6;
    font-size: 1rem;
    cursor: pointer;
    color: #374151;
}

.step button:hover[b-k4nrb9oa5j] {
    background: #e5e7eb;
}

.step span[b-k4nrb9oa5j] {
    min-width: 2em;
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
}

.go[b-k4nrb9oa5j] {
    margin-left: auto;
    padding: 0.55rem 1.3rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
}

.go:hover:not(:disabled)[b-k4nrb9oa5j] {
    background: var(--brand-dark, #16203a);
}

.go:disabled[b-k4nrb9oa5j] {
    opacity: 0.6;
}

.nudge[b-k4nrb9oa5j] {
    color: #6b7280;
}

/* ── offers + docket layout ────────────────────────────────── */

.desk[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 1.25rem;
    align-items: start;
}

.offers[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.offer[b-k4nrb9oa5j] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 0.9rem 1rem;
}

.offer.picked[b-k4nrb9oa5j] {
    border-color: var(--brand-accent, #1d4ed8);
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.15);
}

.offer.soldout[b-k4nrb9oa5j] {
    opacity: 0.65;
}

.offer-head[b-k4nrb9oa5j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}

.offer-name[b-k4nrb9oa5j] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
}

.chip[b-k4nrb9oa5j] {
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 99px;
    padding: 0.18rem 0.6rem;
    white-space: nowrap;
}

.chip.ok[b-k4nrb9oa5j]    { background: #d1fae5; color: #065f46; }
.chip.tight[b-k4nrb9oa5j] { background: #ffedd5; color: #c2410c; }
.chip.no[b-k4nrb9oa5j]    { background: #e5e7eb; color: #6b7280; }

.plans-row[b-k4nrb9oa5j] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.pill[b-k4nrb9oa5j] {
    display: flex;
    align-items: baseline;
    gap: 0.3rem;
    border: 1px solid #d1d5db;
    background: #f9fafb;
    border-radius: 9px;
    padding: 0.45rem 0.7rem;
    font-family: inherit;
    cursor: pointer;
}

.pill:hover[b-k4nrb9oa5j] {
    border-color: var(--brand-accent, #1d4ed8);
}

.pill.on[b-k4nrb9oa5j] {
    background: var(--brand, #1f2a44);
    border-color: var(--brand, #1f2a44);
    color: #fff;
}

.pill-plan[b-k4nrb9oa5j] {
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #9ca3af;
}

.pill.on .pill-plan[b-k4nrb9oa5j] {
    color: #93c5fd;
}

.pill-rate[b-k4nrb9oa5j] {
    font-weight: 800;
    font-size: 0.95rem;
}

.pill-per[b-k4nrb9oa5j] {
    font-size: 0.7rem;
    color: #9ca3af;
}

.norate[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #9ca3af;
}

/* ── the docket ────────────────────────────────────────────── */

.docket[b-k4nrb9oa5j] {
    position: sticky;
    top: 76px;
    background: var(--brand, #1f2a44);
    color: #fff;
    border-radius: 14px;
    padding: 1rem 1.1rem;
}

.docket.empty[b-k4nrb9oa5j] {
    color: #94a3b8;
    font-size: 0.9rem;
}

.docket-title[b-k4nrb9oa5j] {
    font-weight: 800;
    margin-bottom: 0.6rem;
}

.lines[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.3rem 0.75rem;
    margin: 0 0 0.75rem;
    font-size: 0.85rem;
}

.lines dt[b-k4nrb9oa5j] {
    color: #94a3b8;
}

.lines dd[b-k4nrb9oa5j] {
    margin: 0;
    text-align: right;
}

.lines dd.strong[b-k4nrb9oa5j] {
    font-weight: 800;
    font-size: 1rem;
}

.gst-line[b-k4nrb9oa5j] {
    display: block;
    font-size: 0.82rem;
    color: #cbd5e1;
    margin-bottom: 0.7rem;
}

.docket-input[b-k4nrb9oa5j] {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0.5rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    font-family: inherit;
    font-size: 0.88rem;
}

.docket-input[b-k4nrb9oa5j]::placeholder {
    color: #94a3b8;
}

.commit-errors[b-k4nrb9oa5j] {
    margin: 0.25rem 0 0.5rem;
    padding-left: 1.1rem;
    color: #fca5a5;
    font-size: 0.82rem;
}

.act[b-k4nrb9oa5j] {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 9px;
    padding: 0.6rem;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    margin-top: 0.5rem;
}

.act:disabled[b-k4nrb9oa5j] {
    opacity: 0.45;
    cursor: default;
}

.act.hold[b-k4nrb9oa5j] {
    background: #fbbf24;
    color: #451a03;
}

.act.hold:hover:not(:disabled)[b-k4nrb9oa5j] {
    background: #fcd34d;
}

.act.confirm[b-k4nrb9oa5j] {
    background: #34d399;
    color: #052e22;
}

.act.confirm:hover:not(:disabled)[b-k4nrb9oa5j] {
    background: #6ee7b7;
}

.agree[b-k4nrb9oa5j] {
    display: block;
    font-size: 0.78rem;
    color: #cbd5e1;
    margin-top: 0.7rem;
}

.docket-fine[b-k4nrb9oa5j] {
    font-size: 0.72rem;
    color: #94a3b8;
    margin: 0.6rem 0 0;
}

/* ── success ───────────────────────────────────────────────── */

.done[b-k4nrb9oa5j] {
    max-width: 480px;
    text-align: center;
    margin: 2rem auto;
}

.done-mark[b-k4nrb9oa5j] {
    font-size: 3rem;
}

.done-ref[b-k4nrb9oa5j] {
    color: #4b5563;
}

.done-card[b-k4nrb9oa5j] {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: #374151;
}

.done-amount[b-k4nrb9oa5j] {
    font-weight: 800;
    color: var(--brand, #1f2a44);
    font-size: 1.1rem;
}

.done-note[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #b45309;
}

.done-actions[b-k4nrb9oa5j] {
    display: flex;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1rem;
}

.share[b-k4nrb9oa5j] {
    padding: 0.55rem 1.1rem;
    background: #25d366;
    color: #073b1c;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
}

.again[b-k4nrb9oa5j] {
    padding: 0.55rem 1.1rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
}

/* ── mobile ────────────────────────────────────────────────── */

@media (max-width: 760px) {
    .desk[b-k4nrb9oa5j] {
        grid-template-columns: 1fr;
    }

    .docket[b-k4nrb9oa5j] {
        position: static;
    }

    .bar[b-k4nrb9oa5j] {
        position: static;
    }

    .go[b-k4nrb9oa5j] {
        margin-left: 0;
        width: 100%;
    }
}

.verdict[b-k4nrb9oa5j] {
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    margin-bottom: 1.25rem;
    max-width: 640px;
}

.verdict p[b-k4nrb9oa5j] {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
}

.verdict.warn[b-k4nrb9oa5j] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #78350f;
}

.fine-link[b-k4nrb9oa5j] {
    color: #93c5fd;
}

.fine-link:hover[b-k4nrb9oa5j] {
    color: #dbeafe;
}

.coupon-row[b-k4nrb9oa5j] {
    display: flex;
    gap: 0.5rem;
}

.coupon-input[b-k4nrb9oa5j] {
    flex: 1;
    text-transform: uppercase;
}

.coupon-apply[b-k4nrb9oa5j] {
    padding: 0.5rem 0.9rem;
    margin-bottom: 0.5rem;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

.coupon-apply:hover:not(:disabled)[b-k4nrb9oa5j] {
    background: rgba(255, 255, 255, 0.25);
}

.coupon-apply:disabled[b-k4nrb9oa5j] {
    opacity: 0.4;
}

.coupon-ok[b-k4nrb9oa5j] {
    font-size: 0.82rem;
    color: #a7f3d0;
    margin: 0 0 0.5rem;
}

.coupon-msg[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #fca5a5;
    margin: 0 0 0.5rem;
}

.suggestion[b-k4nrb9oa5j] {
    font-size: 0.82rem;
    color: #4b5563;
    background: #f3f6fb;
    border-radius: 7px;
    padding: 0.4rem 0.7rem;
    margin-bottom: 0.6rem;
}

.party-line[b-k4nrb9oa5j] {
    font-size: 0.78rem;
    color: #94a3b8;
    margin-bottom: 0.5rem;
}

.sec[b-k4nrb9oa5j] {
    font-size: 1.05rem;
    color: var(--brand, #1f2a44);
    margin: 1rem 0 0.75rem;
}

.offer.combo[b-k4nrb9oa5j] {
    cursor: pointer;
    transition: border-color 0.1s ease;
}

.offer.combo:hover[b-k4nrb9oa5j] {
    border-color: #93c5fd;
}

.combo-sub[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.counts[b-k4nrb9oa5j] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.25rem;
}

.count-card[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    min-width: 110px;
    padding: 0.8rem 1.1rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.1s ease;
}

.count-card:hover[b-k4nrb9oa5j] {
    border-color: #93c5fd;
}

.count-card.on[b-k4nrb9oa5j] {
    border-color: var(--brand-accent, #1d4ed8);
    box-shadow: 0 0 0 2px rgba(29, 78, 216, 0.15);
}

.count-big[b-k4nrb9oa5j] {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--brand, #1f2a44);
}

.count-label[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    font-weight: 700;
    color: #374151;
}

.count-card small[b-k4nrb9oa5j] {
    font-size: 0.72rem;
    color: #9ca3af;
}

/* ── the confirmation ticket ───────────────────────────────── */

.tix[b-k4nrb9oa5j] {
    width: min(420px, 100%);
    margin: 0 auto 1.25rem;
    background: #fffdf7;
    border-radius: 16px;
    overflow: hidden;
    text-align: left;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.25);
    animation: tix-in-b-k4nrb9oa5j 0.4s cubic-bezier(0.2, 1.1, 0.3, 1);
}

@keyframes tix-in-b-k4nrb9oa5j {
    from { transform: translateY(40px) rotate(-2deg); opacity: 0; }
    to   { transform: translateY(0) rotate(0); opacity: 1; }
}

.tix-top[b-k4nrb9oa5j] {
    background: var(--brand, #1f2a44);
    color: #fff;
    padding: 1rem 1.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.tix-hotel[b-k4nrb9oa5j] {
    font-weight: 800;
    font-size: 1.05rem;
}

.tix-kind[b-k4nrb9oa5j] {
    font-size: 0.65rem;
    letter-spacing: 0.3em;
    color: #93c5fd;
    margin-top: 0.2rem;
}

.tix-check[b-k4nrb9oa5j] {
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 50%;
    background: #34d399;
    color: #052e22;
    font-size: 1.3rem;
    font-weight: 900;
    display: grid;
    place-items: center;
    animation: tix-pop-b-k4nrb9oa5j 0.5s 0.25s cubic-bezier(0.2, 2, 0.4, 1) backwards;
}

@keyframes tix-pop-b-k4nrb9oa5j {
    from { transform: scale(0); }
    to   { transform: scale(1); }
}

.tix-body[b-k4nrb9oa5j] {
    padding: 1rem 1.2rem;
}

.tix-room[b-k4nrb9oa5j] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
    margin-bottom: 0.75rem;
}

.tix-legs[b-k4nrb9oa5j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.leg[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.leg:last-child[b-k4nrb9oa5j] {
    align-items: flex-end;
    text-align: right;
}

.leg.mid[b-k4nrb9oa5j] {
    align-items: center;
    text-align: center;
}

.leg-label[b-k4nrb9oa5j] {
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #9ca3af;
}

.leg-value[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #4b5563;
}

.leg-big[b-k4nrb9oa5j] {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--brand, #1f2a44);
    white-space: nowrap;
}

.leg-line[b-k4nrb9oa5j] {
    width: 54px;
    border-top: 2px dashed #cbd5e1;
    margin-top: 0.2rem;
    position: relative;
}

.leg-line[b-k4nrb9oa5j]::after {
    content: "⌂";
    position: absolute;
    right: -6px;
    top: -0.75em;
    color: var(--brand, #1f2a44);
    font-size: 0.8rem;
}

.tix-guest[b-k4nrb9oa5j] {
    font-size: 0.82rem;
    color: #6b7280;
}

.tix-perf[b-k4nrb9oa5j] {
    position: relative;
    border-top: 2px dashed #d1d5db;
    margin: 0 0.6rem;
}

.tix-perf[b-k4nrb9oa5j]::before,
.tix-perf[b-k4nrb9oa5j]::after {
    content: "";
    position: absolute;
    top: -11px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #f9fafb;
}

.tix-perf[b-k4nrb9oa5j]::before { left: -22px; }
.tix-perf[b-k4nrb9oa5j]::after  { right: -22px; }

.tix-stub[b-k4nrb9oa5j] {
    padding: 0.9rem 1.2rem 1.1rem;
    text-align: center;
}

.barcode[b-k4nrb9oa5j] {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 2px;
    height: 34px;
}

.barcode i[b-k4nrb9oa5j] {
    background: var(--brand, #1f2a44);
}

.tix-ref[b-k4nrb9oa5j] {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    font-weight: 800;
    font-size: 1.1rem;
    letter-spacing: 0.2em;
    color: var(--brand, #1f2a44);
    margin: 0.4rem 0 0.5rem;
}

.tix-amount[b-k4nrb9oa5j] {
    font-weight: 800;
    color: #065f46;
    font-size: 0.95rem;
}

.tix-fine[b-k4nrb9oa5j] {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    color: #9ca3af;
    overflow-wrap: anywhere;
}

.status-link[b-k4nrb9oa5j] {
    padding: 0.55rem 1.1rem;
    background: #eef2ff;
    color: var(--brand-accent, #1d4ed8);
    border: 1px solid #c7d2fe;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
}

.done-tip[b-k4nrb9oa5j] {
    margin-top: 1rem;
    font-size: 0.82rem;
    color: #6b7280;
}

/* ── modern skin ───────────────────────────────────────────────
   Later rules at equal specificity override the base look above.
   Photo hero + softer geometry, depth and motion; all colors stay
   on the --brand* variables so this skins any hotel. */

.photo-hero[b-k4nrb9oa5j] {
    margin: 0.25rem 0 1.5rem;
}

.ph-main[b-k4nrb9oa5j] {
    position: relative;
    min-height: 320px;
    border-radius: 22px;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
}

.ph-veil[b-k4nrb9oa5j] {
    width: 100%;
    padding: 3rem 1.9rem 1.5rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.65) 80%);
    color: #fff;
    box-sizing: border-box;
}

.ph-kicker[b-k4nrb9oa5j] {
    font-size: 0.72rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: #e7cf9f;
    margin-bottom: 0.4rem;
}

.ph-title[b-k4nrb9oa5j] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
    font-size: clamp(1.7rem, 4vw, 2.6rem);
    margin: 0 0 0.35rem;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.ph-sub[b-k4nrb9oa5j] {
    margin: 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.88);
    max-width: 560px;
}

.ph-strip[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-top: 0.6rem;
}

.ph-thumb[b-k4nrb9oa5j] {
    height: 96px;
    border-radius: 14px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.10);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ph-thumb:hover[b-k4nrb9oa5j] {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.16);
}

h1[b-k4nrb9oa5j],
.sec[b-k4nrb9oa5j] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
}

.sec[b-k4nrb9oa5j] {
    font-size: 1.3rem;
    margin: 1.5rem 0 0.85rem;
}

.bar[b-k4nrb9oa5j] {
    border: 0;
    border-radius: 18px;
    box-shadow: 0 10px 34px rgba(0, 0, 0, 0.10);
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 1rem 1.2rem;
    top: 0.75rem;
}

.bar-item input[type="date"][b-k4nrb9oa5j] {
    border-radius: 10px;
    padding: 0.5rem 0.6rem;
}

.step[b-k4nrb9oa5j] {
    border-radius: 10px;
}

.go[b-k4nrb9oa5j] {
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.offer[b-k4nrb9oa5j] {
    border-radius: 16px;
    border-color: #eceef2;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    padding: 1.05rem 1.15rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.offer.combo:hover[b-k4nrb9oa5j] {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
}

.offer.picked[b-k4nrb9oa5j] {
    box-shadow: 0 0 0 2px var(--brand-accent, #1d4ed8), 0 12px 28px rgba(15, 23, 42, 0.10);
}

.pill[b-k4nrb9oa5j] {
    border-radius: 12px;
    padding: 0.55rem 0.85rem;
    transition: border-color 0.15s ease, background 0.15s ease, transform 0.12s ease;
}

.pill:hover[b-k4nrb9oa5j] {
    transform: translateY(-1px);
}

.pill.on .pill-plan[b-k4nrb9oa5j] {
    color: #e7cf9f;
}

.count-card[b-k4nrb9oa5j] {
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.count-card:hover[b-k4nrb9oa5j] {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.10);
}

.docket[b-k4nrb9oa5j] {
    border-radius: 20px;
    padding: 1.2rem 1.25rem;
    background: linear-gradient(160deg, var(--brand-light, #2c3e6b) 0%, var(--brand, #1f2a44) 55%, var(--brand-dark, #16203a) 100%);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
    top: 84px;
}

.docket-input[b-k4nrb9oa5j] {
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
}

.act[b-k4nrb9oa5j] {
    border-radius: 12px;
    padding: 0.75rem;
    font-size: 0.95rem;
    transition: transform 0.12s ease, box-shadow 0.12s ease, background 0.15s ease;
}

.act.confirm[b-k4nrb9oa5j] {
    box-shadow: 0 8px 22px rgba(52, 211, 153, 0.35);
}

.act.confirm:hover:not(:disabled)[b-k4nrb9oa5j] {
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .ph-main[b-k4nrb9oa5j] {
        min-height: 220px;
        border-radius: 16px;
    }

    .ph-veil[b-k4nrb9oa5j] {
        padding: 1.8rem 1.1rem 1rem;
    }

    .ph-thumb[b-k4nrb9oa5j] {
        height: 64px;
        border-radius: 10px;
    }
}

/* ── hero collapse ─────────────────────────────────────────────
   Once a room count is picked the hero shrinks to a slim banner so
   the rooms and the docket own the screen; clearing the selection
   (changing dates/party) grows it back. */

.ph-main[b-k4nrb9oa5j] {
    transition: min-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.ph-strip[b-k4nrb9oa5j] {
    max-height: 120px;
    opacity: 1;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease, margin-top 0.4s ease;
}

.photo-hero.compact[b-k4nrb9oa5j] {
    margin-bottom: 1rem;
}

.photo-hero.compact .ph-main[b-k4nrb9oa5j] {
    min-height: 110px;
}

.photo-hero.compact .ph-strip[b-k4nrb9oa5j] {
    max-height: 0;
    opacity: 0;
    margin-top: 0;
}

.photo-hero.compact .ph-veil[b-k4nrb9oa5j] {
    padding: 1.4rem 1.6rem 0.9rem;
}

.photo-hero.compact .ph-kicker[b-k4nrb9oa5j],
.photo-hero.compact .ph-sub[b-k4nrb9oa5j] {
    display: none;
}

.photo-hero.compact .ph-title[b-k4nrb9oa5j] {
    font-size: 1.35rem;
    margin: 0;
}

@media (max-width: 760px) {
    .photo-hero.compact .ph-main[b-k4nrb9oa5j] {
        min-height: 84px;
    }
}

/* ── meal-plan cards ───────────────────────────────────────────
   Row cards with an icon, plan description, and the rack-rate
   discount when there is one; replaces the old inline pills. */

.plans-row[b-k4nrb9oa5j] {
    flex-direction: column;
    align-items: stretch;
    gap: 0.55rem;
}

.plan-card[b-k4nrb9oa5j] {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    width: 100%;
    text-align: left;
    border: 1.5px solid #e7e9ee;
    background: #fff;
    border-radius: 14px;
    padding: 0.7rem 0.95rem;
    font-family: inherit;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease, background 0.2s ease;
}

.plan-card:hover[b-k4nrb9oa5j] {
    border-color: var(--brand-accent, #1d4ed8);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
}

.plan-card.on[b-k4nrb9oa5j] {
    background: linear-gradient(135deg, var(--brand-light, #2c3e6b), var(--brand, #1f2a44));
    border-color: var(--brand, #1f2a44);
    color: #fff;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
}

.plan-ico[b-k4nrb9oa5j] {
    width: 40px;
    height: 40px;
    flex: none;
    border-radius: 12px;
    background: #f5f2ea;
    color: var(--brand-accent, #1d4ed8);
    display: grid;
    place-items: center;
}

.plan-ico svg[b-k4nrb9oa5j] {
    width: 22px;
    height: 22px;
}

.plan-card.on .plan-ico[b-k4nrb9oa5j] {
    background: rgba(255, 255, 255, 0.14);
    color: #e7cf9f;
}

.plan-body[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.plan-name[b-k4nrb9oa5j] {
    font-weight: 700;
    font-size: 0.93rem;
}

.plan-desc[b-k4nrb9oa5j] {
    font-size: 0.75rem;
    color: #6b7280;
}

.plan-card.on .plan-desc[b-k4nrb9oa5j] {
    color: rgba(255, 255, 255, 0.75);
}

.plan-price[b-k4nrb9oa5j] {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.1rem;
    flex: none;
}

.plan-deal[b-k4nrb9oa5j] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.plan-was[b-k4nrb9oa5j] {
    font-size: 0.74rem;
    color: #9ca3af;
}

.plan-card.on .plan-was[b-k4nrb9oa5j] {
    color: rgba(255, 255, 255, 0.6);
}

.plan-off[b-k4nrb9oa5j] {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #b45309;
    background: #fef3c7;
    border-radius: 99px;
    padding: 0.12rem 0.5rem;
}

.plan-card.on .plan-off[b-k4nrb9oa5j] {
    background: #e7cf9f;
    color: #452d05;
}

.plan-rate[b-k4nrb9oa5j] {
    font-weight: 800;
    font-size: 1.05rem;
}

.plan-per[b-k4nrb9oa5j] {
    font-size: 0.68rem;
    color: #9ca3af;
}

.plan-card.on .plan-per[b-k4nrb9oa5j] {
    color: rgba(255, 255, 255, 0.7);
}

@media (max-width: 760px) {
    .plan-card[b-k4nrb9oa5j] {
        gap: 0.65rem;
        padding: 0.6rem 0.75rem;
    }

    .plan-ico[b-k4nrb9oa5j] {
        width: 34px;
        height: 34px;
    }
}

/* ── meal-plan cards v2 ────────────────────────────────────────
   Tighter grid alignment, tabular numerals, gold gradient badge,
   circular icon medallions, check mark on the selected card. */

.plan-card[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    border: 1px solid #e8eaee;
    border-radius: 16px;
    padding: 0.85rem 1.1rem;
    position: relative;
}

.plan-card:hover[b-k4nrb9oa5j] {
    border-color: #d8c9a5;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.09);
}

.plan-ico[b-k4nrb9oa5j] {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(145deg, #f8f2e4, #eee0c2);
    color: #7a5c22;
    box-shadow: inset 0 0 0 1px rgba(138, 103, 42, 0.18);
}

.plan-ico svg[b-k4nrb9oa5j] {
    width: 21px;
    height: 21px;
}

.plan-card.on .plan-ico[b-k4nrb9oa5j] {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08));
    box-shadow: inset 0 0 0 1px rgba(231, 207, 159, 0.45);
    color: #e7cf9f;
}

.plan-name[b-k4nrb9oa5j] {
    font-size: 0.96rem;
    letter-spacing: 0.01em;
}

.plan-desc[b-k4nrb9oa5j] {
    font-size: 0.76rem;
    margin-top: 0.05rem;
}

.plan-price[b-k4nrb9oa5j] {
    align-items: flex-end;
    gap: 0.18rem;
    font-variant-numeric: tabular-nums;
}

.plan-off[b-k4nrb9oa5j] {
    background: linear-gradient(135deg, #f3e3bd, #e2c37e);
    color: #5d4310;
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    padding: 0.16rem 0.55rem;
    border-radius: 99px;
}

.plan-card.on .plan-off[b-k4nrb9oa5j] {
    background: linear-gradient(135deg, #efd9a6, #d9b566);
    color: #3c2a06;
}

.plan-rate-line[b-k4nrb9oa5j] {
    display: flex;
    align-items: baseline;
    gap: 0.45rem;
}

.plan-was[b-k4nrb9oa5j] {
    font-size: 0.78rem;
    color: #a1a6b0;
    font-weight: 500;
}

.plan-rate[b-k4nrb9oa5j] {
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: -0.01em;
    line-height: 1.1;
}

.plan-per[b-k4nrb9oa5j] {
    font-size: 0.66rem;
    color: #9aa0ab;
    letter-spacing: 0.03em;
}

.plan-card.on .plan-per[b-k4nrb9oa5j] {
    color: rgba(255, 255, 255, 0.65);
}

/* selected check medallion, top-right corner */
.plan-card.on[b-k4nrb9oa5j]::after {
    content: "✓";
    position: absolute;
    top: -8px;
    right: -8px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(145deg, #efd9a6, #cfa84e);
    color: #2d1f04;
    font-size: 0.8rem;
    font-weight: 900;
    display: grid;
    place-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

/* the room-type shell around the plans, matched to the new cards */
.offer[b-k4nrb9oa5j] {
    border-radius: 18px;
    padding: 1.15rem 1.25rem;
}

.offer.picked[b-k4nrb9oa5j] {
    box-shadow: 0 0 0 2px #cfa84e, 0 12px 28px rgba(15, 23, 42, 0.10);
    border-color: transparent;
}

.offer.combo:hover[b-k4nrb9oa5j] {
    border-color: #d8c9a5;
}

.offer-name[b-k4nrb9oa5j] {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.12rem;
    font-weight: 600;
}

@media (max-width: 760px) {
    .plan-card[b-k4nrb9oa5j] {
        grid-template-columns: auto 1fr auto;
        gap: 0.7rem;
        padding: 0.7rem 0.8rem;
    }

    .plan-ico[b-k4nrb9oa5j] {
        width: 36px;
        height: 36px;
    }

    .plan-rate[b-k4nrb9oa5j] {
        font-size: 1.05rem;
    }
}

/* ── meal-plan cards v3: fare tiles ────────────────────────────
   Vertical fare-style tiles side by side — icon on top, centered
   name and description, price beneath, discount ribbon floating
   on the top edge. Overrides the row layout above entirely. */

.plans-row[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(172px, 1fr));
    gap: 0.75rem;
    margin-top: 0.35rem;
}

.plan-card[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.55rem;
    padding: 1.35rem 0.9rem 1.05rem;
    border-radius: 18px;
    border: 1.5px solid #e8eaee;
    overflow: visible;
}

.plan-card:hover[b-k4nrb9oa5j] {
    transform: translateY(-3px);
    border-color: #cfa84e;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.12);
}

.plan-ico[b-k4nrb9oa5j] {
    width: 54px;
    height: 54px;
}

.plan-ico svg[b-k4nrb9oa5j] {
    width: 26px;
    height: 26px;
}

.plan-body[b-k4nrb9oa5j] {
    align-items: center;
    gap: 0.15rem;
}

.plan-name[b-k4nrb9oa5j] {
    font-size: 1rem;
}

.plan-desc[b-k4nrb9oa5j] {
    font-size: 0.74rem;
    max-width: 180px;
}

.plan-price[b-k4nrb9oa5j] {
    margin-left: 0;
    align-items: center;
    gap: 0.12rem;
    padding-top: 0.55rem;
    border-top: 1px dashed #e5e0d2;
    width: 100%;
}

.plan-card.on .plan-price[b-k4nrb9oa5j] {
    border-top-color: rgba(255, 255, 255, 0.25);
}

.plan-rate-line[b-k4nrb9oa5j] {
    justify-content: center;
}

.plan-rate[b-k4nrb9oa5j] {
    font-size: 1.3rem;
}

/* discount ribbon riding the top edge of the tile */
.plan-off[b-k4nrb9oa5j] {
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(138, 103, 42, 0.35);
    font-size: 0.64rem;
    padding: 0.2rem 0.7rem;
}

.plan-card.on[b-k4nrb9oa5j]::after {
    top: -9px;
    right: 10px;
}

@media (max-width: 760px) {
    .plans-row[b-k4nrb9oa5j] {
        grid-template-columns: 1fr;
    }

    .plan-card[b-k4nrb9oa5j] {
        padding: 1.2rem 0.8rem 0.9rem;
    }
}

/* ── meal plans v4: refined rows + prominent room type ─────────
   Final layout: horizontal row per plan (icon | name | price),
   room-type name large with a divider under the offer head. */

.plans-row[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.plan-card[b-k4nrb9oa5j] {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    text-align: left;
    gap: 1rem;
    padding: 0.8rem 1.05rem;
    border-radius: 16px;
}

.plan-card:hover[b-k4nrb9oa5j] {
    transform: translateY(-1px);
}

.plan-ico[b-k4nrb9oa5j] {
    width: 44px;
    height: 44px;
}

.plan-ico svg[b-k4nrb9oa5j] {
    width: 21px;
    height: 21px;
}

.plan-body[b-k4nrb9oa5j] {
    align-items: flex-start;
    text-align: left;
    gap: 0.1rem;
}

.plan-name[b-k4nrb9oa5j] {
    font-size: 0.96rem;
}

.plan-desc[b-k4nrb9oa5j] {
    max-width: none;
}

.plan-price[b-k4nrb9oa5j] {
    margin-left: auto;
    align-items: flex-end;
    width: auto;
    border-top: 0;
    padding-top: 0;
    gap: 0.15rem;
}

.plan-rate-line[b-k4nrb9oa5j] {
    justify-content: flex-end;
}

.plan-rate[b-k4nrb9oa5j] {
    font-size: 1.15rem;
}

/* badge back inline, above the price, right-aligned */
.plan-off[b-k4nrb9oa5j] {
    position: static;
    transform: none;
    box-shadow: none;
    font-size: 0.6rem;
    padding: 0.15rem 0.55rem;
}

.plan-card.on[b-k4nrb9oa5j]::after {
    top: -8px;
    right: -8px;
}

/* prominent room type */
.offer-head[b-k4nrb9oa5j] {
    margin-bottom: 0.9rem;
    padding-bottom: 0.7rem;
    border-bottom: 1px solid #eef0f3;
}

.offer-name[b-k4nrb9oa5j] {
    font-size: 1.5rem;
    color: var(--brand, #1f2a44);
    position: relative;
    padding-left: 0.85rem;
}

.offer-name[b-k4nrb9oa5j]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    bottom: 0.2em;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, #e7cf9f, #cfa84e);
}

@media (max-width: 760px) {
    .plan-card[b-k4nrb9oa5j] {
        grid-template-columns: auto 1fr auto;
        gap: 0.65rem;
        padding: 0.65rem 0.75rem;
    }

    .plan-ico[b-k4nrb9oa5j] {
        width: 36px;
        height: 36px;
    }

    .plan-rate[b-k4nrb9oa5j] {
        font-size: 1.02rem;
    }

    .offer-name[b-k4nrb9oa5j] {
        font-size: 1.25rem;
    }
}

/* ── room price details + offers panel ─────────────────────────
   EMT-style breakdown inside the dark docket: sectioned price
   card, gold grand total, selectable coupon offers. */

.rpd[b-k4nrb9oa5j] {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 0.85rem 1rem 0.9rem;
    margin-bottom: 0.9rem;
    font-variant-numeric: tabular-nums;
}

.rpd-head[b-k4nrb9oa5j] {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #e7cf9f;
    margin-bottom: 0.6rem;
}

.rpd-row[b-k4nrb9oa5j] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    font-size: 0.86rem;
    padding: 0.22rem 0;
    color: #d5dbe3;
}

.rpd-row.save[b-k4nrb9oa5j] {
    color: #6ee7b7;
    font-weight: 700;
}

.rpd-row.sub[b-k4nrb9oa5j] {
    font-size: 0.8rem;
    color: #aeb6c2;
}

.rpd-strong[b-k4nrb9oa5j] {
    font-weight: 800;
    color: #fff;
}

.rpd-incl[b-k4nrb9oa5j] {
    font-size: 0.75rem;
    font-weight: 700;
    color: #6ee7b7;
    letter-spacing: 0.03em;
}

.rpd-total[b-k4nrb9oa5j] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.75rem;
    margin: 0.4rem 0 0.3rem;
    padding: 0.55rem 0 0.35rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    font-weight: 800;
}

.rpd-total span:first-child[b-k4nrb9oa5j] {
    color: #e7cf9f;
    font-size: 0.95rem;
}

.rpd-total span:last-child[b-k4nrb9oa5j] {
    color: #fff;
    font-size: 1.25rem;
    letter-spacing: -0.01em;
}

.offers-head[b-k4nrb9oa5j] {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #e7cf9f;
    margin: 0.9rem 0 0.5rem;
}

.offer-coupon[b-k4nrb9oa5j] {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    width: 100%;
    text-align: left;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.5rem;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.offer-coupon:hover:not(:disabled)[b-k4nrb9oa5j] {
    background: rgba(255, 255, 255, 0.10);
    border-color: rgba(231, 207, 159, 0.55);
}

.offer-coupon:disabled[b-k4nrb9oa5j] {
    opacity: 0.5;
    cursor: default;
}

.offer-radio[b-k4nrb9oa5j] {
    flex: none;
    width: 16px;
    height: 16px;
    margin-top: 0.15rem;
    border-radius: 50%;
    border: 2px solid rgba(231, 207, 159, 0.7);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.offer-coupon:hover:not(:disabled) .offer-radio[b-k4nrb9oa5j] {
    border-color: #e7cf9f;
    box-shadow: 0 0 0 3px rgba(231, 207, 159, 0.18);
}

.offer-coupon-body[b-k4nrb9oa5j] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.offer-coupon-code[b-k4nrb9oa5j] {
    align-self: flex-start;
    font-weight: 800;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    color: #e7cf9f;
    border: 1px dashed rgba(231, 207, 159, 0.65);
    border-radius: 6px;
    padding: 0.12rem 0.5rem;
}

.offer-coupon-desc[b-k4nrb9oa5j] {
    font-size: 0.75rem;
    color: #c3cad4;
    line-height: 1.35;
}

/* savings banner + struck rack total in the price card */
.rpd-was[b-k4nrb9oa5j] {
    color: #8b94a3;
    font-size: 0.76rem;
    margin-right: 0.35rem;
}

.rpd-saved[b-k4nrb9oa5j] {
    margin-top: 0.55rem;
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    background: rgba(110, 231, 183, 0.12);
    border: 1px solid rgba(110, 231, 183, 0.38);
    color: #6ee7b7;
    font-size: 0.82rem;
    text-align: center;
}

.rpd-saved strong[b-k4nrb9oa5j] {
    font-weight: 800;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.picker[b-pt74ze4njp] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    max-width: 420px;
    margin-bottom: 1rem;
}

.picker label[b-pt74ze4njp] {
    font-weight: 600;
    color: #374151;
}

.picker select[b-pt74ze4njp] {
    padding: 0.55rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 1rem;
    background: #fff;
}

/* ── hero ──────────────────────────────────────────────────── */

.hero[b-pt74ze4njp] {
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--brand, #1f2a44);
    background-size: cover;
    background-position: center;
    min-height: 220px;
    display: flex;
}

.hero-scrim[b-pt74ze4njp] {
    flex: 1;
    display: flex;
    align-items: flex-end;
    background: linear-gradient(to top, rgba(15, 23, 42, 0.82), rgba(15, 23, 42, 0.1));
}

.hero-body[b-pt74ze4njp] {
    padding: 1.5rem;
    color: #fff;
}

.hero-body h1[b-pt74ze4njp] {
    margin: 0.15rem 0;
    font-size: 1.8rem;
}

.stars[b-pt74ze4njp] {
    color: #fbbf24;
    letter-spacing: 0.15em;
}

.hero-addr[b-pt74ze4njp] {
    margin: 0;
    color: #cbd5e1;
    font-size: 0.9rem;
}

/* ── the two paths ─────────────────────────────────────────── */

.paths[b-pt74ze4njp] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1rem;
}

.path[b-pt74ze4njp] {
    display: block;
    border-radius: 14px;
    padding: 1.25rem 1.35rem;
    text-decoration: none;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    transition: transform 0.12s ease, box-shadow 0.12s ease;
}

.path:hover[b-pt74ze4njp] {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.12);
}

.path-kicker[b-pt74ze4njp] {
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #9ca3af;
}

.path.b2b .path-kicker[b-pt74ze4njp] {
    color: #b45309;
}

.path-title[b-pt74ze4njp] {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--brand, #1f2a44);
    margin: 0.25rem 0 0.4rem;
}

.path p[b-pt74ze4njp] {
    margin: 0 0 0.75rem;
    font-size: 0.88rem;
    color: #6b7280;
}

.path-go[b-pt74ze4njp] {
    font-weight: 700;
    color: var(--brand-accent, #1d4ed8);
    font-size: 0.9rem;
}

.path.b2b[b-pt74ze4njp] {
    background: #fffdf5;
    border-color: #fcd34d;
}

/* ── facts + about ─────────────────────────────────────────── */

.facts[b-pt74ze4njp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    margin-top: 1.25rem;
    font-size: 0.88rem;
    color: #4b5563;
}

.about[b-pt74ze4njp] {
    color: #6b7280;
    max-width: 720px;
}

@media (max-width: 640px) {
    .paths[b-pt74ze4njp] {
        grid-template-columns: 1fr;
    }

    .hero[b-pt74ze4njp] {
        min-height: 170px;
    }

    .hero-body h1[b-pt74ze4njp] {
        font-size: 1.4rem;
    }
}
/* /Components/Pages/LiveAvailability.razor.rz.scp.css */
.gate-lead[b-d2plk8nq16] {
    color: #4b5563;
    max-width: 560px;
}

.head[b-d2plk8nq16] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    flex-wrap: wrap;
}

.live[b-d2plk8nq16] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #b91c1c;
    letter-spacing: 0.05em;
}

.dot[b-d2plk8nq16] {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #dc2626;
    animation: pulse-b-d2plk8nq16 1.6s ease-in-out infinite;
}

@keyframes pulse-b-d2plk8nq16 {
    0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.5); }
    50% { opacity: 0.6; box-shadow: 0 0 0 6px rgba(220, 38, 38, 0); }
}

.hotel-name[b-d2plk8nq16] {
    font-weight: 600;
    color: #374151;
    margin-top: 0;
}

.hotel-pick select[b-d2plk8nq16] {
    padding: 0.45rem 0.65rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 1rem;
    background: #fff;
}

.hint[b-d2plk8nq16] {
    color: #4b5563;
}

.clear[b-d2plk8nq16] {
    font-size: 0.85rem;
    cursor: pointer;
}

/* ── the board: one night per row ──────────────────────────── */

.board[b-d2plk8nq16] {
    max-width: 640px;
}

.row[b-d2plk8nq16] {
    display: grid;
    grid-template-columns: 96px repeat(var(--types), 1fr);
    gap: 4px;
    align-items: center;
    margin-bottom: 4px;
}

.row.header[b-d2plk8nq16] {
    position: sticky;
    top: 0;
    background: #f9fafb;
    z-index: 2;
    padding: 0.4rem 0;
}

.htype[b-d2plk8nq16], .hhouse[b-d2plk8nq16] {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--brand, #1f2a44);
    text-align: center;
    line-height: 1.2;
}

.htype small[b-d2plk8nq16], .hhouse small[b-d2plk8nq16] {
    font-weight: 400;
    color: #6b7280;
}

.month-break[b-d2plk8nq16] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--brand, #1f2a44);
    margin: 0.7rem 0 0.3rem;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 0.2rem;
}

.row.night[b-d2plk8nq16] {
    cursor: pointer;
    border-radius: 8px;
    padding: 2px;
    transition: background 0.1s ease;
}

.row.night:hover[b-d2plk8nq16] {
    background: #eef2ff;
}

.row.night.weekend .rdate[b-d2plk8nq16] {
    color: #b45309;
}

/* date column */
.rdate[b-d2plk8nq16] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    color: #374151;
    white-space: nowrap;
}

.rdate .dow[b-d2plk8nq16] {
    width: 2.2em;
    color: #6b7280;
}

.rdate .dom[b-d2plk8nq16] {
    font-weight: 700;
    font-size: 0.95rem;
    color: #111827;
    min-width: 1.5em;
    text-align: center;
}

.rdate .dom.today[b-d2plk8nq16] {
    background: var(--brand, #1f2a44);
    color: #fff;
    border-radius: 50%;
    width: 1.6em;
    height: 1.6em;
    display: grid;
    place-items: center;
}

.rdate .mon[b-d2plk8nq16] {
    color: #9ca3af;
}

/* room-type cells */
.cell[b-d2plk8nq16] {
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 700;
    user-select: none;
}

.band-open[b-d2plk8nq16]   { background: #d1fae5; color: #065f46; }
.band-busy[b-d2plk8nq16]   { background: #fef3c7; color: #92400e; }
.band-tight[b-d2plk8nq16]  { background: #ffedd5; color: #c2410c; }
.band-full[b-d2plk8nq16]   { background: #e5e7eb; color: #9ca3af; }

/* the horizontal "how full" bar */
.rhouse[b-d2plk8nq16] {
    height: 14px;
    background: #eef1f5;
    border-radius: 7px;
    overflow: hidden;
}

.hbar[b-d2plk8nq16] {
    height: 100%;
    border-radius: 7px 0 0 7px;
    transition: width 0.4s ease;
}

.hbar.band-open[b-d2plk8nq16]  { background: #34d399; }
.hbar.band-busy[b-d2plk8nq16]  { background: #fbbf24; }
.hbar.band-tight[b-d2plk8nq16] { background: #fb923c; }
.hbar.band-full[b-d2plk8nq16]  { background: #9ca3af; }

/* selection */
.row.night.sel[b-d2plk8nq16] {
    background: #dbeafe;
    outline: 2px solid var(--brand-accent, #1d4ed8);
    outline-offset: -2px;
}

.row.night.sel-edge[b-d2plk8nq16] {
    background: #bfdbfe;
    outline: 3px solid var(--brand-accent, #1d4ed8);
    outline-offset: -3px;
}

/* legend */
.legend[b-d2plk8nq16] {
    display: flex;
    gap: 1.25rem;
    flex-wrap: wrap;
    align-items: center;
    margin: 0.75rem 0 1.5rem;
    font-size: 0.8rem;
    color: #4b5563;
}

.legend i[b-d2plk8nq16] {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    vertical-align: -2px;
    margin-right: 0.3rem;
}

.legend-note[b-d2plk8nq16] {
    color: #9ca3af;
}

/* ── the bottom sheet: the answer, always in view ──────────── */

.sheet-spacer[b-d2plk8nq16] {
    height: 150px;
}

.stay-sheet[b-d2plk8nq16] {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    background: var(--brand, #1f2a44);
    color: #fff;
    box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.35);
    animation: slide-up-b-d2plk8nq16 0.25s ease;
}

@keyframes slide-up-b-d2plk8nq16 {
    from { transform: translateY(100%); }
    to   { transform: translateY(0); }
}

.sheet-inner[b-d2plk8nq16] {
    max-width: 960px;
    margin: 0 auto;
    padding: 0.8rem 1.5rem 1rem;
}

.sheet-picking[b-d2plk8nq16] {
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.sheet-head[b-d2plk8nq16] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    font-size: 0.95rem;
    margin-bottom: 0.6rem;
    flex-wrap: wrap;
}

.sheet-clear[b-d2plk8nq16] {
    color: #93c5fd;
    font-size: 0.85rem;
    cursor: pointer;
    text-decoration: none;
}

.sheet-clear:hover[b-d2plk8nq16] {
    color: #dbeafe;
    text-decoration: underline;
}

.sheet-fits[b-d2plk8nq16] {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.fit[b-d2plk8nq16] {
    flex: 1 1 0;
    min-width: 170px;
    border-radius: 10px;
    padding: 0.6rem 0.8rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.fit.yes[b-d2plk8nq16] {
    border-color: #34d399;
}

.fit.no[b-d2plk8nq16] {
    opacity: 0.6;
}

.fit-top[b-d2plk8nq16] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.45rem;
}

.fit-name[b-d2plk8nq16] {
    font-weight: 700;
    font-size: 0.9rem;
    white-space: nowrap;
}

.fit-badge[b-d2plk8nq16] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15rem 0.5rem;
    border-radius: 99px;
    background: #065f46;
    color: #a7f3d0;
    white-space: nowrap;
}

.fit-badge.scarce[b-d2plk8nq16] {
    background: #7f1d1d;
    color: #fecaca;
    animation: pulse-b-d2plk8nq16 1.6s ease-in-out infinite;
}

.fit-badge.full[b-d2plk8nq16] {
    background: #374151;
    color: #9ca3af;
}

.fit-ok[b-d2plk8nq16] {
    font-size: 0.8rem;
    color: #a7f3d0;
}

.fit-next[b-d2plk8nq16] {
    font-size: 0.78rem;
    color: #cbd5e1;
}

.fit-cta[b-d2plk8nq16] {
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.45rem 0.75rem;
    background: #34d399;
    color: #052e22;
    border: 0;
    border-radius: 7px;
    text-decoration: none;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

.fit-cta:hover[b-d2plk8nq16] {
    background: #6ee7b7;
}

/* ── the Stay Pass ─────────────────────────────────────────── */

.pass-overlay[b-d2plk8nq16] {
    position: fixed;
    inset: 0;
    z-index: 30;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(3px);
    display: grid;
    place-items: center;
    padding: 1rem;
}

.stay-pass[b-d2plk8nq16] {
    width: min(400px, 100%);
    background: #fffdf7;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.45);
    animation: pass-in-b-d2plk8nq16 0.35s cubic-bezier(0.2, 1.1, 0.3, 1);
}

@keyframes pass-in-b-d2plk8nq16 {
    from { transform: translateY(48px) rotate(-2.5deg); opacity: 0; }
    to   { transform: translateY(0) rotate(0); opacity: 1; }
}

.pass-top[b-d2plk8nq16] {
    background: var(--brand, #1f2a44);
    color: #fff;
    padding: 0.85rem 1.1rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.pass-hotel[b-d2plk8nq16] {
    font-weight: 700;
    font-size: 1rem;
}

.pass-kind[b-d2plk8nq16] {
    font-size: 0.68rem;
    letter-spacing: 0.35em;
    color: #93c5fd;
    margin-top: 0.15rem;
}

.pass-close[b-d2plk8nq16] {
    background: none;
    border: 0;
    color: #94a3b8;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.pass-close:hover[b-d2plk8nq16] {
    color: #fff;
}

.pass-body[b-d2plk8nq16] {
    padding: 1rem 1.1rem 1.1rem;
}

.pass-room[b-d2plk8nq16] {
    font-weight: 700;
    color: var(--brand, #1f2a44);
    font-size: 1.05rem;
    margin-bottom: 0.75rem;
}

.pass-legs[b-d2plk8nq16] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.9rem;
}

.leg[b-d2plk8nq16] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.leg:last-child[b-d2plk8nq16] {
    text-align: right;
    align-items: flex-end;
}

.leg.mid[b-d2plk8nq16] {
    align-items: center;
    text-align: center;
}

.leg-label[b-d2plk8nq16] {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #9ca3af;
}

.leg-value[b-d2plk8nq16] {
    font-size: 0.8rem;
    color: #4b5563;
}

.leg-big[b-d2plk8nq16] {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--brand, #1f2a44);
    white-space: nowrap;
}

.leg-line[b-d2plk8nq16] {
    width: 54px;
    border-top: 2px dashed #cbd5e1;
    margin-top: 0.2rem;
    position: relative;
}

.leg-line[b-d2plk8nq16]::after {
    content: "⌂";
    position: absolute;
    right: -6px;
    top: -0.75em;
    color: var(--brand, #1f2a44);
    font-size: 0.8rem;
}

.pass-name[b-d2plk8nq16] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.55rem 0.7rem;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    font-size: 0.9rem;
    font-family: inherit;
    background: #fff;
}

.pass-name:focus[b-d2plk8nq16] {
    outline: 2px solid var(--brand-accent, #1d4ed8);
    border-color: transparent;
}

/* perforation with side notches */
.pass-perf[b-d2plk8nq16] {
    position: relative;
    border-top: 2px dashed #d1d5db;
    margin: 0 0.6rem;
}

.pass-perf[b-d2plk8nq16]::before,
.pass-perf[b-d2plk8nq16]::after {
    content: "";
    position: absolute;
    top: -11px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.55);
}

.pass-perf[b-d2plk8nq16]::before { left: -20px; }
.pass-perf[b-d2plk8nq16]::after  { right: -20px; }

.pass-stub[b-d2plk8nq16] {
    padding: 0.9rem 1.1rem 1rem;
    text-align: center;
}

.barcode[b-d2plk8nq16] {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 2px;
    height: 38px;
}

.barcode i[b-d2plk8nq16] {
    background: var(--brand, #1f2a44);
}

.pass-code[b-d2plk8nq16] {
    font-family: ui-monospace, "SF Mono", Menlo, monospace;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.25em;
    color: var(--brand, #1f2a44);
    margin: 0.4rem 0 0.8rem;
}

.pass-actions[b-d2plk8nq16] {
    display: flex;
    gap: 0.6rem;
}

.send[b-d2plk8nq16] {
    flex: 1;
    padding: 0.55rem 0.5rem;
    border-radius: 8px;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 700;
}

.send.wa[b-d2plk8nq16] {
    background: #25d366;
    color: #073b1c;
}

.send.wa:hover[b-d2plk8nq16] {
    background: #4ce381;
}

.send.em[b-d2plk8nq16] {
    background: var(--brand, #1f2a44);
    color: #fff;
}

.send.em:hover[b-d2plk8nq16] {
    background: var(--brand-dark, #16203a);
}

.pass-actions[b-d2plk8nq16] {
    flex-wrap: wrap;
}

.send.book[b-d2plk8nq16] {
    flex-basis: 100%;
    background: #fbbf24;
    color: #451a03;
}

.send.book:hover[b-d2plk8nq16] {
    background: #fcd34d;
}

.pass-foot[b-d2plk8nq16] {
    margin-top: 0.6rem;
    font-size: 0.72rem;
    color: #9ca3af;
}

/* ── mobile ────────────────────────────────────────────────── */

@media (max-width: 640px) {
    .head h1[b-d2plk8nq16] {
        font-size: 1.25rem;
        margin: 0.5rem 0;
    }

    .hint[b-d2plk8nq16] {
        font-size: 0.85rem;
    }

    .board[b-d2plk8nq16] {
        max-width: none;
    }

    .row[b-d2plk8nq16] {
        grid-template-columns: 58px repeat(var(--types), 1fr);
        gap: 3px;
    }

    .htype[b-d2plk8nq16], .hhouse[b-d2plk8nq16] {
        font-size: 0.68rem;
        overflow-wrap: anywhere;
    }

    .rdate[b-d2plk8nq16] {
        gap: 0.2rem;
        font-size: 0.7rem;
    }

    .rdate .dow[b-d2plk8nq16] {
        width: auto;
    }

    .rdate .mon[b-d2plk8nq16] {
        display: none;
    }

    .rdate .dom[b-d2plk8nq16] {
        font-size: 0.85rem;
        min-width: 1.3em;
    }

    .cell[b-d2plk8nq16] {
        height: 30px;
        font-size: 0.75rem;
        border-radius: 5px;
    }

    .rhouse[b-d2plk8nq16] {
        height: 10px;
    }

    .legend[b-d2plk8nq16] {
        gap: 0.6rem;
        font-size: 0.72rem;
    }

    /* sheet: stacked one-line cards, no horizontal scroll */
    .sheet-inner[b-d2plk8nq16] {
        padding: 0.6rem 0.75rem 0.75rem;
    }

    .sheet-head[b-d2plk8nq16], .sheet-picking[b-d2plk8nq16] {
        font-size: 0.85rem;
        margin-bottom: 0.45rem;
    }

    .sheet-fits[b-d2plk8nq16] {
        flex-direction: column;
        gap: 0.45rem;
        overflow-x: visible;
    }

    .fit[b-d2plk8nq16] {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem;
        padding: 0.45rem 0.7rem;
    }

    .fit-top[b-d2plk8nq16] {
        margin-bottom: 0;
        flex: 1;
        min-width: 0;
        justify-content: flex-start;
    }

    .fit-name[b-d2plk8nq16] {
        font-size: 0.85rem;
    }

    .fit-cta[b-d2plk8nq16] {
        flex-shrink: 0;
        padding: 0.4rem 0.7rem;
        font-size: 0.78rem;
    }

    .fit-ok[b-d2plk8nq16], .fit-next[b-d2plk8nq16] {
        flex-shrink: 0;
        font-size: 0.72rem;
        text-align: right;
    }

    .sheet-spacer[b-d2plk8nq16] {
        height: 230px;
    }
}

.sheet-cap[b-d2plk8nq16] {
    margin-top: 0.4rem;
    font-size: 0.78rem;
    color: #b45309;
    background: #fef3c7;
    border-radius: 8px;
    padding: 0.4rem 0.7rem;
}

/* ── photo hero header with contact ────────────────────────────── */

.av-hero[b-d2plk8nq16] {
    border-radius: 20px;
    background-size: cover;
    background-position: center;
    background-color: var(--brand, #1f2a44);
    overflow: hidden;
    margin-bottom: 1.25rem;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

.av-veil[b-d2plk8nq16] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding: 2.4rem 1.7rem 1.3rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.10) 0%, rgba(0, 0, 0, 0.68) 85%);
    color: #fff;
    min-height: 150px;
    box-sizing: border-box;
}

.av-kicker[b-d2plk8nq16] {
    font-size: 0.68rem;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: #e7cf9f;
    margin-bottom: 0.3rem;
}

.av-id h1[b-d2plk8nq16] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
    font-size: clamp(1.5rem, 3vw, 2.1rem);
    margin: 0 0 0.35rem;
    color: #fff;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}

.av-live[b-d2plk8nq16] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.85);
}

.av-dot[b-d2plk8nq16] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.25);
    animation: av-pulse-b-d2plk8nq16 2s ease-in-out infinite;
}

@keyframes av-pulse-b-d2plk8nq16 {
    50% { box-shadow: 0 0 0 6px rgba(52, 211, 153, 0.10); }
}

.av-side[b-d2plk8nq16] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.6rem;
}

.av-contact[b-d2plk8nq16] {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.av-chip[b-d2plk8nq16] {
    color: #fff;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    padding: 0.35rem 0.85rem;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.15s ease;
}

.av-chip:hover[b-d2plk8nq16] {
    background: rgba(255, 255, 255, 0.24);
}

.av-chip.wa[b-d2plk8nq16] {
    background: rgba(37, 211, 102, 0.25);
    border-color: rgba(37, 211, 102, 0.55);
}

.av-thumbs[b-d2plk8nq16] {
    display: flex;
    gap: 0.45rem;
}

.av-thumb[b-d2plk8nq16] {
    width: 74px;
    height: 50px;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.30);
    border: 1px solid rgba(255, 255, 255, 0.25);
}

@media (max-width: 640px) {
    .av-veil[b-d2plk8nq16] {
        padding: 1.6rem 1rem 0.9rem;
    }

    .av-side[b-d2plk8nq16] {
        align-items: flex-start;
    }

    .av-thumbs[b-d2plk8nq16] {
        display: none;
    }
}

/* ── guided picking: what to do after choosing the arrival ─────── */

.row.night[b-d2plk8nq16] {
    position: relative;
}

.row.night.candidate[b-d2plk8nq16] {
    outline: 2px dashed rgba(207, 168, 78, 0.65);
    outline-offset: -2px;
    border-radius: 8px;
    cursor: pointer;
}

.row.night.candidate:hover[b-d2plk8nq16] {
    outline-style: solid;
    outline-color: #cfa84e;
    background: rgba(207, 168, 78, 0.08);
}

.row.night.dimmed[b-d2plk8nq16] {
    opacity: 0.30;
    filter: grayscale(0.5);
}

.cand-tag[b-d2plk8nq16] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    border-radius: 999px;
    padding: 0.18rem 0.6rem;
    pointer-events: none;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}

.pick-callout[b-d2plk8nq16] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin: 2px 0 8px;
    padding: 0.6rem 0.9rem;
    border-radius: 10px;
    background: linear-gradient(135deg, #f8f0dc, #efdfb9);
    border: 1px solid #d9bc72;
    color: #5d4310;
    font-size: 0.85rem;
    animation: callout-in-b-d2plk8nq16 0.35s cubic-bezier(0.2, 1.1, 0.3, 1);
}

@keyframes callout-in-b-d2plk8nq16 {
    from { transform: translateY(-6px); opacity: 0; }
    to   { transform: translateY(0); opacity: 1; }
}

.pick-arrow[b-d2plk8nq16] {
    font-size: 1.1rem;
    line-height: 1;
    color: #a8842e;
    animation: arrow-nudge-b-d2plk8nq16 1.2s ease-in-out infinite;
}

@keyframes arrow-nudge-b-d2plk8nq16 {
    50% { transform: translateY(3px); }
}

.pick-sub[b-d2plk8nq16] {
    color: #8a6a2a;
    font-size: 0.74rem;
}

/* ── refined board palette: sage & champagne instead of neon mint ── */

.band-open[b-d2plk8nq16]   { background: #e3ebe2; color: #2c5641; }
.band-busy[b-d2plk8nq16]   { background: #f1e8d2; color: #7a5c22; }
.band-tight[b-d2plk8nq16]  { background: #f3ddc9; color: #8f4a1e; }
.band-full[b-d2plk8nq16]   { background: #ebedef; color: #a0a6b0; }

.fit-badge[b-d2plk8nq16] {
    background: #2f5c46;
    color: #dfeee5;
}

.fit-cta[b-d2plk8nq16] {
    background: linear-gradient(135deg, #e7cf9f, #cfa84e);
    color: #241a04;
    border-radius: 10px;
    box-shadow: 0 5px 14px rgba(138, 103, 42, 0.30);
    transition: transform 0.13s ease, box-shadow 0.13s ease, background 0.15s ease;
}

.fit-cta:hover[b-d2plk8nq16] {
    background: linear-gradient(135deg, #eed9ab, #d9b566);
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(138, 103, 42, 0.36);
}

.av-dot[b-d2plk8nq16] {
    background: #cfa84e;
    box-shadow: 0 0 0 3px rgba(207, 168, 78, 0.25);
}

@keyframes av-pulse-b-d2plk8nq16 {
    50% { box-shadow: 0 0 0 6px rgba(207, 168, 78, 0.10); }
}

/* client palette: solid green for available, red for sold out */
.band-open[b-d2plk8nq16] { background: #177a0b; color: #ffffff; }
.band-full[b-d2plk8nq16] { background: #dc2626; color: #ffffff; }

/* ── date + nights selection bar ───────────────────────────────── */

.sel-bar[b-d2plk8nq16] {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 16px;
    padding: 0.85rem 1.1rem;
    margin-bottom: 1.1rem;
    box-shadow: 0 8px 26px rgba(15, 23, 42, 0.08);
}

.sel-item label[b-d2plk8nq16] {
    display: block;
    font-size: 0.66rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #9ca3af;
    margin-bottom: 0.3rem;
}

.sel-item input[type="date"][b-d2plk8nq16] {
    border: 1px solid #d8dbe1;
    border-radius: 10px;
    padding: 0.45rem 0.6rem;
    font-family: inherit;
    font-size: 0.9rem;
}

.sel-item input[type="date"]:focus[b-d2plk8nq16] {
    outline: none;
    border-color: #cfa84e;
    box-shadow: 0 0 0 3px rgba(207, 168, 78, 0.18);
}

.sel-step[b-d2plk8nq16] {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d8dbe1;
    border-radius: 10px;
    overflow: hidden;
}

.sel-step button[b-d2plk8nq16] {
    width: 30px;
    height: 34px;
    border: 0;
    background: #f3f4f6;
    font-size: 1rem;
    cursor: pointer;
    color: #374151;
}

.sel-step button:hover:not(:disabled)[b-d2plk8nq16] {
    background: #e7cf9f;
}

.sel-step button:disabled[b-d2plk8nq16] {
    opacity: 0.4;
    cursor: default;
}

.sel-step span[b-d2plk8nq16] {
    min-width: 2.2em;
    text-align: center;
    font-weight: 800;
    font-size: 0.95rem;
}

.sel-summary[b-d2plk8nq16] {
    font-size: 0.88rem;
    color: #374151;
    padding-bottom: 0.4rem;
}

.sel-summary.muted[b-d2plk8nq16] {
    color: #9ca3af;
}

.sel-summary .clear[b-d2plk8nq16] {
    color: #8a672a;
    margin-left: 0.4rem;
}

/* selected span: one continuous elegant gold band */
.row.night.sel[b-d2plk8nq16] {
    background: rgba(207, 168, 78, 0.14);
    border-radius: 8px;
}

.row.night.sel .rdate .dom[b-d2plk8nq16] {
    color: #7a5c22;
}

.row.night.sel.sel-edge[b-d2plk8nq16] {
    outline: 2px solid #cfa84e;
    outline-offset: -2px;
}

/* hover trail while choosing the last night */
.row.night.preview[b-d2plk8nq16] {
    background: rgba(207, 168, 78, 0.16);
    border-radius: 8px;
}

.hint .clear[b-d2plk8nq16] {
    color: #8a672a;
    margin-left: 0.4rem;
}

/* ── month calendar board ──────────────────────────────────────── */

.cal-months[b-d2plk8nq16] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.1rem;
    align-items: start;
}

.cal-month[b-d2plk8nq16] {
    background: #fff;
    border-radius: 18px;
    padding: 1.1rem 1.15rem 1.25rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.cal-title[b-d2plk8nq16] {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 600;
    font-size: 1.15rem;
    color: var(--brand, #1f2a44);
    margin-bottom: 0.75rem;
    padding-left: 0.2rem;
}

.cal-grid[b-d2plk8nq16] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}

.cal-wd[b-d2plk8nq16] {
    text-align: center;
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: #9ca3af;
    padding-bottom: 0.25rem;
}

.cal-blank[b-d2plk8nq16] {
    aspect-ratio: 1 / 1.05;
}

.cal-day[b-d2plk8nq16] {
    aspect-ratio: 1 / 1.05;
    border-radius: 11px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.05rem;
    cursor: pointer;
    user-select: none;
    transition: transform 0.12s ease, box-shadow 0.12s ease, filter 0.12s ease;
}

.cal-day:hover[b-d2plk8nq16] {
    transform: translateY(-1px);
    filter: brightness(1.08);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
}

.cal-num[b-d2plk8nq16] {
    font-weight: 800;
    font-size: 0.98rem;
    line-height: 1;
}

.cal-free[b-d2plk8nq16] {
    font-size: 0.62rem;
    font-weight: 700;
    opacity: 0.85;
    line-height: 1;
}

/* selection inside the calendar: gold wash, strong ring on the edges */
.cal-day.sel[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px rgba(231, 207, 159, 0.85);
}

.cal-day.sel.sel-edge[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px #cfa84e, 0 6px 16px rgba(0, 0, 0, 0.25);
    transform: scale(1.06);
    z-index: 1;
}

.cal-day.preview[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px rgba(231, 207, 159, 0.55);
}

@media (max-width: 720px) {
    .cal-months[b-d2plk8nq16] {
        grid-template-columns: 1fr;
    }
}

/* tiles carry just the date — color tells the story; count on hover.
   Only genuine scarcity earns a tag, and sold-out dates strike through. */
.cal-free[b-d2plk8nq16] {
    display: none;
}

.cal-day[b-d2plk8nq16] {
    position: relative;
}

.cal-num[b-d2plk8nq16] {
    font-size: 1.05rem;
}

.cal-day.band-full .cal-num[b-d2plk8nq16] {
    text-decoration: line-through;
    opacity: 0.8;
}

.cal-left[b-d2plk8nq16] {
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    color: #92400e;
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.03em;
    border-radius: 99px;
    padding: 0.08rem 0.4rem;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.22);
}

/* count-first tiles: inventory is the headline, the date sits in the corner —
   the calendar grid already locates the day. */
.cal-day[b-d2plk8nq16] {
    justify-content: center;
    gap: 0;
}

.cal-num[b-d2plk8nq16] {
    position: absolute;
    top: 4px;
    left: 7px;
    font-size: 0.62rem;
    font-weight: 700;
    opacity: 0.78;
    text-decoration: none !important;
}

.cal-count[b-d2plk8nq16] {
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1;
    margin-top: 0.35rem;
}

.cal-unit[b-d2plk8nq16] {
    font-size: 0.5rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.75;
    line-height: 1.4;
}

.cal-left[b-d2plk8nq16] {
    display: none;
}

.cal-day.band-full .cal-num[b-d2plk8nq16] {
    opacity: 0.7;
}

/* ── the liquid calendar ───────────────────────────────────────
   Each day is a vessel; the green fills to the level of remaining
   inventory. No numbers on the grid — a lens card floats up on
   hover with the exact figures. */

.cal-day.vessel[b-d2plk8nq16] {
    background: #eef1ee;
    box-shadow: inset 0 0 0 1px #dde3dd;
    color: #1d3a2a;
    overflow: visible;
    justify-content: flex-start;
    align-items: flex-start;
}

.cal-day.vessel[b-d2plk8nq16]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--fill, 0%);
    border-radius: 4px 4px 11px 11px;
    background: linear-gradient(180deg, #2f9e44, #177a0b);
    transition: height 0.6s cubic-bezier(0.2, 0.9, 0.3, 1);
    z-index: 0;
}

.cal-day.vessel .cal-num[b-d2plk8nq16] {
    position: relative;
    top: auto;
    left: auto;
    margin: 5px 0 0 7px;
    font-size: 0.72rem;
    font-weight: 800;
    opacity: 1;
    z-index: 1;
    color: #1d3a2a;
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.55);
}

.cal-day.vessel .cal-count[b-d2plk8nq16],
.cal-day.vessel .cal-unit[b-d2plk8nq16] {
    display: none;
}

/* scarcity: amber liquid, breathing */
.cal-day.vessel.band-tight[b-d2plk8nq16]::before,
.cal-day.vessel.band-busy[b-d2plk8nq16]::before {
    background: linear-gradient(180deg, #e8b64c, #c98a1e);
    animation: liquid-breathe-b-d2plk8nq16 2.4s ease-in-out infinite;
}

@keyframes liquid-breathe-b-d2plk8nq16 {
    50% { filter: brightness(1.12); }
}

/* sold out: drained, red rim, struck date */
.cal-day.vessel.band-full[b-d2plk8nq16] {
    background: #fbecec;
    box-shadow: inset 0 0 0 1px #eec7c7;
}

.cal-day.vessel.band-full[b-d2plk8nq16]::before {
    height: 0;
}

.cal-day.vessel.band-full .cal-num[b-d2plk8nq16] {
    color: #b02a2a;
    text-decoration: line-through;
}

/* the lens: exact figures float up on hover */
.cal-day.vessel[b-d2plk8nq16]::after {
    content: attr(data-info);
    position: absolute;
    bottom: calc(100% + 7px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #14301f;
    color: #f2ead8;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.4rem 0.7rem;
    border-radius: 9px;
    white-space: nowrap;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.30);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease, transform 0.15s ease;
    z-index: 20;
}

.cal-day.vessel:hover[b-d2plk8nq16]::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.cal-day.vessel:hover[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 1px #cfa84e, 0 6px 16px rgba(0, 0, 0, 0.14);
}

/* selection rings ride above the liquid */
.cal-day.vessel.sel[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px rgba(207, 168, 78, 0.85);
}

.cal-day.vessel.sel.sel-edge[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px #cfa84e, 0 8px 18px rgba(0, 0, 0, 0.22);
}

.cal-day.vessel.preview[b-d2plk8nq16] {
    box-shadow: inset 0 0 0 3px rgba(231, 207, 159, 0.55);
}

/* legend vessels */
.legend .vlg[b-d2plk8nq16] {
    position: relative;
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 5px;
    background: #eef1ee;
    box-shadow: inset 0 0 0 1px #dde3dd;
    overflow: hidden;
    vertical-align: -3px;
}

.legend .vlg[b-d2plk8nq16]::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--fill, 0%);
    background: linear-gradient(180deg, #2f9e44, #177a0b);
}

.legend .vlg.amber[b-d2plk8nq16]::before {
    background: linear-gradient(180deg, #e8b64c, #c98a1e);
}

.legend .vlg.empty[b-d2plk8nq16] {
    background: #fbecec;
    box-shadow: inset 0 0 0 1px #eec7c7;
}

/* ── the bubble: springs from the row you just tapped ─────────── */

.tap-bubble[b-d2plk8nq16] {
    position: absolute;
    top: calc(100% + 8px);
    left: 108px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #14301f;
    border: 1.5px solid #cfa84e;
    color: #f2ead8;
    font-size: 0.86rem;
    padding: 0.55rem 1rem;
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
    pointer-events: none;
    transform-origin: 28px -8px;
    animation: bubble-pop-b-d2plk8nq16 0.4s cubic-bezier(0.2, 1.6, 0.4, 1);
}

.tap-bubble[b-d2plk8nq16]::before {
    content: "";
    position: absolute;
    top: -7px;
    left: 22px;
    width: 12px;
    height: 12px;
    background: #14301f;
    border-left: 1.5px solid #cfa84e;
    border-top: 1.5px solid #cfa84e;
    transform: rotate(45deg);
}

@keyframes bubble-pop-b-d2plk8nq16 {
    0%   { transform: scale(0.6) translateY(-6px); opacity: 0; }
    100% { transform: scale(1) translateY(0); opacity: 1; }
}

.tb-icon[b-d2plk8nq16] {
    font-size: 1rem;
    animation: tb-nudge-b-d2plk8nq16 1.3s ease-in-out infinite;
}

@keyframes tb-nudge-b-d2plk8nq16 {
    50% { transform: translateY(3px); }
}

.tb-sub[b-d2plk8nq16] {
    color: rgba(242, 234, 216, 0.6);
    font-size: 0.72rem;
    border-left: 1px solid rgba(207, 168, 78, 0.4);
    padding-left: 0.6rem;
}

.tap-bubble.done[b-d2plk8nq16] {
    border-color: #34d399;
    animation: bubble-pop-b-d2plk8nq16 0.35s cubic-bezier(0.2, 1.6, 0.4, 1);
}

@media (max-width: 640px) {
    .tap-bubble[b-d2plk8nq16] {
        left: 8px;
        font-size: 0.78rem;
        padding: 0.45rem 0.7rem;
    }

    .tb-sub[b-d2plk8nq16] {
        display: none;
    }
}
/* /Components/Shared/AgentGate.razor.rz.scp.css */
.ask[b-6p5cboz3gg] {
    max-width: 460px;
    margin-bottom: 1.25rem;
}

.ask label[b-6p5cboz3gg] {
    display: block;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.35rem;
}

.ask-row[b-6p5cboz3gg] {
    display: flex;
    gap: 0.5rem;
}

.ask-row input[b-6p5cboz3gg] {
    flex: 1;
    min-width: 0;
    padding: 0.55rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    font-family: inherit;
}

.ask-row input:focus[b-6p5cboz3gg] {
    outline: 2px solid var(--brand-accent, #1d4ed8);
    border-color: transparent;
}

.check[b-6p5cboz3gg] {
    padding: 0.55rem 1.1rem;
    background: var(--brand, #1f2a44);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

.check:hover:not(:disabled)[b-6p5cboz3gg] {
    background: var(--brand-dark, #16203a);
}

.check:disabled[b-6p5cboz3gg] {
    opacity: 0.5;
    cursor: default;
}

.gate-error[b-6p5cboz3gg] {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    font-weight: 600;
    color: #b91c1c;
}

.gate-hint[b-6p5cboz3gg] {
    margin: 0.4rem 0 0;
    font-size: 0.78rem;
    color: #9ca3af;
}

.otp-dev[b-6p5cboz3gg] {
    margin: 0.5rem 0 0;
    font-size: 0.85rem;
    color: var(--brand-accent, #1d4ed8);
    background: #eff6ff;
    border: 1px dashed #93c5fd;
    border-radius: 7px;
    padding: 0.4rem 0.7rem;
    display: inline-block;
}

.switch[b-6p5cboz3gg] {
    font-size: 0.85rem;
    cursor: pointer;
}

.verdict[b-6p5cboz3gg] {
    border-radius: 10px;
    padding: 0.9rem 1.1rem;
    margin-bottom: 1.25rem;
    max-width: 640px;
}

.verdict p[b-6p5cboz3gg] {
    margin: 0.35rem 0 0;
    font-size: 0.9rem;
}

.verdict.warn[b-6p5cboz3gg] {
    background: #fffbeb;
    border: 1px solid #fcd34d;
    color: #78350f;
}
