:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#19342e;background:#f3f5f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #c7d3cd;border-radius:12px;background:#fff;color:#19342e;font-weight:650;padding:10px 15px}button:hover{border-color:#527e6e}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#176846;color:#fff;border-color:#176846}.primary:hover{background:#125638}.danger{color:#a23b32;border-color:#edc9c5}.quiet{border:0;background:transparent}.muted{color:#687a72}.tiny{font-size:.82rem;color:#687a72}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:20px;background:#e9f1e9}.login-card{width:min(100%,400px);background:#fff;border-radius:22px;box-shadow:0 18px 60px #19342e1a;padding:32px;display:grid;gap:14px}.login-card h1{margin:0;font-size:1.7rem}.login-card p{margin:-8px 0 8px;color:#687a72}.login-card label,.field{display:grid;gap:7px;font-weight:650}.login-card input,.field input,.field select{width:100%;height:48px;padding:10px 12px;border:1px solid #b9cbc1;border-radius:10px;background:#fff}.login-card .primary{margin-top:8px}.brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#176846;color:white;font-size:.83rem;font-weight:800}.topbar{height:60px;background:#19342e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px}.brand{display:flex;align-items:center;gap:10px;font-weight:750}.brand small{display:block;font-size:.7rem;color:#b1cec0;font-weight:500}.topbar-right{display:flex;align-items:center;gap:14px;font-size:.9rem}.topbar .quiet{color:#fff}.shift-badge{padding:6px 10px;border-radius:999px;background:#31564a}.shift-badge.closed{background:#715344}nav{display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:#fff;border-bottom:1px solid #dbe3dd;scrollbar-width:thin}nav a{white-space:nowrap;text-decoration:none;color:#3c5b4e;font-weight:650;padding:11px 15px;border-radius:10px}nav a.active{background:#dceee2;color:#155d3c}main{min-height:calc(100dvh - 113px);padding:18px;max-width:1800px;margin:auto}.screen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.screen-head h1{font-size:1.45rem;margin:0}.screen-head p{margin:4px 0 0;color:#687a72}.panel{background:#fff;border:1px solid #dfe7e0;border-radius:16px;padding:18px}.hall-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:16px}.area-tabs,.group-tabs,.station-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px}.area-tabs button,.group-tabs button,.station-tabs button{white-space:nowrap}.selected-tab{background:#dceee2;border-color:#80aa91}.table-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:12px}.table-card{min-height:136px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;padding:16px;border:2px solid #dce6df}.table-card strong{font-size:1.2rem}.table-card small{color:#687a72}.table-card.busy{background:#fff4df;border-color:#dfb96a}.table-card.ready{background:#e1f3e7;border-color:#64a27e}.table-card.active{outline:3px solid #19342e}.status-pill{display:inline-block;border-radius:999px;background:#e8eee9;padding:5px 9px;font-size:.76rem;font-weight:750;white-space:nowrap}.status-pill.ready{background:#d8efdd;color:#166540}.status-pill.wait{background:#fff0ce;color:#8c5a12}.status-pill.closed{background:#e9e9e9}.order-mini{display:grid;gap:9px}.order-mini h2{margin:0;font-size:1.1rem}.mini-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #e8eee9;padding-bottom:8px}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,390px);gap:16px;align-items:start}.catalog{min-width:0}.group-title{font-size:1.05rem;margin:16px 0 10px}.dish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.dish-card{min-height:112px;padding:14px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;background:#fff}.dish-card strong{font-size:1rem}.dish-card span{font-size:1.15rem;color:#176846;font-weight:750}.order-panel{position:sticky;top:12px;display:grid;gap:12px;max-height:calc(100dvh - 146px);overflow:auto}.order-panel h2{margin:0}.order-item{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px 0;border-bottom:1px solid #e3e9e4}.order-item .muted{font-size:.84rem}.qty{display:flex;align-items:center;gap:8px}.qty button{min-width:38px;min-height:38px;padding:5px}.order-total{display:flex;justify-content:space-between;font-size:1.25rem;font-weight:800;padding-top:10px}.actions{display:grid;gap:8px}.actions .primary{min-height:54px;font-size:1.05rem}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:36px 18px;text-align:center;color:#687a72}.kds-screen{max-width:none!important}.kds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.ticket{border-left:6px solid #d29842;display:grid;gap:12px}.ticket.ready{border-left-color:#2d9860}.ticket h2{font-size:1.15rem;margin:0}.ticket ul{padding-left:21px;margin:0}.ticket li{margin:8px 0}.ticket button{width:100%;font-size:1.05rem;min-height:54px}.list-cards{display:grid;gap:10px}.list-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1px solid #e1e7e0;border-radius:12px}.modal-backdrop{position:fixed;inset:0;background:#0d241dc2;z-index:10;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden],#app[hidden],#loginScreen[hidden],#toast[hidden]{display:none}.modal-card{background:#fff;border-radius:20px;width:min(100%,560px);max-height:92dvh;overflow:auto;padding:22px;box-shadow:0 18px 70px #07190f60}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h2{margin:0;font-size:1.28rem}.modal-head button{font-size:1.5rem}.modal-body-stack{display:grid;gap:14px}.option-group{border:1px solid #dce6df;border-radius:12px;padding:12px}.option-group legend{font-weight:750;padding:0 6px}.option{display:flex;align-items:center;gap:10px;min-height:42px;padding:3px}.option input{width:21px;height:21px}.option span{margin-left:auto}.form-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}#toast{position:fixed;z-index:20;bottom:18px;left:50%;transform:translateX(-50%);max-width:min(90vw,600px);background:#19342e;color:#fff;border-radius:12px;padding:12px 18px;box-shadow:0 10px 35px #0d241d55}#toast.error{background:#9b3731}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.metric{font-size:1.5rem;font-weight:800}.subtle-link{color:#176846;font-weight:650}.kds-mode nav{display:none}.kds-mode main{min-height:calc(100dvh - 60px)}@media(max-width:900px){.hall-layout,.pos-layout{grid-template-columns:1fr}.order-panel{position:static;max-height:none}.pos-layout .catalog{order:1}.pos-layout .order-panel{order:2}.topbar{padding:0 12px}.topbar-right{gap:5px}.topbar-right #userName{display:none}main{padding:12px}.screen-head{align-items:flex-start}}@media(max-width:550px){.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.table-card{min-height:120px}.dish-card{min-height:110px}.panel{padding:14px}.screen-head h1{font-size:1.25rem}.shift-badge{font-size:.76rem}}
:where(.mobile-order-dock){display:none}
.hall-layout>*,.pos-layout>*{min-width:0}
@media(max-width:900px){.pos-layout .order-panel{order:0}.pos-layout .catalog{order:1}}
@media(max-width:900px){.hall-layout,.pos-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:550px){body:has(.mobile-order-dock) main{padding-bottom:92px}.mobile-order-dock{position:fixed;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border-top:1px solid #cbd9ce;padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #19342e1c}.mobile-order-dock div{display:grid;gap:2px;min-width:0}.mobile-order-dock b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-order-dock small{color:#536c5e}.mobile-order-dock button{white-space:nowrap}}
