/* TABLIVA DESIGN SYSTEM — foundation phase 1 */
@font-face{font-family:"Inter Tabliva";font-style:normal;font-weight:100 900;font-display:swap;src:url("/assets/fonts/inter-latin-wght-normal.woff2") format("woff2-variations")}
@font-face{font-family:"Fredoka Tabliva";font-style:normal;font-weight:300 700;font-display:swap;src:url("/assets/fonts/fredoka-latin-wght-normal.woff2") format("woff2-variations")}
:root{
  --tl-brand:#e83214;
  --tl-brand-hover:#b8220f;
  --tl-brand-active:#941b0c;
  --tl-orange:#f57c00;
  --tl-yellow:#f8b51b;
  --tl-brown:#321b11;
  --tl-ink:#241b17;
  --tl-ink-soft:#493b34;
  --tl-muted:#74665e;
  --tl-muted-light:#a89a91;
  --tl-border:#eadcc8;
  --tl-border-strong:#d7ccc2;
  --tl-soft:#f6f0e9;
  --tl-cream:#fff8ec;
  --tl-surface:#fffcf7;
  --tl-white:#fff;
  --tl-success-bg:#e9f4d7;
  --tl-success:#3f7c22;
  --tl-waiting-bg:#fff0cf;
  --tl-waiting:#b56700;
  --tl-info-bg:#e6ecfa;
  --tl-info:#345cb5;
  --tl-occupied-bg:#fbe2de;
  --tl-occupied:#c43c2a;
  --tl-vip-bg:#eee1f8;
  --tl-vip:#7a3aa5;
  --tl-error-bg:#fce5e2;
  --tl-error:#b92b22;
  --tl-font-ui:"Inter Tabliva",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --tl-font-display:"Fredoka Tabliva","Inter Tabliva",ui-sans-serif,system-ui,sans-serif;
  --tl-shadow-sm:0 6px 18px rgba(50,27,17,.07);
  --tl-shadow:0 18px 40px rgba(50,27,17,.10);
  --tl-radius-sm:10px;
  --tl-radius:16px;
  --tl-control-height:44px;
  --bg:var(--tl-cream);
  --panel:var(--tl-surface);
  --soft:var(--tl-soft);
  --text:var(--tl-ink);
  --muted:var(--tl-muted);
  --border:var(--tl-border);
  --primary:var(--tl-brand);
  --primary-hover:var(--tl-brand-hover);
  --success:var(--tl-success);
  --danger:var(--tl-error);
  --sidebar:var(--tl-brown);
  --sidebar-text:#f1dfcf;
  --shadow:var(--tl-shadow);
  --radius:var(--tl-radius);
}
[hidden]{display:none!important}
.tl-icon{display:inline-block;flex:0 0 auto;width:1.15em;height:1.15em;background:currentColor;vertical-align:-.18em;mask:center/contain no-repeat var(--tl-icon);-webkit-mask:center/contain no-repeat var(--tl-icon)}
.tl-icon-layout-dashboard{--tl-icon:url("/assets/icons/lucide/layout-dashboard.svg")}
.tl-icon-calendar-days{--tl-icon:url("/assets/icons/lucide/calendar-days.svg")}
.tl-icon-chart{--tl-icon:url("/assets/icons/lucide/chart-no-axes-column.svg")}
.tl-icon-service{--tl-icon:url("/assets/icons/lucide/zap.svg")}
.tl-icon-layout-grid{--tl-icon:url("/assets/icons/lucide/layout-grid.svg")}
.tl-icon-plus{--tl-icon:url("/assets/icons/lucide/plus.svg")}
.tl-icon-waitlist{--tl-icon:url("/assets/icons/lucide/clipboard-list.svg")}
.tl-icon-clock{--tl-icon:url("/assets/icons/lucide/clock-3.svg")}
.tl-icon-settings{--tl-icon:url("/assets/icons/lucide/settings.svg")}
.tl-icon-agent{--tl-icon:url("/assets/icons/lucide/sparkles.svg")}
.tl-icon-store{--tl-icon:url("/assets/icons/lucide/store.svg")}
.tl-icon-user{--tl-icon:url("/assets/icons/lucide/user.svg")}
.tl-icon-log-out{--tl-icon:url("/assets/icons/lucide/log-out.svg")}
.tl-icon-menu{--tl-icon:url("/assets/icons/lucide/menu.svg")}
.tl-icon-list{--tl-icon:url("/assets/icons/lucide/list.svg")}
.tl-icon-phone{--tl-icon:url("/assets/icons/lucide/phone.svg")}
.tl-icon-mail{--tl-icon:url("/assets/icons/lucide/mail.svg")}
.tl-icon-more{--tl-icon:url("/assets/icons/lucide/ellipsis.svg")}
.tl-icon-search{--tl-icon:url("/assets/icons/lucide/search.svg")}
.tl-icon-filters{--tl-icon:url("/assets/icons/lucide/sliders-horizontal.svg")}
.tl-icon-people{--tl-icon:url("/assets/icons/lucide/users-round.svg")}
.tl-icon-alert{--tl-icon:url("/assets/icons/lucide/circle-alert.svg")}
.tl-icon-warning{--tl-icon:url("/assets/icons/lucide/triangle-alert.svg")}
.tl-icon-ban{--tl-icon:url("/assets/icons/lucide/ban.svg")}
.tl-icon-pause{--tl-icon:url("/assets/icons/lucide/pause.svg")}
.tl-icon-play{--tl-icon:url("/assets/icons/lucide/play.svg")}
.tl-icon-check{--tl-icon:url("/assets/icons/lucide/circle-check.svg")}
.tl-icon-refresh{--tl-icon:url("/assets/icons/lucide/refresh-cw.svg")}
.tl-icon-maximize{--tl-icon:url("/assets/icons/lucide/maximize.svg")}
.tl-icon-minimize{--tl-icon:url("/assets/icons/lucide/minimize.svg")}
.tl-icon-table{--tl-icon:url("/assets/icons/lucide/table-2.svg")}
.tl-icon-message{--tl-icon:url("/assets/icons/lucide/message-square-text.svg")}
.tl-icon-tag{--tl-icon:url("/assets/icons/lucide/tag.svg")}
.tl-icon-note{--tl-icon:url("/assets/icons/lucide/notebook-pen.svg")}
.tl-icon-print{--tl-icon:url("/assets/icons/lucide/printer.svg")}
.tl-icon-edit{--tl-icon:url("/assets/icons/lucide/pencil.svg")}
.tl-icon-close{--tl-icon:url("/assets/icons/lucide/circle-x.svg")}
.nav-icon .tl-icon{width:20px;height:20px;vertical-align:middle}.btn>.tl-icon,.reservation-view-button>.tl-icon{width:17px;height:17px}.reservation-slot-icon>.tl-icon,.reservation-card-menu>summary>.tl-icon{width:16px;height:16px;vertical-align:middle;pointer-events:none}

body{background:var(--tl-cream);color:var(--tl-ink);font-family:var(--tl-font-ui)}
.page-title,.section-title,.brand-text strong,.stat-value,.reservation-slot-time,.reservation-slot-table{font-family:var(--tl-font-display)}

:where(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid rgba(245,124,0,.42);
  outline-offset:2px;
}

.sidebar{background:linear-gradient(180deg,var(--tl-brown),#24130d 82%);box-shadow:8px 0 30px rgba(50,27,17,.12)}
.brand-logo{background:var(--tl-brand);color:#fff;box-shadow:0 5px 14px rgba(232,50,20,.28)}
.brand-text span{color:#d8c1b0}
.nav-btn:hover,.nav-btn.active,.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.10);color:#fff}
.nav-btn.active,.nav-item.active{box-shadow:inset 4px 0 var(--tl-brand)}
.nav-btn.nav-primary-action{width:calc(100% - 14px);min-height:44px;margin:8px 7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:13px;background:var(--tl-brand);color:#fff;box-shadow:0 7px 16px rgba(22,10,6,.24);font-weight:900}.nav-btn.nav-primary-action:hover{background:var(--tl-brand-hover);box-shadow:0 9px 20px rgba(22,10,6,.3);transform:translateY(-1px)}.nav-btn.nav-primary-action.active{background:#bf2a12;box-shadow:0 4px 11px rgba(22,10,6,.24)}.nav-btn.nav-primary-action .nav-icon{color:#fff}body.sidebar-collapsed .nav-btn.nav-primary-action{width:44px;margin:8px auto 10px;padding:0;border-radius:13px}
.topbar{border-color:var(--tl-border);background:rgba(255,252,247,.92)}
.nav-icon{position:relative}.nav-notification-badge{position:absolute;top:-8px;right:-10px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid #3a2118;border-radius:999px;background:#f04438;color:#fff;font-size:9px;font-weight:950;line-height:1;box-shadow:0 2px 7px rgba(12,6,3,.28)}.nav-notification-badge[hidden]{display:none}body.sidebar-collapsed .nav-notification-badge{top:-9px;right:-9px}
.page-kicker{color:var(--tl-brand)}

.card{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.btn{min-height:var(--tl-control-height);border-radius:12px;background:var(--tl-brand);transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}
.btn:hover{background:var(--tl-brand-hover);box-shadow:0 6px 14px rgba(184,34,15,.18)}
.btn:active{background:var(--tl-brand-active);transform:translateY(1px)}
.btn.secondary{border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.btn.secondary:hover{border-color:var(--tl-border-strong);background:var(--tl-soft);box-shadow:none}
.btn.danger{background:var(--tl-error);color:#fff}
.btn.small{min-height:40px}
.input,.select,.textarea{min-height:var(--tl-control-height);border-color:var(--tl-border-strong);border-radius:12px;background:var(--tl-white);color:var(--tl-ink)}
.input:hover,.select:hover,.textarea:hover{border-color:var(--tl-muted-light)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--tl-orange);box-shadow:0 0 0 3px rgba(245,124,0,.14)}
.status.confirmed{background:var(--tl-success-bg);color:var(--tl-success)}
.status.cancelled{background:var(--tl-error-bg);color:var(--tl-error)}

/* Reservations: first fully tokenized operational view. */
#view-reservations{
  --reservation-ink:var(--tl-ink);
  --reservation-warm:var(--tl-cream);
  --reservation-cream:#fff0d9;
  --reservation-red:var(--tl-brand);
  --reservation-orange:var(--tl-orange);
  --reservation-gold:var(--tl-yellow);
}
#view-reservations>.card{border-color:var(--tl-border);background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream) 70%);box-shadow:var(--tl-shadow)}
#view-reservations .section-title{color:var(--tl-ink);font-size:32px;font-weight:750;letter-spacing:-.03em}
#view-reservations .section-subtitle{color:var(--tl-muted);font-size:13px}
#view-reservations> .card>details.card{border-color:var(--tl-border);background:rgba(255,252,247,.82);box-shadow:none}
#view-reservations> .card>details.card>summary{color:var(--tl-ink-soft)}
#view-reservations .reservation-filter-toolbar{border-color:var(--tl-border);background:rgba(255,252,247,.88)}
#view-reservations .grid.cards>.card.stat{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
#view-reservations .grid.cards>.card.stat:nth-child(1) .stat-value{color:var(--tl-brand)}
#view-reservations .grid.cards>.card.stat:nth-child(2) .stat-value{color:var(--tl-orange)}
#view-reservations .grid.cards>.card.stat:nth-child(3) .stat-value{color:var(--tl-muted)}
#view-reservations .grid.cards>.card.stat:nth-child(4) .stat-value{color:var(--tl-success)}
.reservation-view-button{min-height:44px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-muted)}
.reservation-view-button:hover{background:var(--tl-soft);color:var(--tl-ink)}
.reservation-view-button.active{border-color:var(--tl-brown);background:var(--tl-brown);color:#fff}
.reservation-slot{border-color:var(--tl-border);background:rgba(255,252,247,.84);box-shadow:var(--tl-shadow-sm)}
.reservation-slot-summary{border-color:var(--tl-border);background:#fff0d9}
.reservation-slot-card{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:0 3px 9px rgba(50,27,17,.055)}
.reservation-slot-card.status-partial{border-left-color:var(--tl-waiting)}
.reservation-slot-card.status-seated{border-left-color:var(--tl-success)}
.reservation-slot-card.status-noshow{border-left-color:var(--tl-error)}
.reservation-slot-status{background:var(--tl-soft);color:var(--tl-ink-soft)}
.reservation-slot-icon,.reservation-card-menu>summary{min-width:36px;min-height:36px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.reservation-slot-icon:hover,.reservation-card-menu>summary:hover{border-color:var(--tl-orange);color:var(--tl-brand)}
.reservation-card-menu-panel{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow)}
.reservation-busiest-slot{border-color:#efc775;background:linear-gradient(135deg,#fff7e5,#ffe5ad);color:var(--tl-brown)}
.reservation-busiest-icon{background:var(--tl-brand)}

@media(max-width:700px){
  #view-reservations .section-title{font-size:27px}
  .reservation-view-button{min-height:44px}
}

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

/* PHASE 3 — Dashboard and service operational components. */
#view-dashboard .dashboard-v2-root{gap:16px}
#view-dashboard .dashboard-v2-hero{border-color:var(--tl-border);border-radius:24px;background:linear-gradient(135deg,var(--tl-surface),#fff1dc);box-shadow:var(--tl-shadow)}
#view-dashboard .dashboard-v2-eyebrow{color:var(--tl-brand)}
#view-dashboard .dashboard-v2-hero-title h2,#view-dashboard .dashboard-v2-card-title h3{color:var(--tl-ink);font-family:var(--tl-font-display);letter-spacing:-.035em}
#view-dashboard .dashboard-v2-hero-title p,#view-dashboard .dashboard-v2-card-title p,#view-dashboard .dashboard-v2-stat-hint{color:var(--tl-muted)}
#view-dashboard .dashboard-v2-alert{border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
#view-dashboard .dashboard-v2-alert.warning{border-color:#efc775;background:var(--tl-waiting-bg);color:var(--tl-waiting)}
#view-dashboard .dashboard-v2-alert.danger{border-color:#efb7ae;background:var(--tl-error-bg);color:var(--tl-error)}
#view-dashboard .dashboard-v2-alert-icon{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;border-radius:10px;background:var(--tl-soft);color:var(--tl-ink-soft)}
#view-dashboard .dashboard-v2-alert.warning .dashboard-v2-alert-icon{background:#fff7e7;color:var(--tl-waiting)}
#view-dashboard .dashboard-v2-alert.danger .dashboard-v2-alert-icon{background:#fff;color:var(--tl-error)}
#view-dashboard .dashboard-v2-stat,#view-dashboard .dashboard-v2-card,#view-dashboard .dashboard-v2-source{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
#view-dashboard .dashboard-v2-stat.confirmed{border-color:#c8dfa7;background:var(--tl-success-bg)}
#view-dashboard .dashboard-v2-stat.cancelled{border-color:#efb7ae;background:var(--tl-error-bg)}
#view-dashboard .dashboard-v2-stat-label{color:var(--tl-muted)}
#view-dashboard .dashboard-v2-stat-value,#view-dashboard .dashboard-v2-source-value{color:var(--tl-ink);font-family:var(--tl-font-display);letter-spacing:-.035em}
#view-dashboard .dashboard-v2-table-wrap{border-color:var(--tl-border)}
#view-dashboard .dashboard-v2-table th{background:var(--tl-soft);color:var(--tl-muted)}
#view-dashboard .dashboard-v2-table th,#view-dashboard .dashboard-v2-table td{border-color:var(--tl-border)}
#view-dashboard .dashboard-v2-client{color:var(--tl-ink)}
#view-dashboard .dashboard-v2-contact{color:var(--tl-muted)}
#view-dashboard .dashboard-v2-badge.confirmed{background:var(--tl-success-bg);color:var(--tl-success)}
#view-dashboard .dashboard-v2-badge.cancelled{background:var(--tl-error-bg);color:var(--tl-error)}
#view-dashboard .dashboard-v2-empty,.dashboard-v2-loading{border:1px dashed var(--tl-border);border-radius:16px;background:var(--tl-surface);color:var(--tl-muted)}
#view-dashboard .dashboard-v2-source-bar{background:var(--tl-soft)}
#view-dashboard .dashboard-v2-source:nth-child(n) .dashboard-v2-source-bar span{background:linear-gradient(90deg,var(--tl-brand),var(--tl-orange))}
/* END PHASE 3 */

/* PHASE 4 — Forms, waitlist and service settings. */
.manual-booking-v3 .manual-booking-head h2,.waitlist-v1-title strong,.waitlist-v1-toolbar-left strong,.hours-page-head h2,.calendar-page-head h2,#view-closures .section-title{font-family:var(--tl-font-display);color:var(--tl-ink);letter-spacing:-.025em}
.manual-booking-v3 .manual-booking-head p,.manual-booking-v3 .manual-card-title p,.manual-booking-v3 .muted{color:var(--tl-muted);font-size:13px;line-height:1.45}
.manual-booking-v3 .manual-booking-card,.manual-booking-v3 .manual-customer-panel{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.manual-booking-v3 .manual-booking-card h3,.manual-booking-v3 .manual-customer-panel h3{font-family:var(--tl-font-display);font-size:19px;color:var(--tl-ink)}
.manual-booking-v3 .manual-people-buttons button,.manual-booking-v3 .manual-tag-chip{min-height:40px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft);font-size:12px}
.manual-booking-v3 .manual-people-buttons button.is-selected,.manual-booking-v3 .manual-tag-chip.is-selected{border-color:var(--tl-brand);background:#fff0e7;color:var(--tl-brand-active);box-shadow:0 0 0 2px rgba(232,50,20,.12)}
.manual-booking-v3 .manual-table-card{border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.manual-booking-v3 .manual-table-card strong{font-size:13px}.manual-booking-v3 .manual-table-card span{font-size:11px}.manual-booking-v3 .manual-table-card small{color:var(--tl-muted);font-size:10px}
.manual-booking-v3 .manual-table-card.is-selected{border-color:var(--tl-brand);background:#fff0e7;box-shadow:0 0 0 2px rgba(232,50,20,.1)}
.manual-booking-v3 .manual-tags-section{border-color:var(--tl-border)}.manual-booking-v3 .manual-tags-section>summary{min-height:44px;padding:10px 0;color:var(--tl-ink-soft);font-size:13px}
.manual-booking-v3 .manual-summary span{background:var(--tl-soft)}.manual-booking-v3 .manual-summary small{color:var(--tl-muted);font-size:10px}.manual-booking-v3 .manual-summary b{font-size:13px}
.manual-booking-v3 .manual-customer-history{border-color:#c8dfa7;background:var(--tl-success-bg);color:var(--tl-success)}
.manual-booking-v3 .manual-customer-history strong{font-size:12px}.manual-booking-v3 .manual-customer-history span{font-size:11px}
.manual-booking-v3 .empty{border-color:var(--tl-border);background:var(--tl-cream);color:var(--tl-muted)}

#view-waitlist .waitlist-v1-card{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
#view-waitlist .waitlist-v1-card.soft{background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream))}
#view-waitlist .waitlist-v1-title strong,#view-waitlist .waitlist-v1-toolbar-left strong{font-size:21px}
#view-waitlist .waitlist-v1-title span,#view-waitlist .waitlist-v1-toolbar-left span,#view-waitlist .waitlist-transform-hint-v2{color:var(--tl-muted);font-size:12px;line-height:1.45}
#view-waitlist .waitlist-v1-form label{color:var(--tl-ink-soft);font-size:12px}
#view-waitlist .waitlist-v1-form input,#view-waitlist .waitlist-v1-form select,#view-waitlist .waitlist-v1-form textarea,#view-waitlist .waitlist-v1-toolbar-right input,#view-waitlist .waitlist-v1-toolbar-right select{min-height:44px;border-color:var(--tl-border-strong);background:var(--tl-white);color:var(--tl-ink)}
#view-waitlist .waitlist-v1-entry{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
#view-waitlist .waitlist-v1-entry.status-waiting{border-left-color:var(--tl-waiting)}#view-waitlist .waitlist-v1-entry.status-contacted{border-left-color:var(--tl-info)}#view-waitlist .waitlist-v1-entry.status-accepted{border-left-color:var(--tl-success)}#view-waitlist .waitlist-v1-entry.status-cancelled{border-left-color:var(--tl-error)}
#view-waitlist .waitlist-v1-pill{border-color:var(--tl-border);background:var(--tl-soft);color:var(--tl-ink-soft)}
#view-waitlist .waitlist-v1-note{border-color:#efc775;background:var(--tl-waiting-bg);color:#76551e}
#view-waitlist .waitlist-v1-empty{border-color:var(--tl-border);background:var(--tl-cream);color:var(--tl-muted)}

:is(#view-opening,#view-seasons,#view-events,#view-closures) .field label,.calendar-period label,.calendar-rule-fields>label,.calendar-rule-fields details label{color:var(--tl-ink-soft);font-size:12px}
.hours-page-head .section-subtitle,.calendar-page-head p,#view-closures .section-subtitle,.closure-partial-block>p{color:var(--tl-muted);font-size:13px;line-height:1.45}
.hours-day-card,.hours-service-editor,.calendar-item,.calendar-editor,.closure-card,#view-closures>.grid>.card{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.hours-day-card>header{border-color:var(--tl-border);background:var(--tl-soft)}
.hours-day-card>header small,.hours-service-item>small,.calendar-item p,.calendar-item small,.calendar-rules-head small,.hours-duplicate-days small{color:var(--tl-muted);font-size:11px}
.hours-day-card>header button,.hours-service-actions button,.icon-button{min-width:40px;min-height:40px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.hours-day-card>header button:hover,.hours-service-actions button:hover,.icon-button:hover{border-color:var(--tl-orange);background:var(--tl-cream);color:var(--tl-brand)}
.hours-service-item{border-color:#c8dfa7;background:var(--tl-success-bg)}
.hours-service-item.is-inactive{border-color:var(--tl-border);background:var(--tl-soft)}
.hours-service-editor{border-color:var(--tl-border-strong);background:var(--tl-cream)}
.hours-advanced,.calendar-rule-fields details>summary{border-color:var(--tl-border);background:var(--tl-surface)}
.hours-advanced>summary{min-height:44px;color:var(--tl-ink-soft);font-size:13px}.hours-advanced>summary span{color:var(--tl-muted);font-size:11px}
.hours-duplicate-days{border-color:var(--tl-border);background:var(--tl-soft)}
.calendar-page-head h2{font-size:27px}.calendar-item h3,.calendar-editor-head h3{font-family:var(--tl-font-display);color:var(--tl-ink)}
.calendar-kind{color:var(--tl-success)}.calendar-rule-fields{border-color:var(--tl-border);background:var(--tl-soft)}.calendar-rule-fields details>div{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow)}
.closure-partial-block{border-color:var(--tl-border)}.closure-card.is-partial{border-color:#b8c8e9;background:var(--tl-info-bg)}
:is(#view-opening,#view-seasons,#view-events,#view-closures) .tl-icon{vertical-align:-.18em}
@media(max-width:700px){.manual-booking-v3 .manual-booking-head h2,.calendar-page-head h2{font-size:24px}.hours-page-actions .btn,.calendar-page-head>.btn{width:100%}}
/* END PHASE 4 */

/* PHASE 5 — Tables and floor plans. Geometry and zoom rules stay in their dedicated stylesheets. */
body.settings-tables-v2 #floorPlanSettingsV1,
body.settings-tables-v2 #tableGroupsSettings,
body.settings-floor-v2 .floor-editor-v1,
#view-floorPlan>.service-floor-page{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.tables-page-head h2,.tables-step-card h3,.tables-existing h3,.table-groups-settings .section-title,.floor-editor-head .section-title,#view-floorPlan .section-title,#view-floorPlan .service-floor-head h3{font-family:var(--tl-font-display);color:var(--tl-ink);letter-spacing:-.025em}
.tables-page-head .section-subtitle,.tables-step-card p,.tables-existing p,.table-groups-settings .section-subtitle,.floor-editor-head .section-subtitle,#view-floorPlan .section-subtitle,#view-floorPlan .service-floor-head p{color:var(--tl-muted)}
.tables-page-head aside{border-color:#efc775;background:var(--tl-waiting-bg);color:#76551e}
.tables-page-head aside strong{display:flex;align-items:center;gap:7px;color:var(--tl-brown);font-size:13px}
.tables-step-card,.tables-existing,.tables-zone-card,.table-groups-settings,.table-groups-preview-zones>section{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.tables-step-card>label,.floor-table-create-field,.floor-batch-v2 .field,.tables-table-editor label,.table-groups-builder .field>label,.table-groups-plan>label{color:var(--tl-ink-soft)}
.tables-zone-choices button,.tables-shape-choice button,.tables-add-one,.table-group-table{min-height:44px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.tables-zone-choices button:hover,.tables-shape-choice button:hover,.tables-add-one:hover,.table-group-table:hover{border-color:var(--tl-orange);background:var(--tl-cream);color:var(--tl-brand-active)}
.tables-zone-choices button.is-selected,.tables-shape-choice button.is-selected,.table-group-table.is-selected{border-color:var(--tl-brand);background:#fff0e7;color:var(--tl-brand-active);box-shadow:0 0 0 2px rgba(232,50,20,.11)}
.tables-zone-choices button>span,.tables-zone-icon{background:var(--tl-soft);color:var(--tl-brand)}
.tables-zone-head{border-color:var(--tl-border);background:var(--tl-soft)}
.tables-table-card>summary{min-height:58px;border-color:var(--tl-border);background:var(--tl-surface)}
.tables-table-card>summary:hover{border-color:var(--tl-orange);background:var(--tl-cream)}
.tables-table-card[open]>summary{border-color:var(--tl-brand);box-shadow:0 0 0 2px rgba(232,50,20,.1)}
.tables-table-card>summary em.is-active{background:var(--tl-success-bg);color:var(--tl-success)}
.tables-table-card>summary em.is-inactive{background:var(--tl-soft);color:var(--tl-muted)}
.tables-table-card>summary em.is-ghost{background:var(--tl-info-bg);color:var(--tl-info)}
.tables-table-editor,.floor-editor-library-popover{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow)}
.tables-create-preview span{border-color:var(--tl-border);background:var(--tl-soft);color:var(--tl-ink-soft)}
.table-groups-preview{border-color:var(--tl-border);background:var(--tl-cream)}
.table-groups-mini-map button.is-selected{border-color:var(--tl-brand);background:#fff0e7;color:var(--tl-brand-active);box-shadow:0 0 0 3px rgba(232,50,20,.14)}

body.settings-floor-v2 .floor-editor-v1{margin-right:16px;margin-left:16px}
.floor-editor-status{background:var(--tl-success-bg);color:var(--tl-success)}
.floor-editor-status.is-draft{background:var(--tl-waiting-bg);color:var(--tl-waiting)}
.floor-editor-toolbar{padding:10px;border:1px solid var(--tl-border);border-radius:14px;background:var(--tl-soft)}
.floor-editor-tools .is-active{border-color:var(--tl-brand);background:#fff0e7;color:var(--tl-brand-active)}
.floor-editor-library>summary{display:inline-flex;align-items:center;gap:7px}
.floor-editor-library-grid button{min-height:78px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.floor-editor-library-grid button:hover,.floor-editor-library-grid button.is-current{border-color:var(--tl-orange);background:var(--tl-cream);color:var(--tl-brand-active)}
.floor-editor-library-grid button>span{background:var(--tl-soft)}
.floor-editor-viewport{border-color:var(--tl-border-strong);background:#e9e1d8;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.floor-editor-properties{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
.floor-editor-properties h3,.floor-editor-properties-head{font-family:var(--tl-font-display);color:var(--tl-ink)}
.floor-editor-properties label{color:var(--tl-ink-soft);font-size:11px}
.floor-editor-properties-empty,.floor-editor-canvas-wrap>small,.floor-editor-multi-hint{color:var(--tl-muted);font-size:11px}
.floor-editor-align button{min-height:40px;border-color:var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft)}
.floor-editor-align button:hover{border-color:var(--tl-orange);background:var(--tl-cream);color:var(--tl-brand)}

#view-floorPlan>.service-floor-page{padding:20px}
#view-floorPlan .service-floor-page-toolbar{padding-bottom:8px;border-bottom:1px solid var(--tl-border)}
#view-floorPlan .service-floor-live{border-color:var(--tl-border);background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream));box-shadow:none}
#view-floorPlan .service-floor-zone{border-color:var(--tl-border);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}
#view-floorPlan .service-floor-zone>header strong{font-family:var(--tl-font-display);color:var(--tl-ink);font-size:17px}
#view-floorPlan .service-floor-zone>header span{color:var(--tl-muted);font-size:12px}
#view-floorPlan .tabliva-floor-zoom{padding:6px 8px;border:1px solid var(--tl-border);border-radius:12px;background:var(--tl-soft)}
#view-floorPlan .service-floor-legend{border-color:var(--tl-border);background:var(--tl-surface)}
#view-floorPlan .service-floor-legend>strong{font-family:var(--tl-font-display);color:var(--tl-ink)}
#view-floorPlan .service-floor-controls label{color:var(--tl-ink-soft);font-size:12px}
#view-floorPlan .friendly-empty{border-color:var(--tl-border);background:var(--tl-cream);color:var(--tl-muted)}
:is(#floorPlanSettingsV1,.floor-editor-v1,#view-floorPlan) .tl-icon{vertical-align:-.18em}
@media(max-width:780px){body.settings-floor-v2 .floor-editor-v1{margin-right:10px;margin-left:10px}.floor-editor-toolbar{padding:8px}#view-floorPlan>.service-floor-page{padding:14px}#view-floorPlan .service-floor-page-toolbar .toolbar .btn{min-height:44px}}

/* Header shortcuts and operational view spacing. */
.user-pill{color:var(--tl-ink-soft);text-decoration:none;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}
.user-pill:hover{border-color:var(--tl-orange);background:var(--tl-cream);color:var(--tl-brand-active)}
#view-reservations,#view-newReservation{box-sizing:border-box;margin-left:10px}
@media(max-width:780px){#view-reservations,#view-newReservation{margin-left:0}}
/* END PHASE 5 */

/* Administrative views: design system phase 6. */
.settings-eyebrow{display:block;margin-bottom:5px;color:var(--tl-brand);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.settings-account-card{max-width:1100px;padding:26px;background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream));box-shadow:var(--tl-shadow)}
.settings-account-card .section-title{font-size:28px;letter-spacing:-.025em}.settings-account-card .section-subtitle{max-width:680px;color:var(--tl-muted)}
.settings-account-card .form-grid{margin-top:22px;padding:18px;border:1px solid var(--tl-border);border-radius:var(--tl-radius);background:rgba(255,255,255,.68)}
.settings-account-card .form-grid .field{display:grid;grid-template-rows:minmax(34px,auto) auto;align-content:start}.settings-account-card .form-grid .field>small{grid-row:3}
.settings-account-card .field label{color:var(--tl-ink-soft);font-size:12px}.settings-account-card .field small{display:block;margin-top:7px;line-height:1.45}
.settings-account-actions{margin-top:20px}.settings-account-actions .btn{min-width:210px}.settings-account-card .settings-version{color:var(--tl-muted-light)}
@media(max-width:700px){.settings-account-card{padding:18px}.settings-account-card .section-title{font-size:25px}.settings-account-card .form-grid{padding:14px}.settings-account-actions .btn{width:100%;min-width:0}}
.settings-page-head{margin:0 0 16px;padding:4px 2px}.settings-page-head .section-title{margin:0 0 4px;font-size:30px;letter-spacing:-.03em}.settings-page-head .section-subtitle{max-width:720px;color:var(--tl-muted)}
.restaurant-settings-grid{align-items:start}.settings-form-card,.restaurant-status-card{padding:24px}.settings-form-card h3,.restaurant-status-card h3,.reports-panel h3{margin:0;color:var(--tl-ink);font-family:var(--tl-font-display);font-size:19px}.settings-form-card .field label{color:var(--tl-ink-soft);font-size:12px}.settings-form-card .form-actions{margin-top:20px}.restaurant-status-card{background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream))}.restaurant-status-card .table-wrap{border:1px solid var(--tl-border);border-radius:14px;background:var(--tl-white)}.restaurant-status-card th{color:var(--tl-muted);font-size:12px}.restaurant-status-card td{color:var(--tl-ink-soft);font-weight:750}.restaurant-security-note{display:flex;gap:9px;align-items:flex-start;margin:16px 0 0;padding:12px;border-radius:12px;background:var(--tl-success-bg);color:var(--tl-success);font-size:12px;line-height:1.5}.restaurant-security-note .tl-icon{margin-top:2px}
.settings-team-v2{padding:26px!important;border-color:var(--tl-border)!important;background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream))!important;box-shadow:var(--tl-shadow)}.settings-team-v2 .section-title{font-size:28px}.settings-team-v2-note{display:flex;gap:16px;align-items:flex-start;max-width:760px!important;padding:18px!important;border:1px solid var(--tl-border)!important;background:var(--tl-white)!important;color:var(--tl-ink-soft)!important}.settings-team-v2-icon{display:grid!important;flex:0 0 auto;width:42px!important;height:42px!important;padding:10px;border-radius:12px;background:var(--tl-info-bg);color:var(--tl-info)}.settings-team-v2-note strong{color:var(--tl-ink);font-family:var(--tl-font-display);font-size:17px}.settings-team-v2-note p{margin:5px 0 0;color:var(--tl-muted);font-size:13px;line-height:1.55}
.reports-hero{padding:24px;background:linear-gradient(135deg,var(--tl-surface),var(--tl-cream));box-shadow:var(--tl-shadow)}.reports-hero .section-title{font-size:30px;letter-spacing:-.03em}.reports-period{display:grid;grid-template-columns:minmax(180px,230px) minmax(180px,230px) auto;gap:10px;align-items:end;margin-top:20px}.reports-period label{display:grid;gap:6px;color:var(--tl-ink-soft);font-size:12px;font-weight:800}.reports-period .btn{gap:8px}.reports-content{margin-top:16px}.reports-kpis{gap:12px}.reports-kpis .stat{min-height:112px;border-color:var(--tl-border);background:var(--tl-surface)}.reports-kpis .stat:nth-child(1) .stat-value{color:var(--tl-brand)}.reports-kpis .stat:nth-child(2) .stat-value{color:var(--tl-orange)}.reports-kpis .stat:nth-child(3) .stat-value,.reports-kpis .stat:nth-child(4) .stat-value{color:var(--tl-error)}.reports-grid,.reports-customers{margin-top:16px}.reports-panel{padding:20px}.reports-panel .table-wrap{margin-top:14px;border:1px solid var(--tl-border);border-radius:13px;background:var(--tl-white)}.reports-panel thead{background:var(--tl-soft)}.reports-panel th{color:var(--tl-ink-soft)}.reports-panel td{color:var(--tl-muted)}.reports-content>.empty{min-height:180px;border:1px dashed var(--tl-border-strong);border-radius:var(--tl-radius);background:var(--tl-surface);color:var(--tl-muted)}
@media(max-width:780px){.settings-page-head .section-title,.reports-hero .section-title{font-size:26px}.restaurant-settings-grid{grid-template-columns:1fr}.settings-form-card,.restaurant-status-card,.settings-team-v2,.reports-hero{padding:18px!important}.settings-form-card .form-actions{display:grid}.settings-form-card .form-actions .btn{width:100%}.settings-team-v2-note{gap:12px}.reports-period{grid-template-columns:1fr 1fr}.reports-period .btn{grid-column:1/-1;width:100%}.reports-kpis{grid-template-columns:1fr 1fr}.reports-grid{grid-template-columns:1fr}.reports-panel{padding:15px}}
@media(max-width:480px){.reports-period,.reports-kpis{grid-template-columns:1fr}.reports-period .btn{grid-column:auto}}
.restaurant-settings-grid>*{min-width:0}
.reports-grid>*{min-width:0}

/* Compact operational controls: retain density while preserving a reliable touch target. */
.reservation-slot-icon,.reservation-card-menu>summary{min-width:40px;min-height:40px}
.reservation-slot-customer{display:flex;align-items:center;min-height:40px}
.reservation-card-menu-panel .btn,.reservation-card-menu-panel .reservation-status-select{min-height:40px}
.waitlist-v1-entry-actions .btn,.waitlist-v1-entry-actions a.btn{min-height:40px}
#view-floorPlan .floor-live-detail-actions .btn{min-height:40px}
.tables-mode-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px;padding:16px 18px;border:1px solid var(--tl-border);border-radius:var(--tl-radius);background:linear-gradient(135deg,var(--tl-surface),var(--tl-cream));box-shadow:var(--tl-shadow-sm)}
.tables-mode-note>.tl-icon{width:24px;height:24px;padding:9px;border-radius:12px;background:var(--tl-soft);color:var(--tl-brand)}
.tables-mode-note strong{color:var(--tl-ink);font-family:var(--tl-font-display);font-size:17px}.tables-mode-note p{margin:4px 0 0;color:var(--tl-muted);font-size:12px;line-height:1.5}
.tables-mode-note.is-active>.tl-icon{background:var(--tl-success-bg);color:var(--tl-success)}
@media(max-width:700px){.tables-mode-note{grid-template-columns:auto minmax(0,1fr);padding:14px}.tables-mode-note .btn{grid-column:1/-1;width:100%}}

/* Reservations agenda: seven-day navigation and service-led reading. */
.reservation-calendar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:9px;align-items:stretch;margin:6px 0 16px;padding:10px;border:1px solid var(--tl-border);border-radius:18px;background:linear-gradient(145deg,var(--tl-surface),var(--tl-cream));box-shadow:var(--tl-shadow-sm)}
.reservation-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(62px,1fr));gap:7px;min-width:0}.reservation-calendar-nav,.reservation-calendar-day{border:1px solid var(--tl-border);background:var(--tl-surface);color:var(--tl-ink-soft);font:inherit;cursor:pointer}.reservation-calendar-nav{border-radius:12px;color:var(--tl-brand);font-size:28px}.reservation-calendar-nav:hover{border-color:var(--tl-orange);background:#fff0e7}.reservation-calendar-day{position:relative;display:grid;gap:2px;min-height:82px;padding:8px 5px;border-radius:13px;text-align:center}.reservation-calendar-day:hover{border-color:var(--tl-orange);transform:translateY(-1px)}.reservation-calendar-day>span,.reservation-calendar-day>small{color:var(--tl-muted);font-size:10px;font-weight:850;text-transform:uppercase}.reservation-calendar-day>strong{position:relative;display:inline-grid;place-items:center;justify-self:center;min-width:34px;color:var(--tl-ink);font-family:var(--tl-font-display);font-size:25px;line-height:1}.reservation-calendar-day>strong>b{position:absolute;top:-9px;right:-18px;display:grid;min-width:21px;height:21px;padding:0 4px;place-items:center;border:2px solid var(--tl-surface);border-radius:999px;background:var(--tl-orange);color:#fff;font-family:var(--tl-font-ui);font-size:9px;line-height:1}.reservation-calendar-day.is-today{border-color:var(--tl-orange)}.reservation-calendar-day.is-selected{border-color:var(--tl-brand);background:var(--tl-brand);box-shadow:0 8px 18px rgba(232,50,20,.2);color:#fff}.reservation-calendar-day.is-selected>span,.reservation-calendar-day.is-selected>small,.reservation-calendar-day.is-selected>strong{color:#fff}.reservation-calendar-day.is-selected>strong>b{border-color:var(--tl-brand);background:#fff;color:var(--tl-brand)}
.reservation-slots{gap:16px}.reservation-service{overflow:hidden;border:1px solid var(--tl-border);border-radius:18px;background:rgba(255,252,247,.7);box-shadow:var(--tl-shadow-sm)}.reservation-service-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--tl-border);background:linear-gradient(135deg,#fff0d9,var(--tl-cream))}.reservation-service-head>div{display:flex;align-items:baseline;gap:9px}.reservation-service-head span{color:var(--tl-brand);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.reservation-service-head h3{margin:0;color:var(--tl-ink);font-family:var(--tl-font-display);font-size:22px}.reservation-service-head p{display:flex;align-items:center;gap:6px;margin:0;color:var(--tl-muted);font-size:11px;font-weight:800}.reservation-service-head p strong{color:var(--tl-ink);font-size:15px}.reservation-service-head p b{margin-left:5px;padding:5px 8px;border-radius:999px;background:var(--tl-surface);color:var(--tl-brand);font-size:11px}.reservation-service-slots{display:grid;gap:9px;padding:10px}.reservation-service-slots>.reservation-slot{box-shadow:none}
@media(max-width:780px){.reservation-calendar{grid-template-columns:36px minmax(0,1fr) 36px;margin-right:-4px;margin-left:-4px;padding:7px}.reservation-calendar-days{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.reservation-calendar-day{flex:0 0 66px;min-height:76px}.reservation-calendar-day.is-selected{order:0}.reservation-service-head{align-items:flex-start;flex-direction:column}.reservation-service-head p{flex-wrap:wrap}.reservation-service-slots{padding:7px}}

body.sidebar-collapsed .nav-item>span:not(.nav-icon),body.sidebar-collapsed .nav-chevron{display:none}body.sidebar-collapsed .nav-item{justify-content:center;padding-right:0;padding-left:0}
.reservation-day-actions{margin-bottom:10px}.reservation-period-tools{border-color:var(--tl-border)!important;background:var(--tl-soft)!important;box-shadow:none!important}.reservation-period-tools>summary{color:var(--tl-ink-soft);font-size:12px}.reservation-day-summary{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.reservation-day-summary>span{display:inline-flex;align-items:baseline;gap:4px;padding:7px 10px;border:1px solid var(--tl-border);border-radius:999px;background:var(--tl-surface);color:var(--tl-muted);font-size:10px;font-weight:800}.reservation-day-summary strong{color:var(--tl-ink);font-family:var(--tl-font-display);font-size:16px}.reservation-day-summary>span:nth-child(2) strong{color:var(--tl-brand)}
@media(max-width:700px){.reservation-day-actions{display:grid;grid-template-columns:1fr 1fr}.reservation-day-actions #reservationsDate{grid-column:1/-1;max-width:none!important}.reservation-day-actions .btn{width:100%}.reservation-day-summary{gap:5px}.reservation-day-summary>span{flex:1 1 calc(50% - 5px);box-sizing:border-box;justify-content:center}}

/* Reservations agenda: compact actions and persistent service folding. */
.tl-icon-download{--tl-icon:url("/assets/icons/lucide/log-out.svg");transform:rotate(90deg)}
.reservation-service-head{width:100%;border-width:0 0 1px;border-style:solid;border-color:var(--tl-border);font:inherit;text-align:left;cursor:pointer}.reservation-service-head:hover{background:linear-gradient(135deg,#ffe8c4,var(--tl-cream))}.reservation-service-head:focus-visible{outline:3px solid rgba(232,50,20,.25);outline-offset:-3px}.reservation-service.is-collapsed .reservation-service-head{border-bottom-color:transparent}.reservation-service-chevron{display:grid;width:26px;height:26px;place-items:center;color:var(--tl-brand);font-size:20px;font-style:normal;line-height:1;transition:transform .18s ease}.reservation-service.is-collapsed .reservation-service-chevron{transform:rotate(-90deg)}
.reservation-export-button{flex:0 0 40px;width:40px;min-width:40px;padding:0}.reservation-filter-toolbar .reservation-results-meta{flex:1 0 100%;margin:0;color:var(--tl-muted)}
@media(max-width:700px){.reservation-day-actions{display:flex}.reservation-day-actions #reservationsDate{flex:1 1 auto;min-width:0}.reservation-day-actions #reservationsTodayBtn{width:auto;flex:0 0 auto}.reservation-filter-toolbar .reservation-export-button{width:44px;min-width:44px}.reservation-service-head{align-items:center;flex-direction:row}.reservation-service-head p{justify-content:flex-end}}
.service-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--tl-border)}
.service-date-context{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--tl-border);border-radius:12px;background:var(--tl-soft);color:var(--tl-muted);font-size:11px;font-weight:750}
.service-date-context strong{color:var(--tl-ink);font-size:12px}.service-date-context.is-today .tl-icon{color:var(--tl-success)}.service-date-context.is-future .tl-icon{color:var(--tl-brand)}.service-date-context.is-past{background:var(--tl-surface)}
.service-focus-tabs{display:flex;gap:8px;padding:5px;border:1px solid var(--tl-border);border-radius:15px;background:var(--tl-soft)}
.service-focus-tab{display:flex;flex:1 1 0;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:7px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--tl-muted);font:inherit;cursor:pointer}
.service-focus-tab strong{color:var(--tl-ink);font-family:var(--tl-font-display);font-size:17px}.service-focus-tab span{font-size:10px;font-weight:850}.service-focus-tab.is-active{border-color:var(--tl-orange);background:var(--tl-surface);box-shadow:var(--tl-shadow-sm)}.service-focus-tab.is-active strong,.service-focus-tab.is-active span{color:var(--tl-brand)}
.service-status-filters{display:flex;flex-wrap:wrap;gap:6px}.service-status-filters button{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:6px 10px;border:1px solid var(--tl-border);border-radius:999px;background:var(--tl-surface);color:var(--tl-muted);font:inherit;font-size:11px;font-weight:850;cursor:pointer}.service-status-filters button span{display:grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:var(--tl-soft);color:var(--tl-ink);font-size:9px}.service-status-filters button.is-active{border-color:var(--tl-brand);background:var(--tl-brand);color:#fff}.service-status-filters button.is-active span{background:#fff;color:var(--tl-brand)}
@media(max-width:1100px){}
@media(max-width:700px){.service-page-header{align-items:stretch;flex-direction:column;gap:14px}.service-focus-tabs{overflow-x:auto}.service-focus-tab{min-width:130px}.service-date-context{align-items:flex-start;flex-wrap:wrap}.service-date-context>span:last-child{flex-basis:100%;padding-left:23px}}
@media(max-width:700px){}
/* Reservations: centered calendar with on-demand date and text search tools. */
.reservation-calendar-shell{position:relative;display:grid;grid-template-columns:44px minmax(0,820px) 44px;gap:9px;align-items:stretch;justify-content:center;width:100%;max-width:930px;margin:6px auto 14px}
.reservation-calendar-shell .reservation-calendar{min-width:0;margin:0}
.reservation-calendar-tool{position:relative;z-index:12;align-self:center}
.reservation-calendar-tool>summary{display:grid;width:44px;height:44px;min-height:44px;box-sizing:border-box;place-items:center;border:1px solid var(--tl-border);border-radius:13px;background:var(--tl-surface);color:var(--tl-brand);cursor:pointer;list-style:none;box-shadow:var(--tl-shadow-sm)}
.reservation-calendar-tool>summary::-webkit-details-marker{display:none}.reservation-calendar-tool>summary:hover,.reservation-calendar-tool[open]>summary,.reservation-search-tool:has(input:not(:placeholder-shown))>summary{border-color:var(--tl-orange);background:#fff0e7}
.reservation-tool-panel{position:absolute;top:calc(100% + 8px);left:0;display:grid;width:min(390px,calc(100vw - 28px));gap:11px;padding:14px;border:1px solid var(--tl-border);border-radius:15px;background:var(--tl-surface);box-shadow:var(--tl-shadow);color:var(--tl-ink)}
.reservation-search-tool .reservation-tool-panel{right:0;left:auto;width:min(360px,calc(100vw - 28px))}.reservation-tool-panel>strong,.reservation-tool-panel>label{font-family:var(--tl-font-display);font-size:15px}.reservation-tool-panel .toolbar{margin:0}.reservation-tool-panel #reservationsDate{flex:1 1 190px}
.reservation-period-tools{padding-top:10px;border-top:1px solid var(--tl-border)}.reservation-period-tools>summary{color:var(--tl-brand);font-size:12px;font-weight:900;cursor:pointer}.reservation-period-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.reservation-period-fields label{display:grid;gap:4px;color:var(--tl-muted);font-size:10px;font-weight:850}.reservation-period-fields .select,.reservation-period-fields .btn{grid-column:1/-1}.reservation-period-tools p{margin:8px 0 0;font-size:10px}
.reservation-period-state{display:grid;min-height:104px;place-items:center;border:1px solid var(--tl-border);border-radius:18px;background:var(--tl-soft);color:var(--tl-ink-soft);font-size:12px;font-weight:850}
.reservation-controls-line{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:2px 0 8px}.reservation-controls-line .reservation-filter-toolbar{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:6px;margin:0;padding:0!important;border:0!important;background:transparent!important}.reservation-controls-line .reservation-filter-toolbar .select{flex:0 1 auto;min-width:145px;width:auto;max-width:195px}.reservation-controls-line .reservation-view-switch{flex:0 0 auto;margin:0}.reservation-results-meta{margin:0 0 12px!important}
@media(max-width:780px){.reservation-calendar-shell{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;margin-right:0;margin-left:0}.reservation-calendar-shell .reservation-calendar{margin:0;padding:7px}.reservation-calendar-tool>summary{border-radius:11px}.reservation-controls-line{align-items:stretch;flex-direction:column}.reservation-controls-line .reservation-filter-toolbar{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px!important;scrollbar-width:none}.reservation-controls-line .reservation-filter-toolbar>*{flex:0 0 auto}.reservation-controls-line .reservation-view-switch{align-self:flex-end;width:min(100%,260px)}}
@media(max-width:480px){.reservation-calendar-shell{grid-template-columns:40px minmax(0,1fr) 40px}.reservation-calendar-tool>summary{width:40px}.reservation-tool-panel{position:fixed;z-index:80;top:84px;right:12px;left:12px;width:auto}.reservation-search-tool .reservation-tool-panel{right:12px;left:12px;width:auto}.reservation-period-fields{grid-template-columns:1fr}}
/* Reservations: visible search context and explicit period exit. */
.reservation-search-tool{display:flex;align-items:center;justify-content:flex-end}
.reservation-search-toggle{display:grid;width:44px;height:44px;min-height:44px;box-sizing:border-box;place-items:center;border:1px solid var(--tl-border);border-radius:13px;background:var(--tl-surface);color:var(--tl-brand);cursor:pointer;box-shadow:var(--tl-shadow-sm)}
.reservation-search-toggle:hover,.reservation-search-tool.is-open .reservation-search-toggle{border-color:var(--tl-orange);background:#fff0e7}
.reservation-search-inline{position:absolute;z-index:15;top:calc(100% + 8px);right:0;display:grid;box-sizing:border-box;width:min(380px,calc(100vw - 24px));grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:6px;padding:10px;border:1px solid var(--tl-orange);border-radius:14px;background:var(--tl-surface);box-shadow:var(--tl-shadow)}
.reservation-search-scope{grid-column:1/-1;color:var(--tl-ink-soft);font-family:var(--tl-font-display);font-size:13px;font-weight:850;white-space:nowrap}.reservation-search-inline .input{min-width:0;border:0;background:var(--tl-soft);box-shadow:none}
.reservation-search-clear{display:grid;flex:0 0 40px;width:40px;height:40px;place-items:center;border:0;border-radius:10px;background:var(--tl-soft);color:var(--tl-muted);cursor:pointer}.reservation-search-clear:hover{background:#fff0e7;color:var(--tl-brand)}
.reservation-period-state{display:flex;min-height:78px;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;place-items:initial}
.reservation-period-state>div:first-child{display:grid;gap:3px}.reservation-period-state strong{color:var(--tl-ink);font-family:var(--tl-font-display);font-size:15px}.reservation-period-state-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
@media(max-width:480px){.reservation-search-toggle{width:40px}.reservation-search-inline{right:0;width:calc(100vw - 40px)}.reservation-period-state{align-items:stretch;flex-direction:column}.reservation-period-state-actions{justify-content:stretch}.reservation-period-state-actions .btn{flex:1 1 auto}}

.reports-sources{margin-top:16px}.reports-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.reports-panel-head p{margin:5px 0 0;color:var(--tl-muted);font-size:12px;line-height:1.5}.reports-sources table{min-width:720px}.reports-sources tbody th{color:var(--tl-ink);font-weight:850;text-align:left}.reports-sources td strong{color:var(--tl-ink);font-size:15px}.reports-source-share{display:block;margin-top:2px;color:var(--tl-muted);font-size:11px;font-weight:700}.reports-trend{display:inline-flex;align-items:center;min-height:26px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}.reports-trend-up,.reports-trend-new{background:var(--tl-success-bg);color:var(--tl-success)}.reports-trend-down{background:var(--tl-error-bg);color:var(--tl-error)}.reports-trend-flat{background:var(--tl-soft);color:var(--tl-muted)}

.conversation-priority{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.conversation-priority.priority-CRITICAL{background:var(--tl-error-bg,#fee4e2);color:var(--tl-error,#b42318)}.conversation-priority.priority-HIGH{background:#fff3d6;color:#8a4b08}.conversation-priority.priority-NORMAL{background:var(--tl-soft,#f4eee9);color:var(--tl-ink-soft,#6c554b)}

.conversation-sound{display:inline-flex;align-items:center;gap:6px;color:var(--tl-ink-soft);font-size:12px;font-weight:800;white-space:nowrap}.conversation-sound input{accent-color:var(--tl-accent,#a8552d)}

.conversation-report-card{margin-bottom:16px}.conversation-report-card .toolbar label{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;color:var(--tl-ink-soft)}.report-number{width:66px}.conversation-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.conversation-metric{display:grid;gap:3px;padding:12px;border:1px solid var(--tl-border,#eaded6);border-radius:12px;background:var(--tl-soft,#faf7f4)}.conversation-metric small,.conversation-metric span{color:var(--tl-ink-soft);font-size:10px}.conversation-metric strong{font-size:22px}.conversation-report-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.conversation-report-breakdown h4{margin:0 0 8px}.conversation-report-breakdown p{display:flex;justify-content:space-between;gap:10px;margin:0;padding:7px 0;border-bottom:1px solid var(--tl-border,#eaded6);font-size:12px}@media(max-width:780px){.conversation-report-breakdown{grid-template-columns:1fr}}

.agent-ai-draft{display:grid;gap:10px;margin-top:10px}.agent-ai-draft p{margin:0}.agent-ai-draft-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.agent-ai-answer{padding:12px 14px;border-left:3px solid var(--tl-orange);border-radius:0 10px 10px 0;background:var(--tl-soft)}.agent-ai-sources{display:grid;gap:7px}.agent-ai-sources>small{color:var(--tl-muted);font-weight:800}.agent-ai-sources>div{display:flex;flex-wrap:wrap;gap:6px}.agent-source-chip{display:inline-flex;padding:5px 8px;border:1px solid var(--tl-border);border-radius:999px;background:var(--tl-surface);color:var(--tl-ink-soft);font-size:10px;font-weight:800}

.conversation-close-action{margin-left:auto;border:1px solid var(--tl-error)!important;background:var(--tl-surface,#fff)!important;color:var(--tl-error)!important}.conversation-close-action:hover,.conversation-close-action:focus-visible{border-color:var(--tl-error)!important;background:var(--tl-error)!important;color:#fff!important;box-shadow:none}
.service-view-switch{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--tl-border);border-radius:16px;background:var(--tl-soft);box-shadow:var(--tl-shadow-sm)}.service-view-switch button{display:flex;min-width:170px;min-height:52px;align-items:center;justify-content:center;gap:9px;padding:12px 20px;border:0;border-radius:11px;background:transparent;color:var(--tl-ink-soft);font:inherit;font-size:13px;font-weight:900;cursor:pointer}.service-view-switch button:hover{background:var(--tl-surface);color:var(--tl-brand)}.service-view-switch button.is-active{background:var(--tl-brand);color:#fff;box-shadow:0 6px 15px rgba(232,50,20,.24);cursor:default}.service-view-switch .tl-icon{width:20px;height:20px}@media(max-width:700px){.service-view-switch{width:100%}.service-view-switch button{min-width:0;flex:1;padding-inline:10px;font-size:12px}}
.super-context{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #efc58c;border-radius:14px;background:#fff8e9}.super-context>span:not(.status){flex:1;color:var(--tl-muted);font-size:12px}.super-context strong{white-space:nowrap}.super-context[hidden]{display:none}@media(max-width:780px){.super-context{align-items:flex-start;flex-direction:column}.super-context strong{white-space:normal}}
