:root{--bg:#0c1220;--panel:#151d2f;--panel2:#1d2740;--text:#f7f9fc;--muted:#9fb0cb;--accent:#f6c945;--accent2:#27d17f;--danger:#ff6262;--line:#2b3755}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial,sans-serif;background:linear-gradient(135deg,#09101b,#121b30);color:var(--text);min-height:100vh}
.topbar{padding:20px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(8,14,26,.9);position:sticky;top:0;z-index:5}.topbar h1{margin:0;color:var(--accent);letter-spacing:.5px}.topbar p{margin:4px 0 0;color:var(--muted)}.status{color:var(--muted);font-size:14px}.tabs{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--line);background:#0d1526;overflow:auto}.tab{border:0;background:#1b2740;color:#c9d5e8;padding:10px 16px;border-radius:10px;cursor:pointer}.tab.active{background:var(--accent);color:#171717;font-weight:800}main{padding:24px;max-width:1200px;margin:auto}.view{display:none}.view.active{display:block}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{background:rgba(21,29,47,.95);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(0,0,0,.18)}.card.narrow{max-width:620px;margin:auto}h2{margin-top:0}label{display:block;margin:14px 0 7px;color:#d8e3f3;font-weight:650}input,select{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #33415f;background:#0f1728;color:white;font-size:16px;outline:none}input:focus,select:focus{border-color:var(--accent)}button{font:inherit}.primary{width:100%;margin-top:16px;padding:13px 16px;border-radius:12px;border:0;background:var(--accent);color:#151515;font-weight:850;cursor:pointer}.success{background:var(--accent2)}.ghost{background:transparent;border:1px solid var(--line);color:white;padding:8px 12px;border-radius:10px}.danger{color:#ff9090}.choice-row{display:flex;gap:8px;margin-top:12px}.choice{flex:1;border:1px solid var(--line);background:#101a2c;color:white;padding:10px;border-radius:10px}.choice.active{background:#33415f;border-color:var(--accent)}.hidden{display:none}.hint,.muted{color:var(--muted);font-size:14px;margin-top:7px}.error{color:#ff9292;margin-top:10px;min-height:20px}.success-msg{color:#75e3a7;margin-top:10px;min-height:20px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cart-list{display:flex;flex-direction:column;gap:10px;min-height:150px}.cart-item{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#10192b;border:1px solid var(--line);padding:12px;border-radius:12px}.cart-right{display:flex;align-items:center;gap:10px}.icon-btn{border:0;background:#3a1b25;color:#ff9fac;width:30px;height:30px;border-radius:8px;cursor:pointer}.total-row{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:20px}.results-list{display:grid;gap:12px}.result-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;background:#10192b}.ball{font-size:19px;font-weight:850;color:var(--accent)}.pill{padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px}.setting-row{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;align-items:center;margin:10px 0}.check-output{margin-top:14px;padding:14px;border-radius:12px;background:#10192b;min-height:70px;white-space:pre-wrap}
@media(max-width:800px){.grid.two{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.status{display:none}.result-row{grid-template-columns:1fr 1fr}.result-row>div:first-child{grid-column:1/-1}}

.schedule-card{margin-top:20px}.schedule-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.schedule-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#10192b}.schedule-row.closed{opacity:.55}.open-pill{color:#75e3a7;border-color:#275b43}.closed-pill{color:#ff9292;border-color:#65333a}option:disabled{color:#7b8496}.primary:disabled{opacity:.45;cursor:not-allowed}@media(max-width:900px){.schedule-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.schedule-list{grid-template-columns:1fr}}
.draw-picker-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;border:1px solid #33415f;background:#0f1728;color:#fff;cursor:pointer;text-align:left}.draw-picker-btn:hover{border-color:var(--accent)}.draw-picker-panel{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#0d1526;box-shadow:0 14px 30px rgba(0,0,0,.28)}.draw-picker-tools{position:sticky;top:0;background:#0d1526;padding-bottom:10px;z-index:2}.draw-tool-row{display:flex;gap:8px;margin-top:8px}.draw-tool-row .ghost{flex:1}.draw-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:330px;overflow:auto;padding-right:3px}.draw-check-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0;padding:10px;border:1px solid var(--line);border-radius:11px;background:#10192b;cursor:pointer}.draw-check-row:hover{border-color:#4a5c84}.draw-check-row.closed{opacity:.48;cursor:not-allowed}.draw-check-row input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.draw-check-name{display:flex;flex-direction:column;gap:2px;min-width:0}.draw-check-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draw-check-name small{color:var(--muted)}@media(max-width:560px){.draw-checklist{grid-template-columns:1fr}.draw-tool-row{flex-direction:column}}

.brand-lockup{display:flex;align-items:center;gap:14px}.brand-logo{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}.print-last-btn{width:100%;margin-top:10px}.print-receipt{display:none}.receipt-inner{font-family:Arial,sans-serif;color:#000;background:#fff;width:58mm;padding:2mm;margin:0 auto}.receipt-logo{display:block;width:32mm;max-height:32mm;object-fit:contain;margin:0 auto 1mm}.receipt-title{text-align:center;font-weight:900;font-size:16px}.receipt-subtitle{text-align:center;font-size:9px;margin-top:1mm}.receipt-rule{border-top:1px dashed #000;margin:2mm 0}.receipt-meta{font-size:9px;line-height:1.35}.receipt-item{padding:1.5mm 0}.receipt-draw{font-size:9px;font-weight:700}.receipt-line{display:grid;grid-template-columns:1fr auto auto;gap:2mm;align-items:center;font-size:11px}.receipt-line strong:first-child{font-size:14px}.receipt-date{font-size:8px;margin-top:.5mm}.receipt-total{display:flex;justify-content:space-between;font-size:14px}.receipt-footer{text-align:center;font-weight:700;font-size:9px}.receipt-ticket-id{text-align:center;font-size:8px;margin-top:1.5mm;word-break:break-all}
@media(max-width:560px){.brand-logo{width:56px;height:56px}.brand-lockup{gap:9px}.topbar h1{font-size:22px}}
@media print{
  @page{size:58mm auto;margin:0}
  body.printing-ticket *{visibility:hidden!important}
  body.printing-ticket #printReceipt,body.printing-ticket #printReceipt *{visibility:visible!important}
  body.printing-ticket #printReceipt{display:block!important;position:absolute;left:0;top:0;width:58mm;margin:0;padding:0;background:#fff}
  body.printing-ticket{background:#fff!important;margin:0!important;padding:0!important}
}


.printer-settings{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.printer-settings h3{margin:0 0 8px}
:root[data-paper-size="58"] .receipt-inner{width:58mm;padding:2mm}
:root[data-paper-size="58"] .receipt-logo{width:32mm;max-height:32mm}
:root[data-paper-size="80"] .receipt-inner{width:80mm;padding:3mm}
:root[data-paper-size="80"] .receipt-logo{width:40mm;max-height:38mm}
:root[data-paper-size="80"] .receipt-title{font-size:18px}
:root[data-paper-size="80"] .receipt-subtitle,:root[data-paper-size="80"] .receipt-meta,:root[data-paper-size="80"] .receipt-draw,:root[data-paper-size="80"] .receipt-footer{font-size:10px}
:root[data-paper-size="80"] .receipt-line{font-size:12px;grid-template-columns:1fr auto auto}
:root[data-paper-size="80"] .receipt-line strong:first-child{font-size:15px}
:root[data-paper-size="80"] .receipt-date,:root[data-paper-size="80"] .receipt-ticket-id{font-size:9px}
:root[data-paper-size="80"] .receipt-total{font-size:16px}
@media print{
  :root[data-paper-size="58"] body.printing-ticket #printReceipt{width:58mm}
  :root[data-paper-size="80"] body.printing-ticket #printReceipt{width:80mm}
  :root[data-paper-size="58"] .receipt-inner{width:58mm}
  :root[data-paper-size="80"] .receipt-inner{width:80mm}
}


/* QR ticket scanner + receipt QR */
.scanner-actions{display:flex;gap:10px;align-items:center}.scanner-actions .primary{margin-top:0}.scanner-actions .ghost{margin-top:0}.qr-reader{margin-top:14px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#08101c;min-height:260px}.qr-reader video{width:100%!important;border-radius:12px}.scan-hint{text-align:center;color:var(--muted);font-size:13px;margin-top:9px}.or-line{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:18px 0 4px}.or-line:before,.or-line:after{content:"";height:1px;flex:1;background:var(--line)}.ticket-status{padding:12px;border-radius:12px;text-align:center;font-weight:900;font-size:18px;margin-bottom:12px}.ticket-status.winner{background:#103a28;color:#7ff0b2;border:1px solid #2d7655}.ticket-status.pending{background:#3b3110;color:#ffe487;border:1px solid #7a6722}.ticket-status.lost{background:#36191f;color:#ff9ca9;border:1px solid #70303c}.checked-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line)}.checked-meta span{color:var(--muted);font-size:13px}.checked-lines{display:grid;gap:7px;padding:12px 0;font-size:14px}.checked-summary{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid var(--line)}.pending-note{margin-top:10px;color:#ffe487}.receipt-qr{display:flex;justify-content:center;align-items:center;margin:2mm auto 1mm}.receipt-qr img,.receipt-qr canvas{width:28mm!important;height:28mm!important;image-rendering:pixelated}.receipt-scan-label{text-align:center;font-size:8px;font-weight:700;margin-bottom:1mm}:root[data-paper-size="80"] .receipt-qr img,:root[data-paper-size="80"] .receipt-qr canvas{width:32mm!important;height:32mm!important}:root[data-paper-size="80"] .receipt-scan-label{font-size:9px}@media(max-width:560px){.scanner-actions{flex-direction:column}.scanner-actions>*{width:100%}}

.checked-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.checked-actions button{flex:1 1 220px}

.offline-banner{position:sticky;top:0;z-index:30;background:#8b1e1e;color:#fff;padding:8px 14px;text-align:center;font-weight:800}.login-overlay{position:fixed;inset:0;z-index:100;background:rgba(3,10,24,.92);display:grid;place-items:center;padding:20px}.login-overlay.hidden{display:none}.login-card{width:min(380px,94vw);background:#fff;border-radius:24px;padding:24px;text-align:center}.login-logo{width:150px;max-height:110px;object-fit:contain}.login-card input{font-size:28px;text-align:center;letter-spacing:8px}.admin-extra{margin-top:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-list{margin-top:14px;max-height:330px;overflow:auto}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5e7eb}.admin-row span{display:flex;flex-direction:column}.admin-row small{color:#6b7280}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.report-card{border:1px solid #e5e7eb;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.report-card strong{font-size:1.35rem}.audit-list{max-height:500px;overflow:auto}.audit-row{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid #e5e7eb}.audit-row span,.audit-row small{color:#6b7280;font-size:.86rem}@media(max-width:600px){.form-row,.report-grid{grid-template-columns:1fr}}
.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cashier-activity{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.activity-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-head h3{margin:0}.cashier-activity .report-summary{margin:12px 0}.cashier-activity label{display:grid;gap:6px}.cashier-activity .audit-row{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}

/* MIX quick-entry switch */
.bet-mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.bet-mode-row .number-label{margin:0}.mix-switch{display:inline-flex;align-items:center;gap:8px;margin:0;cursor:pointer;user-select:none;color:#fff}.mix-switch input{position:absolute;opacity:0;pointer-events:none}.mix-slider{width:46px;height:26px;border-radius:999px;background:#27344e;border:1px solid #41506d;position:relative;transition:.2s}.mix-slider:after{content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.2s}.mix-switch input:checked + .mix-slider{background:#18b86f;border-color:#36df94;box-shadow:0 0 0 3px rgba(54,223,148,.12)}.mix-switch input:checked + .mix-slider:after{transform:translateX(20px)}.mix-switch strong{font-size:14px;letter-spacing:.5px}.mix-switch input:checked ~ strong{color:#75e3a7}

.draw-checklist{display:block;max-height:430px;overflow:auto;padding-right:3px}.draw-group{margin-bottom:14px}.draw-group:last-child{margin-bottom:0}.draw-group-head{position:sticky;top:74px;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:9px 10px;margin:0 0 8px;border:1px solid var(--line);border-radius:10px;background:#121d33;font-weight:900;letter-spacing:.4px}.draw-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(max-width:560px){.draw-group-grid{grid-template-columns:1fr}}


/* Clear Morning / Evening draw separation */
.draw-session-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 4px}
.session-summary-btn{border:1px solid var(--line);border-radius:13px;padding:12px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:#101a2d;color:#fff;cursor:pointer;text-align:left}
.session-summary-btn strong{font-size:14px;letter-spacing:.4px}.session-summary-btn span{font-size:12px;opacity:.8}
.session-summary-btn.morning{border-color:#9a7a22}.session-summary-btn.evening{border-color:#4f6fc4}
.draw-checklist{display:grid;grid-template-columns:1fr;gap:16px;max-height:520px;overflow:auto;padding-right:3px;margin-top:8px}
.draw-session-card{border:2px solid var(--line);border-radius:14px;padding:10px;background:#0d1729}
.draw-session-card.morning{border-color:#9a7a22}.draw-session-card.evening{border-color:#4f6fc4}
.draw-session-card-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;margin:-2px -2px 10px;border-radius:12px;background:#17233a}
.draw-session-card.morning .draw-session-card-head{background:#332b16}.draw-session-card.evening .draw-session-card-head{background:#17284b}
.draw-session-card-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.draw-session-card-head strong{font-size:15px;letter-spacing:.5px}.draw-session-card-head small{opacity:.7}.session-icon{font-size:18px}
@media(max-width:560px){.draw-session-summary{grid-template-columns:1fr}.draw-session-card-head{align-items:flex-start}.draw-session-card-head .ghost{padding:8px 10px}}

/* Quick bet generators: ALL TRIPS / FAMILY */
.quick-bet-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 6px}.quick-tool{border:1px solid #52617e;background:#18243b;color:#fff;border-radius:12px;padding:11px 12px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.quick-tool small{font-weight:700;color:#f6c945}.quick-tool:hover{background:#22314d}.quick-hint{margin-bottom:8px;color:#dbe5f5}@media(max-width:520px){.quick-bet-tools{grid-template-columns:1fr}.quick-tool{justify-content:space-between}}

/* Cashier permissions */
.permission-box{margin:12px 0;padding:12px;border:1px solid rgba(127,127,127,.25);border-radius:12px;background:rgba(127,127,127,.06)}
.permission-box>strong{display:block;margin-bottom:9px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin-bottom:8px}
.permission-grid label{display:flex;gap:7px;align-items:center;font-size:.9rem}
.permission-grid input{width:auto}
.user-perms{display:block;margin-top:3px;font-size:.76rem;opacity:.78;max-width:520px}
.access-hidden{display:none!important}
@media(max-width:650px){.permission-grid{grid-template-columns:1fr}}

/* Signed-in user + logout */
.topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.signed-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.08)}.signed-user span{font-weight:800;font-size:.9rem}.signed-user small{font-size:.67rem;opacity:.78;margin-top:3px;letter-spacing:.08em}.logout-btn{border:0;border-radius:11px;padding:10px 14px;font-weight:900;cursor:pointer;background:#b91c1c;color:#fff;box-shadow:0 7px 18px rgba(0,0,0,.2)}.logout-btn:hover{filter:brightness(1.08)}@media(max-width:700px){.topbar-actions{width:100%;justify-content:space-between}.signed-user{align-items:flex-start}.logout-btn{padding:9px 12px}}

/* ===== Design upgrade: brighter, cleaner, animated UI ===== */
:root{
  --bg:#07111f;
  --bg2:#0c1830;
  --panel:rgba(17,26,46,.80);
  --panel2:rgba(27,39,68,.88);
  --panel3:rgba(9,18,34,.92);
  --text:#f5f8ff;
  --muted:#aab9d7;
  --accent:#f6c945;
  --accent-strong:#ffdb70;
  --accent2:#27d17f;
  --accent3:#4da4ff;
  --danger:#ff6262;
  --line:rgba(126,157,220,.18);
  --shadow:0 18px 50px rgba(0,0,0,.32);
  --shadow-soft:0 10px 24px rgba(0,0,0,.18);
}
html{scroll-behavior:smooth}
body{
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 15%, rgba(246,201,69,.16), transparent 24%),
    radial-gradient(circle at 88% 18%, rgba(77,164,255,.18), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(39,209,127,.11), transparent 30%),
    linear-gradient(135deg, #06101e 0%, #0a1427 45%, #111d36 100%);
}
body::before,
body::after{
  content:"";
  position:fixed;
  width:320px;
  height:320px;
  border-radius:50%;
  filter:blur(80px);
  opacity:.23;
  z-index:-1;
  animation:floatBlob 14s ease-in-out infinite;
}
body::before{left:-80px;top:60px;background:#f6c945}
body::after{right:-90px;top:180px;background:#2f79ff;animation-delay:-6s}

.topbar{
  background:linear-gradient(180deg, rgba(8,14,26,.92), rgba(10,18,34,.82));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:0 14px 35px rgba(0,0,0,.25);
}
.topbar h1{
  font-size:clamp(1.5rem,2.4vw,2rem);
  text-shadow:0 0 18px rgba(246,201,69,.18);
}
.topbar p{letter-spacing:.02em}
.brand-lockup{position:relative}
.brand-logo{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.02));
  padding:6px;
  box-shadow:0 10px 22px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);
  animation:logoFloat 4.8s ease-in-out infinite;
}
.signed-user{
  background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  backdrop-filter:blur(10px);
}
.status{
  padding:8px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
}
.tabs{
  position:sticky;
  top:113px;
  z-index:4;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  background:rgba(10,18,34,.78);
  box-shadow:0 10px 26px rgba(0,0,0,.15);
}
.tab{
  position:relative;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.tab:hover{transform:translateY(-2px);background:#243557}
.tab.active{
  box-shadow:0 10px 24px rgba(246,201,69,.28);
}
main{position:relative;padding-top:28px;padding-bottom:34px}
.view.active{animation:fadeInUp .35s ease}
.card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(20,31,54,.88), rgba(11,19,35,.92));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  animation:cardIn .45s ease both;
}
.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.30), transparent);
}
.card:hover{
  transform:translateY(-3px);
  border-color:rgba(246,201,69,.22);
  box-shadow:0 22px 52px rgba(0,0,0,.34);
}
.card h2, .card h3, .card h4{letter-spacing:.01em}
label{font-weight:700;letter-spacing:.01em}
input,select{
  background:linear-gradient(180deg, rgba(13,22,40,.96), rgba(11,18,34,.96));
  border:1px solid rgba(130,160,220,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
input:hover,select:hover{border-color:rgba(246,201,69,.24)}
input:focus,select:focus{
  transform:translateY(-1px);
  border-color:rgba(246,201,69,.75);
  box-shadow:0 0 0 4px rgba(246,201,69,.10), inset 0 1px 0 rgba(255,255,255,.04);
}
.primary,.ghost,.choice,.quick-tool,.session-summary-btn,.draw-picker-btn,.logout-btn,.icon-btn{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease, background .16s ease;
}
.primary{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, #ffd860, #f6c945);
  box-shadow:0 14px 28px rgba(246,201,69,.22);
}
.primary:hover{transform:translateY(-2px);filter:brightness(1.03);box-shadow:0 18px 34px rgba(246,201,69,.30)}
.primary:active,.ghost:active,.choice:active,.quick-tool:active{transform:translateY(0) scale(.99)}
.primary::after{
  content:"";
  position:absolute;
  top:0; left:-120%;
  width:70%; height:100%;
  transform:skewX(-24deg);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent);
  transition:left .55s ease;
}
.primary:hover::after{left:145%}
.success{
  background:linear-gradient(180deg, #31de8a, #27d17f);
  box-shadow:0 14px 28px rgba(39,209,127,.20);
}
.ghost{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.10);
}
.ghost:hover{transform:translateY(-2px);border-color:rgba(246,201,69,.34);background:rgba(255,255,255,.07)}
.choice{
  background:linear-gradient(180deg, rgba(17,26,44,.95), rgba(13,20,35,.95));
}
.choice:hover{transform:translateY(-1px);border-color:rgba(246,201,69,.24)}
.choice.active{
  background:linear-gradient(180deg, rgba(246,201,69,.22), rgba(246,201,69,.09));
  box-shadow:inset 0 0 0 1px rgba(246,201,69,.24);
}
.hint,.muted{color:#b7c4de}
.pill{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#c9d4e9;
  font-weight:700;
}
.draw-picker-btn,
.session-summary-btn,
.quick-tool{
  box-shadow:var(--shadow-soft);
}
.draw-picker-btn{background:linear-gradient(180deg, rgba(18,28,50,.96), rgba(11,18,34,.96))}
.draw-picker-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(0,0,0,.22)}
.draw-picker-panel{
  background:linear-gradient(180deg, rgba(9,17,31,.95), rgba(10,18,34,.95));
  border-color:rgba(255,255,255,.08);
}
.draw-check-row{
  background:linear-gradient(180deg, rgba(17,26,45,.92), rgba(13,20,36,.92));
}
.draw-check-row:hover{transform:translateY(-1px);border-color:rgba(246,201,69,.28)}
.draw-session-card{box-shadow:var(--shadow-soft)}
.session-summary-btn{
  background:linear-gradient(180deg, rgba(20,32,56,.95), rgba(10,18,33,.96));
}
.session-summary-btn:hover{transform:translateY(-2px)}
.session-summary-btn.morning{
  background:linear-gradient(180deg, rgba(88,67,19,.38), rgba(23,21,16,.88));
}
.session-summary-btn.evening{
  background:linear-gradient(180deg, rgba(32,53,116,.40), rgba(15,22,42,.90));
}
.bet-mode-row{
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
}
.mix-switch strong{font-weight:900}
.quick-tool{
  background:linear-gradient(180deg, rgba(31,46,76,.98), rgba(19,29,50,.98));
}
.quick-tool:hover{transform:translateY(-2px);border-color:rgba(246,201,69,.32)}
.cart-list{gap:12px}
.cart-item{
  background:linear-gradient(180deg, rgba(16,25,43,.98), rgba(12,20,36,.96));
  border:1px solid rgba(255,255,255,.07);
  box-shadow:var(--shadow-soft);
  animation:fadeInUp .25s ease;
}
.cart-item:hover{border-color:rgba(246,201,69,.24)}
.icon-btn{box-shadow:0 8px 18px rgba(58,27,37,.18)}
.total-row{
  align-items:center;
  border-top:1px solid rgba(255,255,255,.08);
}
#cartTotal{
  color:var(--accent-strong);
  text-shadow:0 0 16px rgba(246,201,69,.18);
}
.results-list,.admin-list,.audit-list,.cashierTicketList,.cashierActivityList{scrollbar-width:thin;scrollbar-color:#5a6f9f transparent}
.results-list::-webkit-scrollbar,.admin-list::-webkit-scrollbar,.audit-list::-webkit-scrollbar{width:8px}
.results-list::-webkit-scrollbar-thumb,.admin-list::-webkit-scrollbar-thumb,.audit-list::-webkit-scrollbar-thumb{background:#425579;border-radius:999px}
.result-row{
  background:linear-gradient(180deg, rgba(17,26,45,.96), rgba(13,20,35,.96));
  box-shadow:var(--shadow-soft);
}
.ball{
  text-shadow:0 0 18px rgba(246,201,69,.16);
}
.ticket-status{box-shadow:var(--shadow-soft)}
.report-card{
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(244,247,255,.95));
  box-shadow:0 10px 22px rgba(0,0,0,.08);
}
.report-card span,.report-card small{color:#62708c}
.report-card strong{
  color:#13213e;
}
.live-monitor-card{margin-top:20px}
.offline-banner{
  background:linear-gradient(90deg,#b51d1d,#d84040);
  box-shadow:0 10px 20px rgba(181,29,29,.26);
}
.login-overlay{
  background:radial-gradient(circle at top, rgba(246,201,69,.12), transparent 26%), rgba(3,10,24,.94);
  backdrop-filter:blur(8px);
}
.login-card{
  color:#14213f;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,248,253,.98));
  box-shadow:0 28px 80px rgba(0,0,0,.32);
  animation:popIn .35s ease;
}
.login-card h2{color:#14213f;margin-bottom:10px}
.login-card p{color:#5f6b85}
.login-card .primary{margin-top:18px}
.login-card input{
  background:#fff;
  color:#111827;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 16px rgba(0,0,0,.05);
}
.login-logo{
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.18));
  animation:logoFloat 4.8s ease-in-out infinite;
}
.logout-btn{
  background:linear-gradient(180deg, #d72e2e, #b91c1c);
  box-shadow:0 12px 24px rgba(185,28,28,.24);
}
.logout-btn:hover{transform:translateY(-2px)}
.scanner-actions .primary,.checked-actions .primary,.checked-actions .ghost{box-shadow:var(--shadow-soft)}
.check-output{
  background:linear-gradient(180deg, rgba(16,25,43,.96), rgba(12,20,36,.96));
  border:1px solid rgba(255,255,255,.08);
}
.permission-box,
.printer-settings,
.cashier-activity{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.08);
  border-radius:16px;
}
.admin-row,.audit-row{
  padding:12px 0;
}
.admin-row{
  border-bottom:1px solid rgba(255,255,255,.08);
}
.row-actions .ghost,.row-actions .primary{padding:9px 12px}

@keyframes floatBlob{
  0%,100%{transform:translateY(0) translateX(0) scale(1)}
  50%{transform:translateY(20px) translateX(14px) scale(1.05)}
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes fadeInUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes cardIn{
  from{opacity:0;transform:translateY(12px) scale(.99)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes popIn{
  from{opacity:0;transform:translateY(10px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media (max-width: 900px){
  .tabs{top:120px}
}
@media (max-width: 700px){
  .tabs{top:136px}
  .topbar{padding:18px 16px}
  main{padding:18px 14px 28px}
  .card{padding:18px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ===== Dedicated Admin Cashier Activity Center ===== */
.cashier-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}
.cashier-toolbar label{margin:0;min-width:220px}
.cashier-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cashier-dashboard-card{
  width:100%;text-align:left;color:var(--text);cursor:pointer;border-radius:18px;padding:16px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(24,37,64,.96),rgba(11,20,36,.96));
  box-shadow:0 14px 28px rgba(0,0,0,.20);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.cashier-dashboard-card:hover{transform:translateY(-3px);border-color:rgba(246,201,69,.30);box-shadow:0 20px 36px rgba(0,0,0,.28)}
.cashier-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cashier-card-top>div{display:flex;flex-direction:column;gap:3px}
.cashier-card-top strong{font-size:1.05rem}.cashier-card-top small{color:var(--muted);font-size:.72rem;letter-spacing:.08em}
.cashier-state{font-size:.68rem;font-weight:900;padding:5px 8px;border-radius:999px}
.cashier-state.active{background:rgba(39,209,127,.13);color:#75e3a7;border:1px solid rgba(39,209,127,.30)}
.cashier-state.blocked{background:rgba(255,98,98,.13);color:#ff9a9a;border:1px solid rgba(255,98,98,.30)}
.cashier-card-money{font-size:2rem;font-weight:950;color:var(--accent-strong);margin-top:14px}
.cashier-card-label{color:var(--muted);font-size:.75rem;margin-bottom:12px}
.cashier-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.cashier-mini-grid span{padding:8px;border-radius:10px;background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:2px}
.cashier-mini-grid b{font-size:.88rem}.cashier-mini-grid small{font-size:.66rem;color:var(--muted)}
.cashier-card-foot{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:.7rem}
.cashier-view-details{margin-top:12px;font-weight:900;font-size:.76rem;color:var(--accent)}
.cashier-detail-card{margin-top:20px}
.cashier-detail-columns{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}
.cashier-detail-columns h3{margin:0 0 10px}
.cashier-ticket-feed,.cashier-action-feed{max-height:560px;overflow:auto;padding-right:4px}
.cashier-ticket-row{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);margin-bottom:10px}
.ticket-row-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ticket-state{font-size:.66rem;font-weight:900;padding:4px 7px;border-radius:999px}
.ticket-state.active{background:rgba(77,164,255,.12);color:#93c7ff}
.ticket-state.paid{background:rgba(39,209,127,.13);color:#75e3a7}
.ticket-state.cancelled{background:rgba(255,98,98,.13);color:#ff9a9a}
.ticket-row-meta,.ticket-row-split{font-size:.77rem;color:var(--muted);margin-top:6px}
.ticket-row-lines{font-size:.78rem;line-height:1.55;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.cashier-action-row{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.action-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(246,201,69,.12);color:var(--accent);font-weight:950}
.cashier-action-row>div{display:flex;flex-direction:column;gap:2px}.cashier-action-row small{color:var(--muted);font-size:.7rem}.cashier-action-row p{margin:3px 0 0;color:#d7e0f2;font-size:.78rem}
@media(max-width:980px){.cashier-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-detail-columns{grid-template-columns:1fr}}
@media(max-width:600px){.cashier-dashboard-grid{grid-template-columns:1fr}.cashier-toolbar{align-items:stretch}.cashier-toolbar label{min-width:0;width:100%}}


/* ===== High-value ticket alerts ===== */
.admin-alert-bell{position:relative;border:1px solid rgba(246,201,69,.28);background:rgba(246,201,69,.08);color:#ffe27a;border-radius:12px;padding:9px 12px;font-size:1.05rem;cursor:pointer;transition:.18s}
.admin-alert-bell:hover{transform:translateY(-2px);background:rgba(246,201,69,.13)}
.admin-alert-bell.has-alerts{animation:bellPulse 1.5s ease-in-out infinite;box-shadow:0 0 0 5px rgba(246,201,69,.08)}
.alert-count{position:absolute;right:-7px;top:-8px;min-width:21px;height:21px;border-radius:999px;padding:0 5px;display:grid;place-items:center;background:#ef4444;color:#fff;font-size:.68rem;font-weight:950;border:2px solid #10192d}
.admin-alert-panel{position:fixed;right:18px;top:132px;z-index:80;width:min(560px,calc(100vw - 28px));max-height:72vh;overflow:hidden;border:1px solid rgba(246,201,69,.24);border-radius:18px;background:linear-gradient(180deg,rgba(18,28,49,.98),rgba(7,14,27,.99));box-shadow:0 28px 80px rgba(0,0,0,.45);backdrop-filter:blur(18px)}
.alert-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(246,201,69,.05)}
.alert-panel-head>div:first-child{display:flex;flex-direction:column;gap:3px}.alert-panel-head small{color:var(--muted)}
.admin-alert-list{padding:10px;max-height:58vh;overflow:auto}
.admin-alert-item{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;color:var(--text);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:12px;margin-bottom:8px;background:rgba(255,255,255,.035);cursor:pointer;transition:.16s}
.admin-alert-item:hover{transform:translateY(-1px);border-color:rgba(246,201,69,.30)}
.admin-alert-item.unread{background:linear-gradient(90deg,rgba(246,201,69,.10),rgba(255,255,255,.035));border-color:rgba(246,201,69,.22)}
.admin-alert-item.read{opacity:.70}
.alert-money{font-size:1.12rem;font-weight:950;color:var(--accent-strong);min-width:75px}
.alert-body{display:flex;flex-direction:column;gap:3px;min-width:0}.alert-body strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert-body small,.alert-body span{font-size:.72rem;color:var(--muted)}
.alert-state{font-size:.62rem;font-weight:950;border-radius:999px;padding:5px 7px;background:rgba(246,201,69,.10);color:var(--accent)}
.high-ticket-settings{margin-top:22px;padding:16px;border:1px solid rgba(246,201,69,.14);border-radius:16px;background:rgba(246,201,69,.035)}
.high-ticket-settings h3{margin:0 0 8px}
@keyframes bellPulse{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}}
@media(max-width:700px){.admin-alert-panel{top:160px;right:10px;width:calc(100vw - 20px)}.alert-panel-head{align-items:flex-start;flex-direction:column}.admin-alert-item{grid-template-columns:1fr auto}.alert-money{grid-column:1/-1}.admin-alert-bell{padding:8px 10px}}


/* ===== Security Suite ===== */
.maintenance-banner{position:sticky;top:0;z-index:31;background:linear-gradient(90deg,#5f1620,#9b1c31);color:#fff;text-align:center;padding:9px 14px;font-weight:900;box-shadow:0 10px 24px rgba(100,15,31,.25)}
.shift-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px;padding:12px 16px;border:1px solid rgba(246,201,69,.16);border-radius:15px;background:linear-gradient(180deg,rgba(246,201,69,.07),rgba(255,255,255,.025));box-shadow:var(--shadow-soft)}
.shift-bar>div:first-child{display:flex;flex-direction:column;gap:3px}.shift-bar small{color:var(--muted)}
.security-center{margin-top:20px}
.security-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.security-settings-grid label{margin:0;display:grid;gap:7px}
.security-toggle-row{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}
.security-check{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.03);margin:0}
.security-check input{width:auto}
.security-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.security-columns h3{margin:0 0 10px}
.security-list{border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:8px;min-height:90px;max-height:360px;overflow:auto;background:rgba(0,0,0,.10)}
.security-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px;border-bottom:1px solid rgba(255,255,255,.07)}
.security-row:last-child{border-bottom:0}.security-row>span:first-child{display:flex;flex-direction:column;gap:3px}.security-row small{color:var(--muted);line-height:1.4}
.security-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.security-modal{position:fixed;inset:0;z-index:150;background:rgba(3,8,18,.78);display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}
.security-modal.hidden{display:none}.security-modal-card{width:min(420px,96vw);padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:linear-gradient(180deg,#172642,#0b1425);box-shadow:0 30px 90px rgba(0,0,0,.5)}
.security-modal-card h2{margin-top:0}.modal-actions{justify-content:flex-end;margin-top:16px}.modal-actions .primary{width:auto;margin-top:0}
@media(max-width:850px){.security-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.security-columns{grid-template-columns:1fr}}
@media(max-width:560px){.security-settings-grid{grid-template-columns:1fr}.shift-bar{align-items:flex-start;flex-direction:column}.shift-bar .row-actions{width:100%}.shift-bar button{flex:1}}


/* ===== JAY receipt v2: compact WSM-style thermal layout ===== */
.receipt-inner{
  font-family:"Courier New",Courier,monospace!important;
  color:#000!important;background:#fff!important;
  width:58mm!important;padding:1.7mm 2mm!important;margin:0 auto!important;
  font-weight:500;line-height:1.16;
}
.receipt-logo{
  display:block!important;width:24mm!important;max-height:24mm!important;
  object-fit:contain!important;margin:0 auto 1mm!important;
  filter:grayscale(1) contrast(1.35);
}
.receipt-title{text-align:center!important;font-weight:900!important;font-size:15px!important;letter-spacing:.3px}
.receipt-slogan,.receipt-validity{text-align:center;font-size:10px;line-height:1.3}
.receipt-slogan{margin-top:1mm}.receipt-validity{margin-bottom:1mm}
.receipt-stars{
  white-space:nowrap;overflow:hidden;text-align:center;font-size:10px;
  line-height:1;margin:1.4mm 0;
}
.receipt-meta{font-size:9.5px!important;line-height:1.45!important}
.receipt-meta-row{display:grid;grid-template-columns:15mm 1fr;gap:1mm}
.receipt-meta-row span{text-align:right}.receipt-meta-row strong{font-weight:700;overflow-wrap:anywhere}
.receipt-items{display:flex;flex-direction:column;gap:.75mm}
.receipt-bet-row{
  display:grid;
  grid-template-columns:14mm 11mm 1fr 8mm 10mm;
  gap:.4mm;align-items:baseline;
  font-size:9.5px;white-space:nowrap;
}
.receipt-game{overflow:hidden}.receipt-house{text-align:left;font-weight:700}
.receipt-number{text-align:right;font-size:10.5px;font-weight:700}
.receipt-bettype{text-align:center;font-weight:700}.receipt-amount{text-align:right;font-weight:700}
.receipt-total{
  display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;
  font-size:20px!important;font-weight:900!important;line-height:1.05!important;
  padding:.5mm 1mm!important;text-transform:none;
}
.receipt-total strong{font-size:22px!important}
.receipt-qr{margin:1.2mm auto .5mm!important}
.receipt-qr img,.receipt-qr canvas{width:25mm!important;height:25mm!important}
.receipt-scan-label{text-align:center;font-size:7.5px!important;font-weight:700;margin-bottom:.5mm!important}
.receipt-ticket-id{text-align:center;font-size:7.2px!important;margin:0 0 1.5mm!important;word-break:break-all}
.receipt-payouts{text-align:center;font-size:9px;line-height:1.45;margin-top:1mm}
:root[data-paper-size="80"] .receipt-inner{width:80mm!important;padding:2mm 3mm!important}
:root[data-paper-size="80"] .receipt-logo{width:28mm!important;max-height:28mm!important}
:root[data-paper-size="80"] .receipt-title{font-size:18px!important}
:root[data-paper-size="80"] .receipt-slogan,
:root[data-paper-size="80"] .receipt-validity{font-size:11px}
:root[data-paper-size="80"] .receipt-stars{font-size:12px}
:root[data-paper-size="80"] .receipt-meta{font-size:11px!important}
:root[data-paper-size="80"] .receipt-meta-row{grid-template-columns:19mm 1fr}
:root[data-paper-size="80"] .receipt-bet-row{
  grid-template-columns:18mm 15mm 1fr 10mm 13mm;font-size:11px
}
:root[data-paper-size="80"] .receipt-number{font-size:12px}
:root[data-paper-size="80"] .receipt-total{font-size:24px!important}
:root[data-paper-size="80"] .receipt-total strong{font-size:26px!important}
:root[data-paper-size="80"] .receipt-qr img,
:root[data-paper-size="80"] .receipt-qr canvas{width:29mm!important;height:29mm!important}
:root[data-paper-size="80"] .receipt-payouts{font-size:10.5px}

@media print{
  @page{margin:0!important}
  html,body{margin:0!important;padding:0!important;background:#fff!important;height:auto!important;min-height:0!important}
  body.printing-ticket > *:not(#printReceipt){display:none!important}
  body.printing-ticket #printReceipt{
    display:block!important;position:static!important;visibility:visible!important;
    margin:0!important;padding:0!important;background:#fff!important;
    width:58mm!important;height:auto!important;min-height:0!important;overflow:visible!important;
  }
  body.printing-ticket #printReceipt *{visibility:visible!important}
  :root[data-paper-size="80"] body.printing-ticket #printReceipt{width:80mm!important}
  :root[data-paper-size="58"] body.printing-ticket #printReceipt{width:58mm!important}
}


/* ===== Cashier Activity local-date + modal fix ===== */
body.cashier-activity-open{overflow:hidden}
#cashierActivityPanel.cashier-activity{
  position:fixed!important;inset:16px!important;z-index:190!important;
  margin:0!important;padding:20px!important;max-height:calc(100vh - 32px)!important;
  overflow:auto!important;border-radius:20px!important;
  border:1px solid rgba(246,201,69,.25)!important;
  background:linear-gradient(180deg,rgba(17,28,49,.998),rgba(6,13,25,.998))!important;
  box-shadow:0 35px 100px rgba(0,0,0,.62)!important;
}
#cashierActivityPanel.cashier-activity.hidden{display:none!important}
#cashierActivityPanel .activity-head{
  position:sticky;top:-20px;z-index:10;margin:-20px -20px 14px!important;padding:18px 20px!important;
  background:rgba(10,19,35,.98);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)
}
#cashierActivityPanel .report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#cashierActivityPanel .report-card{background:linear-gradient(180deg,#fff,#f0f4fb);color:#14213f}
.cashier-ticket-row{padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.035);margin-bottom:10px}
.ticket-row-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.ticket-state{font-size:.66rem;font-weight:900;padding:4px 7px;border-radius:999px}
.ticket-state.active{background:rgba(77,164,255,.12);color:#93c7ff}.ticket-state.paid{background:rgba(39,209,127,.13);color:#75e3a7}.ticket-state.cancelled{background:rgba(255,98,98,.13);color:#ff9a9a}
.ticket-row-meta,.ticket-row-split{font-size:.77rem;color:var(--muted);margin-top:6px}.ticket-row-lines{font-size:.78rem;line-height:1.55;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}
.cashier-action-row{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.cashier-action-row>div{display:flex;flex-direction:column;gap:2px}.cashier-action-row small{color:var(--muted);font-size:.7rem}.cashier-action-row p{margin:2px 0 0;font-size:.78rem}.action-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(246,201,69,.12);color:var(--accent)}
.empty-activity{padding:18px;border:1px dashed rgba(255,255,255,.13);border-radius:12px;color:var(--muted);text-align:center}
.user-activity,.shift-view-activity{font-weight:900!important;color:#ffe27a!important;border-color:rgba(246,201,69,.28)!important}
@media(max-width:850px){#cashierActivityPanel .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#cashierActivityPanel.cashier-activity{inset:7px!important;padding:14px!important;max-height:calc(100vh - 14px)!important;border-radius:15px!important}#cashierActivityPanel .activity-head{top:-14px;margin:-14px -14px 12px!important;padding:14px!important}}

/* ===== Cashier Activity FINAL hotfix ===== */
body.cashier-activity-open{overflow:hidden}
#cashierActivityPanel.cashier-activity{position:fixed!important;inset:10px!important;z-index:220!important;margin:0!important;padding:18px!important;max-height:calc(100vh - 20px)!important;overflow:auto!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(17,28,49,.999),rgba(6,13,25,.999))!important;border:1px solid rgba(246,201,69,.28)!important;box-shadow:0 36px 110px rgba(0,0,0,.66)!important}
#cashierActivityPanel.cashier-activity.hidden{display:none!important}
#cashierActivityPanel .activity-head{position:sticky;top:-18px;z-index:5;margin:-18px -18px 14px!important;padding:16px 18px!important;background:rgba(10,19,35,.99);border-bottom:1px solid rgba(255,255,255,.08)}
#cashierActivityPanel .report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cashier-ticket-row{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:13px;margin-bottom:9px;background:rgba(255,255,255,.035)}
.ticket-row-head{display:flex;justify-content:space-between;gap:8px}.ticket-row-meta,.ticket-row-split,.ticket-row-lines{font-size:.78rem;margin-top:5px}.ticket-row-meta,.ticket-row-split{color:var(--muted)}
.cashier-action-row{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.action-icon{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(246,201,69,.12);color:var(--accent)}
.empty-activity{padding:18px;text-align:center;color:var(--muted);border:1px dashed rgba(255,255,255,.13);border-radius:12px}
.user-activity{font-weight:900!important;color:#ffe27a!important;border-color:rgba(246,201,69,.30)!important}
@media(max-width:700px){#cashierActivityPanel .report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== Scroll hotfix ===== */
html,body{overflow-y:auto!important;min-height:100%}
body.cashier-activity-open{overflow-y:auto!important}
#cashierActivityPanel.cashier-activity{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-width:700px){
  #cashierActivityPanel.cashier-activity{overflow-y:auto!important;touch-action:pan-y}
}

/* ===== Result entry dark-theme fix ===== */
#admin .card,
#admin .card *{box-sizing:border-box}
#admin .card:has(#resultDrawSelect){
  background:linear-gradient(180deg,rgba(20,31,54,.96),rgba(9,17,31,.98))!important;
  color:var(--text)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
#admin .card:has(#resultDrawSelect) h2,
#admin .card:has(#resultDrawSelect) label,
#admin .card:has(#resultDrawSelect) p,
#admin .card:has(#resultDrawSelect) .muted{
  color:var(--text)!important;
}
#admin .card:has(#resultDrawSelect) .muted{color:var(--muted)!important}
#admin .card:has(#resultDrawSelect) input,
#admin .card:has(#resultDrawSelect) select{
  background:linear-gradient(180deg,rgba(12,21,39,.98),rgba(8,15,29,.98))!important;
  color:#fff!important;
  border:1px solid rgba(126,157,220,.24)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03)!important;
}
#admin .card:has(#resultDrawSelect) input::placeholder{color:#8391ad!important;opacity:1}
#admin .card:has(#resultDrawSelect) input:focus,
#admin .card:has(#resultDrawSelect) select:focus{
  border-color:rgba(246,201,69,.75)!important;
  box-shadow:0 0 0 4px rgba(246,201,69,.10)!important;
}
#admin .card:has(#resultDrawSelect) option{background:#0c1527!important;color:#fff!important}

/* Separate result entry fields */
.result-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.result-entry-grid label{margin:0;display:grid;gap:7px}
.result-entry-grid label:last-child{grid-column:1/-1}
@media(max-width:650px){.result-entry-grid{grid-template-columns:1fr}.result-entry-grid label:last-child{grid-column:auto}}

/* ===== Automatic Results ===== */
.auto-results-card{margin-top:20px;border-color:rgba(77,164,255,.18)}
.auto-results-grid{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin-top:14px}
.auto-results-grid label{display:grid;gap:7px;margin:0}
.auto-results-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.auto-results-actions .primary{width:auto;margin-top:0}
.auto-results-info{display:flex;flex-direction:column;gap:5px;margin-top:14px;padding:12px 14px;border:1px solid rgba(77,164,255,.15);border-radius:13px;background:rgba(77,164,255,.045)}
.auto-results-info span{color:var(--muted);font-size:.86rem;line-height:1.45}
.auto-results-log{margin-top:14px;max-height:280px}
#autoResultsStatusBadge.success{color:#75e3a7;border-color:#275b43;background:rgba(39,209,127,.08)}
@media(max-width:850px){.auto-results-grid{grid-template-columns:1fr}.auto-results-actions>*{flex:1}}

/* ===== PWA install + Bluetooth direct printer ===== */
.install-app-btn{border:1px solid rgba(246,201,69,.45);background:rgba(246,201,69,.12);color:#ffe27a;padding:8px 11px;border-radius:10px;font-weight:900;white-space:nowrap}
.printer-toggle{display:flex!important;align-items:center;gap:9px;margin:14px 0!important;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(255,255,255,.035)}
.printer-toggle input{width:20px;height:20px;margin:0;accent-color:var(--accent2)}
.printer-status-box{display:flex;align-items:center;gap:11px;margin:12px 0;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#0d1729}
.printer-status-box>div{display:flex;flex-direction:column;gap:3px}.printer-status-box small{color:var(--muted);line-height:1.35}
.printer-dot{width:12px;height:12px;border-radius:50%;background:#ff6262;box-shadow:0 0 0 4px rgba(255,98,98,.1);flex:0 0 auto}.printer-dot.connected{background:#27d17f;box-shadow:0 0 0 4px rgba(39,209,127,.12)}
.printer-action-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}.printer-action-grid .primary{width:auto;margin:0}.printer-action-grid .ghost{margin:0}
@media(max-width:650px){.printer-action-grid{grid-template-columns:1fr}.printer-action-grid>*{width:100%}.topbar-actions{gap:6px;flex-wrap:wrap}.install-app-btn{font-size:12px}}
