:root{--brand:#e6512b;--brand-dark:#c23f1e;--brand-soft:#fff1eb;--teal:#0f766e;--teal-dark:#115e59;--teal-soft:#ccfbf1;--ink:#0f172a;--muted:#64748b;--bg:#f4f6f8;--card:#fff;--border:#e2e8f0;--green:#16a34a;--amber:#d97706;color:var(--ink);background:var(--bg);font-family:Be Vietnam Pro,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}.btn{cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;font-weight:800;display:inline-flex}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-teal{background:var(--teal)}.btn-teal:hover{background:var(--teal-dark)}.btn-ghost{color:var(--ink);border:1.5px solid var(--border);background:#fff}.btn-ghost:hover{border-color:var(--teal);background:var(--teal-soft)}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label,.field span{font-size:13px;font-weight:700}.field input{border:1.5px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px}.field input:focus{outline:2px solid var(--teal-soft);border-color:var(--teal)}.err{color:#dc2626;margin:0 0 10px;font-size:13px;font-weight:600}.muted{color:var(--muted);font-size:13px}.hero{color:#fffaf7;background:radial-gradient(900px 520px at 85% 10%,#ea580c73,#0000 55%),radial-gradient(700px 420px at 10% 80%,#0f766e47,#0000 50%),linear-gradient(160deg,#2a1510 0%,#1a120e 45%,#0f1c1a 100%);min-height:100vh}.nav{justify-content:space-between;align-items:center;gap:12px;width:min(1100px,100% - 32px);margin:0 auto;padding:22px 0;display:flex}.brand{letter-spacing:-.03em;font-size:1.25rem;font-weight:800}.brand small{opacity:.75;font-size:11px;font-weight:600;display:block}.nav-actions{flex-wrap:wrap;gap:8px;display:flex}.hero-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;width:min(1100px,100% - 32px);margin:0 auto;padding:48px 0 80px;display:grid}@media (width<=840px){.hero-inner{grid-template-columns:1fr;padding-top:16px}}.hero h1{margin:0 0 16px;font-size:clamp(32px,5vw,52px);line-height:1.1}.hero p.lead{color:#fed7aa;margin:0 0 24px;font-size:18px}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.preview-card{color:var(--ink);background:#fffffff5;border-radius:24px;padding:18px;box-shadow:0 24px 60px #00000059}.preview-top{justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:800;display:flex}.seat-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.seat{border:1.5px solid var(--border);text-align:center;background:#fff;border-radius:12px;padding:14px 8px;font-size:12px;font-weight:700}.seat.busy{color:#fff;background:#16a34a;border-color:#15803d}.seat.busy .muted{color:#ffffffe6}.seat.free{color:var(--ink);background:#fff;border-color:#e2e8f0}.section{width:min(1100px,100% - 32px);margin:0 auto;padding:56px 0}.section h2{margin:0 0 8px;font-size:28px}.features{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;display:grid}@media (width<=840px){.features{grid-template-columns:1fr 1fr}}.feat{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}.feat strong{margin-bottom:6px;display:block}.product-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}@media (width<=840px){.product-grid{grid-template-columns:1fr}}.product-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:22px}.product-card h3{margin:8px 0;font-size:24px}.product-tag{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.product-tag.teal{background:var(--teal-soft);color:var(--teal-dark)}.product-tag.brand{background:var(--brand-soft);color:var(--brand)}.feat-list{color:var(--muted);margin:12px 0 16px;padding-left:18px}.feat-list li{margin:4px 0}.dl-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;display:grid}@media (width<=840px){.dl-row{grid-template-columns:1fr 1fr}}.dl-card{background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:16px;display:flex}.dl-card:hover{border-color:var(--teal)}.driver-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:22px;display:grid}@media (width<=840px){.driver-grid{grid-template-columns:1fr}}.driver-links{margin:12px 0 0;padding-left:18px}.driver-links li{margin:8px 0}.driver-links a{color:var(--teal);font-weight:700}.footer{border-top:1px solid var(--border);color:var(--muted);padding:24px 0 40px;font-size:13px}.auth-page{background:radial-gradient(700px 400px at 90% 0,#ea580c59,#0000 50%),linear-gradient(160deg,#1a120e,#0f1c1a);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:#fff;border-radius:22px;width:min(420px,100%);padding:28px 24px;box-shadow:0 20px 50px #00000047}.auth-card h1{margin:0 0 6px;font-size:22px}.auth-card .btn{width:100%;margin-top:6px}.login-hero{color:#fff;align-items:center;gap:12px;margin-bottom:18px;display:flex}.login-hero strong{font-size:28px;display:block}.login-hero small{opacity:.88;font-size:13px;font-weight:700;display:block}.login-logo{background:#0f766e8c;border:2px solid #ffffff8c;border-radius:18px;place-items:center;width:64px;height:64px;font-size:28px;font-weight:800;display:grid}.login-pick{text-align:center;width:min(640px,100%)}.role-row{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}@media (width<=560px){.role-row{grid-template-columns:1fr}}.role-card{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:22px 12px;display:flex}.role-card:hover{border-color:var(--teal);background:var(--teal-soft)}.role-card b{font-size:17px}.role-card small{color:var(--muted);font-weight:600}.role-ico{border-radius:20px;place-items:center;width:64px;height:64px;margin-bottom:6px;font-size:28px;display:grid}.role-ico.owner{background:#fff1eb}.role-ico.cashier{background:var(--teal-soft)}.login-pin{text-align:center;width:min(440px,100%)}.pin-row{justify-content:center;gap:10px;margin:14px 0 10px;display:flex}.pin-box{border:2px solid var(--border);background:#fff;border-radius:14px;place-items:center;width:54px;height:64px;font-size:28px;font-weight:800;display:grid}.pin-box.on{border-color:var(--teal);background:var(--teal-soft)}.pin-keys{flex-wrap:wrap;gap:8px;width:252px;margin:8px auto 0;display:flex}.pin-key{border:1px solid var(--border);cursor:pointer;background:#f8fafc;border-radius:12px;width:78px;height:50px;font-size:20px;font-weight:800}.pin-key:disabled{opacity:.6;cursor:not-allowed}.pin-key.danger{color:#dc2626;background:#fff1f2}.pos{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.pos-bar{color:var(--ink);border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:12px;padding:8px 14px;display:flex}.pos-bar-chrome{color:var(--ink);background:#fff}.pos-brand{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.pos-brand strong{color:var(--ink);font-size:14px;display:block}.pos-brand small{color:var(--muted);font-size:11px;font-weight:600;display:block}.pos-mark{background:var(--teal);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.pos-icons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pos-icons a{color:var(--ink);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700}.pos-icons a.on,.pos-icons a.active{color:var(--teal);background:var(--teal-soft)}.app-badge{background:var(--brand-soft);border-radius:10px;align-items:center;gap:6px;display:inline-flex;color:var(--brand)!important}.app-badge.hot{background:var(--brand);color:#fff!important}.app-badge.on{background:var(--brand-soft);color:var(--brand)!important}.app-badge.hot.on{background:var(--brand);color:#fff!important}.app-badge em{min-width:16px;height:16px;color:var(--brand);background:#fff;border-radius:8px;place-items:center;padding:0 4px;font-size:10px;font-style:normal;font-weight:800;display:inline-grid}.pos-user{background:var(--teal-soft);width:28px;height:28px;color:var(--teal);border-radius:14px;place-items:center;font-size:12px;font-weight:800;display:grid}.pos-exit{padding:6px 10px;font-size:12px}.pos-bar .name{font-weight:800}.pos-bar .grow{flex:1}.banner{color:#9a3412;background:#fff7ed;border-bottom:1px solid #fed7aa;padding:8px 14px;font-size:13px;font-weight:600}.pos-body{flex:1;grid-template-columns:1.4fr .8fr;min-height:0;display:grid}@media (width<=900px){.pos-body{grid-template-columns:1fr}}.floor,.ticket{padding:16px}.ticket{border-left:1px solid var(--border);background:#fff}.tables{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));align-items:stretch;gap:10px;display:grid}.table{box-sizing:border-box;border:2px solid var(--border);text-align:center;cursor:pointer;width:100%;height:118px;min-height:118px;box-shadow:none;background:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;align-items:stretch;padding:10px 8px;font-weight:800;display:flex}.table.on{border-color:var(--teal);background:var(--teal-soft)}.table.busy{color:#fff;background:#16a34a;border-color:#15803d}.table.busy .table-meta{color:#ffffffeb}.table.prebill{color:#422006;background:#f59e0b;border-color:#b45309}.table.prebill .table-meta{color:#78350f}.table.free{color:var(--ink);background:#fff;border-color:#e2e8f0}.table-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;font-size:14px;line-height:1.2;display:-webkit-box;overflow:hidden}.table-meta{min-height:1.2em;color:var(--muted);font-size:10px;font-weight:800;line-height:1.2}.table-amt{font-size:13px;line-height:1.2}.menu{flex-direction:column;gap:8px;margin-top:8px;display:flex}.dish{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;gap:8px;padding:10px 12px;display:flex}.cart-line{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:8px 0;display:flex}.total{color:var(--teal);margin:12px 0;font-size:22px;font-weight:800}.pos-nav{flex-wrap:wrap;gap:6px;display:flex}.pos-nav a{color:#e2e8f0;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.pos-nav a.active{color:#fff;background:#134e4a}.cat-chips{margin:0 0 12px}.ticket-actions{flex-wrap:wrap}.dish-card{border:2px solid var(--teal);text-align:left;cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;gap:0;min-height:0;padding:0;font-weight:700;display:flex;overflow:hidden}.dish-thumb{background:#f1f5f9;justify-content:center;align-items:center;height:96px;display:flex;position:relative}.dish-thumb img{object-fit:cover;width:100%;height:100%}.dish-ph{opacity:.55;font-size:28px}.dish-thumb em{color:#fff;background:#0f172abf;border-radius:6px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:800;position:absolute;top:8px;left:8px}.dish-name{background:var(--teal);color:#fff;align-items:center;min-height:52px;padding:8px;font-size:13px;line-height:1.3;display:flex}.menu-tools{gap:8px;margin-bottom:10px;display:flex}.menu-tools input,.menu-tools select{border:1.5px solid var(--border);background:#fff;border-radius:10px;padding:8px 10px}.menu-tools input{flex:1}.qty-row{align-items:center;gap:8px;margin-left:10px;display:inline-flex}.qty-row button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;width:28px;height:28px;font-weight:800}.ticket-actions{gap:8px;display:flex}.ticket-actions .btn{flex:1}.pay-box{border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;margin-top:14px;padding:12px;display:flex}.page{max-width:1100px;padding:20px}.page h1{margin:0 0 8px;font-size:22px}.list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.list-row{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;display:flex}.kds{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:12px;display:grid}.kds-card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px}.kds-card header{flex-direction:column;margin-bottom:8px;display:flex}.kds-card ul{margin:0 0 8px;padding-left:18px}.dash{background:var(--bg);flex:1}.dash-head{background:var(--teal);color:#fff;padding:22px 20px 20px}.dash-hi{color:#99f6e4;margin:0;font-size:13px}.dash-head h1{margin:2px 0 0;font-size:22px}.dash-shop{color:#ccfbf1;margin:4px 0 0;font-size:13px}.dash-brand{text-align:right;position:absolute;top:18px;right:20px}.dash-brand strong{letter-spacing:.04em}.dash-out{color:#fff;background:0 0;border-color:#ffffff59;margin-top:8px;padding:6px 10px}.dash-out:hover{color:#fff;background:#ffffff1f}.dash-head{position:relative}.dash-stats{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.dash-stats>div{border:1px solid #ffffff59;border-radius:12px;padding:12px}.dash-stats span{color:#ccfbf1;font-size:12px;display:block}.dash-stats b{margin-top:4px;font-size:18px;display:block}.dash-stats em{color:#fdba74;margin-top:2px;font-size:11px;font-style:normal;display:block}.dash-body{max-width:1100px;padding:18px 20px 40px}.dash-body h2{margin:0 0 12px;font-size:18px}.dash-tiles{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.dash-tile{cursor:pointer;aspect-ratio:1;background:#fff;border:0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 10px 14px;font-weight:800;display:flex;box-shadow:0 2px 8px #0f172a0f}.dash-ico{border-radius:14px;place-items:center;width:48px;height:48px;font-size:22px;display:grid;position:relative}.dash-ico em{background:var(--brand);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-style:normal;font-weight:800;display:grid;position:absolute;top:-6px;right:-8px}.floor-page{max-width:none}.floor-toolbar{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.seg{border:1px solid var(--border);background:#fff;border-radius:12px;padding:3px;display:flex}.seg button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 14px;font-weight:800}.seg button.on.teal{background:var(--teal);color:#fff}.seg button.on.brand{background:var(--brand);color:#fff}.chips{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:6px;display:flex}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.pill{background:#ffffff47;border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:6px;font-size:10px;display:inline-grid}.zone-block{margin-bottom:18px}.zone-block header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.zone-block h2{margin:0;font-size:16px}.amber{color:var(--amber)}.teal{color:var(--teal)}.empty-card{border:1px solid var(--border);background:#fff;border-radius:14px;max-width:480px;padding:16px}.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.loose-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.dish-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.inline-add{gap:8px;margin-top:12px;display:flex}.inline-add input{border:1.5px solid var(--border);border-radius:10px;flex:1;padding:8px 10px}.list-row.static{cursor:default}.list-row.on{border-color:var(--teal);background:var(--teal-soft)}.btn.danger,.danger{color:#dc2626}.linkish{color:var(--teal);cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.modal-bg{z-index:20;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(440px,100%);max-height:90vh;padding:18px;overflow:auto}.modal h3{margin:0 0 8px}.addon-group{margin:10px 0}.addon-row{align-items:center;gap:8px;margin:4px 0;font-size:14px;display:flex}.field select{border:1.5px solid var(--border);background:#fff;border-radius:12px;padding:12px 14px}.pay-page{max-width:520px}.pay-items{margin:12px 0;padding:0;list-style:none}.pay-items li{border-bottom:1px solid var(--border);justify-content:space-between;gap:8px;padding:6px 0;display:flex}.ticket h2 small{color:var(--muted);font-weight:600}
