/* Admin (index.html) page styles, extracted from its inline <style> block.
   Loaded at the same point, before /styles.css, so the cascade order is unchanged:
   styles.css still overrides these rules. */

:root{
  --ink:#221813;--ink2:#5a4439;--ink3:#937466;
  --paper:#fff8ef;--paper2:#f7ecde;--paper3:#ecd7c4;
  --paper4:#fffdf8;--mist:#f8ead8;
  --accent:#d35c2f;--accent2:#f0b487;--accent-soft:#fff0df;
  --gold:#d6952f;--gold-bg:#fff1cf;
  --sky:#2f6f9f;--sky-bg:#eef7ff;
  --green:#486843;--green-bg:#eef5e6;
  --amber:#b96e08;--amber-bg:#fff2dc;
  --red:#9b2f2f;--red-bg:#fff0ed;
  --purple:#6b355f;--purple-bg:#f8eff7;
  --bento-rose:#b8464d;
  --bento-cherry:#8f2f38;
  --bento-apricot:#f2b37f;
  --bento-yuzu:#f0c663;
  --bento-sand:#f7e2ca;
  --bento-plum:#6e4b5e;
  --bento-olive:#5d6d43;
  --radius:6px;--radius-lg:12px;
  --mono:'DM Mono',monospace;
  --serif:'Fraunces',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:var(--mono);
  background:
    radial-gradient(circle at top left, rgba(242,179,127,.34), transparent 26%),
    radial-gradient(circle at 82% 10%, rgba(240,198,99,.18), transparent 20%),
    radial-gradient(circle at 20% 100%, rgba(184,70,77,.12), transparent 24%),
    linear-gradient(180deg, #fffaf2 0%, #fff2e4 24%, #f8ebdb 100%);
  color:var(--ink);
  font-size:13px;
  line-height:1.5
}
@keyframes adminGlowFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.92}
  50%{transform:translate3d(0,-10px,0) scale(1.04);opacity:1}
}
@keyframes adminPanelIn{
  from{opacity:0;transform:translate3d(0,14px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes emberPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(184,70,77,.14)}
  50%{box-shadow:0 0 0 10px rgba(184,70,77,0)}
}
@keyframes gentleSweep{
  0%{transform:translateX(-115%) skewX(-18deg)}
  100%{transform:translateX(160%) skewX(-18deg)}
}
.app{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;height:100vh;height:100dvh;overflow:hidden;padding:14px}

/* SIDEBAR */
.sidebar{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.72), transparent 28%),
    radial-gradient(circle at 82% 14%, rgba(240,198,99,.22), transparent 22%),
    linear-gradient(180deg, rgba(255,248,239,.98), rgba(247,225,206,.96));
  color:var(--ink2);
  padding:0;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(232,224,212,.96);
  border-radius:30px;
  box-shadow:0 22px 56px rgba(150,103,54,.16)
}
.sidebar::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg, transparent 0 44%, rgba(255,255,255,.2) 44% 46%, transparent 46% 100%),
    radial-gradient(circle at 78% 18%, rgba(211,92,47,.16), transparent 22%),
    radial-gradient(circle at 18% 88%, rgba(93,109,67,.11), transparent 18%);
  opacity:.98
}
.sidebar::after{
  content:'';
  position:absolute;
  inset:auto -22px -40px auto;
  width:170px;
  height:170px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.44), transparent 68%);
  animation:adminGlowFloat 9s ease-in-out infinite;
  pointer-events:none
}
.logo{padding:24px 20px 18px;border-bottom:1px solid rgba(210,194,176,.72);position:relative;z-index:1}
.logo-name{font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:300;line-height:1.1;letter-spacing:-.03em;text-shadow:0 1px 0 rgba(255,255,255,.45)}
.logo-sub{font-size:10px;color:var(--k-accent-text);letter-spacing:.12em;text-transform:uppercase;margin-top:5px}
.nav{padding:12px 0;flex:1;overflow-y:auto}
.nav-item{
  display:flex;align-items:center;gap:10px;margin:0 10px 2px;padding:10px 14px;
  cursor:pointer;color:var(--ink2);font-size:12px;letter-spacing:.02em;
  transition:all .18s ease;border:1px solid transparent;border-radius:16px;
  background:none;width:calc(100% - 20px);font-family:var(--mono);text-align:left
}
.nav-item:hover{
  color:var(--ink);
  background:rgba(255,255,255,.66);
  border-color:rgba(232,224,212,.92);
  transform:translateX(4px)
}
.nav-item.active{
  color:var(--ink);
  background:linear-gradient(180deg, rgba(255,239,225,.98), rgba(254,228,207,.96));
  border-color:rgba(240,180,135,.95);
  box-shadow:0 14px 30px rgba(184,70,77,.13)
}
.nav-item:focus-visible,.tab:focus-visible,.mobile-nav-item:focus-visible,.mobile-menu-item:focus-visible,.action-menu-item:focus-visible,.nav-utility-link:focus-visible{
  outline:2px solid rgba(200,82,42,.5);
  outline-offset:2px
}
.nav-icon{font-size:14px;width:16px;text-align:center;flex-shrink:0}
.nav-section{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#9a7e66;padding:16px 18px 7px}
.sidebar-bottom{padding:14px 16px 16px;border-top:1px solid rgba(210,194,176,.72);position:relative;z-index:1}
.nav-status-stack{display:flex;flex-direction:column;gap:5px}
.venue-status{
  display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink2);
  background:rgba(255,251,245,.72);border:1px solid rgba(236,215,196,.94);
  border-radius:999px;padding:6px 10px;margin-bottom:6px
}
.venue-status span{min-width:0}
.status-dot{width:7px;height:7px;border-radius:50%;background:#2d6a4f;flex-shrink:0}
.nav-utility-actions{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-utility-link{
  background:none;border:none;color:#6a6259;font-size:10px;cursor:pointer;font-family:var(--mono);padding:0;text-decoration:none
}
.nav-utility-sep{color:#9a9085;font-size:10px}
.pending-badge,.waitlist-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:18px;
  background:var(--accent);color:#fff;font-size:9px;font-weight:500;padding:1px 6px;border-radius:999px;margin-left:auto
}

/* MAIN */
.main{
  overflow-y:auto;height:100%;min-height:0;min-width:0;
  background:
    radial-gradient(circle at 84% 12%, rgba(242,179,127,.1), transparent 18%),
    radial-gradient(circle at 14% 0%, rgba(184,70,77,.05), transparent 18%),
    linear-gradient(180deg, rgba(255,252,246,.88), rgba(255,246,236,.82));
  border:1px solid rgba(236,215,196,.9);
  border-radius:30px;
  box-shadow:0 24px 60px rgba(146,94,48,.1)
}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:20px 30px;border-bottom:1px solid rgba(236,215,196,.94);background:linear-gradient(180deg, rgba(255,251,245,.96), rgba(255,243,231,.92));backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}
.page-title{font-family:var(--serif);font-size:26px;font-weight:300;color:var(--ink);letter-spacing:-.03em;margin:0;position:relative;display:inline-block}
.page-title::after{
  content:'';
  position:absolute;
  left:2px;
  right:12%;
  bottom:-8px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(211,92,47,.92), rgba(240,198,99,.32));
}
.topbar-right{display:flex;align-items:center;gap:10px}
.content{padding:26px 28px 30px}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);font-family:var(--mono);font-size:12px;cursor:pointer;border:1px solid transparent;transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;font-weight:500;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(180deg, #db6436, var(--accent));color:#fff;border-color:rgba(143,47,56,.3);box-shadow:0 14px 28px rgba(184,70,77,.18)}
.btn-primary:hover{background:var(--bento-cherry);border-color:var(--bento-cherry)}
.btn-primary::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.08) 42%, rgba(255,255,255,.42) 50%, rgba(255,255,255,.08) 58%, transparent 100%);
  transform:translateX(-115%) skewX(-18deg);
  pointer-events:none
}
.btn-primary:hover::after{animation:gentleSweep .8s ease}
.btn-ghost{background:rgba(255,251,245,.72);color:var(--ink2);border-color:rgba(236,215,196,.96)}
.btn-ghost:hover{background:rgba(247,236,222,.9)}
.btn-sm{padding:5px 10px;font-size:11px}
.btn-danger{background:var(--red-bg);color:var(--k-danger-fg);border-color:#fca5a5}
.btn-danger:hover{background:#fee2e2}
.btn-success{background:var(--green-bg);color:var(--k-positive-fg);border-color:#86efac}
.btn-success:hover{background:#d1fae5}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat-card{background:linear-gradient(180deg, rgba(255,252,247,.98), rgba(249,236,221,.94));border:1px solid rgba(236,215,196,.94);border-radius:18px;padding:16px 17px;box-shadow:0 16px 36px rgba(120,76,41,.08);position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg, rgba(211,92,47,.96), rgba(242,179,127,.24))}
.stat-card::after{content:'';position:absolute;inset:auto -26px -38px auto;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle, rgba(255,255,255,.52), transparent 68%);pointer-events:none}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 22px 40px rgba(120,76,41,.12)}
.stat-card[data-tone="calm"]::before{background:linear-gradient(90deg, rgba(72,104,67,.94), rgba(72,104,67,.14))}
.stat-card[data-tone="alert"]::before{background:linear-gradient(90deg, rgba(185,110,8,.94), rgba(240,198,99,.18))}
.stat-card[data-tone="muted"]::before{background:linear-gradient(90deg, rgba(110,75,94,.7), rgba(110,75,94,.1))}
.stat-card[data-tone="alert"]{animation:emberPulse 4.8s ease-in-out infinite}
.stat-val{font-family:var(--serif);font-size:31px;font-weight:300;color:var(--ink);line-height:1;letter-spacing:-.03em}
.stat-label{font-size:10px;color:var(--ink3);letter-spacing:.09em;text-transform:uppercase;margin-top:6px}
.stat-sub{font-size:11px;color:var(--ink3);margin-top:8px;line-height:1.55}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px;align-items:start}
.dashboard-stack{display:flex;flex-direction:column;gap:16px}
.dashboard-panel{background:linear-gradient(180deg, rgba(255,251,245,.92), rgba(250,239,226,.88));border:1px solid rgba(236,215,196,.96);border-radius:22px;padding:16px;box-shadow:0 18px 40px rgba(120,76,41,.07);position:relative;overflow:hidden;animation:adminPanelIn .44s ease both}
.dashboard-panel::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(145deg, rgba(255,255,255,.12), transparent 38%);
  pointer-events:none
}
.dashboard-panel-tight{padding:14px}
.dashboard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.dashboard-panel-title{font-family:var(--serif);font-size:19px;font-weight:300;letter-spacing:-.02em;margin:0}
.dashboard-panel-sub{font-size:11px;color:var(--ink3);margin-top:4px;line-height:1.5}
.dashboard-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-meta-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dashboard-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(255,252,247,.82);border:1px solid rgba(236,215,196,.94);font-size:11px;color:var(--ink2);line-height:1}
.dashboard-chip strong{font-weight:500;color:var(--ink)}
.dashboard-chip:hover{background:rgba(255,247,238,.96)}
.dashboard-sync{font-size:11px;color:var(--ink3)}
.dashboard-table .data-table th{background:rgba(242,237,230,.9)}
.dashboard-table .data-table td{background:transparent}
.dashboard-table .data-table tr:hover td{background:rgba(242,237,230,.72)}
.dashboard-empty{padding:38px 16px}

/* TABS */
.tabs{display:flex;gap:2px;background:linear-gradient(180deg, rgba(247,236,222,.94), rgba(244,228,211,.94));border-radius:var(--radius);padding:3px;margin-bottom:20px;width:fit-content;border:1px solid rgba(236,215,196,.86)}
.tab{
  padding:8px 14px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--ink2);transition:all .15s;
  background:none;border:none;font-family:var(--mono);min-height:40px
}
.tab.active{background:linear-gradient(180deg, rgba(255,252,247,.98), rgba(255,241,226,.96));color:var(--k-accent-text);box-shadow:0 6px 16px rgba(184,70,77,.1)}

/* TABLE */
.table-wrap{background:linear-gradient(180deg, rgba(255,253,249,.98), rgba(252,243,233,.94));border:1px solid rgba(236,215,196,.94);border-radius:var(--radius-lg);overflow:hidden}
.data-table{width:100%;border-collapse:collapse}
.data-table th{padding:10px 14px;text-align:left;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);background:var(--paper2);border-bottom:1px solid var(--paper3);font-weight:500}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--paper2);vertical-align:middle}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--paper2)}
.data-table tr{cursor:pointer}
.access-log-wrap{max-height:520px;overflow:auto}
.access-log-table{table-layout:fixed;width:100%}
.access-log-table th:nth-child(1),.access-log-table td:nth-child(1){width:130px;white-space:nowrap}
.access-log-table th:nth-child(3),.access-log-table td:nth-child(3){width:100px;white-space:nowrap}
.access-log-table td:nth-child(2),.access-log-table td:nth-child(4){overflow-wrap:anywhere;word-break:break-word}
.access-log-table td{vertical-align:top}
.staff-layout{display:grid;grid-template-columns:minmax(420px,560px) minmax(420px,1fr);gap:16px;align-items:start;width:100%}
.staff-list{display:flex;flex-direction:column;gap:10px}
.staff-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:linear-gradient(180deg, rgba(248,242,234,.92), rgba(255,250,244,.96));border:1px solid rgba(232,224,212,.94);border-radius:18px;font-size:12px;box-shadow:0 12px 28px rgba(75,53,31,.04)}
.staff-card.is-revoked{opacity:.68}
.staff-card-main{flex:1;min-width:0}
.staff-card-name{font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}
.staff-card-email{font-size:11px;color:var(--ink3);margin-top:3px;overflow-wrap:anywhere}
.staff-card-sub{font-size:10px;color:var(--ink3);margin-top:4px}
.staff-card-meta{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.staff-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.03em;border:1px solid transparent}
.staff-chip-admin{background:#dbeafe;color:#1e40af}
.staff-chip-frozen{background:#fef2f2;color:#991b1b}
.staff-chip-revoked{background:#f2ede6;color:#8a827a}
.staff-chip-staff{background:rgba(255,255,255,.74);color:var(--ink2);border-color:rgba(232,224,212,.92)}
.staff-card-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.staff-self-note{font-size:11px;color:var(--ink3);padding-top:4px}
.settings-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.settings-inline-form .form-input{flex:1;min-width:220px}
.settings-readonly{font-size:13px;color:var(--ink2);padding:8px 0;font-weight:500}
.settings-readonly-muted{font-weight:400}
.settings-divider-top{padding-top:10px;border-top:1px solid var(--paper3)}
.settings-empty{color:var(--ink3);font-size:12px}
.settings-error{color:var(--k-danger-fg);font-size:12px}
.settings-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.settings-status-copy{font-size:11px;color:var(--ink3);margin-bottom:10px}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:10px;font-weight:500;letter-spacing:.03em}
.badge-pending{background:var(--amber-bg);color:var(--k-pending-fg)}
.badge-confirmed{background:var(--green-bg);color:var(--k-positive-fg)}
.badge-cancelled{background:var(--paper3);color:var(--ink3)}
.badge-rejected{background:var(--red-bg);color:var(--k-danger-fg)}
.badge-noshow{background:#fdf4ff;color:#7e22ce}
.badge-expired{background:#f2ede6;color:#7d746a}
.badge-completed{background:var(--paper2);color:var(--ink3)}
.badge-seated{background:#e0f2fe;color:#0c4a6e}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(26,23,20,.55);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}
.modal{background:var(--paper);border-radius:var(--radius-lg);width:100%;max-width:620px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}
.modal-title{font-family:var(--serif);font-size:18px;font-weight:300}
.modal-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--ink3);padding:4px;border-radius:4px;line-height:1}
.modal-close:hover{color:var(--ink);background:var(--paper2)}
.modal-body{padding:20px 24px}
.modal-footer{padding:16px 24px;border-top:1px solid var(--paper2);display:flex;justify-content:flex-end;gap:8px}

/* FORMS */
.form-grid{display:grid;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-label{font-size:11px;color:var(--ink2);font-weight:500;letter-spacing:.03em}
.form-label span{color:var(--k-accent-text)}
.form-input{padding:8px 11px;border:1px solid var(--paper3);border-radius:var(--radius);font-family:var(--mono);font-size:13px;background:var(--paper);color:var(--ink);transition:border .15s;outline:none}
.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,82,42,.1)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a827a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}
.form-textarea{resize:vertical;min-height:70px}

/* SEARCH/FILTER BAR */
.filter-bar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.search-wrap{position:relative;flex:1;min-width:200px}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:13px}
.search-input{width:100%;padding:8px 11px 8px 32px;border:1px solid var(--paper3);border-radius:var(--radius);font-family:var(--mono);font-size:12px;background:var(--paper);color:var(--ink);outline:none}
.search-input:focus{border-color:var(--accent)}

/* BOOKINGS WORKSPACE */
.bookings-shell{display:flex;flex-direction:column;gap:16px}
.bookings-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.bookings-summary-card{padding:12px 16px;min-height:104px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .18s ease, box-shadow .18s ease}
.bookings-summary-card .stat-val{font-size:24px}
.bookings-summary-card .stat-val.emphasis-alert{color:var(--k-pending-fg)}
.bookings-summary-card .stat-val.emphasis-danger{color:var(--k-danger-fg)}
.bookings-summary-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(150,103,54,.12)}
.bookings-summary-card:nth-child(1){background:linear-gradient(180deg, #fff8e8, #fff3d6)}
.bookings-summary-card:nth-child(2){background:linear-gradient(180deg, #fff7f2, #fde8dd)}
.bookings-summary-card[data-tone="alert"]{background:linear-gradient(180deg, #fff6e6, #ffeac3)}
.bookings-summary-card[data-tone="muted"]{background:linear-gradient(180deg, #fff8f9, #fbe8ec)}
.bookings-toolbar{
  background:
    radial-gradient(circle at top right, rgba(211,92,47,.14), transparent 24%),
    radial-gradient(circle at 20% 120%, rgba(240,198,99,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,251,245,.96), rgba(250,237,221,.92));
  border:1px solid rgba(236,215,196,.96);border-radius:24px;padding:18px;
  box-shadow:0 18px 42px rgba(120,76,41,.08);content-visibility:auto;contain-intrinsic-size:200px;
  position:relative;overflow:hidden
}
.bookings-toolbar::after{
  content:'';
  position:absolute;
  inset:auto -36px -56px auto;
  width:180px;
  height:180px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.38), transparent 70%);
  pointer-events:none
}
.bookings-toolbar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.bookings-toolbar-title{font-family:var(--serif);font-size:20px;font-weight:300;letter-spacing:-.02em;margin:0}
.bookings-toolbar-sub{font-size:11px;color:var(--ink3);line-height:1.55;margin-top:4px;max-width:56ch}
.bookings-filter-stack{display:flex;flex-direction:column;gap:10px}
.bookings-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bookings-filter-primary{justify-content:space-between}
.bookings-filter-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bookings-filter-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bookings-filter-band{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-start;justify-content:space-between}
.bookings-filter-cluster{display:flex;gap:12px;flex-wrap:wrap;align-items:center;min-width:0;flex:1}
.bookings-filter-group-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-width:0}
.bookings-filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.bookings-section-tabs .tab{min-width:72px}
.bookings-range-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bookings-range-sep{color:var(--ink3);font-size:12px}
.filter-group{display:grid;gap:8px}
.filter-group-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.keyboard-hint{font-size:10px;color:var(--ink3)}
.bookings-table-panel{background:linear-gradient(180deg, rgba(255,253,249,.98), rgba(252,241,231,.9));border:1px solid rgba(236,215,196,.96);border-radius:24px;padding:12px;box-shadow:0 18px 42px rgba(120,76,41,.08);content-visibility:auto;contain-intrinsic-size:420px}
.bookings-table-panel .table-wrap{border:none;background:transparent}
.bookings-toolbar .tabs{background:linear-gradient(180deg, rgba(250,234,217,.9), rgba(246,226,206,.9));border:1px solid rgba(236,215,196,.96);padding:4px;border-radius:16px}
.bookings-toolbar .tab{border-radius:12px;padding:6px 12px}
.bookings-toolbar .tab.active{background:linear-gradient(180deg, rgba(255,252,247,.98), rgba(255,236,220,.96));color:var(--bento-cherry);box-shadow:0 8px 18px rgba(184,70,77,.12)}
.bookings-toolbar .tab:hover{color:var(--bento-cherry);background:rgba(255,248,239,.74)}
.bookings-toolbar .tabs[aria-label="Status filter"] .tab{min-width:80px}
.bookings-toolbar .tabs[aria-label="Section filter"] .tab{min-width:64px}
.bookings-table-panel .data-table thead th{background:linear-gradient(180deg, rgba(245,236,224,.96), rgba(241,232,220,.94))}
.bookings-table-panel .data-table tbody td{transition:background .18s ease, color .18s ease, box-shadow .18s ease}
.bookings-table-panel .data-table tbody td:first-child{color:var(--k-accent-text);font-weight:500}
.bookings-table-panel .data-table tbody tr:hover td{
  background:linear-gradient(90deg, rgba(255,241,226,.92), rgba(255,251,246,.98))
}
.bookings-table-panel .data-table tbody tr:hover td:first-child{
  box-shadow:inset 3px 0 0 rgba(200,82,42,.55)
}
.bookings-table-actions{display:flex;gap:4px;flex-wrap:wrap}
.returning-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1e40af;margin-left:5px;vertical-align:middle}
.status-inline-chip{display:inline-block;font-size:9px;padding:1px 6px;border-radius:8px;font-weight:500;margin-left:4px}
.status-inline-chip.change{background:#fff3cd;color:#854f0b}
.status-inline-chip.deposit-pending{background:#fef9ee;color:#854F0B}
.status-inline-chip.deposit-paid{background:#e8f5e9;color:#2d6a4f}
.table-ref{font-size:10px;font-family:var(--mono);color:var(--ink3)}
.row-subcopy{font-size:10px;color:var(--ink3);margin-top:1px}

/* FLOOR */
.floor-shell{display:flex;flex-direction:column;gap:14px}
.floor-toolbar{background:rgba(255,252,246,.9);border:1px solid rgba(232,224,212,.94);border-radius:22px;padding:16px;box-shadow:0 14px 32px rgba(75,53,31,.05)}
.floor-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.floor-toolbar-copy{display:flex;flex-direction:column;gap:4px}
.floor-toolbar-title{font-family:var(--serif);font-size:20px;font-weight:300;letter-spacing:-.02em;margin:0}
.floor-toolbar-sub{font-size:11px;color:var(--ink3);line-height:1.55}
.floor-control-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.floor-legend{display:flex;gap:14px;flex-wrap:wrap;padding:0 2px}
.floor-legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink3)}
.floor-legend-swatch{width:12px;height:12px;border-radius:4px}
.floor-stage{background:rgba(255,252,246,.9);border:1px solid rgba(232,224,212,.94);border-radius:22px;padding:12px;box-shadow:0 16px 38px rgba(75,53,31,.05);content-visibility:auto;contain-intrinsic-size:460px}
.floor-stage-canvas{position:relative;background:linear-gradient(180deg, rgba(242,237,230,.94), rgba(250,248,244,.96));border:1px solid var(--paper3);border-radius:18px;overflow:auto;min-height:420px}
.floor-edit-grid{display:flex;gap:16px;align-items:flex-start}
.floor-palette-col{width:154px;flex-shrink:0}
.floor-palette-title,.floor-plan-title{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-bottom:8px}
.floor-plan-title span{font-weight:400;text-transform:none;letter-spacing:0}

/* AUDIT LOG */
.audit-list{display:flex;flex-direction:column;gap:0}
.audit-item{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 14px;border-bottom:1px solid var(--paper2);font-size:12px}
.audit-item:last-child{border-bottom:none}
.audit-time{color:var(--ink3);font-size:11px}
.audit-action{color:var(--ink)}
.audit-who{color:var(--ink3);font-size:11px;margin-top:1px}
.audit-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}

/* TABLE MAP */
.table-map-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-bottom:20px}
.map-table{border:1.5px solid var(--paper3);border-radius:var(--radius);padding:10px 8px;text-align:center;cursor:pointer;transition:all .15s;background:var(--paper);position:relative}
.map-table:hover{border-color:var(--accent)}
.map-table.occupied{background:#fff5f0;border-color:var(--accent2)}
.map-table.available{background:var(--green-bg);border-color:#86efac}
.map-table.inactive{background:var(--paper2);opacity:.6}
.map-table-name{font-size:13px;font-weight:500;color:var(--ink)}
.map-table-cap{font-size:10px;color:var(--ink3);margin-top:2px}
.map-table-status{font-size:10px;margin-top:4px;font-weight:500}

/* BOOKING DETAIL */
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.detail-field{display:flex;flex-direction:column;gap:3px}
.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3)}
.detail-value{font-size:13px;color:var(--ink)}
.detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.detail-title-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.detail-ref{font-size:12px;color:var(--ink3);font-family:var(--mono)}
.detail-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.03em}
.detail-chip-returning{background:#dbeafe;color:#1e40af}
.detail-chip-new{background:#e8f5e9;color:#2d6a4f}
.detail-panel{background:linear-gradient(180deg, rgba(248,242,234,.82), rgba(255,250,244,.94));border:1px solid rgba(232,224,212,.92);border-radius:18px;padding:12px 14px;margin-bottom:10px}
.detail-panel-title{font-size:11px;font-weight:600;color:var(--ink);margin-bottom:6px}
.detail-note{font-size:12px;color:var(--ink2);line-height:1.6}
.detail-callout{border-radius:18px;padding:12px 14px;margin-bottom:10px;border:1px solid transparent}
.detail-callout-warning{background:#fff8e8;border-color:#f7e2b4;color:#6b4e16}
.detail-callout-meta{font-size:11px;margin-top:6px}
.detail-callout-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.detail-section-title{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3)}
.detail-section-note{font-size:10px;color:var(--ink3)}
.detail-textarea{width:100%;padding:10px 12px;border:1px solid var(--paper3);border-radius:14px;font-family:var(--mono);font-size:12px;background:rgba(255,252,246,.96);color:var(--ink);resize:vertical;min-height:56px;outline:none}
.detail-history-list{display:flex;flex-direction:column;gap:8px;margin-bottom:4px}
.detail-history-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:linear-gradient(180deg, rgba(248,242,234,.82), rgba(255,250,244,.94));border:1px solid rgba(232,224,212,.92);border-radius:16px;font-size:12px;cursor:pointer}
.detail-history-item-main{flex:1;min-width:0}
.detail-history-meta{color:var(--ink3);margin-left:8px}
.detail-history-more{font-size:11px;color:var(--ink3);padding:4px 10px}
.detail-deposit-card{background:linear-gradient(180deg, rgba(248,242,234,.82), rgba(255,250,244,.94));border:1px solid rgba(232,224,212,.92);border-radius:16px;padding:12px 14px;margin-bottom:4px;font-size:12px}
.detail-deposit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.detail-meta-footer{font-size:10px;color:var(--ink3)}
.detail-footer-actions{display:flex;gap:6px;flex-wrap:wrap;flex:1;align-items:center}
.detail-footer-secondary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.audit-timeline{margin-top:16px}
.timeline-item{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid var(--paper2);align-items:flex-start}
.timeline-item:last-child{border-bottom:none}
.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--accent2);margin-top:4px;flex-shrink:0;border:2px solid var(--accent)}
.tl-info{flex:1}
.tl-action{font-size:12px;color:var(--ink)}
.tl-meta{font-size:11px;color:var(--ink3);margin-top:1px}

/* EMPTY STATE */
.empty{text-align:center;padding:48px 20px;color:var(--ink3)}
.empty-icon{font-size:32px;margin-bottom:10px;opacity:.4}
.empty-text{font-size:14px;font-family:var(--serif);font-weight:300;color:var(--ink2)}
.empty-sub{font-size:12px;margin-top:4px}

/* NOTIFICATION */
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}
.toast{padding:11px 16px;background:var(--ink);color:var(--paper);border-radius:var(--radius);font-size:12px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px rgba(0,0,0,.2);animation:slideUp .2s ease}
.toast.success{background:var(--green)}
.toast.error{background:var(--red)}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* SECTION HEADER */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.section-title{font-family:var(--serif);font-size:17px;font-weight:300;letter-spacing:-.01em;margin:0}

/* PAGE LAYOUT */
.page-shell{
  width:min(100%,1180px);
  flex-direction:column;
  gap:18px;
  padding-left:12px;
  padding-right:4px
}
.page-shell > *{min-width:0}
.page-shell-medium{width:min(100%,980px)}
.page-shell-narrow{width:min(100%,760px)}
.page-surface{
  background:rgba(255,252,246,.9);
  border:1px solid rgba(232,224,212,.94);
  border-radius:24px;
  padding:18px 20px;
  box-shadow:0 16px 38px rgba(75,53,31,.05)
}
.page-surface .section-header:last-child{margin-bottom:0}
.page-surface.page-stack{gap:16px}

/* RESPONSIVE */
@media(max-width:768px){
  /* Layout */
  .app{grid-template-columns:1fr;height:100vh;height:100dvh;overflow:hidden;padding:0;gap:0}
  .sidebar{display:none}
  .main{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden}
  .content{padding:16px;overflow-x:hidden}
  .page{min-width:0}

  /* Stats */
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
  .stat-val{font-size:22px}

  /* Dashboard — stack today + activity vertically */
  .dashboard-grid{display:flex;flex-direction:column;gap:12px}
  .dashboard-panel{padding:14px}
  .dashboard-panel-head{margin-bottom:12px}
  .dashboard-meta,.dashboard-meta-strip{justify-content:flex-start}
  #page-dashboard .data-table thead{display:none}
  #page-dashboard .data-table,
  #page-dashboard .data-table tbody,
  #page-dashboard .data-table tr,
  #page-dashboard .data-table td{display:block;width:100%}
  #page-dashboard .data-table tbody{display:grid;gap:10px}
  #page-dashboard .data-table tr{
    border:1px solid rgba(232,224,212,.92);
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,252,246,.94);
    box-shadow:0 10px 24px rgba(75,53,31,.05)
  }
  #page-dashboard .data-table td{
    padding:10px 12px;
    border-bottom:1px solid rgba(232,224,212,.65);
    font-size:12px;
    min-width:0
  }
  #page-dashboard .data-table td:last-child{border-bottom:none}
  #page-dashboard .data-table td[data-label]{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    align-items:flex-start
  }
  #page-dashboard .data-table td[data-label]::before{
    content:attr(data-label);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink3)
  }

  /* Booking table — convert to stacked mobile cards */
  #page-bookings .data-table thead{display:none}
  #page-bookings .data-table,
  #page-bookings .data-table tbody,
  #page-bookings .data-table tr,
  #page-bookings .data-table td{display:block;width:100%}
  #page-bookings .data-table tbody{display:grid;gap:10px}
  #page-bookings .data-table tr{
    border:1px solid rgba(232,224,212,.92);
    border-radius:18px;
    overflow:hidden;
    background:rgba(255,252,246,.94);
    box-shadow:0 10px 24px rgba(75,53,31,.05)
  }
  #page-bookings .data-table td{
    padding:10px 12px;
    border-bottom:1px solid rgba(232,224,212,.65);
    font-size:12px;
    min-width:0
  }
  #page-bookings .data-table td:last-child{border-bottom:none}
  #page-bookings .data-table td[data-label]{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:10px;
    align-items:flex-start
  }
  #page-bookings .data-table td[data-label]::before{
    content:attr(data-label);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink3)
  }

  /* Filter bar — stack vertically */
  .filter-bar{flex-direction:column;align-items:stretch}
  .filter-bar .search-wrap{width:100%}
  .tabs{flex-wrap:wrap}
  .tab{font-size:11px;padding:5px 10px}

  /* Summary bar — scroll horizontally */
  #bookings-summary-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:0}
  #bookings-summary-bar .stat-card{min-width:0;padding:10px 12px}
  #bookings-summary-bar .stat-val{font-size:20px}
  .bookings-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:0}
  .bookings-summary-card{min-width:0;min-height:84px;padding:10px 12px}
  .bookings-toolbar{padding:14px}
  .bookings-toolbar-head{margin-bottom:10px}
  .bookings-toolbar-title{font-size:18px}
  .bookings-toolbar-sub{display:none}
  .bookings-filter-row,.bookings-range-wrap,.bookings-filter-tools,.bookings-filter-meta,.bookings-filter-band,.bookings-filter-cluster,.bookings-filter-actions{align-items:stretch}
  .bookings-filter-primary{flex-direction:column;align-items:stretch}
  .bookings-filter-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;width:100%}
  .bookings-filter-tools .btn{width:100%;justify-content:center}
  .bookings-filter-meta{width:100%;min-width:0}
  .bookings-range-wrap{width:100%;flex-direction:column;align-items:stretch}
  .bookings-filter-band{flex-direction:column;gap:8px}
  .bookings-filter-cluster{flex-direction:column;gap:8px;width:100%}
  .bookings-filter-group-inline{width:100%;flex-direction:column;align-items:flex-start;gap:6px}
  .bookings-filter-group-inline .tabs{
    width:100%;
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px
  }
  .bookings-filter-group-inline .tab{white-space:nowrap;flex:0 0 auto}
  .bookings-filter-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%}
  .bookings-filter-actions .btn{width:auto;flex-shrink:0;min-height:40px}
  .bookings-filter-group-inline .filter-group-label{font-size:9px}
  .keyboard-hint{display:none}
  #bookings-filter-summary{
    font-size:10px;
    min-width:0;
    padding:6px 10px;
    border:1px solid rgba(236,215,196,.92);
    border-radius:999px;
    background:rgba(255,252,247,.82);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
  }

  /* Forms */
  .form-row{grid-template-columns:1fr}
  .modal{margin:10px;max-width:calc(100vw - 20px) !important}
  .modal-body{padding:14px 16px}
  .modal-header{padding:14px 16px 0}
  .modal-footer{padding:12px 16px;flex-wrap:wrap;gap:6px}
  .detail-title-row,.detail-title-main,.detail-section-head,.detail-deposit-row,.settings-inline-form{align-items:stretch}
  .detail-footer-secondary{justify-content:flex-start}
  .settings-inline-form .form-input{min-width:0;width:100%}

  /* Detail grid */
  .detail-grid{grid-template-columns:1fr}

  /* Table allocation panel */
  .alloc-panel{max-height:200px}

  /* Floor view */
  #floor-canvas-view,#floor-canvas-edit{overflow-x:auto}
  .floor-toolbar{padding:12px 14px;border-radius:18px}
  .floor-toolbar-row,.floor-control-row{align-items:flex-start}
  .floor-toolbar-row{gap:10px}
  .floor-toolbar-copy{gap:2px}
  .floor-toolbar-title{font-size:17px}
  .floor-toolbar-sub{font-size:10px;line-height:1.45;max-width:none}
  .floor-control-row{width:100%;display:grid !important;grid-template-columns:1fr 1fr;gap:8px}
  .floor-control-row .form-input{width:100% !important;min-width:0}
  .floor-control-row .text-muted{grid-column:1 / -1;font-size:10px}
  .floor-live-tools{gap:10px;margin-bottom:10px}
  .floor-surface-head{padding:8px 10px}
  .floor-surface-title{font-size:11px}
  .floor-surface-sub{font-size:10px;line-height:1.4}
  .floor-walkin-body{padding:10px}
  .floor-walkin-grid{gap:6px}
  .floor-walkin-actions .btn{flex:1;justify-content:center}
  .floor-stage{padding:8px;border-radius:18px}
  .floor-stage-canvas{min-height:340px}
  .floor-edit-grid{flex-direction:column}
  .floor-palette-col{width:100%}

  /* Analytics charts — single column */
  #page-analytics .analytics-grid-wide,
  #page-analytics .analytics-grid-half{
    display:flex !important;flex-direction:column;gap:12px
  }

  /* Settings */
  .settings-shell{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:none;
    min-width:0;
    gap:12px
  }
  .settings-column{width:100%;min-width:0}
  .settings-section{
    width:100%;
    min-width:0;
    overflow:hidden;
    padding:14px;
    content-visibility:visible;
    contain-intrinsic-size:auto
  }
  .settings-row{flex-direction:column;align-items:flex-start;gap:8px}
  .settings-note,.settings-card,code,#cal-feed-url{overflow-wrap:anywhere;word-break:break-word}
  .settings-actions{flex-direction:column;align-items:stretch}
  .settings-actions .btn{width:100%;justify-content:center}
  .staff-layout{grid-template-columns:1fr;gap:12px}
  .staff-card{
    flex-direction:column;
    gap:12px;
    align-items:stretch
  }
  .staff-card-meta{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px
  }
  .staff-card-actions{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    justify-content:stretch
  }
  .staff-card-actions .btn{width:100%;justify-content:center;min-height:42px;padding:10px 12px}
  .staff-self-note{align-self:flex-start}
  .page-toolbar{
    flex-direction:column;
    align-items:stretch !important;
    gap:8px !important;
    margin-bottom:12px !important
  }
  .page-note-inline{display:none}
  #page-waitlist .page-toolbar .btn{width:100%;justify-content:center}
  #page-waitlist .table-wrap{padding:0}
  #page-waitlist .data-table thead{display:none}
  #page-waitlist .data-table,
  #page-waitlist .data-table tbody,
  #page-waitlist .data-table tr,
  #page-waitlist .data-table td{display:block;width:100%}
  #page-waitlist .data-table tbody{display:grid;gap:10px;padding:10px}
  #page-waitlist .data-table tr{
    border:1px solid rgba(232,224,212,.92);
    border-radius:16px;
    overflow:hidden;
    background:rgba(255,252,246,.94);
    box-shadow:0 10px 22px rgba(75,53,31,.05)
  }
  #page-waitlist .data-table td{
    padding:9px 11px;
    border-bottom:1px solid rgba(232,224,212,.65);
    font-size:12px;
    min-width:0
  }
  #page-waitlist .data-table td:last-child{border-bottom:none}
  #page-waitlist .data-table td[data-label]{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:10px;
    align-items:flex-start
  }
  #page-waitlist .data-table td[data-label]::before{
    content:attr(data-label);
    font-size:10px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--ink3)
  }
  #page-settings .settings-split,
  #page-settings .settings-inline-stack,
  #page-settings .settings-inline-actions,
  #page-settings .settings-note > div[style*="display:flex"],
  #page-settings .settings-card > div[style*="display:flex"],
  #page-settings div[style*="display:flex"][style*="gap:8px"],
  #page-settings div[style*="display:flex"][style*="gap:12px"]{
    flex-direction:column !important;
    align-items:stretch !important
  }
  #page-settings div[style*="display:flex"][style*="align-items:center"]{
    align-items:stretch !important
  }
  #page-settings #custom-range-inputs{width:100%;flex-direction:column !important;align-items:stretch !important}
  #page-settings #custom-range-inputs .form-input{width:100% !important}
  #page-settings .settings-fit-btn,
  #page-settings .btn[style*="width:fit-content"]{width:100% !important;justify-content:center}

  /* New booking page */
  #page-new-booking > .page-surface{max-width:100%}

  /* Tables page */
  .table-cards-grid{grid-template-columns:1fr 1fr}

  /* Topbar */
  .topbar{padding:12px 16px}
  .page-title{font-size:18px}
  .page-shell{width:100%;min-width:0;padding-left:0;padding-right:0;gap:14px}
  .page-surface{padding:14px}
}

@media(max-width:400px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .table-cards-grid{grid-template-columns:1fr}
  .time-slots{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Mobile nav bottom bar — shows on mobile instead of sidebar */
@media(max-width:768px){
  .mobile-nav{
    display:flex;position:fixed;bottom:0;left:0;right:0;
    background:linear-gradient(180deg, rgba(255,250,243,.96), rgba(248,233,216,.94));border-top:1px solid rgba(236,215,196,.96);
    backdrop-filter:blur(12px);
    z-index:50;padding:0 0 env(safe-area-inset-bottom) 0;height:calc(60px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 28px rgba(120,76,41,.1)
  }
  .mobile-nav-item{
    flex:1;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:2px;cursor:pointer;
    color:var(--ink3);font-size:9px;letter-spacing:.03em;text-transform:uppercase;
    transition:color .15s, transform .15s;padding:8px 0;
    background:none;border:none;font-family:var(--mono)
  }
  .mobile-nav-item.active{color:var(--k-accent-text)}
  .mobile-nav-item:hover{color:var(--ink2)}
  .mobile-nav-item.active .mobile-nav-icon{transform:translateY(-1px) scale(1.08)}
  .mobile-nav-icon{font-size:16px;line-height:1}
  .mobile-menu-item{
    display:flex;align-items:center;gap:14px;padding:13px 20px;
    color:var(--ink2);font-size:14px;font-family:var(--mono);cursor:pointer;
    transition:background .1s;background:none;border:none;width:100%;text-align:left
  }
  .mobile-menu-item:hover{background:rgba(211,92,47,.09)}
  .content{padding-bottom:calc(72px + env(safe-area-inset-bottom))} /* room for nav bar + iOS home indicator */
}
@media(min-width:769px){
  .mobile-nav{display:none}
}

/* MISC */
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:20px;font-size:10px;background:var(--paper2);color:var(--ink2)}
.text-muted{color:var(--ink3)}
.text-sm{font-size:11px}

/* TABLE ALLOCATION PANEL */
.alloc-panel{background:var(--paper2);border-radius:var(--radius);overflow:hidden;margin-top:12px}
.alloc-section-tabs{display:flex;border-bottom:1px solid var(--paper3)}
.alloc-tab{padding:7px 14px;font-size:11px;cursor:pointer;color:var(--ink3);border-bottom:2px solid transparent;transition:all .15s}
.alloc-tab.active{color:var(--ink);border-bottom-color:var(--accent)}
.alloc-table-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--paper2);cursor:pointer;transition:background .1s}
.alloc-table-item:last-child{border-bottom:none}
.alloc-table-item:hover{background:var(--paper3)}
.alloc-table-item.selected{background:#fff5f0;border-left:3px solid var(--accent)}
.alloc-table-item.taken{opacity:.7}
.alloc-check{width:16px;height:16px;border:1.5px solid var(--paper3);border-radius:3px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px}
.alloc-check.checked{background:var(--accent);border-color:var(--accent);color:white}
.alloc-name{font-size:12px;font-weight:500;color:var(--ink);flex:1}
.alloc-cap{font-size:11px;color:var(--ink3)}
.alloc-status{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:500}
.alloc-free{background:var(--green-bg);color:var(--k-positive-fg)}
.alloc-taken{background:var(--red-bg);color:var(--k-danger-fg)}
.alloc-warn{background:var(--amber-bg);color:var(--k-pending-fg)}

/* ACTION MENU */
.action-menu{position:relative;display:inline-block}
.action-menu-dropdown{position:absolute;right:0;top:100%;margin-top:4px;background:var(--paper);border:1px solid var(--paper3);border-radius:var(--radius);box-shadow:0 4px 16px rgba(0,0,0,.12);z-index:50;min-width:180px;overflow:hidden}
.action-menu-item{display:flex;align-items:center;gap:8px;padding:9px 14px;font-size:12px;cursor:pointer;color:var(--ink2);transition:background .1s;background:none;border:none;width:100%;font-family:var(--mono);text-align:left}
.action-menu-item:hover{background:var(--paper2)}
.action-menu-item.danger{color:var(--k-danger-fg)}
.action-menu-item.danger:hover{background:var(--red-bg)}
.action-menu-divider{border:none;border-top:1px solid var(--paper2);margin:3px 0}

/* BEFORE YOU BOOK MODAL */
.byb-overlay{position:fixed;inset:0;background:rgba(26,23,20,.6);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.byb-card{background:var(--paper);border-radius:var(--radius-lg);padding:32px;max-width:440px;width:100%}
.byb-title{font-family:var(--serif);font-size:20px;font-weight:300;margin-bottom:12px}
.byb-body{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:20px;white-space:pre-wrap}

/* BLOCKOUT DATE ITEM */
.blockout-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--paper2);border-radius:var(--radius);font-size:12px;min-width:0}
.blockout-item.is-editing{display:block;padding:10px}
.blockout-date{font-weight:500;color:var(--ink);min-width:0}
.blockout-reason{color:var(--ink3);flex:1;min-width:0;overflow-wrap:anywhere}
.blockout-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}
.blockout-edit-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(92px,.7fr) minmax(92px,.7fr);gap:8px;align-items:center;width:100%;max-width:100%}
.blockout-edit-form .form-input{min-height:34px;font-size:12px;width:100%;min-width:0}
.blockout-edit-form .blockout-reason-input{grid-column:1/-1}
.blockout-edit-form .blockout-actions{grid-column:1/-1;justify-content:flex-end;margin-left:0;width:100%}
.time-blockout-new-form{display:grid;grid-template-columns:minmax(130px,1fr) minmax(92px,.7fr) minmax(92px,.7fr);gap:8px;align-items:center}
.time-blockout-new-form .form-input{width:100%!important;min-width:0!important}
.time-blockout-new-form #new-tb-reason{grid-column:1 / span 2}
.time-blockout-new-form .btn{justify-self:start}
@media (max-width:760px){.blockout-item{flex-direction:column;align-items:stretch}.blockout-actions{width:100%;margin-left:0}.blockout-edit-form,.time-blockout-new-form{grid-template-columns:1fr 1fr}.blockout-edit-form .blockout-actions,.blockout-edit-form .blockout-reason-input,.time-blockout-new-form #new-tb-reason{grid-column:1/-1}}
.divider{border:none;border-top:1px solid var(--paper2);margin:16px 0}
.actions-row{display:flex;gap:6px;flex-wrap:wrap}
a{color:var(--k-accent-text);text-decoration:none}
a:hover{text-decoration:underline}

/* AUTH GATE */
.auth-gate{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(232,196,160,.45), transparent 25%),
    linear-gradient(180deg, #fffdf9 0%, var(--paper) 52%, #f6f0e8 100%);
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:20px
}
.auth-card{
  background:rgba(255,252,246,.95);
  border:1px solid rgba(232,224,212,.95);
  border-radius:24px;
  padding:36px 34px;
  width:360px;
  max-width:100%;
  text-align:center;
  box-shadow:0 26px 60px rgba(75,53,31,.12)
}
.auth-logo{font-family:var(--serif);font-size:31px;font-weight:300;color:var(--ink);margin-bottom:6px;letter-spacing:-.03em}
.auth-sub{font-size:10px;color:var(--ink3);letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px}
.auth-input{width:100%;padding:13px 14px;background:rgba(255,255,255,.76);border:1px solid rgba(232,224,212,.96);border-radius:14px;font-family:var(--mono);font-size:14px;color:var(--ink);outline:none;text-align:center;letter-spacing:.03em;margin-bottom:12px}
.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,82,42,.08)}
.auth-btn{width:100%;padding:12px;background:linear-gradient(180deg, #cf6138, var(--accent));color:white;border:none;border-radius:14px;font-family:var(--mono);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,transform .15s;box-shadow:0 12px 26px rgba(200,82,42,.18)}
.auth-btn:hover{background:linear-gradient(180deg, #d56a42, #bd4a22);transform:translateY(-1px)}
.auth-error{font-size:11px;color:#b91c1c;margin-top:8px;min-height:16px}
.auth-hint{font-size:10px;color:var(--ink3);margin-top:16px}

/* SUPABASE STATUS */
.db-status{display:flex;align-items:center;gap:6px;font-size:10px;padding:3px 8px;border-radius:20px;background:rgba(255,255,255,.05);color:#8a827a}
.db-dot{width:6px;height:6px;border-radius:50%;background:#555;flex-shrink:0}
.db-dot.live{background:#2d6a4f}
.db-dot.local{background:#b5620a}
.db-dot.down{background:#991b1b}

/* TABLE MGMT */
.table-card{background:var(--paper);border:1px solid var(--paper3);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:10px}
.table-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}
.table-type-badge{font-size:10px;padding:2px 8px;border-radius:20px;background:var(--paper2);color:var(--ink2);width:fit-content}
.section-tag{font-size:10px;padding:2px 7px;border-radius:20px;font-weight:500}
.section-indoor{background:#dbeafe;color:#1e40af}
.section-outdoor{background:#d1fae5;color:#065f46}
.section-bar{background:#fef3c7;color:#92400e}

/* FLOOR GRID */
.floor-cell{border:1px dashed transparent;transition:background .1s;position:relative;box-sizing:border-box}
.floor-cell.drag-over{background:rgba(200,82,42,.08);border-color:rgba(200,82,42,.4) !important}
.floor-tile{position:absolute;inset:3px;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;user-select:none;transition:box-shadow .15s;border:1.5px solid var(--paper3);background:var(--paper);text-align:center;padding:4px}
.floor-tile.ft-free{background:var(--green-bg);border-color:#86efac;cursor:pointer}
.floor-tile.ft-free:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}
.floor-tile.ft-occupied{background:#fff5f0;border-color:var(--accent2);cursor:pointer}
.floor-tile.ft-occupied:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}
.floor-tile.ft-pending{background:var(--amber-bg);border-color:var(--amber-b);cursor:pointer}
.floor-tile.ft-edit{cursor:grab;background:var(--paper);border-color:var(--paper3)}
.floor-tile.ft-edit:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.1)}
.floor-tile.ft-edit:active{cursor:grabbing}
.floor-tile.drag-over{outline:2px dashed var(--accent);outline-offset:1px}
.floor-tile-name{font-size:11px;font-weight:500;color:var(--ink);line-height:1.2}
.floor-tile-cap{font-size:9px;color:var(--ink3);margin-top:1px}
.floor-tile-guest{font-size:9px;font-weight:500;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}
.floor-booking-row.dragging{opacity:.55}
.floor-live-tools{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:12px;margin-bottom:12px}
.floor-walkin-body{padding:12px}
.floor-walkin-shortcuts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.floor-walkin-shortcut-row{display:flex;gap:8px;flex-wrap:wrap}
.floor-walkin-shortcut-row .btn{flex:1;justify-content:center;min-width:90px}
.floor-walkin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.floor-walkin-grid .full{grid-column:1/-1}
.floor-surface-head{padding:10px 12px;border-bottom:1px solid var(--paper3);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.floor-surface-title{font-size:12px;font-weight:500}
.floor-surface-sub{font-size:11px;color:var(--ink3);line-height:1.5}
.floor-walkin-actions{display:flex;gap:8px;flex-wrap:wrap}
.floor-audit-panel{border-top:1px solid var(--paper3);padding:12px}
.floor-audit-list{display:flex;flex-direction:column;gap:8px}
.floor-audit-item{border:1px solid var(--paper3);border-radius:16px;padding:10px 12px;background:rgba(255,252,246,.72);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.floor-audit-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.floor-audit-title{font-size:12px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.floor-audit-meta{font-size:11px;color:var(--ink3);line-height:1.5}
.floor-audit-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.floor-audit-actions .btn{min-width:68px;justify-content:center}
@media (max-width:1100px){
  .floor-live-tools{grid-template-columns:1fr}
  .floor-walkin-grid{grid-template-columns:1fr}
  .floor-walkin-shortcut-row .btn{min-width:0}
  .floor-audit-item{flex-direction:column}
  .floor-audit-actions{width:100%;justify-content:flex-start}
}
.palette-tile{background:var(--paper);border:1.5px solid var(--paper3);border-radius:var(--radius);padding:7px 8px;cursor:grab;user-select:none;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:4px;transition:all .15s}
.palette-tile:hover{border-color:var(--accent);background:#fff9f7}
.palette-tile.placed{opacity:.35;cursor:default}
.palette-tile-name{font-weight:500;color:var(--ink)}
.palette-tile-cap{font-size:10px;color:var(--ink3)}

/* PUBLIC BOOKING FORM */
.public-wrap{max-width:500px;margin:0 auto;padding:40px 20px}
.public-logo{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--ink);margin-bottom:6px}
.public-sub{font-size:13px;color:var(--ink3);margin-bottom:30px}
.pub-card{background:var(--paper);border:1px solid var(--paper3);border-radius:var(--radius-lg);padding:28px}
.pub-success{text-align:center;padding:32px}
.pub-success-icon{font-size:40px;margin-bottom:12px}
.pub-success-title{font-family:var(--serif);font-size:22px;font-weight:300;margin-bottom:8px}

/* SETTINGS */
.settings-shell{max-width:980px;width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:16px;align-items:start}
.settings-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.settings-section{background:linear-gradient(180deg, rgba(255,251,245,.94), rgba(250,239,226,.9));border:1px solid rgba(236,215,196,.96);border-radius:22px;padding:20px;margin-bottom:0;box-shadow:0 16px 34px rgba(120,76,41,.06);content-visibility:auto;contain-intrinsic-size:320px}
.settings-section:hover{box-shadow:0 20px 40px rgba(120,76,41,.09)}
.settings-title{font-family:var(--serif);font-size:20px;font-weight:300;margin:0 0 10px;color:var(--ink);letter-spacing:-.02em}
.settings-copy{font-size:11px;color:var(--ink3);line-height:1.6;margin-bottom:14px}
.settings-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--paper2)}
.settings-row:last-child{border-bottom:none}
.toggle{position:relative;width:44px;height:26px;cursor:pointer;display:inline-block;overflow:hidden;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0;position:absolute}
.toggle-track{position:absolute;inset:0;background:var(--paper3);border-radius:999px;transition:.2s;overflow:hidden}
.toggle input:checked+.toggle-track{background:var(--green)}
.toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked~.toggle-thumb{transform:translateX(18px)}
.settings-note{background:linear-gradient(180deg, rgba(250,238,224,.94), rgba(247,231,212,.9));border:1px solid rgba(236,215,196,.94);border-radius:16px;padding:14px 16px;font-size:12px;line-height:1.65;color:var(--ink2)}
.settings-note.info{background:#eef5ff;border-color:#cfe0fb;color:#1f4f8a}
.settings-note-spaced{margin-bottom:20px}
.settings-note-compact{margin-bottom:14px}
.settings-note-warning{margin-top:12px;color:var(--k-pending-fg);background:var(--amber-bg);border-color:var(--amber-b)}
.settings-actions{display:flex;gap:8px;flex-wrap:wrap}
.settings-split{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.settings-split-main{flex:1;min-width:220px}
.settings-toggle-wrap{display:flex;align-items:center;gap:8px;cursor:pointer;flex-shrink:0}
.settings-switch-ui{position:relative;width:44px;height:26px}
.settings-switch-ui input{opacity:0;width:100%;height:100%;position:absolute;cursor:pointer;z-index:1;margin:0}
.settings-switch-track{position:absolute;inset:0;background:var(--paper3);border-radius:999px;transition:background .2s}
.settings-switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;background:white;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.settings-inline-stack{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.settings-inline-stack > *{min-width:0}
.settings-inline-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.settings-fit-btn{width:fit-content}
.settings-muted{font-size:11px;color:var(--ink3);line-height:1.6}
.settings-card{background:linear-gradient(180deg, rgba(250,239,226,.94), rgba(246,230,211,.92));border:1px solid rgba(236,215,196,.94);border-radius:16px;padding:12px 14px}
.settings-card-spaced{margin-top:12px}
.settings-card-tight{margin-bottom:12px}
.settings-mini-title{font-size:11px;font-weight:500;margin-bottom:6px}
.settings-mini-copy{font-size:11px;color:var(--ink3);margin-bottom:14px}
.settings-copy-hint{font-size:11px;color:var(--ink3);margin-top:4px}

@media(max-width:768px){
  #page-settings{
    width:100%;
    min-width:0
  }
  #page-settings.settings-shell,
  #page-settings .settings-shell{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    gap:10px !important
  }
  #page-settings .settings-column{
    display:flex;
    flex-direction:column;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    gap:10px
  }
  #page-settings .settings-section{
    width:100%;
    min-width:0;
    overflow:hidden;
    padding:14px 14px 15px;
    border-radius:18px;
    content-visibility:visible;
    contain-intrinsic-size:auto
  }
  #page-settings .settings-title{
    font-size:18px;
    margin-bottom:8px
  }
  #page-settings .settings-copy{
    font-size:10px;
    line-height:1.55;
    margin-bottom:12px
  }
  #page-settings .settings-row{
    flex-direction:column;
    align-items:flex-start;
    gap:8px
  }
  #page-settings .form-row{grid-template-columns:1fr}
  #page-settings .settings-split,
  #page-settings .settings-inline-stack,
  #page-settings .settings-inline-actions,
  #page-settings .settings-note > div[style*="display:flex"],
  #page-settings .settings-card > div[style*="display:flex"],
  #page-settings div[style*="display:flex"][style*="gap:8px"],
  #page-settings div[style*="display:flex"][style*="gap:12px"]{
    flex-direction:column !important;
    align-items:stretch !important
  }
  #page-settings div[style*="display:flex"][style*="align-items:center"]{
    align-items:stretch !important
  }
  #page-settings #custom-range-inputs{
    width:100%;
    flex-direction:column !important;
    align-items:stretch !important
  }
  #page-settings #custom-range-inputs .form-input{width:100% !important}
  #page-settings .settings-fit-btn,
  #page-settings .btn[style*="width:fit-content"]{
    width:100% !important;
    justify-content:center
  }
  #page-settings .settings-note,
  #page-settings .settings-card,
  #page-settings code,
  #page-settings #cal-feed-url{
    overflow-wrap:anywhere;
    word-break:break-word
  }
  #page-settings .settings-note,
  #page-settings .settings-card{
    padding:12px 12px 13px;
    border-radius:14px
  }
  #page-settings .settings-mini-title{
    font-size:10px;
    margin-bottom:5px
  }
  #page-settings .settings-mini-copy,
  #page-settings .settings-muted{
    font-size:10px;
    line-height:1.55
  }
  #page-settings .settings-actions{
    flex-direction:column;
    align-items:stretch
  }
  #page-settings .settings-actions .btn{
    width:100%;
    justify-content:center
  }
  #page-settings #cal-subscribe-btns{
    gap:8px
  }
  #page-settings #cal-feed-url{
    display:block;
    width:100%;
    font-size:10px !important;
    line-height:1.5
  }
  #page-settings #gcal-sync-status{
    display:block;
    margin:8px 0 0 !important
  }
}

.pax-selector{display:flex;align-items:center;gap:8px}
.pax-btn{width:40px;height:40px;border:1px solid var(--paper3);border-radius:10px;background:var(--paper);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:all .15s}
.pax-btn:hover{background:var(--paper2)}
.pax-val{font-size:16px;font-weight:500;min-width:24px;text-align:center}
.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px}
.analytics-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap}
.analytics-card{padding:18px}
.analytics-card-title{font-size:12px;font-weight:500;margin-bottom:14px}
.analytics-revenue{padding:14px 18px;margin-bottom:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.analytics-revenue-input{width:64px;padding:4px 8px;border:1px solid var(--paper3);border-radius:var(--radius);font-family:var(--mono);font-size:13px;background:var(--paper);color:var(--ink)}
.analytics-revenue-output{font-size:14px;font-weight:500;color:var(--ink2)}

.time-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.time-slot{padding:7px 4px;border:1px solid var(--paper3);border-radius:var(--radius);text-align:center;cursor:pointer;font-size:12px;transition:all .15s;background:var(--paper)}
.time-slot:hover{border-color:var(--accent);color:var(--k-accent-text)}
.time-slot.selected{background:var(--accent);color:white;border-color:var(--accent)}
.time-slot.unavail{opacity:.4;cursor:not-allowed;pointer-events:none}

.page{display:none}
.page.active{display:block}
.page.active.page-shell{display:flex}

/* STATUS COLORS in table */
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}
.dot-pending{background:var(--amber)}
.dot-confirmed{background:var(--green)}
.dot-cancelled,.dot-completed{background:var(--ink3)}
.dot-expired{background:#8f8579}
.dot-rejected{background:var(--red)}
.dot-noshow{background:#7e22ce}
.dot-seated{background:#0c4a6e}

/* MENU PAGE (Order & Pay Phase 1, PR-B) */
.menu-categories-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.menu-category-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--paper);border:1px solid var(--paper3);border-radius:8px;font-size:13px}
.menu-category-card.menu-row-inactive{opacity:.55;background:var(--paper2)}
.menu-category-card .menu-category-name{flex:1;font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-category-card .menu-category-meta{font-size:11px;color:var(--ink3);font-family:var(--mono);white-space:nowrap}
.menu-category-card .menu-category-actions{display:flex;gap:4px;flex-shrink:0}
.menu-items-list{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--paper3);border-radius:8px;overflow:hidden;background:var(--paper)}
.menu-row{display:grid;grid-template-columns:48px 1fr auto auto auto;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--paper3)}
.menu-row:last-child{border-bottom:none}
.menu-row.menu-row-inactive{opacity:.55;background:var(--paper2)}
.menu-row-thumb{width:48px;height:48px;border-radius:6px;background:var(--paper2) center/cover no-repeat;border:1px solid var(--paper3);flex-shrink:0;font-size:10px;display:flex;align-items:center;justify-content:center;color:var(--ink4);font-family:var(--mono);text-transform:uppercase}
.menu-row-body{min-width:0}
.menu-row-name{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--ink);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-row-meta{font-size:11px;color:var(--ink3);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;gap:8px;flex-wrap:wrap}
.menu-row-meta .menu-row-tag{padding:1px 6px;border:1px solid var(--paper3);border-radius:10px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.menu-row-price{font-family:var(--font-mono);font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}
.menu-row-pill{font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:10px;border:1px solid var(--paper3);color:var(--ink2);white-space:nowrap}
.menu-row-pill.menu-row-pill-bar{background:rgba(196,88,93,.08);border-color:rgba(196,88,93,.32);color:var(--bento-cherry,var(--ink2))}
.menu-row-pill.menu-row-pill-dessert{background:rgba(242,203,119,.18);border-color:rgba(242,203,119,.5)}
.menu-row-pill.menu-row-unavailable{background:var(--paper3);color:var(--ink3);border-color:var(--paper3)}
.menu-row-actions{display:flex;gap:4px;flex-shrink:0}
.menu-empty{padding:32px 20px;text-align:center;color:var(--ink3);font-size:13px;font-style:italic}
.menu-dietary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;padding:8px;border:1px solid var(--paper3);border-radius:6px;background:var(--paper2)}
.menu-dietary-grid label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;font-family:var(--mono)}
@media (max-width:760px){
  .menu-row{grid-template-columns:40px 1fr auto;gap:10px;padding:10px 12px}
  .menu-row-thumb{width:40px;height:40px}
  .menu-row-pill,.menu-row-actions{grid-column:2/4;justify-self:start}
  .menu-row-actions{margin-top:4px}
  .menu-row-price{grid-column:3/4;grid-row:1/2;align-self:start}
}
/* Shared guest-field messages in the legacy public preview form. */
.form-error { display:none; color:var(--k-danger-fg); font-size:12px; margin-top:4px; }
.form-error.visible { display:block; }
