:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--line:#e6e8ec;--text:#14171f;--muted:#6b7280;--faint:#9aa1ad;--accent:#436ad3;--accent-soft:#436ad31a;--accent-text:#fff;--up:#1f8a5b;--up-soft:#1f8a5b1a;--down:#c2412d;--down-soft:#c2412d1a;--shadow:0 1px 2px #14171f0a, 0 4px 16px #14171f0a;--radius:20px;--radius-sm:12px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1015;--surface:#161920;--surface-2:#1d2129;--line:#262a33;--text:#eef0f4;--muted:#9aa1ad;--faint:#6b7280;--accent:#6f8fe6;--accent-soft:#6f8fe624;--accent-text:#0e1015;--up:#4cc38a;--up-soft:#4cc38a1f;--down:#f07a66;--down-soft:#f07a661f;--shadow:none}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1015;--surface:#161920;--surface-2:#1d2129;--line:#262a33;--text:#eef0f4;--muted:#9aa1ad;--faint:#6b7280;--accent:#6f8fe6;--accent-soft:#6f8fe624;--accent-text:#0e1015;--up:#4cc38a;--up-soft:#4cc38a1f;--down:#f07a66;--down-soft:#f07a661f;--shadow:none}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:Inter,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums}.topbar{z-index:10;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-inner{align-items:center;gap:24px;max-width:1120px;margin:0 auto;padding:14px 32px;display:flex}.logo{width:auto;height:22px;display:block}.nav{gap:4px;display:flex}.nav a{color:var(--muted);border-radius:999px;padding:7px 14px;font-weight:500;transition:background-color .15s,color .15s}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.spacer{flex:1}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:36px;height:36px;color:var(--muted);border-radius:999px;place-items:center;transition:color .15s,border-color .15s;display:inline-grid}.icon-btn:hover{color:var(--text);border-color:var(--faint)}.text-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 4px;font-weight:500}.text-btn:hover{color:var(--text)}.page{max-width:1120px;margin:0 auto;padding:48px 32px 96px}.venue-select{appearance:none;border:1px solid var(--line);background:var(--surface);cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-repeat:no-repeat;background-size:5px 5px;border-radius:999px;max-width:220px;padding:7px 34px 7px 14px;font-weight:500}.eyebrow{color:var(--muted);margin:0 0 8px;font-size:15px;font-weight:500}.hero{margin-bottom:40px}.hero-number{letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:clamp(52px,9vw,104px);font-weight:650;line-height:1.02}.hero-number .cur{color:var(--muted);letter-spacing:-.01em;margin-left:.18em;font-size:.36em;font-weight:500}.deltas{color:var(--muted);flex-wrap:wrap;gap:10px 22px;margin-top:20px;display:flex}.delta{align-items:center;gap:8px;display:inline-flex}.chip{font-variant-numeric:tabular-nums;background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:14px;font-weight:600;display:inline-flex}.chip.up{background:var(--up-soft);color:var(--up)}.chip.down{background:var(--down-soft);color:var(--down)}.stamp{color:var(--faint);margin-top:14px;font-size:13px}.kpis{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);padding:22px 24px}.kpi .label{color:var(--muted);font-size:14px}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:28px;font-weight:600}.kpi .value small{color:var(--muted);margin-left:4px;font-size:15px;font-weight:500}.grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);min-width:0;padding:24px}.card.wide{grid-column:1/-1}.card h2{margin:0 0 18px;font-size:15px;font-weight:600}.empty{color:var(--faint);padding:8px 0}.shares{gap:16px;margin:0;padding:0;list-style:none;display:grid}.share-head{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.share-head .name{font-weight:500}.share-head .sum{font-variant-numeric:tabular-nums}.share-head .pct{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:8px}.track{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.fill{border-radius:inherit;background:var(--accent);height:100%}table.list{border-collapse:collapse;width:100%}table.list th{text-align:left;color:var(--faint);padding:0 0 10px;font-size:13px;font-weight:500}table.list td{border-top:1px solid var(--line);vertical-align:top;padding:11px 0}table.list .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:16px}table.list .rank{color:var(--faint);font-variant-numeric:tabular-nums;width:28px}table.list .muted{color:var(--muted)}.toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:40px;display:flex}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:13px}.input{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);outline:none;min-height:44px;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.btn{border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);cursor:pointer;border:0;min-height:44px;padding:10px 20px;font-weight:600;transition:transform .12s,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{background:var(--surface);color:var(--text);border:1px solid var(--line);font-weight:500}.presets{flex-wrap:wrap;gap:8px;display:flex}.bars{align-items:flex-end;gap:4px;height:220px;padding-top:8px;display:flex}.bar{flex-direction:column;flex:1 1 0;justify-content:flex-end;min-width:0;height:100%;display:flex;position:relative}.bar .col{background:var(--accent);opacity:.9;border-radius:6px 6px 2px 2px;min-height:2px;transition:opacity .15s}.bar.zero .col{background:var(--surface-2)}.bar:hover .col{opacity:1}.bar .tip{background:var(--text);color:var(--bg);white-space:nowrap;opacity:0;pointer-events:none;font-variant-numeric:tabular-nums;z-index:2;border-radius:8px;padding:4px 8px;font-size:12px;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.bar:hover .tip{opacity:1}.axis{gap:4px;margin-top:8px;display:flex}.axis span{text-align:center;min-width:0;color:var(--faint);font-variant-numeric:tabular-nums;flex:1 1 0;font-size:11px;overflow:hidden}.login-wrap{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:24px;padding:40px 36px}.login-card .logo{height:26px;margin-bottom:36px}.login-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:24px}.login-card p.sub{color:var(--muted);margin:0 0 28px}.login-card form{gap:16px;display:grid}.login-card .btn{width:100%;margin-top:8px}.error{color:var(--down);background:var(--down-soft);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px}.login-theme{position:fixed;top:16px;right:16px}.center-note{color:var(--muted);text-align:center;padding:80px 0}.skeleton{background:var(--surface-2);border-radius:12px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (max-width:720px){.topbar-inner{flex-wrap:wrap;gap:12px;padding:12px 16px}.logo{height:18px}.nav{order:3;width:100%}.nav a{text-align:center;flex:1}.page{padding:28px 16px 64px}.hero{margin-bottom:28px}.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpis .kpi:first-child{grid-column:1/-1}.kpi{border-radius:16px;padding:16px 18px}.kpi .value{font-size:22px}.grid{grid-template-columns:1fr;gap:10px}.card{border-radius:16px;padding:20px 18px}.venue-select{max-width:150px}.bars{gap:2px;height:160px}.axis{gap:2px}.login-card{padding:32px 24px}.toolbar{margin-bottom:28px}.toolbar .field{flex:130px}}:root{--warn:#b26b00;--warn-soft:#d68c141f}:root[data-theme=dark]{--warn:#f0b354;--warn-soft:#f0b35421}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--warn:#f0b354;--warn-soft:#f0b35421}}.title{letter-spacing:-.025em;margin:0;font-size:32px;font-weight:650}.menu-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.warn-text{color:var(--warn);font-weight:500}.accent-text{color:var(--accent);font-weight:500}.text-btn.accent{color:var(--accent)}.text-btn.danger{color:var(--down)}.text-btn:disabled{opacity:.4;cursor:default}.hint{color:var(--faint);font-size:13px}.field-label{color:var(--muted);font-size:13px}.row-gap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}select.input{cursor:pointer}.menu-layout{grid-template-columns:260px 1fr;align-items:start;gap:16px;display:grid}.cats{padding:18px 12px;position:sticky;top:84px}.cats h2{margin-bottom:10px;padding:0 10px}.cats ul{gap:2px;margin:0 0 12px;padding:0;list-style:none;display:grid}.cat-row{border-radius:10px;align-items:center;display:flex}.cat-row:hover{background:var(--surface-2)}.cat{cursor:pointer;text-align:left;width:100%;min-width:0;color:var(--text);background:0 0;border:0;border-radius:10px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.cat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.cat .count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px}.cat-tools{padding-right:4px;display:none}.cat-row:hover .cat-tools,.cat-row:focus-within .cat-tools{display:inline-flex}.tool{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px}.tool:hover:not(:disabled){background:var(--surface);color:var(--text)}.tool:disabled{opacity:.3;cursor:default}.cat-rename .input,.cat-add .input{width:100%;min-width:0;min-height:38px;padding:7px 12px}.cat-add{border-top:1px solid var(--line);gap:8px;padding:12px 4px 0;display:flex}.cat-add .btn{min-height:38px;padding:0 14px}.items-col{min-width:0}.items-bar{gap:12px;margin-bottom:16px;display:flex}.search{flex:1;min-width:0}.items{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.item-card{text-align:left;cursor:pointer;width:100%;height:100%;color:var(--text);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;padding:0;transition:border-color .15s,transform .15s;display:flex;overflow:hidden}.item-card:hover{border-color:var(--faint)}.item-card:active{transform:scale(.99)}.item-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.thumb{aspect-ratio:16/10;background:var(--surface-2);width:100%;color:var(--faint);place-items:center;font-size:28px;font-weight:600;display:grid}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.item-body{gap:2px;padding:12px 14px 14px;display:grid}.item-name{font-weight:600}.item-meta{color:var(--faint);font-size:13px}.item-price{font-variant-numeric:tabular-nums;margin-top:4px}.warn-tag,.warn-note{color:var(--warn);background:var(--warn-soft);border-radius:8px;justify-self:start;align-items:center;gap:6px;margin-top:8px;padding:3px 8px;font-size:12.5px;font-weight:500;display:inline-flex}.warn-note{margin:-4px 0 0;padding:6px 10px;font-size:13.5px}.warn-dot{background:currentColor;border-radius:999px;flex:none;width:6px;height:6px}.sheet{background:var(--surface);width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:none;color:var(--text);border:0;margin:0 0 0 auto;padding:0;animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in;box-shadow:-8px 0 40px #0000001f}.sheet::backdrop{background:#0e10155c}@keyframes sheet-in{0%{opacity:0;transform:translate(24px)}}.sheet form{flex-direction:column;height:100%;display:flex}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px 24px;display:flex}.sheet-head h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;font-weight:600;overflow:hidden}.sheet-body{flex:1;align-content:start;gap:16px;padding:22px 24px;display:grid;overflow-y:auto}.sheet-foot{border-top:1px solid var(--line);align-items:center;gap:10px;padding:16px 24px;display:flex}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.two>.field{min-width:0}.field .input{width:100%}.photo-row{align-items:center;gap:16px;display:flex}.photo-box{background:var(--surface-2);border-radius:14px;flex:none;place-items:center;width:112px;height:84px;display:grid;overflow:hidden}.photo-box img{object-fit:cover;width:100%;height:100%}.photo-empty{color:var(--faint);font-size:28px;font-weight:600}.photo-actions{gap:6px;display:grid}.groups{border-top:1px solid var(--line);gap:10px;padding-top:16px;display:grid}.groups-head{justify-content:space-between;align-items:center;display:flex}.group{background:var(--surface-2);border-radius:14px;gap:8px;padding:12px;display:grid}.group-top{grid-template-columns:1fr 64px 64px auto;align-items:end;gap:8px;display:grid}.group .input{background:var(--surface);width:100%;min-width:0;min-height:40px;padding:8px 12px}.mini{gap:2px;display:grid}.mini span{color:var(--muted);font-size:11.5px}.option{grid-template-columns:1fr 120px 28px;align-items:center;gap:8px;display:grid}.group>.text-btn{justify-self:start}.add-device{align-items:end;margin-bottom:16px}.add-device .grow{flex:260px}.add-device .input{width:100%}.pairing{justify-items:start;gap:12px;margin-bottom:16px;display:grid}.pair-code{letter-spacing:.08em;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:clamp(40px,8vw,64px);font-weight:650;line-height:1}.pair-code .sep{width:.4em;display:inline-block}.cmd{background:var(--surface-2);border-radius:var(--radius-sm);align-items:center;gap:10px;width:100%;padding:8px 8px 8px 14px;display:flex}.cmd code{white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:13.5px;overflow-x:auto}.dev-name{font-weight:500}.status{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:14px;display:inline-flex}.status .dot{background:var(--faint);border-radius:999px;width:8px;height:8px}.status.online{color:var(--up)}.status.online .dot{background:var(--up);box-shadow:0 0 0 3px var(--up-soft)}.status.waiting{color:var(--warn)}.status.waiting .dot{background:var(--warn)}.status.revoked{color:var(--faint)}@media (max-width:720px){.title{font-size:26px}.menu-layout{grid-template-columns:1fr}.cats{position:static}.cat-tools{display:inline-flex}.items{grid-template-columns:1fr 1fr;gap:10px}.items-bar{flex-wrap:wrap}.search{flex-basis:100%}.item-body{padding:10px 12px 12px}.two{grid-template-columns:1fr}.sheet-body,.sheet-head,.sheet-foot{padding-left:16px;padding-right:16px}.group-top{grid-template-columns:1fr 56px 56px}.group-top .text-btn{grid-column:1/-1;justify-self:start}.option{grid-template-columns:1fr 96px 28px}table.devices th:nth-child(2),table.devices td:nth-child(2){display:none}}
