:root{--ink:#0a0a0a;--paper:#fff;--paper-soft:#f7f7f5;--line:#e6e6e2;--green:#0ecb63;--muted:#6f6f6f;--radius:16px;--font:"Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--paper-soft);color:var(--ink)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--ink);color:#fff;z-index:5;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0}.topbar .sub{color:#9a9a9a;flex:1;font-size:12.5px}.logout-btn,.back-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600}.auth-screen{background:var(--paper-soft);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;width:100%;max-width:340px;padding:32px}.auth-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:22px;display:flex}.field{margin-bottom:14px}.field label{color:var(--ink);margin-bottom:6px;font-size:12.5px;font-weight:700;display:block}.field input{border:1.5px solid var(--line);border-radius:10px;width:100%;padding:11px;font-size:14px}.field input:focus{border-color:var(--green);outline:none}.banner.err{color:#a02020;background:#fdecec;border-color:#f0a8a8}.wrap{width:100%;max-width:1000px;margin:0 auto;padding:24px}.banner{color:#7a5c00;background:#fff7e0;border:1px solid #f0d98a;border-radius:10px;margin-bottom:22px;padding:10px 14px;font-size:12.5px;line-height:1.5}h2{margin-bottom:14px;font-size:16px}.empty{color:var(--muted);padding:20px 0;font-size:14px}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.order-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex-direction:column;gap:12px;padding:18px;display:flex;box-shadow:0 4px 14px #0000000a}.order-head{justify-content:space-between;align-items:flex-start;display:flex}.order-head .name{font-size:20px;font-weight:800}.order-head .num{color:var(--muted);margin-top:2px;font-size:12px}.order-head .total{color:var(--green);font-size:18px;font-weight:800}.items{flex-direction:column;gap:6px;font-size:13px;list-style:none;display:flex}.items li span{color:var(--muted)}.validate-btn{background:var(--green);color:#04150a;cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:14px;font-size:14px;font-weight:800}.validate-btn:disabled{opacity:.6;cursor:default}.validated-list{flex-direction:column;gap:6px;display:flex}.validated-row{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;padding:10px 14px;font-size:13px;display:flex}.validated-row .muted{color:var(--muted)}.edit-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:12px;font-size:13.5px;font-weight:700}.back-btn{color:#fff;cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:600}.editor{flex-direction:column;gap:18px;display:flex}.card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:20px}.edit-items{flex-direction:column;gap:12px;margin-bottom:14px;list-style:none;display:flex}.edit-items li{border-bottom:1px solid var(--line);padding-bottom:10px}.edit-items li:last-child{border-bottom:none}.line-main{justify-content:space-between;font-size:14px;display:flex}.line-opts{color:var(--muted);margin-top:2px;font-size:12px}.line-actions{gap:14px;margin-top:6px;display:flex}.line-actions button{cursor:pointer;color:#3a6df0;background:0 0;border:none;padding:0;font-size:12px;font-weight:700}.line-actions button.danger{color:#d03b3b}.muted{color:var(--muted)}.add-product-btn{background:var(--paper-soft);border:1.5px dashed var(--line);cursor:pointer;width:100%;color:var(--ink);border-radius:12px;margin-bottom:16px;padding:12px;font-size:13.5px;font-weight:700}.add-product-btn:disabled{opacity:.5;cursor:default}.picker{background:var(--paper-soft);border-radius:12px;margin-bottom:16px;padding:14px}.cat-tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cat-tabs button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:12px}.cat-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px;display:grid}.pick-item{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;gap:4px;padding:10px;font-size:12.5px;display:flex}.pick-item span{color:var(--green);font-weight:800}.cancel-link{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:12px;text-decoration:underline}.danger-text{color:#d03b3b;margin-bottom:8px;font-size:12px}.totals{border-top:1px solid var(--line);padding-top:12px}.totals .row{color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:13px;display:flex}.totals .row.big{color:var(--ink);margin-top:6px;font-size:17px;font-weight:800}.pay-row{flex-wrap:wrap;gap:10px;display:flex}.pay-row button{background:var(--paper-soft);border:1.5px solid var(--line);cursor:pointer;border-radius:12px;flex:1;min-width:130px;padding:14px;font-size:13.5px;font-weight:700}.pay-row button.active{background:var(--green);border-color:var(--green);color:#04150a}.ticket-row{flex-wrap:wrap;gap:10px;display:flex}.ticket-row button{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:700}.ticket-row button:hover{border-color:var(--ink)}.editor-footer{gap:12px;padding-bottom:30px;display:flex}.cancel-order-btn{color:#d03b3b;cursor:pointer;background:#fff;border:1.5px solid #d03b3b;border-radius:12px;padding:14px 18px;font-size:14px;font-weight:800}.editor-footer .validate-btn{flex:1;margin-top:0}.modal-overlay{z-index:20;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);background:#fff;width:100%;max-width:440px;max-height:80vh;padding:24px;overflow-y:auto}.modal h3{margin-bottom:16px;font-size:17px}.opt-group{margin-bottom:16px}.opt-title{text-transform:uppercase;letter-spacing:.3px;color:var(--muted);margin-bottom:8px;font-size:12.5px;font-weight:700}.opt-title span{text-transform:none;font-weight:400}.opt-choices{flex-wrap:wrap;gap:8px;display:flex}.opt-choices button{background:var(--paper-soft);border:1.5px solid var(--line);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:12.5px}.opt-choices button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.modal-actions{gap:10px;margin-top:8px;display:flex}.modal-actions .validate-btn{flex:1;margin-top:0}
