/* Restaurant POS — dark premium restaurant UI based on the supplied reference */
:root{
  --brand:#ff9f1a;
  --brand-dark:#e87800;
  --brand-deep:#b85600;
  --accent:#ffc247;
  --accent-dark:#f19d08;
  --ink:#f6f7f8;
  --ink-soft:#d7dadd;
  --muted:#9ba1a8;
  --bg:#070a0d;
  --surface:rgba(18,22,26,.88);
  --surface-soft:rgba(26,31,36,.82);
  --line:rgba(255,255,255,.13);
  --line-dark:rgba(255,255,255,.19);
  --green:#45c85a;
  --green-soft:rgba(56,184,83,.16);
  --blue:#33a6ff;
  --blue-soft:rgba(35,139,221,.16);
  --orange:#ff9f1a;
  --orange-soft:rgba(255,159,26,.16);
  --danger:#ff554d;
  --danger-soft:rgba(255,77,77,.15);
  --shadow-sm:0 8px 22px rgba(0,0,0,.22);
  --shadow:0 14px 38px rgba(0,0,0,.32);
  --shadow-lg:0 24px 70px rgba(0,0,0,.42);
  --radius:18px;
  --radius-sm:12px;
  --red:#ff7a1a;
  --red-dark:#d85e00;
  --red-soft:rgba(255,122,26,.14);
  font-family:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink)
}
*{scrollbar-color:#585f66 #11161a}
html{background:#05080a;color-scheme:dark}
body{
  background:#070a0d url('../images/ui-dark-food-bg.webp') center/cover fixed no-repeat;
  color:var(--ink);
  font-size:14px;
  letter-spacing:-.005em
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  opacity:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 84% 5%,rgba(255,146,22,.14),transparent 26%),
    radial-gradient(circle at 18% 90%,rgba(255,91,0,.10),transparent 27%),
    linear-gradient(115deg,rgba(3,7,9,.96),rgba(5,8,10,.89) 52%,rgba(17,8,2,.82));
  background-size:auto
}
a{color:inherit}
::selection{background:rgba(255,174,38,.33);color:#fff}

/* Shell and navigation */
.app-shell{min-height:100vh;background:transparent}
.sidebar{
  width:294px;
  padding:26px 20px 22px;
  background:linear-gradient(180deg,rgba(4,9,12,.97),rgba(5,11,14,.94));
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  border-top-left-radius:18px;
  border-bottom-left-radius:18px;
  box-shadow:14px 0 45px rgba(0,0,0,.33);
  backdrop-filter:blur(22px)
}
.sidebar::before{display:none}
.brand-wrap{gap:14px;margin:4px 12px 38px}
.brand-mark{
  width:56px;height:56px;border-radius:0;background:transparent;color:#ffb128;
  box-shadow:none;overflow:visible
}
.brand-mark::after{display:none}
.brand-mark svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.brand{line-height:1.02}
.brand strong{font-size:21px;color:#fff;font-weight:850;letter-spacing:-.035em}
.brand span{margin-top:8px;color:#ffb128;font-size:10px;letter-spacing:.38em;font-weight:900}
.user-chip{
  min-height:76px;
  margin:0 0 30px;
  padding:12px 12px;
  gap:13px;
  background:transparent;
  border:0;
  border-radius:18px
}
.user-chip:hover{background:rgba(255,255,255,.045)}
.avatar-wrap{position:relative;flex:0 0 auto}
.avatar-wrap i{position:absolute;right:-1px;bottom:1px;width:12px;height:12px;border-radius:50%;background:#65cf22;border:2px solid #081014;box-shadow:0 0 14px rgba(101,207,34,.45)}
.avatar{width:55px;height:55px;border-radius:50%;background:linear-gradient(145deg,#242a2f,#11161a);color:#ffc13a;border:1px solid rgba(255,255,255,.26);font-size:24px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.015)}
.user-chip-copy{min-width:0;flex:1}
.user-chip strong{font-size:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-chip span{font-size:10px;color:#d6d8da;margin-top:5px;letter-spacing:.04em}
.user-chip>b{font-size:31px;font-weight:300;color:#d7dadd;line-height:1}
.sidebar nav{gap:9px}
.sidebar nav a,.logout-link{
  min-height:61px;
  padding:13px 17px;
  border-radius:12px;
  border:1px solid transparent;
  color:#eef0f2;
  font-size:16px;
  font-weight:590;
  gap:16px;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease
}
.sidebar nav a:hover,.logout-link:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(3px)}
.sidebar nav a.active{
  background:linear-gradient(100deg,rgba(255,161,29,.28),rgba(255,170,36,.10));
  color:#fff;
  border-color:rgba(255,181,65,.50);
  box-shadow:0 8px 22px rgba(231,127,0,.16),inset 0 0 24px rgba(255,178,56,.09)
}
.sidebar nav a.active::after{display:none}
.nav-icon{width:27px;height:27px;border-radius:0;background:transparent;color:currentColor;font-size:0;display:grid;place-items:center}
.nav-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav a.active .nav-icon{background:transparent;color:#fff}
.logout-link{margin-top:auto;border:0;color:#eceff1}
.logout-link .nav-icon{color:#e5e8ea}

.main-content{
  margin-left:294px;
  width:calc(100% - 294px);
  min-height:100vh;
  padding:32px 39px 30px;
  background:linear-gradient(180deg,rgba(5,8,10,.58),rgba(8,10,12,.78));
  position:relative
}
body.role-waiter .main-content,
body.role-cashier .main-content,
body.role-kitchen .main-content{
  background-image:linear-gradient(180deg,rgba(4,8,10,.60),rgba(7,9,11,.84));
  background-size:cover;background-position:center;background-attachment:fixed
}
.topbar{
  min-height:80px;
  margin:0 0 24px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none
}
.topbar-copy h1{font-size:31px;font-weight:850;color:#fff;letter-spacing:-.035em}
.topbar-copy p{font-size:14px;color:#e4e5e7;font-weight:450;margin-top:5px}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:20px}
.branch-pill,.notification-pill{
  min-height:50px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.08);
  box-shadow:0 8px 25px rgba(0,0,0,.18);
  backdrop-filter:blur(14px)
}
.branch-pill{display:flex;align-items:center;gap:48px;padding:0 18px;font-size:14px;color:#f5f5f5;min-width:180px;justify-content:space-between}
.branch-pill svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.notification-pill{width:58px;display:grid;place-items:center;position:relative}
.notification-pill svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.notification-pill i{position:absolute;right:8px;top:7px;width:9px;height:9px;background:#ffb237;border:2px solid #222;border-radius:50%}
.role-pill{display:none}
.menu-toggle{width:46px;height:46px;padding:10px;border-radius:12px;background:rgba(255,255,255,.08);border-color:var(--line);color:#fff}
.menu-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* Global surfaces */
.card,.pos-panel,.menu-panel,.order-detail-card,.add-cart-card,.recent-payments-card,
.waiter-v7-menu-card,.waiter-v7-order-panel,.waiter-active-prime-board,
.queue-column,.history-card{
  background:linear-gradient(145deg,rgba(24,29,34,.91),rgba(12,16,20,.92));
  border:1px solid rgba(255,255,255,.13);
  color:var(--ink);
  box-shadow:var(--shadow-sm);
  backdrop-filter:blur(16px)
}
.card{border-radius:18px;padding:20px}
.card h2,.card h3,.panel-title h2,.queue-head h2{color:#fff}
.card h2{font-size:19px}
.muted{color:#9ba1a8!important}
.stat{color:#ffc13d;font-size:31px}
.eyebrow{color:#ffb128}
.grid{gap:15px}
.metric-card{background:linear-gradient(145deg,rgba(25,30,35,.94),rgba(14,18,22,.95));border:1px solid var(--line);color:#fff;box-shadow:var(--shadow-sm)}
.metric-card span,.metric-card small{color:#aeb4ba}
.metric-card strong{color:#fff}
.split{gap:12px}
.actions{gap:8px;flex-wrap:wrap}

/* Buttons */
.btn{
  border-radius:11px;
  min-height:43px;
  padding:10px 15px;
  font-weight:800;
  letter-spacing:.005em;
  box-shadow:none
}
.btn:hover{transform:translateY(-2px)}
.btn-primary,.btn-gold{
  background:linear-gradient(135deg,#ff7b1a,#ffb52e);
  color:#fff;
  border-color:rgba(255,203,99,.35);
  box-shadow:0 10px 24px rgba(239,115,0,.22)
}
.btn-primary:hover,.btn-gold:hover{box-shadow:0 13px 30px rgba(239,115,0,.30)}
.btn-secondary,.btn-light{
  background:rgba(255,255,255,.07);
  color:#f3f5f6;
  border-color:rgba(255,255,255,.13)
}
.btn-secondary:hover,.btn-light:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-success{background:linear-gradient(135deg,#239842,#49c35a);color:#fff}
.btn-warning{background:rgba(255,180,42,.14);color:#ffc34f;border-color:rgba(255,180,42,.35)}
.btn-danger{background:linear-gradient(135deg,#e13f38,#ff655d)}

/* Inputs */
.field label{color:#c4c8cc;font-size:10px}
.field input,.field select,.field textarea,
.history-filters input,.history-filters select,
.waiter-search-box input,.waiter-input-wrap input,.waiter-item-note{
  color:#f5f7f8;
  background:rgba(4,8,11,.60);
  border-color:rgba(255,255,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)
}
.field input::placeholder,.field textarea::placeholder,.waiter-search-box input::placeholder,.waiter-input-wrap input::placeholder{color:#747c83}
.field input:hover,.field select:hover,.field textarea:hover{border-color:rgba(255,190,70,.42)}
.field input:focus,.field select:focus,.field textarea:focus,
.waiter-search-box:focus-within,.waiter-input-wrap:focus-within{
  border-color:#ffad2d;
  box-shadow:0 0 0 4px rgba(255,165,31,.11)
}
option{background:#14191d;color:#fff}
label{color:#d9dcdf}

/* Tables */
.table-wrap{background:rgba(4,8,11,.46);border-color:rgba(255,255,255,.11);border-radius:14px}
table{color:#dfe2e5}
th{background:rgba(255,255,255,.055);color:#aeb4ba;border-bottom-color:rgba(255,255,255,.10)}
td{border-bottom-color:rgba(255,255,255,.075)}
tbody tr:hover{background:rgba(255,174,39,.055)}
.image-thumb{border-color:rgba(255,255,255,.13);background:#10151a}

/* Status and feedback */
.badge{border:1px solid transparent;font-size:9px}
.badge.queued,.badge.unpaid{background:rgba(255,172,34,.15);color:#ffc24a;border-color:rgba(255,174,41,.25)}
.badge.cooking,.badge.partial{background:rgba(42,154,232,.16);color:#75c7ff;border-color:rgba(64,169,239,.25)}
.badge.ready,.badge.paid,.badge.served{background:rgba(50,191,81,.16);color:#77de89;border-color:rgba(64,196,91,.25)}
.badge.cancelled,.badge.voided,.badge.refunded{background:rgba(255,78,71,.16);color:#ff8984;border-color:rgba(255,91,84,.25)}
.alert{border-radius:12px;backdrop-filter:blur(12px)}
.alert.success{background:rgba(38,173,75,.16);color:#8bea9d;border-color:rgba(70,210,101,.25)}
.alert.danger{background:rgba(229,65,58,.16);color:#ffaaa6;border-color:rgba(255,91,84,.25)}
.alert.info{background:rgba(255,171,31,.14);color:#ffd174;border-color:rgba(255,184,63,.26)}
.empty,.empty-state{color:#949ba2}
.empty-state strong{color:#f1f3f5}
.toast{background:#11171b;color:#fff;border:1px solid rgba(255,255,255,.16);box-shadow:var(--shadow-lg)}
.toast.success{border-color:rgba(68,206,97,.35)}
.toast.error{border-color:rgba(255,82,75,.35)}

/* Login */
.auth-body{
  background:
    linear-gradient(100deg,rgba(2,6,8,.92),rgba(4,7,9,.62)),
    url('../images/ui-burger-hero.webp') right center/cover no-repeat;
  color:#fff
}
.auth-body::before{background:radial-gradient(circle at 25% 18%,rgba(255,157,22,.18),transparent 30%),linear-gradient(90deg,rgba(3,7,9,.90),rgba(3,7,9,.44));opacity:1}
.auth-card{
  max-width:470px;
  padding:34px;
  background:linear-gradient(145deg,rgba(19,24,28,.95),rgba(7,11,14,.95));
  border:1px solid rgba(255,255,255,.17);
  color:#fff;
  box-shadow:0 35px 90px rgba(0,0,0,.50);
  backdrop-filter:blur(20px)
}
.auth-card .brand-wrap{margin:0 0 28px}
.auth-card h1{font-size:34px;color:#fff}
.auth-card .btn-primary{width:100%}

/* Shared page banners */
.ordering-intro,.kitchen-banner,.history-hero,.sales-truth-banner,
.waiter-order-prime-head,.waiter-active-prime-hero{
  color:#fff;
  background:
    linear-gradient(100deg,rgba(7,10,12,.97),rgba(15,15,14,.82) 58%,rgba(35,17,2,.62)),
    url('../images/ui-burger-hero.webp') right center/cover no-repeat;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:var(--shadow);
  overflow:hidden
}
.ordering-intro::before,.ordering-intro::after,.kitchen-banner::before,.kitchen-banner::after,.history-hero::before,.history-hero::after{display:none}
.ordering-intro h2,.kitchen-banner h2,.history-hero h2{color:#fff}
.ordering-intro p,.kitchen-banner p,.history-hero p{color:#cdd1d4}
.flow-step{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.11);color:#dce0e3}
.flow-step b{background:linear-gradient(135deg,#ff8a17,#ffbd3d);color:#fff}
.live-indicator,.ledger-health.ok{background:rgba(43,190,78,.16);color:#7fe394;border:1px solid rgba(64,213,98,.24)}
.ledger-health.warning{background:rgba(255,174,33,.15);color:#ffd071}

/* Cashier */
.cashier-ledger-card.today,.history-summary .metric-card.sales-today,.sales-metric.sales-today{background:linear-gradient(135deg,#ff6d16,#f2a316);color:#fff;border:0}
.cashier-ledger-card.overall,.history-summary .metric-card.overall,.sales-metric.overall{background:linear-gradient(145deg,#252b31,#11161a);color:#fff;border:1px solid rgba(255,255,255,.11)}
.cashier-order-filters button,.category-tabs button{
  color:#b8bec4;background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.11)
}
.cashier-order-filters button:hover,.category-tabs button:hover{border-color:rgba(255,180,51,.45);color:#ffc04b;background:rgba(255,172,34,.08)}
.cashier-order-filters button.active,.category-tabs button.active{
  background:linear-gradient(135deg,#ff7a16,#ffad29);border-color:#ff9c1f;color:#fff;box-shadow:0 8px 18px rgba(239,119,0,.22)
}
.cashier-order-ticket,.cashier-board-ticket,.order-ticket{
  background:linear-gradient(145deg,rgba(28,33,38,.95),rgba(12,16,19,.96));
  border-color:rgba(255,255,255,.12)!important;
  color:#e8ebed;
  box-shadow:0 10px 26px rgba(0,0,0,.22)
}
.cashier-order-ticket.status-ready:not(.selected),.cashier-order-ticket.status-cooking,.cashier-order-ticket.status-queued,.cashier-order-ticket.status-served{background:linear-gradient(145deg,rgba(28,33,38,.96),rgba(12,16,19,.98))}
.cashier-order-ticket.status-ready{border-color:rgba(66,207,99,.50)!important}
.cashier-order-ticket.status-cooking{border-color:rgba(67,167,235,.48)!important}
.cashier-order-ticket.status-queued{border-color:rgba(255,184,54,.48)!important}
.cashier-order-ticket.status-served{border-color:rgba(166,174,181,.30)!important}
.order-status-banner.ready{background:linear-gradient(90deg,#209a42,#45c35a)}
.order-status-banner.cooking{background:linear-gradient(90deg,#1e78b4,#3ba7ed)}
.order-status-banner.queued{background:linear-gradient(90deg,#de8b00,#ffbd3d);color:#fff}
.order-status-banner.served{background:#555f67}
.order-status-banner.placed{background:#2a3035;color:#e7e9eb}
.progress-chip{background:rgba(255,255,255,.055);color:#899198}
.progress-chip.has-count.queued{background:rgba(255,175,34,.16);color:#ffc14a}
.progress-chip.has-count.cooking{background:rgba(54,156,225,.16);color:#76caff}
.progress-chip.has-count.ready{background:rgba(50,190,81,.16);color:#79df8c}
.progress-chip.has-count.served{background:rgba(255,255,255,.08);color:#c8cdd1}
.cashier-ticket-action{background:rgba(255,255,255,.045);border-top-color:rgba(255,255,255,.09);color:#ffbb42}
.selected-order-strip{background:linear-gradient(145deg,rgba(24,29,34,.94),rgba(12,16,19,.95));border-color:rgba(255,255,255,.13);color:#fff}
.selected-order-strip.has-order{background:linear-gradient(145deg,rgba(28,48,35,.92),rgba(12,20,15,.94));border-color:rgba(71,205,98,.35)}
.selected-order-icon{background:rgba(255,171,31,.13);color:#ffc14a}
.product-card{background:linear-gradient(145deg,rgba(29,34,39,.96),rgba(14,18,22,.96));border-color:rgba(255,255,255,.12);color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.product-card:hover{border-color:rgba(255,184,57,.45);box-shadow:0 15px 30px rgba(0,0,0,.30)}
.product-category{color:#ffb539}
.product-price{color:#ffc144}
.product-image-placeholder{background:linear-gradient(145deg,#22292e,#11161a);color:#ffc04a}
.product-add{background:linear-gradient(135deg,#ff7b16,#ffb129);color:#fff}
.cart-item,.recent-payment-item,.order-batch{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10);color:#e9ecee}
.payment-box,.change-preview{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.11)}

/* Waiter home matching the reference */
.page-waiter-home .topbar{margin-bottom:10px}
.waiter-reference-home{max-width:1320px;margin:0 auto;position:relative;padding-bottom:2px;animation:uiRise .45s ease both}
.waiter-reference-hero{
  position:relative;
  min-height:264px;
  border:1px solid rgba(255,255,255,.15);
  border-bottom:0;
  border-radius:18px 18px 0 0;
  overflow:hidden;
  background:#090d10
}
.waiter-reference-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080c0f 0%,rgba(7,11,14,.97) 38%,rgba(7,11,14,.52) 62%,rgba(7,11,14,.08));pointer-events:none}
.waiter-reference-food{position:absolute;inset:0;background:url('../images/ui-burger-hero.webp') right center/auto 100% no-repeat;filter:saturate(1.08) contrast(1.03)}
.waiter-reference-copy{position:relative;z-index:2;padding:42px 42px 28px;max-width:650px}
.waiter-script-greeting{display:block;color:#ffb724;font-family:"Segoe Script","Brush Script MT",cursive;font-size:26px;font-weight:700;line-height:1;margin-bottom:10px;transform:rotate(-2deg);transform-origin:left}
.waiter-reference-copy h2{margin:0;color:#f5f6f7;font-size:50px;line-height:.98;letter-spacing:-.046em;font-weight:760}
.waiter-reference-copy h2 strong{display:inline-block;margin-top:5px;color:#ffbc35;font-weight:900}
.waiter-reference-copy p{font-size:16px;color:#e5e7e9;margin:19px 0 0}
.waiter-title-line{display:block;width:65px;height:2px;background:linear-gradient(90deg,#ffad1f,#ffcf54);margin-top:10px;border-radius:99px}
.waiter-reference-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(255,255,255,.15);
  border-top:0;
  background:rgba(10,14,17,.82);
  backdrop-filter:blur(18px);
  overflow:hidden
}
.waiter-reference-stats article{min-height:91px;display:flex;align-items:center;gap:14px;padding:15px 22px;border-right:1px solid rgba(255,255,255,.12)}
.waiter-reference-stats article:last-child{border-right:0}
.waiter-reference-stats small{display:block;color:#d8dbde;font-size:14px;margin-bottom:2px}
.waiter-reference-stats strong{display:block;color:#fff;font-size:26px;line-height:1}
.waiter-stat-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08)}
.waiter-stat-icon svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.waiter-stat-icon.open{background:linear-gradient(145deg,rgba(43,97,231,.25),rgba(55,83,174,.08));color:#4e8cff}
.waiter-stat-icon.open svg{stroke:#5f9eff}
.waiter-stat-icon.waiting{background:linear-gradient(145deg,rgba(255,152,16,.30),rgba(153,87,0,.12))}
.waiter-stat-icon.waiting svg{stroke:#ffac27}
.waiter-stat-icon.cooking{background:linear-gradient(145deg,rgba(229,76,52,.34),rgba(130,44,31,.12))}
.waiter-stat-icon.cooking svg{stroke:#ff7064}
.waiter-stat-icon.ready{background:linear-gradient(145deg,rgba(60,168,54,.34),rgba(30,101,34,.12))}
.waiter-stat-icon.ready svg{stroke:#68dc63}
.waiter-reference-feature-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:17px;margin:20px 0}
.waiter-new-order-card,.waiter-food-message-card{
  position:relative;overflow:hidden;min-height:224px;border-radius:18px;border:1px solid rgba(255,255,255,.13);box-shadow:0 15px 35px rgba(0,0,0,.24)
}
.waiter-new-order-card{display:flex;align-items:center;gap:26px;padding:30px 30px;background:linear-gradient(120deg,#ff2b1c 0%,#ff7c1a 52%,#ffd12f 100%);color:#fff;transition:transform .2s ease,box-shadow .2s ease}
.waiter-new-order-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(255,103,10,.24)}
.waiter-large-plus{width:68px;height:68px;flex:0 0 68px;border-radius:50%;border:2px solid rgba(255,255,255,.75);display:grid;place-items:center;box-shadow:0 5px 18px rgba(0,0,0,.14)}
.waiter-large-plus svg{width:39px;height:39px;fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round}
.waiter-new-order-card>div{position:relative;z-index:2}
.waiter-new-order-card strong{display:block;font-size:27px;line-height:1.05}
.waiter-new-order-card small{display:block;font-size:17px;line-height:1.4;margin-top:8px;color:#fff}
.waiter-card-arrow{position:relative;z-index:2;margin-left:auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#f39a0d;font-size:30px;font-weight:350}
.waiter-card-watermark{position:absolute;right:-8px;bottom:-30px;width:290px;height:210px;fill:none;stroke:rgba(255,255,255,.15);stroke-width:4;stroke-linecap:round}
.waiter-food-message-card{display:flex;background:#090d0f}
.waiter-food-message-copy{position:relative;z-index:2;width:52%;padding:40px 12px 24px 32px;background:linear-gradient(90deg,#080c0e 0%,rgba(8,12,14,.94) 64%,rgba(8,12,14,.15));display:flex;flex-direction:column;justify-content:center}
.waiter-food-message-copy strong{font-size:24px;line-height:1.05;color:#fff}
.waiter-food-message-copy em{font-family:"Segoe Script","Brush Script MT",cursive;color:#ffc12b;font-size:29px;font-weight:650}
.waiter-food-message-copy p{color:#d7dadd;font-size:15px;line-height:1.45;margin:20px 0 0}
.waiter-food-message-copy i{width:57px;height:2px;background:#ffb41f;margin-top:8px}
.waiter-steak-photo{position:absolute;inset:0 0 0 33%;background:url('../images/ui-steak-card.webp') right center/cover no-repeat}
.waiter-reference-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.waiter-action-card{
  min-height:196px;
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:25px 24px;
  border-radius:17px;
  background:linear-gradient(145deg,rgba(26,31,36,.94),rgba(13,18,22,.96));
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.waiter-action-card:hover{transform:translateY(-4px);box-shadow:0 19px 38px rgba(0,0,0,.30)}
.waiter-action-card.purple:hover{border-color:rgba(170,89,247,.48)}
.waiter-action-card.blue:hover{border-color:rgba(54,163,240,.48)}
.waiter-action-card.green:hover{border-color:rgba(65,203,86,.48)}
.waiter-action-icon{width:68px;height:68px;flex:0 0 68px;border-radius:14px;display:grid;place-items:center}
.waiter-action-icon svg{width:38px;height:38px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.waiter-action-card.purple .waiter-action-icon{background:linear-gradient(145deg,#68427f,#3e2452)}
.waiter-action-card.blue .waiter-action-icon{background:linear-gradient(145deg,#2389c6,#14527b)}
.waiter-action-card.green .waiter-action-icon{background:linear-gradient(145deg,#248b3d,#145424)}
.waiter-action-card>div{padding-top:3px;min-width:0}
.waiter-action-card strong{display:block;font-size:22px;color:#fff;line-height:1.1}
.waiter-action-card small{display:block;color:#c8ccd0;font-size:14px;line-height:1.55;margin-top:10px}
.waiter-action-card b{display:inline-flex;margin-top:13px;padding:7px 11px;border-radius:8px;background:rgba(71,199,73,.12);color:#91e844;font-size:12px;white-space:nowrap}
.waiter-round-arrow{position:absolute;right:23px;bottom:23px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:27px;border:2px solid currentColor}
.waiter-action-card.purple .waiter-round-arrow{color:#9f53e7}
.waiter-action-card.blue .waiter-round-arrow{color:#2aa8fc}
.waiter-action-card.green .waiter-round-arrow{color:#76d318}
.waiter-secure-note{display:flex;align-items:center;justify-content:center;gap:10px;color:#e6c786;font-size:14px;margin:23px 0 0}
.waiter-secure-note svg{width:23px;height:23px;fill:none;stroke:#ffca45;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Waiter ordering + active tables */
.waiter-order-prime,.waiter-active-prime{color:#eef0f2}
.waiter-order-prime-head,.waiter-active-prime-hero{padding:26px 28px}
.waiter-order-prime-head h2,.waiter-active-prime-hero h2{color:#fff}
.waiter-order-prime-head p,.waiter-active-prime-hero p{color:#cbd0d4}
.waiter-prime-back{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}
.waiter-order-prime-service a{background:linear-gradient(145deg,rgba(27,32,37,.94),rgba(13,17,21,.96));border-color:rgba(255,255,255,.13);color:#f2f4f5}
.waiter-order-prime-service a.is-active{background:linear-gradient(135deg,#ff7418,#ffb22b);border-color:#ffb22b;color:#fff;box-shadow:0 10px 24px rgba(240,119,0,.22)}
.waiter-v7-menu-head h3,.waiter-v7-cart-head h3{color:#fff}
.waiter-v7-eyebrow{color:#ffb528}
.waiter-category-tabs{border-color:rgba(255,255,255,.10)}
.waiter-category-tabs button{background:rgba(255,255,255,.055);color:#afb5ba;border-color:rgba(255,255,255,.10)}
.waiter-category-tabs button.is-active{background:linear-gradient(135deg,#ff7817,#ffb12a);color:#fff;border-color:#ff9c20}
.waiter-product-card{background:linear-gradient(145deg,rgba(29,34,39,.98),rgba(13,17,21,.98));border-color:rgba(255,255,255,.12);box-shadow:0 8px 20px rgba(0,0,0,.23);color:#fff}
.waiter-product-card:hover{border-color:rgba(255,182,52,.46);box-shadow:0 15px 30px rgba(0,0,0,.30)}
.waiter-product-image{background:#11171b;border-color:rgba(255,255,255,.09)}
.waiter-product-copy small{color:#ffb637}
.waiter-product-copy strong{color:#fff}
.waiter-product-copy em{color:#929aa1}
.waiter-product-bottom b{color:#ffc049}
.waiter-product-bottom i{background:linear-gradient(135deg,#ff7617,#ffb22a);color:#fff}
.waiter-cart-item{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}
.waiter-cart-item-copy strong{color:#fff}.waiter-cart-item-copy small{color:#ffbd43}
.waiter-stepper{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.10)}
.waiter-stepper button{color:#ffc145}
.waiter-checkout-btn{background:linear-gradient(135deg,#ff7117,#ffb52d);box-shadow:0 12px 26px rgba(239,116,0,.25)}
.waiter-total-row{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.10)}
.waiter-total-row strong{color:#ffc245}
.waiter-submit-help{color:#8f979e}
.waiter-cart-empty,.waiter-empty-state{color:#8f979e}
.waiter-cart-empty strong,.waiter-empty-state strong{color:#eff2f4}
.waiter-mobile-cartbar{background:linear-gradient(135deg,#ff7117,#ffb52d);box-shadow:0 14px 36px rgba(0,0,0,.42)}
.waiter-success-card{background:linear-gradient(145deg,#20262b,#0e1317);border:1px solid rgba(255,255,255,.16);color:#fff}
.waiter-outline-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff}
.waiter-solid-btn{background:linear-gradient(135deg,#ff7317,#ffb52d);color:#fff}
.waiter-active-prime-metrics article{background:linear-gradient(145deg,rgba(28,33,38,.94),rgba(13,17,21,.96));border-color:rgba(255,255,255,.12);color:#fff;box-shadow:var(--shadow-sm)}
.waiter-active-prime-metrics article span,.waiter-active-prime-metrics article small{color:#aab1b7}
.waiter-active-prime-metrics article strong{color:#ffc143}
.waiter-active-prime-metrics article.ready strong{color:#69d77b}
.waiter-active-prime-filters button{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.10);color:#aeb5ba}
.waiter-active-prime-filters button.is-active{background:linear-gradient(135deg,#ff7317,#ffb32c);color:#fff;border-color:#ffa425}
.waiter-active-prime-search{background:rgba(4,8,11,.58);border-color:rgba(255,255,255,.13)}
.waiter-active-prime-card{background:linear-gradient(145deg,rgba(29,34,39,.98),rgba(13,17,21,.98));border-color:rgba(255,255,255,.12);box-shadow:0 9px 22px rgba(0,0,0,.23)}
.waiter-active-prime-card-main h3,.waiter-active-prime-card-foot strong{color:#fff}
.waiter-active-prime-card-main small,.waiter-active-prime-card-main>span,.waiter-active-prime-card-foot small{color:#929aa1}
.waiter-active-prime-card-main>strong{color:#ffc043}
.waiter-active-prime-progress div{background:rgba(255,255,255,.055);color:#8d959b}
.waiter-active-prime-card-foot{background:rgba(255,255,255,.035);border-top-color:rgba(255,255,255,.08)}
.waiter-active-prime-card-foot a{background:linear-gradient(135deg,#ff7317,#ffaf28)}

/* Kitchen */
body.role-kitchen .topbar{background:transparent}
.order-columns{gap:15px}
.queue-column{border-radius:18px}
.queue-column.waiting{border-top:4px solid #ffb128}
.queue-column.cooking-col{border-top:4px solid #37a8f1}
.queue-column.ready-col{border-top:4px solid #4fc263}
.queue-head{border-bottom-color:rgba(255,255,255,.10)}
.queue-count{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.12)}
.ticket-meta{color:#aeb5bb}
.ticket-items{color:#e7e9eb}
.order-ticket .btn{width:100%}

/* History / admin */
.history-caption{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.10)}
.history-total strong,.paid-amount{color:#74db87}
.receipt-no,.payment-method{background:rgba(255,172,33,.12);color:#ffc24d;border-color:rgba(255,178,45,.22)}
.sales-truth-banner{background:linear-gradient(105deg,rgba(6,10,13,.98),rgba(20,18,14,.88)),url('../images/ui-burger-hero.webp') right center/cover no-repeat}
.sales-truth-banner p{color:#c5cacf}

/* Motion */
.card,.metric-card,.ordering-intro,.history-hero,.kitchen-banner,.sales-truth-banner,
.waiter-order-prime-head,.waiter-active-prime-hero{animation:uiRise .38s ease both}
@keyframes uiRise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Responsive */
@media(max-width:1180px){
  .sidebar{width:265px}.main-content{margin-left:265px;width:calc(100% - 265px);padding:27px 25px}
  .waiter-reference-copy h2{font-size:44px}
  .waiter-reference-actions{grid-template-columns:1fr 1fr}.waiter-action-card.green{grid-column:1/-1}
}
@media(max-width:920px){
  .sidebar{width:285px;transform:translateX(-105%);border-radius:0;transition:.22s}
  .sidebar.open{transform:none}
  .sidebar.open~.sidebar-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(0,0,0,.68);backdrop-filter:blur(3px);z-index:35}
  .main-content{margin-left:0;width:100%;padding:20px}
  .menu-toggle{display:grid;place-items:center}
  .topbar-actions{gap:9px}.branch-pill{min-width:150px;gap:18px}.notification-pill{width:50px}
  .waiter-reference-feature-grid{grid-template-columns:1fr}
  .waiter-reference-stats{grid-template-columns:1fr 1fr}.waiter-reference-stats article:nth-child(2){border-right:0}.waiter-reference-stats article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}
@media(max-width:680px){
  .main-content{padding:14px 12px 24px}
  .topbar{min-height:65px;margin-bottom:12px}.topbar-copy h1{font-size:24px}.topbar-copy p{font-size:11px}.branch-pill{display:none}.notification-pill{width:45px;min-height:45px}.topbar-actions{margin-left:auto}
  .waiter-reference-hero{min-height:300px}.waiter-reference-food{opacity:.52;background-position:65% center}.waiter-reference-hero::after{background:linear-gradient(90deg,#080c0f 0%,rgba(7,11,14,.93) 60%,rgba(7,11,14,.35))}
  .waiter-reference-copy{padding:34px 22px}.waiter-script-greeting{font-size:22px}.waiter-reference-copy h2{font-size:38px}.waiter-reference-copy p{font-size:14px}
  .waiter-reference-stats article{min-height:76px;padding:12px 14px}.waiter-stat-icon{width:44px;height:44px}.waiter-stat-icon svg{width:26px;height:26px}.waiter-reference-stats small{font-size:11px}.waiter-reference-stats strong{font-size:22px}
  .waiter-new-order-card{min-height:190px;padding:24px 20px;gap:16px}.waiter-large-plus{width:58px;height:58px;flex-basis:58px}.waiter-new-order-card strong{font-size:24px}.waiter-new-order-card small{font-size:14px}.waiter-card-arrow{width:45px;height:45px;font-size:25px}
  .waiter-food-message-card{min-height:190px}.waiter-food-message-copy{padding:28px 10px 20px 22px;width:61%}.waiter-food-message-copy strong{font-size:20px}.waiter-food-message-copy em{font-size:23px}.waiter-food-message-copy p{font-size:12px}.waiter-steak-photo{left:38%}
  .waiter-reference-actions{grid-template-columns:1fr}.waiter-action-card.green{grid-column:auto}.waiter-action-card{min-height:150px;padding:20px}.waiter-action-icon{width:58px;height:58px;flex-basis:58px}.waiter-action-icon svg{width:32px;height:32px}.waiter-action-card strong{font-size:20px}.waiter-action-card small{font-size:13px}.waiter-action-card b{font-size:10px}.waiter-round-arrow{width:40px;height:40px;right:18px;bottom:18px}
  .grid-2,.grid-3,.grid-4,.form-row{grid-template-columns:1fr}
  .ordering-intro,.history-hero,.kitchen-banner,.sales-truth-banner{padding:19px;align-items:flex-start;flex-direction:column}
  .card{padding:14px}.table-wrap{border-radius:12px}
}
@media(max-width:430px){
  .main-content{padding:10px 9px 20px}.topbar-copy h1{font-size:21px}.topbar-copy p{font-size:10px}.notification-pill{display:none}
  .waiter-reference-copy h2{font-size:33px}.waiter-reference-stats{grid-template-columns:1fr 1fr}.waiter-reference-stats article{gap:9px;padding:10px}.waiter-stat-icon{width:39px;height:39px}.waiter-stat-icon svg{width:23px;height:23px}
  .waiter-new-order-card{padding:22px 16px}.waiter-card-watermark{display:none}.waiter-card-arrow{position:absolute;right:17px;bottom:17px}.waiter-new-order-card>div{padding-right:42px}
  .waiter-food-message-copy{width:68%}.waiter-steak-photo{left:40%}
  .waiter-action-card{padding:18px 16px}.waiter-action-card b{white-space:normal}
}

/* Final shell precedence: older role-specific rules must not restore the light topbar. */
body.role-waiter .topbar,
body.role-cashier .topbar,
body.role-superadmin .topbar,
body.role-kitchen .topbar{
  min-height:66px;
  margin:0 0 14px;
  padding:0;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important
}
body.role-waiter .topbar h1,
body.role-cashier .topbar h1,
body.role-superadmin .topbar h1,
body.role-kitchen .topbar h1{color:#fff;font-size:29px}
body.role-waiter .topbar p,
body.role-cashier .topbar p,
body.role-superadmin .topbar p,
body.role-kitchen .topbar p{color:#d8dcdf}
body.role-waiter .main-content,
body.role-cashier .main-content,
body.role-superadmin .main-content,
body.role-kitchen .main-content{
  background:
    radial-gradient(circle at 86% 4%,rgba(255,146,22,.10),transparent 27%),
    linear-gradient(180deg,rgba(6,10,12,.88),rgba(7,10,12,.96)),
    url('../images/ui-dark-food-bg.webp') center/cover fixed no-repeat!important
}
@media(min-width:921px){
  body.role-waiter .main-content,
  body.role-cashier .main-content,
  body.role-superadmin .main-content,
  body.role-kitchen .main-content{padding-top:24px;padding-bottom:22px}
}

/* === V20 readability fixes: waiter new order + kitchen queue === */
body.role-waiter .waiter-order-prime .waiter-v7-menu-card,
body.role-waiter .waiter-order-prime .waiter-v7-order-panel,
body.role-waiter .waiter-order-prime .waiter-v7-cart-footer,
body.role-waiter .waiter-order-prime .waiter-v7-customer-step,
body.role-waiter .waiter-order-prime .waiter-v7-existing-order{
  background:linear-gradient(145deg,rgba(20,25,30,.96),rgba(10,13,17,.97))!important;
  border-color:rgba(255,255,255,.11)!important;
  color:#eef2f5!important;
  box-shadow:0 16px 34px rgba(0,0,0,.24)!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-menu-head,
body.role-waiter .waiter-order-prime .waiter-v7-cart-head,
body.role-waiter .waiter-order-prime .waiter-v7-step-head{
  color:#fff!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-menu-head h3,
body.role-waiter .waiter-order-prime .waiter-v7-cart-head h3,
body.role-waiter .waiter-order-prime .waiter-v7-step-head h4,
body.role-waiter .waiter-order-prime .waiter-v7-existing-order strong,
body.role-waiter .waiter-order-prime .waiter-cart-item-copy strong,
body.role-waiter .waiter-order-prime .waiter-total-row>strong{
  color:#fff!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-existing-order span,
body.role-waiter .waiter-order-prime .waiter-v7-existing-order small,
body.role-waiter .waiter-order-prime .waiter-v7-step-head span,
body.role-waiter .waiter-order-prime .waiter-v7-cart-head span,
body.role-waiter .waiter-order-prime .waiter-order-note>span,
body.role-waiter .waiter-order-prime .waiter-order-note em,
body.role-waiter .waiter-order-prime .waiter-input-field>span,
body.role-waiter .waiter-order-prime .waiter-input-field em,
body.role-waiter .waiter-order-prime .waiter-submit-help,
body.role-waiter .waiter-order-prime .waiter-cart-empty,
body.role-waiter .waiter-order-prime .waiter-cart-item-copy small,
body.role-waiter .waiter-order-prime .waiter-total-row small,
body.role-waiter .waiter-order-prime .waiter-total-row span,
body.role-waiter .waiter-order-prime .waiter-product-copy em{
  color:#a9b2ba!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-existing-order>div{
  border-left-color:rgba(255,255,255,.09)!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-search,
body.role-waiter .waiter-order-prime .waiter-input-wrap,
body.role-waiter .waiter-order-prime .waiter-item-note,
body.role-waiter .waiter-order-prime .waiter-order-note textarea,
body.role-waiter .waiter-order-prime .waiter-stepper,
body.role-waiter .waiter-order-prime .waiter-cart-close{
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.11)!important;
  color:#eef2f5!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-search:focus-within,
body.role-waiter .waiter-order-prime .waiter-input-wrap:focus-within,
body.role-waiter .waiter-order-prime .waiter-item-note:focus,
body.role-waiter .waiter-order-prime .waiter-order-note textarea:focus{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,181,55,.52)!important;
  box-shadow:0 0 0 3px rgba(255,163,36,.12)!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-search input,
body.role-waiter .waiter-order-prime .waiter-input-wrap input,
body.role-waiter .waiter-order-prime .waiter-item-note,
body.role-waiter .waiter-order-prime .waiter-order-note textarea{
  color:#f5f7f8!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-search input::placeholder,
body.role-waiter .waiter-order-prime .waiter-input-wrap input::placeholder,
body.role-waiter .waiter-order-prime .waiter-item-note::placeholder,
body.role-waiter .waiter-order-prime .waiter-order-note textarea::placeholder{
  color:#8f98a0!important;
}
body.role-waiter .waiter-order-prime .waiter-input-wrap b,
body.role-waiter .waiter-order-prime .waiter-v7-search>span,
body.role-waiter .waiter-order-prime .waiter-v7-search button,
body.role-waiter .waiter-order-prime .waiter-cart-close,
body.role-waiter .waiter-order-prime .waiter-remove-item{
  color:#ffbd46!important;
}
body.role-waiter .waiter-order-prime .waiter-input-wrap b{
  border-right-color:rgba(255,255,255,.08)!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-cart-list{
  background:rgba(5,8,11,.42)!important;
}
body.role-waiter .waiter-order-prime .waiter-cart-item,
body.role-waiter .waiter-order-prime .waiter-product-card{
  background:linear-gradient(145deg,rgba(29,34,39,.98),rgba(13,17,21,.98))!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
body.role-waiter .waiter-order-prime .waiter-cart-thumb,
body.role-waiter .waiter-order-prime .waiter-product-image{
  background:#10151a!important;
  border-color:rgba(255,255,255,.09)!important;
}
body.role-waiter .waiter-order-prime .waiter-stepper button,
body.role-waiter .waiter-order-prime .waiter-remove-item,
body.role-waiter .waiter-order-prime .waiter-product-bottom i{
  background:rgba(255,255,255,.06)!important;
  color:#ffbe47!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-total-row{
  border-top-color:rgba(255,255,255,.10)!important;
}
body.role-waiter .waiter-order-prime .waiter-product-bottom b,
body.role-waiter .waiter-order-prime .waiter-total-row>strong{
  color:#ffc54d!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-checkout,
body.role-waiter .waiter-order-prime .waiter-checkout-btn{
  background:linear-gradient(135deg,#ff7016,#ffb52d)!important;
  color:#fff!important;
  box-shadow:0 12px 26px rgba(239,116,0,.24)!important;
}
body.role-waiter .waiter-order-prime .checkout-arrow{
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
}
body.role-waiter .waiter-order-prime .waiter-v7-customer-step.is-open{
  border-top-color:rgba(255,255,255,.09)!important;
}
body.role-kitchen .queue-column.card{
  background:linear-gradient(145deg,rgba(20,25,30,.96),rgba(10,13,17,.97))!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.24)!important;
}
body.role-kitchen .queue-column .queue-head{
  background:rgba(255,255,255,.04)!important;
  border-bottom-color:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
body.role-kitchen .queue-column.waiting .queue-head{border-top:5px solid #ffb128!important}
body.role-kitchen .queue-column.cooking-col .queue-head{border-top:5px solid #37a8f1!important}
body.role-kitchen .queue-column.ready-col .queue-head{border-top:5px solid #4fc263!important}
body.role-kitchen .queue-column .queue-head .eyebrow,
body.role-kitchen .queue-column .queue-head h2,
body.role-kitchen .queue-column .queue-body,
body.role-kitchen .queue-column .empty,
body.role-kitchen .ticket-meta,
body.role-kitchen .ticket-items,
body.role-kitchen .ticket-items .muted{
  color:#d6dbe0!important;
}
body.role-kitchen .queue-column .queue-body{
  background:transparent!important;
}
body.role-kitchen .queue-column .order-ticket{
  background:linear-gradient(145deg,rgba(29,34,39,.98),rgba(13,17,21,.98))!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.22)!important;
  color:#fff!important;
}
body.role-kitchen .queue-column .order-ticket h3,
body.role-kitchen .queue-column .order-ticket strong{
  color:#fff!important;
}
body.role-kitchen .queue-column .ticket-table{
  background:rgba(255,177,40,.13)!important;
  border:1px solid rgba(255,177,40,.18)!important;
  color:#ffca67!important;
}
body.role-kitchen .queue-column .alert.info{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(255,255,255,.08)!important;
  color:#dbe1e6!important;
}


/* === V21 search visibility + simplified topbar === */
body.role-waiter input[type="search"],
body.role-cashier input[type="search"],
body.role-kitchen input[type="search"],
body.role-superadmin input[type="search"],
body.role-waiter .menu-search,
body.role-cashier .menu-search,
body.role-kitchen .menu-search,
body.role-superadmin .menu-search{
  background:rgba(5,9,12,.86)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#f7f8f9!important;
  -webkit-text-fill-color:#f7f8f9!important;
  caret-color:#ffc247!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 7px 18px rgba(0,0,0,.16)!important;
}
body.role-waiter input[type="search"]::placeholder,
body.role-cashier input[type="search"]::placeholder,
body.role-kitchen input[type="search"]::placeholder,
body.role-superadmin input[type="search"]::placeholder,
body.role-waiter .menu-search::placeholder,
body.role-cashier .menu-search::placeholder,
body.role-kitchen .menu-search::placeholder,
body.role-superadmin .menu-search::placeholder{
  color:#89929a!important;
  -webkit-text-fill-color:#89929a!important;
  opacity:1!important;
}
body.role-waiter input[type="search"]:focus,
body.role-cashier input[type="search"]:focus,
body.role-kitchen input[type="search"]:focus,
body.role-superadmin input[type="search"]:focus,
body.role-waiter .menu-search:focus,
body.role-cashier .menu-search:focus,
body.role-kitchen .menu-search:focus,
body.role-superadmin .menu-search:focus{
  border-color:#ffad2d!important;
  box-shadow:0 0 0 4px rgba(255,165,31,.12),0 8px 20px rgba(0,0,0,.20)!important;
  outline:0!important;
}
body.role-waiter input[type="search"]::-webkit-search-cancel-button,
body.role-cashier input[type="search"]::-webkit-search-cancel-button,
body.role-kitchen input[type="search"]::-webkit-search-cancel-button,
body.role-superadmin input[type="search"]::-webkit-search-cancel-button{
  filter:invert(1) opacity(.75);
}
.topbar-actions{display:none!important}
.user-chip{padding-right:13px!important}
.user-chip-copy{padding-right:0!important}


/* === V23: mobile performance, portrait/landscape and touch usability === */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
button,a,input,select,textarea{touch-action:manipulation}
img{max-width:100%;height:auto}
.main-content{padding-bottom:max(22px,env(safe-area-inset-bottom))!important}
.sidebar{padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(25px,env(safe-area-inset-bottom))}
.table-wrap,.queue-body,.waiter-v7-cart-list,.orders-rail{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.product-card,.waiter-product-card,.order-ticket,.cashier-board-ticket{content-visibility:auto;contain-intrinsic-size:260px}

@media(hover:none), (pointer:coarse){
  .card:hover,.product-card:hover,.waiter-product-card:hover,.order-ticket:hover,.waiter-action-card:hover,.waiter-prime-quick-card:hover{transform:none!important}
  .btn,.menu-toggle,.sidebar nav a,.logout-link,.waiter-category-tabs button,.waiter-active-prime-filters button{min-height:44px}
}

@media(max-width:920px){
  body.role-waiter .main-content,
  body.role-cashier .main-content,
  body.role-superadmin .main-content,
  body.role-kitchen .main-content{background-attachment:scroll!important}
  .card,.waiter-order-prime .waiter-v7-menu-card,.waiter-order-prime .waiter-v7-order-panel,.waiter-active-prime-board{backdrop-filter:none!important}
  input,select,textarea{font-size:16px!important}
  .main-content{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}
  .topbar{position:sticky;top:0;z-index:25;padding-top:max(5px,env(safe-area-inset-top))!important;background:linear-gradient(180deg,rgba(7,10,12,.97),rgba(7,10,12,.82))!important;backdrop-filter:blur(10px)!important}
  .table-wrap{overflow-x:auto}
  table{min-width:700px}
}

@media(max-width:920px) and (orientation:portrait){
  .topbar-copy h1{font-size:23px!important}
  .waiter-reference-actions,.waiter-prime-quick-grid,.waiter-active-prime-grid{grid-template-columns:1fr!important}
  .waiter-order-prime .waiter-v7-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .cashier-ledger-summary,.history-summary.grid-4{grid-template-columns:1fr 1fr!important}
}

@media(max-width:920px) and (orientation:landscape) and (max-height:620px){
  .main-content{padding-top:8px!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
  .topbar{min-height:52px!important;margin-bottom:8px!important}
  .topbar-copy h1{font-size:21px!important}
  .topbar-copy p{display:none}
  .menu-toggle{width:42px;height:42px}
  .waiter-reference-hero,.waiter-prime-hero{min-height:230px!important}
  .waiter-reference-copy,.waiter-prime-hero-copy{padding:22px!important}
  .waiter-reference-copy h2,.waiter-prime-hero h2{font-size:32px!important}
  .waiter-reference-stats{grid-template-columns:repeat(4,1fr)!important}
  .waiter-reference-actions,.waiter-prime-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .waiter-order-prime .waiter-v7-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .waiter-order-prime-head,.waiter-active-prime-hero,.ordering-intro,.history-hero,.kitchen-banner{padding:16px 18px!important}
  .waiter-order-prime-head h2,.waiter-active-prime-hero h2,.ordering-intro h2,.history-hero h2,.kitchen-banner h2{font-size:22px!important}
  .waiter-mobile-cartbar{bottom:max(8px,env(safe-area-inset-bottom))!important}
}

@media(max-width:540px){
  .cashier-ledger-summary,.history-summary.grid-4,.waiter-active-prime-metrics{grid-template-columns:1fr!important}
  .waiter-order-prime .waiter-v7-products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .auth-card{padding:24px 18px!important;border-radius:20px!important}
}

@media(prefers-reduced-data:reduce){
  body.role-waiter .main-content,body.role-cashier .main-content,body.role-superadmin .main-content,body.role-kitchen .main-content{background-image:linear-gradient(180deg,#080c0f,#090d10)!important}
  .waiter-reference-food,.waiter-prime-food{display:none!important}
}


/* === V24 JNJ Kitchenette branding === */
.brand-logo-wrap{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important
}
.brand-logo-image{
  display:block;
  height:auto;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.30))
}
.sidebar .brand-logo-wrap{
  width:100%;
  margin:0 auto 22px!important;
  padding:0 4px
}
.sidebar-brand-logo{
  width:min(224px,100%);
  max-height:174px
}
.auth-card .auth-brand-wrap{
  width:100%;
  margin:0 auto 24px!important
}
.auth-brand-logo{
  width:min(300px,100%);
  max-height:235px
}
@media(max-width:920px){
  .sidebar-brand-logo{width:min(220px,100%);max-height:168px}
}
@media(max-width:480px){
  .auth-brand-logo{width:min(250px,100%);max-height:205px}
}
