:root { --bg:#0f172a; --panel:#111827; --text:#f9fafb; --muted:#9ca3af; --accent:#ef4444; --accent2:#dc2626; }
*{box-sizing:border-box;} body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#030712;color:var(--text);} a{text-decoration:none;color:inherit;}
.top-shell{position:sticky;top:0;z-index:1000;backdrop-filter:blur(8px);} .topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:linear-gradient(180deg,#111827,#0f172a);border-bottom:1px solid #1f2937;} .brand-row{display:flex;gap:12px;align-items:center;} .brand-logo{width:58px;height:58px;object-fit:contain;border-radius:0;background:transparent;padding:0;} .brand-title{font-size:1.35rem;font-weight:700;} .brand-subtitle{color:var(--muted);font-size:.9rem;} .header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end;} .session-pill{background:#1f2937;padding:8px 12px;border-radius:999px;font-size:.9rem;} .session-pill-online{background:rgba(34,197,94,.16);color:#d1fae5;border:1px solid rgba(34,197,94,.45);} .session-pill-offline{background:rgba(239,68,68,.16);color:#fee2e2;border:1px solid rgba(239,68,68,.45);} .nav-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:12px 20px;background:#0b1220;border-bottom:1px solid #1f2937;} .nav-tabs a{background:#111827;padding:10px 14px;border-radius:10px;} .nav-tabs a:hover{background:#1f2937;} .page-wrap{padding:20px;} .panel{background:rgba(17,24,39,.95);border:1px solid #1f2937;border-radius:18px;padding:18px;box-shadow:0 12px 40px rgba(0,0,0,.25);} .panel.narrow{max-width:900px;}
.grid{display:grid;gap:20px;} .grid.two{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));} .cashier-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start;min-height:calc(100vh - 150px);} .main-stack{display:grid;gap:20px;min-width:0;} .sidebar{position:sticky;top:140px;} .sidebar-stretch{height:calc(100vh - 165px);display:flex;flex-direction:column;overflow:hidden;} .receipt-list{display:grid;gap:10px;margin-top:10px;} .receipt-list-scroll{flex:1;overflow:auto;padding-right:4px;} .receipt-card{width:100%;text-align:left;background:#0b1220;color:white;border:1px solid #374151;border-radius:12px;padding:10px;display:grid;gap:4px;cursor:pointer;} .receipt-card:hover{border-color:var(--accent);} .receipt-card-total{color:#22c55e;font-size:1.28rem;font-weight:700;} .button-row{display:flex;gap:10px;align-items:center;} .button-row.wrap{flex-wrap:wrap;} .button-row.between{justify-content:space-between;} .inline-form{display:inline-flex;gap:8px;align-items:center;} .stack-form{display:grid;gap:10px;} .input,textarea,select{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #374151;background:#030712;color:var(--text);} textarea.input{min-height:90px;resize:vertical;} .btn{border:0;border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;} .btn-primary{background:var(--accent);color:white;} .btn-primary:hover{background:var(--accent2);} .btn-dark{background:#111827;color:white;} .btn-light{background:#e5e7eb;color:#111827;} .btn-danger{background:#dc2626;color:white;} .btn-block{width:100%;} .top-gap{margin-top:16px;} .tiny-text{color:var(--muted);font-size:.85rem;} .summary-chip{background:#1f2937;border-radius:999px;padding:12px 16px;} .alert{padding:12px 16px;border-radius:12px;margin-bottom:16px;} .alert.success{background:#052e16;} .alert.error{background:#450a0a;} .alert.promo{background:linear-gradient(90deg,#7f1d1d,#ef4444);font-weight:700;} .payment-grid{display:grid;gap:8px;} .payment-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:center;} .vr-list{display:grid;gap:12px;} .vr-row{display:grid;grid-template-columns:minmax(0,1fr) 180px 110px;gap:12px;align-items:center;padding:12px;border:1px solid #374151;border-radius:16px;background:#0b1220;} .vr-row.no-free{grid-template-columns:minmax(0,1fr) 180px;} .vr-row-actions{display:grid;grid-template-columns:1fr;gap:12px;min-width:0;} .vr-row-actions.has-cart{grid-template-columns:minmax(0,1fr) 140px;} .vr-main-button{min-height:62px;text-align:center;white-space:normal;line-height:1.1;padding:12px 14px;font-size:1rem;} .vr-payment-select{min-width:0;width:100%;} .vr-free-toggle{display:flex;align-items:center;gap:8px;justify-self:start;white-space:nowrap;font-weight:700;} .vr-free-toggle input{width:18px;height:18px;} .muted-card{background:#111827;} .vr-title{font-size:1.05rem;font-weight:700;} .table-wrap{overflow:auto;} .table{width:100%;border-collapse:collapse;} .table th,.table td{padding:10px;border-bottom:1px solid #374151;text-align:left;vertical-align:top;} .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px;} .detail-grid>div{background:#0b1220;border-radius:12px;padding:10px;display:grid;gap:4px;} .detail-grid strong{color:var(--muted);font-size:.85rem;} .simple-list{margin:0;padding-left:18px;display:grid;gap:6px;} .simple-list.compact{gap:2px;} .history-card{background:#0b1220;border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid #374151;} .audit-box{max-height:380px;overflow:auto;background:#0b1220;padding:12px;border-radius:12px;} .audit-line{padding:8px 0;border-bottom:1px solid #1f2937;} .chart-row{display:grid;grid-template-columns:120px 1fr 80px;gap:10px;align-items:center;margin-bottom:10px;} .bar{height:14px;background:#1f2937;border-radius:999px;overflow:hidden;} .bar>div{height:100%;background:linear-gradient(90deg,#ef4444,#f97316);} .receipt-dialog{width:min(680px,calc(100vw - 24px));border:1px solid #374151;border-radius:16px;background:#111827;color:#fff;padding:0;} .dialog-shell{padding:20px;position:relative;} .dialog-close{position:absolute;top:10px;right:10px;background:transparent;color:white;font-size:1.7rem;border:0;cursor:pointer;} .login-body{min-height:100vh;display:grid;place-items:center;padding:18px;} .login-shell{width:min(500px,calc(100vw - 32px));display:grid;gap:18px;} .compact-login-shell{width:min(500px,calc(100vw - 32px));} .login-brand{text-align:center;} .login-logo{width:120px;object-fit:contain;} .login-panel{width:100%;} .login-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;} @media (max-width:980px){.cashier-layout{grid-template-columns:1fr;min-height:auto;}.sidebar{position:static;}.sidebar-stretch{height:min(70vh,620px);max-height:none;}.receipt-list-scroll{overflow:auto;}.cashier-main-grid{grid-template-columns:1fr;}.vr-row,.vr-row.no-free{grid-template-columns:1fr;}.vr-row-actions.has-cart{grid-template-columns:1fr 1fr;}.topbar{align-items:flex-start;flex-direction:column;gap:12px;}.header-actions{justify-content:flex-start;}}
@media (max-width:640px){.vr-row-actions.has-cart{grid-template-columns:1fr;}.nav-tabs{padding:10px 12px;gap:8px;}.nav-tabs a{padding:9px 12px;}.panel-head{align-items:flex-start;}.action-split-row{grid-template-columns:1fr;}}
.cart-strip{display:flex;gap:12px;overflow:auto;padding-bottom:4px;flex-wrap:wrap;}
.cart-chip{min-width:180px;background:#0b1220;border:1px solid #374151;border-radius:18px;padding:12px;display:grid;gap:10px;}
.cart-chip-active{border-color:#ef4444;box-shadow:0 0 0 1px #ef4444 inset;}
.cart-chip-button{border:0;background:transparent;color:white;text-align:left;display:grid;gap:4px;cursor:pointer;padding:0;}
.btn-small{padding:8px 10px;font-size:.85rem;}
.compact-form{gap:6px;}
.wide-login{max-width:1100px;}
.compact-table th,.compact-table td{padding:8px;}


.checkbox-line { display:flex; align-items:center; gap:10px; }
.agent-status { display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px; margin-top:8px; flex-wrap:wrap; }
.agent-online { background: rgba(34,197,94,.16); color:#d1fae5; border:1px solid rgba(34,197,94,.45); }
.agent-offline { background: rgba(239,68,68,.16); color:#fee2e2; border:1px solid rgba(239,68,68,.45); }
.btn-small { padding:8px 12px; font-size:14px; }

.receipt-free-row{background:rgba(239,68,68,.10) !important;}

.cashier-main-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.panel-head h2{margin:0;}
.escape-total-chip{margin-left:auto;white-space:nowrap;}
.sr-hidden{display:none !important;}
.action-split-row{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:12px;}
.money-input{text-align:left;}
.receipt-free-row{background:rgba(239,68,68,.10) !important;border-color:#ef4444 !important;}
@media (max-width:980px){.cashier-main-grid{grid-template-columns:1fr;}}
@media (max-width:640px){.action-split-row{grid-template-columns:1fr;}}


/* V11 UI refinements */
.top-shell{position:sticky;top:0;z-index:1000;backdrop-filter:blur(8px);}
.topbar{gap:16px;}
.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.user-card{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:rgba(17,24,39,.98);border:1px solid #334155;box-shadow:0 10px 30px rgba(0,0,0,.25);}
.user-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff;font-weight:800;font-size:1.15rem;flex:0 0 44px;}
.user-card-body{display:grid;gap:4px;min-width:180px;}
.user-card-topline{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.1;}
.user-card-topline strong{font-size:1rem;}
.user-role-badge{background:#1f2937;border:1px solid #334155;border-radius:999px;padding:4px 9px;font-size:.75rem;color:#e5e7eb;}
.user-card-meta{display:flex;gap:10px;flex-wrap:wrap;color:#9ca3af;font-size:.8rem;}

.receipt-list{display:grid;gap:12px;align-content:start;}
.receipt-list-scroll{flex:1;overflow:auto;padding-right:4px;min-height:0;}
.receipt-card{width:100%;text-align:left;background:#0b1220;color:white;border:1px solid #374151;border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;cursor:pointer;height:176px;overflow:hidden;}
.receipt-card-title{font-size:1rem;line-height:1.05;}
.receipt-card-number{color:#f3f4f6;font-size:.95rem;word-break:break-word;line-height:1.15;}
.receipt-card-total{color:#22c55e;font-size:1.95rem;font-weight:800;line-height:1.05;margin-top:auto;}
.receipt-card-time{font-size:.95rem;line-height:1;}

.vr-main-button{min-height:76px;text-align:center;white-space:normal;line-height:1.05;padding:14px 16px;font-size:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;}
.vr-main-name{display:block;font-size:1.1rem;font-weight:800;line-height:1.05;}
.vr-main-price{display:block;font-size:1rem;font-weight:700;line-height:1.05;}

@media (max-width:980px){
  .user-card{width:100%;justify-content:space-between;}
}
@media (max-width:640px){
  .topbar{align-items:flex-start;flex-direction:column;gap:12px;}
  .header-actions{justify-content:flex-start;width:100%;}
  .user-card{width:100%;align-items:flex-start;flex-wrap:wrap;}
  .user-card-body{min-width:0;}
  .receipt-card{height:164px;}
}


/* V12 refinements */
.vr-main-button{min-height:58px !important;padding:10px 16px !important;gap:4px !important;}
.vr-main-name{font-size:1rem !important;line-height:1.02 !important;}
.vr-main-price{font-size:.9rem !important;line-height:1.02 !important;}
.receipt-card{height:176px !important;gap:10px !important;}
.receipt-card-number{line-height:1.12 !important;}
.receipt-card-time{font-size:.92rem !important;line-height:1 !important;color:#e5e7eb !important;}
.receipt-card-total{font-size:1.45rem !important;line-height:1.02 !important;margin-top:auto !important;}
.user-avatar{display:flex !important;align-items:center !important;justify-content:center !important;}
.user-avatar-text{display:block;line-height:1;transform:translateY(-2px);}
@media (max-width:640px){
  .vr-main-button{min-height:54px !important;padding:9px 14px !important;}
  .receipt-card{height:164px !important;}
  .receipt-card-total{font-size:1.3rem !important;}
}

/* V13 refinements */
.cashier-main-grid,
.cashier-main-grid-60-40{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) !important;}
.create-cart-form{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;}
.create-cart-btn{white-space:nowrap;min-width:max-content;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;}
.create-cart-form .input{width:min(360px,60vw);}
.escape-total-chip{display:inline-flex;align-items:center;gap:6px;}
.escape-total-value{color:#22c55e;font-weight:800;}
.session-pill-refresh{cursor:pointer;appearance:none;-webkit-appearance:none;font:inherit;}
.session-pill-refresh:hover{filter:brightness(1.06);}
.nav-tabs a{transition:background .15s ease,border-color .15s ease,color .15s ease, box-shadow .15s ease;border:1px solid transparent;}
.nav-tabs a:hover{background:#1f2937;}
.nav-tabs a.nav-tab-active{background:#1f2937;border-color:#475569;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;}
.vr-row{grid-template-columns:minmax(0,1fr) 170px 110px !important;}
.vr-row.no-free{grid-template-columns:minmax(0,1fr) 170px !important;}
.vr-main-button{min-height:50px !important;padding:8px 14px !important;gap:3px !important;}
.vr-main-name{font-size:0.98rem !important;line-height:1 !important;}
.vr-main-price{font-size:0.86rem !important;line-height:1 !important;}
.receipt-list-scroll{display:grid;align-content:start;gap:12px;}
.receipt-card{height:168px !important;padding:16px 16px 14px !important;gap:10px !important;}
.receipt-card-bottom{margin-top:auto;display:grid;gap:6px;align-items:start;}
.receipt-card-time{font-size:.9rem !important;line-height:1 !important;color:#e5e7eb !important;}
.receipt-card-total{font-size:1.22rem !important;line-height:1.02 !important;font-weight:800 !important;margin-top:0 !important;}
@media (max-width:640px){
  .receipt-card-bottom{gap:5px;}
  .receipt-card-total{font-size:1.12rem !important;}
}
@media (max-width:980px){
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:1fr !important;}
  .vr-row,
  .vr-row.no-free{grid-template-columns:1fr !important;}
}

/* V14 refinements */
.cashier-main-grid,
.cashier-main-grid-60-40{grid-template-columns:minmax(0,3fr) minmax(0,2fr) !important;align-items:start;}
.cashier-main-grid .panel-head,
.cashier-main-grid .panel-head-vr{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:68px;margin-bottom:14px;}
.cashier-main-grid .panel-head-vr{justify-content:flex-start;}
.cashier-main-grid .panel h2{font-size:2.1rem;line-height:1.08;margin:0;}

.escape-total-chip{display:inline-flex !important;align-items:baseline !important;gap:8px !important;line-height:1 !important;white-space:nowrap;}
.escape-total-label,
.escape-total-currency{color:#f3f4f6;font-weight:500;font-size:1rem;line-height:1;}
.escape-total-value{color:#22c55e !important;font-weight:800 !important;font-size:1rem;line-height:1;display:inline-block;}

.vr-row{grid-template-columns:minmax(0,1fr) 150px 110px !important;}
.vr-row.no-free{grid-template-columns:minmax(0,1fr) 150px !important;}
.vr-row-actions.has-cart{grid-template-columns:minmax(0,7fr) minmax(0,3fr) !important;}
.vr-row-actions.has-cart .btn-light{width:100%;}
.vr-main-button{min-height:48px !important;padding:8px 12px !important;}
.vr-main-name{font-size:0.96rem !important;}
.vr-main-price{font-size:0.84rem !important;}

.receipt-card{height:168px !important;justify-content:flex-start !important;gap:14px !important;}
.receipt-card-title{margin:0;}
.receipt-card-number{margin:0;}
.receipt-card-time{margin:0 !important;}
.receipt-card-total-line{margin-top:24px;}
.receipt-card-total{font-size:1.08rem !important;line-height:1 !important;margin-top:0 !important;}

@media (max-width:980px){
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:1fr !important;}
  .vr-row,
  .vr-row.no-free{grid-template-columns:1fr !important;}
}


/* V15 refinements */
.cashier-main-grid,
.cashier-main-grid-60-40{grid-template-columns:minmax(0,11fr) minmax(0,9fr) !important;align-items:start;}

.vr-row{grid-template-columns:minmax(0,1fr) 96px auto !important;column-gap:10px !important;}
.vr-row.no-free{grid-template-columns:minmax(0,1fr) 96px !important;}
.vr-payment-select{width:100% !important;min-width:0 !important;}
.vr-free-toggle{width:max-content !important;justify-self:start !important;gap:8px !important;}
.vr-free-toggle span,.vr-free-toggle{font-size:1rem !important;}
.vr-row-actions.has-cart{grid-template-columns:minmax(0,7fr) minmax(0,3fr) !important;}
.vr-row-actions:not(.has-cart){grid-template-columns:1fr !important;}
.vr-row-actions .vr-main-button{width:100% !important;}
.vr-row-actions.has-cart .btn-light{width:100% !important;}

.receipt-card{border-color:#374151 !important;}
.receipt-card:hover{border-color:#475569 !important;}
.receipt-card:focus,
.receipt-card:focus-visible,
.receipt-card:active{outline:none !important;box-shadow:none !important;}
.receipt-free-row{border-color:#374151 !important;box-shadow:none !important;}

.toast-bottom{position:fixed;left:20px;right:20px;bottom:16px;z-index:1200;margin:0 !important;box-shadow:0 10px 30px rgba(0,0,0,.35);}
.page-wrap{padding-bottom:88px;}

@media (max-width:980px){
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:1fr !important;}
  .vr-row,
  .vr-row.no-free{grid-template-columns:1fr !important;}
}


/* V16 refinements */
.brand-logo{background:transparent !important;padding:0 !important;border-radius:0 !important;}
.login-logo{background:transparent !important;}
.toast-bottom{left:0 !important;right:0 !important;bottom:0 !important;margin:0 !important;border-radius:0 !important;border-left:0 !important;border-right:0 !important;border-bottom:0 !important;box-shadow:0 -8px 24px rgba(0,0,0,.28) !important;padding:14px 28px !important;}
.page-wrap{padding-bottom:64px !important;}


/* ===============================
   V17 Cinematic Escape-Room Theme
   =============================== */
:root{
  --cin-bg:#050505;
  --cin-bg-2:#0b0b0d;
  --cin-panel:#101012;
  --cin-panel-2:#141417;
  --cin-panel-3:#19191d;
  --cin-line:rgba(255,255,255,.10);
  --cin-line-soft:rgba(255,255,255,.06);
  --cin-text:#f5f5f5;
  --cin-muted:#a8a8ae;
  --cin-red:#ef2f36;
  --cin-red-2:#c51623;
  --cin-red-glow:rgba(239,47,54,.20);
  --cin-green:#27d86b;
  --cin-radius:12px;
  --cin-shadow:0 22px 60px rgba(0,0,0,.45);
}

html,body{
  background:
    radial-gradient(circle at top center, rgba(239,47,54,.08), transparent 28%),
    radial-gradient(circle at 20% 0%, rgba(239,47,54,.05), transparent 22%),
    linear-gradient(180deg, #050505 0%, #0a0a0b 52%, #050505 100%) !important;
  color:var(--cin-text) !important;
}
body{
  font-family:Inter, Segoe UI, Arial, Helvetica, sans-serif !important;
  letter-spacing:-0.01em;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(120deg, transparent 0 84%, rgba(239,47,54,.035) 84% 85%, transparent 85%),
    linear-gradient(180deg, rgba(255,255,255,.015), transparent 30%);
  z-index:-1;
}

a{color:inherit;text-decoration:none;}

.top-shell{
  position:sticky;top:0;z-index:1000;
  background:rgba(7,7,8,.82) !important;
  backdrop-filter:blur(14px) saturate(110%);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 16px 50px rgba(0,0,0,.42);
}
.topbar{
  padding:18px 24px !important;
  background:
    linear-gradient(180deg, rgba(18,18,20,.96), rgba(11,11,13,.94)) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
  position:relative;
  overflow:hidden;
}
.topbar::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(239,47,54,.45), transparent);
}
.brand-row{gap:16px !important;}
.brand-logo{
  width:74px !important;
  height:74px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 0 12px rgba(239,47,54,.12));
}
.brand-title{
  font-size:1.72rem !important;
  font-weight:800 !important;
  letter-spacing:-0.03em;
}
.brand-subtitle{
  color:#c2c2c7 !important;
  font-size:.96rem !important;
}
.header-actions{gap:14px !important;}
.session-pill,
.user-card,
.nav-tabs a,
.summary-chip,
.cart-chip,
.receipt-card,
.agent-status,
.history-card,
.detail-grid>div,
.audit-box,
.receipt-dialog,
.panel,
.input,
textarea.input,
select.input,
.btn,
.cart-chip-button,
.dialog-shell{
  backdrop-filter:saturate(108%);
}
.user-card{
  border-radius:16px !important;
  padding:10px 14px !important;
  background:linear-gradient(180deg, rgba(18,18,20,.96), rgba(12,12,14,.96)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:var(--cin-shadow);
}
.user-avatar{
  width:52px !important;
  height:52px !important;
  border-radius:14px !important;
  background:linear-gradient(180deg, #ff4444, #b80f1d) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 0 0 1px rgba(255,255,255,.08), 0 12px 20px rgba(0,0,0,.28);
}
.user-card-topline strong{font-size:1.04rem !important;}
.user-role-badge{
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  color:#f3f3f3 !important;
}
.user-card-meta{color:var(--cin-muted) !important;}

.nav-tabs{
  padding:14px 24px !important;
  gap:12px !important;
  background:rgba(10,10,12,.96) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}
.nav-tabs a{
  position:relative;
  background:linear-gradient(180deg, rgba(22,22,24,.96), rgba(16,16,18,.96)) !important;
  border:1px solid rgba(255,255,255,.06) !important;
  border-radius:12px !important;
  padding:11px 16px !important;
  font-weight:700;
  color:#e8e8eb !important;
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.nav-tabs a::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(239,47,54,.10), transparent 22%, transparent 78%, rgba(239,47,54,.07));
  opacity:0;
  transition:opacity .16s ease;
}
.nav-tabs a:hover{transform:translateY(-1px);border-color:rgba(239,47,54,.35) !important;box-shadow:0 10px 20px rgba(0,0,0,.25), 0 0 0 1px rgba(239,47,54,.12) inset !important;background:linear-gradient(180deg, rgba(25,25,28,.98), rgba(17,17,20,.98)) !important;}
.nav-tabs a:hover::before,
.nav-tabs a.nav-tab-active::before{opacity:1;}
.nav-tabs a.nav-tab-active{
  color:#fff !important;
  background:linear-gradient(180deg, rgba(34,15,18,.98), rgba(18,10,12,.98)) !important;
  border-color:rgba(239,47,54,.50) !important;
  box-shadow:0 0 0 1px rgba(239,47,54,.18) inset, 0 16px 30px rgba(0,0,0,.28) !important;
}

.page-wrap{
  padding:26px !important;
  padding-bottom:84px !important;
}
.panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(18,18,20,.98), rgba(12,12,14,.98)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:22px !important;
  padding:24px !important;
  box-shadow:var(--cin-shadow) !important;
}
.panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg, rgba(239,47,54,.14) 0, rgba(239,47,54,0) 16%),
    linear-gradient(315deg, rgba(239,47,54,.06) 0, rgba(239,47,54,0) 14%);
  opacity:.75;
}
.panel::after{
  content:"";
  position:absolute;
  top:0;left:26px;
  width:74px;height:2px;
  background:linear-gradient(90deg, var(--cin-red), transparent);
  box-shadow:0 0 20px rgba(239,47,54,.35);
}
.panel > *{position:relative;z-index:1;}
.panel h1,
.panel h2,
.panel h3,
.login-brand h1{
  margin:0 0 12px;
  font-weight:800 !important;
  letter-spacing:-0.035em;
  color:#fbfbfc;
}
.panel h1{font-size:2.35rem;}
.panel h2{font-size:1.9rem;}
.panel h3{font-size:1.2rem;}
label{color:#f2f2f4 !important;font-weight:600;}
.tiny-text,
.brand-subtitle,
.panel p{color:var(--cin-muted) !important;}

.input,
textarea.input,
select.input,
input.input,
textarea,
select{
  background:linear-gradient(180deg, rgba(9,9,10,.98), rgba(6,6,7,.98)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  border-radius:12px !important;
  min-height:48px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02), 0 0 0 1px rgba(0,0,0,.15);
}
.input::placeholder, textarea::placeholder{color:#7f7f86 !important;}
.input:focus,
textarea.input:focus,
select.input:focus,
input.input:focus,
textarea:focus,
select:focus{
  outline:none !important;
  border-color:rgba(239,47,54,.75) !important;
  box-shadow:0 0 0 3px rgba(239,47,54,.12), 0 0 0 1px rgba(239,47,54,.30) inset !important;
}
.input-file{padding:10px 12px !important;}
input[type="file"]::file-selector-button{
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(37,37,41,.96), rgba(22,22,24,.96));
  color:#fff;
  border-radius:10px;
  padding:10px 14px;
  margin-right:12px;
  cursor:pointer;
}

.btn{
  border-radius:12px !important;
  padding:11px 16px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em;
  border:1px solid transparent;
  transition:transform .16s ease, filter .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{
  background:linear-gradient(180deg, #ff4b4b, #d11a26) !important;
  color:#fff !important;
  box-shadow:0 12px 26px rgba(190,22,34,.26), inset 0 1px 0 rgba(255,255,255,.15);
}
.btn-primary:hover{filter:brightness(1.03) !important;}
.btn-light{
  background:linear-gradient(180deg, #efefef, #cfcfd4) !important;
  color:#111 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}
.btn-dark{
  background:linear-gradient(180deg, rgba(29,29,32,.98), rgba(16,16,18,.98)) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.10) !important;
}
.btn-danger{
  background:linear-gradient(180deg, #dd2330, #9f121c) !important;
  color:#fff !important;
}

.summary-chip,
.session-pill,
.agent-status,
.escape-total-chip{
  background:linear-gradient(180deg, rgba(36,36,40,.86), rgba(22,22,26,.90)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.escape-total-chip{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  min-height:54px;
  padding:10px 18px !important;
}
.escape-total-label,
.escape-total-currency{
  color:#f0f0f0 !important;
  line-height:1 !important;
}
.escape-total-value{
  color:var(--cin-green) !important;
  font-weight:900 !important;
  line-height:1 !important;
  display:inline-block;
  transform:translateY(-1px);
}

.alert{
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:var(--cin-shadow);
}
.alert.success{
  background:linear-gradient(90deg, #013f1f, #014e20) !important;
  color:#edfef4 !important;
}
.alert.error{
  background:linear-gradient(90deg, #4d0a0a, #651212) !important;
  color:#fff2f2 !important;
}
.alert.promo{
  background:linear-gradient(90deg, rgba(126,16,25,.95), rgba(214,31,44,.98)) !important;
}
.toast-bottom{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-bottom:0 !important;
  box-shadow:0 -14px 32px rgba(0,0,0,.42) !important;
  padding:15px 28px calc(15px + env(safe-area-inset-bottom)) !important;
  z-index:1400 !important;
}

.table{border-collapse:separate;border-spacing:0;width:100%;}
.table th,
.table td{border-bottom:1px solid rgba(255,255,255,.08) !important;}
.table thead th{
  color:#f0f0f0;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.table tbody tr:hover td{background:rgba(255,255,255,.02);}

.receipt-dialog{
  background:linear-gradient(180deg, rgba(18,18,20,.98), rgba(9,9,11,.98)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
}
.dialog-shell{padding:22px !important;}

.login-body{
  min-height:100vh;
  padding:28px 18px;
  background:
    radial-gradient(circle at center top, rgba(239,47,54,.08), transparent 25%),
    linear-gradient(180deg, #040404 0%, #09090a 100%) !important;
}
.login-shell{
  width:min(516px, calc(100vw - 24px));
  gap:22px !important;
}
.compact-login-shell{
  width:min(516px, calc(100vw - 24px)) !important;
}
.login-brand{padding-top:4px;margin-bottom:4px;}
.login-logo{
  width:min(290px, 58vw) !important;
  max-width:290px;
  object-fit:contain;
  filter:drop-shadow(0 16px 30px rgba(0,0,0,.32));
}
.login-brand h1{font-size:2.1rem !important;margin:8px 0 0 !important;}
.login-panel{padding:28px !important;}

.cashier-layout{gap:24px !important;align-items:start !important;min-height:calc(100vh - 176px) !important;}
.sidebar{top:154px !important;}
.sidebar-stretch{height:calc(100vh - 190px) !important;}
.receipt-list-scroll{
  padding-right:8px !important;
  display:grid !important;
  gap:14px !important;
  align-content:start;
}
.receipt-card{
  position:relative;
  height:182px !important;
  padding:18px 18px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:10px !important;
  background:linear-gradient(180deg, rgba(10,10,12,.98), rgba(6,6,8,.98)) !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.receipt-card:hover{
  border-color:rgba(239,47,54,.32) !important;
  box-shadow:0 18px 40px rgba(0,0,0,.22), 0 0 0 1px rgba(239,47,54,.14) inset !important;
}
.receipt-card-title{font-size:1rem;font-weight:900;line-height:1.08;letter-spacing:-0.02em;}
.receipt-card-number{display:block;margin-top:12px;font-size:.95rem;color:#ededed;line-height:1.05;}
.receipt-card-time{display:block;margin-top:12px;color:#d9d9de !important;font-size:.92rem !important;line-height:1 !important;}
.receipt-card-total-line{margin-top:auto !important;padding-top:8px !important;display:flex;align-items:flex-end;}
.receipt-card-total{color:var(--cin-green) !important;font-size:1.7rem !important;font-weight:900 !important;line-height:1 !important;}
.receipt-free-row{
  border-color:rgba(239,47,54,.72) !important;
  background:linear-gradient(180deg, rgba(42,18,24,.96), rgba(25,14,17,.97)) !important;
}

.cashier-main-grid,
.cashier-main-grid-60-40{
  grid-template-columns:minmax(0,1.22fr) minmax(360px,1fr) !important;
  align-items:start !important;
}
.panel-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;margin-bottom:18px !important;}
.panel-head h2{font-size:3rem !important;line-height:1 !important;margin:0 !important;}
.panel-head-vr h2{font-size:3rem !important;}

.payment-grid{gap:10px !important;}
.payment-row{grid-template-columns:140px minmax(0,1fr) !important;gap:12px !important;}
.money-input{font-variant-numeric:tabular-nums;}
.action-split-row{display:grid !important;grid-template-columns:minmax(0,1fr) 220px !important;gap:12px !important;}

.vr-list{gap:14px !important;}
.vr-row{
  grid-template-columns:minmax(0,1fr) 150px auto !important;
  gap:12px !important;
  padding:16px !important;
  background:linear-gradient(180deg, rgba(13,13,15,.98), rgba(8,8,10,.98)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
}
.vr-row.no-free{grid-template-columns:minmax(0,1fr) 150px !important;}
.vr-row-actions{min-width:0 !important;}
.vr-row-actions.has-cart{grid-template-columns:minmax(0,7fr) minmax(108px,3fr) !important;gap:10px !important;}
.vr-main-button{
  min-height:92px !important;
  border-radius:16px !important;
  padding:14px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  text-align:center !important;
}
.vr-main-name{
  display:block !important;
  width:100%;
  font-size:1.32rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.vr-main-price{
  display:block !important;
  width:100%;
  font-size:1.02rem !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  color:#fff !important;
}
.vr-payment-select{
  width:150px !important;
  min-width:150px !important;
  justify-self:start !important;
}
.vr-free-toggle{
  width:max-content !important;
  justify-self:start !important;
  gap:9px !important;
  font-size:1rem !important;
  color:#ffffff !important;
}
.vr-free-toggle input{width:20px !important;height:20px !important;accent-color:var(--cin-red);}

.create-cart-form{gap:12px !important;}
.create-cart-form .input{width:min(360px,56vw) !important;}
.create-cart-btn{padding:12px 18px !important;min-width:max-content !important;white-space:nowrap;}
.cart-strip{gap:14px !important;}
.cart-chip{
  min-width:205px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(12,12,14,.98), rgba(8,8,10,.98)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
}
.cart-chip-active{
  border-color:rgba(239,47,54,.68) !important;
  box-shadow:0 0 0 1px rgba(239,47,54,.24) inset, 0 18px 30px rgba(0,0,0,.28) !important;
}
.cart-chip-button{gap:6px !important;}

.checkbox-line input,
label input[type="checkbox"]{
  accent-color:var(--cin-red);
}

.session-pill-refresh{
  cursor:pointer !important;
  font-weight:800 !important;
  transition:transform .16s ease, filter .16s ease;
}
.session-pill-refresh:hover{transform:translateY(-1px);}

@media (max-width:1200px){
  .panel-head h2,
  .panel-head-vr h2{font-size:2.45rem !important;}
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:minmax(0,1.1fr) minmax(320px,.92fr) !important;}
}
@media (max-width:980px){
  .topbar{padding:16px 18px !important;}
  .nav-tabs{padding:12px 18px !important;}
  .page-wrap{padding:18px !important;padding-bottom:86px !important;}
  .cashier-layout{grid-template-columns:1fr !important;min-height:auto !important;}
  .sidebar{position:static !important;}
  .sidebar-stretch{height:min(68vh, 620px) !important;}
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:1fr !important;}
}
@media (max-width:720px){
  .brand-title{font-size:1.4rem !important;}
  .panel{padding:20px !important;border-radius:18px !important;}
  .panel-head{align-items:flex-start !important;flex-direction:column !important;}
  .panel-head h2,
  .panel-head-vr h2,
  .login-brand h1{font-size:1.5rem !important;}
  .vr-row,
  .vr-row.no-free{grid-template-columns:1fr !important;}
  .vr-row-actions.has-cart{grid-template-columns:minmax(0,7fr) minmax(110px,3fr) !important;}
  .vr-payment-select{width:100% !important;min-width:0 !important;}
  .action-split-row{grid-template-columns:1fr !important;}
  .user-card{width:100%;}
}
@media (max-width:520px){
  .brand-row{align-items:flex-start !important;}
  .brand-logo{width:60px !important;height:60px !important;}
  .header-actions{width:100%;justify-content:stretch !important;}
  .user-card{flex-wrap:wrap;}
  .vr-row-actions.has-cart{grid-template-columns:1fr !important;}
  .receipt-card{height:174px !important;}
  .receipt-card-total{font-size:1.42rem !important;}
  .create-cart-form{width:100%;}
  .create-cart-form .input{width:100% !important;}
}


/* V18 polish */
.sidebar{top:118px !important;align-self:start !important;}
.sidebar-stretch{height:calc(100vh - 148px) !important;}
.receipt-list-scroll{padding-right:10px !important;}

.cashier-main-grid,
.cashier-main-grid-60-40{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important;}
@media (max-width:1200px){
  .cashier-main-grid,
  .cashier-main-grid-60-40{grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr) !important;}
}

.panel-head h2,
.panel-head-vr h2{font-size:2.85rem !important;}

/* unified dark selects */
select,
select.input{
  -webkit-appearance:none !important;
  appearance:none !important;
  padding-right:54px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M2 2l7 7 7-7' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 16px center !important;
  background-size:18px 12px !important;
  color-scheme:dark !important;
}
select option,
select.input option,
select optgroup,
select.input optgroup{
  background:#141417 !important;
  color:#f5f5f5 !important;
}
select option:hover,
select option:focus,
select option:checked,
select.input option:hover,
select.input option:focus,
select.input option:checked{
  background:linear-gradient(180deg, rgba(77,13,20,.98), rgba(43,10,14,.98)) !important;
  color:#ffffff !important;
}

/* cinematic scrollbars */
html, body, *{
  scrollbar-width:thin;
  scrollbar-color:#b9b9ba rgba(44,44,47,.88);
}
::-webkit-scrollbar{
  width:16px;
  height:16px;
}
::-webkit-scrollbar-track{
  background:rgba(44,44,47,.88);
  border-left:1px solid rgba(255,255,255,.07);
  border-radius:16px;
}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, rgba(190,190,191,.98), rgba(162,162,164,.98));
  border:3px solid rgba(44,44,47,.95);
  border-radius:16px;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg, rgba(210,210,211,.98), rgba(176,176,178,.98));
}
::-webkit-scrollbar-corner{
  background:rgba(44,44,47,.88);
}
::-webkit-scrollbar-button:single-button{
  display:block;
  height:16px;
  width:16px;
  background-color:rgba(44,44,47,.88);
  border-left:1px solid rgba(255,255,255,.07);
  background-repeat:no-repeat;
  background-position:center;
  background-size:12px 12px;
}
::-webkit-scrollbar-button:single-button:vertical:decrement{
  border-top-left-radius:16px;
  border-top-right-radius:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 8l4-4 4 4' fill='none' stroke='%23c8c8ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
::-webkit-scrollbar-button:single-button:vertical:increment{
  border-bottom-left-radius:16px;
  border-bottom-right-radius:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23c8c8ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
::-webkit-scrollbar-button:single-button:horizontal:decrement{
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M8 2L4 6l4 4' fill='none' stroke='%23c8c8ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
::-webkit-scrollbar-button:single-button:horizontal:increment{
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M4 2l4 4-4 4' fill='none' stroke='%23c8c8ca' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ensure receipt rail uses full available height visually */
.receipt-list-scroll{min-height:0 !important;height:100% !important;}


/* V19 fixes */
.sidebar{
  top:92px !important;
  align-self:stretch !important;
  margin-top:0 !important;
}
.sidebar-stretch{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  height:calc(100vh - 116px) !important;
  min-height:calc(100vh - 116px) !important;
  margin-top:0 !important;
  padding-top:14px !important;
}
.sidebar-stretch h3{
  margin:0 0 6px 0 !important;
  font-size:2.38rem !important;
  line-height:1 !important;
  letter-spacing:-0.03em !important;
}
.receipt-list{
  margin-top:12px !important;
  height:100% !important;
}
.receipt-list-scroll{
  height:100% !important;
  min-height:0 !important;
}

.panel-head h2,
.panel-head-vr h2{
  font-size:2.38rem !important;
  line-height:1 !important;
}

select,
select.input{
  border-radius:16px !important;
  padding-right:60px !important;
  background-position:right 20px center !important;
}
select option,
select.input option,
select optgroup,
select.input optgroup{
  background:#111217 !important;
  color:#f5f5f7 !important;
}
select option:hover,
select option:focus,
select.input option:hover,
select.input option:focus{
  background:#252830 !important;
  color:#ffffff !important;
  box-shadow:0 0 0 100px #252830 inset !important;
}
select option:checked,
select option[selected],
select.input option:checked,
select.input option[selected]{
  background:#191c22 !important;
  color:#ffffff !important;
  box-shadow:0 0 0 100px #191c22 inset !important;
}

@media (max-width:980px){
  .sidebar{top:0 !important;}
  .sidebar-stretch{
    height:min(72vh, 620px) !important;
    min-height:min(72vh, 620px) !important;
  }
  .sidebar-stretch h3,
  .panel-head h2,
  .panel-head-vr h2{
    font-size:2.1rem !important;
  }
}

/* V20 real fixes */
.cashier-layout{
  align-items:stretch !important;
  min-height:calc(100vh - 116px) !important;
}

.recent-receipts-panel{
  margin-top:0 !important;
  align-self:stretch !important;
}

.sidebar{
  top:88px !important;
  align-self:stretch !important;
}

.sidebar-stretch{
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  height:calc(100vh - 100px) !important;
  min-height:calc(100vh - 100px) !important;
  padding-top:0 !important;
  margin-top:0 !important;
}

.rail-title,
.sidebar-stretch h3,
.panel-head h2,
.panel-head-vr h2{
  margin:0 !important;
  font-size:2.56rem !important;
  line-height:1.02 !important;
  letter-spacing:-0.035em !important;
}

.receipt-rail-note{
  margin-top:8px !important;
}

.receipt-list{
  margin-top:14px !important;
  min-height:0 !important;
  height:100% !important;
}

.receipt-list-scroll{
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
}

/* fully custom selects to avoid native white dropdown bugs */
.x-select{
  position:relative;
  width:100%;
}

.x-select-native{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.x-select-button{
  position:relative;
  width:100%;
  min-height:58px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg, rgba(10,10,12,.98), rgba(7,7,9,.98));
  color:#f5f5f7;
  text-align:left;
  padding:14px 64px 14px 18px;
  font:inherit;
  cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.02) inset;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.x-select-button:hover{
  border-color:rgba(239,47,54,.32);
}

.x-select.is-open .x-select-button,
.x-select-button:focus-visible{
  outline:none;
  border-color:rgba(239,47,54,.75);
  box-shadow:0 0 0 3px rgba(239,47,54,.14), 0 0 26px rgba(239,47,54,.11);
}

.x-select-label{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.x-select-button::after{
  content:'';
  position:absolute;
  right:20px;
  top:50%;
  width:18px;
  height:12px;
  transform:translateY(-50%);
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 12px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='12' viewBox='0 0 18 12'%3E%3Cpath d='M2 2l7 7 7-7' fill='none' stroke='%23f3f4f6' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  pointer-events:none;
}

.x-select-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 8px);
  z-index:1500;
  display:none;
  padding:8px;
  background:linear-gradient(180deg, rgba(17,18,23,.995), rgba(10,10,13,.995));
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 28px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
  max-height:280px;
  overflow:auto;
}

.x-select.is-open .x-select-menu{
  display:block;
}

.x-select-option{
  width:100%;
  border:0;
  background:transparent;
  color:#f4f4f5;
  text-align:left;
  padding:12px 16px;
  border-radius:12px;
  cursor:pointer;
  font:inherit;
  transition:background .12s ease, color .12s ease;
}

.x-select-option:hover,
.x-select-option:focus-visible{
  outline:none;
  background:#1d1f25;
  color:#ffffff;
}

.x-select-option.is-selected{
  background:#14161b;
  color:#ffffff;
  box-shadow:0 0 0 1px rgba(255,255,255,.04) inset;
}

.x-select-option.is-selected:hover,
.x-select-option.is-selected:focus-visible{
  background:#1f2229;
  color:#ffffff;
}

.x-select.is-disabled .x-select-button{
  opacity:.68;
  cursor:not-allowed;
}

/* neutralize old native-select styling where custom select is used */
select,
select.input{
  background-image:none !important;
}

@media (max-width:980px){
  .sidebar{
    position:static !important;
    top:0 !important;
  }
  .sidebar-stretch{
    height:min(72vh, 680px) !important;
    min-height:min(72vh, 680px) !important;
  }
  .rail-title,
  .panel-head h2,
  .panel-head-vr h2{
    font-size:2.18rem !important;
  }
}


/* V21 recent receipts full-height sticky rail */
:root{
  --top-shell-height:136px;
  --cashier-page-gap:24px;
}

.cashier-layout{
  align-items:stretch !important;
  min-height:calc(100vh - var(--top-shell-height) - (var(--cashier-page-gap) * 2)) !important;
}

.recent-receipts-panel,
.recent-receipts-panel.sidebar,
.recent-receipts-panel.sidebar-stretch{
  position:sticky !important;
  top:calc(var(--top-shell-height) + var(--cashier-page-gap)) !important;
  align-self:start !important;
  margin-top:0 !important;
  height:calc(100vh - var(--top-shell-height) - (var(--cashier-page-gap) * 2)) !important;
  max-height:calc(100vh - var(--top-shell-height) - (var(--cashier-page-gap) * 2)) !important;
  min-height:calc(100vh - var(--top-shell-height) - (var(--cashier-page-gap) * 2)) !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
}

.recent-receipts-panel .receipt-rail-note{
  margin-top:10px !important;
}

.recent-receipts-panel .receipt-list{
  height:100% !important;
  min-height:0 !important;
  margin-top:14px !important;
  display:block !important;
}

.recent-receipts-panel .receipt-list-scroll{
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
}

.main-stack{
  min-width:0 !important;
}

@media (max-width:980px){
  .recent-receipts-panel,
  .recent-receipts-panel.sidebar,
  .recent-receipts-panel.sidebar-stretch{
    position:static !important;
    top:auto !important;
    height:min(72vh, 700px) !important;
    max-height:none !important;
    min-height:min(72vh, 700px) !important;
  }
}


/* V22 recent receipts rail pinned directly under top menu */
:root{
  --cashier-top-gap: 8px;
  --cashier-bottom-gap: 16px;
}

.cashier-layout{
  align-items:start !important;
  min-height:calc(100vh - var(--top-shell-height) - var(--cashier-top-gap) - var(--cashier-bottom-gap)) !important;
}

.recent-receipts-panel,
.recent-receipts-panel.sidebar,
.recent-receipts-panel.sidebar-stretch{
  position:sticky !important;
  top:calc(var(--top-shell-height) + var(--cashier-top-gap)) !important;
  margin-top:0 !important;
  align-self:start !important;
  height:calc(100vh - var(--top-shell-height) - var(--cashier-top-gap) - var(--cashier-bottom-gap)) !important;
  min-height:calc(100vh - var(--top-shell-height) - var(--cashier-top-gap) - var(--cashier-bottom-gap)) !important;
  max-height:calc(100vh - var(--top-shell-height) - var(--cashier-top-gap) - var(--cashier-bottom-gap)) !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  overflow:hidden !important;
}

.recent-receipts-panel .receipt-list,
.recent-receipts-panel .receipt-list.receipt-list-scroll{
  margin-top:12px !important;
  min-height:0 !important;
  height:auto !important;
  flex:1 1 auto !important;
  overflow:auto !important;
  display:grid !important;
  align-content:start !important;
  gap:14px !important;
  padding-right:8px !important;
}

.recent-receipts-panel .receipt-card{
  flex:0 0 auto !important;
}

.main-stack{
  min-height:calc(100vh - var(--top-shell-height) - var(--cashier-top-gap) - var(--cashier-bottom-gap)) !important;
}

@media (max-width:980px){
  .recent-receipts-panel,
  .recent-receipts-panel.sidebar,
  .recent-receipts-panel.sidebar-stretch,
  .main-stack{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}


/* V23 cashier section titles unified */
.cashier-layout .cashier-section-title{
  font-size:1.72rem !important;
  line-height:1.08 !important;
  letter-spacing:-0.02em !important;
}

.cashier-layout .rail-title.cashier-section-title,
.cashier-layout .panel-head h2.cashier-section-title,
.cashier-layout .panel-head-vr h2.cashier-section-title,
.cashier-layout .button-row > h2.cashier-section-title{
  font-size:1.72rem !important;
}

@media (max-width: 900px){
  .cashier-layout .cashier-section-title{
    font-size:1.58rem !important;
  }
}

/* V24 recent receipts title spacing */
.recent-receipts-panel .rail-title.cashier-section-title{
  margin-top:12px !important;
}

.recent-receipts-panel,
.recent-receipts-panel.sidebar,
.recent-receipts-panel.sidebar-stretch{
  grid-template-rows:auto minmax(0,1fr) !important;
}

.recent-receipts-panel .receipt-list,
.recent-receipts-panel .receipt-list.receipt-list-scroll{
  margin-top:16px !important;
}


/* V25 requested refinements */
.login-logo{
  width:min(230px, 46vw) !important;
  max-width:230px !important;
}

.user-avatar{
  border-radius:50% !important;
}

.cashier-main-grid > .panel .panel-head,
.cashier-main-grid > .panel .panel-head-vr,
.cashier-main-grid-60-40 > .panel .panel-head,
.cashier-main-grid-60-40 > .panel .panel-head-vr{
  margin-top:12px !important;
}

.vr-main-button{
  min-height:74px !important;
  padding:10px 14px !important;
  gap:4px !important;
}
.vr-main-name{
  font-size:1.16rem !important;
}
.vr-main-price{
  font-size:0.94rem !important;
}
@media (max-width:720px){
  .vr-main-button{
    min-height:68px !important;
    padding:9px 12px !important;
  }
  .vr-main-name{font-size:1.05rem !important;}
  .vr-main-price{font-size:0.88rem !important;}
}

/* V26 cashier title top alignment */
.cashier-main-grid > .panel .panel-head,
.cashier-main-grid > .panel .panel-head-vr,
.cashier-main-grid-60-40 > .panel .panel-head,
.cashier-main-grid-60-40 > .panel .panel-head-vr{
  align-items:flex-start !important;
  min-height:0 !important;
  margin-top:12px !important;
  padding-top:0 !important;
}

.cashier-main-grid > .panel .panel-head h2.cashier-section-title,
.cashier-main-grid > .panel .panel-head-vr h2.cashier-section-title,
.cashier-main-grid-60-40 > .panel .panel-head h2.cashier-section-title,
.cashier-main-grid-60-40 > .panel .panel-head-vr h2.cashier-section-title,
.recent-receipts-panel .rail-title.cashier-section-title{
  margin-top:0 !important;
  align-self:flex-start !important;
}

.escape-total-chip{
  align-self:flex-start !important;
  margin-top:0 !important;
}


/* V27 real top alignment fix */
.cashier-main-grid > .panel .panel-head,
.cashier-main-grid > .panel .panel-head-vr,
.cashier-main-grid-60-40 > .panel .panel-head,
.cashier-main-grid-60-40 > .panel .panel-head-vr{
  margin-top:0 !important;
  padding-top:0 !important;
  min-height:0 !important;
  align-items:flex-start !important;
}

.cashier-main-grid > .panel .panel-head h2.cashier-section-title,
.cashier-main-grid > .panel .panel-head-vr h2.cashier-section-title,
.cashier-main-grid-60-40 > .panel .panel-head h2.cashier-section-title,
.cashier-main-grid-60-40 > .panel .panel-head-vr h2.cashier-section-title{
  margin-top:0 !important;
  line-height:1.02 !important;
}

.escape-total-chip{
  margin-top:0 !important;
  align-self:flex-start !important;
}

/* V28 escape header spacing and total chip alignment */
.cashier-main-grid > .panel:first-child .panel-head,
.cashier-main-grid-60-40 > .panel:first-child .panel-head{
  align-items:flex-start !important;
  margin-bottom:9px !important;
}

.cashier-main-grid > .panel:first-child .panel-head h2.cashier-section-title,
.cashier-main-grid-60-40 > .panel:first-child .panel-head h2.cashier-section-title{
  margin-top:0 !important;
  margin-bottom:0 !important;
  line-height:1.02 !important;
}

.cashier-main-grid > .panel:first-child .escape-total-chip,
.cashier-main-grid-60-40 > .panel:first-child .escape-total-chip{
  align-self:flex-start !important;
  margin-top:-8px !important;
}

.cashier-main-grid > .panel:first-child form.stack-form > label:first-of-type,
.cashier-main-grid-60-40 > .panel:first-child form.stack-form > label:first-of-type{
  margin-top:0 !important;
}

@media (max-width:720px){
  .cashier-main-grid > .panel:first-child .panel-head,
  .cashier-main-grid-60-40 > .panel:first-child .panel-head{
    margin-bottom:10px !important;
  }

  .cashier-main-grid > .panel:first-child .escape-total-chip,
  .cashier-main-grid-60-40 > .panel:first-child .escape-total-chip{
    margin-top:0 !important;
  }
}


/* V29 recent rail title + closable toast */
.recent-receipts-panel .rail-title.cashier-section-title{
  margin-top:0 !important;
}

.toast-bottom.toast-closable{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding-right:72px !important;
}

.toast-message{
  min-width:0;
}

.toast-close{
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:10px;
  background:rgba(255,255,255,.08);
  color:#f3fff7;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.toast-close:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.30);
}
.toast-close:active{
  transform:translateY(-50%) scale(.96);
}

/* V30 recent title top alignment actual fix */
.recent-receipts-panel .rail-title.cashier-section-title{
  margin-top:20px !important;
}


/* V31 avatar circle + header zoom */
.user-avatar{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  aspect-ratio:1 / 1 !important;
  border-radius:999px !important;
  flex:0 0 52px !important;
  overflow:hidden !important;
}

.top-user-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:8px;
}

.zoom-select-wrap{
  display:block;
  min-width:112px;
}

.zoom-select-wrap .x-select-button,
.zoom-select{
  min-height:46px !important;
  height:46px !important;
  border-radius:12px !important;
}

.zoom-select-wrap .x-select-button{
  padding:10px 52px 10px 14px !important;
  font-weight:700;
}

.zoom-select-wrap .x-select-menu{
  min-width:112px;
}

.zoom-select-wrap .x-select-label{
  white-space:nowrap;
}

@media (max-width:980px){
  .top-user-actions{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
}

@media (max-width:640px){
  .top-user-actions{
    flex-wrap:wrap;
    gap:10px;
  }

  .zoom-select-wrap{
    min-width:96px;
  }
}

/* V32 dropdown overlay above cinematic panels */
.cashier-main-grid > .panel,
.cashier-main-grid-60-40 > .panel,
.cashier-main-grid > .panel form,
.cashier-main-grid-60-40 > .panel form,
.vr-list,
.vr-row,
.vr-row-actions{
  overflow:visible !important;
}

.x-select{
  z-index:20;
}

.x-select.is-open{
  z-index:5000 !important;
}

.x-select-menu{
  z-index:6000 !important;
}


/* V33 top-header zoom/avatar fixes */
.top-shell,
.topbar,
.header-actions,
.user-card,
.top-user-actions,
.zoom-select-wrap{
  overflow:visible !important;
}

.topbar{
  overflow:visible !important;
}

.header-actions,
.user-card,
.top-user-actions,
.zoom-select-wrap{
  position:relative;
}

.user-card{
  align-items:center !important;
}

.user-avatar{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;
  max-width:46px !important;
  max-height:46px !important;
  aspect-ratio:1 / 1 !important;
  border-radius:50% !important;
  flex:0 0 46px !important;
  padding:0 !important;
}

.user-avatar-text{
  font-size:1.32rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:-0.04em !important;
  transform:translateY(-1px) !important;
}

.top-user-actions{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  margin-left:8px !important;
}

.top-user-actions form{
  display:flex;
  align-items:center;
}

.top-logout-btn,
.zoom-select-wrap .x-select-button,
.zoom-select{
  height:46px !important;
  min-height:46px !important;
}

.top-logout-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 24px !important;
}

.zoom-select-wrap{
  min-width:108px !important;
  z-index:60;
}

.zoom-select-wrap .x-select{
  z-index:60 !important;
}

.zoom-select-wrap .x-select.is-open{
  z-index:7000 !important;
}

.zoom-select-wrap .x-select-menu{
  z-index:7100 !important;
}

@media (max-width:980px){
  .top-user-actions{
    width:100%;
    justify-content:flex-start !important;
    margin-left:0 !important;
  }
}


/* V34 Cashier fixed-shell layout */
body.cashier-page{
  height:100vh;
  overflow:hidden;
}
body.cashier-page .top-shell{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1200;
}
body.cashier-page .page-wrap{
  height:100vh;
  overflow:hidden;
  padding:calc(var(--top-shell-height, 146px) + 14px) 20px 72px !important;
  display:flex;
  flex-direction:column;
}
body.cashier-page .page-wrap > .cashier-layout{
  flex:1 1 auto;
}
body.cashier-page .cashier-layout{
  height:100%;
  min-height:0 !important;
  align-items:stretch !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:20px !important;
}
body.cashier-page .recent-receipts-panel,
body.cashier-page .sidebar,
body.cashier-page .sidebar-stretch{
  position:static !important;
  top:auto !important;
}
body.cashier-page .recent-receipts-panel{
  height:100% !important;
  min-height:0 !important;
  margin-top:0 !important;
  align-self:stretch !important;
}
body.cashier-page .sidebar-stretch{
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}
body.cashier-page .receipt-list-scroll{
  min-height:0 !important;
  height:100% !important;
  overflow:auto !important;
}
body.cashier-page #cashierMainScroll{
  min-height:0 !important;
  height:100% !important;
  overflow:auto !important;
  padding-right:6px;
  align-content:start;
}
body.cashier-page .main-stack{
  gap:20px !important;
}
body.cashier-page .toast-bottom{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:1400 !important;
}
body.cashier-page .nav-tabs{
  position:relative;
  z-index:1;
}
@media (max-width:980px){
  body.cashier-page .page-wrap{
    padding:calc(var(--top-shell-height, 146px) + 10px) 12px 72px !important;
  }
  body.cashier-page .cashier-layout{
    grid-template-columns:1fr !important;
  }
  body.cashier-page .recent-receipts-panel{
    height:min(38vh, 360px) !important;
  }
  body.cashier-page #cashierMainScroll{
    height:auto !important;
  }
}


/* V35 zoom-aware sizing */
:root{
  --ui-zoom-scale:1;
  --viewport-height-unzoomed:100vh;
  --top-shell-height-unzoomed:146px;
}

.login-body{
  min-height:var(--viewport-height-unzoomed, 100vh) !important;
}

body.cashier-page{
  height:var(--viewport-height-unzoomed, 100vh) !important;
}

body.cashier-page .page-wrap{
  height:var(--viewport-height-unzoomed, 100vh) !important;
  padding:calc(var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) + 14px) 20px 72px !important;
}

body.cashier-page .cashier-layout{
  height:calc(var(--viewport-height-unzoomed, 100vh) - var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) - 14px - 72px) !important;
}

@media (max-width:980px){
  body.cashier-page .page-wrap{
    padding:calc(var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) + 10px) 12px 72px !important;
  }
}


/* V36 cashier fixed viewport + floating custom select menus */
.x-select-menu-floating{
  position:fixed !important;
  display:block !important;
  z-index:20000 !important;
}

body.cashier-page{
  min-height:100vh !important;
  overflow:hidden !important;
}

body.cashier-page .top-shell{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:5000 !important;
  overflow:visible !important;
}

body.cashier-page .page-wrap{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) !important;
  bottom:0 !important;
  height:auto !important;
  overflow:hidden !important;
  padding:14px 20px 72px !important;
  display:flex !important;
  flex-direction:column !important;
}

body.cashier-page .page-wrap > .cashier-layout{
  flex:1 1 auto !important;
  height:100% !important;
  min-height:0 !important;
}

body.cashier-page .cashier-layout{
  height:100% !important;
  min-height:0 !important;
  align-items:stretch !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:20px !important;
}

body.cashier-page .recent-receipts-panel,
body.cashier-page .sidebar,
body.cashier-page .sidebar-stretch{
  position:static !important;
  top:auto !important;
}

body.cashier-page .recent-receipts-panel{
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:stretch !important;
  margin-top:0 !important;
}

body.cashier-page .sidebar-stretch{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  min-height:0 !important;
  overflow:hidden !important;
}

body.cashier-page .receipt-list-scroll,
body.cashier-page .recent-receipts-panel .receipt-list.receipt-list-scroll{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:8px !important;
}

body.cashier-page #cashierMainScroll{
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:6px !important;
  padding-bottom:28px !important;
  box-sizing:border-box !important;
}

body.cashier-page .main-stack{
  display:grid !important;
  gap:20px !important;
  height:100% !important;
  min-height:0 !important;
}

body.cashier-page .toast-bottom{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:1400 !important;
}

@media (max-width:980px){
  body.cashier-page .page-wrap{
    padding:calc(var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) + 10px) 12px 72px !important;
    position:static !important;
    top:auto !important;
    bottom:auto !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.cashier-page .top-shell{
    position:sticky !important;
  }
  body.cashier-page .cashier-layout{
    height:auto !important;
    grid-template-columns:1fr !important;
  }
  body.cashier-page .recent-receipts-panel{
    height:min(38vh, 360px) !important;
  }
  body.cashier-page #cashierMainScroll{
    height:auto !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
}

/* V37 custom select zoom positioning + cashier scroll depth */
.x-select-menu-floating{
  z-index:50000 !important;
}

body.cashier-page .page-wrap{
  padding:14px 20px 0 !important;
}

body.cashier-page .cashier-layout{
  height:calc(100% - 72px) !important;
  min-height:0 !important;
}

body.cashier-page .recent-receipts-panel,
body.cashier-page .recent-receipts-panel.sidebar,
body.cashier-page .recent-receipts-panel.sidebar-stretch,
body.cashier-page .sidebar-stretch{
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
}

body.cashier-page #cashierMainScroll,
body.cashier-page .main-stack{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:20px !important;
}

body.cashier-page #cashierMainScroll{
  height:100% !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:8px !important;
  padding-bottom:220px !important;
  box-sizing:border-box !important;
}

body.cashier-page #cashierMainScroll > *{
  flex:0 0 auto !important;
}

body.cashier-page .cashier-main-grid,
body.cashier-page .cashier-main-grid-60-40{
  flex:0 0 auto !important;
}

body.cashier-page .toast-bottom{
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  margin:0 !important;
  border-radius:0 !important;
}

@media (max-width:980px){
  body.cashier-page .page-wrap{
    padding:calc(var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) + 10px) 12px 0 !important;
    position:static !important;
    top:auto !important;
    bottom:auto !important;
    height:auto !important;
    overflow:visible !important;
  }

  body.cashier-page .cashier-layout{
    height:auto !important;
  }

  body.cashier-page #cashierMainScroll{
    height:auto !important;
    overflow:visible !important;
    padding-bottom:120px !important;
  }
}


/* V38 login background image + zoom persistence sync + cashier rail bottom spacing */
.login-body{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.04), transparent 24%),
    linear-gradient(180deg, #030304 0%, #09090b 100%) !important;
}
.login-body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg, rgba(2,2,3,.30), rgba(2,2,3,.62)),
    url('/images/login-bg-escape.svg') center center / cover no-repeat;
  opacity:.86;
  filter:grayscale(1) brightness(.48) contrast(1.02);
}
.login-body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at center, transparent 36%, rgba(0,0,0,.22) 74%, rgba(0,0,0,.56) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.010) 0 1px, transparent 1px 4px);
  mix-blend-mode:normal;
}

body.cashier-page .page-wrap{
  padding:14px 20px 14px !important;
}
body.cashier-page .page-wrap > .cashier-layout{
  height:calc(100% - 14px) !important;
  min-height:0 !important;
}
body.cashier-page .recent-receipts-panel,
body.cashier-page .recent-receipts-panel.sidebar,
body.cashier-page .recent-receipts-panel.sidebar-stretch{
  height:100% !important;
  min-height:0 !important;
}

@media (max-width:980px){
  .login-body::before{background-position:center top;}
  body.cashier-page .page-wrap{
    padding:calc(var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) + 10px) 12px 12px !important;
  }
  body.cashier-page .page-wrap > .cashier-layout{
    height:auto !important;
  }
}


/* V42 fixes: zoom dropdown persistence/positioning and cashier rail spacing */
:root{
  --recent-rail-edge-gap:20px;
}

body.cashier-page .recent-receipts-panel{
  padding-bottom:var(--recent-rail-edge-gap) !important;
  box-sizing:border-box !important;
}
body.cashier-page .recent-receipts-panel .receipt-list,
body.cashier-page .recent-receipts-panel .receipt-list.receipt-list-scroll{
  padding-bottom:var(--recent-rail-edge-gap) !important;
}
body.cashier-page #cashierMainScroll{
  padding-bottom:340px !important;
}
.x-select,
.x-select-button{
  position:relative;
}
.x-select-menu-floating{
  z-index:2147483000 !important;
}


/* V43 cashier total chip size + zoom-safe floating select alignment */
.escape-total-chip{
  min-height:60px !important;
  padding:12px 22px !important;
  gap:10px !important;
}

.escape-total-label,
.escape-total-currency{
  font-size:1.16rem !important;
  font-weight:800 !important;
}

.escape-total-value{
  font-size:1.7rem !important;
  font-weight:900 !important;
}

@media (max-width: 980px){
  .escape-total-chip{
    min-height:56px !important;
    padding:10px 18px !important;
  }

  .escape-total-label,
  .escape-total-currency{
    font-size:1.05rem !important;
  }

  .escape-total-value{
    font-size:1.46rem !important;
  }
}


/* V44 real fixes: bigger cashier total chip + zoom-safe custom select positioning */
body.cashier-page .escape-total-chip{
  min-height:72px !important;
  padding:16px 28px !important;
  gap:12px !important;
  border-radius:999px !important;
}
body.cashier-page .escape-total-label,
body.cashier-page .escape-total-currency{
  font-size:1.34rem !important;
  font-weight:800 !important;
  line-height:1 !important;
}
body.cashier-page .escape-total-value{
  font-size:2.08rem !important;
  font-weight:900 !important;
  line-height:1 !important;
}
@media (max-width:980px){
  body.cashier-page .escape-total-chip{
    min-height:64px !important;
    padding:14px 22px !important;
  }
  body.cashier-page .escape-total-label,
  body.cashier-page .escape-total-currency{
    font-size:1.16rem !important;
  }
  body.cashier-page .escape-total-value{
    font-size:1.72rem !important;
  }
}

/* V46 restore dropdown options to normal size */
.x-select-menu,
.x-select-menu-floating{
  font-size:inherit !important;
}
.x-select-option{
  font-size:0.92rem !important;
  line-height:1.2 !important;
  font-weight:500 !important;
}
.zoom-select-wrap .x-select-menu,
.zoom-select-wrap .x-select-option{
  font-size:0.92rem !important;
}


/* V47 fullscreen header button */
.top-fullscreen-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:46px !important;
  min-height:46px !important;
  padding:0 18px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  font-weight:800 !important;
  background:#111827 !important;
  color:#f8fafc !important;
  border:1px solid #334155 !important;
  box-shadow:0 8px 20px rgba(0,0,0,.22) !important;
}
.top-fullscreen-btn:hover{
  border-color:#ef4444 !important;
  box-shadow:0 0 0 1px rgba(239,68,68,.32), 0 10px 24px rgba(0,0,0,.26) !important;
}
.top-fullscreen-btn.is-active{
  background:linear-gradient(180deg,#ef4444,#b91c1c) !important;
  border-color:#ef4444 !important;
  color:#fff !important;
}
@media (max-width:980px){
  .top-fullscreen-btn{
    padding:0 16px !important;
  }
}

/* V48 button readability, checkbox sizing, list alignment, VR height, custom select above-position fix support */
.btn,
.top-fullscreen-btn{
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
}

.btn{
  min-height:46px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 18px !important;
  line-height:1.1 !important;
}

.btn-small{
  min-height:40px !important;
  padding:0 14px !important;
  font-size:.92rem !important;
}

.button-row,
.inline-form{
  gap:12px !important;
  align-items:center !important;
}

.table th,
.table td{
  vertical-align:middle !important;
  padding-top:16px !important;
  padding-bottom:16px !important;
}

.table td:last-child{
  white-space:nowrap !important;
}

.table td:last-child > a.btn,
.table td:last-child > .inline-form,
.table td:last-child > form,
.table td:last-child > button.btn{
  display:inline-flex !important;
  align-items:center !important;
  vertical-align:middle !important;
  margin:4px 10px 4px 0 !important;
}

.table td:last-child > *:last-child{
  margin-right:0 !important;
}

.table td:last-child .btn{
  min-height:44px !important;
}

.history-card .button-row{
  gap:14px !important;
  align-items:center !important;
}

.history-card .button-row .btn,
.history-card .button-row .inline-form .btn{
  min-height:46px !important;
}

input[type="checkbox"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  min-height:24px !important;
  border-radius:6px !important;
  border:1px solid rgba(255,255,255,.30) !important;
  background:linear-gradient(180deg, rgba(24,24,28,.98), rgba(12,12,14,.98)) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset !important;
  display:inline-grid !important;
  place-content:center !important;
  margin:0 10px 0 0 !important;
  vertical-align:middle !important;
  cursor:pointer !important;
  position:relative !important;
  flex:0 0 auto !important;
}

input[type="checkbox"]::after{
  content:"";
  width:11px;
  height:7px;
  border-left:2px solid #ffffff;
  border-bottom:2px solid #ffffff;
  transform:rotate(-45deg) scale(0);
  transform-origin:center;
  transition:transform .14s ease;
  margin-top:-1px;
}

input[type="checkbox"]:checked{
  background:linear-gradient(180deg, #ff4b4b, #c11622) !important;
  border-color:rgba(255,95,95,.95) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset, 0 0 0 3px rgba(239,47,54,.10) !important;
}

input[type="checkbox"]:checked::after{
  transform:rotate(-45deg) scale(1);
}

.checkbox-line,
.vr-free-toggle,
label:has(> input[type="checkbox"]){
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}

label > input[type="checkbox"],
.vr-free-toggle > input[type="checkbox"]{
  margin-right:0 !important;
}

.vr-free-toggle{
  font-weight:600 !important;
}

.vr-main-button{
  min-height:40px !important;
  padding:6px 14px !important;
  gap:2px !important;
}

.vr-main-name{
  font-size:0.92rem !important;
  font-weight:700 !important;
  line-height:1 !important;
}

.vr-main-price{
  font-size:0.84rem !important;
  font-weight:600 !important;
  line-height:1.02 !important;
}

.x-select-menu{
  border-radius:16px !important;
}

.x-select-option{
  font-size:0.9rem !important;
  font-weight:500 !important;
}


/* V49 real fixes */
.btn,
.top-fullscreen-btn{
  font-weight:500 !important;
  letter-spacing:0 !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.btn{
  min-height:42px !important;
  padding:0 18px !important;
  line-height:1.1 !important;
}

.btn-small{
  min-height:38px !important;
  padding:0 14px !important;
  font-size:.9rem !important;
}

.vr-main-button{
  min-height:36px !important;
  padding:5px 12px !important;
  gap:2px !important;
  font-weight:500 !important;
}

.vr-main-name{
  font-size:.88rem !important;
  font-weight:600 !important;
  line-height:1 !important;
}

.vr-main-price{
  font-size:.80rem !important;
  font-weight:500 !important;
  line-height:1.02 !important;
}

input[type="checkbox"]{
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  min-height:26px !important;
  border-radius:7px !important;
  margin:0 !important;
  top:0 !important;
}

.checkbox-line,
.vr-free-toggle,
label:has(> input[type="checkbox"]),
label > input[type="checkbox"] + span,
label > input[type="checkbox"]{
  align-items:center !important;
}

.vr-free-toggle,
.checkbox-line,
label:has(> input[type="checkbox"]){
  gap:10px !important;
  line-height:1.15 !important;
}

label > input[type="checkbox"],
.vr-free-toggle > input[type="checkbox"]{
  margin-right:0 !important;
  align-self:center !important;
}

.table th,
.table td{
  vertical-align:middle !important;
}

.table-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}

.table-actions form,
.table-actions .inline-form{
  display:inline-flex !important;
  margin:0 !important;
}

.table-actions .btn,
.table-actions form .btn,
.table-actions a.btn{
  min-height:42px !important;
}

.table td:last-child{
  white-space:normal !important;
}

.x-select-menu,
.x-select-menu-floating{
  font-size:0.92rem !important;
}

.x-select-option{
  font-size:0.92rem !important;
  font-weight:500 !important;
  line-height:1.2 !important;
}


/* V50 visual consistency + page-specific corrections */
:root{
  --field-surface: linear-gradient(180deg, rgba(9,9,10,.98), rgba(6,6,7,.98));
  --field-surface-solid:#08090b;
}

.detail-grid > div,
.history-card,
.audit-box,
.cart-chip,
.muted-card,
.games-page .history-card,
.closing-history-card,
.settings-side-panel .recent-actions-box{
  background:var(--field-surface) !important;
  border-color:rgba(255,255,255,.10) !important;
}

.audit-box,
.settings-side-panel .recent-actions-box{
  display:block !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
}

.settings-page-grid{
  align-items:stretch !important;
}

.settings-side-panel{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}

.settings-side-panel .recent-actions-box{
  flex:1 1 auto !important;
  overflow:auto !important;
}

.about-panel{
  margin-inline:auto !important;
}

.about-panel .simple-list{
  max-width:fit-content;
}

.money-value{
  color:var(--cin-green) !important;
  font-weight:800 !important;
}

.money-currency{
  color:#f0f0f2 !important;
}

.closing-panel .detail-grid > div,
.closing-history-card{
  background:var(--field-surface) !important;
}

.closing-panel .simple-list li .money-value,
.closing-history-card .money-value,
.closing-panel .detail-grid .money-value{
  font-weight:900 !important;
}

.closing-panel .simple-list li,
.closing-history-card div,
.closing-history-card strong{
  font-size:1.02rem;
}

.panel.narrow.about-panel{
  max-width:1100px !important;
}

.btn,
.top-fullscreen-btn{
  font-size:1.08rem !important;
  font-weight:500 !important;
}

.btn-small{
  font-size:.98rem !important;
}

.button-row .btn,
.button-row .inline-form .btn,
.table-actions .btn,
.table-actions .inline-form .btn,
.table-actions form .btn{
  min-height:44px !important;
}

.button-row,
.table-actions{
  gap:12px !important;
}

.table td,
.table th{
  vertical-align:middle !important;
}

.table-actions form,
.table-actions .inline-form,
.button-row .inline-form{
  margin:0 !important;
}

input[type="checkbox"]{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  border-radius:8px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
}

input[type="checkbox"]::after{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:12px !important;
  height:7px !important;
  margin:0 !important;
  transform:translate(-50%, -58%) rotate(-45deg) scale(0) !important;
}

input[type="checkbox"]:checked::after{
  transform:translate(-50%, -58%) rotate(-45deg) scale(1) !important;
}

.checkbox-line,
.vr-free-toggle,
label:has(> input[type="checkbox"]){
  align-items:center !important;
}

.x-select-menu,
.x-select-menu-floating{
  background:linear-gradient(180deg, rgba(12,12,14,.995), rgba(7,7,9,.995)) !important;
}

.x-select-option,
.x-select-option.is-selected,
.x-select-option:hover,
.x-select-option:focus-visible,
.x-select-option.is-selected:hover,
.x-select-option.is-selected:focus-visible{
  font-size:0.92rem !important;
}

body.fullscreen-intent .page-wrap,
body:fullscreen .page-wrap{
  overflow:visible !important;
}

/* V52 final polish */
:root{
  --field-surface-solid:#07090b;
  --field-border:rgba(255,255,255,.10);
  --money-warn:#f6d04d;
}

.detail-grid > div,
.closing-panel .detail-grid > div,
.history-card,
.closing-history-card,
.audit-box,
.settings-side-panel .recent-actions-box,
.games-page .history-card,
.games-page .panel .history-card,
.cart-chip,
.muted-card,
.receipt-dialog,
.recent-actions-box{
  background:var(--field-surface-solid) !important;
  border-color:var(--field-border) !important;
}

.audit-box,
.settings-side-panel .recent-actions-box,
.recent-actions-box{
  background:var(--field-surface-solid) !important;
  min-height:clamp(420px, calc(100vh - var(--top-shell-height, 160px) - 260px), 900px) !important;
  max-height:none !important;
  height:auto !important;
}

.money-warn-value{
  color:var(--money-warn) !important;
  font-weight:800 !important;
}

.closing-history-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.closing-filter-bar{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}

.closing-filter-bar label{
  display:grid;
  gap:6px;
  font-weight:600;
}

.closing-filter-bar .input{
  min-width:170px;
}

.closing-period-summary{
  display:grid;
  gap:8px;
  margin:0 0 16px;
}

.closing-period-payments-line,
.closing-history-payments-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}

.closing-period-payment-item{
  display:inline-flex;
  align-items:baseline;
  gap:4px;
}

.closing-period-total-line{
  font-size:1.06rem;
}

.closing-history-card{
  display:grid;
  gap:6px;
}

.closing-history-card .money-value,
.closing-period-summary .money-value,
.closing-panel .simple-list .money-value,
.closing-panel .detail-grid .money-value{
  color:var(--cin-green) !important;
  font-weight:900 !important;
}

.about-panel{
  margin-inline:auto !important;
}

.panel.panel-centered,
.receipt-edit-panel{
  margin-inline:auto !important;
}

.receipt-edit-panel{
  max-width:min(980px, calc(100vw - 48px)) !important;
  position:relative;
}

.panel-close-btn{
  position:absolute;
  top:16px;
  right:18px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:1.5rem;
  line-height:1;
}

.panel-close-btn:hover{
  background:rgba(239,47,54,.18);
  border-color:rgba(239,47,54,.5);
}

.btn,
.top-fullscreen-btn{
  font-size:1.12rem !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
}

.btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
}

.btn-small{
  font-size:1rem !important;
}

.vr-main-button{
  min-height:52px !important;
  padding:9px 14px !important;
}

.table td,
.table th{
  vertical-align:middle !important;
}

.table td:last-child,
.table th:last-child{
  vertical-align:middle !important;
}

.table-actions,
.button-row,
.history-card .button-row{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

.table-actions form,
.table-actions .inline-form,
.button-row .inline-form,
.history-card .button-row .inline-form{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}

.table-actions .btn,
.table-actions form .btn,
.table-actions a.btn,
.history-card .button-row .btn,
.history-card .button-row .inline-form .btn{
  min-height:46px !important;
  min-width:108px;
}

input[type="checkbox"]{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  border-radius:9px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  vertical-align:middle !important;
  position:relative !important;
}

input[type="checkbox"]::after{
  left:50% !important;
  top:50% !important;
  width:14px !important;
  height:8px !important;
  transform:translate(-50%, -52%) rotate(-45deg) scale(0) !important;
}

input[type="checkbox"]:checked::after{
  transform:translate(-50%, -52%) rotate(-45deg) scale(1) !important;
}

.checkbox-line,
.vr-free-toggle,
label:has(> input[type="checkbox"]),
label > input[type="checkbox"]{
  align-items:center !important;
}

label > input[type="checkbox"],
.vr-free-toggle > input[type="checkbox"]{
  margin-right:10px !important;
}

.x-select-menu,
.x-select-menu-floating{
  background:linear-gradient(180deg, rgba(12,12,14,.995), rgba(7,7,9,.995)) !important;
  font-size:0.92rem !important;
  border-radius:14px !important;
}

.x-select-option,
.x-select-option.is-selected,
.x-select-option:hover,
.x-select-option:focus-visible,
.x-select-option.is-selected:hover,
.x-select-option.is-selected:focus-visible{
  font-size:0.92rem !important;
}

.top-fullscreen-btn.is-active{
  background:rgba(239,47,54,.18) !important;
  border-color:rgba(239,47,54,.45) !important;
}

@media (max-width: 900px){
  .closing-history-head{
    align-items:stretch;
  }
  .closing-filter-bar{
    width:100%;
  }
}

/* V53 targeted fixes */
.vr-main-button{
  min-height:56px !important;
}
.vr-main-name{
  font-size:1.12rem !important;
  line-height:1.02 !important;
}
.vr-main-price{
  font-size:0.97rem !important;
  line-height:1.02 !important;
}

.receipt-edit-panel{
  overflow:visible !important;
}
.receipt-edit-head{
  display:grid;
  gap:14px;
  margin-bottom:10px;
  padding-right:64px;
}
.receipt-edit-totals{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.receipt-edit-total-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.receipt-edit-total-chip .label{
  color:var(--cin-muted);
  font-size:0.94rem;
  font-weight:600;
}
.receipt-edit-live-chip{
  background:rgba(239,47,54,.08);
  border-color:rgba(239,47,54,.20);
}
.panel-close-btn{
  z-index:20 !important;
  pointer-events:auto !important;
  text-decoration:none !important;
  cursor:pointer !important;
  overflow:visible !important;
}
.panel-close-btn span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  pointer-events:none;
}

.settings-page-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(360px,0.82fr) !important;
  align-items:stretch !important;
}
.settings-main-panel,
.settings-side-panel{
  min-height:0 !important;
  height:100% !important;
}
.settings-side-panel{
  display:flex !important;
  flex-direction:column !important;
}
.settings-side-block{
  min-height:0;
}
.settings-actions-block{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.recent-actions-box,
.settings-side-panel .recent-actions-box,
.audit-box.recent-actions-box{
  flex:1 1 auto !important;
  min-height:320px !important;
  max-height:calc(100vh - var(--top-shell-height, 160px) - 230px) !important;
  height:auto !important;
  overflow:auto !important;
}

.games-tier-action-cell{
  text-align:right !important;
}
.games-tier-delete-form{
  width:100%;
  justify-content:flex-end !important;
}
.games-tier-action-cell .btn,
.games-tier-delete-form .btn{
  margin-left:auto !important;
}

@media (max-width: 1100px){
  .settings-page-grid{
    grid-template-columns:1fr !important;
  }
}


/* V54 invoice, settings layout, receipt edit, VR text */
.receipt-details-panel{
  max-width:min(1120px, calc(100vw - 56px)) !important;
}
.receipt-details-panel h1{
  margin-bottom:14px !important;
}
.receipt-details-panel .button-row{
  margin-top:18px !important;
}

.vr-main-name{
  font-size:1.44rem !important;
}
.vr-main-price{
  font-size:1.14rem !important;
}

.receipt-edit-panel{
  max-width:min(1020px, calc(100vw - 48px)) !important;
}
.receipt-edit-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:16px !important;
  padding-right:74px !important;
  margin-bottom:16px !important;
}
.receipt-edit-head h1{
  margin:0 !important;
}
.receipt-edit-totals{
  justify-content:flex-end !important;
  align-self:start !important;
}
.receipt-edit-total-chip{
  min-height:54px !important;
}
.panel-close-btn,
.panel-close-btn:link,
.panel-close-btn:visited{
  width:48px !important;
  height:48px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:250 !important;
  pointer-events:auto !important;
}
.panel-close-btn::before{
  content:"";
  position:absolute;
  inset:-8px;
}

.settings-page-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  align-items:start !important;
}
.settings-right-column{
  min-width:0 !important;
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:16px !important;
}
.settings-main-panel,
.settings-payments-panel,
.settings-actions-panel{
  min-width:0 !important;
}
.settings-payments-panel{
  display:flex !important;
  flex-direction:column !important;
}
.settings-payments-table-wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
}
.settings-actions-panel{
  margin:0 !important;
}
.settings-actions-panel .recent-actions-box{
  min-height:840px !important;
  height:840px !important;
  max-height:840px !important;
  overflow:auto !important;
  background:var(--field-surface-solid) !important;
}

.games-tier-action-cell,
.games-tiers-table th:last-child,
.games-tiers-table td:last-child{
  width:240px !important;
  text-align:right !important;
}
.games-tier-action-wrap,
.games-tier-delete-form{
  width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
}
.games-tier-delete-form .btn{
  margin-left:auto !important;
}

@media (max-width: 1100px){
  .settings-page-grid{
    grid-template-columns:1fr !important;
  }
  .receipt-edit-head{
    grid-template-columns:1fr !important;
    padding-right:64px !important;
  }
  .receipt-edit-totals{
    justify-content:flex-start !important;
  }
}

/* V67 global readability font increase */
body{
  font-size:19px !important;
}

input,
textarea,
select,
button,
option{
  font-size:inherit !important;
  font-family:inherit !important;
}

.session-pill{
  font-size:1.08rem !important;
}

.tiny-text,
.detail-grid strong{
  font-size:0.98rem !important;
}

.user-card-topline strong{
  font-size:1.18rem !important;
}

.user-role-badge{
  font-size:0.88rem !important;
}

.user-card-meta{
  font-size:0.96rem !important;
}

.btn-small,
.x-select-option,
.zoom-select-wrap .x-select-menu,
.zoom-select-wrap .x-select-option{
  font-size:1.04rem !important;
}

.receipt-card-title{
  font-size:1.16rem !important;
}

.receipt-card-number{
  font-size:1.04rem !important;
}

.receipt-card-time{
  font-size:1.05rem !important;
}



/* V69 specific title equalization */
.panel .matched-panel-title{
  font-size:1.9rem !important;
  line-height:1.08 !important;
}

/* V83 cashier discount toggle */
.discount-promo-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.discount-promo-banner.is-off{
  opacity:.78;
}
.discount-promo-text{
  font-weight:800;
  letter-spacing:.01em;
}
.discount-toggle-shell{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  cursor:pointer;
  user-select:none;
}
.discount-toggle-text{
  font-size:.95rem;
  font-weight:700;
  color:#fff;
  opacity:.95;
}
.discount-toggle-state{
  min-width:40px;
  text-align:center;
  font-size:.9rem;
  font-weight:900;
  color:#fff;
}
.discount-toggle-shell input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.discount-toggle-slider{
  position:relative;
  width:56px;
  height:30px;
  border-radius:999px;
  background:rgba(0,0,0,.45);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:inset 0 1px 4px rgba(0,0,0,.35);
  transition:background .18s ease,border-color .18s ease;
}
.discount-toggle-slider::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.35);
  transition:transform .18s ease;
}
.discount-toggle-shell input:checked + .discount-toggle-slider{
  background:rgba(5,5,5,.35);
  border-color:rgba(255,255,255,.34);
}
.discount-toggle-shell input:checked + .discount-toggle-slider::after{
  transform:translateX(26px);
}
@media (max-width:640px){
  .discount-promo-banner{
    align-items:flex-start;
  }
  .discount-toggle-shell{
    margin-left:0;
  }
}


/* V86 cashier recent receipt modal clarity */
.receipt-dialog{
  width:min(780px, calc(100vw - 44px)) !important;
  max-width:min(780px, calc(100vw - 44px)) !important;
  padding:0 !important;
  overflow:visible !important;
  box-shadow:0 34px 90px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
.receipt-dialog::backdrop{
  background:rgba(3, 5, 10, .78) !important;
  backdrop-filter:blur(14px) saturate(68%);
  -webkit-backdrop-filter:blur(14px) saturate(68%);
}
.receipt-quickview-shell{
  position:relative;
  padding:26px 28px 24px !important;
  padding-right:88px !important;
}
.receipt-quickview-head{
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
.receipt-quickview-head h2{
  margin:0 !important;
  padding-right:8px;
}
.receipt-quickview-head p{
  margin:0 !important;
}
.receipt-quickview-shell .button-row{
  margin-top:22px !important;
}
.dialog-close-btn,
.dialog-close-btn:link,
.dialog-close-btn:visited{
  top:16px !important;
  right:18px !important;
  width:48px !important;
  height:48px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:260 !important;
}
.dialog-close-btn span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:2rem !important;
  line-height:1 !important;
}


/* V92 custom themed system message box */
.app-message-dialog{
  width:min(560px, calc(100vw - 40px)) !important;
  max-width:min(560px, calc(100vw - 40px)) !important;
  padding:0 !important;
  overflow:visible !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:22px !important;
  background:linear-gradient(180deg, rgba(17,24,39,.98), rgba(7,13,24,.98)) !important;
  color:#fff !important;
  box-shadow:0 34px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
.app-message-dialog::backdrop{
  background:rgba(3, 5, 10, .78) !important;
  backdrop-filter:blur(14px) saturate(68%);
  -webkit-backdrop-filter:blur(14px) saturate(68%);
}
.app-message-shell{
  position:relative;
  padding:26px 28px 24px !important;
  padding-right:88px !important;
  display:grid;
  gap:18px;
  background:
    radial-gradient(circle at top left, rgba(239,68,68,.16), transparent 42%),
    radial-gradient(circle at bottom right, rgba(59,130,246,.12), transparent 38%);
  border-radius:22px;
}
.app-message-badge{
  width:62px;
  height:62px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.9rem;
  font-weight:900;
  color:#fff;
  background:linear-gradient(180deg, rgba(239,68,68,.9), rgba(153,27,27,.92));
  box-shadow:0 18px 34px rgba(127,29,29,.28), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.app-message-dialog[data-variant="info"] .app-message-badge{
  background:linear-gradient(180deg, rgba(59,130,246,.92), rgba(30,64,175,.94));
  box-shadow:0 18px 34px rgba(30,64,175,.26), 0 0 0 1px rgba(255,255,255,.08) inset;
}
.app-message-content{
  display:grid;
  gap:10px;
}
.app-message-content h2{
  margin:0 !important;
  font-size:1.45rem;
  line-height:1.1;
}
.app-message-content p{
  margin:0 !important;
  color:#d1d5db;
  font-size:1rem;
  line-height:1.65;
  white-space:pre-wrap;
}
.app-message-actions{
  margin-top:4px !important;
  justify-content:flex-end;
}
.app-message-actions .btn{
  min-width:118px;
  min-height:46px;
  border-radius:13px;
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.app-message-close,
.app-message-close:link,
.app-message-close:visited{
  top:16px !important;
  right:18px !important;
  width:48px !important;
  height:48px !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:260 !important;
}
.app-message-close span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:2rem !important;
  line-height:1 !important;
}
@media (max-width:640px){
  .app-message-dialog{
    width:min(100vw - 22px, 560px) !important;
    max-width:min(100vw - 22px, 560px) !important;
  }
  .app-message-shell{
    padding:22px 18px 18px !important;
    padding-right:72px !important;
  }
  .app-message-actions{
    display:grid !important;
    grid-template-columns:1fr;
  }
  .app-message-actions .btn{
    width:100%;
  }
}

/* V107 cashier viewport + scroll stabilization */
body.cashier-page{
  min-height:var(--viewport-height-unzoomed, 100vh) !important;
  height:var(--viewport-height-unzoomed, 100vh) !important;
  overflow:hidden !important;
}

body.cashier-page .top-shell{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:5000 !important;
}

body.cashier-page .page-wrap{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  top:var(--top-shell-height-unzoomed, var(--top-shell-height, 146px)) !important;
  bottom:0 !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:14px 20px 14px !important;
  display:block !important;
}

body.cashier-page #cashierBodyContent{
  height:100% !important;
  min-height:0 !important;
}

body.cashier-page .cashier-layout{
  display:grid !important;
  grid-template-columns:320px minmax(0,1fr) !important;
  gap:20px !important;
  align-items:stretch !important;
  height:100% !important;
  min-height:0 !important;
  max-height:100% !important;
}

body.cashier-page .cashier-layout > *,
body.cashier-page .cashier-layout .panel,
body.cashier-page .cashier-layout .sidebar,
body.cashier-page .cashier-layout .sidebar-stretch,
body.cashier-page .cashier-layout .recent-receipts-panel,
body.cashier-page .cashier-layout .main-stack,
body.cashier-page .cashier-layout #cashierMainScroll{
  min-height:0 !important;
}

body.cashier-page .recent-receipts-panel,
body.cashier-page .sidebar,
body.cashier-page .sidebar-stretch{
  position:static !important;
  top:auto !important;
}

body.cashier-page .recent-receipts-panel{
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
}

body.cashier-page .sidebar-stretch{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  max-height:100% !important;
  overflow:hidden !important;
}

body.cashier-page .recent-receipts-panel .receipt-list,
body.cashier-page .recent-receipts-panel .receipt-list.receipt-list-scroll,
body.cashier-page .receipt-list-scroll{
  flex:1 1 auto !important;
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:auto !important;
  padding-right:8px !important;
  padding-bottom:12px !important;
}

body.cashier-page .main-stack{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:20px !important;
  height:100% !important;
  min-height:0 !important;
}

body.cashier-page #cashierMainScroll{
  flex:1 1 auto !important;
  height:100% !important;
  max-height:100% !important;
  overflow:auto !important;
  padding-right:8px !important;
  padding-bottom:18px !important;
  box-sizing:border-box !important;
  align-content:start !important;
}

body.cashier-page #cashierMainScroll > *{
  flex:0 0 auto !important;
}

body.cashier-page .cashier-main-grid,
body.cashier-page .cashier-main-grid-60-40{
  align-items:start !important;
}

body.cashier-page .table-wrap{
  max-width:100% !important;
}

@media (max-width:980px){
  body.cashier-page{
    min-height:var(--viewport-height-unzoomed, 100vh) !important;
    height:auto !important;
    overflow:auto !important;
  }

  body.cashier-page .top-shell{
    position:sticky !important;
    top:0 !important;
  }

  body.cashier-page .page-wrap{
    position:static !important;
    top:auto !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    height:auto !important;
    overflow:visible !important;
    padding:14px 12px 12px !important;
  }

  body.cashier-page #cashierBodyContent,
  body.cashier-page .cashier-layout{
    height:auto !important;
    max-height:none !important;
  }

  body.cashier-page .cashier-layout{
    grid-template-columns:1fr !important;
  }

  body.cashier-page .recent-receipts-panel{
    height:min(38vh, 360px) !important;
    max-height:min(38vh, 360px) !important;
  }

  body.cashier-page .sidebar-stretch{
    height:100% !important;
    max-height:none !important;
  }

  body.cashier-page #cashierMainScroll,
  body.cashier-page .main-stack{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-bottom:0 !important;
  }
}
