:root{--bg:#f3f5f8;--card:#fff;--ink:#1f2933;--muted:#6b7480;--line:#e1e5ea;--brand:#1f6feb;--danger:#d64545;--btn-bg:#fff;--input-bg:#fff;--soft:#eef2f7;--soft2:#d6dde6;--dot:#e3e7ec;--faint:#9aa3ad;--wall:#475569;--sel:#111;--ok-bg:#e7f6ec;--ok-ink:#1d6b3a;--ok-line:#bfe3cc;--err-bg:#fdecec;--err-bg2:#fde0e0;--err-ink:#a02020;--err-line:#f5c2c2;--warn-bg:#fff6e0;--warn-line:#f0d58a;--info-bg:#eef5ff;--info-line:#b9d4ff;--yel-bg:#fff1cc;--yel-ink:#8a5a00;--late-bg:#fff6f6;--prod-hover:#f3f8ff;color-scheme:light}:root[data-theme=dark]{--bg:#0f141a;--card:#1a222c;--ink:#e6eaf0;--muted:#98a3b3;--line:#2b3642;--brand:#3b82f6;--danger:#ff7676;--btn-bg:#232d39;--input-bg:#131a22;--soft:#232d39;--soft2:#33404f;--dot:#26303b;--faint:#6b7787;--wall:#94a3b8;--sel:#ffffff;--ok-bg:#12331f;--ok-ink:#7fe0a3;--ok-line:#1f5a3a;--err-bg:#3a1a1a;--err-bg2:#4a2020;--err-ink:#ff9b9b;--err-line:#6b2a2a;--warn-bg:#3a3014;--warn-line:#7a6420;--info-bg:#14263f;--info-line:#2a4f86;--yel-bg:#3d3210;--yel-ink:#f3c969;--late-bg:#3a1d1d;--prod-hover:#17263a;color-scheme:dark}button{color:var(--ink);font-family:inherit}*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}h2{margin:0 0 12px}h3{margin:0 0 10px}h4{margin:14px 0 8px}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.shell{display:flex;min-height:100vh}.sidebar{width:230px;background:var(--side-bg,#16202c);color:var(--side-ink,#fff);padding:16px;display:flex;flex-direction:column;gap:16px;flex-shrink:0}.sidebar h1{font-size:18px;margin:0}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar nav a{color:var(--side-link,#cbd5e1);text-decoration:none;padding:10px 12px;border-radius:8px}.sidebar nav a.active,.sidebar nav a:hover{background:var(--side-hover,#243447);color:var(--side-ink,#fff)}.userbox{display:flex;flex-direction:column;gap:4px;border-top:1px solid #2b3a4c;padding-top:12px}.userbox small{color:#94a3b8}.content{flex:1;padding:20px;min-width:0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:16px}.login{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}input,select{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--ink)}.btn{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--btn-bg);cursor:pointer;color:var(--ink);font-size:14px}.btn:hover:not(:disabled){background:var(--soft)}.btn.primary{background:var(--brand);color:var(--on-brand,#fff);border-color:var(--brand)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.small{padding:5px 9px;font-size:12px}.btn:disabled{opacity:.5;cursor:not-allowed}.error{background:var(--err-bg);color:var(--err-ink);border:1px solid var(--err-line);padding:9px 12px;border-radius:8px;margin-bottom:12px}.muted{color:var(--muted)}.pad{padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}.row.between{justify-content:space-between;margin-top:0}.row.top{align-items:flex-start;flex-wrap:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:12px}.grid .wide{grid-column:1 / -1}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:600;font-size:12px}.r{text-align:right}tr.inactive td{color:var(--faint)}.actions{display:flex;gap:6px;justify-content:flex-end}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.chip{background:var(--soft);border-radius:999px;padding:5px 6px 5px 12px;font-size:13px;display:inline-flex;gap:6px;align-items:center}.chip button{border:0;background:var(--soft2);border-radius:50%;width:20px;height:20px;cursor:pointer;line-height:1}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:10px;font-size:13px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}.floor{position:relative;flex:1;height:600px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:auto;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:20px 20px}.floor.editing{outline:2px dashed var(--brand);outline-offset:-2px}.table{position:absolute;width:120px;height:100px;border-radius:12px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;cursor:pointer;box-shadow:0 2px 6px #0003;touch-action:none}.floor.editing .table{cursor:grab}.table.selected{outline:3px solid var(--sel);outline-offset:2px}.panel{width:280px;flex-shrink:0;margin-bottom:0}.panel .stack{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.panel label{margin-top:8px}hr{border:0;border-top:1px solid var(--line);margin:14px 0}@media (max-width: 800px){.shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center}.sidebar nav{flex-direction:row;flex-wrap:wrap}.row.top{flex-wrap:wrap}.panel{width:100%}}.btn.big{padding:12px 16px;font-size:15px;width:100%;margin-bottom:6px}.chips .btn.big{width:auto;margin:0}.okmsg{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok-line);padding:9px 12px;border-radius:8px}.table .tinfo{opacity:.9;font-size:11px}.table .bell{background:#fff;color:#b42318;font-weight:700;font-size:11px;border-radius:999px;padding:2px 8px;margin-top:3px}.order-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;margin-top:12px;align-items:start}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.prod{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--btn-bg);cursor:pointer;font-size:14px}.prod:hover:not(:disabled){border-color:var(--brand);background:var(--prod-hover)}.prod span{color:var(--brand);font-weight:600}.prod small{color:var(--muted)}.summary h3{display:flex;gap:8px;align-items:center}.badge{background:var(--brand);color:var(--on-brand,#fff);border-radius:999px;font-size:12px;padding:1px 8px}.line{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.line.void{opacity:.55;text-decoration:line-through}.grow{flex:1;min-width:0}.qty{display:flex;gap:8px;align-items:center}.note{border:0;background:none;color:var(--brand);cursor:pointer;padding:2px 0;font-size:12px;text-align:left}.total{display:flex;justify-content:space-between;font-size:18px;padding:14px 0}.st{font-size:11px;border-radius:999px;padding:3px 9px;background:var(--soft);white-space:nowrap}.st-listo{background:var(--ok-bg);color:var(--ok-ink)}.st-preparando{background:var(--yel-bg);color:var(--yel-ink)}.st-anulado{background:var(--err-bg2);color:var(--err-ink)}.st-entregado{background:var(--soft)}.tickets{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.ticket{background:var(--card);border:2px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.ticket.warn{border-color:#e0a526}.ticket.late{border-color:#d64545;background:var(--late-bg)}.ticket.done{border-color:#2e9e5b}.thead{display:flex;justify-content:space-between;font-size:17px}.titem{display:flex;gap:8px;align-items:center;padding:8px 0;border-top:1px dashed var(--line)}.tact{display:flex;gap:6px;align-items:center}.tnote{background:var(--yel-bg);border-radius:6px;padding:2px 6px;font-size:13px;font-weight:600;margin-top:3px}.tvoid{background:var(--err-bg2);color:var(--err-ink);border-radius:6px;padding:2px 6px;font-size:13px;font-weight:700;margin-top:3px}@media (max-width: 800px){.order-layout{grid-template-columns:1fr}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.stat span{color:var(--muted);font-size:12px}.stat b{font-size:20px}.stat small{color:var(--muted);font-size:12px}.stat.highlight{background:var(--info-bg);border-color:var(--info-line)}.okcard{background:var(--ok-bg);border-color:var(--ok-line)}.warncard{background:var(--warn-bg);border-color:var(--warn-line)}.errtext{color:var(--danger);font-weight:600}.change{background:var(--ok-bg);color:var(--ok-ink);font-size:28px;font-weight:700;border-radius:12px;padding:14px;margin:14px 0}.change.small{font-size:14px;padding:6px 10px;margin:0;grid-column:1 / -1}.big-total{font-size:22px;background:var(--info-bg);border-radius:10px;padding:12px;margin:10px 0}.payrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}.payrow input,.payrow select{flex:1;min-width:120px}.tablepick{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.subtabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.subtabs a{padding:8px 14px;border-radius:8px;background:var(--btn-bg);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}.subtabs a.active{background:var(--brand);color:var(--on-brand,#fff);border-color:var(--brand)}.table .bill{background:#fff;color:#8a5a00;font-weight:700;font-size:11px;border-radius:999px;padding:2px 8px;margin-top:3px}.wall{position:absolute;background:var(--wall);border-radius:3px;z-index:1;pointer-events:none;touch-action:none}.floor.editing .wall{pointer-events:auto;cursor:grab}.wall.selected{outline:3px solid var(--brand);outline-offset:2px}.whandle{position:absolute;width:24px;height:24px;border-radius:50%;background:var(--brand);border:3px solid #fff;box-shadow:0 1px 4px #0006;cursor:nwse-resize;touch-action:none;z-index:3}.table{z-index:2;text-align:center}.tablewrap{overflow-x:auto}.formsection{margin-top:14px}.formsection h4{margin:0 0 8px;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.04em}textarea{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px;background:var(--input-bg);color:var(--ink);font-family:inherit;resize:vertical}.themetoggle{display:flex;gap:4px}.themetoggle button{flex:1;padding:6px 4px;font-size:11px;border-radius:6px;border:1px solid #2b3a4c;background:transparent;color:#cbd5e1;cursor:pointer}.themetoggle button.on{background:var(--side-hover,#243447);color:var(--side-ink,#fff);border-color:var(--brand)}.themetoggle.onlight button{border-color:var(--line);color:var(--ink)}.themetoggle.onlight button.on{background:var(--soft);border-color:var(--brand)}.st-warn{background:var(--yel-bg);color:var(--yel-ink)}.qty-input{display:flex;gap:6px;align-items:center;flex:1;min-width:150px}.qty-input input{flex:1;min-width:70px}.qty-input select{flex:0 0 auto}.payrow .grow{flex:1}.prod.out{opacity:.5;filter:grayscale(1)}.prod.out:disabled{cursor:not-allowed}.prod .stock{color:var(--ok-ink);font-weight:600}.prod .stock-out{color:var(--err-ink);font-weight:700}.prod .opt{color:var(--brand)}.prod.group{border-style:dashed}.prod.group.open{border-color:var(--brand);background:var(--info-bg)}.subpanel{margin-top:12px;padding:12px;border:1px solid var(--info-line);background:var(--info-bg);border-radius:10px}.table .timer{font-weight:700;font-size:12px}.visitinfo{background:var(--info-bg);border:1px solid var(--info-line);border-radius:8px;padding:8px 10px;font-size:13px;margin:0 0 10px}.guestsbanner{margin-top:12px;background:var(--info-bg);border-color:var(--info-line)}.guestsbanner b{display:block;margin-bottom:8px}.guests{display:inline-flex;gap:6px;align-items:center;color:var(--ink)}.insights{margin:0;padding-left:20px;line-height:1.6}.insights li{margin-bottom:4px}.bars{display:flex;align-items:stretch;gap:6px;height:190px;padding-top:18px}.bar{flex:1;min-width:26px;display:flex;flex-direction:column;align-items:center}.bt{position:relative;flex:1;width:100%}.bf{position:absolute;bottom:0;left:12%;right:12%;border-radius:4px 4px 0 0;min-height:2px}.bv{position:absolute;left:-4px;right:-4px;text-align:center;font-size:11px;color:var(--muted);white-space:nowrap}.bl{font-size:11px;margin-top:4px;color:var(--muted)}table.heat td,table.heat th{padding:6px 8px;text-align:center;font-size:12px}table.heat td:first-child{text-align:left;font-weight:600}.tkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:12px}.tkcard{background:var(--card);border:2px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px}.tkcard.ready{border-color:#2e9e5b}.tkcard.late{border-color:#d64545;background:var(--late-bg)}.tkcard .thead{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:15px}.okink{color:var(--ok-ink)}.warnink{color:var(--yel-ink)}.ticket .tkpromise{color:var(--brand);font-weight:700}.hbar{position:relative;background:var(--soft);border-radius:4px;height:20px;min-width:120px;display:flex;align-items:center;padding-left:6px;font-size:12px}.hbar span{position:absolute;left:0;top:0;bottom:0;background:color-mix(in srgb,var(--brand) 35%,transparent);border-radius:4px}.rolesgrid{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:start}@media (max-width:800px){.rolesgrid{grid-template-columns:1fr}}.rolelist{display:flex;flex-direction:column;gap:8px}.rolecard{text-align:left;background:var(--card);border:2px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px;cursor:pointer;color:var(--ink);font:inherit}.rolecard.sel{border-color:var(--brand)}.rolecard strong{font-size:15px}.permitem{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}.permitem input{margin-top:4px;width:auto}.permitem span{display:flex;flex-direction:column}.permitem small{font-size:12px}.info{background:var(--info-bg);border:1px solid var(--info-line);border-radius:8px;padding:8px 10px;font-size:13px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:12px}.modal{width:min(560px,100%);max-height:92vh;overflow:auto}.authbox{background:var(--info-bg);border:1px solid var(--info-line);border-radius:8px;padding:10px 12px;margin-top:12px}.authbox b{display:block;margin-bottom:6px;font-size:13px}.discpreview{background:var(--soft);border-radius:8px;padding:8px 12px;margin-top:10px}.discline{padding:2px 0 6px}.discline small{display:block}textarea{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;resize:vertical}.verfoot{position:absolute;bottom:14px;left:0;right:0;text-align:center}a.sidever{display:block;font-size:11px;color:var(--muted);text-align:center;margin:8px 0 2px;text-decoration:none}a.sidever:hover{text-decoration:underline}.release{padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:10px}.release.cur{border-color:var(--brand)}.verbadge{background:var(--brand);color:var(--on-brand,#fff);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.bigver{font-size:22px;font-weight:800;color:var(--brand)}tr.auditrow{cursor:pointer}tr.auditrow:hover td{background:var(--soft)}pre.auditdetail{margin:0;padding:8px 10px;background:var(--soft);border-radius:8px;font-size:12px;overflow:auto;max-height:260px}.brandhead{display:flex;align-items:center;gap:10px;min-height:38px}.brandhead h1{line-height:1.15;word-break:break-word}.brandlogo{max-height:40px;max-width:64px;object-fit:contain;border-radius:6px}.loginlogo{max-height:84px;max-width:220px;object-fit:contain;align-self:center}.swatches{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid transparent;outline:1px solid var(--line);cursor:pointer;padding:0}.swatch.on{border-color:var(--ink)}.uploader{display:flex;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.uploader:last-of-type{border-bottom:0}.uploader .thumb{width:84px;height:56px;border:1px dashed var(--line);border-radius:8px;display:grid;place-items:center;background:var(--soft);overflow:hidden}.uploader .thumb img{max-width:100%;max-height:100%;object-fit:contain}.brandpreview{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;max-width:430px}.brandpreview .pside{width:140px;padding:12px;display:flex;flex-direction:column;gap:6px;font-size:13px}.brandpreview .pmain{flex:1;padding:12px;background:var(--bg);display:flex;flex-direction:column;gap:8px;align-items:flex-start}.soon{border:1px dashed var(--line);border-radius:12px;padding:14px;background:var(--card)}.soon h3{margin:0 0 4px}.soonbadge{background:var(--soft);border:1px solid var(--line);border-radius:999px;font-size:11px;padding:2px 10px;margin-left:8px;color:var(--muted);font-weight:600}.radiocard{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;cursor:pointer}.radiocard.sel{border-color:var(--brand);background:var(--info-bg)}.radiocard input{width:auto;margin-top:4px}.radiocard span{display:flex;flex-direction:column}.verfoot{text-align:center}.ticket.tl-ok{border-color:#2e9e5b}.ticket.tl-warn{border-color:#e0a526;background:var(--warn-bg, rgba(224,165,38,.1))}.ticket.tl-late{border-color:#d64545;background:var(--late-bg)}.tlbar{font-weight:700;padding:5px 10px;border-radius:8px}.tlbar.tl-ok,.tlchip.tl-ok{background:#2e9e5b29;color:var(--ok-ink)}.tlbar.tl-warn,.tlchip.tl-warn{background:#e0a52638;color:var(--yel-ink, #8a5a00)}.tlbar.tl-late,.tlchip.tl-late{background:#d645452e;color:var(--err-ink)}.tlchip{display:inline-block;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;margin-top:3px}.tlexample{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}tr.areahead td{background:var(--soft);padding:6px 10px}tr.changedrow td{background:var(--info-bg)}.alertbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:14px}.alertbar a{font-weight:700;margin-right:8px}.alertbar.error,.alertbox.error{background:var(--late-bg);border:1px solid #d64545}.alertbar.warn,.alertbox.warn{background:#e0a52624;border:1px solid #e0a526}.alertbox.info{background:var(--info-bg);border:1px solid var(--info-line)}.alertbox{padding:9px 12px;border-radius:8px;margin-bottom:8px;font-size:14px}code{background:var(--soft);border-radius:5px;padding:1px 6px;font-size:12.5px}
