/* 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}
}


/* V25 product availability: visible but disabled for waiter and cashier */
.product-card,
.waiter-product-card{position:relative}
.product-card.is-unavailable,
.waiter-product-card.is-unavailable{
  cursor:not-allowed!important;
  opacity:.72;
  filter:saturate(.28);
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:none!important;
  transform:none!important
}
.product-card.is-unavailable:hover,
.waiter-product-card.is-unavailable:hover{
  transform:none!important;
  box-shadow:none!important;
  border-color:rgba(255,255,255,.10)!important
}
.product-card.is-unavailable img,
.waiter-product-card.is-unavailable img{filter:grayscale(.78) brightness(.62)}
.product-unavailable-badge{
  position:absolute;
  z-index:5;
  top:10px;
  left:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(190,34,34,.94);
  border:1px solid rgba(255,255,255,.22);
  color:#fff!important;
  font-size:10px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:.055em;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,0,0,.28)
}
.waiter-product-image .product-unavailable-badge{top:8px;left:8px}
.product-card.is-unavailable .product-add,
.waiter-product-card.is-unavailable .waiter-product-bottom i{
  background:rgba(190,34,34,.18)!important;
  color:#ff8b8b!important;
  border:1px solid rgba(255,96,96,.22)!important
}
.product-card.is-unavailable .product-price,
.waiter-product-card.is-unavailable .waiter-product-bottom b{color:#c8cdd1!important}
.product-card:disabled,
.waiter-product-card:disabled{pointer-events:none}
@media(max-width:540px){
  .product-unavailable-badge{top:7px;left:7px;min-height:24px;padding:5px 8px;font-size:8px!important}
}

/* === V26 customer memory, draft recovery, and kiosk session UI === */
.waiter-customer-field{position:relative}
.customer-suggestions{display:none;position:absolute;z-index:80;left:0;right:0;top:calc(100% - 1px);max-height:280px;overflow:auto;padding:7px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(10,14,18,.98);box-shadow:0 20px 45px rgba(0,0,0,.42);backdrop-filter:blur(15px)}
.customer-suggestions.is-open{display:grid;gap:5px}
.customer-suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.045);color:#eef2f5;text-align:left;font-family:inherit;cursor:pointer;transition:.15s}
.customer-suggestion:hover,.customer-suggestion:focus-visible{background:rgba(255,173,39,.11);border-color:rgba(255,183,55,.28);outline:0}
.customer-suggestion>span{display:grid;gap:3px;min-width:0}
.customer-suggestion>span:last-child{text-align:right;flex:0 0 auto}
.customer-suggestion strong{font-size:12px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-suggestion b{font-size:10px;color:#ffc654}
.customer-suggestion small{font-size:9px;color:#9fa8b0}
.customer-suggestion-empty{padding:13px 12px;color:#aeb6bd;font-size:11px;text-align:center}
.selected-customer-chip{display:flex;align-items:center;gap:9px;margin-top:2px;padding:9px 10px;border:1px solid rgba(74,205,112,.24);border-radius:12px;background:rgba(48,167,81,.10);color:#e7f8eb}
.selected-customer-chip[hidden]{display:none!important}
.selected-customer-chip>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#39a95d;color:#fff;font-size:12px;font-weight:900;flex:0 0 auto}
.selected-customer-chip>div{display:grid;gap:2px;min-width:0;flex:1}
.selected-customer-chip strong{font-size:10px;color:#eaf8ed;white-space:normal;line-height:1.35}
.selected-customer-chip small{font-size:8px;color:#98bca2;line-height:1.35}
.selected-customer-chip button{width:28px;height:28px;border:0;border-radius:9px;background:rgba(255,255,255,.07);color:#c9d8cd;font-size:17px;cursor:pointer}
.customer-record-search{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important}
.customer-record-search::placeholder{color:#89939b!important}
.customer-record-summary{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:rgba(255,181,44,.11);color:#ffc454;font-size:10px;font-weight:850}
@media(max-width:760px){.customer-suggestions{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));max-height:min(52vh,390px);border-radius:18px}.customer-suggestion{padding:13px}.customer-suggestion strong{font-size:13px}.customer-suggestion small{font-size:10px}}

/* === V27 repeat customers, reliable scrolling, Redmi Pad 2 layout === */
html,body{overflow-x:hidden}
body.role-waiter{overflow-y:auto}
body.role-waiter .main-content{min-height:100dvh;overflow:visible}
.waiter-order-prime .waiter-v7-layout,
.waiter-order-prime .waiter-v7-menu-card,
.waiter-order-prime .waiter-v7-order-panel{min-width:0}
.waiter-order-prime .waiter-v7-order-panel{max-height:calc(100dvh - 24px)}
.waiter-order-prime .waiter-v7-cart-list{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.waiter-order-prime .waiter-v7-customer-step.is-open{overflow-y:auto;overscroll-behavior:contain}
.waiter-order-prime .waiter-v7-cart-footer{flex:0 0 auto}
.waiter-cart-open .waiter-v7-order-panel{overscroll-behavior:contain}

.customer-suggestions.is-floating{
  position:fixed!important;
  right:auto!important;
  bottom:auto;
  top:auto;
  z-index:1200;
  margin:0;
  max-width:calc(100vw - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  contain:layout paint;
}
.customer-suggestions.is-floating .customer-suggestion{min-height:52px}

/* Redmi Pad 2 and similarly sized Android tablets — portrait. */
@media(min-width:700px) and (max-width:980px) and (orientation:portrait){
  body.role-waiter .main-content{padding:12px 14px 132px!important}
  .waiter-order-prime-head{padding:20px 22px!important}
  .waiter-order-prime-service{grid-template-columns:1fr 1fr!important}
  .waiter-order-prime .waiter-v7-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .waiter-order-prime .waiter-product-card{padding:10px!important}
  .waiter-order-prime .waiter-product-copy strong{font-size:14px!important}
  .waiter-order-prime .waiter-v7-order-panel{
    width:min(700px,calc(100% - 24px))!important;
    height:min(92dvh,980px)!important;
    max-height:92dvh!important;
    border-radius:24px 24px 0 0!important;
  }
  .waiter-order-prime .waiter-v7-customer-fields{grid-template-columns:minmax(0,1fr) 150px!important}
  .waiter-order-prime .waiter-v7-customer-fields .waiter-v7-mobile-field{grid-column:1/-1!important}
  .waiter-order-prime .waiter-v7-customer-step.is-open{max-height:min(43dvh,430px)!important}
  .waiter-v7-mobile-cartbar{left:18px!important;right:18px!important}
}

/* Redmi Pad 2 and similarly sized Android tablets — landscape. */
@media(min-width:981px) and (max-width:1400px) and (orientation:landscape) and (max-height:900px){
  body.role-waiter .main-content{padding-top:12px!important;padding-bottom:18px!important}
  .waiter-order-prime-head{padding:18px 22px!important;margin-bottom:12px!important}
  .waiter-order-prime-head h2{font-size:26px!important}
  .waiter-order-prime-head p{font-size:12px!important}
  .waiter-order-prime-service{margin-bottom:12px!important}
  .waiter-order-prime .waiter-v7-layout{grid-template-columns:minmax(0,1fr) 340px!important;gap:12px!important}
  .waiter-order-prime .waiter-v7-menu-card{padding:14px!important}
  .waiter-order-prime .waiter-v7-products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px!important}
  .waiter-order-prime .waiter-product-card{padding:7px!important}
  .waiter-order-prime .waiter-product-image{aspect-ratio:1.42/1!important}
  .waiter-order-prime .waiter-product-copy em{display:none!important}
  .waiter-order-prime .waiter-v7-order-panel{top:8px!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px)!important;min-height:0!important}
  .waiter-order-prime .waiter-v7-cart-head{padding:12px 14px 10px!important}
  .waiter-order-prime .waiter-v7-cart-list{padding:9px!important}
  .waiter-order-prime .waiter-v7-customer-step.is-open{max-height:min(48dvh,360px)!important;padding:11px!important}
  .waiter-order-prime .waiter-v7-cart-footer{padding:10px 12px!important;gap:8px!important}
  .waiter-order-prime .waiter-v7-checkout{min-height:46px!important}
}

/* V29 customer identity safeguards */
.customer-suggestion.customer-create-new{border-color:rgba(255,183,55,.24);background:rgba(255,173,39,.075)}
.customer-suggestion.customer-create-new:hover,.customer-suggestion.customer-create-new:focus-visible{border-color:rgba(255,194,83,.48);background:rgba(255,173,39,.15)}
.selected-customer-chip.is-new-customer{border-color:rgba(255,183,55,.32);background:rgba(255,173,39,.11);color:#fff3d1}
.selected-customer-chip.is-new-customer>span{background:#d99518;color:#111}
.selected-customer-chip.is-new-customer strong{color:#fff1c8}
.selected-customer-chip.is-new-customer small{color:#d9bc7d}

/* V31 Android kiosk integration */
.kiosk-session .kiosk-locked-label{cursor:default;opacity:.75}.kiosk-session{-webkit-user-select:none;user-select:none}.kiosk-session input,.kiosk-session textarea,.kiosk-session select{-webkit-user-select:text;user-select:text}.kitchen-delayed{border-color:rgba(255,91,91,.72)!important;box-shadow:0 0 0 1px rgba(255,91,91,.2),0 16px 38px rgba(255,50,50,.11)!important}.recent-payment-item .payment-meta .btn{margin-top:6px}
@media(display-mode:fullscreen){.kiosk-session .topbar{padding-top:max(10px,env(safe-area-inset-top))}}

/* === V31.3 Kitchen performance, landscape KDS and new-order alerts === */
body.role-kitchen{
  background:#070a0d!important;
}
body.role-kitchen::before{
  background:linear-gradient(180deg,#070a0d 0%,#0b1014 100%)!important;
}
body.role-kitchen .main-content{
  background:linear-gradient(180deg,#080c0f,#0a0f13)!important;
  background-attachment:scroll!important;
}
body.role-kitchen .topbar,
body.role-kitchen .queue-column,
body.role-kitchen .kitchen-banner{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.role-kitchen .kitchen-banner{
  margin-bottom:12px;
  padding:16px 18px;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
body.role-kitchen .kitchen-banner p{max-width:760px}
body.role-kitchen .kitchen-live-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  position:relative;
  z-index:2;
}
body.role-kitchen .live-indicator{
  white-space:nowrap;
  min-height:39px;
  display:inline-flex;
  align-items:center;
}
body.role-kitchen .live-indicator[data-state="error"]{
  color:#ffd0cc;
  border-color:rgba(255,85,77,.42);
  background:rgba(255,85,77,.12);
}
body.role-kitchen .kitchen-sound-toggle,
body.role-kitchen .kitchen-sound-test{
  min-height:39px;
  padding:8px 12px;
  font-size:12px;
}
body.role-kitchen .kitchen-sound-toggle.is-muted{
  color:#c1c7cc!important;
  border-color:rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.04)!important;
}
body.role-kitchen .order-columns{
  align-items:start;
}
body.role-kitchen .queue-column.card{
  contain:layout paint style;
  box-shadow:0 8px 20px rgba(0,0,0,.16)!important;
}
body.role-kitchen .queue-body{
  contain:layout paint;
  scrollbar-gutter:stable;
}
body.role-kitchen .queue-column .order-ticket{
  animation:none!important;
  transition:border-color .12s ease,background-color .12s ease!important;
  box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
  contain:layout paint style;
}
body.role-kitchen .queue-column .order-ticket:hover,
body.role-kitchen .queue-column .order-ticket:active,
body.role-kitchen .queue-column .order-ticket.is-pressed{
  transform:none!important;
  box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
}
body.role-kitchen .kitchen-status-button{width:100%}
body.role-kitchen .kitchen-ticket-new{
  animation:kitchenTicketNew .9s ease-out both!important;
}
@keyframes kitchenTicketNew{
  0%{box-shadow:0 0 0 0 rgba(255,177,40,.65);border-color:#ffb128}
  55%{box-shadow:0 0 0 8px rgba(255,177,40,.10);border-color:#ffcf72}
  100%{box-shadow:0 3px 10px rgba(0,0,0,.16)}
}
body.role-kitchen .kitchen-new-order-alert{
  position:fixed;
  z-index:140;
  top:max(14px,env(safe-area-inset-top));
  left:50%;
  width:min(470px,calc(100vw - 28px));
  padding:14px 17px;
  border-radius:15px;
  border:1px solid rgba(255,196,78,.55);
  background:linear-gradient(135deg,rgba(255,132,20,.98),rgba(255,181,45,.98));
  color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.35);
  display:grid;
  gap:2px;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-18px) scale(.98);
  transition:opacity .18s ease,transform .18s ease;
}
body.role-kitchen .kitchen-new-order-alert strong{font-size:16px}
body.role-kitchen .kitchen-new-order-alert span{font-size:12px;color:rgba(255,255,255,.9)}
body.role-kitchen .kitchen-new-order-alert.is-visible{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}
body.role-kitchen .kitchen-delay-alert[hidden]{display:none!important}

/* A paired Kitchen tablet is a display, so remove the unused side navigation. */
body.role-kitchen.kiosk-session .sidebar,
body.role-kitchen.kiosk-session .sidebar-backdrop{
  display:none!important;
}
body.role-kitchen.kiosk-session .main-content{
  margin-left:0!important;
  width:100%!important;
}
body.role-kitchen.kiosk-session .menu-toggle{display:none!important}

@media (orientation:landscape) and (min-width:720px){
  body.role-kitchen .main-content{
    padding:10px 12px max(10px,env(safe-area-inset-bottom))!important;
  }
  body.role-kitchen .topbar{
    min-height:48px!important;
    margin-bottom:7px!important;
  }
  body.role-kitchen .topbar-copy h1{font-size:21px!important}
  body.role-kitchen .topbar-copy p{display:none!important}
  body.role-kitchen .kitchen-banner{
    min-height:0!important;
    padding:11px 14px!important;
    margin-bottom:9px!important;
    align-items:center!important;
    flex-direction:row!important;
  }
  body.role-kitchen .kitchen-banner h2{font-size:20px!important;margin-bottom:2px}
  body.role-kitchen .kitchen-banner p{display:none}
  body.role-kitchen .flow-steps{display:none}
  body.role-kitchen .order-columns{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
    height:calc(100dvh - 134px);
    min-height:390px;
    overflow:hidden;
  }
  body.role-kitchen .queue-column{
    min-height:0!important;
    height:100%;
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden!important;
    border-radius:14px!important;
  }
  body.role-kitchen .queue-head{
    padding:10px 11px!important;
  }
  body.role-kitchen .queue-head h2{font-size:15px!important}
  body.role-kitchen .queue-head .eyebrow{font-size:8px!important}
  body.role-kitchen .queue-count{
    min-width:29px!important;
    height:29px!important;
    border-radius:9px!important;
  }
  body.role-kitchen .queue-body{
    min-height:0!important;
    height:auto!important;
    padding:8px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.role-kitchen .queue-column .order-ticket{
    padding:10px!important;
    margin-bottom:7px!important;
    border-radius:11px!important;
  }
  body.role-kitchen .queue-column .order-ticket h3{font-size:11px!important}
  body.role-kitchen .ticket-meta{gap:5px!important;font-size:9px!important}
  body.role-kitchen .ticket-table{padding:4px 6px!important}
  body.role-kitchen .ticket-items{margin:8px 0!important;padding-left:16px!important;font-size:11px!important}
  body.role-kitchen .ticket-items li{margin:4px 0!important}
  body.role-kitchen .alert{padding:8px 9px!important;font-size:10px!important}
  body.role-kitchen .kitchen-status-button{min-height:38px!important;padding:7px 9px!important;font-size:11px!important}
}

@media (orientation:landscape) and (min-width:801px) and (max-width:1180px){
  body.role-kitchen:not(.kiosk-session) .sidebar{
    width:220px!important;
    padding:16px 12px!important;
  }
  body.role-kitchen:not(.kiosk-session) .main-content{
    margin-left:220px!important;
    width:calc(100% - 220px)!important;
  }
  body.role-kitchen:not(.kiosk-session) .brand-wrap{margin-bottom:12px!important}
  body.role-kitchen:not(.kiosk-session) .sidebar-brand-logo{max-height:116px!important}
  body.role-kitchen:not(.kiosk-session) .user-chip{margin-bottom:10px!important;min-height:58px!important}
  body.role-kitchen:not(.kiosk-session) .sidebar nav a{min-height:48px!important;font-size:14px!important}
}

@media (orientation:portrait) and (max-width:920px){
  body.role-kitchen .kitchen-live-tools{width:100%;justify-content:flex-start}
  body.role-kitchen .order-columns{grid-template-columns:1fr!important}
  body.role-kitchen .queue-column{min-height:260px!important}
  body.role-kitchen .queue-body{max-height:48dvh;overflow-y:auto!important}
}

@media (prefers-reduced-motion:reduce){
  body.role-kitchen .kitchen-ticket-new,
  body.role-kitchen .kitchen-new-order-alert{animation:none!important;transition:none!important}
}

/* === V31.4 Event-driven terminals and Redmi Pad smooth profile === */
.station-live-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.station-live-tools .live-indicator,
.station-live-tools .waiter-active-prime-live{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
.station-live-tools [data-state="offline"],
.station-live-tools [data-state="retry"]{
  color:#ffd0cc!important;
  border-color:rgba(255,85,77,.42)!important;
  background:rgba(255,85,77,.12)!important;
}
.station-sound-toggle.is-muted{
  opacity:.72;
  background:rgba(255,255,255,.045)!important;
  border-color:rgba(255,255,255,.12)!important;
}
.station-live-alert{
  position:fixed;
  z-index:145;
  top:max(14px,env(safe-area-inset-top));
  left:50%;
  width:min(470px,calc(100vw - 28px));
  padding:14px 17px;
  border:1px solid rgba(255,196,78,.55);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(255,132,20,.98),rgba(255,181,45,.98));
  color:#fff;
  box-shadow:0 14px 30px rgba(0,0,0,.28);
  display:grid;
  gap:2px;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-50%,-16px,0);
  transition:opacity .14s linear,transform .14s linear;
}
.station-live-alert strong{font-size:16px}
.station-live-alert span{font-size:12px;color:rgba(255,255,255,.92)}
.station-live-alert.is-visible{opacity:1;transform:translate3d(-50%,0,0)}

/* Avoid smooth-scroll calculations and expensive moving glass layers on kiosk tablets. */
@media (hover:none), (pointer:coarse){
  html{scroll-behavior:auto!important}
  body.role-waiter,
  body.role-cashier,
  body.role-kitchen{background:#080c0f!important}
  body.role-waiter::before,
  body.role-cashier::before,
  body.role-kitchen::before{background:linear-gradient(180deg,#080c0f,#0b1014)!important}
  body.role-waiter .main-content,
  body.role-cashier .main-content,
  body.role-kitchen .main-content{
    background-image:linear-gradient(180deg,#080c0f,#0b1014)!important;
    background-attachment:scroll!important;
  }
  body.role-waiter .topbar,
  body.role-cashier .topbar,
  body.role-kitchen .topbar,
  body.role-waiter .sidebar,
  body.role-cashier .sidebar,
  body.role-kitchen .sidebar,
  body.role-waiter .card,
  body.role-cashier .card,
  body.role-kitchen .card,
  body.role-waiter .waiter-v7-menu-card,
  body.role-waiter .waiter-v7-order-panel,
  body.role-waiter .waiter-active-prime-board{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.role-waiter .topbar,
  body.role-cashier .topbar,
  body.role-kitchen .topbar{position:relative!important;background:#090d11!important}
  .product-card,
  .waiter-product-card,
  .order-ticket,
  .cashier-board-ticket,
  .waiter-active-prime-card,
  .waiter-action-card,
  .waiter-prime-quick-card{
    transition:none!important;
    animation:none!important;
    transform:none!important;
    box-shadow:0 3px 10px rgba(0,0,0,.15)!important;
    contain:layout paint style;
  }
  .ready-pulse{animation:none!important;box-shadow:none!important}
  .cashier-ledger-card,
  .selected-order-strip,
  .waiter-active-prime-metrics article,
  .waiter-order-prime-head,
  .ordering-intro,
  .kitchen-banner{box-shadow:0 4px 12px rgba(0,0,0,.15)!important}
  .table-wrap,
  .queue-body,
  .waiter-v7-cart-list,
  .orders-rail,
  .cashier-order-filters,
  .customer-suggestions{
    scroll-behavior:auto!important;
    overscroll-behavior:contain;
    touch-action:pan-y;
    scrollbar-gutter:stable;
  }
  .cashier-checkout-side{position:static!important}
  .customer-suggestions{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}

/* Redmi Pad / similar Android tablet landscape: stable, non-sticky two-panel workspaces. */
@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:900px) and (max-width:1450px){
  body.role-waiter .main-content,
  body.role-cashier .main-content{padding:9px 11px max(10px,env(safe-area-inset-bottom))!important}
  body.role-waiter .topbar,
  body.role-cashier .topbar{min-height:46px!important;margin-bottom:7px!important}
  body.role-waiter .waiter-order-prime-head,
  body.role-cashier .ordering-intro{padding:12px 15px!important;margin-bottom:9px!important}
  body.role-waiter .waiter-order-prime-head p,
  body.role-cashier .ordering-intro p,
  body.role-cashier .flow-steps{display:none!important}
  body.role-waiter .waiter-order-prime .waiter-v7-layout{
    grid-template-columns:minmax(0,1fr) 330px!important;
    gap:9px!important;
    align-items:start!important;
  }
  body.role-waiter .waiter-order-prime .waiter-v7-order-panel{
    height:auto!important;
    min-height:calc(100dvh - 92px)!important;
    max-height:none!important;
  }
  body.role-waiter .waiter-order-prime .waiter-v7-products{gap:7px!important}
  body.role-cashier .cashier-station-grid{
    grid-template-columns:minmax(0,1fr) 345px!important;
    gap:9px!important;
    align-items:start!important;
  }
  body.role-cashier .cashier-checkout-side{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
  body.role-cashier .cashier-orders-grid{gap:9px!important}
  .station-live-tools{justify-content:flex-start}
}

@media (hover:none) and (pointer:coarse) and (orientation:portrait) and (max-width:980px){
  .station-live-tools{width:100%;justify-content:flex-start}
  .station-live-tools .btn{min-height:38px!important;padding:7px 10px!important}
}

@media (prefers-reduced-motion:reduce){
  .station-live-alert{transition:none!important}
}

/* === V31.6 Full-surface touch scrolling for Waiter, Cashier and Kitchen === */
@media (hover:none), (pointer:coarse){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:auto!important;
  }

  .app-shell,
  .main-content,
  .waiter-v7-page,
  .waiter-order-prime,
  .waiter-active-prime,
  .waiter-v7-layout,
  .waiter-v7-menu-card,
  .waiter-v7-products,
  .cashier-orders-board,
  .cashier-orders-grid,
  .cashier-station-grid,
  .cashier-menu-workspace,
  .pos-workspace,
  .order-columns{
    touch-action:auto!important;
    overscroll-behavior-y:auto!important;
  }

  /* Cards fill most of the tablet screen, so a swipe that starts on a card
     must remain a native vertical scroll instead of being treated as a tap. */
  .waiter-product-card,
  .waiter-active-prime-card,
  .waiter-action-card,
  .waiter-prime-quick-card,
  .product-card,
  .cashier-board-ticket,
  .cashier-order-ticket,
  .order-ticket,
  .status-summary-item{
    touch-action:pan-y pinch-zoom!important;
  }

  /* Horizontal chip rows keep their native left/right gesture. */
  .waiter-category-tabs,
  .waiter-v7-categories,
  .category-tabs,
  .cashier-order-filters,
  .table-wrap{
    touch-action:pan-x pinch-zoom!important;
  }
  .waiter-category-tabs button,
  .waiter-v7-categories button,
  .category-tabs button,
  .cashier-order-filters button{
    touch-action:pan-x pinch-zoom!important;
  }

  input,
  textarea,
  select,
  [contenteditable="true"]{
    touch-action:manipulation!important;
  }

  /* Prevent inner containers from trapping a swipe when they reach an edge. */
  .waiter-v7-menu-card,
  .cashier-orders-board,
  .cashier-menu-workspace,
  .order-detail-card,
  .add-cart-card,
  .recent-payments-card{
    overflow:visible!important;
    overscroll-behavior-y:auto!important;
  }

  .product-card,
  .waiter-product-card,
  .order-ticket,
  .cashier-board-ticket,
  .waiter-active-prime-card{
    content-visibility:visible!important;
    contain:none!important;
  }
}

/* Redmi Pad landscape: one native page scroll for Waiter and Cashier. */
@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:900px) and (max-width:1450px){
  body.role-waiter .waiter-order-prime .waiter-v7-order-panel{
    position:static!important;
    top:auto!important;
    bottom:auto!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.role-waiter .waiter-v7-cart-list{
    flex:0 0 auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior-y:auto!important;
  }
  body.role-waiter .waiter-v7-customer-step.is-open{
    max-height:none!important;
    overflow:visible!important;
  }
  body.role-cashier .pos-side,
  body.role-cashier .cashier-checkout-side{
    position:static!important;
    top:auto!important;
  }
}

/* Waiter portrait cart: the complete sheet scrolls from the header, items,
   customer fields or footer instead of only from the narrow cart-list area. */
@media (hover:none) and (pointer:coarse) and (orientation:portrait) and (max-width:1020px){
  body.role-waiter .waiter-order-prime .waiter-v7-order-panel{
    display:block!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y pinch-zoom!important;
  }
  body.role-waiter .waiter-v7-cart-head{
    position:sticky;
    top:0;
    z-index:6;
  }
  body.role-waiter .waiter-v7-cart-list{
    flex:none!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.role-waiter .waiter-v7-customer-step.is-open{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* Kitchen portrait uses the page as its single scroll owner. */
@media (hover:none) and (pointer:coarse) and (orientation:portrait) and (max-width:920px){
  body.role-kitchen .order-columns,
  body.role-kitchen .queue-column,
  body.role-kitchen .queue-body{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y pinch-zoom!important;
  }
}

/* Kitchen landscape: each whole column is scrollable. A swipe may start on
   the column heading, an order ticket or the empty area. */
@media (hover:none) and (pointer:coarse) and (orientation:landscape) and (min-width:720px){
  body.role-kitchen .queue-column{
    display:block!important;
    height:100%!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y pinch-zoom!important;
    scrollbar-gutter:stable;
  }
  body.role-kitchen .queue-head{
    position:sticky;
    top:0;
    z-index:5;
  }
  body.role-kitchen .queue-body{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y pinch-zoom!important;
  }
}


/* === V31.7 lightweight images + tablet paint optimization === */
.waiter-product-image,
.product-card>img,
.waiter-cart-thumb{
  overflow:hidden;
  contain:layout paint style;
  background:#10151a
}
.waiter-product-image img,
.product-card>img{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
  transform:translateZ(0);
  backface-visibility:hidden
}
.waiter-cart-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}
.product-card,.waiter-product-card{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:260px
}
body.kiosk-session .main-content{
  background-image:linear-gradient(180deg,#080c0f,#0a0f13)!important;
  background-attachment:scroll!important
}
body.kiosk-session .sidebar-brand-logo{content-visibility:visible!important}
@media(hover:none), (pointer:coarse){
  .waiter-product-image img,.product-card>img,.waiter-cart-thumb img{transform:none}
  .waiter-product-card,.product-card{will-change:auto!important}
}


/* === V31.9 reliable ready-order badges and persistent alerts === */
.ready-tab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  margin-left:auto;
  border-radius:999px;
  background:#ff5a36;
  color:#fff;
  font-size:12px;
  font-weight:900;
  line-height:1;
  box-shadow:0 0 0 3px rgba(255,90,54,.17),0 6px 16px rgba(255,90,54,.28);
  animation:jnj-ready-badge-pulse 1.4s ease-in-out infinite
}
.ready-tab-count[hidden]{display:none!important}
a.has-ready-alert{
  position:relative;
  border-color:rgba(255,102,64,.7)!important;
  box-shadow:inset 0 0 0 1px rgba(255,102,64,.28),0 0 0 2px rgba(255,102,64,.08)!important
}
.sidebar nav a.has-ready-alert{background:linear-gradient(135deg,rgba(255,91,54,.18),rgba(80,25,18,.08))!important}
.global-ready-notice{
  position:fixed;
  z-index:10040;
  right:18px;
  top:max(16px,env(safe-area-inset-top));
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  width:min(390px,calc(100vw - 28px));
  padding:12px 14px;
  border:1px solid rgba(255,121,76,.75);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(75,22,13,.98),rgba(30,12,9,.98));
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 3px rgba(255,85,45,.12);
  text-decoration:none;
  transform:translate3d(0,-145%,0);
  opacity:0;
  pointer-events:none;
  transition:transform .22s ease,opacity .22s ease
}
.global-ready-notice.is-visible{transform:translate3d(0,0,0);opacity:1;pointer-events:auto}
.global-ready-notice-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#ff633f;
  color:#fff;
  font-size:24px;
  font-weight:950;
  box-shadow:0 8px 20px rgba(255,85,45,.32)
}
.global-ready-notice-copy{display:grid;gap:2px;min-width:0}
.global-ready-notice-copy strong{font-size:15px;line-height:1.15}
.global-ready-notice-copy small{overflow:hidden;color:#ffd8cc;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.global-ready-notice-count{
  display:grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 8px;
  border-radius:999px;
  background:#fff;
  color:#d93c1b;
  font-size:15px;
  font-weight:950
}
@keyframes jnj-ready-badge-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
@media(max-width:700px){
  .global-ready-notice{right:10px;top:max(10px,env(safe-area-inset-top));width:calc(100vw - 20px)}
}
@media(prefers-reduced-motion:reduce){.ready-tab-count{animation:none}.global-ready-notice{transition:none}}


/* V32 add-on Dine In / Take Out preparation tags */
body.role-waiter .waiter-order-prime .waiter-addon-prep-step{background:linear-gradient(145deg,rgba(28,31,34,.98),rgba(13,17,21,.98))!important;border-color:rgba(255,255,255,.11)!important;color:#f4f6f7!important}body.role-waiter .waiter-addon-prep-head span{color:#ffbd46!important}body.role-waiter .waiter-addon-prep-head h4{color:#fff!important}body.role-waiter .waiter-addon-prep-head>b{background:rgba(255,177,40,.13)!important;color:#ffc96c!important}body.role-waiter .waiter-addon-prep-head>b.is-complete{background:rgba(54,196,112,.14)!important;color:#78dfa3!important}body.role-waiter .waiter-addon-prep-options button{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}body.role-waiter .waiter-addon-prep-options button small,body.role-waiter .waiter-addon-prep-step>p{color:#aab3ba!important}body.role-waiter .waiter-addon-prep-options button i{background:rgba(255,255,255,.08)!important}body.role-waiter .waiter-addon-prep-options button.is-selected{background:linear-gradient(135deg,rgba(255,111,22,.23),rgba(255,181,45,.14))!important;border-color:#ff9d2c!important;box-shadow:0 0 0 2px rgba(255,157,44,.10)!important}body.role-waiter .waiter-addon-prep-options button.is-selected i{background:#ff8d22!important;color:#fff!important}body.role-waiter .waiter-addon-prep-step.is-invalid{border-color:#ff6565!important;box-shadow:0 0 0 2px rgba(255,75,75,.14)!important}body.role-kitchen .kitchen-prep-tag{color:#fff!important}body.role-kitchen .kitchen-prep-tag.dine-in{background:rgba(54,151,225,.14)!important;border-color:rgba(74,170,240,.38)!important;color:#9bd5ff!important}body.role-kitchen .kitchen-prep-tag.take-out{background:linear-gradient(135deg,rgba(255,122,18,.28),rgba(255,181,45,.18))!important;border-color:#ff9d25!important;color:#ffd17a!important}body.role-kitchen .kitchen-takeout-ticket{border-color:#ff9d25!important;box-shadow:0 0 0 1px rgba(255,157,37,.22),0 7px 18px rgba(0,0,0,.28)!important}

/* V32.0.1 — Cashier add-on preparation selector */
body.role-cashier .cashier-addon-prep{background:linear-gradient(145deg,rgba(28,31,34,.96),rgba(13,17,21,.96));border-color:rgba(255,255,255,.12)}
body.role-cashier .cashier-addon-prep-options>button{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12);color:#fff}
body.role-cashier .cashier-addon-prep-options>button small,body.role-cashier .cashier-addon-prep>p{color:#aab3ba}
body.role-cashier .cashier-addon-prep-options>button i{background:rgba(255,255,255,.09)}
body.role-cashier .cashier-addon-prep-options>button.is-selected{background:linear-gradient(135deg,rgba(255,111,22,.23),rgba(255,181,45,.14));border-color:#ff9d2c;box-shadow:0 0 0 2px rgba(255,157,44,.10)}
body.role-cashier .cashier-addon-prep-head>b{background:rgba(255,177,40,.13);color:#ffc96c}
body.role-cashier .cashier-addon-prep-head>b.is-complete{background:rgba(54,196,112,.14);color:#78dfa3}
body.role-cashier .cashier-addon-total-summary{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.11)}
body.role-cashier .cashier-addon-total-summary .cashier-updated-total strong{color:#ffb52d}

/* V32.0.2 — smooth waiter/cashier page navigation */
@view-transition{navigation:auto}

.app-nav-progress{
  position:fixed;
  z-index:10000;
  top:0;
  left:0;
  width:100%;
  height:3px;
  pointer-events:none;
  opacity:0;
  transform:scaleX(.04);
  transform-origin:left center;
  background:linear-gradient(90deg,#ff7a1a,#ffc247 58%,#fff0b3);
  box-shadow:0 0 16px rgba(255,159,26,.72);
  will-change:transform,opacity
}
body.app-navigation-pending .app-nav-progress{
  opacity:1;
  animation:jnj-nav-progress 1.15s cubic-bezier(.2,.75,.2,1) both
}
body.app-navigation-pending .sidebar nav a.is-next{
  background:linear-gradient(135deg,#ff7a1a,#e87800)!important;
  border-color:rgba(255,194,71,.62)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(232,120,0,.28)!important
}
body.app-navigation-pending .sidebar nav a.is-next .nav-icon{
  background:#ffc247!important;
  color:#3c2400!important
}
@keyframes jnj-nav-progress{
  0%{transform:scaleX(.04);opacity:.75}
  38%{transform:scaleX(.58);opacity:1}
  72%{transform:scaleX(.82);opacity:1}
  100%{transform:scaleX(.94);opacity:.92}
}

@supports (view-transition-name:jnj-content){
  .sidebar{view-transition-name:jnj-sidebar}
  .main-content{view-transition-name:jnj-content}
  ::view-transition-group(jnj-sidebar){animation-duration:.12s}
  ::view-transition-old(jnj-sidebar),
  ::view-transition-new(jnj-sidebar){animation:none;mix-blend-mode:normal}
  ::view-transition-group(jnj-content){animation-duration:.19s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
  ::view-transition-old(jnj-content){animation:jnj-page-out .10s ease both;mix-blend-mode:normal}
  ::view-transition-new(jnj-content){animation:jnj-page-in .19s cubic-bezier(.2,.8,.2,1) both;mix-blend-mode:normal}
}
@keyframes jnj-page-out{to{opacity:.90;transform:translateY(-3px)}}
@keyframes jnj-page-in{from{opacity:.72;transform:translateY(7px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  body.app-navigation-pending .app-nav-progress{animation:none;transform:scaleX(.72)}
  ::view-transition-old(jnj-content),::view-transition-new(jnj-content){animation:none!important}
}

/* V32.1 JNJ POS Fast Mode: reduce tablet paint work without changing layout. */
.waiter-product-card,
.product-card,
.cashier-board-ticket,
.waiter-active-prime-card,
.queue-column .order-ticket,
.recent-payment-item {
    contain: layout paint style;
}

.waiter-product-card,
.product-card,
.cashier-board-ticket,
.waiter-active-prime-card,
.queue-column .order-ticket {
    content-visibility: auto;
    contain-intrinsic-size: 260px;
}

.waiter-product-image img,
.product-card img,
.cart-item img,
.brand-logo-image {
    backface-visibility: hidden;
    transform: translateZ(0);
}

@media (pointer: coarse), (max-width: 1180px) {
    html { scroll-behavior: auto; }
    body,
    .main-content,
    .waiter-v7-page,
    .cashier-pos-shell,
    .cashier-orders-board,
    .queue-board {
        background-attachment: scroll !important;
    }

    .card,
    .waiter-v7-menu-card,
    .waiter-v7-order-panel,
    .cashier-pos-menu,
    .cashier-pos-detail,
    .cashier-orders-board,
    .order-ticket,
    .product-card,
    .waiter-product-card {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    .waiter-product-card,
    .product-card,
    .cashier-board-ticket,
    .waiter-active-prime-card,
    .sidebar nav a,
    .btn {
        transition-duration: 120ms !important;
    }

    .click-wave { display: none !important; }
}

/* === V33: admin scrolling, profile security and inventory === */
html{min-height:100%}
body.role-superadmin{
  min-height:100vh;
  min-height:100dvh;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important
}
body.role-superadmin .app-shell{
  min-height:100vh;
  min-height:100dvh;
  height:auto!important;
  overflow:visible!important
}
body.role-superadmin .main-content{
  min-height:100vh;
  min-height:100dvh;
  height:auto!important;
  overflow:visible!important;
  touch-action:pan-y pinch-zoom!important
}
.sidebar{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable
}
.sidebar nav{flex:0 0 auto}
.sidebar::-webkit-scrollbar{width:7px}
.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
.sidebar::-webkit-scrollbar-track{background:transparent}

.password-control{position:relative;display:block}
.password-control input{padding-right:76px!important}
.password-toggle{
  position:absolute;
  top:50%;
  right:7px;
  transform:translateY(-50%);
  min-width:58px;
  min-height:34px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:11px;
  font-weight:850;
  cursor:pointer
}
.password-toggle:hover{background:rgba(255,166,31,.18);border-color:rgba(255,174,49,.42)}

.profile-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:16px;align-items:start}
.profile-summary-card{display:grid;gap:16px;position:sticky;top:18px}
.profile-avatar-large{width:84px;height:84px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#ffad2d,#e47600);color:#181006;font-size:38px;font-weight:950;box-shadow:0 16px 28px rgba(230,118,0,.24)}
.profile-summary-card h2{margin:0;font-size:25px;color:#fff}.profile-summary-card p{margin:3px 0 0}
.profile-meta{display:grid;gap:10px;margin:2px 0 0}.profile-meta div{padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.profile-meta dt{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#9ea5ac;font-weight:900}.profile-meta dd{margin:4px 0 0;color:#fff;font-weight:700;overflow-wrap:anywhere}
.profile-password-section{margin:18px 0;padding:17px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.025)}
.profile-password-section h3{margin:0 0 3px;color:#fff}

.inventory-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid rgba(255,173,45,.24);border-radius:21px;background:linear-gradient(125deg,rgba(255,160,26,.18),rgba(255,255,255,.04));box-shadow:0 15px 34px rgba(0,0,0,.18)}
.inventory-hero h2{margin:0;color:#fff;font-size:27px}.inventory-hero p{max-width:740px;margin:7px 0 0;color:#cbd0d4}
.inventory-summary-grid{margin-top:16px}.inventory-low-card{background:linear-gradient(135deg,#9b5b00,#c97800)!important;color:#fff}.inventory-out-card{background:linear-gradient(135deg,#8f1d25,#c52d37)!important;color:#fff}.inventory-low-card span,.inventory-low-card small,.inventory-out-card span,.inventory-out-card small{color:inherit!important}.inventory-low-card .stat,.inventory-out-card .stat{color:#fff!important}
.inventory-main-grid{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr)}
.inventory-editor-card{align-self:start;position:sticky;top:18px}
.inventory-items-list{display:grid;gap:11px;max-height:760px;overflow-y:auto;padding-right:4px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.inventory-item-card{padding:14px;border:1px solid rgba(255,255,255,.10);border-left:5px solid #2fa46b;border-radius:16px;background:rgba(255,255,255,.035)}
.inventory-item-card.low{border-left-color:#e7981a}.inventory-item-card.out{border-left-color:#d74650}.inventory-item-card.inactive{opacity:.62}
.inventory-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.inventory-item-head strong{display:block;color:#fff;font-size:15px}.inventory-item-head small{display:block;color:#939ba2;margin-top:3px}
.inventory-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.inventory-status.healthy{background:rgba(47,164,107,.16);color:#6bdda3}.inventory-status.low{background:rgba(231,152,26,.17);color:#ffc765}.inventory-status.out{background:rgba(215,70,80,.18);color:#ff9299}
.inventory-balance{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;margin:13px 0;padding:12px;border-radius:12px;background:rgba(0,0,0,.18)}.inventory-balance span{color:#9aa1a8;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.06em}.inventory-balance strong{grid-row:1/3;grid-column:2;color:#fff;font-size:25px;line-height:1}.inventory-balance strong small{font-size:11px;color:#aab0b5}.inventory-balance em{font-style:normal;color:#c2c7cb;font-size:10px}
.inventory-adjust-form{display:grid;grid-template-columns:120px 92px minmax(130px,1fr) auto;gap:7px;align-items:center}.inventory-adjust-form select,.inventory-adjust-form input{min-width:0;width:100%}.inventory-item-actions{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}
.dashboard-low-stock-card .stat{color:#ffbd4a!important}

@media(max-width:1100px){
  .profile-layout,.inventory-main-grid{grid-template-columns:1fr}
  .profile-summary-card,.inventory-editor-card{position:static}
  .inventory-items-list{max-height:none;overflow:visible}
}
@media(max-width:760px){
  body.role-superadmin .main-content{padding-bottom:max(22px,env(safe-area-inset-bottom))!important}
  .inventory-hero{align-items:flex-start;flex-direction:column;padding:18px}.inventory-hero .actions{width:100%}.inventory-hero .btn{flex:1}
  .inventory-adjust-form{grid-template-columns:1fr 1fr}.inventory-adjust-form input[name="reason"]{grid-column:1/-1}.inventory-adjust-form .btn{grid-column:1/-1}
  .profile-password-section{padding:13px}
}

/* V35 compact cashier inventory */
.cashier-inventory-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.cashier-inventory-title{display:flex;align-items:center;gap:13px;min-width:0}
.cashier-inventory-title h2{margin:0;color:#fff;font-size:23px;line-height:1.1}
.cashier-stock-counters{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cashier-stock-counters span,.cashier-history-count{display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:4px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.045);color:#b8bec4;font-size:10px;font-weight:800;white-space:nowrap}
.cashier-stock-counters b{color:#fff;font-size:12px}.cashier-stock-counters .low b{color:#ffc35a}.cashier-stock-counters .out b{color:#ff7f87}
.cashier-inventory-panel{overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(14,18,22,.92);box-shadow:0 10px 28px rgba(0,0,0,.17)}
.cashier-inventory-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.075)}
.cashier-stock-search{display:flex;align-items:center;gap:7px;min-width:0;flex:1;max-width:440px}
.cashier-stock-search input{height:36px;min-width:0;flex:1}
.cashier-stock-tabs{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(0,0,0,.16)}
.cashier-stock-tabs a{padding:6px 10px;border-radius:6px;color:#aeb5bb;font-size:10px;font-weight:900;text-decoration:none}
.cashier-stock-tabs a.active{background:#f39819;color:#17100a;box-shadow:0 3px 9px rgba(243,152,25,.18)}
.cashier-stock-table-wrap{width:100%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.cashier-stock-table{width:100%;min-width:680px;border-collapse:collapse}
.cashier-stock-table th{padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#8f989f;font-size:9px;font-weight:950;letter-spacing:.055em;text-align:left;text-transform:uppercase;white-space:nowrap}
.cashier-stock-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);color:#dce0e3;font-size:12px;vertical-align:middle}
.cashier-stock-table tbody tr:last-child td{border-bottom:0}.cashier-stock-table tbody tr:hover{background:rgba(255,255,255,.025)}
.cashier-stock-item strong,.cashier-history-table td>strong{display:block;color:#fff;font-size:13px}.cashier-stock-item small,.cashier-history-table td>small{display:block;margin-top:2px;color:#858e95;font-size:9px}
.cashier-stock-balance{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.cashier-stock-balance strong{color:#fff;font-size:18px}.cashier-stock-balance span{color:#959da4;font-size:10px;font-weight:800}
.cashier-stock-status{display:inline-flex;align-items:center;justify-content:center;min-width:55px;padding:5px 7px;border-radius:7px;font-size:9px;font-weight:950;text-transform:uppercase;white-space:nowrap}
.cashier-stock-status.ok{background:rgba(43,164,105,.14);color:#74dca7}.cashier-stock-status.low{background:rgba(229,148,25,.16);color:#ffc45c}.cashier-stock-status.out{background:rgba(211,66,77,.17);color:#ff8991}
.cashier-deduct-form{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:178px}
.cashier-deduct-form input{width:80px;height:34px;padding:6px 8px;text-align:center;font-size:12px}
.cashier-deduct-form .btn{min-width:76px;height:34px;padding:6px 10px}
.cashier-deduct-form .btn:disabled{opacity:.7;cursor:wait}
.cashier-history-filters{display:grid;grid-template-columns:145px 145px minmax(180px,1fr) auto auto;gap:8px;align-items:end;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.075)}
.cashier-history-filters label{display:grid;gap:4px}.cashier-history-filters label>span{color:#90989f;font-size:9px;font-weight:900;text-transform:uppercase}.cashier-history-filters input{height:36px}
.cashier-history-table-wrap{max-height:calc(100vh - 235px)}
.cashier-history-table{min-width:760px}.cashier-history-deducted{color:#ff9a72!important}
.cashier-history-table th:nth-child(1){width:145px}.cashier-history-table th:nth-child(3),.cashier-history-table th:nth-child(4){width:125px}.cashier-history-table th:nth-child(5){width:150px}

@media(max-width:760px){
  .cashier-inventory-head{align-items:flex-start}.cashier-inventory-title{align-items:flex-start;flex-direction:column;gap:7px}.cashier-inventory-title h2{font-size:21px}
  .cashier-inventory-tools{align-items:stretch;flex-direction:column}.cashier-stock-search{max-width:none}.cashier-stock-tabs{align-self:flex-start}
  .cashier-stock-table-wrap{overflow:visible}.cashier-stock-table{display:block;min-width:0}.cashier-stock-table thead{display:none}.cashier-stock-table tbody{display:grid;gap:8px;padding:9px}
  .cashier-stock-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:11px;border:1px solid rgba(255,255,255,.085);border-radius:12px;background:rgba(255,255,255,.025)}
  .cashier-stock-table td{display:block;padding:0;border:0}.cashier-stock-table td:nth-child(1){grid-column:1}.cashier-stock-table td:nth-child(2){grid-column:2;grid-row:1;text-align:right}.cashier-stock-table td:nth-child(3){grid-column:1}.cashier-stock-table td:nth-child(4){grid-column:1/-1}
  .cashier-deduct-form{justify-content:stretch;min-width:0}.cashier-deduct-form input{width:auto;flex:1}.cashier-deduct-form .btn{min-width:92px}
  .cashier-history-filters{grid-template-columns:1fr 1fr}.cashier-history-filters .search{grid-column:1/-1}.cashier-history-filters .btn{width:100%}
  .cashier-history-table-wrap{max-height:none}.cashier-history-table tbody{padding:9px}.cashier-history-table tr{grid-template-columns:1fr 1fr}.cashier-history-table td:nth-child(1),.cashier-history-table td:nth-child(2),.cashier-history-table td:nth-child(3),.cashier-history-table td:nth-child(4),.cashier-history-table td:nth-child(5){grid-column:auto;grid-row:auto;text-align:left}
  .cashier-history-table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:#7f888f;font-size:8px;font-weight:900;text-transform:uppercase}
}

/* V36 paid history: scroll from any point inside the page or records table */
body.role-cashier.page-paid-history,
body.role-cashier.page-paid-history .app-shell,
body.role-cashier.page-paid-history .main-content{
  min-height:100vh;
  min-height:100dvh;
  height:auto!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important
}
body.role-cashier.page-paid-history .history-hero,
body.role-cashier.page-paid-history .history-summary,
body.role-cashier.page-paid-history .history-card,
body.role-cashier.page-paid-history .history-caption,
body.role-cashier.page-paid-history .history-filters{
  touch-action:pan-y pinch-zoom!important;
  overscroll-behavior-y:auto!important
}
body.role-cashier.page-paid-history .history-table{
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-x pan-y pinch-zoom!important
}
body.role-cashier.page-paid-history .history-table table,
body.role-cashier.page-paid-history .history-table thead,
body.role-cashier.page-paid-history .history-table tbody,
body.role-cashier.page-paid-history .history-table tr,
body.role-cashier.page-paid-history .history-table th,
body.role-cashier.page-paid-history .history-table td,
body.role-cashier.page-paid-history .history-table td *{
  touch-action:pan-x pan-y pinch-zoom!important
}

/* === V37 universal page, panel and table scrolling === */
html{
  min-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:auto
}
body.role-superadmin,
body.role-cashier,
body.role-waiter,
body.role-kitchen{
  min-height:100vh;
  min-height:100dvh;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-x:none!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom!important
}
body.role-superadmin .app-shell,
body.role-cashier .app-shell,
body.role-waiter .app-shell,
body.role-kitchen .app-shell,
body.role-superadmin .main-content,
body.role-cashier .main-content,
body.role-waiter .main-content,
body.role-kitchen .main-content{
  min-height:100vh;
  min-height:100dvh;
  height:auto!important;
  overflow:visible!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y pinch-zoom!important
}

/* The fixed navigation remains independently scrollable when its links exceed
   the screen height. */
.sidebar{
  max-height:100vh;
  max-height:100dvh;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom!important
}

/* A vertical swipe may begin on any normal page surface, card, row or text. */
body.role-superadmin .main-content :where(
  .card,.metric-card,.history-card,.inventory-hero,.inventory-item-card,
  .cashier-inventory-panel,.cashier-stock-table,.cashier-history-table,
  .cashier-orders-board,.cashier-board-ticket,.order-ticket,.order-detail-card,
  .add-cart-card,.recent-payments-card,.queue-column,.queue-body,
  .waiter-v7-menu-card,.waiter-v7-order-panel,.waiter-product-card,
  .waiter-active-prime-card,.waiter-action-card,.waiter-prime-quick-card,
  table,thead,tbody,tr,th,td,td *
),
body.role-cashier .main-content :where(
  .card,.metric-card,.history-card,.inventory-hero,.inventory-item-card,
  .cashier-inventory-panel,.cashier-stock-table,.cashier-history-table,
  .cashier-orders-board,.cashier-board-ticket,.order-ticket,.order-detail-card,
  .add-cart-card,.recent-payments-card,.queue-column,.queue-body,
  .waiter-v7-menu-card,.waiter-v7-order-panel,.waiter-product-card,
  .waiter-active-prime-card,.waiter-action-card,.waiter-prime-quick-card,
  table,thead,tbody,tr,th,td,td *
),
body.role-waiter .main-content :where(
  .card,.metric-card,.history-card,.inventory-hero,.inventory-item-card,
  .cashier-inventory-panel,.cashier-stock-table,.cashier-history-table,
  .cashier-orders-board,.cashier-board-ticket,.order-ticket,.order-detail-card,
  .add-cart-card,.recent-payments-card,.queue-column,.queue-body,
  .waiter-v7-menu-card,.waiter-v7-order-panel,.waiter-product-card,
  .waiter-active-prime-card,.waiter-action-card,.waiter-prime-quick-card,
  table,thead,tbody,tr,th,td,td *
),
body.role-kitchen .main-content :where(
  .card,.metric-card,.history-card,.inventory-hero,.inventory-item-card,
  .cashier-inventory-panel,.cashier-stock-table,.cashier-history-table,
  .cashier-orders-board,.cashier-board-ticket,.order-ticket,.order-detail-card,
  .add-cart-card,.recent-payments-card,.queue-column,.queue-body,
  .waiter-v7-menu-card,.waiter-v7-order-panel,.waiter-product-card,
  .waiter-active-prime-card,.waiter-action-card,.waiter-prime-quick-card,
  table,thead,tbody,tr,th,td,td *
){
  touch-action:pan-x pan-y pinch-zoom!important
}

/* Tables still move left/right, but no longer block an up/down page swipe. */
.table-wrap,
.history-table,
.cashier-stock-table-wrap,
.cashier-history-table-wrap,
.cashier-order-filters,
.category-tabs,
.waiter-category-tabs,
.waiter-v7-categories,
.orders-rail{
  overflow-x:auto!important;
  overscroll-behavior-x:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y pinch-zoom!important
}
.table-wrap :where(table,thead,tbody,tr,th,td,td *),
.history-table :where(table,thead,tbody,tr,th,td,td *),
.cashier-stock-table-wrap :where(table,thead,tbody,tr,th,td,td *),
.cashier-history-table-wrap :where(table,thead,tbody,tr,th,td,td *){
  touch-action:pan-x pan-y pinch-zoom!important
}

/* Lists with their own height remain scrollable from every part of the list. */
.inventory-items-list,
.queue-body,
.waiter-v7-cart-list,
.customer-suggestions{
  overflow-y:auto;
  overscroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom!important
}
.inventory-items-list *,
.queue-body *,
.waiter-v7-cart-list *,
.customer-suggestions *{
  touch-action:pan-y pinch-zoom!important
}

/* Pop-ups remain usable on short portrait and landscape screens. */
.waiter-success-modal{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom!important
}
.waiter-success-card{
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y pinch-zoom!important
}

/* Keep taps responsive without sacrificing native swipe scrolling. */
body.role-superadmin :where(button,a,input,select,textarea),
body.role-cashier :where(button,a,input,select,textarea),
body.role-waiter :where(button,a,input,select,textarea),
body.role-kitchen :where(button,a,input,select,textarea){
  touch-action:manipulation!important
}

@media (hover:none), (pointer:coarse){
  body.role-superadmin .main-content,
  body.role-cashier .main-content,
  body.role-waiter .main-content,
  body.role-kitchen .main-content{
    padding-bottom:max(30px,env(safe-area-inset-bottom))!important
  }

  /* Remove remaining vertical scroll traps on tablet and phone pages. */
  .history-card,
  .cashier-inventory-panel,
  .cashier-orders-board,
  .cashier-menu-workspace,
  .order-detail-card,
  .add-cart-card,
  .recent-payments-card{
    overscroll-behavior-y:auto!important
  }
}

/* === V38 Admin operations reporting === */
.page-reports .main-content{padding-bottom:34px}
.admin-report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-report-head h2{margin:3px 0 2px;font-size:clamp(24px,3vw,34px);letter-spacing:-.035em}
.admin-report-range{color:#9ca7ad;font-size:13px;font-weight:800}
.admin-report-quick{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.admin-report-quick .btn{min-height:36px;padding:8px 12px;border-radius:10px;font-size:11px}
.admin-report-filter-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding:14px;margin-bottom:14px}
.admin-report-filter{display:grid;grid-template-columns:minmax(140px,190px) minmax(140px,190px) auto auto;gap:9px;align-items:end}
.admin-report-filter .field{margin:0}.admin-report-filter .field label{font-size:9px;letter-spacing:.09em;text-transform:uppercase}
.admin-report-filter input{height:42px}
.admin-report-filter .btn,.admin-report-email-form .btn{min-height:42px;white-space:nowrap}
.admin-report-email-form{display:flex;align-items:end;gap:9px;padding-left:14px;border-left:1px solid rgba(255,255,255,.08)}
.admin-report-recipient{display:grid;gap:3px;min-width:190px}
.admin-report-recipient span{color:#7f8a91;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.admin-report-recipient strong{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7ecef;font-size:12px}
.admin-report-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:14px}
.admin-report-metrics article{min-height:76px;padding:12px 13px;border:1px solid rgba(255,255,255,.075);border-radius:13px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 10px 26px rgba(0,0,0,.13)}
.admin-report-metrics span{display:block;margin-bottom:7px;color:#829098;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.admin-report-metrics strong{display:block;color:#f2f5f6;font-size:clamp(18px,2vw,25px);line-height:1;letter-spacing:-.03em}
.admin-report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.admin-report-panel{padding:0;overflow:hidden}
.admin-report-full{margin-top:12px}
.admin-report-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}
.admin-report-panel-head h2{margin:0;font-size:16px;letter-spacing:-.015em}
.admin-report-panel-head span{flex:none;padding:5px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#9da7ad;background:rgba(255,255,255,.025);font-size:9px;font-weight:900;text-transform:uppercase}
.admin-report-panel .table-wrap{margin:0;border:0;border-radius:0;max-height:430px;overflow:auto!important}
.admin-report-full .table-wrap{max-height:510px}
.admin-report-panel table{min-width:620px}
.admin-report-panel th{position:sticky;top:0;z-index:2;padding:10px 12px;background:#141a1e;color:#9aa4aa;font-size:9px;letter-spacing:.07em;text-transform:uppercase}
.admin-report-panel td{padding:10px 12px;font-size:11px;vertical-align:top}
.admin-report-panel tbody tr:hover{background:rgba(255,255,255,.025)}
.admin-report-order-table table{min-width:1180px}
.admin-report-items{display:grid;gap:3px;min-width:180px}.admin-report-items span{white-space:normal;line-height:1.35}.admin-report-items b{color:#f2bf4f}
.stock-positive{color:#78d89a!important}.stock-negative{color:#ff8f92!important}

@media(max-width:1180px){
  .admin-report-filter-card{grid-template-columns:1fr}.admin-report-email-form{padding:12px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.08);justify-content:space-between}.admin-report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .admin-report-head{align-items:flex-start;flex-direction:column}.admin-report-quick{justify-content:flex-start}.admin-report-filter{grid-template-columns:1fr 1fr}.admin-report-filter .btn{width:100%}.admin-report-grid{grid-template-columns:1fr}.admin-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-report-panel .table-wrap,.admin-report-full .table-wrap{max-height:none}
}
@media(max-width:560px){
  .admin-report-filter{grid-template-columns:1fr}.admin-report-email-form{align-items:stretch;flex-direction:column}.admin-report-recipient{min-width:0}.admin-report-email-form .btn{width:100%}.admin-report-metrics{gap:7px}.admin-report-metrics article{min-height:68px;padding:10px}.admin-report-metrics strong{font-size:18px}
}


/* === V42 Secure Super Admin password recovery === */
.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-label-row label{margin:0}
.auth-link{color:#ffc260;font-size:12px;font-weight:800;text-decoration:none}
.auth-link:hover,.auth-link:focus{text-decoration:underline;color:#ffd18b}
.auth-card .auth-back-row{display:flex;justify-content:center;margin-top:16px}
.auth-card .auth-status-copy{margin:12px 0 0;line-height:1.55}
.auth-card .reset-account{margin:12px 0 18px;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.035)}
.auth-card .reset-account strong{display:block;color:#fff;font-size:14px}
.auth-card .reset-account span{display:block;margin-top:3px;color:#98a3aa;font-size:12px}
@media(max-width:420px){.auth-label-row{align-items:flex-start;flex-direction:column;gap:5px}.auth-link{font-size:11px}}

/* === V43 Verified expenses and net-after-expenses reporting === */
.cashier-ledger-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
.cashier-ledger-card.expense{background:linear-gradient(135deg,#a6222b,#74131b);color:#fff;border:1px solid rgba(255,255,255,.10)}
.cashier-ledger-card.net{background:linear-gradient(135deg,#16784a,#0b4e31);color:#fff;border:1px solid rgba(255,255,255,.10)}
.expense-dashboard-card{border-color:rgba(230,76,76,.28)!important;background:linear-gradient(145deg,rgba(127,26,33,.22),rgba(255,255,255,.025))!important}
.net-dashboard-card{border-color:rgba(48,190,116,.28)!important;background:linear-gradient(145deg,rgba(17,107,65,.22),rgba(255,255,255,.025))!important}
.expenses-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px;padding:22px 24px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:linear-gradient(105deg,rgba(7,10,12,.97),rgba(25,18,13,.86)),url('../images/ui-burger-hero.webp') right center/cover no-repeat;color:#fff;box-shadow:var(--shadow)}
.expenses-hero h2{margin:3px 0 6px;color:#fff}.expenses-hero p{max-width:780px;margin:0;color:#cbd0d4;font-size:13px;line-height:1.55}.expenses-hero .eyebrow{color:#ffc45a}
.expense-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.expense-metric{position:relative;overflow:hidden;display:grid;gap:5px;min-height:112px;padding:17px 18px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:0 10px 24px rgba(0,0,0,.14)}
.expense-metric::after{content:"";position:absolute;right:-30px;bottom:-50px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.07)}
.expense-metric span{font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.expense-metric strong{font-size:clamp(22px,2.5vw,32px);line-height:1;color:#fff}.expense-metric small{color:rgba(255,255,255,.72);font-size:10px;line-height:1.4}
.expense-metric.gross{background:linear-gradient(135deg,#ef7817,#b84b0c)}.expense-metric.expense{background:linear-gradient(135deg,#a6222b,#74131b)}.expense-metric.net{background:linear-gradient(135deg,#16784a,#0b4e31)}.expense-metric.cash{background:linear-gradient(135deg,#26313a,#10161b)}
.expense-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:12px;margin-bottom:12px}.expense-entry-card,.expense-category-card,.expense-history-card{border-color:rgba(255,255,255,.09)}
.expense-entry-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;align-items:end}.expense-entry-form .field{margin:0}.expense-entry-form .expense-description{grid-column:span 2}.expense-entry-form textarea{min-height:78px;resize:vertical}.expense-entry-form .expense-save{min-height:45px}.expense-amount-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.expense-amount-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,159,26,.10)}.expense-amount-input span{padding:0 0 0 12px;color:#ffb23b;font-weight:900}.expense-amount-input input{border:0!important;box-shadow:none!important;background:transparent!important}.expense-permission-note{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:rgba(255,176,47,.08);color:#bfc5ca;font-size:10px;line-height:1.45}
.expense-category-list{display:grid;gap:8px}.expense-category-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.025)}.expense-category-list span{display:grid;gap:3px;min-width:0}.expense-category-list strong{font-size:12px}.expense-category-list small{color:#838f97;font-size:9px}.expense-category-list b{color:#ffba48;font-size:15px;white-space:nowrap}
.expense-filters{display:grid;grid-template-columns:140px 140px minmax(170px,.7fr) 130px minmax(210px,1.2fr) auto auto;gap:9px;align-items:end;margin:13px 0}.expense-filters .field{margin:0}.expense-table-wrap{max-height:640px}.expense-table-amount{color:#ffb449;white-space:nowrap}.expense-voided-row{opacity:.62}.expense-voided-row .expense-table-amount{text-decoration:line-through}.expense-void-reason{color:#ff9494!important}.expense-admin-actions{display:flex;align-items:flex-start;gap:6px}.expense-admin-actions details{position:relative}.expense-admin-actions summary{list-style:none;cursor:pointer}.expense-admin-actions summary::-webkit-details-marker{display:none}.expense-admin-actions details form{position:absolute;z-index:12;right:0;top:42px;width:260px;padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#11171b;box-shadow:0 18px 40px rgba(0,0,0,.42);display:grid;gap:8px}.expense-admin-actions details input{min-width:0}.expense-admin-actions .btn-danger{background:#a82a31!important;border-color:#c74048!important;color:#fff!important}
@media(max-width:1180px){.cashier-ledger-summary,.expense-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-workspace{grid-template-columns:1fr}.expense-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-filters .expense-search{grid-column:span 2}}
@media(max-width:700px){.expenses-hero{align-items:flex-start;flex-direction:column;padding:18px}.expenses-hero .btn{width:100%}.expense-entry-form,.expense-filters{grid-template-columns:1fr}.expense-entry-form .expense-description,.expense-filters .expense-search{grid-column:auto}.expense-summary-grid{grid-template-columns:1fr 1fr}.expense-metric{min-height:100px;padding:14px}.expense-metric strong{font-size:22px}.expense-filters .btn{width:100%}.expense-admin-actions details form{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto}}
@media(max-width:480px){.cashier-ledger-summary,.expense-summary-grid{grid-template-columns:1fr}.expense-metric{min-height:92px}}

/* === V44 Superadmin operational data reset === */
.page-data-reset .main-content{padding-bottom:42px}
.sales-truth-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.data-reset-entry{min-height:36px;padding:8px 12px;border:1px solid rgba(255,113,106,.4)!important;background:rgba(146,26,32,.2)!important;color:#ffaaa6!important;font-size:10px}.data-reset-entry:hover{background:rgba(178,35,41,.34)!important;color:#fff!important}
.data-reset-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px;padding:22px 24px;border:1px solid rgba(255,91,84,.3);border-radius:22px;background:linear-gradient(110deg,rgba(44,10,13,.96),rgba(15,13,14,.93)),url('../images/ui-burger-hero.webp') right center/cover no-repeat;color:#fff;box-shadow:var(--shadow)}
.data-reset-hero h2{margin:3px 0 6px;color:#fff}.data-reset-hero p{max-width:760px;margin:0;color:#d4c7c8;font-size:13px;line-height:1.55}.data-reset-hero .eyebrow{color:#ff8f8a}
.data-reset-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}
.data-reset-preview article{display:grid;gap:5px;min-height:102px;padding:16px 17px;border:1px solid rgba(255,255,255,.085);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.022));box-shadow:0 10px 24px rgba(0,0,0,.13)}
.data-reset-preview span{color:#909ba2;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.data-reset-preview strong{color:#f5f7f8;font-size:clamp(21px,2.4vw,29px);line-height:1}.data-reset-preview small{color:#7f8a91;font-size:10px;line-height:1.35}
.data-reset-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.data-reset-scope{padding:17px}.data-reset-scope.preserved{border-color:rgba(62,195,116,.22)}
.data-reset-list{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.data-reset-list li{position:relative;display:grid;gap:3px;padding:11px 12px 11px 38px;border:1px solid rgba(255,255,255,.07);border-radius:11px;background:rgba(255,255,255,.025)}.data-reset-list li::before{position:absolute;left:12px;top:12px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font-size:11px;font-weight:950}.data-reset-list b{color:#f1f3f4;font-size:12px}.data-reset-list span{color:#879299;font-size:10px;line-height:1.45}.clear-list li::before{content:"\00d7";background:rgba(255,85,78,.16);color:#ff8f89}.keep-list li::before{content:"\2713";background:rgba(54,195,113,.15);color:#7cdb9e}
.data-reset-confirm-card{position:relative;overflow:hidden;padding:22px;border-color:rgba(255,82,75,.34)!important;background:linear-gradient(145deg,rgba(115,20,27,.2),rgba(255,255,255,.02))!important}.data-reset-confirm-card::after{content:"";position:absolute;right:-70px;top:-90px;width:220px;height:220px;border-radius:50%;background:rgba(230,53,52,.08);pointer-events:none}.data-reset-warning-icon{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border:1px solid rgba(255,110,103,.35);border-radius:13px;background:rgba(194,35,39,.22);color:#ff9994;font-size:24px;font-weight:950}.data-reset-confirm-copy{position:relative;z-index:1}.data-reset-confirm-copy h2{margin:3px 0 5px}.data-reset-confirm-copy p{max-width:900px;margin:0 0 17px;color:#aab2b7;font-size:11px;line-height:1.55}
.data-reset-form{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.data-reset-form .field{margin:0}.data-reset-form input[type="text"],.data-reset-form input[type="password"],.data-reset-form input:not([type]){height:45px}.data-reset-check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);color:#c8ced2;font-size:11px;font-weight:750;line-height:1.4}.data-reset-check input{flex:none;width:17px;height:17px;margin:0;accent-color:#d83b3d}.data-reset-button{grid-column:1/-1;min-height:48px;border:1px solid #e95a55!important;background:linear-gradient(135deg,#b51f29,#79121a)!important;color:#fff!important;font-weight:950;letter-spacing:.02em;box-shadow:0 12px 26px rgba(127,12,20,.28)}.data-reset-button:hover{filter:brightness(1.1)}.data-reset-button:disabled{cursor:not-allowed;filter:grayscale(.4);opacity:.5}
@media(max-width:880px){.data-reset-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.data-reset-layout{grid-template-columns:1fr}}
@media(max-width:620px){.sales-truth-actions{align-items:stretch;justify-content:flex-start;width:100%;flex-direction:column}.data-reset-entry{text-align:center}.data-reset-hero{align-items:flex-start;flex-direction:column;padding:18px}.data-reset-hero .btn{width:100%}.data-reset-preview,.data-reset-form{grid-template-columns:1fr}.data-reset-preview article{min-height:88px}.data-reset-confirm-card{padding:17px}}
