:root{color-scheme:dark;--bg:#091321;--panel:#102137;--panel2:#192f48;--line:#304a65;--text:#f1f6ff;--muted:#a7bbd4;--gold:#ffbe45;--mint:#80dbbf;--red:#ff8b98;--blue:#8cbcff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 40% 0,#15314d 0,transparent 55%),var(--bg);color:var(--text);font:14px "Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;color:var(--text);border:1px solid var(--line);border-radius:10px;background:linear-gradient(#203c57,#152b40);padding:11px 16px;font-weight:650;min-height:43px}button:hover{border-color:var(--gold);filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed;filter:none}.primary{background:linear-gradient(#ffd27c,#ffb72e);border-color:#ffe3a8;color:#201603;font-weight:750}.secondary{background:linear-gradient(#203c57,#152b40)}.danger{color:var(--red)}.quiet{background:transparent;border-color:transparent;color:var(--muted)}.wide{width:100%}.hidden{display:none!important}.small{font-size:12px}.muted{color:var(--muted)}.eyebrow{color:var(--gold);font-size:10px;font-weight:750;letter-spacing:2px;margin:0 0 8px}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.7px;margin-bottom:0}h2{font-size:23px;margin-bottom:12px}h3{font-size:17px;margin-bottom:12px}.login{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;max-width:1280px;margin:auto;padding:60px;gap:75px}.intro img{width:240px;max-height:120px;object-fit:contain;margin-bottom:60px}.intro h1{font-size:clamp(36px,4.5vw,64px);line-height:1.1;letter-spacing:-2px;margin:18px 0 25px}.intro>p:not(.eyebrow){color:var(--muted);font-size:19px;line-height:1.8}.intro-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:35px}.intro-pills span{border:1px solid var(--line);padding:8px 11px;border-radius:20px;font-size:11px;color:var(--muted)}.login-card{padding:35px;border:1px solid #3d5872;background:linear-gradient(145deg,#193149,#102036);border-radius:22px;box-shadow:0 28px 65px #0005}.login-card h2{font-size:32px;margin-top:20px}.login-card button{margin-top:12px}.login-card .small{margin-top:20px;line-height:1.6}label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:650;margin-bottom:15px}input,select,textarea{color:var(--text);background:#091a2b;border:1px solid #3b5772;border-radius:8px;padding:11px;min-width:0;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #ffbe4525}input[type=checkbox]{width:19px;height:19px;accent-color:var(--gold)}textarea{min-height:75px;resize:vertical}.app{display:flex;min-height:100vh}.sidebar{width:205px;flex-shrink:0;padding:25px 14px;background:#0a1726;border-right:1px solid #2a425b;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{text-align:center;padding:0 10px 29px}.brand img{width:155px;height:67px;object-fit:contain;display:block;margin:0 auto 12px}.brand span{font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:750}.nav-label{font-size:9px;letter-spacing:2px;color:#7c96ad;margin:8px 14px 13px}nav{display:grid;gap:5px}nav button{text-align:left;border:1px solid transparent;background:transparent;color:#a7bbd4;font-size:13px;display:flex;align-items:center;gap:12px;padding:12px}nav .active{background:linear-gradient(100deg,#573f1a55,#ffbe4510);border-color:#b68a423f;color:#ffd17b}nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-bottom{margin-top:auto;padding:20px 10px 0;color:var(--muted);font-size:12px;line-height:1.6}.mode{display:inline-block;font-size:9px;letter-spacing:1px;text-transform:uppercase;border:1px solid #a67c35;color:var(--gold);padding:4px 7px;border-radius:5px;margin-bottom:15px}.workspace{min-width:0;flex:1}.topbar{height:104px;padding:22px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#0b1b2a88}.top-actions{display:flex;align-items:center;gap:17px;font-size:12px;color:var(--muted)}.connected{color:var(--mint);font-size:11px}.connected:before{content:' ';width:6px;height:6px;display:inline-block;background:currentColor;border-radius:50%;margin-right:6px}main{padding:24px 28px;min-height:calc(100vh - 141px)}footer{display:flex;justify-content:space-between;padding:0 28px 17px;color:#738ba3;font-size:10px}.register-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:20px;align-items:start}.panel{background:linear-gradient(145deg,#142a40,#102135);border:1px solid var(--line);border-radius:16px;padding:20px}.catalog-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:17px}.catalog-toolbar h2{margin:0;font-size:20px}.search{max-width:255px}.categories{display:flex;gap:7px;overflow:auto;padding-bottom:17px}.categories button{white-space:nowrap;padding:8px 14px;min-height:36px;font-size:12px;color:var(--muted);background:#102339}.categories .active{background:#ffbe4522;border-color:#ad8440;color:var(--gold)}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product{min-height:136px;display:flex;flex-direction:column;text-align:left;padding:16px;border-radius:13px;position:relative;overflow:hidden;gap:12px;background:linear-gradient(145deg,#203e57,#152c42);border-color:#36546e}.product:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--item-color,var(--gold))}.product-top{display:flex;justify-content:space-between;align-items:center;width:100%}.product-mark{width:32px;height:32px;border:1px solid #7890a342;border-radius:9px;display:grid;place-items:center;font-size:13px;color:var(--gold);background:#0b1a2b66;font-weight:800}.stock-label{font-size:9px;letter-spacing:.5px;color:var(--muted)}.stock-label.low{color:var(--red)}.product strong{font-size:13px;line-height:1.4;flex:1}.product-price{color:var(--gold);font-size:17px;font-weight:800}.add-mark{position:absolute;bottom:14px;right:15px;color:var(--muted);font-size:22px;font-weight:300}.order-panel{position:sticky;top:18px;padding:0;overflow:hidden}.order-heading{padding:19px 19px 14px;display:flex;justify-content:space-between;align-items:center}.order-heading h2{font-size:19px;margin:0}.order-heading span{font-size:10px;color:var(--gold)}.order-meta{padding:0 17px 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-meta select{font-size:11px;padding:8px}.receipt-lines{background:#fff;color:#203343;min-height:198px;max-height:340px;overflow:auto;border-top:1px solid #d9e1e6;border-bottom:1px solid #d9e1e6}.receipt-head{display:flex;justify-content:space-between;color:#7a8994;font-size:9px;letter-spacing:1px;padding:10px 17px;border-bottom:1px solid #e5e9ec}.cart-line{padding:11px 16px;border-bottom:1px solid #e5e9ec;font-size:12px}.line-top{display:flex;justify-content:space-between;gap:12px}.line-top strong{font-size:12px}.cart-line small{display:block;color:#7a8792;font-size:10px;margin:5px 0}.line-controls{display:flex;align-items:center;gap:8px;margin-top:8px}.line-controls button{min-height:25px;height:25px;padding:2px 9px;border-radius:5px;background:#eff3f6;color:#304557;border-color:#d6dfe6;font-size:12px}.line-controls .remove{margin-left:auto;font-size:10px;color:#8f414b;background:white}.empty{padding:48px 18px;color:#7f95a9;text-align:center;line-height:1.7;font-size:12px}.receipt-lines .empty{color:#82919c}.order-bottom{padding:17px}.totals{display:grid;gap:9px;font-size:12px;color:var(--muted)}.totals>div{display:flex;justify-content:space-between}.totals strong{color:var(--text)}.totals .grand{font-size:24px;padding-top:13px;margin-top:4px;border-top:1px solid var(--line);color:var(--text);font-weight:750}.totals .grand strong{color:var(--gold)}.order-tools{display:flex;gap:7px;margin:16px 0 12px}.order-tools button{flex:1;font-size:11px;padding:8px;min-height:35px}.pay-button{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-top:12px;min-height:51px}.order-caption{text-align:center;font-size:9px;letter-spacing:.4px;color:var(--muted);margin:10px 0 0}.page-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.page-tools .search{margin-right:auto}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.metric small{color:var(--muted);font-size:11px}.metric strong{display:block;font-size:28px;letter-spacing:-.8px;margin:12px 0 6px}.metric p{color:#86a2bb;font-size:11px;margin:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#11243a}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8aa4bc;font-size:9px;text-transform:uppercase;letter-spacing:1px;padding:15px;background:#0d1f31;white-space:nowrap}td{padding:14px 15px;border-top:1px solid #263f57}td button{min-height:30px;font-size:11px;padding:6px 10px}td small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;font-size:9px;padding:5px 8px;border-radius:6px;white-space:nowrap;background:#204238;color:#90e6be}.badge.amber{color:var(--gold);background:#4b3d25}.badge.red{color:var(--red);background:#502f38}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.section-title h2{margin:0;font-size:20px}.kitchen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ticket{border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:13px;overflow:hidden;background:#13283d}.ticket-top{padding:15px;background:#0c1d2d;display:flex;justify-content:space-between;align-items:center}.ticket-top strong{font-size:22px}.ticket-lines{padding:17px;min-height:150px}.ticket-lines p{font-size:14px;margin-bottom:12px}.ticket-lines small{display:block;color:var(--muted);font-size:11px;margin:4px 0 0 22px}.ticket>button{width:calc(100% - 28px);margin:0 14px 14px}.ticket-note{color:var(--gold);padding:0 17px 13px;font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.full{grid-column:1/-1}.check-label{display:flex;gap:9px;align-items:center;min-height:37px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}dialog{padding:25px;border:1px solid #49637b;border-radius:18px;color:var(--text);background:linear-gradient(150deg,#172e45,#0d1d30);width:min(620px,94vw);max-height:90vh;box-shadow:0 25px 120px #0009}dialog::backdrop{background:#030b14ba;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}.modal-head h2{margin:0;font-size:25px}.icon-button{border:0;padding:0;background:#263f57;width:30px;min-height:30px;font-size:22px}.option-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.option{padding:11px;display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;color:var(--text);margin:0}.option span{margin-left:auto;color:var(--gold);font-size:11px}.note{padding:12px 15px;background:#ffbe4510;border:1px solid #99753945;border-radius:10px;color:#d1b580;font-size:12px;line-height:1.7;margin-bottom:18px}.cash-total{font-size:43px;text-align:center;color:var(--gold);margin:12px 0 23px;letter-spacing:-1px}.quick-cash{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:15px}.balance{display:flex;justify-content:space-between;padding:13px;background:#0a1d2d;border-radius:9px;margin:10px 0}.balance strong{color:var(--gold)}#toast{position:fixed;top:18px;left:50%;transform:translateX(-50%);max-width:min(650px,90vw);padding:13px 20px;z-index:10000;background:#224538;border:1px solid #77c5a1;color:#d5f9e8;border-radius:10px;box-shadow:0 8px 35px #0005;display:none;font-size:13px}#toast.show{display:block}#toast.error{background:#492c37;border-color:#d4798c;color:#ffe0e6}.settings-form{max-width:700px}.inline-buttons{display:flex;gap:9px;flex-wrap:wrap}.empty-panel{padding:65px 25px;text-align:center;color:var(--muted)}.empty-panel h2{color:var(--text)}.report-dates{display:flex;gap:10px;align-items:end;margin-bottom:22px}.report-dates label{margin:0}.report-dates input{width:175px}.receipt-preview{background:white;color:#1c2b36;padding:25px;border-radius:8px;font:13px Consolas,monospace}.receipt-preview h3{text-align:center}.receipt-preview .rline{display:flex;justify-content:space-between;gap:15px;margin:9px 0}.receipt-preview hr{border:0;border-top:1px dashed #a5afb5;margin:16px 0}.receipt-preview .center{text-align:center}.receipt-preview small{display:block;color:#66757e}.receipt-preview .rgrand{font-weight:800;font-size:19px}#print-area{display:none}button:focus-visible{outline:2px solid white;outline-offset:3px}
@media(min-width:1650px){.products{grid-template-columns:repeat(4,minmax(0,1fr))}.register-layout{grid-template-columns:minmax(0,1fr) 385px}.product{min-height:150px}}@media(max-width:1200px){.sidebar{width:177px}.brand img{width:130px}.topbar{padding:20px}main{padding:20px}.register-layout{grid-template-columns:minmax(0,1fr) 320px;gap:14px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions #clock{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{width:78px;padding:20px 8px}.brand img{width:60px;height:42px}.brand span,.nav-label,nav button span,.sidebar-bottom #operator,.sidebar-bottom .quiet{display:none}.brand{padding:0 0 20px}nav button{justify-content:center;padding:13px}.sidebar-bottom{padding:10px 0}.mode{font-size:7px;padding:4px;letter-spacing:0}.topbar h1{font-size:25px}.kitchen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.login{grid-template-columns:1fr;padding:28px;gap:25px}.intro{display:none}.login-card{padding:26px}.app{display:block}.sidebar{position:static;width:auto;height:auto;padding:9px 12px;flex-direction:row;align-items:center;gap:10px;border-bottom:1px solid var(--line)}.brand{padding:0}.brand img{width:55px;height:35px;margin:0}.sidebar nav{display:flex;overflow:auto;gap:2px}.sidebar nav button{padding:9px;min-height:36px}.sidebar-bottom{display:none}.topbar{height:auto;padding:17px 14px}.top-actions{gap:8px}.top-actions .connected{display:none}.top-actions button{padding:9px;font-size:11px}.topbar h1{font-size:24px}main{padding:14px;min-height:80vh}.register-layout{grid-template-columns:1fr}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.product{min-height:125px;padding:12px}.product strong{font-size:11px}.stock-label{font-size:8px}.order-panel{position:static}.search{max-width:180px}.catalog-toolbar h2{font-size:17px}.kitchen-grid,.two-col{grid-template-columns:1fr}.grid{gap:10px}.panel{padding:16px}.metric strong{font-size:23px}footer{padding:0 14px 14px;font-size:9px}footer span:last-child{display:none}.report-dates{flex-wrap:wrap}.fields{grid-template-columns:1fr}.option-list{grid-template-columns:1fr}.report-dates input{width:140px}}@media print{body>*{display:none!important}#print-area{display:block!important;background:white;color:black}#print-area .receipt-preview{max-width:80mm;margin:auto;padding:4mm;font-size:10pt;box-shadow:none}html,body{background:white!important;color:black!important} @page{size:auto;margin:6mm}}

.sidebar{overflow-y:auto}.brand{padding-bottom:18px}nav button{padding-top:10px;padding-bottom:10px}

@media(min-width:701px){.products{max-height:calc(100vh - 252px);overflow:auto;padding:2px 4px 4px 0}.order-panel .receipt-lines{min-height:148px;max-height:calc(100vh - 520px)}}
@media(max-height:800px) and (min-width:701px){.sidebar{padding-top:16px}.brand img{height:46px;margin-bottom:8px}.brand{padding-bottom:10px}.nav-label{margin:8px 12px 10px}nav button{padding-top:8px;padding-bottom:8px;min-height:36px}.sidebar-bottom{padding-top:10px}.mode{margin-bottom:7px}}

/* Gift cards and loyalty use the existing GRS panels, colors and button treatment. */
.reward-strip{margin:0 17px 12px;border:1px solid #99753955;background:#ffbe4510;border-radius:9px;padding:9px 10px;display:flex;justify-content:space-between;gap:8px;align-items:center}.reward-strip strong{display:block;color:var(--gold);font-size:12px}.reward-strip small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.reward-strip button{font-size:10px;min-height:31px;padding:6px 9px;white-space:nowrap}.rewards-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 30px;border:1px solid #3e5b74;background:linear-gradient(120deg,#1a384b,#182740);border-radius:18px;margin-bottom:23px}.rewards-hero h2{font-size:31px;letter-spacing:-.7px;margin-bottom:10px}.rewards-hero p:not(.eyebrow){color:var(--muted);margin-bottom:0;line-height:1.7;max-width:650px}.rewards-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.payment-gift{background:#0d2032;padding:14px;border:1px solid var(--line);border-radius:12px;margin:10px 0 14px}.payment-gift p{margin:8px 0 0}.gift-code-row{display:flex;gap:9px}.gift-code-row input{font-family:Consolas,monospace;font-size:12px}.gift-balance-card{background:linear-gradient(135deg,#233e55,#102237);border:1px solid #af864644;padding:30px;border-radius:17px;text-align:center;margin-bottom:20px}.gift-balance-card p{color:var(--gold);letter-spacing:2px}.gift-balance-card strong{display:block;font-size:48px;margin:10px 0}.gift-balance-card small{color:var(--muted)}.gift-card-number{font:700 15px Consolas,monospace;word-break:break-all;line-height:1.6;color:inherit}
@media(max-height:800px) and (min-width:701px){.brand img{height:35px}.brand{padding-bottom:6px}.nav-label{margin:4px 12px 8px}nav{gap:3px}nav button{min-height:32px;padding-top:6px;padding-bottom:6px}.sidebar-bottom{font-size:11px}.mode{padding:3px 6px}}
@media(max-width:900px){.rewards-hero{display:block;padding:21px}.rewards-hero-actions{margin-top:20px}.rewards-hero>button{margin-top:15px}.reward-strip{flex-wrap:wrap}}

/* Online pickup queue shares the GRS counter and kitchen layout. */
.button-link{display:inline-flex;align-items:center;min-height:43px;padding:11px 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(#203c57,#152b40);color:var(--text);text-decoration:none;font-weight:650}.button-link:hover{border-color:var(--gold)}.pickup-person{padding:16px 17px 0}.pickup-person strong{display:block;font-size:17px}.pickup-person small{display:block;color:var(--muted);margin-top:5px}.pickup-ticket .ticket-lines{min-height:90px}.pickup-ticket .eyebrow{display:block;font-size:8px;letter-spacing:1px}.pickup-meta{display:flex;justify-content:space-between;gap:10px;padding:0 17px 16px;color:var(--muted);font-size:11px}.pickup-meta strong{color:var(--gold);font-size:18px}.pickup-actions{display:flex;gap:7px;padding:0 14px 15px;flex-wrap:wrap}.pickup-actions button{font-size:11px;flex:1;padding:10px}.online-kitchen{margin-bottom:25px}
