@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#142237;background:#f4f6fa;font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}a{color:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,.brand{font-family:'Plus Jakarta Sans','DM Sans',sans-serif}h1{font-size:26px;letter-spacing:-1px}h2{font-size:19px;letter-spacing:-.55px}h3{font-size:15px;letter-spacing:-.25px}.muted,.sub{color:#748298}.tiny{font-size:11px}.sub{margin-top:4px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.shell{display:flex;min-height:100vh}.sidebar{width:248px;min-width:248px;background:#111b2e;color:#c1cbdc;display:flex;flex-direction:column;padding:25px 15px;min-height:100vh;position:sticky;top:0;height:100vh;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:white;margin:0 10px 39px;font-size:19px;font-weight:800}.brand-icon{background:#d9ff6e;color:#15223c;border-radius:13px;height:38px;width:38px;display:grid;place-items:center;font-size:22px}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:800;color:#a5b4ca;margin-top:2px}.side-label{letter-spacing:1.5px;font-size:10px;color:#75869e;margin:0 15px 11px;font-weight:800}.nav{display:grid;gap:4px}.nav-btn{display:flex;align-items:center;gap:12px;color:#aab8cc;padding:12px 14px;border:0;background:transparent;border-radius:10px;text-align:left;font-size:13px;font-weight:700;width:100%}.nav-btn:hover{background:#1d2940;color:#fff}.nav-btn.active{background:#d9ff6e;color:#172339}.nav-ico{width:20px;text-align:center;font-size:16px}.nav-btn .count{margin-left:auto;background:#e56e59;color:#fff;font-size:10px;min-width:22px;text-align:center;padding:3px 6px;border-radius:20px}.sidebar-foot{margin-top:auto;border-top:1px solid #2b374d;padding:17px 7px 0}.role-chip{padding:4px 9px;border:1px solid #455571;border-radius:30px;color:#d9ff6e;font-size:11px;font-weight:700}.person{display:flex;gap:10px;align-items:center;margin:15px 0}.avatar{height:35px;width:35px;border-radius:11px;background:#32415d;display:grid;place-items:center;color:white;font-weight:800}.person strong{font-size:12px;display:block;color:white}.person span{font-size:11px;color:#8e9fb7}.sidebar-foot button{color:#b7c4d6;border:0;background:none;padding:5px 8px}.workspace{flex:1;min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e7ecf2;display:flex;align-items:center;justify-content:space-between;padding:0 35px}.breadcrumbs{font-weight:700;color:#758398}.breadcrumbs strong{color:#1f3048}.top-actions{display:flex;align-items:center;gap:13px;color:#7b8898;font-size:12px}.live-dot{display:inline-block;width:8px;height:8px;background:#20b981;border-radius:50%;box-shadow:0 0 0 4px #dcf9ed;margin-right:7px}.online.off .live-dot{background:#dc6161;box-shadow:0 0 0 4px #fee5e5}.surface{max-width:1580px;margin:0 auto;padding:29px 35px 60px}.page-head{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:25px;flex-wrap:wrap}.head-buttons{display:flex;gap:9px;flex-wrap:wrap}.button{border:1px solid #dee5ee;background:#fff;border-radius:10px;padding:10px 15px;font-weight:800;font-size:12px;color:#25354c;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;transition:.15s}.button:hover:not(:disabled){border-color:#a5b7cc;background:#f8fafc}.button.primary{background:#d9ff6e;color:#19283a;border-color:#d9ff6e}.button.primary:hover{background:#c3ee4b}.button.dark{background:#142238;border-color:#142238;color:white}.button.danger{color:#c34e56;border-color:#f1c9cf}.button.small{padding:6px 10px;min-height:31px}.button.outline{background:transparent}.button.block{width:100%}.button.tiny-button{padding:3px 9px;min-height:29px}.icon-menu{display:none}.grid{display:grid;gap:16px}.cols4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e8edf4;border-radius:16px;box-shadow:0 5px 18px #1b2a4a06}.card-pad{padding:22px}.stat{padding:21px 23px;min-height:134px;position:relative;overflow:hidden}.stat .label{font-size:12px;font-weight:700;color:#77849b}.stat .value{margin-top:13px;font-size:29px;font-weight:800;color:#18273e;letter-spacing:-1.2px}.stat .circle{position:absolute;right:20px;top:20px;border-radius:12px;background:#f1f5f9;padding:10px;font-size:21px}.stat.emph{background:#19293e;color:#fff}.stat.emph .value,.stat.emph .label{color:#fff}.stat.emph .circle{background:#31445b}.section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;margin-top:25px}.section-row h2{font-size:18px}.pill{display:inline-block;padding:5px 9px;border-radius:6px;font-size:10px;font-weight:800;letter-spacing:.25px;white-space:nowrap}.pill.free{background:#e5f8ec;color:#21955c}.pill.busy{background:#fff0df;color:#c1802e}.pill.reserved{background:#f1eaff;color:#8055b6}.pill.preparing{background:#eaf1ff;color:#4277ca}.pill.ready{background:#dffbea;color:#24874a}.pill.new{background:#fff0db;color:#a76622}.pill.served{background:#eff3f9;color:#617389}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:13px}.table-card{background:white;border:1px solid #e3eaf2;border-radius:13px;padding:17px;cursor:pointer;text-align:left;min-height:148px;transition:.15s;position:relative}.table-card:hover{box-shadow:0 9px 23px #18314a14;transform:translateY(-2px)}.table-card.selected{outline:2px solid #9cce2b;outline-offset:0}.table-card .table-icon{font-size:22px;background:#f4f6f9;width:39px;height:39px;border-radius:11px;display:grid;place-items:center;margin-bottom:12px}.table-card strong{font-size:14px}.table-card .zone{font-size:11px;color:#8d99a8}.table-card .pill{position:absolute;right:13px;top:14px}.table-card .table-total{margin-top:11px;font-weight:800;font-size:17px}.table-card .table-total span{font-size:11px;font-weight:600;color:#778499}.two-panel{display:grid;grid-template-columns:minmax(350px,1fr) minmax(385px,460px);gap:20px;align-items:start}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{padding:9px 13px;border-radius:10px;border:1px solid #dde5ee;background:white;color:#6c7c92;font-weight:700;font-size:12px}.tab.active{background:#192b43;border-color:#192b43;color:white}.search-input,.field{background:#fff;border:1px solid #dce4ee;border-radius:9px;padding:11px 13px;width:100%;outline:none;color:#23364b;min-width:0}.search-input:focus,.field:focus{border-color:#95bd48;box-shadow:0 0 0 3px #d9ff6e55}label.field-label{font-size:12px;font-weight:800;display:block;margin-bottom:6px;color:#43536a}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-group{margin-bottom:16px}.flex{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:17px}.product-tile{background:#fff;border:1px solid #e4eaf1;border-radius:13px;padding:15px;display:flex;gap:10px;text-align:left;align-items:center;min-width:0}.product-tile:hover{border-color:#b7da6d;background:#fbfff0}.product-emoji{display:grid;place-items:center;flex-shrink:0;width:43px;height:43px;background:#f3f6f9;border-radius:10px;font-size:23px}.product-info{flex:1;min-width:0}.product-info strong{display:block;font-size:12px;white-space:normal}.product-info small{color:#8995a7;font-size:11px}.price{color:#20344a;font-weight:800;font-size:13px}.order-panel{position:sticky;top:16px;min-height:460px;overflow:hidden}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:20px 21px;border-bottom:1px solid #e9edf4}.order-scroll{max-height:430px;overflow:auto;padding:10px 21px}.order-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:13px 0;border-bottom:1px solid #edf1f5}.order-row strong{font-size:13px}.order-row small{font-size:11px;color:#8090a4}.qty-controls{display:flex;align-items:center;gap:8px;margin-top:8px}.qty-controls button{height:25px;width:26px;border:1px solid #e2e9f1;border-radius:7px;background:#fff;font-weight:800}.qty-controls strong{min-width:15px;text-align:center}.order-bottom{padding:20px 22px;background:#fafdff;border-top:1px solid #ecf0f5}.bill-row{display:flex;justify-content:space-between;margin-bottom:9px;font-size:12px;color:#718099}.bill-row strong{color:#15283e}.bill-row.total{border-top:1px dashed #cbd4e1;padding-top:12px;margin-top:12px;font-size:18px;font-weight:800;color:#1c293d}.bill-row.total strong{font-size:23px}.action-row{display:flex;gap:7px;flex-wrap:wrap}.action-row .button{flex:1}.empty{padding:60px 25px;text-align:center;color:#8895a5}.empty .huge{font-size:40px;display:block;margin-bottom:8px}.empty strong{display:block;color:#53647b;margin-bottom:6px}.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:15px}.ticket{overflow:hidden}.ticket-top{border-bottom:1px solid #edf0f4;padding:18px 20px}.ticket-items{padding:14px 20px;min-height:95px}.ticket-items p{font-size:13px;padding:5px 0;display:flex;gap:12px}.ticket-items b{color:#25633d}.ticket-actions{padding:13px 20px;background:#fafcff;border-top:1px solid #edf0f4}.data-table{width:100%;border-collapse:collapse;min-width:620px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;text-align:left;color:#8390a3;background:#f9fbfd;padding:13px 17px}.data-table td{padding:14px 17px;border-top:1px solid #edf1f6;font-size:12px}.data-table strong{font-size:13px}.scroll{overflow:auto}.chart{display:flex;align-items:end;gap:9px;height:185px;padding:14px 3px 0}.bar-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px;color:#8d9aae;font-size:10px}.bar{width:100%;max-width:55px;background:#bbdf6b;border-radius:8px 8px 2px 2px;min-height:3px}.title-bar{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:18px}.notice{background:#f1f7ff;border:1px solid #dbeaf9;padding:12px 15px;border-radius:10px;color:#476282;font-size:12px}.warning{background:#fff6e9;border:1px solid #f5deba;color:#876238}.modal-overlay{position:fixed;inset:0;background:#071325ab;display:flex;justify-content:center;align-items:center;padding:18px;z-index:50;backdrop-filter:blur(2px)}.modal{background:#fff;border-radius:17px;width:min(100%,540px);max-height:min(90vh,900px);overflow:auto;box-shadow:0 30px 90px #0c1d3890}.modal .modal-header{padding:23px 25px 17px;border-bottom:1px solid #edf1f5;display:flex;justify-content:space-between}.modal-content{padding:24px 25px}.modal-footer{padding:17px 25px;border-top:1px solid #edf1f5;display:flex;justify-content:flex-end;gap:10px;background:#fbfcfe}.x-btn{font-size:22px;background:none;border:0;color:#8896a6;align-self:start}.toast{position:fixed;bottom:24px;right:25px;padding:13px 20px;border-radius:12px;background:#17263c;color:#fff;box-shadow:0 15px 40px #142b4855;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none;z-index:100;max-width:370px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#b44050}.login-page{min-height:100vh;background:radial-gradient(ellipse at 75% 20%,#2e4163,#111c2f 65%);display:grid;place-items:center;padding:22px}.login-card{background:white;padding:39px;border-radius:21px;width:min(100%,430px);box-shadow:0 30px 100px #0005}.login-logo{height:56px;width:56px;border-radius:15px;background:#dcff7c;display:grid;place-items:center;font-size:27px;margin-bottom:21px}.login-card h1{font-size:27px;margin-bottom:5px}.login-card>p{margin-bottom:27px}.login-card .button{margin-top:5px}.login-bottom{border-top:1px solid #edf1f4;padding-top:19px;margin-top:23px;text-align:center;font-size:11px;color:#8794a3}.center{align-items:center;text-align:center}.boot{height:100vh;display:grid;align-content:center;justify-content:center;justify-items:center;color:#7d8998;gap:13px}.spinner{width:28px;height:28px;border:3px solid #dce3ee;border-top-color:#619f1e;border-radius:50%;animation:turn .7s linear infinite}@keyframes turn{to{transform:rotate(360deg)}}.mobile-shade{display:none}.hide{display:none!important}.receipt{font-size:12px;max-width:340px;margin:0 auto;color:#171717}.receipt h3{text-align:center;margin-bottom:10px}.receipt>p{text-align:center;font-size:11px;margin-bottom:12px}.receipt .line{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #bbb}.receipt .grand{font-size:17px;font-weight:800;margin:10px 0}.separator{border-top:1px dashed #c5ced8;margin:14px 0}.no-results{padding:25px;color:#8b98a9;text-align:center}@media(max-width:1160px){.sidebar{width:215px;min-width:215px}.surface{padding:24px}.topbar{padding:0 24px}.two-panel{grid-template-columns:1fr}.order-panel{position:static}.cols4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.sidebar{position:fixed;top:0;left:0;transform:translateX(-105%);transition:transform .2s;width:255px;min-width:255px}.sidebar.open{transform:translateX(0)}.mobile-shade.show{position:fixed;inset:0;background:#071325a0;display:block;z-index:19}.icon-menu{display:inline-flex;border:0;background:#f2f5f8;border-radius:8px;font-size:20px;height:37px;width:37px;align-items:center;justify-content:center}.topbar{height:61px;padding:0 16px}.top-actions .date{display:none}.surface{padding:19px 14px 55px}.page-head{margin-bottom:18px}.page-head h1{font-size:23px}.grid.cols3,.cols4,.cols2,.form-grid{grid-template-columns:1fr}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.table-card{padding:13px;min-height:136px}.table-card .pill{right:9px;top:10px;padding:3px 6px;font-size:9px}.product-list{grid-template-columns:1fr 1fr;gap:8px}.product-tile{padding:10px;gap:7px;flex-wrap:wrap}.product-emoji{height:35px;width:35px}.product-info{min-width:90px}.product-tile .price{width:100%;margin-left:40px}.stat{min-height:116px}.stat .value{font-size:24px}.modal-content{padding:18px}.modal .modal-header{padding:18px}.modal-footer{padding:14px}.action-row .button{flex:1 0 42%}}@media print{body{background:white}.shell,.modal-header,.modal-footer,.modal-overlay .x-btn,#toast{display:none!important}.modal-overlay{position:static;background:white;padding:0;display:block}.modal{box-shadow:none;max-height:none;overflow:visible;border-radius:0;width:78mm}.modal-content{padding:0}.receipt{max-width:75mm}#modal-root{display:block}}
/* v3: touch-first workplace layout, clear operational status and thermal formats */
:root{--touch-min:44px;--accent-ink:#193725}
button,input,select{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8acb57!important;outline-offset:2px}
.button,.nav-btn{min-height:44px}.tab{min-height:39px}.qty-controls button{min-width:40px;min-height:40px}
.table-card{transition:transform .14s ease,box-shadow .14s ease;border-width:2px}.table-card:active,.product-tile:active{transform:scale(.985)}
.table-card.selected{box-shadow:0 0 0 3px #b0e97677}.order-panel{scroll-margin-top:74px}
.topbar{position:sticky;top:0;z-index:10;background:#fff}.bottom-nav{display:none}
.void-btn{background:#fff1ed!important;border:1px solid #f3cac0!important;color:#9c3c2b!important;min-width:49px!important;width:auto!important;padding:0 8px!important;border-radius:8px}
.button.danger{background:#a83932;color:#fff}.button.danger:hover{background:#902b25}
.kitchen-voids:empty{display:none}.void-notice{background:#fff0ea;border:2px solid #e9a590;border-radius:13px;padding:16px 18px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.void-notice strong{font-size:14px;color:#9f3827}.void-notice p{font-size:13px;margin:6px 0}.void-notice small{font-size:11px;color:#95685e}
.proof-check{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:13px;color:#26364b;cursor:pointer}.proof-check input{width:22px;height:22px;flex:none;accent-color:#466b26}.terminal-proof{margin:14px 0 8px;padding:12px;border:1px solid #edcf94;background:#fff9eb;border-radius:12px}.terminal-proof.hide{display:none!important}
.shift-stats{gap:12px}.shift-stats .bill-row{background:#f6f8fa;border-radius:9px;padding:12px}
@media(max-width:720px){
 body{overflow-x:hidden}.shell{max-width:100vw}.workspace{min-width:0}.topbar{height:57px;min-height:57px;padding:0 12px;box-shadow:0 1px 0 #e8edf3}.surface{padding:14px 12px calc(86px + env(safe-area-inset-bottom))}.breadcrumbs{font-size:12px}.online{font-size:10px;padding:7px 9px}.page-head{gap:12px;align-items:flex-start}.page-head h1{font-size:21px;line-height:1.2}.page-head .sub{font-size:12px;line-height:1.45}.page-head .head-buttons{flex-shrink:0}.page-head .head-buttons>.button{font-size:12px}
 .grid.cols4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.grid.cols4 .card{padding:15px 12px;min-height:109px}.grid.cols4 .value{font-size:22px}.grid.cols4 .value.money{font-size:17px}.grid.cols3,.grid.cols2{grid-template-columns:1fr}
 .table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.table-card{min-height:134px;padding:12px}.table-total{font-size:15px}.table-card strong{font-size:15px}.table-card .zone{font-size:11px}
 .tabs{display:flex;max-width:calc(100vw - 24px);overflow-x:auto;flex-wrap:nowrap;gap:7px;scrollbar-width:none}.tabs .tab{flex:none;padding:8px 12px}
 .order-panel{border-radius:17px;min-width:0}.order-panel .panel-title{padding:17px}.product-list{grid-template-columns:1fr 1fr;gap:9px!important;max-height:350px!important}.product-tile{min-height:98px;align-content:start}.product-tile strong{font-size:12px}.product-info small{font-size:10px}.product-tile .price{font-size:12px}.order-scroll{max-height:400px}.order-row{padding:12px 16px}.order-row>div:first-child{min-width:0}.order-row strong{font-size:13px}.order-bottom{padding:15px}.order-bottom .bill-row.total{font-size:16px}.order-bottom .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.order-bottom .action-row .button{font-size:12px;line-height:1.25;min-height:48px;white-space:normal;padding:10px 8px}
 .bottom-nav{display:flex;align-items:stretch;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:17;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce6ec;box-shadow:0 -7px 22px #18304512}.bottom-nav-btn{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#728095;border:0;background:transparent;flex:1;min-width:0;min-height:57px;font-size:10px;font-weight:700;border-radius:12px}.bottom-nav-btn span{font-size:21px;line-height:1.2}.bottom-nav-btn.active{background:#e9f9d8;color:#315325}
 .modal-overlay{align-items:end;padding:0;z-index:60}.modal{max-height:94dvh;width:100%;border-radius:19px 19px 0 0;display:flex;flex-direction:column}.modal-header{flex:none}.modal form{min-height:0;overflow:auto;display:flex;flex-direction:column}.modal-content{overflow:auto;min-height:0;max-height:none;flex:1}.modal-footer{position:sticky;bottom:0;flex:none;background:#fff;box-shadow:0 -2px 10px #08243b0d;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.modal-footer .button{flex:1;white-space:normal}.field{min-height:47px;font-size:16px}
 .ticket-actions{display:flex;gap:8px;flex-wrap:wrap}.ticket-actions .button{flex:1}
 .toast{bottom:calc(84px + env(safe-area-inset-bottom));right:12px;left:12px;max-width:none;text-align:center}
 .void-notice{flex-direction:column;align-items:stretch}.void-notice .button{align-self:end}
}
@media(max-width:360px){.table-grid{gap:7px}.table-card{padding:9px}.top-actions .online{font-size:0}.top-actions .online .live-dot{margin:0}.bottom-nav-btn{font-size:9px}.bottom-nav-btn span{font-size:19px}}
@media(prefers-reduced-motion:reduce){.table-card,.product-tile,.sidebar{transition:none!important}*{scroll-behavior:auto!important}}
@media print{
 @page{size:80mm auto;margin:3mm}
 body{margin:0!important;background:#fff!important}
 #app,#toast{display:none!important}
 #modal-root,.modal-overlay,.modal,.modal form,.modal-content{display:block!important;position:static!important;overflow:visible!important;max-height:none!important;background:#fff!important;box-shadow:none!important;padding:0!important;margin:0!important;width:auto!important;border:0!important;backdrop-filter:none!important}
 .modal-header,.modal-footer,.x-btn{display:none!important}
 .receipt{width:72mm!important;max-width:72mm!important;margin:0 auto!important;color:#111;font-family:Arial,sans-serif;font-size:11px}
 .receipt *{box-shadow:none!important}
 html[data-paper="58"] .receipt{width:50mm!important;max-width:50mm!important;font-size:10px}
 .receipt .line{break-inside:avoid}
}
.mobile-back-row{display:none}
@media(max-width:720px){.two-panel.has-selection>div:first-child{display:none}.mobile-back-row{display:block;padding:10px 14px 0}.mobile-back-row .button{background:#e9f5de;color:#264e1e;border:0}.two-panel.has-selection .order-panel{scroll-margin-top:64px}}
