
/*
  v137.7 operational theme
  Scope is intentionally limited to body.bos-ops-dark, set by route().
  This prevents Seller/Staff styling from leaking into booking, customer area,
  public menu, public site, package purchase, payment or receipt surfaces.
*/
body.bos-ops-dark{
  --b:#20b8aa;
  --b2:#42d2c2;
  --bg:#0b1215;
  --c:#121d21;
  --i:#e7f0ef;
  --m:#91a5a8;
  --l:#26363b;
  --ok:#70d6ad;
  --bos-ops-bg:#0b1215;
  --bos-ops-bg-soft:#0e171a;
  --bos-ops-panel:#121d21;
  --bos-ops-panel-2:#162328;
  --bos-ops-panel-3:#1a2a2f;
  --bos-ops-line:#26383d;
  --bos-ops-line-strong:#355057;
  --bos-ops-text:#e7f0ef;
  --bos-ops-muted:#91a5a8;
  --bos-ops-accent:#20b8aa;
  --bos-ops-accent-2:#42d2c2;
  --bos-ops-accent-soft:#153a39;
  --bos-ops-danger:#ff8b8b;
  --bos-ops-warning:#f5c66c;
  background:var(--bos-ops-bg)!important;
  color:var(--bos-ops-text)!important;
  color-scheme:dark;
}
body.bos-ops-dark .shell,
body.bos-ops-dark .main,
body.bos-ops-dark main,
body.bos-ops-dark .sec{
  background:transparent;
  color:var(--bos-ops-text);
}
body.bos-ops-dark .main{min-height:100vh;background:var(--bos-ops-bg)!important}

/* Navigation + top bar */
body.bos-ops-dark .side{
  background:#081013!important;
  color:var(--bos-ops-text)!important;
  border-right:1px solid #1e2c30;
  box-shadow:12px 0 34px rgba(0,0,0,.15);
}
body.bos-ops-dark .side .logo{color:#f0f7f6}
body.bos-ops-dark .logo span{color:var(--bos-ops-accent-2)!important}
body.bos-ops-dark .side button{
  color:#9fb1b4!important;
  border:1px solid transparent!important;
  background:transparent!important;
}
body.bos-ops-dark .side button:hover{
  color:#e8f5f3!important;
  background:#112126!important;
  border-color:#263a40!important;
}
body.bos-ops-dark .side button.on{
  color:#eafffb!important;
  background:linear-gradient(135deg,#153633,#12302f)!important;
  border-color:#24534e!important;
  box-shadow:inset 3px 0 0 var(--bos-ops-accent),0 7px 22px rgba(0,0,0,.12);
}
body.bos-ops-dark .top,
body.bos-ops-dark .bos-seller-menu-shell .top{
  background:rgba(14,23,26,.96)!important;
  border-bottom:1px solid var(--bos-ops-line)!important;
  color:var(--bos-ops-text)!important;
  box-shadow:0 5px 22px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
}
body.bos-ops-dark .shell .main>.top>b:first-child::after{
  content:"v138.76"!important;
  background:#173d3a!important;
  color:#8de1d5!important;
  border:1px solid #27524e;
}
body.bos-ops-dark .userchip,
body.bos-ops-dark .topactions .userchip{
  background:#17252a!important;
  color:#c4d4d5!important;
  border:1px solid #2a3d42!important;
}
body.bos-ops-dark .ui-lang-select,
body.bos-ops-dark .business-top-selector,
body.bos-ops-dark .topactions select{
  background:#101a1e!important;
  color:#e2eceb!important;
  border-color:#304249!important;
}

/* Core surfaces */
body.bos-ops-dark .card,
body.bos-ops-dark .panel,
body.bos-ops-dark .box,
body.bos-ops-dark .authcard,
body.bos-ops-dark .choice,
body.bos-ops-dark .ops-card{
  background:var(--bos-ops-panel)!important;
  color:var(--bos-ops-text)!important;
  border-color:var(--bos-ops-line)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
}
body.bos-ops-dark .card:hover,
body.bos-ops-dark .click:hover{
  border-color:#3e5b61!important;
}
body.bos-ops-dark h1,
body.bos-ops-dark h2,
body.bos-ops-dark h3,
body.bos-ops-dark h4,
body.bos-ops-dark h5,
body.bos-ops-dark h6,
body.bos-ops-dark strong,
body.bos-ops-dark b{color:inherit}
body.bos-ops-dark .muted{color:var(--bos-ops-muted)!important}
body.bos-ops-dark .row{border-bottom-color:#223136!important}
body.bos-ops-dark hr{border-color:#26383d!important}
body.bos-ops-dark a{color:#73d9cd}

/* Buttons */
body.bos-ops-dark .btn.p,
body.bos-ops-dark button.p,
body.bos-ops-dark .p.btn{
  background:linear-gradient(135deg,#159f92,#20b8aa)!important;
  color:#f3fffd!important;
  border:1px solid #27c1b2!important;
  box-shadow:0 7px 18px rgba(17,151,139,.17);
}
body.bos-ops-dark .btn.p:hover,
body.bos-ops-dark button.p:hover{filter:brightness(1.08)}
body.bos-ops-dark .btn.s,
body.bos-ops-dark button.s,
body.bos-ops-dark .s.btn,
body.bos-ops-dark .bos-seller-menu-shell .btn.s,
body.bos-ops-dark .bos-seller-menu-shell .s{
  background:#162226!important;
  color:#d7e3e2!important;
  border-color:#304249!important;
  box-shadow:none!important;
}
body.bos-ops-dark .btn.s:hover,
body.bos-ops-dark button.s:hover,
body.bos-ops-dark .bos-seller-menu-shell .btn.s:hover{
  background:#1c2c31!important;
  border-color:#476067!important;
}
body.bos-ops-dark button:disabled,
body.bos-ops-dark .btn:disabled{opacity:.45;filter:saturate(.65)}

/* Forms */
body.bos-ops-dark input:not([type="checkbox"]):not([type="radio"]),
body.bos-ops-dark select,
body.bos-ops-dark textarea,
body.bos-ops-dark .field input,
body.bos-ops-dark .field select,
body.bos-ops-dark .field textarea,
body.bos-ops-dark .bos-seller-menu-shell .field input,
body.bos-ops-dark .bos-seller-menu-shell .field select,
body.bos-ops-dark .bos-seller-menu-shell .field textarea,
body.bos-ops-dark .bos-seller-menu-shell select.menu-editor-select{
  background:#0e181b!important;
  color:#e5eeee!important;
  border-color:#304249!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}
body.bos-ops-dark input::placeholder,
body.bos-ops-dark textarea::placeholder{color:#61777b!important;opacity:1}
body.bos-ops-dark input:focus,
body.bos-ops-dark select:focus,
body.bos-ops-dark textarea:focus{
  outline:none!important;
  border-color:#2ebcaf!important;
  box-shadow:0 0 0 3px rgba(32,184,170,.14)!important;
}
body.bos-ops-dark input:disabled,
body.bos-ops-dark select:disabled,
body.bos-ops-dark textarea:disabled{
  background:#111b1e!important;
  color:#718589!important;
}
body.bos-ops-dark input[type="checkbox"],
body.bos-ops-dark input[type="radio"]{accent-color:var(--bos-ops-accent)}
body.bos-ops-dark .field label{color:#c9d6d5}

/* Pills, chips, status */
body.bos-ops-dark .badge{
  background:#18302f!important;
  color:#9fe5db!important;
  border:1px solid #28504d;
}
body.bos-ops-dark .badge.ok,
body.bos-ops-dark .ok.badge{
  background:#17372d!important;
  color:#8be0b8!important;
  border-color:#26513f!important;
}
body.bos-ops-dark .badge.warn,
body.bos-ops-dark .warn.badge,
body.bos-ops-dark .badge.partial{
  background:#3a301a!important;
  color:#f5cf80!important;
  border-color:#5d4c27!important;
}
body.bos-ops-dark .chip{
  background:#142024!important;
  color:#c3d2d2!important;
  border-color:#2d4046!important;
}
body.bos-ops-dark .chip.on,
body.bos-ops-dark .restaurant-production-toolbar .chip.on{
  background:#173b38!important;
  color:#a8ebe2!important;
  border-color:#28786f!important;
}
body.bos-ops-dark .restaurant-production-toolbar .chip.on{box-shadow:0 0 0 3px rgba(44,181,168,.18)!important;font-weight:950!important}
body.bos-ops-dark .restaurant-production-toolbar .chip:disabled,
body.bos-ops-dark .restaurant-production-toolbar .chip.is-disabled{opacity:.36!important;cursor:not-allowed!important;box-shadow:none!important}
body.bos-ops-dark .choice.on{
  background:#16302f!important;
  color:#eaf8f6!important;
  border-color:#2cb5a8!important;
  box-shadow:0 0 0 3px rgba(32,184,170,.10)!important;
}
body.bos-ops-dark .choice.on::after{background:var(--bos-ops-accent)!important}

/* Messages */
body.bos-ops-dark .authmsg{
  background:#172429!important;
  color:#bdcccd!important;
  border:1px solid #2a3c42;
}
body.bos-ops-dark .authmsg.ok{
  background:#153329!important;
  color:#92dcb9!important;
  border-color:#27523f!important;
}
body.bos-ops-dark .authmsg.err{
  background:#351e22!important;
  color:#ffaaa9!important;
  border-color:#603136!important;
}
body.bos-ops-dark .seller-signup-note{
  background:#142226!important;
  color:#aebfc1!important;
  border-color:#2c3e43!important;
}

/* Tables and generic lists */
body.bos-ops-dark .tbl td,
body.bos-ops-dark .tbl th{border-bottom-color:#233338!important}
body.bos-ops-dark .tbl th{color:#8fa3a6!important}
body.bos-ops-dark table{color:var(--bos-ops-text)}
body.bos-ops-dark tr:hover td{background:rgba(255,255,255,.012)}

/* Calendar / selectors used inside seller tools */
body.bos-ops-dark .slot{
  background:#111d20!important;
  color:#d9e5e4!important;
  border-color:#2c3f45!important;
}
body.bos-ops-dark .slot small{color:#879da0!important}
body.bos-ops-dark .slot.on{
  background:#173c38!important;
  color:#b8eee7!important;
  border-color:#2ab5a7!important;
}
body.bos-ops-dark .slot:disabled{
  background:#11191c!important;
  color:#647477!important;
  border-color:#202d31!important;
}
body.bos-ops-dark .bos-local-picker{background:#0e181b!important}
body.bos-ops-dark .bos-picker-sheet{
  background:#121d21!important;
  color:#e7f0ef!important;
  border:1px solid #2b4045;
}
body.bos-ops-dark .bos-picker-grid select{background:#0d171a!important;color:#e7f0ef!important;border-color:#304249!important}
body.bos-ops-dark .steps .step{background:#172429!important;color:#91a5a8!important}
body.bos-ops-dark .steps .step.on{background:#173b38!important;color:#9fe7dc!important}

/* Builder remains an internal dark workspace, preview stays deliberately light. */
body.bos-ops-dark .builder .box{background:#121d21!important}
body.bos-ops-dark .builder .canvas{background:#0e171a!important;border:1px solid #26383d}
body.bos-ops-dark .builder .preview,
body.bos-ops-dark .builder .preview *{color-scheme:light}
body.bos-ops-dark .builder .preview{background:#fff!important;color:#15192d!important}
body.bos-ops-dark .builder .preview .pvblock{border-color:#edf0f5!important}

/* Staff portal */
body.bos-ops-dark #staffTeamList .staff-team-row{border-bottom-color:#223136!important}
body.bos-ops-dark #staffAlertList .ops-card,
body.bos-ops-dark .ops-card{
  background:#142025!important;
  border-color:#2a3c42!important;
}
body.bos-ops-dark .ops-card.urgent{
  background:#321d21!important;
  border-color:#6b343c!important;
}
body.bos-ops-dark .staff-paid-compact{
  background:#142a23!important;
  border-color:#285142!important;
}
body.bos-ops-dark .staff-paid-close{background:#17252a!important;color:#dce8e7!important;border-color:#32464c!important}
body.bos-ops-dark #staffAlertList select{background:#0e181b!important;color:#e5eeee!important;border-color:#304249!important}

/* Restaurant operations */
body.bos-ops-dark .restaurant-printer-station,
body.bos-ops-dark .restaurant-printer-depts label,
body.bos-ops-dark .restaurant-notify-line,
body.bos-ops-dark .restaurant-payment-detail,
body.bos-ops-dark .restaurant-payment-detail-body,
body.bos-ops-dark .restaurant-history-day,
body.bos-ops-dark .restaurant-receipt-field,
body.bos-ops-dark .restaurant-table-entry,
body.bos-ops-dark .menu-import-drop,
body.bos-ops-dark .menu-import-row{
  background:#131f23!important;
  color:#dfe9e8!important;
  border-color:#2a3d42!important;
}
body.bos-ops-dark .restaurant-printer-depts label:hover,
body.bos-ops-dark .restaurant-table-entry:hover{background:#18282c!important;border-color:#3a545a!important}
body.bos-ops-dark .restaurant-ingredient-toggle{background:#111d20!important;border-color:#2c4045!important}
body.bos-ops-dark .restaurant-ingredient-price input:disabled{background:#10191c!important}
body.bos-ops-dark .restaurant-refund-box{background:#342b19!important;color:#ead39c!important;border-color:#5b4b29!important}
body.bos-ops-dark .payment-partial-card{background:#30291a!important;border-color:#725a29!important}
body.bos-ops-dark .payment-partial-banner{background:#3a301a!important;color:#f2cf85!important}
body.bos-ops-dark .payment-progress{background:#201e19!important}

/* Seller menu visual system: v137.1 used explicit light colors, so v137.7 re-scopes it. */
body.bos-ops-dark .bos-seller-menu-shell,
body.bos-ops-dark .bos-seller-menu-shell .main{
  background:var(--bos-ops-bg)!important;
  color:var(--bos-ops-text)!important;
}
body.bos-ops-dark .bos-seller-menu-shell .side{
  background:#081013!important;
  border-right-color:#1e2c30!important;
}
body.bos-ops-dark .bos-seller-menu-shell .side .logo{color:#f0f7f6!important}
body.bos-ops-dark .bos-seller-menu-shell .side button{color:#9fb1b4!important;background:transparent!important;border-color:transparent!important}
body.bos-ops-dark .bos-seller-menu-shell .side button.on,
body.bos-ops-dark .bos-seller-menu-shell .side button:hover{background:#15302f!important;color:#effcf9!important;border-color:#24534e!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel,
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-cat,
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-card,
body.bos-ops-dark .bos-seller-menu-shell .menu-item-edit-panel,
body.bos-ops-dark .bos-seller-menu-shell .restaurant-ingredient-card,
body.bos-ops-dark .bos-seller-menu-shell .restaurant-ingredient-toggle{
  background:#121d21!important;
  color:#e2eceb!important;
  border-color:#2a3d42!important;
  box-shadow:none!important;
}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-cat{background:#101a1e!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-card{background:#152125!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-card.unavailable{background:#111a1d!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-cat>.row{border-bottom-color:#293b40!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-cat>.row>div b,
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-card>div:nth-child(2)>b{color:#e8f1f0!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-card .muted{color:#8fa3a6!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .dietary-badges .badge{background:#17302f!important;color:#a2e5dd!important;border-color:#28504d!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-cat>.row>.btn,
body.bos-ops-dark .bos-seller-menu-shell .menu-editor-panel .menu-item-actions .btn:last-child{background:#2b1c1e!important;color:#ffaaa4!important;border-color:#563036!important}
body.bos-ops-dark .bos-seller-menu-shell .menu-item-edit-panel{background:#132320!important}

/* Inline light utility cards generated by operational renderers. */
body.bos-ops-dark .main [style*="background:#fafaff"],
body.bos-ops-dark .main [style*="background: #fafaff"],
body.bos-ops-dark .main [style*="background:#fafbff"],
body.bos-ops-dark .main [style*="background:#fafbfc"],
body.bos-ops-dark .main [style*="background:#fbfbfe"],
body.bos-ops-dark .main [style*="background:#f7f7fb"]{
  background:#131f23!important;
  color:#dfe9e8!important;
  border-color:#2a3d42!important;
}

/* Scrollbars are low contrast in operational mode. */
body.bos-ops-dark *{scrollbar-color:#365057 #0d1619}
body.bos-ops-dark ::-webkit-scrollbar{width:11px;height:11px}
body.bos-ops-dark ::-webkit-scrollbar-track{background:#0d1619}
body.bos-ops-dark ::-webkit-scrollbar-thumb{background:#365057;border-radius:999px;border:3px solid #0d1619}

/* Mobile: keep dark hierarchy compact and readable. */
@media(max-width:850px){
  body.bos-ops-dark .side{box-shadow:5px 0 18px rgba(0,0,0,.18)}
  body.bos-ops-dark .main>.top{background:#0e171a!important}
}
@media(max-width:560px){
  body.bos-ops-dark .main>.sec{background:var(--bos-ops-bg)!important}
  body.bos-ops-dark .card,
  body.bos-ops-dark .panel,
  body.bos-ops-dark .ops-card{box-shadow:none}
  body.bos-ops-dark .topactions{background:transparent!important}
}
