:root {
    color-scheme: light;
    --bg: #f7f3ea;
    --panel: #ffffff;
    --panel-2: #f1eadc;
    --line: rgba(174, 132, 44, .22);
    --gold: #b8892d;
    --gold-2: #d6a844;
    --text: #1d1a16;
    --muted: #746b5f;
    --danger: #b42318;
    --ok: #147a45;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(214,168,68,.2), transparent 30rem),
        linear-gradient(180deg, #fffaf0 0%, var(--bg) 42%, #efe7d8 100%);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.shop-experience {
    background:
        radial-gradient(circle at 12% 8%, rgba(0, 126, 255, .16), transparent 24rem),
        radial-gradient(circle at 90% 15%, rgba(214, 168, 68, .18), transparent 22rem),
        linear-gradient(180deg, #f8f4eb 0%, #fffdf8 48%, #f2eadb 100%);
}
.modal-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
input, select, textarea, button {
    width: 100%;
    border: 1px solid rgba(83,64,31,.16);
    border-radius: 8px;
    background: #fffdf8;
    color: var(--text);
    padding: .85rem .95rem;
    font: inherit;
}
textarea { min-height: 110px; resize: vertical; }
label { display: grid; gap: .45rem; color: var(--muted); font-size: .9rem; }
button { cursor: pointer; }
.gold-button {
    border: 0;
    color: #211706;
    font-weight: 800;
    background: linear-gradient(135deg, var(--gold), var(--gold-2));
    box-shadow: 0 14px 35px rgba(184,137,45,.22);
}
.ghost-button {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: .8rem 1rem;
    color: var(--gold-2);
}
.gold-link { color: var(--gold-2); font-weight: 800; text-decoration: underline; text-decoration-color: var(--line); }
.eyebrow { color: var(--gold-2); letter-spacing: 0; text-transform: uppercase; font-size: .78rem; font-weight: 800; }
.admin-shell { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.sidebar {
    border-right: 1px solid var(--line);
    background: rgba(255,253,248,.9);
    padding: 1.5rem;
    position: sticky;
    top: 0;
    height: 100vh;
}
.brand { display: grid; gap: .25rem; margin-bottom: 2rem; }
.brand span { color: var(--gold); font-weight: 900; }
.brand strong { font-size: 1.15rem; }
.sidebar nav { display: grid; gap: .35rem; }
.sidebar a { border-radius: 8px; padding: .75rem .85rem; color: var(--muted); }
.sidebar a.active, .sidebar a:hover { color: var(--text); background: rgba(214,168,68,.16); }
.logout { display: block; margin-top: 2rem; }
.admin-main { padding: 1.5rem; max-width: 1500px; width: 100%; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.4rem; }
.topbar h1, .hero h1 { margin: .2rem 0 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.metric-grid article, .panel, .cards article {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,250,240,.88));
    box-shadow: 0 18px 55px rgba(72, 54, 20, .1);
}
.metric-grid article { padding: 1rem; display: grid; gap: .25rem; }
.metric-grid span, .metric-grid small { color: var(--muted); }
.metric-grid strong { font-size: clamp(1.6rem, 4vw, 2.5rem); color: var(--gold-2); }
.panel { padding: 1.15rem; margin-bottom: 1rem; }
.grid-two { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.form-grid .full { grid-column: 1 / -1; }
.switch { align-content: end; grid-auto-flow: column; justify-content: start; align-items: center; }
.switch input { width: auto; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { text-align: left; padding: .8rem; border-bottom: 1px solid rgba(83,64,31,.1); vertical-align: middle; }
th { color: var(--gold-2); font-size: .82rem; }
.pill { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: .25rem .55rem; color: var(--gold-2); font-size: .8rem; }
.notice, .alert { border-radius: 8px; padding: .85rem 1rem; margin-bottom: 1rem; }
.notice { background: rgba(120,217,154,.12); border: 1px solid rgba(120,217,154,.28); }
.alert { background: rgba(255,112,112,.12); border: 1px solid rgba(255,112,112,.28); }
.location-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}
.location-media-card {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 18px;
    background: rgba(255,253,248,.92);
    box-shadow: 0 16px 36px rgba(52,38,18,.08);
}
.location-media-preview {
    overflow: hidden;
    min-height: 170px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(246,202,111,.42), rgba(41,35,28,.9));
    color: #fff;
    font-size: 2.6rem;
    font-weight: 950;
}
.location-media-preview img {
    width: 100%;
    height: 100%;
    min-height: 170px;
    object-fit: cover;
}
.location-media-body span,
.location-media-body strong,
.location-media-body small {
    display: block;
}
.location-media-body span {
    color: var(--gold-dark);
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
}
.location-media-body strong {
    margin-top: .15rem;
    font-size: 1.35rem;
}
.location-media-body small {
    margin-top: .18rem;
    color: var(--muted);
    font-weight: 800;
}
.location-media-form {
    display: grid;
    gap: .65rem;
}
.location-media-form label {
    display: grid;
    gap: .35rem;
    font-weight: 900;
}
.location-media-form input[type="file"] {
    width: 100%;
    border: 1px solid rgba(83,64,31,.14);
    border-radius: 12px;
    padding: .72rem;
    background: #fff;
}
.location-media-form .inline-check {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.location-media-form .inline-check input {
    width: auto;
}
.status-line.ok { color: var(--ok); }
.status-line.danger { color: var(--danger); }
.inline-form { display: grid; grid-template-columns: 1fr 1fr 54px; gap: .35rem; }
.inline-form:has(input[name="module_id"]) { grid-template-columns: 1fr 54px; }
.auth-panel {
    width: min(460px, calc(100vw - 2rem));
    margin: 8vh auto;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,253,248,.96);
    padding: 2rem;
}
.stack { display: grid; gap: 1rem; }
.frontend .hero {
    min-height: 72vh;
    display: grid;
    align-content: space-between;
    padding: 1.25rem clamp(1rem, 4vw, 4rem) 4rem;
    background:
        linear-gradient(180deg, rgba(255,250,240,.25), rgba(247,243,234,.95)),
        url('../img/premium-event.svg') center/cover no-repeat;
}
.frontend .experience-hero {
    min-height: 78vh;
    background:
        linear-gradient(110deg, rgba(255,250,240,.95) 0%, rgba(255,250,240,.78) 38%, rgba(255,250,240,.22) 100%),
        url('../img/premium-event.svg') center/cover no-repeat;
}
.commerce-hero {
    min-height: 48vh;
    padding: 1rem clamp(1rem, 4vw, 3rem) 2rem;
    color: var(--text);
}
.compact-topbar {
    min-height: auto;
    padding-bottom: .75rem;
}
.commerce-hero nav { display: flex; justify-content: space-between; align-items: center; }
.commerce-hero nav strong {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .55rem .85rem;
    background: rgba(255,255,255,.76);
    backdrop-filter: blur(10px);
}
.commerce-hero nav a {
    border-radius: 999px;
    padding: .65rem .95rem;
    background: #1d1a16;
    color: #fffaf0;
    font-weight: 900;
}
.commerce-hero-grid {
    min-height: 34vh;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(320px, .85fr);
    align-items: center;
    gap: clamp(1rem, 4vw, 4rem);
}
.commerce-hero .hero-copy h1 {
    color: var(--text);
    font-size: clamp(2.15rem, 5vw, 4.4rem);
    line-height: 1;
    max-width: 740px;
}
.commerce-hero .hero-copy p { color: var(--muted); }
.kiosk-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); }
.kiosk-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}
.kiosk-summary div {
    min-height: 112px;
    border-radius: 16px;
    border: 1px solid var(--line);
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 12px 30px rgba(72,54,20,.08);
}
.kiosk-summary strong { font-size: 2rem; color: var(--gold); line-height: 1; }
.kiosk-summary span { color: var(--muted); font-weight: 800; }
.kiosk-hidden { display: none; }
.phone-scene { position: relative; min-height: 520px; display: grid; place-items: center; }
.phone-card {
    position: relative;
    width: min(360px, 78vw);
    aspect-ratio: 9 / 14;
    border-radius: 42px;
    background: linear-gradient(160deg, #6de8ff, #064bd8 42%, #061c73);
    box-shadow: 0 30px 90px rgba(0,0,0,.35), 0 0 55px rgba(0,183,255,.3);
    padding: 2rem 1.25rem 1.25rem;
    transform: rotate(-7deg);
}
.phone-top { display: block; width: 44%; height: 12px; margin: 0 auto 1.25rem; border-radius: 999px; background: rgba(255,255,255,.32); }
.phone-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .85rem; }
.phone-grid i {
    min-height: 132px;
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255,255,255,.28), rgba(255,255,255,.08));
    border: 1px solid rgba(255,255,255,.18);
}
.floating-sale, .buy-bubble {
    position: absolute;
    border-radius: 24px;
    color: #fff;
    font-weight: 950;
    letter-spacing: 0;
    box-shadow: 0 18px 48px rgba(0,0,0,.22);
}
.floating-sale { padding: 1.2rem 1.5rem; background: rgba(0,204,255,.72); backdrop-filter: blur(10px); }
.sale-left { left: -72px; top: 30%; }
.sale-right { right: -74px; top: 42%; }
.buy-bubble { right: -120px; bottom: 15%; padding: 1rem 2.2rem; background: #e53e8b; }
.hero nav { display: flex; justify-content: space-between; align-items: center; }
.hero nav strong {
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: .55rem .85rem;
    background: rgba(255,255,255,.68);
    backdrop-filter: blur(10px);
}
.hero nav a {
    border-radius: 999px;
    padding: .65rem .95rem;
    background: #1d1a16;
    color: #fffaf0;
    font-weight: 800;
}
.hero-copy { width: min(760px, 100%); }
.hero-copy h1 { font-size: clamp(2.4rem, 7vw, 5.8rem); line-height: .96; max-width: 820px; }
.hero-copy p { color: var(--muted); font-size: 1.1rem; max-width: 640px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.hero-button { width: auto; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; }
.frontend main { width: min(1180px, calc(100vw - 2rem)); margin: -3rem auto 4rem; position: relative; }
.shop-experience main { margin-top: 0; }
.merchant-banner {
    width: 100%;
    min-height: 190px;
    border: 1px solid var(--line);
    border-radius: 18px;
    margin: .25rem 0 1rem;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,255,255,.92), rgba(238,248,255,.86)),
        radial-gradient(circle at right, rgba(36,132,255,.18), transparent 22rem);
    box-shadow: 0 18px 48px rgba(72,54,20,.1);
}
.merchant-banner.has-image {
    background: #f7f1e5;
}
.merchant-banner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}
.merchant-banner.empty-banner {
    display: grid;
    place-items: center;
    text-align: center;
    color: var(--muted);
}
.merchant-banner.empty-banner div { display: grid; gap: .3rem; }
.merchant-banner.empty-banner span { color: var(--gold); font-weight: 900; text-transform: uppercase; font-size: .75rem; }
.merchant-banner.empty-banner strong { color: var(--text); font-size: clamp(1.4rem, 3vw, 2.4rem); }
.merchant-banner.empty-banner small { font-size: .86rem; }
.booking-panel { background: rgba(255,253,248,.96); }
.shop-layout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 1rem; align-items: start; }
.shop-main {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1.15rem;
    background: rgba(255,253,248,.9);
    box-shadow: 0 18px 55px rgba(72, 54, 20, .1);
}
.shop-main h2, .booking-panel h2 { font-size: clamp(1.6rem, 3vw, 2.45rem); margin: .15rem 0 .4rem; }
.section-lead { color: var(--muted); max-width: 720px; margin: 0 0 1rem; }
.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.offer-card {
    min-height: 150px;
    display: grid;
    align-content: space-between;
    text-align: left;
    border-color: var(--line);
    background: linear-gradient(145deg, #ffffff, #f4ead6);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.offer-card span { color: var(--gold); text-transform: uppercase; font-size: .74rem; font-weight: 800; }
.offer-card strong { font-size: 1.25rem; }
.offer-card small { color: var(--muted); }
.offer-card:hover, .offer-card.active {
    transform: translateY(-2px);
    border-color: rgba(184,137,45,.55);
    box-shadow: 0 18px 36px rgba(184,137,45,.16);
}
.booking-panel {
    position: sticky;
    top: 1rem;
}
.product-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: .35rem; }
.product-picks label { border: 1px solid rgba(83,64,31,.12); border-radius: 8px; padding: .8rem; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .6rem; background: #fffdf8; }
.product-picks input { width: auto; }
.product-picks label:has(input:checked) {
    border-color: rgba(184,137,45,.55);
    background: #fff7e4;
    box-shadow: 0 12px 28px rgba(184,137,45,.12);
}
.module-picker { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: .35rem; }
.module-picker label {
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 8px;
    padding: .9rem;
    background: #fffdf8;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .35rem .65rem;
    align-items: start;
}
.module-picker input { width: auto; margin-top: .2rem; }
.module-picker span { color: var(--text); font-weight: 800; }
.module-picker small { grid-column: 2; color: var(--muted); line-height: 1.35; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.cards article { padding: 1rem; min-height: 160px; }
.cards span { color: var(--gold-2); font-size: .78rem; text-transform: uppercase; }
.cards p { color: var(--muted); }
.cards a { color: var(--gold); font-weight: 800; }
.checkout-steps {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1rem;
    align-items: start;
}
.front-experience {
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(1rem, 3vw, 1.35rem);
    background:
        radial-gradient(circle at 28% -12%, rgba(36, 132, 255, .18), transparent 18rem),
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(249,245,237,.9));
    box-shadow: 0 20px 60px rgba(72,54,20,.12);
    position: relative;
    overflow: hidden;
}
.front-experience::before {
    content: "";
    position: absolute;
    right: -70px;
    top: -95px;
    width: 270px;
    height: 270px;
    border-radius: 52px;
    background: linear-gradient(145deg, rgba(107,225,255,.28), rgba(22,72,210,.18));
    transform: rotate(-10deg);
    filter: blur(.2px);
}
.front-experience > *:not(.menu-bg-phone) {
    position: relative;
    z-index: 2;
}
.menu-bg-phone {
    position: absolute;
    inset: auto 3% -85px auto;
    width: min(390px, 38vw);
    opacity: .28;
    pointer-events: none;
    z-index: 1;
}
.menu-bg-phone .phone-card {
    width: 100%;
    transform: rotate(-8deg);
    box-shadow: 0 24px 70px rgba(0,85,190,.2);
}
.menu-bg-phone .floating-sale,
.menu-bg-phone .buy-bubble {
    opacity: .9;
}
.front-heading {
    display: grid;
    gap: .25rem;
    margin-bottom: 1rem;
    color: var(--text);
}
.front-heading h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.7rem); }
.front-heading p { max-width: 760px; color: var(--muted); margin: 0; }
.kiosk-heading { grid-template-columns: 1fr; }
.landing-grid .experience-card {
    min-height: 142px;
    color: var(--text);
    background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(246,239,225,.86));
    border-color: rgba(83,64,31,.12);
    box-shadow: 0 12px 30px rgba(72,54,20,.08);
}
.landing-grid .experience-card.event {
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(232,246,255,.92));
}
.landing-grid .experience-card small { color: var(--muted); }
.landing-grid .experience-card span { color: var(--gold); }
.landing-grid .experience-card:hover {
    box-shadow: 0 16px 42px rgba(184,137,45,.14);
    border-color: rgba(184,137,45,.46);
}
.checkout-modal {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: none;
}
.checkout-modal.open { display: block; }
.modal-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 10%, rgba(0,184,255,.24), transparent 30rem),
        radial-gradient(circle at 80% 20%, rgba(229,62,139,.2), transparent 28rem),
        rgba(5,8,23,.78);
    backdrop-filter: blur(16px);
}
.modal-card {
    position: relative;
    width: min(1080px, calc(100vw - 1.2rem));
    max-height: calc(100vh - 1.2rem);
    margin: .6rem auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: .85rem;
    overflow: auto;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 18px;
    padding: .85rem;
    background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(250,246,238,.96));
    box-shadow: 0 30px 100px rgba(0,0,0,.38);
}
.modal-close {
    position: sticky;
    top: 0;
    grid-column: 1 / -1;
    justify-self: end;
    width: auto;
    border-radius: 999px;
    background: #1d1a16;
    color: #fffaf0;
    border: 0;
    padding: .55rem .8rem;
    z-index: 2;
}
.modal-card .step-rail { grid-column: 1 / -1; }
.modal-shop { min-height: 500px; }
.modal-cart { position: sticky; top: 1rem; align-self: start; }
.selected-orbit {
    min-height: 280px;
    display: grid;
    place-items: center;
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    background:
        radial-gradient(circle at center, rgba(0,184,255,.28), transparent 12rem),
        linear-gradient(145deg, #071022, #101d58);
    color: #fff;
}
.orbit-core {
    width: min(280px, 72vw);
    aspect-ratio: 1;
    border-radius: 999px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 1.25rem;
    background: radial-gradient(circle at 35% 28%, #6de8ff, #1b56ff 55%, #14205e);
    box-shadow: 0 0 60px rgba(0,184,255,.4);
    font-weight: 950;
    font-size: 1.35rem;
}
.selected-orbit span {
    position: absolute;
    width: 18px;
    aspect-ratio: 1;
    border-radius: 999px;
    background: #e53e8b;
    box-shadow: 0 0 20px rgba(229,62,139,.6);
}
.selected-orbit span:nth-child(2) { transform: translate(160px, -88px); }
.selected-orbit span:nth-child(3) { transform: translate(-145px, 70px); background: #6de8ff; }
.selected-orbit span:nth-child(4) { transform: translate(40px, 135px); background: #f6c84c; }
.step-rail {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
}
.step-pill {
    min-height: 58px;
    border-color: rgba(83,64,31,.12);
    background: #fffdf8;
    color: var(--text);
    font-weight: 850;
}
.step-pill.active {
    background: linear-gradient(135deg, var(--gold), #f0ca6b);
    color: #211706;
    border-color: transparent;
}
.checkout-shop, .step-panel, .live-cart {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255,253,248,.94);
    box-shadow: 0 18px 55px rgba(72,54,20,.1);
}
.checkout-shop { padding: 0; }
.step-panel { display: none; padding: 1.15rem; box-shadow: none; border: 0; background: transparent; }
.step-panel.active { display: block; }
.step-heading h2 { margin: .15rem 0 .3rem; font-size: clamp(1.7rem, 3vw, 2.6rem); }
.step-heading p { color: var(--muted); }
.experience-grid, .product-shop-grid, .table-picker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}
.table-picker-grid { margin-top: .85rem; }
.experience-card, .shop-product, .table-pick-card {
    min-height: 146px;
    display: grid;
    align-content: space-between;
    text-align: left;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 14px;
    padding: .9rem;
    background: linear-gradient(150deg, #ffffff, #f7f1e5);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.experience-card span, .shop-product span, .table-pick-card span { color: var(--gold); text-transform: uppercase; font-size: .72rem; font-weight: 900; }
.experience-card strong, .shop-product strong, .table-pick-card strong { font-size: 1.05rem; }
.experience-card small, .shop-product small, .table-pick-card small { color: var(--muted); line-height: 1.35; }
.table-pick-card { min-height: 118px; cursor: pointer; }
.table-pick-card.no-table-card {
    border-style: dashed;
    background: linear-gradient(135deg, rgba(255,253,248,.98), rgba(247,239,221,.88));
}
.table-pick-card.no-table-card strong {
    color: #2f2b25;
}
.table-pick-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
    object-position: center;
    border-radius: 12px;
    margin-bottom: .55rem;
}
.table-admin-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.experience-card:hover, .experience-card.active, .shop-product:has(input:checked), .shop-product.has-qty, .table-pick-card:hover, .table-pick-card.active {
    transform: translateY(-2px);
    border-color: rgba(184,137,45,.48);
    box-shadow: 0 14px 32px rgba(184,137,45,.14);
}
.shop-product input { width: auto; }
.shop-product b { color: var(--text); font-size: 1.05rem; }
.product-qty-control {
    display: grid;
    grid-template-columns: 34px minmax(36px, 1fr) 34px;
    align-items: center;
    gap: .32rem;
    margin-top: .55rem;
}
.product-qty-control button,
.product-qty-control input {
    width: 100%;
    min-height: 36px;
    border: 1px solid rgba(83,64,31,.14);
    border-radius: 10px;
    background: #fffdf8;
    color: #201d19;
    font-weight: 950;
    text-align: center;
}
.product-qty-control button {
    cursor: pointer;
    background: rgba(246,202,111,.48);
}
.compact-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.live-cart {
    position: sticky;
    top: 1rem;
    padding: .9rem;
}
.live-cart h3 { margin: .2rem 0 1rem; font-size: 1.4rem; }
.live-cart ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.live-cart li {
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 8px;
    padding: .65rem;
    background: #fffdf8;
    color: var(--muted);
}
.cart-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid var(--line);
    margin: 1rem 0;
    padding-top: 1rem;
}
.cart-total strong { font-size: 1.3rem; }
.stripe-button, .pay-link { margin-top: .8rem; }
.cart-submit-button[hidden],
#nextStepButton[hidden] {
    display: none !important;
}
@media (max-width: 920px) {
    .admin-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; }
    .sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .topbar, .grid-two { display: grid; grid-template-columns: 1fr; }
    .metric-grid, .form-grid, .cards, .product-picks, .shop-layout, .offer-grid, .module-picker, .commerce-hero-grid, .checkout-steps, .step-rail, .experience-grid, .product-shop-grid, .table-picker-grid, .compact-form { grid-template-columns: 1fr; }
    .booking-panel { position: static; }
    .commerce-hero { color: var(--text); }
    .commerce-hero .hero-copy h1 { color: var(--text); }
    .commerce-hero .hero-copy p { color: var(--muted); }
    .phone-scene { min-height: 340px; }
    .sale-left { left: -12px; }
    .sale-right, .buy-bubble { right: -12px; }
    .live-cart { position: static; }
    .modal-card { grid-template-columns: 1fr; }
    .modal-card .step-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .commerce-hero { min-height: auto; }
    .kiosk-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .kiosk-summary div { min-height: 82px; }
}

/* Full merchant banner: keep every pixel of wide uploaded artwork visible. */
.merchant-banner.has-image {
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: #f7f1e5 !important;
}
.merchant-banner.has-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Burg two-world experience selection */
.front-experience {
    border: 0 !important;
    border-radius: 26px !important;
    padding: clamp(1.1rem, 3vw, 2rem) !important;
    background:
        linear-gradient(110deg, rgba(16, 10, 12, .92), rgba(66, 5, 18, .84) 42%, rgba(11, 17, 38, .9)),
        url('/assets/img/merchants/burg/banner.png') center/cover no-repeat !important;
    color: #fff7e8 !important;
    box-shadow: 0 28px 90px rgba(48, 15, 12, .26) !important;
}
.front-experience::before { display: none !important; }
.front-heading h2 {
    color: #fff7e8 !important;
    font-size: clamp(2.4rem, 5vw, 5.2rem) !important;
    line-height: .95 !important;
    max-width: 820px;
}
.front-heading p { color: rgba(255, 247, 232, .78) !important; }
.front-heading .eyebrow { color: #f3c76f !important; }
.landing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(.9rem, 2vw, 1.4rem) !important;
    align-items: stretch;
}
.landing-grid .experience-card {
    position: relative;
    min-height: clamp(340px, 36vw, 520px) !important;
    overflow: hidden;
    border: 1px solid rgba(243, 199, 111, .38) !important;
    border-radius: 24px !important;
    padding: clamp(1.15rem, 2.5vw, 2rem) !important;
    color: #fff7e8 !important;
    background: linear-gradient(155deg, rgba(17, 10, 12, .88), rgba(127, 15, 24, .78)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 22px 60px rgba(0,0,0,.24) !important;
    isolation: isolate;
}
.landing-grid .experience-card[style*="--location-card-bg"] {
    background-image:
        linear-gradient(155deg, rgba(17, 10, 12, .76), rgba(127, 15, 24, .56)),
        var(--location-card-bg) !important;
    background-size: cover !important;
    background-position: center !important;
}
.landing-grid .experience-card:nth-of-type(2) {
    background: linear-gradient(155deg, rgba(8, 17, 42, .9), rgba(11, 92, 130, .62)) !important;
}
.landing-grid .experience-card:nth-of-type(2)[style*="--location-card-bg"] {
    background-image:
        linear-gradient(155deg, rgba(8, 17, 42, .78), rgba(11, 92, 130, .48)),
        var(--location-card-bg) !important;
}
.landing-grid .experience-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .42;
    background: radial-gradient(circle at 28% 18%, rgba(255,255,255,.34), transparent 10rem), linear-gradient(135deg, rgba(255,255,255,.08), transparent 46%);
}
.landing-grid .experience-card::after {
    content: "Reservieren";
    position: absolute;
    right: 1.2rem;
    bottom: 1.2rem;
    border: 1px solid rgba(243, 199, 111, .55);
    border-radius: 999px;
    padding: .72rem 1rem;
    color: #2a1608;
    background: linear-gradient(135deg, #f6d47e, #b8892d);
    font-weight: 900;
    letter-spacing: 0;
}
.landing-grid .experience-card span {
    width: max-content;
    border: 1px solid rgba(243, 199, 111, .45);
    border-radius: 999px;
    padding: .45rem .72rem;
    color: #f3c76f !important;
    background: rgba(0,0,0,.18);
}
.landing-grid .experience-card strong {
    display: block;
    margin-top: auto;
    max-width: 90%;
    color: #fff7e8 !important;
    font-size: clamp(2.5rem, 5vw, 5.8rem) !important;
    line-height: .9;
    text-transform: uppercase;
}
.landing-grid .experience-card small {
    display: block;
    max-width: 72%;
    color: rgba(255, 247, 232, .82) !important;
    font-size: 1rem;
}
.landing-grid .experience-card:hover,
.landing-grid .experience-card.active {
    transform: translateY(-6px) scale(1.01) !important;
    border-color: rgba(243, 199, 111, .86) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 28px 80px rgba(0,0,0,.34) !important;
}
@media (max-width: 920px) {
    .landing-grid { grid-template-columns: 1fr !important; }
    .landing-grid .experience-card { min-height: 300px !important; }
    .landing-grid .experience-card strong { font-size: clamp(2.4rem, 13vw, 4.2rem) !important; }
    .landing-grid .experience-card small { max-width: 100%; }
}

/* Location logo branding inside the two-world selector */
.landing-grid .experience-card .experience-logo {
    display: block;
    width: min(420px, 86%);
    height: auto;
    max-height: 150px;
    object-fit: contain;
    object-position: left center;
    border-radius: 16px;
    padding: .75rem 1rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .24);
}
.landing-grid .experience-card:nth-of-type(2) .experience-logo {
    background: rgba(18, 11, 12, .92);
    border: 1px solid rgba(243, 199, 111, .35);
}
.landing-grid .experience-card span {
    margin-top: .9rem;
}
@media (max-width: 920px) {
    .landing-grid .experience-card .experience-logo {
        width: 100%;
        max-height: 120px;
    }
}


/* Transparent original PNG logos */
.landing-grid .experience-card .experience-logo {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    filter: drop-shadow(0 14px 22px rgba(0,0,0,.34));
}
.landing-grid .experience-card:nth-of-type(2) .experience-logo {
    background: transparent !important;
    border: 0 !important;
}

/* Refined location card typography: no oversized clipped names. */
.landing-grid .experience-card {
    display: grid !important;
    grid-template-rows: auto auto 1fr auto auto !important;
    align-content: stretch !important;
    gap: 1rem !important;
}
.landing-grid .experience-card .experience-logo {
    width: min(340px, 72%) !important;
    max-height: 118px !important;
    object-position: center center !important;
    justify-self: start;
}
.landing-grid .experience-card strong {
    margin-top: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
    word-break: normal;
    color: #fff7e8 !important;
    font-size: clamp(3.2rem, 4.15vw, 4.8rem) !important;
    line-height: .94 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}
.landing-grid .experience-card small {
    max-width: calc(100% - 12rem) !important;
    align-self: end;
    font-size: clamp(.98rem, 1.22vw, 1.18rem) !important;
    line-height: 1.35 !important;
}
.landing-grid .experience-card::after {
    right: 1.45rem !important;
    bottom: 1.45rem !important;
    white-space: nowrap;
}
@media (max-width: 1280px) {
    .landing-grid .experience-card strong {
        font-size: clamp(2.7rem, 4vw, 3.8rem) !important;
    }
    .landing-grid .experience-card small {
        max-width: 100% !important;
        padding-right: 0;
        margin-bottom: 4.5rem;
    }
}
@media (max-width: 920px) {
    .landing-grid .experience-card .experience-logo {
        width: min(320px, 88%) !important;
        max-height: 105px !important;
    }
    .landing-grid .experience-card strong {
        font-size: clamp(2.2rem, 12vw, 3.4rem) !important;
    }
}

/* Compact premium pass: about one small step smaller, not tiny. */
.landing-grid .experience-card {
    min-height: clamp(300px, 30vw, 440px) !important;
    padding: clamp(1rem, 2vw, 1.55rem) !important;
    gap: .72rem !important;
    border-radius: 20px !important;
}
.landing-grid .experience-card .experience-logo {
    width: min(300px, 66%) !important;
    max-height: 96px !important;
}
.landing-grid .experience-card span {
    margin-top: .35rem !important;
    padding: .38rem .68rem !important;
    font-size: .68rem !important;
}
.landing-grid .experience-card strong {
    font-size: clamp(2.65rem, 3.45vw, 4.05rem) !important;
    line-height: .93 !important;
}
.landing-grid .experience-card small {
    max-width: calc(100% - 10.5rem) !important;
    font-size: clamp(.9rem, 1.05vw, 1.04rem) !important;
    line-height: 1.3 !important;
}
.landing-grid .experience-card::after {
    right: 1.05rem !important;
    bottom: 1.05rem !important;
    padding: .62rem .86rem !important;
    font-size: .98rem !important;
}
@media (max-width: 1280px) {
    .landing-grid .experience-card {
        min-height: clamp(290px, 32vw, 400px) !important;
    }
    .landing-grid .experience-card small {
        max-width: 100% !important;
        margin-bottom: 3.8rem !important;
    }
}

/* Logo placement: larger and right aligned inside location cards. */
.landing-grid .experience-card .experience-logo {
    justify-self: end !important;
    width: min(390px, 78%) !important;
    max-height: 128px !important;
    object-position: right center !important;
    margin-left: auto !important;
}
@media (max-width: 920px) {
    .landing-grid .experience-card .experience-logo {
        width: min(340px, 92%) !important;
        max-height: 112px !important;
    }
}

/* Logo placement final: centered and dominant brand mark. */
.landing-grid .experience-card .experience-logo {
    justify-self: center !important;
    align-self: start !important;
    width: min(620px, 92%) !important;
    max-height: 210px !important;
    object-position: center center !important;
    margin: 0 auto !important;
}
@media (max-width: 920px) {
    .landing-grid .experience-card .experience-logo {
        width: min(460px, 96%) !important;
        max-height: 150px !important;
    }
}

.location-admin-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.location-admin-grid article {
    min-height: auto;
    background: rgba(255,253,248,.96);
}
.location-admin-grid .stack {
    display: grid;
    gap: .65rem;
}
.location-admin-grid textarea {
    min-height: 84px;
}
@media (max-width: 920px) {
    .location-admin-grid { grid-template-columns: 1fr; }
}


/* Generic premium booking modal driven by each merchant location. */
body.modal-open {
    overflow: hidden;
}
.checkout-modal.open {
    display: grid;
    place-items: center;
    padding: clamp(.55rem, 1.8vw, 1.2rem);
}
.checkout-modal .modal-backdrop {
    background:
        radial-gradient(circle at 18% 12%, rgba(246, 202, 111, .22), transparent 26rem),
        radial-gradient(circle at 86% 18%, rgba(58, 134, 255, .18), transparent 30rem),
        rgba(9, 8, 14, .82);
    backdrop-filter: blur(18px) saturate(1.12);
}
.checkout-modal .modal-card {
    width: min(1180px, calc(100vw - 1rem));
    max-height: min(900px, calc(100vh - 1rem));
    margin: 0;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
    gap: .75rem;
    border-radius: 22px;
    border: 1px solid rgba(246, 202, 111, .28);
    padding: .75rem;
    background:
        linear-gradient(145deg, rgba(255,253,248,.98), rgba(246,240,229,.97)),
        #fffdf8;
    box-shadow: 0 34px 120px rgba(0,0,0,.44);
}
.checkout-modal .modal-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    min-height: 38px;
    padding: 0 .85rem;
    background: rgba(28, 24, 18, .9);
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.checkout-modal .step-rail {
    padding-right: 5.6rem;
    gap: .45rem;
}
.checkout-modal .step-pill {
    min-height: 48px;
    border-radius: 999px;
    border-color: rgba(83,64,31,.12);
    background: rgba(255,255,255,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.78);
}
.checkout-modal .step-pill.active {
    background: linear-gradient(135deg, #f5d37a, #bd8a2f);
    color: #211706;
    box-shadow: 0 12px 28px rgba(184,137,45,.24);
}
.checkout-modal .modal-shop {
    min-height: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.checkout-modal .step-panel {
    min-height: 430px;
    padding: clamp(.85rem, 1.8vw, 1.15rem);
    border-radius: 18px;
    border: 1px solid rgba(83,64,31,.10);
    background: rgba(255,255,255,.55);
}
.modal-location-hero {
    min-height: 430px;
    display: grid;
    align-content: end;
    gap: .8rem;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    padding: clamp(1.15rem, 3vw, 2rem);
    color: #fff7e8;
    background:
        radial-gradient(circle at 82% 16%, rgba(246, 202, 111, .24), transparent 15rem),
        linear-gradient(135deg, rgba(35, 20, 21, .96), rgba(95, 14, 28, .9) 48%, rgba(12, 31, 55, .94));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 20px 58px rgba(45,22,16,.22);
}
.modal-hero-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
}
.modal-hero-image[hidden] {
    display: none !important;
}
.modal-location-hero::before {
    content: "";
    position: absolute;
    inset: 1rem;
    border: 1px solid rgba(246, 202, 111, .18);
    border-radius: 16px;
    pointer-events: none;
}
.modal-location-hero.has-event-image {
    background:
        radial-gradient(circle at 82% 16%, rgba(246, 202, 111, .14), transparent 15rem),
        linear-gradient(135deg, rgba(35, 20, 21, .9), rgba(95, 14, 28, .82) 48%, rgba(12, 31, 55, .88)) !important;
}
.modal-location-hero.has-event-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(18,13,12,.08) 0%, rgba(18,13,12,.34) 48%, rgba(18,13,12,.86) 100%),
        linear-gradient(90deg, rgba(18,13,12,.48), rgba(18,13,12,.06) 58%);
    pointer-events: none;
}
.modal-location-hero .eyebrow {
    width: max-content;
    max-width: 100%;
    border: 1px solid rgba(246, 202, 111, .42);
    border-radius: 999px;
    padding: .45rem .75rem;
    color: #f7d57e;
    background: rgba(0,0,0,.18);
}
.modal-location-hero h2 {
    margin: 0;
    max-width: 850px;
    color: #fffaf0;
    font-size: clamp(2.45rem, 6vw, 5.6rem);
    line-height: .92;
    letter-spacing: 0;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.modal-location-hero.has-event-image .eyebrow,
.modal-location-hero.has-event-image h2,
.modal-location-hero.has-event-image p,
.modal-location-hero.has-event-image .modal-quick-facts {
    position: relative;
    z-index: 2;
}
.modal-location-hero p:not(.eyebrow) {
    max-width: 760px;
    margin: 0;
    color: rgba(255,247,232,.82);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.45;
}
.modal-quick-facts {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .35rem;
}
.modal-quick-facts span {
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    padding: .52rem .72rem;
    background: rgba(255,255,255,.10);
    color: rgba(255,247,232,.9);
    font-weight: 850;
    font-size: .82rem;
}
.checkout-modal .step-heading {
    margin-bottom: .9rem;
}
.checkout-modal .step-heading h2 {
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    line-height: 1;
}
.checkout-modal .compact-form {
    gap: .65rem;
}
.checkout-modal label {
    font-weight: 850;
}
.checkout-modal input,
.checkout-modal select,
.checkout-modal textarea {
    border-radius: 14px;
    background: rgba(255,255,255,.88);
}
.checkout-modal .table-picker-grid,
.checkout-modal .product-shop-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}
.checkout-modal .table-pick-card,
.checkout-modal .shop-product {
    min-height: 118px;
    border-radius: 16px;
    border-color: rgba(83,64,31,.11);
    background: linear-gradient(150deg, rgba(255,255,255,.94), rgba(247,241,229,.76));
    box-shadow: 0 10px 26px rgba(72,54,20,.07);
}
.checkout-modal .shop-product {
    cursor: pointer;
}
.checkout-modal .shop-product input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.checkout-modal .shop-product [data-product-qty] {
    position: static;
    opacity: 1;
    pointer-events: auto;
}
.checkout-modal .shop-product b {
    justify-self: start;
    border-radius: 999px;
    padding: .42rem .62rem;
    color: #261906;
    background: rgba(246,202,111,.58);
}
.checkout-modal .shop-product:has(input:checked),
.checkout-modal .table-pick-card.active {
    border-color: rgba(184,137,45,.68);
    background: linear-gradient(150deg, #fffaf0, #f7d982);
}
.checkout-modal .modal-cart {
    border-radius: 18px;
    border-color: rgba(83,64,31,.11);
    background: rgba(255,255,255,.78);
    box-shadow: 0 18px 48px rgba(72,54,20,.12);
}
.checkout-modal .modal-cart h3 {
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.05;
}
.checkout-modal .modal-cart li {
    border-radius: 12px;
    background: rgba(255,253,248,.9);
}
@media (max-width: 920px) {
    .checkout-modal.open {
        align-items: stretch;
        padding: .4rem;
    }
    .checkout-modal .modal-card {
        width: 100%;
        max-height: calc(100vh - .8rem);
        grid-template-columns: 1fr;
        border-radius: 18px;
    }
    .checkout-modal .step-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding-right: 0;
        padding-top: 2.7rem;
    }
    .checkout-modal .modal-close {
        top: .7rem;
        right: .7rem;
    }
    .checkout-modal .step-panel,
    .modal-location-hero {
        min-height: 360px;
    }
    .checkout-modal .table-picker-grid,
    .checkout-modal .product-shop-grid,
    .checkout-modal .compact-form {
        grid-template-columns: 1fr;
    }
}


/* Merchant-neutral experience background: supervisor banner drives every merchant. */
.front-experience {
    background-image:
        linear-gradient(110deg, rgba(16, 10, 12, .92), rgba(66, 5, 18, .84) 42%, rgba(11, 17, 38, .9)),
        var(--merchant-experience-bg, linear-gradient(135deg, #251415, #10243a)) !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
}


.table-availability-hint {
    margin: .75rem 0 0;
    color: var(--muted);
    font-weight: 850;
}
.table-pick-card[hidden], .shop-product[hidden] {
    display: none !important;
}
select option:disabled {
    color: #9b9488;
}


.table-location-tabs {
    display: grid;
    gap: .9rem;
}
.table-location-tabs > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.table-location-tabbar {
    display: flex;
    gap: .55rem;
    overflow-x: auto;
    padding: .18rem .08rem .35rem;
    scrollbar-width: thin;
}
.table-location-tabbar label {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 1px solid rgba(83,64,31,.13);
    border-radius: 999px;
    padding: .68rem .9rem;
    background: rgba(255,255,255,.78);
    color: #4a4035;
    cursor: pointer;
    font-weight: 950;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.table-location-tabbar label:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(72,54,20,.08);
}
.table-location-tabbar label b {
    min-width: 1.7rem;
    height: 1.7rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(255,255,255,.72);
    color: inherit;
    font-size: .78rem;
}
.table-location-panel {
    display: none;
}
.empty-state {
    display: grid;
    gap: .25rem;
    border: 1px dashed rgba(83,64,31,.2);
    border-radius: 16px;
    padding: 1.2rem;
    background: rgba(255,253,248,.72);
    color: var(--muted);
}
.empty-state strong {
    color: #25201b;
}
.table-admin-list {
    display: grid;
    gap: .72rem;
}
.table-admin-item {
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,252,245,.96));
    box-shadow: 0 16px 38px rgba(72,54,20,.075);
    overflow: hidden;
}
.table-admin-item.is-disabled {
    opacity: .72;
}
.table-admin-summary {
    display: grid;
    grid-template-columns: 84px minmax(0, 1.35fr) auto auto auto;
    align-items: center;
    gap: .9rem;
    padding: .78rem .92rem;
    cursor: pointer;
    list-style: none;
}
.table-admin-summary::-webkit-details-marker {
    display: none;
}
.table-admin-thumb {
    width: 84px;
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(246,202,111,.42), rgba(255,253,248,.8));
    display: grid;
    place-items: center;
    color: #2a2118;
    font-weight: 950;
}
.table-admin-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.table-admin-main strong {
    display: block;
    font-size: 1.08rem;
    line-height: 1.15;
}
.table-admin-main small {
    display: block;
    margin-top: .18rem;
    color: var(--muted);
    font-weight: 800;
}
.table-admin-meta,
.table-admin-states {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .42rem;
    flex-wrap: wrap;
}
.table-admin-meta b,
.table-admin-meta em,
.table-admin-states i,
.table-admin-open {
    border-radius: 999px;
    padding: .42rem .62rem;
    background: rgba(246,202,111,.2);
    border: 1px solid rgba(180,132,42,.2);
    color: #6d5426;
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}
.table-admin-states i {
    background: rgba(255,255,255,.72);
    color: var(--muted);
}
.table-admin-states i.is-good {
    background: rgba(220, 246, 230, .86);
    color: #1f7a4c;
    border-color: rgba(31,122,76,.18);
}
.table-admin-states i.is-muted {
    background: rgba(237,231,222,.76);
    color: #867765;
}
.table-admin-open {
    background: linear-gradient(135deg, var(--gold), #f0c65f);
    color: #231a0d;
    border: 0;
}
.table-admin-item[open] .table-admin-open {
    background: #2a2520;
    color: #fffaf0;
}
.table-admin-edit {
    border-top: 1px solid rgba(83,64,31,.12);
    padding: 1rem;
    display: grid;
    gap: .8rem;
    background:
        linear-gradient(135deg, rgba(246,202,111,.1), transparent 36%),
        rgba(255,253,248,.92);
}
.table-admin-edit form.stack {
    display: grid;
    gap: .95rem;
    margin: 0;
}
.table-admin-edit-head {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    padding: .72rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.76);
}
.table-admin-preview {
    width: 150px;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(246,202,111,.44), rgba(255,253,248,.88));
    color: #2a2118;
    font-size: 1.45rem;
    font-weight: 950;
}
.table-admin-edit-head small,
.table-admin-edit-head em {
    display: block;
    color: var(--gold);
    text-transform: uppercase;
    font-size: .72rem;
    font-style: normal;
    font-weight: 950;
}
.table-admin-edit-head strong {
    display: block;
    margin: .18rem 0 .2rem;
    font-size: 1.35rem;
    line-height: 1.12;
}
.table-admin-edit-head em {
    color: var(--muted);
}
.table-switch-row,
.table-actions,
.section-headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}
.danger-form {
    margin: 0;
}
.danger-button {
    border-color: rgba(160, 26, 26, .28) !important;
    color: #8d1e1e !important;
}
@media (max-width: 920px) {
    .table-admin-summary {
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: start;
    }
    .table-admin-thumb {
        width: 58px;
    }
    .table-admin-meta,
    .table-admin-states,
    .table-admin-open {
        grid-column: 2;
        justify-content: flex-start;
    }
    .table-admin-edit-head {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: .75rem;
    }
    .table-admin-preview {
        width: 96px;
    }
    .table-admin-edit-head strong {
        font-size: 1.05rem;
    }
    .table-switch-row,
    .table-actions,
    .section-headline { align-items: flex-start; flex-direction: column; }
}

.table-admin-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
    align-items: stretch;
}
.table-admin-card {
    position: relative;
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: .68rem;
    align-items: center;
    min-height: 158px;
    padding: .72rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,252,245,.96));
    box-shadow: 0 12px 28px rgba(72,54,20,.075);
}
.table-admin-card.is-disabled {
    opacity: .66;
}
.table-admin-card .table-admin-thumb {
    width: 86px;
    border-radius: 12px;
}
.table-admin-card .table-admin-main {
    min-width: 0;
}
.table-admin-card .table-admin-main span {
    display: block;
    margin-bottom: .18rem;
    color: var(--gold);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
}
.table-admin-card .table-admin-main strong {
    font-size: 1rem;
}
.table-admin-card .table-admin-main small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.table-admin-card .table-admin-states {
    grid-column: 1 / -1;
    justify-content: flex-start;
}
.table-bulk-create {
    background:
        radial-gradient(circle at 88% 12%, rgba(246,202,111,.18), transparent 16rem),
        rgba(255,253,248,.94);
}
.table-bulk-form {
    align-items: end;
}
.table-bulk-form .gold-button {
    min-height: 46px;
}
.table-edit-details.product-dense-edit {
    grid-column: 1 / -1;
}
.table-edit-details.product-dense-edit > summary {
    border: 1px solid rgba(83,64,31,.12);
}
.table-edit-details[open] > .table-admin-edit {
    border-top: 0;
    background:
        linear-gradient(135deg, rgba(246,202,111,.1), transparent 36%),
        #fffdf8;
}
@media (max-width: 760px) {
    .table-admin-card-grid {
        grid-template-columns: 1fr;
    }
}

.table-pick-card.is-unavailable { display: none !important; }

.shop-product.is-unavailable { display: none !important; }


/* Mobile app-style checkout modal */
@media (max-width: 700px) {
    body.modal-open {
        position: fixed;
        inset: 0;
        width: 100%;
    }
    .checkout-modal.open {
        align-items: end;
        justify-items: stretch;
        padding: 0;
    }
    .checkout-modal .modal-backdrop {
        background: rgba(10, 8, 12, .72);
        backdrop-filter: blur(12px) saturate(1.1);
    }
    .checkout-modal .modal-card {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        display: flex;
        flex-direction: column;
        gap: .55rem;
        overflow-y: auto;
        overscroll-behavior: contain;
        border-radius: 26px 26px 0 0;
        border: 0;
        padding: .62rem .62rem calc(.7rem + env(safe-area-inset-bottom));
        background: #fffaf0;
        box-shadow: 0 -24px 80px rgba(0,0,0,.34);
    }
    .checkout-modal .modal-close {
        position: fixed;
        top: max(.65rem, env(safe-area-inset-top));
        right: .72rem;
        z-index: 7;
        min-height: 42px;
        width: 42px;
        padding: 0;
        overflow: hidden;
        color: transparent;
        border-radius: 999px;
        background: rgba(35, 30, 24, .92);
    }
    .checkout-modal .modal-close::before,
    .checkout-modal .modal-close::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: #fffaf0;
    }
    .checkout-modal .modal-close::before { transform: translate(-50%, -50%) rotate(45deg); }
    .checkout-modal .modal-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
    .checkout-modal .step-rail {
        position: sticky;
        top: 0;
        z-index: 5;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .34rem;
        padding: max(.58rem, env(safe-area-inset-top)) 3.25rem .48rem .05rem;
        margin: -.62rem -.1rem .05rem;
        background: linear-gradient(180deg, #fffaf0 72%, rgba(255,250,240,.84));
        backdrop-filter: blur(10px);
    }
    .checkout-modal .step-pill {
        min-height: 42px;
        border-radius: 999px;
        padding: .2rem .2rem;
        font-size: .74rem;
        line-height: 1;
        white-space: nowrap;
    }
    .checkout-modal .modal-shop {
        flex: 1 0 auto;
        display: block;
    }
    .checkout-modal .step-panel {
        min-height: auto;
        padding: .82rem;
        border-radius: 22px;
        background: rgba(255,255,255,.76);
        box-shadow: 0 12px 32px rgba(72,54,20,.08);
    }
    .modal-location-hero {
        min-height: min(64dvh, 520px);
        border-radius: 24px;
        padding: 1rem;
    }
    .modal-location-hero h2 {
        font-size: clamp(1.8rem, 10vw, 2.85rem);
        line-height: .96;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
    }
    .modal-location-hero p:not(.eyebrow) {
        font-size: .98rem;
        line-height: 1.35;
    }
    .modal-quick-facts span {
        font-size: .75rem;
        padding: .46rem .62rem;
    }
    .checkout-modal .step-heading h2 {
        font-size: clamp(2rem, 11vw, 3.05rem);
        line-height: .94;
    }
    .checkout-modal .step-heading p {
        font-size: .98rem;
        line-height: 1.34;
    }
    .checkout-modal .compact-form,
    .checkout-modal .table-picker-grid,
    .checkout-modal .product-shop-grid {
        grid-template-columns: 1fr;
        gap: .58rem;
    }
    .checkout-modal label {
        gap: .32rem;
        font-size: .92rem;
    }
    .checkout-modal input,
    .checkout-modal select,
    .checkout-modal textarea {
        min-height: 54px;
        border-radius: 18px;
        font-size: 1rem;
        padding: .72rem .88rem;
    }
    .checkout-modal textarea {
        min-height: 96px;
    }
    .checkout-modal .table-pick-card,
    .checkout-modal .shop-product {
        min-height: 104px;
        border-radius: 20px;
        padding: .82rem;
        box-shadow: 0 10px 24px rgba(72,54,20,.07);
    }
    .checkout-modal .table-pick-card strong,
    .checkout-modal .shop-product strong {
        font-size: 1.12rem;
    }
    .checkout-modal .modal-cart {
        position: sticky;
        bottom: 0;
        z-index: 6;
        margin: .1rem 0 0;
        border-radius: 22px;
        padding: .82rem;
        background: rgba(255,253,248,.96);
        box-shadow: 0 -14px 42px rgba(72,54,20,.18);
        backdrop-filter: blur(14px);
    }
    .checkout-modal .modal-cart .eyebrow,
    .checkout-modal .modal-cart h3 {
        display: none;
    }
    .checkout-modal .modal-cart ul {
        max-height: 92px;
        overflow: auto;
        gap: .35rem;
        margin-bottom: .55rem;
    }
    .checkout-modal .modal-cart li {
        padding: .5rem .58rem;
        border-radius: 12px;
        font-size: .9rem;
    }
    .checkout-modal .cart-total {
        margin: .35rem 0 .6rem;
        padding-top: .55rem;
    }
    .checkout-modal .cart-total strong {
        font-size: 1.25rem;
    }
    .checkout-modal #nextStepButton,
    .checkout-modal .stripe-button {
        min-height: 54px;
        width: 100%;
        border-radius: 18px;
        font-size: 1rem;
    }
    .table-availability-hint {
        font-size: .92rem;
        line-height: 1.3;
    }
}

@media (max-width: 700px) {
    .checkout-modal .product-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .52rem !important;
    }
    .checkout-modal .shop-product {
        min-height: 0 !important;
        padding: .58rem !important;
        border-radius: 16px !important;
        gap: .28rem !important;
    }
    .checkout-modal .shop-product-image {
        height: 82px !important;
        min-height: 82px !important;
        border-radius: 12px !important;
        margin-bottom: .25rem !important;
    }
    .checkout-modal .shop-product span {
        font-size: .58rem !important;
    }
    .checkout-modal .shop-product strong {
        font-size: .84rem !important;
        line-height: 1.08 !important;
    }
    .checkout-modal .shop-product small {
        display: none !important;
    }
    .checkout-modal .shop-product b {
        width: max-content;
        max-width: 100%;
        padding: .28rem .42rem !important;
        font-size: .78rem !important;
    }
    .checkout-modal .product-qty-control {
        grid-template-columns: 30px minmax(34px, 1fr) 30px;
        gap: .24rem;
        margin-top: .35rem;
    }
    .checkout-modal .product-qty-control button,
    .checkout-modal .product-qty-control input {
        min-height: 32px !important;
        border-radius: 9px !important;
        font-size: .86rem !important;
        padding: 0 !important;
    }
}

@media (max-width: 380px) {
    .checkout-modal .step-pill {
        font-size: .68rem;
    }
    .checkout-modal .step-rail {
        gap: .25rem;
        padding-right: 3rem;
    }
    .checkout-modal .step-heading h2 {
        font-size: clamp(1.8rem, 10vw, 2.65rem);
    }
}


/* Mobile modal: prevent horizontal slipping */
@media (max-width: 700px) {
    html,
    body,
    .frontend,
    .shop-experience {
        max-width: 100%;
        overflow-x: hidden !important;
    }
    .checkout-modal,
    .checkout-modal * {
        box-sizing: border-box;
    }
    .checkout-modal.open {
        width: 100vw;
        max-width: 100vw;
        overflow-x: hidden !important;
    }
    .checkout-modal .modal-card {
        width: 100vw !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
    .checkout-modal .step-rail,
    .checkout-modal .modal-shop,
    .checkout-modal .step-panel,
    .checkout-modal .modal-cart,
    .checkout-modal .form-grid,
    .checkout-modal .compact-form,
    .checkout-modal .table-picker-grid,
    .checkout-modal .product-shop-grid,
    .checkout-modal label,
    .checkout-modal input,
    .checkout-modal select,
    .checkout-modal textarea,
    .checkout-modal button,
    .modal-location-hero {
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .checkout-modal .step-rail {
        width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .checkout-modal .step-pill {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .checkout-modal .modal-location-hero h2,
    .checkout-modal .step-heading h2,
    .checkout-modal .table-pick-card strong,
    .checkout-modal .shop-product strong,
    .checkout-modal .modal-cart li {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}


/* Mobile checkout summary spans the full width */
@media (max-width: 700px) {
    .checkout-modal .modal-cart {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: stretch !important;
        display: grid;
        grid-template-columns: 1fr;
    }
    .checkout-modal .modal-cart ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .42rem;
        max-height: none;
        overflow: visible;
    }
    .checkout-modal .cart-total {
        display: flex;
        width: 100%;
    }
    .checkout-modal #nextStepButton,
    .checkout-modal .stripe-button {
        width: 100% !important;
        justify-self: stretch;
    }
}


.modal-location-logo {
    width: min(360px, 72%);
    max-height: 150px;
    object-fit: contain;
    object-position: left center;
    align-self: start;
    filter: drop-shadow(0 14px 22px rgba(0,0,0,.32));
    margin-bottom: auto;
}
.modal-location-logo[hidden] {
    display: none !important;
}
@media (max-width: 700px) {
    .modal-location-logo {
        width: min(300px, 86%);
        max-height: 128px;
        object-position: center center;
        justify-self: center;
        margin: 0 auto auto;
    }
}


/* Mobile: compact step navigation */
@media (max-width: 700px) {
    .checkout-modal .step-rail {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .28rem;
        padding: max(.42rem, env(safe-area-inset-top)) 3rem .36rem .1rem;
        margin-bottom: 0;
    }
    .checkout-modal .step-pill {
        min-height: 34px;
        border-radius: 999px;
        padding: .18rem .2rem;
        font-size: .68rem;
        font-weight: 900;
        border-color: rgba(83,64,31,.10);
        box-shadow: none;
        background: rgba(255,255,255,.62);
    }
    .checkout-modal .step-pill.active {
        background: linear-gradient(135deg, #f3d274, #c79632);
        box-shadow: 0 8px 18px rgba(184,137,45,.18);
    }
}
@media (max-width: 380px) {
    .checkout-modal .step-pill {
        min-height: 32px;
        font-size: .62rem;
    }
}


.shop-product-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: .35rem;
    background: #f2eadb;
}
.product-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
}
.product-admin-card {
    display: grid;
    gap: .85rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 14px;
    padding: .95rem;
    background: rgba(255,253,248,.94);
    box-shadow: 0 14px 34px rgba(72,54,20,.08);
}
.product-admin-card.is-disabled { opacity: .72; }
.product-admin-image {
    min-height: 180px;
    border-radius: 14px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #fffaf0, #f0e4cf);
    color: var(--muted);
    font-weight: 900;
}
.product-admin-image img {
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
}
.product-danger-row {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: space-between;
}
.product-danger-row form { margin: 0; }
@media (max-width: 920px) {
    .product-admin-grid { grid-template-columns: 1fr; }
    .product-danger-row { flex-direction: column; }
}


.admin-create-details {
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 14px;
    background: rgba(255,253,248,.72);
    overflow: hidden;
}
.admin-create-details > summary,
.product-edit-details > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    padding: .9rem 1rem;
    font-weight: 950;
}
.admin-create-details > summary::-webkit-details-marker,
.product-edit-details > summary::-webkit-details-marker { display: none; }
.admin-create-details > summary small {
    display: block;
    color: var(--muted);
    font-weight: 750;
    margin-top: .15rem;
}
.product-create-form {
    padding: 0 1rem 1rem;
}
.product-overview-grid {
    display: grid;
    gap: .85rem;
}
.product-overview-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    gap: .9rem;
    align-items: stretch;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 14px;
    padding: .8rem;
    background: rgba(255,253,248,.94);
    box-shadow: 0 14px 34px rgba(72,54,20,.08);
}
.product-overview-card.is-disabled { opacity: .68; }
.product-overview-media {
    min-height: 150px;
    border-radius: 12px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #fffaf0, #efe1c8);
    color: var(--muted);
    font-weight: 900;
}
.product-overview-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-overview-main {
    min-width: 0;
    display: grid;
    gap: .5rem;
    align-content: center;
}
.product-overview-top {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: flex-start;
}
.product-overview-top span {
    color: var(--gold);
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 950;
}
.product-overview-top h3 {
    margin: .1rem 0 0;
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    line-height: 1.05;
}
.product-overview-top strong {
    white-space: nowrap;
    font-size: 1.25rem;
}
.product-overview-main p {
    margin: 0;
    color: var(--muted);
    line-height: 1.35;
}
.product-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
}
.product-chip-row b {
    border-radius: 999px;
    padding: .36rem .55rem;
    background: rgba(83,64,31,.08);
    color: var(--muted);
    font-size: .78rem;
}
.product-chip-row .status-chip.is-live {
    background: rgba(69, 148, 85, .14);
    color: #236435;
}
.product-edit-details {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(83,64,31,.1);
    margin-top: .15rem;
}
.product-edit-details > summary {
    padding: .7rem .2rem .15rem;
    color: var(--gold);
}
.product-edit-details[open] > summary {
    margin-bottom: .65rem;
}
@media (max-width: 920px) {
    .product-overview-card {
        grid-template-columns: 1fr;
    }
    .product-overview-media {
        min-height: 190px;
    }
    .product-overview-top {
        flex-direction: column;
    }
}


.product-location-groups {
    display: grid;
    gap: 1rem;
}
.product-location-group {
    display: grid;
    gap: .75rem;
    border: 1px solid rgba(83,64,31,.10);
    border-radius: 16px;
    padding: .85rem;
    background: rgba(255,255,255,.48);
}
.product-location-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}
.product-location-heading span {
    color: var(--gold);
    text-transform: uppercase;
    font-size: .72rem;
    font-weight: 950;
}
.product-location-heading h3 {
    margin: .12rem 0 0;
    font-size: clamp(1.35rem, 2.4vw, 2.1rem);
    line-height: 1;
}
.product-location-heading b {
    border-radius: 999px;
    padding: .45rem .65rem;
    background: rgba(246,202,111,.36);
    white-space: nowrap;
}
@media (max-width: 700px) {
    .product-location-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}


.product-admin-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(170px, 220px) minmax(150px, 190px);
    gap: .6rem;
    margin: .8rem 0 1rem;
    position: sticky;
    top: .6rem;
    z-index: 3;
    padding: .55rem;
    border: 1px solid rgba(83,64,31,.10);
    border-radius: 14px;
    background: rgba(255,253,248,.94);
    box-shadow: 0 12px 30px rgba(72,54,20,.08);
}
.product-admin-filters input,
.product-admin-filters select {
    min-height: 46px;
}
.product-import-export-panel {
    display: grid;
    gap: .85rem;
}
.product-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .65rem;
    flex-wrap: wrap;
}
.product-create-modal {
    grid-column: auto;
}
.product-create-modal > summary.gold-button {
    min-height: 42px;
    padding: 0 1rem;
    background: linear-gradient(135deg, var(--gold-light), var(--gold));
    color: #221d16;
    box-shadow: 0 10px 22px rgba(198,150,55,.18);
}
.product-create-modal[open] > summary.gold-button {
    background: #2f2b25;
    color: #fff;
}
.product-create-modal .product-create-form {
    padding: 0;
}
.product-import-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: .65rem;
    align-items: end;
    padding: .75rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 14px;
    background: rgba(255,253,248,.8);
}
.product-import-form label {
    margin: 0;
}
.product-import-form p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 750;
}
.product-dense-groups {
    gap: .75rem;
}
.product-dense-group {
    padding: .65rem;
}
.product-dense-group .product-location-heading {
    padding: .15rem .15rem .45rem;
}
.product-dense-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: .65rem;
    align-items: start;
}
.product-dense-row {
    position: relative;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: .62rem;
    align-items: center;
    padding: .62rem;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(72,54,20,.07);
    min-height: 132px;
}
.product-dense-media {
    min-height: 72px;
    height: 72px;
    border-radius: 10px;
    font-size: .72rem;
}
.product-dense-media img {
    min-height: 72px;
}
.product-dense-main {
    gap: .22rem;
}
.product-dense-main .product-overview-top {
    align-items: flex-start;
    gap: .45rem;
}
.product-dense-main .product-overview-top h3 {
    font-size: .98rem;
    line-height: 1.1;
}
.product-dense-main .product-overview-top strong {
    font-size: .92rem;
}
.product-dense-main p {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: .86rem;
}
.product-dense-main .product-chip-row {
    max-height: 26px;
    overflow: hidden;
}
.product-dense-main .product-chip-row b {
    padding: .26rem .45rem;
    font-size: .7rem;
}
.product-dense-edit {
    grid-column: 1 / -1;
    margin: 0;
    border: 0;
}
.product-dense-edit > summary {
    min-height: 38px;
    justify-content: center;
    padding: 0 .75rem;
    border-radius: 11px;
    background: #fff;
    font-size: .86rem;
}
.product-dense-edit[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(32,29,25,.46);
    backdrop-filter: blur(4px);
}
.product-dense-edit[open] > summary {
    position: fixed;
    top: max(18px, calc(50vh - 330px));
    right: max(18px, calc(50vw - 430px));
    z-index: 1002;
    min-width: 112px;
    background: #2f2b25;
    color: #fff;
    box-shadow: 0 14px 34px rgba(32,29,25,.22);
}
.product-dense-edit[open] > summary::after {
    content: " schließen";
}
.product-edit-sheet {
    display: none;
}
.product-dense-edit[open] > .product-edit-sheet {
    position: fixed;
    z-index: 1001;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(880px, calc(100vw - 32px));
    max-height: min(82vh, 760px);
    overflow: auto;
    display: grid;
    gap: .9rem;
    padding: 1.2rem;
    border: 1px solid rgba(83,64,31,.13);
    border-radius: 18px;
    background: #fffdf8;
    box-shadow: 0 30px 80px rgba(32,29,25,.34);
}
.product-edit-sheet .stack {
    gap: .8rem;
}
.product-edit-sheet .assign-check-grid {
    max-height: 150px;
    overflow: auto;
}
.product-edit-sheet textarea {
    min-height: 90px;
}
@media (max-width: 920px) {
    .product-admin-filters {
        grid-template-columns: 1fr;
        position: static;
    }
    .product-import-form {
        grid-template-columns: 1fr;
    }
    .product-dense-row {
        grid-template-columns: 62px minmax(0, 1fr);
    }
    .product-dense-edit {
        grid-column: 1 / -1;
    }
    .product-dense-edit[open] > .product-edit-sheet {
        width: calc(100vw - 20px);
        max-height: 86vh;
        padding: 1rem;
    }
    .product-dense-edit[open] > summary {
        top: 14px;
        right: 14px;
    }
}


/* Live admin bookings */
.live-ops-head,.booking-command-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.live-filter{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}
.live-filter input,.live-filter select,.bulk-toolbar select,.booking-inline-edit select,.booking-inline-edit input{border:1px solid rgba(32,29,25,.12);border-radius:10px;padding:.75rem .9rem;background:#fff;color:#201d19}
.live-table-panel { margin-bottom: 1rem; }
.dashboard-table-tabs { display: grid; gap: .85rem; }
.dashboard-table-tabs > input { position: absolute; opacity: 0; pointer-events: none; }
.dashboard-table-tabbar { display: flex; gap: .5rem; overflow-x: auto; padding: .1rem .05rem .35rem; }
.dashboard-table-tabbar label { display: inline-flex; align-items: center; gap: .45rem; min-width: max-content; border: 1px solid rgba(83,64,31,.13); border-radius: 999px; padding: .62rem .82rem; background: rgba(255,255,255,.78); font-weight: 950; cursor: pointer; }
.dashboard-table-tabbar label b { min-width: 1.55rem; height: 1.55rem; display: inline-grid; place-items: center; border-radius: 999px; background: rgba(255,255,255,.72); font-size: .75rem; }
.dashboard-table-panel { display: none; }
.live-table-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .65rem; }
.live-table-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: .7rem; align-items: center; padding: .68rem; border: 1px solid rgba(83,64,31,.12); border-radius: 16px; background: rgba(255,253,248,.94); box-shadow: 0 12px 26px rgba(72,54,20,.075); }
.live-table-card form { grid-column: 1 / -1; margin: 0; }
.live-table-card .ops-action { width: 100%; min-height: 42px; }
.live-table-media { width: 74px; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; display: grid; place-items: center; background: linear-gradient(135deg, rgba(246,202,111,.4), rgba(255,253,248,.86)); color: #2a2118; }
.live-table-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.live-table-media strong { font-size: 1.2rem; }
.live-table-body { min-width: 0; display: grid; gap: .16rem; }
.live-table-body span { color: var(--gold); text-transform: uppercase; font-size: .7rem; font-weight: 950; }
.live-table-body h3 { margin: 0; font-size: 1rem; line-height: 1.1; }
.live-table-body small, .live-table-body em { color: var(--muted); font-style: normal; font-size: .82rem; }
.live-table-body b { width: max-content; max-width: 100%; border-radius: 999px; padding: .26rem .48rem; font-size: .72rem; background: rgba(52,149,91,.14); color: #237241; }
.live-table-card.is-busy .live-table-body b { background: rgba(139,30,30,.12); color: #8b1e1e; }
.live-table-card.is-reserved .live-table-body b { background: rgba(246,202,111,.28); color: #76581f; }
.live-location-board{display:grid;gap:1rem}
.live-location>header,.booking-location-group>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.live-booking-list,.booking-admin-list{display:grid;gap:.65rem}
.live-booking-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(32,29,25,.08);border-radius:12px;background:#fffdf8}
.live-booking-card time{font-size:1.25rem;font-weight:900;color:#9d772f}
.live-booking-card strong,.booking-admin-row strong{display:block;color:#201d19}
.live-booking-card small,.booking-admin-row small{display:block;color:#777064;margin-top:.15rem}
.live-status-stack{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.pill.ok,.payment-bezahlt{background:#eaf8ef;color:#247844}
.pill.danger,.payment-offen,.payment-fehlgeschlagen{background:#f8e8e8;color:#9b2d2d}
.booking-command{overflow:hidden}
.bulk-booking-form{display:grid;gap:1rem}
.bulk-toolbar{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap;padding:1rem;border:1px solid rgba(32,29,25,.08);border-radius:12px;background:#fffaf0}
.booking-location-group{border-top:1px solid rgba(32,29,25,.1);padding-top:1rem}
.booking-location-group h3{margin:0;font-size:1.35rem}
.booking-admin-row{display:grid;grid-template-columns:32px 90px minmax(220px,1fr) 120px minmax(300px,420px) auto;gap:.8rem;align-items:center;padding:.9rem;border:1px solid rgba(32,29,25,.08);border-radius:12px;background:#fff}
.booking-check input{width:20px;height:20px}
.booking-time strong{font-size:1.2rem;color:#9d772f}
.booking-money{text-align:right}
.booking-inline-edit{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.45rem;align-items:center}
.booking-actions{display:flex;gap:.45rem;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:1100px){.live-ops-head,.booking-command-head{align-items:stretch;flex-direction:column}.live-booking-card,.booking-admin-row{grid-template-columns:1fr}.booking-money{text-align:left}.booking-inline-edit{grid-template-columns:1fr}.booking-actions{justify-content:flex-start}}
@media print{.sidebar,.topbar,.live-filter,.bulk-toolbar,.booking-inline-edit,.booking-actions,.notice,.panel:first-child{display:none!important}.admin-shell{display:block}.admin-main{padding:0}.panel{box-shadow:none;border:0}.booking-admin-row{break-inside:avoid}}


/* Compact SmartEat-style live dashboard */
.ops-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:14px 16px;border:1px solid rgba(32,29,25,.08);border-radius:14px;background:#fffdf8;box-shadow:0 12px 34px rgba(32,29,25,.06)}
.ops-header h2{margin:0;font-size:24px;line-height:1.05}.ops-header .eyebrow{margin:0 0 4px}.ops-filter{display:flex!important;align-items:center;gap:8px;flex-wrap:nowrap}.ops-filter input,.ops-filter select{width:auto!important;min-width:150px;height:42px;border:1px solid #e6ded0;border-radius:10px;padding:0 12px;background:#fff;color:#201d19;font:inherit}.ops-filter .gold-button,.ops-filter .ghost-button{height:42px!important;min-height:42px;padding:0 16px!important;border-radius:10px!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;width:auto!important;margin:0!important}
.ops-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.ops-kpis article{padding:14px 16px;border:1px solid rgba(32,29,25,.08);border-radius:14px;background:#fff;box-shadow:0 10px 28px rgba(32,29,25,.05)}.ops-kpis span{display:block;color:#777064;font-size:13px;font-weight:800}.ops-kpis strong{display:block;margin-top:3px;color:#c4942f;font-size:28px;line-height:1.05;letter-spacing:0}
.ops-board{display:grid;gap:12px}.ops-location-card{border:1px solid rgba(32,29,25,.09);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 14px 34px rgba(32,29,25,.06)}.ops-location-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#fffaf0;border-bottom:1px solid rgba(32,29,25,.08)}.ops-location-card h3{margin:0;font-size:22px}.ops-location-card small{color:#777064;font-weight:700}.ops-badge{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;font-weight:900;font-size:12px}.ops-badge.is-open{background:#fff2d8;color:#b88419}.ops-badge.is-ok{background:#eaf8ef;color:#247844}
.ops-table{display:grid}.ops-row{display:grid;grid-template-columns:70px minmax(190px,1.1fr) minmax(130px,.75fr) minmax(220px,1.2fr) 150px 92px;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(32,29,25,.06);min-height:58px}.ops-row:last-child{border-bottom:0}.ops-row-head{min-height:34px;padding-top:8px;padding-bottom:8px;background:#fff;color:#9d772f;font-size:11px;font-weight:900;text-transform:uppercase}.ops-row time{font-size:18px;font-weight:950;color:#201d19}.ops-guest strong{display:block}.ops-guest small{display:block;font-size:12px;color:#777064}.ops-items{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4b443a}.ops-status{display:flex;gap:5px;flex-wrap:wrap}.ops-status span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid #eadcc1;border-radius:999px;color:#9d772f;background:#fffdf8;font-size:12px;font-weight:850}.ops-status .pay-bezahlt{background:#eaf8ef;border-color:#ccebd6;color:#247844}.ops-status .pay-offen,.ops-status .pay-fehlgeschlagen{background:#fff2d8;border-color:#f0d49c;color:#9b6a10}.ops-print{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 10px;border-radius:9px;background:#2f2b25;color:#fff!important;text-decoration:none;font-weight:900;font-size:13px}.ops-empty{padding:20px;border:1px solid rgba(32,29,25,.08);border-radius:14px;background:#fff}.ops-empty span{display:block;color:#777064;margin-top:4px}
@media(max-width:1200px){.ops-header{align-items:stretch;flex-direction:column}.ops-filter{flex-wrap:wrap}.ops-row{grid-template-columns:60px minmax(180px,1fr) minmax(100px,.7fr) minmax(160px,1fr) 130px 86px}}
@media(max-width:760px){.ops-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-row,.ops-row-head{grid-template-columns:1fr}.ops-row-head{display:none}.ops-print{width:max-content}.ops-filter input,.ops-filter select,.ops-filter .gold-button,.ops-filter .ghost-button{width:100%!important}.ops-filter{display:grid!important;grid-template-columns:1fr}}


/* Professional bookings cockpit */
.booking-walkin {
    margin-bottom: 14px;
}
.booking-walkin > summary b {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 10px;
    background: #2f2b25;
    color: #fff;
    font-size: 14px;
}
.booking-create-form {
    padding: 0 16px 16px;
}
.booking-pro {
    display: grid;
    gap: 14px;
}
.booking-pro-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}
.booking-pro-head h2 {
    margin: 0;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1;
}
.booking-pro-head span {
    display: block;
    margin-top: 6px;
    color: #777064;
    font-weight: 750;
}
.booking-pro-filter {
    display: grid;
    grid-template-columns: 170px minmax(170px, 1fr) 160px 170px minmax(220px, 1.4fr) auto;
    gap: 8px;
    align-items: end;
    position: sticky;
    top: 10px;
    z-index: 5;
    padding: 10px;
    border: 1px solid rgba(32,29,25,.08);
    border-radius: 14px;
    background: rgba(255,253,248,.96);
    box-shadow: 0 14px 34px rgba(32,29,25,.08);
}
.booking-pro-filter label {
    display: grid;
    gap: 5px;
    color: #777064;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.booking-pro-filter input,
.booking-pro-filter select,
.booking-bulk-bar select,
.booking-inline-edit input,
.booking-inline-edit select {
    width: 100%;
    min-height: 42px;
    border: 1px solid #e6ded0;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #201d19;
    font: inherit;
}
.booking-pro-filter .gold-button {
    min-height: 42px;
    border-radius: 10px;
    white-space: nowrap;
}
.booking-pro-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}
.booking-pro-kpis article {
    min-height: 82px;
    padding: 14px;
    border: 1px solid rgba(32,29,25,.08);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(32,29,25,.05);
}
.booking-pro-kpis span {
    display: block;
    color: #777064;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.booking-pro-kpis strong {
    display: block;
    margin-top: 4px;
    color: #c4942f;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1;
}
.booking-bulk-bar {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 190px 190px auto auto;
    gap: 8px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(32,29,25,.08);
    border-radius: 14px;
    background: #fffaf0;
}
.booking-bulk-bar .select-all {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 900;
}
.booking-bulk-bar input[type="checkbox"],
.booking-check input {
    width: 19px;
    height: 19px;
}
.booking-pro-board {
    display: grid;
    gap: 14px;
}
.booking-location-card {
    border: 1px solid rgba(32,29,25,.09);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(32,29,25,.06);
}
.booking-location-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    background: linear-gradient(90deg, #fffaf0, #fff);
    border-bottom: 1px solid rgba(32,29,25,.08);
}
.booking-location-card p {
    margin: 0 0 4px;
    color: #c4942f;
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
}
.booking-location-card h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.05;
}
.booking-table {
    display: grid;
}
.booking-table-row {
    display: grid;
    grid-template-columns: 34px 76px minmax(190px, 1.05fr) minmax(160px, .9fr) minmax(220px, 1.15fr) 150px 210px;
    gap: 10px;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(32,29,25,.06);
}
.booking-table-row:last-child {
    border-bottom: 0;
}
.booking-table-head {
    min-height: 34px;
    padding-top: 8px;
    padding-bottom: 8px;
    background: #fff;
    color: #9d772f;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
}
.booking-timecell strong,
.booking-guestcell strong,
.booking-tablecell strong,
.booking-itemcell strong {
    display: block;
    color: #201d19;
    line-height: 1.1;
}
.booking-timecell strong {
    font-size: 20px;
    color: #9d772f;
}
.booking-timecell small,
.booking-guestcell small,
.booking-tablecell small,
.booking-itemcell small {
    display: block;
    margin-top: 3px;
    color: #777064;
    font-size: 12px;
    line-height: 1.25;
}
.booking-itemcell small {
    max-width: 420px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.booking-statuscell {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.status-chip {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 0 9px;
    border: 1px solid #eadcc1;
    border-radius: 999px;
    background: #fffdf8;
    color: #9d772f;
    font-size: 12px;
    font-weight: 900;
}
.status-bestaetigt,
.status-abgeschlossen,
.pay-bezahlt {
    background: #eaf8ef;
    border-color: #ccebd6;
    color: #247844;
}
.status-storniert,
.status-abgelehnt,
.pay-fehlgeschlagen,
.pay-storniert {
    background: #f8e8e8;
    border-color: #edcaca;
    color: #9b2d2d;
}
.status-angefragt,
.pay-offen {
    background: #fff2d8;
    border-color: #f0d49c;
    color: #9b6a10;
}
.booking-actioncell {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}
.quick-action-form {
    margin: 0;
}
.mini-action,
.booking-more summary,
.booking-more-links a,
.booking-inline-edit button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    border: 1px solid rgba(32,29,25,.1);
    border-radius: 9px;
    padding: 0 10px;
    background: #fff;
    color: #201d19;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}
.mini-action {
    background: #2f2b25;
    color: #fff;
}
.booking-more {
    position: relative;
}
.booking-more summary {
    list-style: none;
    color: #9d772f;
}
.booking-more summary::-webkit-details-marker {
    display: none;
}
.booking-more[open] {
    z-index: 10;
}
.booking-more[open] summary {
    background: #fffaf0;
}
.booking-more[open] .booking-inline-edit,
.booking-more[open] .booking-more-links {
    position: absolute;
    right: 0;
    width: min(420px, 82vw);
    padding: 10px;
    border: 1px solid rgba(32,29,25,.1);
    background: #fff;
    box-shadow: 0 18px 44px rgba(32,29,25,.14);
}
.booking-more[open] .booking-inline-edit {
    top: 38px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    border-radius: 12px 12px 0 0;
}
.booking-more[open] .booking-inline-edit input {
    grid-column: 1 / -1;
}
.booking-more[open] .booking-more-links {
    top: 184px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    border-top: 0;
    border-radius: 0 0 12px 12px;
}
@media (max-width: 1300px) {
    .booking-pro-filter {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .booking-pro-filter .booking-search {
        grid-column: span 2;
    }
    .booking-pro-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .booking-bulk-bar {
        grid-template-columns: 1fr 1fr;
    }
    .booking-table-row {
        grid-template-columns: 30px 70px minmax(170px, 1fr) minmax(140px, .8fr) minmax(170px, 1fr) 140px;
    }
    .booking-table-row > span:last-child,
    .booking-actioncell {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}
@media (max-width: 760px) {
    .booking-pro-head {
        align-items: stretch;
        flex-direction: column;
    }
    .booking-pro-filter,
    .booking-bulk-bar,
    .booking-pro-kpis {
        grid-template-columns: 1fr;
        position: static;
    }
    .booking-pro-filter .booking-search {
        grid-column: auto;
    }
    .booking-location-card > header {
        align-items: flex-start;
        flex-direction: column;
    }
    .booking-table-head {
        display: none;
    }
    .booking-table-row {
        grid-template-columns: 28px 1fr;
        align-items: start;
        padding: 14px;
    }
    .booking-timecell,
    .booking-guestcell,
    .booking-tablecell,
    .booking-itemcell,
    .booking-statuscell,
    .booking-actioncell {
        grid-column: 2;
    }
    .booking-actioncell {
        justify-content: flex-start;
    }
    .booking-itemcell small {
        white-space: normal;
    }
    .booking-more[open] .booking-inline-edit,
    .booking-more[open] .booking-more-links {
        position: static;
        width: 100%;
        margin-top: 8px;
        box-shadow: none;
        border-radius: 12px;
    }
}

/* Events as a separate product layer */
.front-events-section {
    width: min(1780px, calc(100vw - 6rem));
    margin: 1.25rem auto;
    padding: clamp(1rem, 2vw, 1.5rem);
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 18px;
    background: rgba(255,253,248,.94);
    box-shadow: 0 22px 60px rgba(72,54,20,.09);
}
.front-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.front-section-heading h2 {
    margin: .1rem 0 0;
    font-size: clamp(1.7rem, 3.2vw, 3.4rem);
    line-height: .98;
}
.front-section-heading span {
    max-width: 520px;
    color: var(--muted);
    font-weight: 750;
    text-align: right;
}
.front-event-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}
.front-event-card {
    appearance: none;
    border: 1px solid rgba(190,145,47,.34);
    border-radius: 16px;
    min-height: 270px;
    padding: 1rem;
    display: grid;
    align-content: end;
    gap: .42rem;
    overflow: hidden;
    position: relative;
    isolation: isolate;
    color: #fff;
    background: linear-gradient(145deg, #2f2b25, #7c141e);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 18px 44px rgba(72,54,20,.16);
}
.front-event-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(20,17,12,.08), rgba(20,17,12,.78));
    z-index: -1;
}
.front-event-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}
.front-event-card span {
    width: max-content;
    max-width: 100%;
    border-radius: 999px;
    padding: .38rem .62rem;
    background: rgba(246,202,111,.9);
    color: #201d19;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
}
.front-event-card strong {
    display: block;
    font-size: clamp(1.45rem, 2.3vw, 2.45rem);
    line-height: 1;
}
.front-event-card small {
    color: rgba(255,255,255,.88);
    font-weight: 800;
}
.front-event-archive {
    margin-top: .9rem;
    border-top: 1px solid rgba(83,64,31,.1);
    padding-top: .75rem;
}
.front-event-archive summary {
    cursor: pointer;
    color: var(--gold);
    font-weight: 950;
}
.front-event-archive div {
    display: grid;
    gap: .35rem;
    margin-top: .65rem;
}
.front-event-archive article,
.event-archive-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .65rem .75rem;
    border: 1px solid rgba(83,64,31,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.62);
}
.front-event-archive span,
.event-archive-row span {
    color: var(--muted);
    font-weight: 750;
}
.front-empty-text { color: var(--muted); font-weight: 800; }
.event-admin-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}
.event-admin-card {
    position: relative;
    display: grid;
    grid-template-columns: 98px minmax(0, 1fr);
    gap: .72rem;
    align-items: center;
    padding: .72rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 16px;
    background: #fffdf8;
    box-shadow: 0 12px 32px rgba(72,54,20,.07);
}
.event-admin-card.is-disabled {
    opacity: .66;
}
.event-admin-media {
    width: 98px;
    min-height: 118px;
    height: 118px;
    border-radius: 12px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #fffaf0, #efe1c8);
    color: var(--muted);
    font-weight: 950;
}
.event-admin-media img {
    width: 100%;
    height: 100%;
    min-height: 118px;
    object-fit: cover;
}
.event-admin-main {
    min-width: 0;
    display: grid;
    gap: .22rem;
}
.event-admin-main > span {
    color: var(--gold);
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}
.event-admin-main > strong {
    font-size: 1.05rem;
    line-height: 1.08;
}
.event-admin-main > small {
    color: var(--muted);
    font-weight: 850;
    line-height: 1.2;
}
.event-admin-main > p {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: .05rem 0 0;
    color: var(--muted);
    font-size: .86rem;
    font-weight: 700;
}
.event-admin-chips {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
    max-height: 26px;
    overflow: hidden;
}
.event-admin-chips b {
    border-radius: 999px;
    padding: .24rem .46rem;
    background: rgba(246,202,111,.2);
    border: 1px solid rgba(180,132,42,.18);
    color: #7a5b21;
    font-size: .68rem;
    font-weight: 950;
}
.event-admin-chips b.is-live {
    background: rgba(220, 246, 230, .86);
    border-color: rgba(31,122,76,.16);
    color: #1f7a4c;
}
.event-admin-chips b.is-muted {
    background: rgba(237,231,222,.76);
    color: #867765;
}
.event-edit-details.product-dense-edit {
    grid-column: 1 / -1;
}
.event-edit-details.product-dense-edit > summary {
    border: 1px solid rgba(83,64,31,.12);
}
.event-edit-form {
    margin: 0;
}
.event-danger-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}
.event-danger-row form { margin: 0; }
.danger-button { color: #9b2d2d !important; }
.event-archive-list {
    display: grid;
    gap: .45rem;
    margin-top: .85rem;
}
@media (max-width: 1000px) {
    .front-events-section { width: min(100% - 1rem, 1780px); }
    .front-section-heading { align-items: flex-start; flex-direction: column; }
    .front-section-heading span { text-align: left; }
    .front-event-grid { grid-template-columns: 1fr; }
    .event-admin-card { grid-template-columns: 86px minmax(0, 1fr); }
    .event-admin-media { width: 86px; min-height: 104px; height: 104px; }
    .event-admin-media img { min-height: 104px; }
    .event-danger-row { justify-content: flex-start; }
}
@media (max-width: 640px) {
    .front-event-card { min-height: 230px; }
    .front-event-archive article,
    .event-archive-row { align-items: flex-start; flex-direction: column; }
}

/* Tighten front event section */
.front-events-section {
    width: min(1380px, calc(100vw - 3rem));
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding: clamp(1rem, 1.6vw, 1.25rem);
}
.front-section-heading {
    align-items: flex-start;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    margin-bottom: .85rem;
}
.front-section-heading .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: .15rem;
}
.front-section-heading h2 {
    font-size: clamp(2rem, 3.2vw, 3.7rem);
}
.front-section-heading span {
    align-self: end;
    line-height: 1.25;
    padding-bottom: .25rem;
}
.front-event-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .75rem;
}
.front-event-card {
    min-height: 210px;
    max-width: none;
    border-radius: 14px;
}
@media (min-width: 1180px) {
    .front-event-card {
        min-height: 230px;
    }
}
@media (max-width: 760px) {
    .front-events-section {
        width: min(100% - .8rem, 1380px);
        border-radius: 14px;
    }
    .front-section-heading {
        display: block;
    }
    .front-section-heading span {
        display: block;
        margin-top: .35rem;
        text-align: left;
    }
}

/* Visual asset fitting pass */
.merchant-banner {
    width: min(1380px, calc(100vw - 3rem));
    margin: 1rem auto;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}
.merchant-banner.has-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
    border-radius: 0;
    box-shadow: 0 18px 50px rgba(72,54,20,.08);
}
.front-event-card {
    color: #fff;
    background: radial-gradient(circle at 15% 18%, rgba(246,202,111,.26), transparent 36%), linear-gradient(135deg, #2b1819 0%, #681921 48%, #1f1b16 100%);
}
.front-event-card::before {
    background: linear-gradient(90deg, rgba(19,15,12,.82) 0%, rgba(55,22,19,.64) 38%, rgba(18,15,12,.76) 100%);
}
.front-event-card img {
    object-fit: cover;
    object-position: center;
    opacity: .58;
    transform: scale(1.01);
    filter: saturate(.92) contrast(1.02);
}
.front-event-card span,
.front-event-card strong,
.front-event-card small {
    position: relative;
    z-index: 1;
    text-shadow: 0 2px 18px rgba(0,0,0,.38);
}
.front-event-card span {
    text-shadow: none;
}
.experience-card {
    background-blend-mode: multiply;
}
.experience-card .experience-logo {
    max-width: min(380px, 72%);
    max-height: 170px;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 14px 24px rgba(0,0,0,.34));
}
.experience-card::before {
    opacity: .92;
}
.shop-product-image,
.product-overview-media img,
.product-admin-image img,
.event-admin-media img {
    object-fit: cover;
    object-position: center;
}
@media (max-width: 760px) {
    .merchant-banner {
        width: min(100% - .8rem, 1380px);
        margin-top: .7rem;
    }
    .front-event-card img {
        opacity: .5;
    }
}

/* Event posters: narrow cards, consistent with location tiles */
.front-events-section {
    width: min(1380px, calc(100vw - 3rem));
}
.front-event-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px));
    justify-content: start;
    align-items: stretch;
    gap: .9rem;
}
.front-event-card {
    width: 100%;
    min-height: 430px;
    aspect-ratio: 3 / 4;
    padding: 1rem;
    border-radius: 16px;
    align-content: end;
    box-shadow: 0 18px 42px rgba(72,54,20,.14);
}
.front-event-card::before {
    background: linear-gradient(180deg, rgba(19,15,12,.12) 0%, rgba(36,20,17,.44) 42%, rgba(18,15,12,.88) 100%);
}
.front-event-card img {
    opacity: .76;
    object-position: center;
}
.front-event-card span {
    font-size: .72rem;
    padding: .34rem .55rem;
}
.front-event-card strong {
    font-size: clamp(1.55rem, 2vw, 2.15rem);
}
.front-event-card small {
    font-size: .9rem;
    line-height: 1.25;
}
@media (max-width: 760px) {
    .front-event-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .65rem;
    }
    .front-event-card {
        min-height: 280px;
        border-radius: 14px;
        padding: .78rem;
    }
    .front-event-card strong {
        font-size: 1.25rem;
    }
    .front-event-card small {
        font-size: .76rem;
    }
}

/* Align banner, event section and location section widths */
:root { --se360-front-width: min(1280px, calc(100vw - 3rem)); }
.merchant-banner,
.front-events-section,
.front-experience {
    width: var(--se360-front-width) !important;
    max-width: var(--se360-front-width) !important;
}
.front-events-section {
    min-height: 0;
    padding-bottom: 1.1rem;
}
.front-event-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
}
@media (max-width: 760px) {
    :root { --se360-front-width: min(100% - .8rem, 1280px); }
    .front-events-section,
    .merchant-banner,
    .front-experience {
        width: var(--se360-front-width) !important;
        max-width: var(--se360-front-width) !important;
    }
}

/* Mobile event poster swipe carousel */
@media (max-width: 760px) {
    .front-event-grid {
        display: flex;
        overflow-x: auto;
        overflow-y: hidden;
        gap: .75rem;
        padding: .15rem .15rem .55rem;
        margin-inline: -.15rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .front-event-grid::-webkit-scrollbar {
        display: none;
    }
    .front-event-card {
        flex: 0 0 min(78vw, 300px);
        width: min(78vw, 300px);
        min-height: 360px;
        scroll-snap-align: start;
        scroll-snap-stop: always;
    }
    .front-events-section::after {
        content: "Links / rechts wischen";
        display: block;
        margin-top: .25rem;
        color: var(--muted);
        font-size: .78rem;
        font-weight: 850;
    }
}

/* Checkbox assignment controls for product targets */
.assign-box {
    display: grid;
    gap: .45rem;
}
.assign-box > span {
    color: var(--muted);
    font-weight: 900;
}
.assign-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .45rem;
    padding: .65rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 12px;
    background: rgba(255,253,248,.72);
    max-height: 220px;
    overflow: auto;
}
.assign-check-grid label {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
    padding: .45rem .55rem;
    border: 1px solid rgba(83,64,31,.08);
    border-radius: 10px;
    background: #fff;
    color: #201d19;
    font-weight: 850;
}
.assign-check-grid input {
    width: 18px;
    height: 18px;
    accent-color: #c4942f;
}
.assign-check-grid em {
    color: var(--muted);
    font-style: normal;
    font-weight: 800;
}

/* Hide frontend mini topbar */
.frontend .compact-topbar { display: none !important; }

/* Admin operations workflow */
.ops-flow-hint {
    padding: 10px 14px;
    margin: 0 0 12px;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 12px;
    background: #fffaf0;
    color: #777064;
    font-weight: 800;
}
.ops-flow-hint strong { color: #201d19; }
.dashboard-tabs {
    display: grid;
    gap: 12px;
}
.dashboard-live-state {
    display: none !important;
}
.dashboard-tabs > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.dashboard-main-tabbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 8px;
    border: 1px solid rgba(32,29,25,.08);
    border-radius: 18px;
    background: rgba(255,253,248,.92);
    box-shadow: 0 14px 34px rgba(32,29,25,.06);
}
.dashboard-main-tabbar label {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 18px;
    border: 1px solid rgba(83,64,31,.11);
    border-radius: 14px;
    background: #fff;
    color: #2a251f;
    font-weight: 950;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.dashboard-main-tabbar label:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(32,29,25,.07);
}
.dashboard-main-tabbar label b {
    min-width: 34px;
    height: 28px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    padding: 0 10px;
    background: rgba(244,210,133,.34);
    color: #9d772f;
    font-size: 13px;
}
.dashboard-main-tabbar.dashboard-live-flash {
    animation: dashboardLivePulse 1.2s ease;
}
@keyframes dashboardLivePulse {
    0% { box-shadow: 0 0 0 rgba(196,148,47,0); }
    35% { box-shadow: 0 0 0 5px rgba(196,148,47,.2), 0 18px 38px rgba(196,148,47,.16); }
    100% { box-shadow: 0 14px 34px rgba(32,29,25,.06); }
}
.dashboard-tab-panel {
    display: none;
}
#dashboard-tab-bookings:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-bookings"],
#dashboard-tab-tables:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-tables"],
#dashboard-tab-daylist:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-daylist"] {
    background: linear-gradient(135deg, #f3cf75, #c99c35);
    color: #22180d;
    border-color: rgba(151,105,28,.22);
    box-shadow: 0 16px 32px rgba(174,126,35,.22);
}
#dashboard-tab-bookings:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-bookings"] b,
#dashboard-tab-tables:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-tables"] b,
#dashboard-tab-daylist:checked ~ .dashboard-main-tabbar label[for="dashboard-tab-daylist"] b {
    background: rgba(255,255,255,.7);
    color: #22180d;
}
#dashboard-tab-bookings:checked ~ .ops-board {
    display: grid;
}
#dashboard-tab-tables:checked ~ .live-table-panel {
    display: block;
}
#dashboard-tab-daylist:checked ~ .dashboard-daylist-panel {
    display: block;
}
.dashboard-daylist-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0;
}
.dashboard-daylist-card h2 {
    margin: 0 0 5px;
    font-size: 30px;
}
.dashboard-daylist-card span {
    display: block;
    color: #777064;
    font-weight: 750;
}
.dashboard-daylist-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.ops-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex-wrap: wrap;
}
.ops-actions form { margin: 0; }
.ops-row.is-live-new {
    animation: bookingLiveNew 5.8s ease;
}
@keyframes bookingLiveNew {
    0%, 28% {
        background: rgba(244,210,133,.28);
        box-shadow: inset 4px 0 0 #c4942f;
    }
    100% {
        background: transparent;
        box-shadow: inset 0 0 0 rgba(196,148,47,0);
    }
}
.ops-action,
.ops-print,
.mini-action {
    min-height: 34px;
    border: 1px solid rgba(32,29,25,.1);
    border-radius: 9px;
    padding: 0 10px;
    font-weight: 950;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
}
.ops-action.primary,
.mini-action.primary { background: #2f2b25; color: #fff; }
.ops-action.money,
.mini-action.money { background: #eaf8ef; color: #247844; border-color: #ccebd6; }
.ops-action.done,
.mini-action.done { background: #d9b34d; color: #201d19; border-color: #cda643; }
.ops-action.danger,
.mini-action.danger { background: #f8e8e8; color: #9b2d2d; border-color: #edcaca; }
.mini-action.ticket { background: #fff; color: #9d772f; display: inline-flex; align-items: center; }
.mini-action.wallet { background: #211d18; color: #fffaf0; display: inline-flex; align-items: center; }
.mini-action.google-wallet { background: #fff; color: #211d18; border-color: #d6d0c6; display: inline-flex; align-items: center; }
.booking-actioncell .mini-action { font-size: 13px; }
.booking-more summary { min-height: 34px; }
@media (max-width: 1200px) {
    .ops-actions { justify-content: flex-start; }
}
@media print {
    .ops-actions, .booking-actioncell { display: none !important; }
}

/* Wider action column for admin live rows */
.ops-row {
    grid-template-columns: 108px minmax(220px,1.15fr) minmax(180px,.85fr) minmax(150px,.7fr) minmax(170px, auto) !important;
}
@media(max-width:1200px){.ops-row{grid-template-columns:1fr!important}.ops-row-head{display:none!important}}
@media(max-width:760px){
    .dashboard-main-tabbar {
        grid-template-columns: 1fr;
        gap: 7px;
    }
    .dashboard-main-tabbar label {
        min-height: 50px;
        padding: 0 14px;
    }
    .dashboard-daylist-card {
        align-items: stretch;
        flex-direction: column;
    }
    .dashboard-daylist-actions {
        justify-content: stretch;
    }
    .dashboard-daylist-actions .gold-button,
    .dashboard-daylist-actions .ghost-button {
        width: 100%;
    }
}


/* Modal pre-submit availability warning */
.modal-inline-alert {
    margin-top: .75rem;
    padding: .85rem 1rem;
    border-radius: 12px;
    border: 1px solid rgba(155,45,45,.28);
    background: rgba(124,27,35,.92);
    color: #fff;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(124,27,35,.16);
}
.modal-inline-alert[hidden] { display: none !important; }

/* Wider dashboard date/time column */
.ops-row { grid-template-columns: 108px minmax(220px,1.15fr) minmax(180px,.85fr) minmax(150px,.7fr) minmax(170px, auto) !important; }
.ops-row time { text-align: left; }
.ops-row time small { display:block; color:#777064; font-size:12px; font-weight:900; margin-bottom:2px; }
.ops-row time strong { display:block; }
.ops-amount {
    display: grid !important;
    gap: 4px;
    justify-items: start;
}
.ops-amount strong {
    font-size: 17px;
    color: #201d19;
}
.booking-head-actions { display:flex; gap:.55rem; flex-wrap:wrap; justify-content:flex-end; }
.booking-print-title { display:none; }
.booking-ops-head {
    align-items: center;
    padding-bottom: .35rem;
}
.booking-pro-filter-modern {
    grid-template-columns: 170px minmax(160px, 1fr) 150px 165px minmax(220px, 1.3fr) auto;
}
.booking-week-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .72rem;
}
.booking-week-card {
    min-height: 230px;
    display: grid;
    align-content: start;
    gap: .72rem;
    padding: .9rem;
    border: 1px solid rgba(32,29,25,.09);
    border-radius: 18px;
    background: rgba(255,253,248,.76);
    box-shadow: 0 14px 34px rgba(72,54,20,.07);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.booking-week-card:hover {
    transform: translateY(-2px);
    border-color: rgba(196,148,47,.34);
    background: #fffdf8;
    box-shadow: 0 18px 44px rgba(72,54,20,.12);
}
.booking-week-card.is-today {
    border-color: rgba(196,148,47,.44);
    box-shadow: 0 16px 42px rgba(196,148,47,.16);
}
.booking-week-card header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .5rem;
}
.booking-week-card header span {
    color: #b68422;
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
}
.booking-week-card header strong {
    color: #201d19;
    font-size: 1.25rem;
}
.booking-week-numbers {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    column-gap: .42rem;
    row-gap: .1rem;
}
.booking-week-numbers b {
    color: #c4942f;
    font-size: 2rem;
    line-height: 1;
}
.booking-week-numbers span {
    color: #777064;
    font-size: .82rem;
    font-weight: 850;
}
.booking-week-alerts {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}
.booking-week-alerts em {
    padding: .32rem .48rem;
    border-radius: 999px;
    background: #fff7df;
    color: #8c6519;
    font-size: .72rem;
    font-style: normal;
    font-weight: 950;
}
.booking-week-preview {
    display: grid;
    gap: .3rem;
    color: #6f675c;
    font-size: .78rem;
    line-height: 1.25;
}
.booking-week-preview span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.booking-location-card-pro {
    overflow: visible;
}
.booking-area-group {
    display: grid;
    gap: .55rem;
    padding: .8rem;
    border-top: 1px solid rgba(32,29,25,.08);
}
.booking-area-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
}
.booking-area-title strong {
    color: #201d19;
    font-size: 1rem;
}
.booking-area-title span {
    padding: .32rem .52rem;
    border-radius: 999px;
    background: #fff7df;
    color: #8c6519;
    font-size: .75rem;
    font-weight: 950;
}
.report-hero,
.report-statement-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}
.report-statement-hero {
    min-height: 150px;
    background:
        radial-gradient(circle at 88% 10%, rgba(246,202,111,.2), transparent 18rem),
        linear-gradient(135deg, rgba(255,253,248,.98), rgba(249,242,228,.96));
}
.report-statement-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    gap: 1rem;
    margin-bottom: 1rem;
}
.report-identity-card,
.report-summary-card {
    margin-bottom: 0;
}
.report-identity-card h2,
.report-summary-card h2 {
    margin: .15rem 0 .6rem;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    line-height: 1;
}
.report-identity-card address {
    display: grid;
    gap: .18rem;
    margin: 0 0 .8rem;
    color: #4d463d;
    font-style: normal;
    font-weight: 800;
}
.report-identity-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .75rem;
}
.report-identity-meta span {
    padding: .42rem .58rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 999px;
    background: rgba(255,253,248,.8);
    color: #6f675c;
    font-size: .8rem;
    font-weight: 850;
}
.report-summary-card {
    background:
        radial-gradient(circle at 90% 12%, rgba(246,202,111,.24), transparent 14rem),
        #fffdf8;
}
.report-summary-card > span {
    display: block;
    color: #777064;
    font-weight: 850;
}
.report-summary-lines {
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
}
.report-summary-lines b {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem .65rem;
    border-radius: 12px;
    background: rgba(255,255,255,.68);
    color: #201d19;
}
.report-summary-lines span {
    color: #777064;
    font-size: .82rem;
}
.report-filter {
    display: grid;
    grid-template-columns: minmax(180px, 260px) auto;
    gap: .75rem;
    align-items: end;
}
.report-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .8rem;
    margin-bottom: 1rem;
}
.report-kpi-grid article {
    min-height: 104px;
    padding: 1rem;
    border: 1px solid rgba(32,29,25,.09);
    border-radius: 18px;
    background: rgba(255,253,248,.86);
    box-shadow: 0 14px 34px rgba(72,54,20,.07);
}
.report-kpi-grid span {
    display: block;
    color: #777064;
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
}
.report-kpi-grid strong {
    display: block;
    margin-top: .42rem;
    color: #c4942f;
    font-size: clamp(1.45rem, 2.8vw, 2.15rem);
    line-height: 1;
}
.report-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}
.report-table {
    display: grid;
    gap: .42rem;
}
.report-row {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) .55fr .55fr .75fr;
    align-items: center;
    gap: .7rem;
    min-height: 48px;
    padding: .65rem .75rem;
    border: 1px solid rgba(32,29,25,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.74);
}
.report-row-head {
    min-height: 34px;
    background: transparent;
    border: 0;
    color: #9d772f;
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
}
.report-row strong {
    color: #201d19;
    overflow-wrap: anywhere;
}
.report-row span {
    color: #777064;
    font-size: .9rem;
}
.report-row b {
    color: #9d772f;
    text-align: right;
    white-space: nowrap;
}
.report-empty {
    padding: 1rem;
    border: 1px dashed rgba(32,29,25,.14);
    border-radius: 14px;
    color: #777064;
    background: rgba(255,253,248,.7);
}
@media (max-width: 1400px) {
    .booking-week-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .report-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .booking-week-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .booking-week-card {
        min-height: 190px;
    }
    .report-hero,
    .report-statement-hero,
    .report-statement-grid,
    .report-split {
        display: grid;
        grid-template-columns: 1fr;
    }
    .report-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-row {
        grid-template-columns: 1fr;
        gap: .24rem;
    }
    .report-row-head {
        display: none;
    }
    .report-row b {
        text-align: left;
    }
}
@media (max-width: 560px) {
    .booking-week-grid {
        grid-template-columns: 1fr;
    }
    .report-filter,
    .report-kpi-grid {
        grid-template-columns: 1fr;
    }
}
@media print {
    .booking-walkin,
    .booking-pro-filter,
    .booking-bulk-bar,
    .booking-head-actions,
    .booking-actioncell,
    .booking-check,
    .sidebar,
    .topbar,
    .notice { display:none!important; }
    body { background:#fff!important; }
    .admin-shell { display:block!important; }
    .admin-main { padding:0!important; }
    .booking-pro { border:0!important; box-shadow:none!important; padding:0!important; }
    .booking-pro-head { margin-bottom:10px!important; }
    .booking-print-title { display:grid; gap:4px; margin:0 0 14px; padding:0 0 10px; border-bottom:2px solid #201d19; }
    .booking-print-title strong { font-size:20px; }
    .booking-print-title span { font-size:14px; color:#555; }
    .booking-pro-kpis { grid-template-columns: repeat(6, 1fr)!important; gap:6px!important; }
    .booking-pro-kpis article { box-shadow:none!important; border:1px solid #ddd!important; padding:8px!important; }
    .booking-location-card { break-inside:avoid; box-shadow:none!important; border:1px solid #ddd!important; margin-bottom:12px; }
    .booking-table-row { break-inside:avoid; grid-template-columns: 72px minmax(160px,1fr) 120px minmax(180px,1fr) 120px!important; }
    .booking-table-head span:first-child,
    .booking-table-head span:last-child { display:none!important; }
    .booking-table-row > .booking-actioncell,
    .booking-table-row > .booking-check { display:none!important; }
    .mini-action, .booking-more { display:none!important; }
}

/* App-like mobile checkout cart */
.mobile-cart-toggle {
    display: none;
}
.table-select-sync {
    display: none !important;
}
.table-suggestion-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: .8rem;
    margin: .9rem 0 .65rem;
}
.table-suggestion-title span {
    color: #201d19;
    font-size: 1rem;
    font-weight: 950;
}
.table-suggestion-title small {
    color: #777064;
    font-weight: 800;
    text-align: right;
}
.readonly-event-location {
    min-height: 54px;
    display: grid;
    align-content: center;
    gap: .18rem;
    border: 1px solid rgba(83,64,31,.11);
    border-radius: 14px;
    padding: .72rem .88rem;
    background: rgba(255,253,248,.9);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.checkout-modal #locationField[hidden],
.checkout-modal #eventField[hidden],
.checkout-modal #ticketField[hidden],
.checkout-modal #dateField[hidden],
.checkout-modal #timeField[hidden] {
    display: none !important;
}
.readonly-event-location[hidden] {
    display: none !important;
}
.readonly-event-location span {
    color: #8b8377;
    font-size: .84rem;
    font-weight: 900;
}
.readonly-event-location strong {
    color: #201d19;
    font-weight: 950;
}
.readonly-event-location small {
    color: #777064;
    font-weight: 850;
}
@media (max-width: 700px) {
    .table-suggestion-title {
        display: grid;
        gap: .18rem;
        margin-top: .75rem;
    }
    .table-suggestion-title small {
        text-align: left;
        font-size: .82rem;
        line-height: 1.25;
    }
}
@media (max-width: 700px) {
    .checkout-modal.open {
        padding: 0 !important;
        align-items: stretch;
    }
    .checkout-modal .modal-card {
        max-height: 100dvh !important;
        min-height: 100dvh;
        border-radius: 0 !important;
        padding: .72rem .72rem 8.9rem !important;
    }
    .checkout-modal .step-rail {
        position: static;
        top: auto;
        z-index: 12;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: .36rem !important;
        padding: .34rem 3.55rem .34rem .34rem;
        border: 1px solid rgba(83,64,31,.1);
        border-radius: 18px;
        background: rgba(255,253,248,.94);
        box-shadow: 0 12px 28px rgba(72,54,20,.12);
        backdrop-filter: blur(14px);
    }
    .checkout-modal .step-pill {
        min-height: 46px;
        padding: 0 .35rem;
        border-radius: 14px;
        font-size: .83rem;
        white-space: nowrap;
    }
    .checkout-modal .modal-close {
        position: fixed;
        top: calc(.65rem + env(safe-area-inset-top));
        right: .75rem;
        z-index: 22;
        width: 46px;
        height: 46px;
        padding: 0;
        overflow: hidden;
        color: transparent;
    }
    .checkout-modal .modal-close::before,
    .checkout-modal .modal-close::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 22px;
        height: 3px;
        border-radius: 999px;
        background: #fffaf0;
    }
    .checkout-modal .modal-close::before { transform: translate(-50%, -50%) rotate(45deg); }
    .checkout-modal .modal-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
    .checkout-modal .modal-shop,
    .checkout-modal .step-panel {
        border-radius: 18px;
    }
    .checkout-modal .modal-cart {
        position: fixed !important;
        left: .72rem !important;
        right: .72rem !important;
        bottom: calc(.72rem + env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        z-index: 21;
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "summary summary"
            "total action";
        gap: .62rem .72rem;
        padding: .72rem !important;
        border-radius: 24px !important;
        border: 1px solid rgba(184,137,45,.22) !important;
        background: rgba(255,253,248,.96) !important;
        box-shadow: 0 -18px 60px rgba(32,29,25,.24) !important;
        backdrop-filter: blur(18px);
    }
    .checkout-modal .modal-cart .eyebrow,
    .checkout-modal .modal-cart h3 {
        display: none !important;
    }
    .mobile-cart-toggle {
        grid-area: summary;
        min-height: 42px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        color: #201d19;
        text-align: left;
    }
    .mobile-cart-toggle span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        color: #201d19;
        font-weight: 950;
    }
    .mobile-cart-toggle b {
        flex: 0 0 auto;
        border-radius: 999px;
        padding: .34rem .55rem;
        background: rgba(246,202,111,.52);
        color: #8b6420;
        font-size: .78rem;
        font-weight: 950;
    }
    .checkout-modal .modal-cart ul {
        grid-column: 1 / -1;
        display: none !important;
        max-height: 30vh;
        overflow: auto;
        padding-top: .2rem;
        margin: -.1rem 0 .1rem;
    }
    .checkout-modal .modal-cart.is-expanded ul {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: .42rem;
    }
    .checkout-modal .modal-cart li {
        min-height: 38px;
        padding: .48rem .58rem;
        border-radius: 12px;
        font-size: .86rem;
        line-height: 1.2;
    }
    .checkout-modal .cart-total {
        grid-area: total;
        align-self: stretch;
        display: grid !important;
        align-content: center;
        justify-content: start;
        gap: .1rem;
        width: auto;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
    }
    .checkout-modal .cart-total span {
        color: #777064;
        font-size: .72rem;
        font-weight: 950;
        text-transform: uppercase;
    }
    .checkout-modal .cart-total strong {
        font-size: 1.25rem !important;
        line-height: 1;
        white-space: nowrap;
    }
    .checkout-modal #nextStepButton {
        grid-area: action;
        align-self: stretch;
        width: min(46vw, 190px) !important;
        min-height: 58px !important;
        margin: 0 !important;
        border-radius: 18px !important;
        font-size: 1rem !important;
    }
}
@media (max-width: 390px) {
    .checkout-modal .modal-card {
        padding-bottom: 9.4rem !important;
    }
    .checkout-modal .step-pill {
        font-size: .74rem;
        min-height: 43px;
    }
    .checkout-modal .modal-cart {
        grid-template-columns: 1fr;
        grid-template-areas:
            "summary"
            "total"
            "action";
    }
    .checkout-modal #nextStepButton {
        width: 100% !important;
    }
}

/* SE360 interactive table plans */
.table-plan-shell {
    display: grid;
    gap: .75rem;
    margin-top: .85rem;
}
.table-plan-shell .no-table-card {
    min-height: 84px;
}
.table-plan-stage,
.table-plan-admin-stage {
    position: relative;
    display: block !important;
    width: 100%;
    min-height: 520px;
    overflow: hidden;
    border: 1px solid rgba(83,64,31,.13);
    border-radius: 22px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.72) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.58) 1px, transparent 1px),
        radial-gradient(circle at 72% 36%, rgba(246,202,111,.24), transparent 28%),
        linear-gradient(145deg, #251819, #7f2f34 48%, #182b47);
    background-size: 42px 42px, 42px 42px, auto, auto;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 20px 50px rgba(28,20,10,.12);
}
.table-plan-stage::before,
.table-plan-admin-stage::before {
    content: "";
    position: absolute;
    inset: 9%;
    border: 2px solid rgba(255,255,255,.5);
    border-radius: 18px;
    pointer-events: none;
}
.plan-label {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 999px;
    padding: .42rem .72rem;
    color: rgba(255,255,255,.9);
    font-weight: 950;
    font-size: .78rem;
    text-transform: uppercase;
    background: rgba(20,16,12,.18);
    pointer-events: none;
}
.plan-label-bar { top: 12%; right: 11%; }
.plan-label-dance { top: 48%; left: 44%; }
.plan-label-dj { bottom: 8%; left: 44%; min-width: 96px; text-align: center; }
.table-plan-stage .plan-table-card {
    position: absolute;
    z-index: 4;
    min-height: 0;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: .12rem;
    padding: .38rem;
    text-align: center;
    transform: translate(-50%, -50%) rotate(var(--rot, 0deg));
    border-radius: 12px;
    border: 2px solid rgba(255,255,255,.86);
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,221,160,.92));
    box-shadow: 0 16px 34px rgba(0,0,0,.22), 0 0 0 0 rgba(246,202,111,0);
}
.table-plan-stage .plan-table-card::after,
.admin-plan-table::after {
    content: "";
    position: absolute;
    inset: -8px;
    border: 2px dotted rgba(255,255,255,.88);
    border-radius: 16px;
    pointer-events: none;
    opacity: .8;
}
.table-plan-stage .plan-table-card.plan-shape-round,
.admin-plan-table.plan-shape-round .admin-plan-handle,
.admin-plan-table.plan-shape-round::after {
    border-radius: 999px;
}
.table-plan-stage .plan-table-card.plan-shape-round::after {
    border-radius: 999px;
}
.table-plan-stage .plan-table-card.plan-shape-bar,
.admin-plan-table.plan-shape-bar .admin-plan-handle,
.admin-plan-table.plan-shape-bar::after {
    border-radius: 999px;
}
.table-plan-stage .plan-table-card.plan-shape-bar::after {
    border-radius: 999px;
}
.table-plan-stage .plan-table-card.plan-shape-rect,
.admin-plan-table.plan-shape-rect .admin-plan-handle,
.admin-plan-table.plan-shape-rect::after {
    border-radius: 10px;
}
.table-plan-stage .plan-table-card.plan-shape-rect::after {
    border-radius: 10px;
}
.table-plan-stage .plan-table-card span {
    color: #17120c;
    font-size: .78rem;
}
.table-plan-stage .plan-table-card strong,
.table-plan-stage .plan-table-card small {
    display: none;
}
.table-plan-stage .plan-table-card .table-pick-image {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 10px;
    opacity: .28;
}
.table-plan-stage .plan-table-card:hover,
.table-plan-stage .plan-table-card.active {
    transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(1.08);
    border-color: #f6ca6f;
    background: linear-gradient(145deg, #fff7dc, #efc45a);
    box-shadow: 0 18px 45px rgba(0,0,0,.26), 0 0 0 10px rgba(246,202,111,.14);
}
.table-plan-stage.is-picking .plan-table-card.active {
    animation: se360TablePick .58s ease both;
}
@keyframes se360TablePick {
    0% { box-shadow: 0 18px 45px rgba(0,0,0,.24), 0 0 0 0 rgba(246,202,111,.36); }
    55% { box-shadow: 0 22px 56px rgba(0,0,0,.3), 0 0 0 24px rgba(246,202,111,.06); }
    100% { box-shadow: 0 18px 45px rgba(0,0,0,.26), 0 0 0 10px rgba(246,202,111,.14); }
}
.table-plan-admin {
    margin-bottom: 1rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 18px;
    padding: .85rem;
    background: rgba(255,255,255,.7);
}
.table-plan-admin-head {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: flex-end;
    margin-bottom: .7rem;
}
.table-plan-admin-head strong,
.table-plan-admin-head small {
    display: block;
}
.table-plan-admin-head em {
    color: var(--gold);
    font-style: normal;
    font-weight: 900;
}
.admin-plan-save-all {
    border: 0;
    border-radius: 999px;
    padding: .8rem 1.05rem;
    background: linear-gradient(135deg, #f4d679, #c99628);
    color: #20160a;
    font-weight: 950;
    box-shadow: 0 14px 28px rgba(181,133,35,.18);
}
.admin-plan-save-all[data-state="saved"] {
    background: #dff5e8;
    color: #19734c;
}
.admin-plan-save-all[data-state="error"] {
    background: #f8dddd;
    color: #963434;
}
.admin-plan-save-all:disabled {
    opacity: .72;
}
.table-plan-admin-stage {
    min-height: 460px;
}
.table-plan-workbench {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 190px;
    gap: .85rem;
    align-items: stretch;
}
.table-plan-tools,
.table-plan-list {
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 16px;
    padding: .8rem;
    background: rgba(255,255,255,.78);
}
.table-plan-tools strong,
.table-plan-list strong {
    display: block;
    margin-bottom: .65rem;
    color: #1f1913;
    font-weight: 950;
}
.table-plan-tools small {
    display: block;
    margin-top: .65rem;
    color: var(--muted);
    font-weight: 800;
}
.plan-shape-tool,
.table-plan-list button {
    width: 100%;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 12px;
    background: #fff;
    padding: .65rem;
    margin-bottom: .5rem;
    color: #20160a;
    font-weight: 900;
    text-align: left;
}
.plan-shape-tool {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.plan-shape-tool.is-active {
    background: #f6d678;
    border-color: rgba(192,142,39,.42);
}
.tool-shape {
    display: inline-block;
    width: 26px;
    height: 20px;
    background: #eeb0bf;
    border: 2px solid #1d1820;
}
.tool-round { border-radius: 999px; }
.tool-rect { border-radius: 5px; }
.tool-bar { width: 34px; border-radius: 999px; }
.table-plan-list button b,
.table-plan-list button span {
    display: block;
}
.table-plan-list button span {
    color: var(--muted);
    font-size: .8rem;
}
.admin-plan-table {
    position: absolute;
    z-index: 5;
    transform: translate(-50%, -50%) rotate(var(--rot, 0deg));
}
.admin-plan-handle {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    border: 2px solid rgba(255,255,255,.86);
    border-radius: 12px;
    background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,221,160,.95));
    box-shadow: 0 14px 34px rgba(0,0,0,.22);
    cursor: grab;
    touch-action: none;
    overflow: hidden;
    position: relative;
}
.admin-plan-handle img {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .42;
}
.admin-plan-handle b,
.admin-plan-handle span {
    color: #17120c;
    font-weight: 950;
    line-height: 1;
}
.admin-plan-handle span {
    font-size: .72rem;
}
.admin-plan-table.is-dragging .admin-plan-handle {
    cursor: grabbing;
    transform: scale(1.06);
}
.admin-plan-table.is-selected {
    z-index: 9;
}
.admin-plan-table.is-selected .admin-plan-handle {
    border-color: #f6ca6f;
    box-shadow: 0 18px 42px rgba(0,0,0,.28), 0 0 0 8px rgba(246,202,111,.22);
}
.admin-plan-table.is-pulsing .admin-plan-handle {
    animation: se360TablePick .58s ease both;
}
.admin-plan-save {
    position: absolute;
    left: 50%;
    top: calc(100% + 6px);
    transform: translateX(-50%) rotate(calc(-1 * var(--rot, 0deg)));
    border-radius: 999px;
    padding: .36rem .58rem;
    border: 0;
    background: #f1c65b;
    color: #211706;
    font-size: .72rem;
    font-weight: 950;
    opacity: 0;
    pointer-events: none;
}
.admin-plan-table:hover .admin-plan-save,
.admin-plan-table.is-unsaved .admin-plan-save {
    opacity: 1;
    pointer-events: auto;
}
@media (max-width: 720px) {
    .table-plan-workbench {
        grid-template-columns: 1fr;
    }
    .table-plan-tools,
    .table-plan-list {
        display: flex;
        gap: .45rem;
        overflow-x: auto;
        align-items: center;
    }
    .table-plan-tools strong,
    .table-plan-list strong,
    .table-plan-tools small {
        flex: 0 0 auto;
        margin: 0;
    }
    .plan-shape-tool,
    .table-plan-list button {
        flex: 0 0 auto;
        width: auto;
        margin-bottom: 0;
    }
    .table-plan-stage {
        min-height: 440px;
    }
    .table-plan-admin-stage {
        min-height: 380px;
    }
    .table-plan-stage .plan-table-card span {
        font-size: .68rem;
    }
    .plan-label {
        font-size: .64rem;
        padding: .32rem .5rem;
    }
}

/* Event and ticket sharing */
.front-event-shell {
    display: grid;
    gap: .48rem;
    min-width: 0;
}
.front-event-shell .front-event-card {
    width: 100%;
}
.front-event-share,
.admin-share-row {
    display: flex;
    align-items: center;
    gap: .42rem;
    flex-wrap: wrap;
}
.front-event-share {
    padding: .42rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 14px;
    background: rgba(255,253,248,.9);
}
.front-event-share a,
.front-event-share button,
.admin-share-row a,
.admin-share-row button {
    width: auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(180,132,42,.22);
    border-radius: 999px;
    padding: .42rem .64rem;
    background: rgba(246,202,111,.18);
    color: #6f511d;
    font-size: .76rem;
    font-weight: 950;
    white-space: nowrap;
}
.front-event-share button,
.admin-share-row button {
    cursor: pointer;
}
.admin-share-row {
    margin-top: .45rem;
}
.ticket-admin-meta .admin-share-row {
    display: grid;
    grid-template-columns: 1fr;
}
.ticket-admin-meta .admin-share-row a,
.ticket-admin-meta .admin-share-row button {
    width: 100%;
}
@media (max-width: 760px) {
    .front-event-shell {
        flex: 0 0 min(74vw, 282px);
        scroll-snap-align: start;
    }
    .front-event-shell .front-event-card {
        flex-basis: auto !important;
        width: 100% !important;
    }
    .front-event-share {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .front-event-share a,
    .front-event-share button {
        width: 100%;
        min-height: 42px;
        font-size: .72rem;
    }
    .admin-share-row {
        display: grid;
        grid-template-columns: 1fr;
    }
    .admin-share-row a,
    .admin-share-row button {
        width: 100%;
        min-height: 42px;
    }
}

@media (max-width: 700px) {
    .checkout-modal .table-picker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .52rem !important;
    }
    .checkout-modal .table-pick-card {
        min-height: 0 !important;
        padding: .58rem !important;
        border-radius: 16px !important;
        gap: .28rem !important;
    }
    .checkout-modal .table-pick-image {
        height: 96px !important;
        border-radius: 12px !important;
        margin-bottom: .28rem !important;
    }
    .checkout-modal .table-pick-card span {
        font-size: .62rem !important;
    }
    .checkout-modal .table-pick-card strong {
        font-size: .9rem !important;
        line-height: 1.08 !important;
    }
    .checkout-modal .table-pick-card small {
        font-size: .74rem !important;
        line-height: 1.16 !important;
    }
}

/* Frontend legal footer */
.frontend-footer {
    width: var(--se360-front-width);
    max-width: calc(100vw - 2rem);
    margin: 2.2rem auto 2.8rem;
    padding: 1rem 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 18px;
    background: rgba(255,253,248,.82);
    box-shadow: 0 18px 42px rgba(50,35,16,.08);
}
.frontend-footer div,
.frontend-footer nav {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}
.frontend-footer strong {
    color: #201d19;
    font-weight: 950;
}
.frontend-footer span,
.frontend-footer a {
    color: #777064;
    font-weight: 850;
    text-decoration: none;
}
.frontend-footer a:hover {
    color: #b58a32;
}
.legal-screen {
    min-height: 100vh;
}
.legal-page {
    width: min(940px, calc(100vw - 2rem));
    margin: 3rem auto;
}
.legal-back {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 1rem;
    margin-bottom: 1rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 999px;
    background: rgba(255,253,248,.9);
    color: #201d19;
    font-weight: 950;
    text-decoration: none;
}
.legal-panel {
    padding: clamp(1.4rem, 3vw, 2.4rem);
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 24px;
    background: rgba(255,253,248,.92);
    box-shadow: 0 24px 68px rgba(50,35,16,.12);
}
.legal-panel h1 {
    margin: .2rem 0 .45rem;
    font-size: clamp(2.3rem, 6vw, 4.2rem);
    line-height: .95;
    letter-spacing: 0;
}
.legal-intro {
    margin: 0 0 1.4rem;
    color: #777064;
    font-weight: 800;
    font-size: 1.04rem;
}
.legal-facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: .75rem;
    margin: 1.2rem 0 1.8rem;
}
.legal-facts article {
    min-height: 118px;
    padding: 1rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 16px;
    background: #fff;
    display: grid;
    align-content: start;
    gap: .35rem;
}
.legal-facts span,
.legal-copy h2 {
    color: #a67a26;
    font-size: .82rem;
    font-weight: 950;
    text-transform: uppercase;
}
.legal-facts strong,
.legal-facts a {
    color: #201d19;
    font-size: 1.08rem;
    font-weight: 950;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.legal-facts small {
    color: #777064;
    font-weight: 850;
}
.legal-copy {
    display: grid;
    gap: .55rem;
    color: #3b352d;
    font-weight: 750;
    line-height: 1.65;
}
.legal-copy h2 {
    margin: 1rem 0 0;
}
.legal-copy p {
    margin: 0;
}
.legal-copy a {
    color: #9d772f;
    font-weight: 950;
}
@media (max-width: 760px) {
    .frontend-footer {
        margin-block: 1.4rem 2rem;
        align-items: flex-start;
        flex-direction: column;
        border-radius: 16px;
    }
    .frontend-footer nav {
        gap: .55rem .9rem;
    }
    .legal-page {
        margin-block: 1rem 2rem;
    }
    .legal-panel {
        border-radius: 18px;
    }
}

/* Final mobile modal override: compact, predictable app checkout bar */
@media (max-width: 700px) {
    .checkout-modal.open .modal-card {
        display: block !important;
        width: 100vw !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        margin: 0 !important;
        padding: .72rem .72rem 7.4rem !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }
    .checkout-modal.open .step-rail {
        position: static !important;
        top: auto !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        margin-bottom: .75rem !important;
    }
    .checkout-modal.open .modal-shop {
        display: block !important;
        width: 100% !important;
        min-height: 0 !important;
    }
    .checkout-modal.open .modal-cart {
        position: fixed !important;
        top: auto !important;
        left: .72rem !important;
        right: .72rem !important;
        bottom: calc(.72rem + env(safe-area-inset-bottom)) !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: 42dvh !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) clamp(124px, 38vw, 158px) !important;
        grid-template-areas:
            "summary summary"
            "total action" !important;
        align-items: center !important;
        gap: .55rem .7rem !important;
        padding: .68rem !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }
    .checkout-modal.open .mobile-cart-toggle {
        grid-area: summary !important;
        min-height: 34px !important;
        max-height: 38px !important;
    }
    .checkout-modal.open .modal-cart ul {
        display: none !important;
        max-height: 24dvh !important;
        overflow-y: auto !important;
    }
    .checkout-modal.open .modal-cart.is-expanded ul {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: 1fr !important;
    }
    .checkout-modal.open .cart-total {
        grid-area: total !important;
        min-height: 54px !important;
        height: 54px !important;
        display: grid !important;
        align-content: center !important;
        justify-content: start !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }
    .checkout-modal.open #nextStepButton {
        grid-area: action !important;
        width: 100% !important;
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;
        align-self: center !important;
        justify-self: stretch !important;
        margin: 0 !important;
        padding: 0 .7rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 17px !important;
    }
}

.ticket-toolbar {
    align-items: flex-start;
}
.ticket-create-modal {
    grid-column: auto;
}
.ticket-create-modal > summary.gold-button {
    min-height: 42px;
    padding: 0 1rem;
    background: linear-gradient(135deg, var(--gold-light), var(--gold));
    color: #221d16;
    box-shadow: 0 10px 22px rgba(198,150,55,.18);
}
.ticket-create-modal[open] > summary.gold-button {
    background: #2f2b25;
    color: #fff;
}

/* Admin location areas: compact work cards */
.area-work-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 1rem;
}
.area-location-card {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid rgba(83,64,31,.11);
    border-radius: 20px;
    background:
        radial-gradient(circle at 92% 0%, rgba(214,168,68,.12), transparent 14rem),
        linear-gradient(135deg, #fffdf8, #fffaf0);
    box-shadow: 0 18px 42px rgba(72,54,20,.08);
}
.area-location-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.area-location-head span,
.area-edit-card summary small {
    display: block;
    color: #b68422;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}
.area-location-head strong {
    display: block;
    margin-top: .16rem;
    color: #201d19;
    font-size: 1.35rem;
    line-height: 1.05;
}
.area-location-kpis {
    display: flex;
    gap: .38rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.area-location-kpis b,
.area-edit-card summary em,
.area-edit-card summary i {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .28rem .58rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: #766a5c;
    font-size: .76rem;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}
.area-location-kpis .is-live,
.area-edit-card summary i.is-live {
    background: #eaf8ef;
    border-color: #ccebd6;
    color: #247844;
}
.area-location-kpis .is-muted,
.area-edit-card summary i.is-muted {
    background: #f1ece4;
    color: #7c7164;
}
.area-chip-list {
    display: grid;
    gap: .55rem;
}
.area-edit-card {
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.66);
    overflow: hidden;
}
.area-edit-card[open] {
    background: #fff;
    box-shadow: 0 14px 34px rgba(72,54,20,.08);
}
.area-edit-card summary,
.area-create-card > summary {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .55rem;
    padding: .72rem .82rem;
    cursor: pointer;
    list-style: none;
}
.area-edit-card summary::-webkit-details-marker,
.area-create-card summary::-webkit-details-marker {
    display: none;
}
.area-edit-card summary strong {
    display: block;
    color: #201d19;
    font-size: 1rem;
    line-height: 1.05;
}
.area-edit-panel {
    display: grid;
    gap: .55rem;
    padding: 0 .82rem .82rem;
}
.area-edit-form {
    display: grid;
    grid-template-columns: minmax(160px, 1.2fr) minmax(150px, .9fr) 110px auto auto;
    align-items: end;
    gap: .55rem;
}
.area-edit-form label {
    margin: 0;
}
.area-edit-form input,
.area-edit-form select {
    min-height: 42px;
}
.area-edit-form .inline-check {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    padding: 0 .3rem;
    font-weight: 850;
    white-space: nowrap;
}
.area-edit-form .gold-button {
    min-height: 42px;
    padding: 0 .9rem;
    white-space: nowrap;
}
.area-danger-form {
    justify-self: end;
}
.area-danger-form .danger-button {
    min-height: 38px;
    padding: 0 .8rem;
    border-color: rgba(188,70,70,.24);
    color: #b63c3c;
    background: rgba(255,248,248,.8);
}
.area-create-card {
    border: 1px dashed rgba(190,143,45,.36);
    border-radius: 16px;
    background: rgba(255,248,232,.7);
}
.area-create-card > summary {
    display: flex;
    justify-content: center;
    color: #8c6519;
    font-weight: 950;
}
.area-create-card[open] {
    padding-bottom: .82rem;
    background: #fffdf8;
}
.area-create-card .area-edit-form {
    padding: 0 .82rem;
}
.area-chip-card {
    width: 100%;
    min-height: 62px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .55rem;
    padding: .72rem .78rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-align: left;
    box-shadow: 0 10px 26px rgba(72,54,20,.05);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.area-chip-card:hover {
    transform: translateY(-1px);
    border-color: rgba(190,143,45,.36);
    background: #fffdf8;
    box-shadow: 0 16px 34px rgba(72,54,20,.1);
}
.area-chip-card small {
    display: block;
    color: #b68422;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}
.area-chip-card strong {
    display: block;
    color: #201d19;
    font-size: 1rem;
    overflow-wrap: anywhere;
}
.area-chip-card em,
.area-chip-card i {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: .36rem .58rem;
    border: 1px solid rgba(83,64,31,.1);
    border-radius: 999px;
    background: rgba(255,253,248,.88);
    color: #756b5f;
    font-size: .78rem;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}
.area-chip-card i.is-live {
    background: #eaf8ef;
    border-color: #ccebd6;
    color: #247844;
}
.area-chip-card i.is-muted {
    background: #f1ece4;
    color: #7c7164;
}
.area-add-button {
    min-height: 52px;
    border: 1px dashed rgba(190,143,45,.44);
    border-radius: 16px;
    background: rgba(255,248,232,.78);
    color: #8c6519;
    font-weight: 950;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.area-add-button:hover {
    transform: translateY(-1px);
    border-color: rgba(190,143,45,.72);
    background: #fff4d6;
}
body.admin-modal-open {
    overflow: hidden;
}
.admin-area-modal {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: center;
    padding: clamp(.8rem, 3vw, 1.4rem);
}
.admin-area-modal[hidden] {
    display: none !important;
}
.admin-area-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(35,30,24,.48);
    backdrop-filter: blur(12px) saturate(1.08);
}
.admin-area-dialog {
    position: relative;
    width: min(620px, 100%);
    max-height: min(760px, calc(100dvh - 1.4rem));
    overflow: auto;
    padding: clamp(1.05rem, 2vw, 1.45rem);
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 92% 0%, rgba(246,202,111,.26), transparent 13rem),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,241,.96));
    box-shadow: 0 34px 100px rgba(35,30,24,.28);
}
.admin-area-dialog h3 {
    margin: .15rem 2.4rem .25rem 0;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1;
    color: #201d19;
}
.admin-area-dialog .muted {
    margin-bottom: 1rem;
}
.admin-area-close {
    position: absolute;
    top: .82rem;
    right: .82rem;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: #2f2b25;
    color: #fffaf0;
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
}
.admin-area-dialog .area-edit-form {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .82rem;
}
.admin-area-dialog .area-edit-form label:first-of-type,
.admin-area-dialog .area-edit-form .inline-check,
.admin-area-dialog .area-modal-actions {
    grid-column: 1 / -1;
}
.area-modal-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
}
.area-modal-actions .ghost-button {
    min-width: 140px;
}
.admin-area-dialog .area-danger-form {
    margin-top: .72rem;
}

@media (max-width: 1100px) {
    .area-edit-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .area-edit-form .inline-check,
    .area-edit-form .gold-button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .area-work-grid {
        grid-template-columns: 1fr;
        gap: .7rem;
    }
    .area-location-card {
        padding: .82rem;
        border-radius: 18px;
    }
    .area-location-head {
        display: grid;
    }
    .area-location-kpis {
        justify-content: flex-start;
    }
    .area-edit-card summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .area-edit-card summary i {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .area-chip-card {
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .area-chip-card i {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .admin-area-modal {
        align-items: end;
        padding: 0;
    }
    .admin-area-dialog {
        width: 100%;
        max-height: 92dvh;
        border-radius: 24px 24px 0 0;
        padding: 1rem;
    }
    .admin-area-dialog .area-edit-form,
    .area-modal-actions {
        grid-template-columns: 1fr;
    }
    .area-modal-actions .ghost-button {
        min-width: 0;
    }
    .area-edit-form {
        grid-template-columns: 1fr;
    }
    .area-danger-form {
        justify-self: stretch;
    }
    .area-danger-form .danger-button {
        width: 100%;
    }
}

.checkout-modal #nextStepButton[hidden],
.checkout-modal .cart-submit-button[hidden],
.checkout-modal.open #nextStepButton[hidden],
.checkout-modal.open .cart-submit-button[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.checkout-modal #ticketField[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.ticket-admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: .85rem;
}
.ticket-admin-card {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(110px, .85fr);
    gap: .75rem;
    align-items: stretch;
    padding: .72rem;
    border: 1px solid rgba(83,64,31,.12);
    border-radius: 16px;
    background: rgba(255,253,248,.95);
    box-shadow: 0 12px 28px rgba(72,54,20,.08);
}
.ticket-admin-card.is-disabled {
    opacity: .62;
}
.ticket-stub {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .35rem;
    padding: .85rem;
    border-radius: 13px;
    color: #fffaf0;
    background:
        linear-gradient(145deg, rgba(120,24,32,.92), rgba(30,39,64,.96)),
        radial-gradient(circle at 80% 10%, rgba(235,205,128,.28), transparent 34%);
}
.ticket-stub span {
    align-self: flex-start;
    padding: .22rem .48rem;
    border: 1px solid rgba(235,205,128,.45);
    border-radius: 999px;
    color: #f4d778;
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
}
.ticket-stub strong {
    font-size: 1.22rem;
    line-height: 1;
}
.ticket-stub small {
    color: rgba(255,250,240,.74);
    font-weight: 800;
}
.ticket-admin-meta {
    display: grid;
    align-content: center;
    gap: .32rem;
}
.ticket-admin-meta b {
    font-size: 1.35rem;
}
.ticket-admin-meta span,
.ticket-admin-meta small {
    color: var(--muted);
    font-weight: 800;
}
.ticket-admin-meta em {
    width: fit-content;
    padding: .22rem .5rem;
    border-radius: 999px;
    background: rgba(235,205,128,.28);
    color: #9b7629;
    font-style: normal;
    font-weight: 950;
}
.ticket-admin-card .product-dense-edit {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .ticket-admin-card {
        grid-template-columns: 1fr;
    }
}

/* Final event poster polish: show uploaded event photo and keep mobile text calm */
.front-event-card {
    background: #2f2b25 !important;
}
.front-event-card img {
    z-index: 0 !important;
    opacity: 1 !important;
    filter: saturate(1.02) contrast(1.04) !important;
    transform: none !important;
}
.front-event-card::before {
    z-index: 1 !important;
    background:
        linear-gradient(180deg, rgba(14,12,10,.06) 0%, rgba(22,14,12,.26) 44%, rgba(18,14,12,.9) 100%),
        linear-gradient(90deg, rgba(20,14,12,.55), rgba(20,14,12,.08) 58%) !important;
}
.front-event-card span,
.front-event-card strong,
.front-event-card small {
    position: relative !important;
    z-index: 2 !important;
}
@media (max-width: 760px) {
    .front-event-card {
        flex-basis: min(74vw, 282px) !important;
        width: min(74vw, 282px) !important;
        min-height: 330px !important;
        padding: .82rem !important;
        gap: .34rem !important;
    }
    .front-event-card span {
        font-size: .62rem !important;
        padding: .28rem .46rem !important;
        max-width: 92%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .front-event-card strong {
        max-width: 100%;
        font-size: clamp(1.55rem, 10vw, 2.25rem) !important;
        line-height: .95 !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        hyphens: none !important;
    }
    .front-event-card small {
        font-size: .76rem !important;
        line-height: 1.18 !important;
    }
}

/* Admin mobile app polish */
.location-mobile-list {
    display: none;
}
@media (max-width: 760px) {
    html {
        -webkit-text-size-adjust: 100%;
    }
    body:has(.admin-shell) {
        padding-bottom: calc(86px + env(safe-area-inset-bottom));
        background:
            radial-gradient(circle at 12% 0%, rgba(214,168,68,.16), transparent 18rem),
            linear-gradient(180deg, #fffaf0 0%, #f6f1e7 48%, #eee5d6 100%);
    }
    input,
    select,
    textarea,
    button,
    .ghost-button,
    .gold-button {
        min-height: 48px;
        border-radius: 14px;
        font-size: 16px;
    }
    .admin-shell {
        display: block;
        min-height: 100dvh;
    }
    .sidebar {
        position: fixed;
        left: .55rem;
        right: .55rem;
        bottom: max(.55rem, env(safe-area-inset-bottom));
        top: auto;
        z-index: 900;
        height: auto;
        padding: .42rem;
        border: 1px solid rgba(83,64,31,.12);
        border-radius: 24px;
        background: rgba(255,253,248,.94);
        box-shadow: 0 18px 48px rgba(32,29,25,.18);
        backdrop-filter: blur(16px);
    }
    .sidebar .brand,
    .sidebar .logout {
        display: none;
    }
    .sidebar nav {
        display: flex;
        gap: .38rem;
        overflow-x: auto;
        padding: 0;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .sidebar nav::-webkit-scrollbar {
        display: none;
    }
    .sidebar a {
        flex: 0 0 auto;
        min-width: 92px;
        min-height: 52px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        scroll-snap-align: start;
        border-radius: 18px;
        padding: .62rem .72rem;
        text-align: center;
        font-size: .86rem;
        font-weight: 900;
        background: rgba(255,255,255,.72);
        border: 1px solid rgba(83,64,31,.08);
    }
    .sidebar a.active {
        background: linear-gradient(135deg, #f3cf75, #c99c35);
        color: #211706;
        box-shadow: 0 10px 24px rgba(184,137,45,.22);
    }
    .admin-main {
        width: 100%;
        max-width: none;
        padding: .82rem .72rem 1.1rem;
    }
    .topbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: .75rem;
        margin-bottom: .85rem;
        padding: .95rem;
        border: 1px solid rgba(83,64,31,.1);
        border-radius: 22px;
        background: rgba(255,253,248,.78);
        box-shadow: 0 14px 36px rgba(72,54,20,.08);
    }
    .topbar h1 {
        font-size: clamp(1.65rem, 9vw, 2.25rem);
        line-height: .98;
    }
    .topbar .ghost-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
    .notice,
    .alert,
    .panel,
    .metric-grid article,
    .cards article,
    .booking-pro,
    .booking-location-card,
    .ops-location-card,
    .live-table-panel {
        border-radius: 20px;
    }
    .panel {
        padding: .9rem;
        margin-bottom: .78rem;
    }
    .panel h2,
    .booking-pro-head h2 {
        font-size: clamp(1.35rem, 7.2vw, 1.9rem);
        line-height: 1.03;
    }
    .section-headline,
    .product-toolbar,
    .ticket-toolbar,
    .product-location-heading,
    .booking-pro-head,
    .live-location > header,
    .booking-location-group > header {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: .55rem;
    }
    .form-grid,
    .compact-form,
    .event-edit-form,
    .product-create-form,
    .booking-create-form {
        grid-template-columns: 1fr !important;
        gap: .72rem;
    }
    .form-grid .full,
    .compact-form .full {
        grid-column: 1 / -1;
    }
    .switch {
        grid-auto-flow: column;
        justify-content: start;
        min-height: 48px;
        padding: .45rem .1rem;
    }
    .table-wrap {
        overflow: visible;
    }
    .location-table-panel table {
        display: none;
    }
    .location-mobile-list {
        display: grid;
        gap: .62rem;
    }
    .location-mobile-list article {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .82rem;
        border: 1px solid rgba(83,64,31,.1);
        border-radius: 16px;
        background: #fffdf8;
        box-shadow: 0 10px 24px rgba(72,54,20,.06);
    }
    .location-mobile-list span {
        display: block;
        color: var(--gold);
        font-size: .68rem;
        font-weight: 950;
        text-transform: uppercase;
    }
    .location-mobile-list strong,
    .location-mobile-list small {
        display: block;
    }
    .location-mobile-list small {
        color: var(--muted);
        font-weight: 800;
    }
    .location-mobile-list b {
        flex: 0 0 auto;
        border-radius: 999px;
        padding: .32rem .55rem;
        background: rgba(237,231,222,.76);
        color: #867765;
        font-size: .76rem;
    }
    .location-mobile-list b.is-live {
        background: rgba(220,246,230,.86);
        color: #1f7a4c;
    }
    .metric-grid,
    .booking-pro-kpis,
    .ops-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .58rem;
    }
    .metric-grid article,
    .booking-pro-kpis article,
    .ops-kpis article {
        min-height: 92px;
        padding: .82rem;
    }
    .product-admin-filters,
    .booking-pro-filter,
    .ops-filter,
    .live-filter,
    .dashboard-daylist-actions,
    .booking-head-actions,
    .product-toolbar-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
        width: 100%;
    }
    .product-admin-filters input,
    .product-admin-filters select,
    .booking-pro-filter input,
    .booking-pro-filter select,
    .booking-pro-filter button,
    .ops-filter input,
    .ops-filter select,
    .ops-filter button,
    .live-filter input,
    .live-filter select,
    .live-filter button,
    .dashboard-daylist-actions a,
    .dashboard-daylist-actions button,
    .booking-head-actions a,
    .booking-head-actions button {
        width: 100% !important;
    }
    .table-location-tabbar,
    .dashboard-main-tabbar,
    .dashboard-table-tabbar {
        gap: .42rem;
        margin-left: -.08rem;
        margin-right: -.08rem;
        padding-bottom: .4rem;
    }
    .table-location-tabbar label,
    .dashboard-main-tabbar label,
    .dashboard-table-tabbar label {
        min-height: 48px;
        border-radius: 16px;
        padding: .6rem .72rem;
    }
    .product-dense-list,
    .event-admin-list,
    .ticket-admin-grid,
    .table-admin-card-grid,
    .live-table-grid {
        grid-template-columns: 1fr !important;
        gap: .62rem;
    }
    .product-dense-row {
        grid-template-columns: 64px minmax(0, 1fr);
        min-height: 128px;
        border-radius: 18px;
    }
    .product-dense-media {
        width: 64px;
        height: 64px;
        min-height: 64px;
    }
    .product-dense-main .product-overview-top {
        display: grid;
        grid-template-columns: 1fr;
    }
    .product-dense-main p {
        -webkit-line-clamp: 2;
    }
    .ticket-admin-card,
    .event-admin-card,
    .table-admin-card {
        border-radius: 18px;
    }
    .event-admin-card {
        grid-template-columns: 82px minmax(0, 1fr);
    }
    .event-admin-media {
        width: 82px;
        min-height: 104px;
        height: 104px;
    }
    .event-admin-media img {
        min-height: 104px;
    }
    .ticket-admin-card {
        grid-template-columns: 1fr;
    }
    .ticket-stub {
        min-height: 118px;
    }
    .table-admin-card {
        grid-template-columns: 72px minmax(0, 1fr);
        min-height: 144px;
    }
    .table-admin-card .table-admin-thumb {
        width: 72px;
    }
    .table-admin-states,
    .event-admin-chips,
    .product-chip-row {
        justify-content: flex-start;
    }
    .product-dense-edit[open]::before {
        background: rgba(32,29,25,.5);
        backdrop-filter: blur(6px);
    }
    .product-dense-edit[open] > summary {
        top: auto !important;
        right: 1rem !important;
        bottom: calc(1rem + env(safe-area-inset-bottom));
        z-index: 1003;
        min-width: 108px;
        min-height: 48px;
        border-radius: 999px;
    }
    .product-dense-edit[open] > .product-edit-sheet {
        top: auto;
        bottom: 0;
        left: 0;
        transform: none;
        width: 100vw;
        max-height: min(88dvh, 760px);
        padding: 1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));
        border-radius: 24px 24px 0 0;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
    }
    .product-edit-sheet .assign-check-grid {
        max-height: 190px;
    }
    .table-admin-edit-head {
        grid-template-columns: 86px minmax(0, 1fr);
    }
    .table-admin-preview {
        width: 86px;
    }
    .table-switch-row,
    .table-actions,
    .event-danger-row,
    .product-danger-row {
        align-items: stretch !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .55rem !important;
    }
    .booking-pro-board,
    .ops-board {
        gap: .7rem;
    }
    .booking-table-row,
    .ops-row,
    .live-booking-card {
        grid-template-columns: 1fr !important;
        border-radius: 16px;
        padding: .86rem;
    }
    .booking-table-head,
    .ops-row-head {
        display: none !important;
    }
    .booking-actioncell,
    .booking-actions,
    .ops-actions {
        justify-content: stretch !important;
    }
    .booking-actioncell form,
    .booking-actioncell button,
    .booking-actioncell a,
    .ops-actions form,
    .ops-actions button,
    .ops-actions a {
        width: 100%;
    }
    .booking-more[open] .booking-inline-edit,
    .booking-more[open] .booking-more-links,
    .booking-inline-edit {
        grid-template-columns: 1fr !important;
    }
    .admin-create-details > summary {
        min-height: 56px;
        border-radius: 16px;
        padding: .82rem;
    }
}

@media (max-width: 390px) {
    .admin-main {
        padding-left: .55rem;
        padding-right: .55rem;
    }
    .metric-grid,
    .booking-pro-kpis,
    .ops-kpis {
        grid-template-columns: 1fr !important;
    }
    .sidebar a {
        min-width: 84px;
        font-size: .8rem;
    }
    .product-dense-row,
    .event-admin-card,
    .table-admin-card {
        grid-template-columns: 1fr;
    }
    .event-admin-media,
    .table-admin-card .table-admin-thumb,
    .product-dense-media {
        width: 100%;
        height: 150px;
    }
}

.checkout-modal #nextStepButton[hidden],
.checkout-modal .cart-submit-button[hidden],
.checkout-modal.open #nextStepButton[hidden],
.checkout-modal.open .cart-submit-button[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
