*{box-sizing:border-box}body{margin:0;background:#f6f3eb;color:#16372c;font:15px system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button,.button{border:1px solid #ccd6ce;border-radius:10px;background:white;color:#16372c;padding:12px 17px;cursor:pointer;text-decoration:none;display:inline-block}button:hover{border-color:#957440}button:disabled{opacity:.5;cursor:wait}button.primary,.primary{background:#16372c;color:white}input,select,textarea{width:100%;padding:12px;border:1px solid #cdd4cd;border-radius:8px;background:white}label{display:grid;gap:6px;margin:12px 0}h1,h2{font-family:Georgia,serif;font-weight:400}h1{font-size:42px}h2{font-size:29px}small,.muted{color:#66766e;font-size:12px;line-height:1.7}.login{max-width:460px;margin:12vh auto;padding:30px}.login form{background:white;padding:28px;border-radius:16px}.top{padding:22px 4vw;background:#102d24;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.top strong{letter-spacing:.15em}.top small{color:#c1cabc}.top a{color:white}.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.wrap{max-width:1500px;margin:auto;padding:30px 4vw}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tabs button.active{background:#d8b679}.panel{background:white;border:1px solid #dfe2d9;border-radius:16px;padding:24px;margin:20px 0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.map-scroll{overflow:auto}.floor-map{min-width:680px;height:520px;background:linear-gradient(90deg,#cad1c529 1px,transparent 1px),linear-gradient(#cad1c529 1px,transparent 1px);background-size:30px 30px;position:relative;margin:25px 0}.table{position:absolute;width:110px;height:85px;border:2px solid #90baa2;background:#edf6ed;box-shadow:0 6px 15px #16372c08}.table b,.table small{display:block}.table.occupied{background:#f6d5bf;border-color:#c3825f}.table.reserved{background:#e9e0f6;border-color:#a28ab8}.legend{display:flex;gap:20px;flex-wrap:wrap}.legend span:before{content:'●';margin-right:8px;color:#90baa2}.legend span:nth-child(2):before{color:#c3825f}.legend span:nth-child(3):before{color:#a28ab8}.order-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.order{padding:22px;background:white;border:1px solid #d9dfd5;border-top:5px solid #d9b475;border-radius:14px}.order.ready{border-top-color:#489d70;background:#eff8ef}.order.pending{border-top-color:#9072b5}.order ul{padding-left:20px;line-height:1.9}.order h3{margin:8px 0}.badge{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.error{color:#ae392c}.list-row{padding:16px 0;border-bottom:1px solid #e0e4da;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.list-row strong,.list-row small{display:block}.attention{background:#fff0d3;padding:15px;border-radius:10px;margin:10px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.total{font-size:25px;margin:20px 0}dialog{width:min(750px,95vw);max-height:90svh;overflow:auto;border:1px solid #bbcbbd;border-radius:16px;padding:28px;color:#16372c;background:#fcfaf4}dialog::backdrop{background:#06231d99;backdrop-filter:blur(5px)}.close{float:right}dialog h2{margin-top:0}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:16px 25px;border-radius:12px;z-index:10;background:#102d24;color:white;display:none}#notice.show{display:block}.qr-image{display:block;max-width:100%;width:340px;margin:auto}.qr-link{overflow-wrap:anywhere}.order-lines{padding:0;list-style:none}.order-lines li{padding:12px 0;border-bottom:1px solid #d9dfd5;display:flex;gap:10px;align-items:center}.order-lines span{flex:1}.kitchen .order-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.kitchen .order button{min-height:60px;font-size:18px;width:100%;margin-top:10px}.connection{font-size:12px;margin:15px 0}.menu-frame{width:100%;height:75vh;border:1px solid #cbd8ce;border-radius:12px}@media(max-width:600px){.grid{grid-template-columns:1fr}.wrap{padding:18px}.top{padding:20px}h1{font-size:32px}.panel{padding:17px}.order-grid,.kitchen .order-grid{grid-template-columns:1fr}.tools button{font-size:12px;padding:10px}.login{margin:4vh auto}}@media print{body>*{display:none!important}body>dialog[open]{display:block!important;position:static;width:100%;max-height:none;border:0}.no-print,.close{display:none!important}}

@media print {body>dialog:not(.qr-print){display:none!important;}}

.order.preparing{background:#fff1df;border-top-color:#ed8b22;border-color:#ed8b22}.order.preparing .badge{color:#873c00;font-weight:750}.order.ready{background:#e2f5e8;border-color:#318852}.order.ready .badge{color:#176536;font-weight:750}

/* Saturated, readable kitchen status cards in both themes. */
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
[data-theme="dark"] body{background:#101915;color:#edf3ed}
[data-theme="dark"] .top{background:#0b120f;border-bottom:1px solid #304138}
[data-theme="dark"] button,[data-theme="dark"] .button{background:#23372d;color:#edf3ed;border-color:#4e6758}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#111e17;color:#f0f5ef;border-color:#526659}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#a6b7ab}
[data-theme="dark"] .panel,[data-theme="dark"] .login form,[data-theme="dark"] .order{background:#1a2921;border-color:#405447}
[data-theme="dark"] dialog{background:#1a2921;color:#edf3ed;border-color:#526659}
[data-theme="dark"] small,[data-theme="dark"] .muted,[data-theme="dark"] .connection{color:#b7c8bb}
[data-theme="dark"] a{color:#e2c58f}
[data-theme="dark"] .tabs button.active{background:#d8b679;color:#18241c;border-color:#d8b679}
[data-theme="dark"] .table{background:#1d3c2a;border-color:#63a781}
[data-theme="dark"] .table.occupied{background:#633b1e;border-color:#ee9d59}
[data-theme="dark"] .table.reserved{background:#47325f;border-color:#b49bd5}
[data-theme="dark"] .attention{background:#533b1e;color:#ffe6be}
[data-theme="dark"] .list-row,[data-theme="dark"] .order-lines li{border-color:#405447}
[data-theme="dark"] .error{color:#ffaea0}
[data-theme="dark"] .order.pending{border-top-color:#be9deb}
[data-theme="dark"] #notice{background:#d8b679;color:#14241a}
.order.preparing,[data-theme="dark"] .order.preparing{background:#be4c00;border-color:#f49a44;color:#fff}
.order.ready,[data-theme="dark"] .order.ready{background:#16703e;border-color:#65cd87;color:#fff}
.order:is(.preparing,.ready) :is(small,.badge),[data-theme="dark"] .order:is(.preparing,.ready) :is(small,.badge){color:#fff}
.order:is(.preparing,.ready) .badge{font-weight:800;letter-spacing:.12em}
.order:is(.preparing,.ready) button,[data-theme="dark"] .order:is(.preparing,.ready) button{background:#fff;border-color:#fff;color:#174229;font-weight:750}
.order.preparing button,[data-theme="dark"] .order.preparing button{color:#983c00}
button:focus-visible,a:focus-visible{outline:3px solid #dfb76f;outline-offset:4px}
.login #theme-toggle{margin-bottom:20px}
@media print{[data-theme="dark"] body,[data-theme="dark"] dialog{background:#fff!important;color:#111!important;color-scheme:light}[data-theme="dark"] small,[data-theme="dark"] .muted{color:#333!important}#theme-toggle{display:none!important}}
