:root{--bg:#f2f5f9;--panel:#fff;--ink:#0f1e2e;--muted:#5b6b7c;--line:#e2e8f0;--brand:#0a4d8c;--brand-ink:#fff;--accent:#0f9d58;--danger:#c0392b;--warn:#b7791f;--radius:14px;--shadow:0 1px 2px #0f1e2e0f, 0 8px 24px #0f1e2e0f}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b141d;--panel:#101c28;--ink:#eaf1f8;--muted:#8fa3b5;--line:#1d2c3b;--brand:#3d8bd6;--brand-ink:#06131f}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b141d;--panel:#101c28;--ink:#eaf1f8;--muted:#8fa3b5;--line:#1d2c3b;--brand:#3d8bd6;--brand-ink:#06131f}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.45 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1,h2,h3{margin:0 0 .5em;font-weight:700}p{margin:0 0 .8em}a{color:var(--brand)}button{font:inherit}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;padding:10px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:1px}label{color:var(--muted);margin:10px 0 4px;font-size:13px;font-weight:600;display:block}.splash{justify-content:center;align-items:center;height:100%;display:flex}.brand-mark{background:var(--brand);width:64px;height:64px;color:var(--brand-ink);border-radius:18px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.shell{height:100vh;display:flex;overflow:hidden}.side{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex:none;width:220px;padding:16px 12px;display:flex}.side-logo{letter-spacing:-.02em;padding:8px 10px 18px;font-size:18px;font-weight:800}.side nav{flex-direction:column;flex:1;gap:2px;display:flex}.navitem{color:var(--ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.navitem svg{flex:none;width:19px;height:19px}.navitem.active,a.navitem[aria-current=page]{background:var(--brand);color:var(--brand-ink)}.who{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:8px;padding-top:12px;font-size:13px;display:flex}.who b{font-size:14px}.who span{color:var(--muted)}.main{flex:1;padding:24px 28px 60px;overflow-y:auto}.stack{flex-direction:column;gap:14px;display:flex}.row{align-items:center;gap:12px;display:flex}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.btn{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.danger{background:var(--danger);color:#fff}.btn.sm{border-radius:8px;padding:7px 12px;font-size:13px}.link{color:var(--brand);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:600}.err{color:var(--danger);font-size:13px;font-weight:600}.ok{color:var(--accent);font-size:13px;font-weight:600}.badge{background:var(--line);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-block}.badge.paid,.badge.active,.badge.open{color:var(--accent);background:#0f9d5826}.badge.void,.badge.disabled{color:var(--danger);background:#c0392b26}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}tr:last-child td{border-bottom:none}.tablewrap{overflow-x:auto}.grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=700px){.grid-2,.grid-3{grid-template-columns:1fr}}.sell-layout{grid-template-columns:1fr 380px;gap:20px;height:calc(100vh - 48px);display:grid}@media (width<=980px){.sell-layout{grid-template-columns:1fr;height:auto}}.pgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;padding-bottom:20px;display:grid;overflow-y:auto}.ptile{background:var(--panel);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:6px;min-height:84px;padding:12px;display:flex}.ptile:hover{border-color:var(--brand)}.ptile b{font-size:14px;line-height:1.3}.ptile .price{color:var(--brand);font-weight:700}.cart{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;height:100%;display:flex}.cart-items{flex:1;padding:10px 14px;overflow-y:auto}.cart-line{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:9px 0;display:flex}.cart-line .name{flex:1;font-size:13.5px;font-weight:600}.cart-line .qty{align-items:center;gap:4px;display:flex}.qtybtn{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:7px;width:26px;height:26px;font-weight:700}.cart-totals{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:14px;display:flex}.cart-totals .line{justify-content:space-between;font-size:14px;display:flex}.cart-totals .grand{font-size:22px;font-weight:800}.modal-backdrop{z-index:50;background:#0a141e80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:var(--radius);width:420px;max-width:100%;max-height:90vh;box-shadow:var(--shadow);padding:22px;overflow-y:auto}.amount{text-align:center;background:0 0;border:none;font-size:2.4rem;font-weight:800}.keypad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;padding:16px;font-size:20px;font-weight:700}.receipt{max-width:320px;margin:0 auto;font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:13px}.receipt hr{border:none;border-top:1px dashed var(--line);margin:10px 0}.receipt .item-row{justify-content:space-between;display:flex}@media print{.side,.no-print{display:none!important}.main{padding:0;overflow:visible}}.searchbar{gap:10px;display:flex}.search-field{flex:1;position:relative}.search-field input{min-height:50px;padding-right:44px;font-size:16px}.search-field input::-webkit-search-cancel-button{display:none}.search-field .clear{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:15px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.search-btn{white-space:nowrap;min-height:50px;padding:0 22px;font-size:16px}.ptile{padding:8px 8px 10px}.ptile .pic{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:center;align-items:center;display:flex;overflow:hidden}.ptile .pic img{object-fit:contain;width:100%;height:100%;padding:6px}.ptile .pic:has(.initials){background:var(--bg)}.ptile .initials{color:var(--muted);font-size:26px;font-weight:800}.ptile b{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.thumb-cell{width:58px}.thumb{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;padding:2px;display:flex}.thumb img{object-fit:contain;width:100%;height:100%}.thumb .muted{font-size:20px;font-weight:700}.modal.picker{width:860px}.picker-search{grid-template-columns:180px 1fr auto;gap:8px;display:grid}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;min-height:180px;max-height:52vh;display:grid;overflow-y:auto}.cand{border:1px solid var(--line);background:var(--panel);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:6px;font-size:12px;display:flex}.cand img{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:7px;width:100%}.cand.sel{outline:3px solid var(--accent);outline-offset:-1px}.cand .site{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cand.skeleton{aspect-ratio:.85;background:var(--line);animation:1.2s ease-in-out infinite kpos-pulse}@keyframes kpos-pulse{50%{opacity:.5}}.src{font-weight:700}.src.google{color:var(--brand)}.src.openfoodfacts,.note{color:var(--warn)}.upload{margin:0;position:relative;overflow:hidden}.upload input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (width<=700px){.picker-search{grid-template-columns:1fr}}.shop-switch{margin:0 0 14px;font-weight:700}.navitem{position:relative}.navbadge{background:var(--warn);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:800;display:inline-flex}.ptile.lane{min-height:76px}.ptile.lane:disabled{opacity:.55;cursor:not-allowed}.check{color:var(--ink);align-items:flex-start;gap:10px;margin:0;font-size:14px;font-weight:500;display:flex}.check input{width:auto;margin-top:3px}.tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-weight:700}.tab.on{color:var(--brand);border-bottom-color:var(--brand)}.banner{color:var(--warn);background:#b7791f1f;border-radius:10px;padding:10px 14px;font-weight:700}.clickrow{cursor:pointer}.clickrow:hover td{background:#0a4d8c0a}.badge.in_transit{color:var(--warn);background:#b7791f26}.badge.received{color:var(--accent);background:#0f9d5826}.badge.cancelled{color:var(--danger);background:#c0392b26}.badge.review{color:var(--warn);background:#b7791f26}.badge.big{padding:5px 12px;font-size:14px}.suggest{z-index:5;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.suggest button{border:none;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.suggest button:last-child{border-bottom:none}.suggest button:hover{background:#0a4d8c0f}input.bad{border-color:var(--danger)}.pwbox{position:relative}.pwbox input{padding-right:48px}.pwbox .eye{width:42px;height:42px;color:var(--muted,#667);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.pwbox .eye:hover,.pwbox .eye[aria-pressed=true]{color:var(--brand)}.pwbox .eye svg{width:22px;height:22px}input.warn{border-color:var(--warn);background:#b7791f14}.signoff{gap:10px}.sigpad{border:1px dashed var(--muted);touch-action:none;background:#fff;border-radius:10px;height:150px;position:relative}.sigpad canvas{cursor:crosshair;touch-action:none;border-radius:10px;width:100%;height:100%;display:block}.sigline{color:#8a97a5;pointer-events:none;border-top:1px solid #c8d1db;padding-top:2px;font-size:11px;position:absolute;bottom:30px;left:16px;right:16px}.sigclear{position:absolute;top:8px;right:12px}.sigs{gap:20px}.sigblock{flex-direction:column;gap:4px;display:flex}.sigblock img{object-fit:contain;object-position:left;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:320px;height:90px;margin-top:4px}.modal.wide{width:720px}.progress{background:var(--line);border-radius:999px;height:10px;overflow:hidden}.progress>div{background:var(--brand);height:100%;transition:width .25s}.summary{flex-wrap:wrap;gap:10px;display:flex}.summary>div{border:1px solid var(--line);border-radius:10px;flex-direction:column;flex:1;min-width:110px;padding:10px 12px;display:flex}.summary b{font-size:24px}.summary span{color:var(--muted);font-size:13px}.summary .bad b{color:var(--danger)}.errlist{background:#c0392b0d;border:1px solid #c0392b4d;border-radius:10px;flex-direction:column;gap:4px;max-height:220px;padding:10px 12px;font-size:13px;display:flex;overflow-y:auto}.photo-bar{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:24px;padding:10px 14px;display:flex}.photo-bar span{align-items:center;gap:8px;display:inline-flex}.thumb.review{border:2px solid var(--warn)}.review-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.review-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}.review-card.sel{outline:3px solid var(--accent);outline-offset:-1px}.review-pic{aspect-ratio:1;cursor:pointer;background:#fff;border:none;border-radius:8px;padding:0;position:relative;overflow:hidden}.review-pic img{object-fit:contain;width:100%;height:100%;padding:8px}.review-pic .tick{border:2px solid var(--line);color:#fff;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-weight:800;display:flex;position:absolute;top:6px;right:6px}.review-card.sel .tick{background:var(--accent);border-color:var(--accent)}@media print{.docket{box-shadow:none;border:none}.no-print{display:none!important}}a.btn{text-decoration:none}.ptile-wrap{flex-direction:column;gap:4px;display:flex}.ptile .pic{position:relative}.scale-tag{background:var(--brand);color:var(--brand-ink);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800;position:absolute;bottom:6px;left:6px}.ptile .per{color:var(--muted);font-size:12px;font-weight:600}.pack-chips{flex-direction:column;gap:4px;display:flex}.pack-chip{border:1px dashed var(--brand);color:var(--brand);cursor:pointer;text-align:left;background:#0a4d8c0d;border-radius:9px;justify-content:space-between;gap:6px;padding:6px 8px;font-size:12px;font-weight:700;display:flex}.pack-chip b{color:var(--ink)}.pack-tag{color:var(--brand);white-space:nowrap;background:#0a4d8c1a;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:800}.qty-input{text-align:right;width:72px;padding:6px 8px}.toast{color:var(--accent);background:#0f9d581f;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:700}.weigh{align-items:baseline;gap:10px;display:flex}.weigh input{text-align:right;font-size:2.4rem;font-weight:800}.weigh span{color:var(--muted);font-size:1.6rem;font-weight:800}.packs{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.pack-row{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.pack-grid{grid-template-columns:1.2fr .8fr 1.3fr 1fr;gap:8px;display:grid}.pack-grid label{margin-top:0}@media (width<=700px){.pack-grid{grid-template-columns:1fr 1fr}}.modal.tender{width:560px}.tender-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tender-summary>div{border:1px solid var(--line);border-radius:10px;flex-direction:column;padding:10px 12px;display:flex}.tender-summary b{font-size:20px}.tender-summary b.big{font-size:26px}.tender-list{border:1px solid var(--line);border-radius:10px;flex-direction:column;display:flex}.tender-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}.tender-row:last-child{border-bottom:none}.mchip{background:var(--line);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.mchip.cash{color:var(--accent);background:#0f9d5826}.mchip.card{color:var(--brand);background:#0a4d8c1f}.mchip.kiripay{color:#0b7a44;background:#0f9d5833}.mchip.account{color:var(--warn);background:#b7791f26}.method-picker{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;display:grid}.mbtn{border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--ink);border-radius:10px;padding:14px 10px;font-weight:800}.mbtn.on{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.amount-in{font-size:22px;font-weight:800}.kiripay-wait img{background:#fff;border-radius:12px;align-self:center;padding:8px}.change-due{color:var(--accent);background:#0f9d581f;border-radius:10px;padding:10px 14px;font-size:18px}.change-due b{font-size:22px}.receipt .item-row{gap:10px}.packs .spread>.btn{white-space:nowrap;flex:none}.inv-actions{margin-top:4px}.inv-actions .card{padding:12px}.invoice-rest{color:var(--warn);border-style:dashed;border-color:var(--warn)}details summary{cursor:pointer}.email-preview{border:1px dashed var(--line);border-radius:10px;gap:2px;padding:10px 12px;font-family:SFMono-Regular,Consolas,Menlo,monospace;display:grid}.email-preview .muted{min-width:76px;font-family:inherit;display:inline-block}.kp-map{border:1px solid var(--line);z-index:0;background:#e8eef3;border-radius:12px;width:100%;overflow:hidden}.kp-pin{background:0 0;border:none}.kp-pin-head{background:var(--danger);border:3px solid #fff;border-radius:50% 50% 50% 0;width:30px;height:30px;margin-top:0;transform:rotate(-45deg);box-shadow:0 2px 6px #00000059}.addr{border:1px solid var(--line);border-radius:12px;padding:12px}.addr .row{flex-wrap:wrap;gap:8px}.pinmark{color:var(--danger)}.share-page{max-width:560px;margin:0 auto;padding:18px 16px 40px}.share-page h1{margin:0;font-size:22px}.share-page .btn.big{width:100%;padding:15px;font-size:17px}.grid-4{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=640px){.grid-4{grid-template-columns:repeat(2,1fr)}}.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:13px}.chip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.badge.to_pack{color:var(--warn);background:#b7791f26}.badge.packed{color:var(--brand);background:#0a4d8c1f}.badge.dispatched{color:var(--brand);background:#0a4d8c33}.badge.delivered{color:var(--accent);background:#0f9d5826}.quote{border:1px solid var(--line);cursor:pointer;background:var(--panel);text-align:left;width:100%;color:var(--ink);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.quote.sel{outline:3px solid var(--accent);outline-offset:-1px}.quote:disabled{opacity:.55;cursor:default}.kv{grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;display:grid}.kv>:nth-child(odd){color:var(--muted)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#0a4d8c0a}.portal .balance .big-num{letter-spacing:-.5px;font-size:34px;font-weight:800}.portal .balance.overdue{border-color:#c0392b66}.portal .pinv{cursor:pointer;padding:14px}.track{grid-template-columns:repeat(4,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.track li{color:var(--muted);flex-direction:column;padding-top:18px;font-size:12px;font-weight:600;display:flex;position:relative}.track li .dot{background:var(--line);border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:0}.track li:before{content:"";background:var(--line);height:2px;position:absolute;top:7px;left:12px;right:-4px}.track li:last-child:before{display:none}.track li.done{color:var(--ink)}.track li.done .dot,.track li.done:before{background:var(--accent)}.portal .tabs .tab{white-space:nowrap;flex:1}.portal .tab .count{background:var(--brand);color:#fff;border-radius:999px;min-width:20px;margin-left:6px;padding:1px 6px;font-size:12px;display:inline-block}.tier-tag{color:var(--accent);vertical-align:middle;background:#0f9d5826;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:800}.cam-btn{padding:11px 12px}.svc-bar{align-items:center;gap:8px;padding:10px 14px 0;display:flex}.svc-bar select,.svc-bar input{flex:1;padding:7px 10px;font-size:14px}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);cursor:pointer;border:none;flex:1;padding:10px 14px;font-weight:700}.seg button.on{background:var(--brand);color:var(--brand-ink)}.seg.sm button{padding:7px 10px;font-size:13px}.settle-banner{background:#0a4d8c14;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;margin:10px 14px 0;padding:10px 12px;display:flex}.order-no{letter-spacing:-1px;font-size:56px;font-weight:900}.sub{border-top:1px solid var(--line);padding-top:14px}.table-chips{flex-wrap:wrap;gap:6px;display:flex}.table-chips .chip b{cursor:pointer}.pair-code{letter-spacing:4px;font-variant-numeric:tabular-nums;font-size:44px;font-weight:900}.grow{flex:1;min-width:0}.table-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.table-tile{background:var(--panel);border:2px solid var(--line);text-align:left;cursor:pointer;min-height:104px;color:var(--ink);font:inherit;border-radius:14px;flex-direction:column;gap:4px;padding:14px;display:flex}.table-tile b{font-size:20px}.table-tile.busy{border-color:var(--brand);background:#0a4d8c0d}.table-tile.bill{border-color:var(--warn)}.table-tile.paid{border-color:var(--accent)}.table-tile .amt{font-size:17px;font-weight:800}.table-tile .tag{color:var(--warn);font-size:12px;font-weight:800}.table-tile .tag.ok{color:var(--accent)}.order-card.placed{border-color:var(--warn)}.order-card.ready{border-color:var(--accent)}.badge.item-ready{color:var(--accent);background:#0f9d5826}.badge.item-preparing{color:var(--warn);background:#b7791f26}.menu-page{padding-bottom:96px}.menu-cats{background:var(--bg);z-index:2;gap:6px;padding:8px 0;display:flex;position:sticky;top:0;overflow-x:auto}.menu-cats .chip{white-space:nowrap;color:var(--ink);text-decoration:none}.chip{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:600;display:inline-flex}.menu-cat{margin:10px 0 0;font-size:18px}.menu-item{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.menu-item img,.menu-ph{object-fit:cover;background:var(--line);width:72px;height:72px;color:var(--muted);border-radius:10px;flex:none;place-items:center;font-size:26px;font-weight:800;display:grid}.menu-item .price{margin-top:4px;font-weight:800}.menu-item.out{opacity:.55}.add-btn{background:var(--brand);width:42px;height:42px;color:var(--brand-ink);cursor:pointer;border:none;border-radius:50%;flex:none;font-size:20px;font-weight:800}.cart-bar{background:var(--brand);max-width:536px;color:var(--brand-ink);cursor:pointer;z-index:5;border:none;border-radius:14px;justify-content:space-between;align-items:center;margin:0 auto;padding:16px 18px;font-size:16px;display:flex;position:fixed;bottom:14px;left:12px;right:12px;box-shadow:0 8px 24px #00000040}.modal.sheet{width:560px}@media (width<=640px){.modal-backdrop:has(.sheet){align-items:flex-end;padding:0}.modal.sheet{border-radius:18px 18px 0 0;max-height:92vh}}.note-input{padding:6px 10px;font-size:13px}.note-banner{color:var(--warn);background:#b7791f1f;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600}.big-total{font-size:18px}.ready-banner{background:var(--accent);color:#fff;text-align:center;border-radius:14px;padding:16px;font-size:18px;font-weight:800}.track.big li{font-size:13px}.modal.scanner{width:520px}.scan-view{aspect-ratio:4/3;background:#000;border-radius:12px;position:relative;overflow:hidden}.scan-view video{object-fit:cover;width:100%;height:100%;display:block}.scan-frame{border:3px solid #ffffffe6;border-radius:12px;position:absolute;inset:18% 12%;box-shadow:0 0 0 999px #00000059}html.screen-mode,html.screen-mode body{color:#eaf1f8;background:#0b141d}.screen{color:#eaf1f8;box-sizing:border-box;background:#0b141d;min-height:100vh;padding:14px}.screen.center{place-items:center;display:grid}.screen .offline{color:#fff;text-align:center;z-index:9;background:#c0392b;padding:6px;font-weight:700;position:fixed;top:0;left:0;right:0}.screen-head{justify-content:space-between;align-items:baseline;padding:4px 4px 12px;font-size:18px;display:flex}.screen-head span{color:#8fa3b5;font-size:15px}.fs-btn{color:#eaf1f8;opacity:.7;background:#1d2c3b;border:none;border-radius:10px;padding:8px 12px;position:fixed;bottom:12px;right:12px}.pair-box{text-align:center;flex-direction:column;gap:14px;width:min(420px,92vw);display:flex}.pair-box p{color:#8fa3b5;margin:0}.pair-input{text-align:center;letter-spacing:10px;color:#eaf1f8;background:#101c28;border-color:#1d2c3b;font-size:44px;font-weight:800}.brand-mark{background:var(--brand);color:#fff;border-radius:14px;place-items:center;width:56px;height:56px;margin:0 auto;font-weight:900;display:grid}.tickets{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:12px;display:grid}.ticket{background:#101c28;border:2px solid #1d2c3b;border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.ticket.warn{border-color:#b7791f}.ticket.late{border-color:#e74c3c}.t-head{background:#16263a;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.t-no{font-size:26px;font-weight:900}.t-where{color:#b9cadb;flex:1;font-weight:700}.t-age{font-weight:800}.ticket.warn .t-age{color:#f0b04a}.ticket.late .t-age{color:#ff6b5b}.t-item{text-align:left;color:#eaf1f8;cursor:pointer;background:0 0;border:none;border-top:1px solid #1d2c3b;align-items:flex-start;gap:10px;width:100%;padding:12px;font-size:19px;display:flex}.t-item .q{min-width:34px;font-weight:900}.t-item .n{flex:1;font-weight:700}.t-item em{color:#f0b04a;font-size:15px;font-style:normal;font-weight:700;display:block}.t-item .s{font-size:13px;font-weight:800}.t-item.preparing{background:#f0b04a1f}.t-item.preparing .s{color:#f0b04a}.t-item.ready{color:#8fa3b5;background:#0f9d582e;text-decoration:line-through}.t-item.ready .s{color:#2ecc71;text-decoration:none}.t-note{color:#f0b04a;border-top:1px solid #1d2c3b;padding:8px 12px;font-weight:700}.t-bump{color:#fff;cursor:pointer;background:#0f9d58;border:none;margin-top:auto;padding:14px;font-size:17px;font-weight:800}.screen .empty{color:#8fa3b5;padding:40px;font-size:22px}.screen .recent{color:#8fa3b5;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.screen .chip{color:#eaf1f8;background:#101c28;border-color:#1d2c3b}.board-cols{grid-template-columns:1fr 1fr;gap:16px;min-height:calc(100vh - 80px);display:grid}.board-cols section{background:#101c28;border-radius:18px;padding:18px}.board-cols section.ready{background:#0d2a1c}.board-cols h2{margin:0 0 14px;font-size:34px}.board-cols .ready h2{color:#2ecc71}.nums{flex-wrap:wrap;gap:14px;display:flex}.num{text-align:center;background:#16263a;border-radius:14px;flex-direction:column;min-width:130px;padding:6px 12px;font-size:64px;font-weight:900;line-height:1.1;display:flex}.num small{color:#8fa3b5;font-size:18px;font-weight:700}.num.rdy{color:#fff;background:#0f9d58;animation:.6s ease-out pop}.num.rdy small{color:#d9ffe9}@keyframes pop{0%{transform:scale(1.25)}to{transform:scale(1)}}.cd{grid-template-columns:1.3fr 1fr;align-items:center;gap:24px;min-height:calc(100vh - 28px);display:grid}.cd.idle{text-align:center;grid-template-columns:1fr;place-items:center;display:grid}.cd.idle h1{margin:10px 0 0;font-size:64px}.cd.idle p{color:#8fa3b5;font-size:24px}.cd .thanks{font-weight:800;color:#2ecc71!important}.cd-lines{background:#101c28;border-radius:18px;flex-direction:column;align-self:stretch;gap:8px;padding:22px;display:flex;overflow:hidden}.cd-lines h2{color:#8fa3b5;margin:0 0 8px}.cd-line{justify-content:space-between;font-size:22px;display:flex}.cd-line.big{color:#2ecc71;font-size:32px}.cd-line.ok{color:#2ecc71}.cd-total{border-top:2px solid #1d2c3b;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:44px;font-weight:900;display:flex}.cd-pay{color:#0f1e2e;text-align:center;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:22px;display:flex}.cd-pay img{aspect-ratio:1;width:min(320px,100%)}.cd-pay b{font-size:36px}.cd-pay h2{margin:0}@media (width<=760px){.cd,.board-cols{grid-template-columns:1fr}.num{min-width:96px;font-size:44px}}.cd.solo{grid-template-columns:minmax(0,760px);justify-content:center}.svc-bar .seg button{white-space:nowrap}.btn.danger-outline{color:var(--danger);border-color:#c0392b66}.preview-table{max-height:300px;font-size:13px;overflow:auto}.preview-table td,.preview-table th{padding:6px 8px}.site{max-width:1080px;margin:0 auto;padding:22px 16px 40px}.site.center-page{place-items:center;min-height:80vh;display:grid}.site-empty{text-align:center;flex-direction:column;gap:10px;max-width:420px;display:flex}.site-hero{align-items:center;gap:18px;padding:8px 0 16px;display:flex}.site-hero h1{letter-spacing:-.5px;margin:0;font-size:30px}.site-tag{color:var(--muted);margin:4px 0 0;font-size:17px}.site-addr{color:var(--muted);margin:6px 0 0;font-size:14px}.site-logo{object-fit:cover;background:var(--panel);border:1px solid var(--line);border-radius:22px;flex:none;width:88px;height:88px}.site-logo.ph{background:var(--brand);color:#fff;border:none;place-items:center;font-size:30px;font-weight:900;display:grid}.site-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:18px;display:flex}.site-actions .btn{text-decoration:none}.site-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.site h2{margin:0 0 8px;font-size:18px}.site .pre{white-space:pre-wrap;margin:0}.site-search{max-width:220px;padding:7px 10px}.site-products{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.site-product{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.site-product img,.site-product .menu-ph{object-fit:cover;border-radius:10px;flex:none;width:64px;height:64px}.site-product .price{margin-top:4px;font-weight:800}.site-product.out{opacity:.55}.site-foot{text-align:center;color:var(--muted);margin-top:28px;font-size:13px}@media (width<=760px){.site-grid{grid-template-columns:1fr}.site-hero h1{font-size:24px}.site-logo{border-radius:16px;width:64px;height:64px}}.switch{cursor:pointer;color:var(--muted);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800;display:inline-flex}.switch input{appearance:none;background:var(--line);cursor:pointer;border:none;border-radius:999px;width:46px;height:26px;padding:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:left .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked{background:var(--accent)}.switch input:checked:after{left:23px}.switch.on{color:var(--accent)}.site-live{background:#0f9d581a;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.slug-row{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;display:flex;overflow:hidden}.slug-row input{border:none;border-radius:0}.slug-row span{color:var(--muted);white-space:nowrap;padding:0 12px;font-weight:600}.logo-prev{object-fit:cover;border:1px solid var(--line);border-radius:14px;width:56px;height:56px}.logo-prev.ph{color:var(--muted);place-items:center;font-size:12px;display:grid}.site-paid{background:#fff7e6;border:1px solid #f0d9a8;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;display:flex}.site-paid.ok{background:#e9f7ef;border-color:#b6e2c8}.receipt-setup{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;display:grid}.receipt-preview-wrap{flex-direction:column;align-items:center;gap:6px;display:flex;position:sticky;top:12px}.receipt-paper{color:#111;background:#fff;border-radius:2px;padding:14px 12px 22px;font:12px/1.3 ui-monospace,Menlo,Consolas,Liberation Mono,monospace;box-shadow:0 1px 2px #00000014,0 6px 20px #00000014;-webkit-mask:radial-gradient(6px at 50% 100%,#0000 98%,#000) 50% 100%/12px 100% repeat-x;mask:radial-gradient(6px at 50% 100%,#0000 98%,#000) 50% 100%/12px 100% repeat-x}.receipt-paper.w80{width:calc(48ch + 24px)}.receipt-paper.w58{width:calc(32ch + 24px)}.receipt-paper img{max-width:50%}.receipt-paper svg{width:100%;height:auto;display:block}@media (width<=860px){.receipt-setup{grid-template-columns:1fr}.receipt-preview-wrap{order:-1;max-width:100%;position:static;overflow-x:auto}.receipt-paper{font-size:10.5px}}@media (width<=700px){.shell{flex-direction:column}.side{border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none;flex-direction:row;align-items:center;gap:6px;width:auto;padding:6px 8px;overflow:auto hidden}.side::-webkit-scrollbar{display:none}.side-logo{padding:0 6px;font-size:16px}.side nav{flex-direction:row;flex:none;gap:2px}.navitem{white-space:nowrap;padding:8px 10px}.who{white-space:nowrap;border:0;flex-direction:row;align-items:center;gap:10px;margin:0;padding:0 6px}.who b,.who>span{display:none}.main{padding:14px 14px 60px}}.getapp{flex-direction:column;gap:18px;max-width:980px;margin:0 auto;padding:28px 18px 40px;display:flex}.getapp-head{align-items:center;gap:14px;display:flex}.getapp-head h1{margin:0}.getapp-head p{margin:2px 0 0}.getapp-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:18px;display:grid}.getapp-steps{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.getapp-qr img{width:220px;height:220px;image-rendering:pixelated;margin:0 auto}@media (width<=760px){.getapp-grid{grid-template-columns:1fr}.getapp-qr{display:none}}.getapp-head .brand-mark{flex:none;margin:0}.denoms{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.denom{grid-template-columns:52px 1fr auto;align-items:center;gap:8px;margin:0;font-weight:600;display:grid}.denom input{padding:8px 10px}.denom-total{border-top:1px solid var(--line);grid-column:1/-1;padding-top:8px}.z-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.z-big{letter-spacing:-.02em;margin:2px 0;font-size:24px;font-weight:800}.z-big.ok{color:var(--accent)}.z-big.err{color:var(--danger)}td.ok{color:var(--accent)}td.err{color:var(--danger)}@media (width<=860px){.z-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.biz-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.biz-type{text-align:left;background:var(--panel);border:2px solid var(--line);cursor:pointer;color:var(--ink);font:inherit;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.biz-type b{font-size:15px}.biz-type span{color:var(--muted);font-size:12.5px;line-height:1.35}.biz-type.on{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 8%, var(--panel))}@media (width<=700px){.biz-types{grid-template-columns:1fr}}.site-product{align-items:center}.site-add{flex:none}.site-qty{flex:none;align-items:center;gap:6px;display:flex}.site-qty span{text-align:center;min-width:20px;font-weight:700}.kiosk{background:var(--bg);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:manipulation;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.kiosk-center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;overflow-y:auto}.kiosk-center h1{letter-spacing:-.02em;margin:0;font-size:clamp(26px,4vw,44px)}.kiosk-logo{object-fit:cover;border-radius:22px;width:96px;height:96px}.kiosk-logo.ph{background:var(--brand);color:var(--brand-ink);place-items:center;font-size:34px;font-weight:800;display:grid}.kiosk-welcome{cursor:pointer}.kiosk-welcome .kiosk-logo{border-radius:32px;width:140px;height:140px;font-size:52px}.kiosk-note{color:var(--muted);margin:0;font-size:18px}.kiosk-start{background:var(--brand);color:var(--brand-ink);border:0;border-radius:20px;margin-top:18px;padding:26px 48px;font-size:24px;font-weight:800;animation:2.2s ease-in-out infinite kiosk-pulse}@keyframes kiosk-pulse{50%{transform:scale(1.04)}}.kiosk-choice{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.kiosk-choice button{border:2px solid var(--line);background:var(--panel);min-width:220px;min-height:180px;color:var(--ink);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:44px;display:flex}.kiosk-choice button b{font-size:24px}.kiosk-choice button span{color:var(--muted);font-size:15px}.kiosk-choice button:active{border-color:var(--brand);transform:scale(.98)}.kiosk-shop{flex:1;grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.kiosk-main{flex-direction:column;gap:12px;min-height:0;padding:16px 18px 0;display:flex}.kiosk-head{align-items:center;gap:12px;font-size:20px;display:flex}.kiosk-head .kiosk-logo{border-radius:12px;width:48px;height:48px;font-size:18px}.kiosk-head .kiosk-link{margin-left:auto}.kiosk-link{color:var(--brand);background:0 0;border:0;padding:12px;font-size:17px;font-weight:700}.kiosk-cats{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.kiosk-cats button{border:2px solid var(--line);background:var(--panel);color:var(--ink);border-radius:999px;flex:none;padding:12px 20px;font-size:18px;font-weight:700}.kiosk-cats button.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.kiosk-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));align-content:start;gap:12px;padding-bottom:18px;display:grid;overflow-y:auto}.kiosk-tile{border:2px solid var(--line);background:var(--panel);color:var(--ink);text-align:left;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:6px;padding:10px;display:flex;position:relative}.kiosk-tile img,.kiosk-ph{aspect-ratio:4/3;object-fit:cover;background:var(--line);border-radius:10px;width:100%}.kiosk-ph{color:var(--muted);place-items:center;font-size:40px;font-weight:800;display:grid}.kiosk-name{font-size:16px;font-weight:700;line-height:1.25}.kiosk-price{color:var(--brand);font-size:18px;font-weight:800}.kiosk-tile.picked{border-color:var(--brand)}.kiosk-tile.out{opacity:.45}.kiosk-tile:active{transform:scale(.97)}.kiosk-count{background:var(--brand);min-width:34px;height:34px;color:var(--brand-ink);border-radius:17px;place-items:center;font-size:17px;font-weight:800;display:grid;position:absolute;top:6px;right:6px}.kiosk-cart{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;gap:10px;min-height:0;padding:18px;display:flex}.kiosk-cart h2{margin:0;font-size:22px}.kiosk-lines{flex-direction:column;flex:1;gap:8px;display:flex;overflow-y:auto}.kiosk-line{align-items:center;gap:8px;font-size:16px;display:flex}.kiosk-q{border:2px solid var(--line);background:var(--bg);width:42px;height:42px;color:var(--ink);border-radius:12px;font-size:22px;font-weight:700}.kiosk-lt{text-align:right;min-width:70px;font-weight:700}.kiosk-total{border-top:1px solid var(--line);justify-content:space-between;padding-top:10px;font-size:24px;display:flex}.kiosk-go{background:var(--brand);width:100%;color:var(--brand-ink);border:0;border-radius:16px;padding:20px;font-size:22px;font-weight:800}.kiosk-go:disabled{opacity:.45}.kiosk-amount{margin:0;font-size:40px;font-weight:800}.kiosk-input{text-align:center;max-width:520px;padding:16px;font-size:20px}.kiosk-qr{background:#fff;border-radius:18px;width:min(60vh,420px);height:auto;padding:14px}.kiosk-wait{color:var(--muted);font-size:18px;animation:2.2s ease-in-out infinite kiosk-pulse}.kiosk-thanks{color:var(--accent);margin:0;font-size:26px;font-weight:800}.kiosk-number-label{color:var(--muted);font-size:20px}.kiosk-number{letter-spacing:-.04em;font-size:clamp(110px,22vw,200px);font-weight:900;line-height:1}.kiosk-next{max-width:560px;margin:0;font-size:20px}@media (width<=860px),(orientation:portrait){.kiosk-shop{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.kiosk-cart{border-left:0;border-top:1px solid var(--line);max-height:42vh}.kiosk-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.kp-btn{color:#0a6634;cursor:pointer;font-weight:800;font:inherit;background:#fff;border:2px solid #0a6634;border-radius:12px;justify-content:center;align-items:center;gap:.45em;font-weight:800;display:inline-flex}.kp-btn img{width:auto;height:1.35em;display:block;transform:translateY(.08em)}.kp-btn.big{width:100%;padding:15px 18px;font-size:18px}.kp-btn.md{padding:11px 16px;font-size:16px}.kp-btn.sm{border-radius:10px;padding:7px 12px;font-size:14px}.kp-btn:hover:not(:disabled){background:#f1faf4}.kp-btn:disabled{opacity:.55;cursor:default}.kiosk-kp{width:auto;height:56px;margin:4px 0 6px}.navbadge.alert{background:var(--danger);animation:1.6s ease-in-out infinite kiosk-pulse}.mbtn.kiripay{flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px 8px;display:flex}.mbtn.kiripay img{width:auto;max-width:100%;height:24px}.mbtn.kiripay .kp-sub{opacity:.8;font-size:11px;font-weight:700}.mbtn.kiripay .kp-d,.mbtn.kiripay .kp-w,.mbtn.kiripay.on .kp-g,.mbtn.kiripay.on .kp-d{display:none}.mbtn.kiripay.on .kp-w{display:block}html[data-theme=dark] .mbtn.kiripay:not(.on) .kp-g{display:none}html[data-theme=dark] .mbtn.kiripay:not(.on) .kp-d{display:block}.kpq-btn{box-shadow:none;color:inherit;font:inherit;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:0;display:inline-flex}.kpq-btn img{border-radius:5px;width:22px;height:22px}.cat-tabs{scrollbar-width:none;flex:none;gap:8px;padding:2px 0 6px;display:flex;overflow-x:auto}.cat-tabs::-webkit-scrollbar{display:none}.cat-tabs button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:9px 16px;font-size:14px;font-weight:700}.cat-tabs button small{opacity:.65;margin-left:6px;font-weight:600}.cat-tabs button.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}tr.rowedit td{vertical-align:middle;background:#0a4d8c12}tr.rowedit input,tr.rowedit select{width:100%;min-width:0;padding:7px 9px;font-size:14px}.cell-num{width:86px}.cell-num.sm{width:70px}.catlist{flex-direction:column;gap:8px;max-height:50vh;display:flex;overflow-y:auto}.catrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.catrow input{flex:1;min-width:120px}.catwarn{flex-basis:100%}.side-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.side-top .side-logo{padding-right:0}.theme-btn{border:1px solid var(--line);background:var(--bg);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;margin-bottom:10px;padding:0;display:inline-flex}.theme-btn:hover{border-color:var(--brand);color:var(--brand)}.theme-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}html[data-theme=dark] .site-paid{background:#2b2412;border-color:#5a4a1f}html[data-theme=dark] .site-paid.ok{background:#10281b;border-color:#1f5a3a}@media (width<=700px){.side-top{flex:none}.theme-btn{width:36px;height:36px;margin-bottom:0}}.auth-theme{z-index:5;position:fixed;top:12px;right:12px}.auth-theme .theme-btn{margin-bottom:0}.modal.si-modal{width:min(1180px,100%);max-height:94vh}label.btn{cursor:pointer}label.btn.disabled{opacity:.5;pointer-events:none}.banner.warn{background:#b7791f29}.ok-banner{color:var(--accent);background:#0f9d5824;border-radius:10px;padding:10px 14px;font-weight:700}.badge.new{color:var(--brand);background:#3d8bd62e}.si-wait{align-items:center;gap:14px;padding:28px 8px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;flex:none;width:28px;height:28px;animation:.8s linear infinite sispin}@keyframes sispin{to{transform:rotate(360deg)}}.si-head{grid-template-columns:2fr 1fr 1fr auto;align-items:end;gap:10px;display:grid}.si-view{gap:12px;padding-bottom:8px;display:flex}.si-file{border:1px solid var(--line);background:var(--bg);text-align:center;border-radius:10px;max-height:300px;overflow:auto}.si-file img{max-width:100%;margin:0 auto;display:block}.si-file iframe{border:0;width:100%;height:300px}.si-tablewrap{border:1px solid var(--line);border-radius:10px;max-height:52vh;overflow:auto}.si-table{border-collapse:collapse;width:100%;font-size:14px}.si-table th{z-index:2;background:var(--panel);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;position:sticky;top:0}.si-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.si-table tr.si-skip td{opacity:.55}.si-table tr.si-bad td{background:#c0392b14}.si-table tr.si-check td{background:#b7791f14}.si-desc{min-width:190px;max-width:280px}.si-add{color:var(--accent);white-space:nowrap;font-weight:700}.si-new{white-space:nowrap;font-weight:800}.si-warn{color:var(--warn);font-weight:600}.si-cost{color:var(--muted);align-items:flex-start;gap:5px;max-width:230px;margin-top:4px;line-height:1.3;display:flex}.si-cost input{width:auto;margin-top:3px}.si-newrow td{background:#3d8bd60f}.si-newform{grid-template-columns:2fr 1fr .7fr 1fr 1fr 1.4fr;gap:10px;display:grid}.si-bar{background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0 2px;display:flex;position:sticky;bottom:-22px}.si-pick{min-width:210px;position:relative}.si-pickbtn{text-align:left;background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);cursor:pointer;font:inherit;border-radius:8px;padding:8px 10px}.si-pickbtn.empty{border-color:var(--danger);color:var(--danger);font-weight:700}.si-pop{z-index:20;background:var(--panel);border:1px solid var(--line);width:340px;max-width:80vw;box-shadow:var(--shadow);border-radius:10px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.si-opts{gap:2px;max-height:240px;display:grid;overflow:auto}.si-opt{text-align:left;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;padding:7px 8px}.si-opt:hover{background:var(--bg)}.si-h{padding:4px 8px}.si-foot{border-top:1px solid var(--line);justify-content:space-between;padding-top:6px;display:flex}@media (width<=760px){.si-head,.si-newform{grid-template-columns:1fr 1fr}}.adm-stats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;display:grid}.adm-stat{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:12px;padding:14px 16px}.adm-stat.bad{border-left-color:var(--danger)}.adm-stat.warn{border-left-color:var(--warn)}.adm-stat.good{border-left-color:var(--accent)}.adm-stat-l{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}.adm-stat-v{margin-top:2px;font-size:26px;font-weight:800;line-height:1.2}.adm-stat-s{color:var(--muted);margin-top:2px;font-size:13px}.adm-pill{background:var(--line);color:var(--ink);white-space:nowrap;vertical-align:middle;border-radius:999px;padding:1px 9px;font-size:12px;font-weight:700;display:inline-block}.adm-pill.good{color:var(--accent);background:#0f9d5829}.adm-pill.warn{color:var(--warn);background:#b7791f2e}.adm-pill.bad{color:var(--danger);background:#c0392b29}.adm-pill.info{color:var(--brand);background:#3d8bd629}.adm-chart svg{display:block}.shell .side .side-logo{font-size:18px;font-weight:800}button.navitem{width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;font-weight:600}button.navitem:hover{background:var(--bg)}.support-bar{z-index:30;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex;position:sticky;top:0}.thread{gap:10px;max-height:52vh;overflow:auto}.msg{border:1px solid var(--line);background:var(--bg);border-radius:12px;max-width:86%;padding:10px 12px}.msg.admin{background:#3d8bd61f;border-color:#3d8bd659;align-self:flex-end}.msg.internal{background:#b7791f24;border-style:dashed;border-color:#b7791f80}.msg-h{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;font-size:13px;display:flex}.ticket-row{text-align:left;background:var(--bg);border:1px solid var(--line);cursor:pointer;width:100%;font:inherit;color:var(--ink);border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.ticket-row:hover{border-color:var(--brand)}@media (width<=760px){.msg{max-width:100%}.adm-stat-v{font-size:22px}}@media print{.side,.no-print{display:none!important}.share-page{max-width:none}}@media (width<=760px){.main .spread{flex-wrap:wrap;gap:10px}.main .spread>div:first-child{flex:220px;min-width:0}.adm-stats{grid-template-columns:repeat(2,1fr);gap:8px}.adm-stat{padding:10px 12px}.adm-stat-s{font-size:12px}}.adm-lines table{min-width:640px}.adm-lines input{padding:8px 10px}label.row input[type=checkbox],label.row input[type=radio]{flex:none;width:auto}img.brand-mark{object-fit:contain;background:0 0;border-radius:0;display:block}.logo{align-items:center;display:inline-flex}.logo img{width:auto;display:block}.logo-dark,:root[data-theme=dark] .logo-light{display:none!important}:root[data-theme=dark] .logo-dark{display:block!important}.side-logo .logo{padding:0}.auth-logo{justify-content:center;margin:0 0 4px;display:flex}.bc-paste{align-items:flex-start;gap:10px;display:flex}.bc-paste textarea{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px}.bc-paste .btn{white-space:nowrap}.bc-progress{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bc-progress .bar{background:var(--line);border-radius:99px;flex:200px;height:8px;overflow:hidden}.bc-progress .bar span{background:var(--brand);height:100%;transition:width .3s;display:block}.bc-bar{flex-wrap:wrap}.bc-list{flex-direction:column;gap:10px;display:flex}.bc-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.bc-card.ready{border-color:#0f9d588c}.bc-card.dupe{opacity:.65}.bc-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.bc-photo{border:1px dashed var(--line);background:var(--bg);cursor:pointer;width:64px;height:64px;color:var(--muted);border-radius:10px;flex:none;padding:0;font-size:12px;font-weight:700;overflow:hidden}.bc-photo img{object-fit:contain;background:#fff;width:100%;height:100%;display:block}.bc-id{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.bc-id code{font-size:15px;font-weight:700}.bc-flags{flex-wrap:wrap;gap:6px;display:flex}.bc-flag{background:var(--line);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.bc-flag.warn{color:var(--warn);background:#b7791f29}.bc-fields{grid-template-columns:repeat(4,1fr);gap:0 10px;display:grid}.bc-fields .wide2{grid-column:span 3}.bc-fields .wide3{grid-column:1/-1}.bc-fields label{margin:6px 0 3px}.bc-fields input,.bc-fields select,.bc-fields textarea{padding:8px 10px}.bc-fields input.need{border-color:var(--warn)}@media (width<=760px){.bc-fields{grid-template-columns:repeat(2,1fr)}.bc-fields .wide2{grid-column:1/-1}.bc-paste{flex-direction:column;align-items:stretch}}.link.danger{color:var(--danger)}.badge.q-requested,.badge.q-sent{color:var(--warn);background:#b7791f26}.badge.q-accepted,.badge.q-converted{color:var(--accent);background:#0f9d5826}.badge.q-declined,.badge.q-expired,.badge.q-cancelled{color:var(--danger);background:#c0392b21}.badge.q-draft{background:var(--line);color:var(--muted)}.q-line{border-bottom:1px solid var(--line);padding-bottom:8px}.q-line:last-of-type{border-bottom:0}.q-rule{border:0;border-top:1px solid var(--line);width:100%;margin:2px 0}.q-timeline{flex-direction:column;gap:3px;margin:0;padding-left:18px;font-size:14px;display:flex}.q-search{position:relative}.q-pop{z-index:20;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.q-pop button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.q-pop button:last-child{border-bottom:0}.q-pop button:hover{background:#0a4d8c12}.q-lines input{padding:7px 9px}.q-lines input.need{border-color:var(--danger)}.q-totals{border-top:1px solid var(--line);flex-direction:column;gap:4px;width:min(320px,100%);margin-left:auto;padding-top:8px;display:flex}.quote-edit .grid-3{align-items:start}.stmt-sum{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.stmt-sum>div{flex-direction:column;display:flex}.stmt-sum b{font-size:17px}@media (width<=640px){.stmt-sum{grid-template-columns:repeat(2,1fr)}}.stmt th,.stmt td{padding:9px 8px}.stmt td:nth-child(2){min-width:130px}.share-page.portal{max-width:760px}.portal .tabs{scrollbar-width:thin;overflow-x:auto}.portal .tabs .tab{flex:1 0 auto}@media (width<=520px){.portal .tabs .tab{padding-left:8px;padding-right:8px;font-size:14px}.portal .tab .count{margin-left:3px}}@media print{.portal .tabs,.portal .balance,.portal .row .btn,.portal .link{display:none!important}}.bc-price{margin:-4px 0 0}.bc-confirm{border-color:var(--warn,#b7791f);background:var(--panel)}.req{color:var(--muted,#6b7280);margin-left:4px;font-size:11px;font-weight:400}.ib-box{border:1px dashed var(--line);border-radius:10px;padding:10px}.viz{--v1:#2a78d6;--v2:#eb6834;--v3:#1baf7a;--v4:#eda100;--v5:#e87ba4;--vref:#8593a1;--surface:var(--panel)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .viz{--v1:#3987e5;--v2:#d95926;--v3:#199e70;--v4:#c98500;--v5:#d55181;--vref:#7a8ca0}}:root[data-theme=dark] .viz{--v1:#3987e5;--v2:#d95926;--v3:#199e70;--v4:#c98500;--v5:#d55181;--vref:#7a8ca0}.viz-wrap svg{max-width:100%;display:block;overflow:visible}.viz-wrap svg:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.viz-grid{stroke:var(--line);stroke-width:1px}.viz-axisline{stroke:var(--muted);stroke-width:1px;opacity:.5}.viz-cross{stroke:var(--muted);stroke-width:1px;opacity:.6}.viz-axis{fill:var(--muted);font-size:11px}.viz-label{fill:var(--muted);font-size:12px}.viz-label.strong{fill:var(--ink);font-weight:700}.viz-tip{z-index:5;pointer-events:none;background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:3px;min-width:150px;padding:8px 10px;font-size:13px;display:flex;position:absolute}.viz-tip-row{align-items:center;gap:6px;display:flex}.viz-tip-row span{color:var(--muted);flex:1}.viz-legend{flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.viz-legend li{align-items:center;gap:6px;display:flex}.viz-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}@media (width<=520px){.viz-big{font-size:21px}.viz-tile{padding:12px}}.viz-tile{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.viz-big{letter-spacing:-.02em;font-size:26px;font-weight:800;line-height:1.15}.viz-live-status{align-items:center;gap:8px;display:flex}.viz-dot{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:2s infinite viz-pulse;box-shadow:0 0 #0f9d5880}.viz-dot.off{background:var(--muted);animation:none}@keyframes viz-pulse{70%{box-shadow:0 0 0 7px #0f9d5800}to{box-shadow:0 0 #0f9d5800}}@media (prefers-reduced-motion:reduce){.viz-dot{animation:none}}.viz-stack{border-radius:4px;gap:2px;height:22px;display:flex;overflow:hidden}.viz-stack span{min-width:3px}.viz-mix{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.viz-mix li{grid-template-columns:12px 1fr auto 40px;align-items:center;gap:8px;font-size:14px;display:grid}.viz-mix li .muted{text-align:right}.viz-sw{border-radius:3px;width:12px;height:12px}.viz-note{color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13px}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.seg button{white-space:nowrap}.helptip{border:1.5px solid var(--muted);width:18px;height:18px;color:var(--muted);cursor:pointer;vertical-align:1px;text-transform:none;letter-spacing:0;background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-left:6px;padding:0;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.helptip:hover,.helptip.on{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.helptip:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.helptip-pop{z-index:1000;background:var(--panel);color:var(--ink);border:1px solid var(--line);text-transform:none;letter-spacing:0;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;font-size:14px;font-weight:400;line-height:1.45;display:flex;position:fixed;box-shadow:0 10px 30px #0f1e2e40}.helptip-title{font-weight:800}.helptip-eg{color:var(--muted);font-size:13px}.help{background:var(--bg);min-height:100vh;color:var(--ink)}.help-top{z-index:20;background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.help-top-title{color:var(--muted);font-weight:800}.help-body{grid-template-columns:260px minmax(0,1fr);gap:28px;max-width:1180px;margin:0 auto;padding:24px 20px 80px;display:grid}.help-toc{flex-direction:column;align-self:start;gap:14px;max-height:calc(100vh - 90px);padding-right:8px;font-size:14px;display:flex;position:sticky;top:72px;overflow:auto}.help-toc>div{flex-direction:column;gap:2px;display:flex}.help-toc a{color:var(--muted);border-radius:6px;padding:3px 8px;text-decoration:none}.help-toc a:hover{background:var(--panel);color:var(--ink)}.help-toc a.help-toc-part{color:var(--ink);font-weight:800}.help-main{min-width:0;max-width:760px;line-height:1.6}.help-hero h1{margin:0 0 8px;font-size:32px}.help-hero p{margin:0 0 20px;font-size:17px}.help-part{margin-top:44px;scroll-margin-top:80px}.help-part>h2{border-bottom:2px solid var(--brand);margin:0 0 4px;padding-bottom:8px;font-size:26px}.help-blurb{color:var(--muted);margin:8px 0 16px}.help-sec{margin-top:30px;scroll-margin-top:80px}.help-sec h3{margin:0 0 8px;font-size:20px}.help-sec h4{margin:20px 0 6px;font-size:16px}.help-sec p,.help-sec ul,.help-sec ol{margin:8px 0}.help-sec li{margin:4px 0}.help-steps{padding-left:22px}.help-steps li::marker{color:var(--brand);font-weight:800}.help-note{border-left:4px solid var(--brand);background:var(--panel);border-radius:10px;flex-direction:column;gap:2px;margin:12px 0;padding:10px 14px;display:flex}.help-note.warn{border-left-color:#d9822b}.help-note b{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.help-shot{margin:16px 0;padding:0}.help-shot img{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;height:auto;display:block}.help-shot figcaption{color:var(--muted);margin-top:6px;font-size:13px}.help-callouts{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.help-callouts li{align-items:flex-start;gap:10px;margin:0;display:flex}.help-n{color:#fff;background:#d6336c;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:12px;font-weight:800;display:inline-flex}.help-cta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;display:flex}.help-find{align-items:center;gap:12px;margin:12px 0;display:flex}.help-find input{flex:1}.help-faq-group h3{margin:26px 0 8px;font-size:18px}.help-faq{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:8px 0;padding:0 14px}.help-faq summary{cursor:pointer;padding:12px 0;font-weight:700}.help-faq p{margin:0 0 12px}@media (width<=860px){.help-body{grid-template-columns:1fr;padding-top:12px}.help-toc{flex-flow:wrap;max-height:none;position:static}.help-toc>div:not(:first-child) a:not(.help-toc-part){display:none}.help-top{flex-wrap:wrap}}.help-print .help-body{max-width:none;padding:0;display:block}.help-print .help-main{max-width:none}.help-print .help-top,.help-print .help-toc,.help-print .no-print{display:none}.help-print .help-part{break-before:page;margin-top:0}.help-print .help-hero+.help-part{break-before:auto}.help-print .help-shot,.help-print .help-faq,.help-print .help-note{break-inside:avoid}.help-print .help-sec{margin-top:18px}.help-print .help-sec h3,.help-print .help-sec h4{break-after:avoid}.help-print .help-shot img{width:auto;max-width:100%;max-height:95mm;margin:0 auto}.help-print .help-shot{margin:10px 0}
