:root{color-scheme:dark;--ink: #1a120e;--wood: #2c1d16;--wood-2: #3d291f;--line: #6a4a38;--cream: #f6efe4;--muted: #cbb8a6;--accent: #ef8a45;--accent-ink: #2a140b;--good: #9dce7a;--bad: #ef6f6f;--paper: #f7f1e7;--paper-ink: #2a1c14;font-family:Outfit,Segoe UI,sans-serif;background:var(--ink);color:var(--cream)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,#4a2e22,transparent 50%),var(--ink)}button,input{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:560;margin:0}.login,.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.card{width:min(420px,100%);background:var(--wood);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 30px 80px #00000059}.brand{font-family:Fraunces,Georgia,serif;font-size:42px;letter-spacing:-.04em}.sub{color:var(--muted);margin:6px 0 22px}label{display:block;margin:14px 0 6px;color:var(--muted);font-size:14px}input,select{width:100%;border:1px solid var(--line);background:#24160f;color:var(--cream);border-radius:14px;padding:14px 16px}.primary,.ghost,.danger,.choice{border:0;border-radius:14px;padding:14px 16px}.primary{background:var(--accent);color:var(--accent-ink);font-weight:700}.ghost{background:transparent;color:var(--cream);border:1px solid var(--line)}.danger{background:transparent;color:var(--bad);border:1px solid #8a4545}.full{width:100%;margin-top:18px}.error{color:var(--bad);min-height:1.2em;margin:8px 0 0}.shell{min-height:100vh;display:grid;grid-template-rows:auto auto 1fr}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px 8px}.top p{margin:4px 0 0;color:var(--muted)}.top-actions,.orders,.chips,.pay-actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap}.orders{padding:0 20px 12px}.orders button,.chips button{border-radius:999px}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);min-height:0}.menu,.ticket{min-width:0}.menu,.ticket{padding:8px 20px 24px}.chips{margin-bottom:14px}.chips button,.orders button{background:var(--wood-2);color:var(--cream);border:1px solid transparent;padding:10px 14px}.chips button.on,.orders button.on{background:var(--cream);color:var(--ink)}.search{margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.product{text-align:left;min-height:112px;border-radius:18px;padding:16px;background:var(--wood-2);color:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.product strong{font-size:18px}.product span{color:var(--accent);font-weight:700}.ticket{background:var(--paper);color:var(--paper-ink);margin:0 20px 20px 0;border-radius:24px;display:flex;flex-direction:column;min-height:0}.ticket .ghost,.paper-modal .ghost{color:var(--paper-ink);border-color:#d9cbb8}.ticket header,.ticket footer{padding:18px}.ticket header{display:flex;justify-content:space-between;align-items:center}.lines{flex:1;overflow:auto;padding:0 18px}.line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-top:1px dashed #d9cbb8}.mods{color:#7b6556;font-size:14px;margin:2px 0 0}.qty{display:flex;gap:6px;align-items:center}.qty button,.icon{width:36px;height:36px;border-radius:10px;border:1px solid #d9cbb8;background:transparent;color:var(--paper-ink)}.totals{margin-top:8px}.totals div,.split{display:flex;justify-content:space-between;margin-top:6px}.totals .grand{font-family:Fraunces,Georgia,serif;font-size:28px;margin-top:10px}.empty{color:#7b6556}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#120a06b8;display:grid;place-items:center;padding:18px;z-index:5}.modal{width:min(560px,100%);max-height:min(90vh,820px);overflow:auto;background:var(--wood);border-radius:24px;padding:22px;border:1px solid var(--line)}.paper-modal{background:var(--paper);color:var(--paper-ink)}.group{margin:16px 0}.choice{background:#24160f;color:var(--cream);border:1px solid var(--line)}.choice.on{background:var(--cream);color:var(--ink)}.choice small{display:block;color:inherit;opacity:.75}.pay-line,.customer{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.ticket-print{width:280px;margin:0 auto}.fine{color:var(--muted);font-size:13px}@media(max-width:980px){.layout{grid-template-columns:1fr}.ticket{margin:0 12px 20px}.menu{padding:8px 12px 12px}}@media print{body *{visibility:hidden}.ticket-print,.ticket-print *{visibility:visible}.ticket-print{position:absolute;left:0;top:0;color:#000;background:#fff}.no-print{display:none!important}}
