:root{--bg:#f5f6f8;--paper:#fdfdfe;--ink:#20242b;--ink2:#5c636e;--ink3:#8d939c;--line:#e2e5ea;--soft:#eef0f3;--accent:#2456c9;--accent-soft:#e7eefb;--warn:#c47318;--warn-soft:#fbefe1;--live:#23995a;--live-soft:#e6f4ec;--hover:#f8f9fb;--stripe:#f2f3f6;--plate:#e6e9ee;--line-strong:#c9ced6;--off:#c3c8cf;--btn-bg:var(--accent);--btn-ink:#fff;--btn-line:var(--accent);--chart-grid:#eceef1;--chart-last:#b7bcc4;--r:10px;--gap:16px;--font:"Helvetica Neue", Helvetica, Arial, Roboto, "Segoe UI", sans-serif;--num:var(--font);--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=night]{--bg:#14171c;--paper:#1a1e24;--ink:#e4e7eb;--ink2:#9aa1ab;--ink3:#6b727c;--line:#ffffff14;--soft:#252a32;--accent:#46d483;--accent-soft:#46d48324;--warn:#f5a742;--warn-soft:#f5a74224;--live:#46d483;--live-soft:#46d48324;--hover:#1f242b;--stripe:#ffffff09;--plate:#2b313a;--line-strong:#fff3;--off:#4a515b;--btn-bg:#46d48329;--btn-ink:#46d483;--btn-line:#46d48373;--chart-grid:#ffffff12;--chart-last:#5b6472;--num:"DIN Alternate", Bahnschrift, "D-DIN", var(--font);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{font:13.5px/1.5 var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.rise{animation:.45s cubic-bezier(.16,1,.3,1) both rise}@media (prefers-reduced-motion:reduce){.rise{animation:none}}.app{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--paper);border-right:1px solid var(--line);flex-direction:column;gap:14px;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0}.org{align-items:center;gap:10px;padding:0 6px;display:flex}.mk{background:var(--soft);border:1px solid var(--line);width:34px;height:34px;color:var(--ink2);border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.org b{font-size:13.5px;font-weight:600;line-height:1.25;display:block}.org span{color:var(--ink3);font-size:11.5px;display:block}.cp-select,.cp-name{border:1px solid var(--line);background:var(--paper);width:calc(100% - 4px);color:var(--ink2);border-radius:8px;margin:0 2px;padding:7px 28px 7px 10px;font-size:12.5px;display:block}.cp-select{cursor:pointer;appearance:none;background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235c636e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center}.cp-name{text-overflow:ellipsis;white-space:nowrap;padding-right:10px;overflow:hidden}.side nav{gap:1px;display:grid}.nv{text-align:left;cursor:pointer;width:100%;color:var(--ink2);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:13.5px;display:flex}.nv:hover{color:var(--ink);background:var(--soft)}.nv.on{background:var(--accent-soft);color:var(--accent);font-weight:500}.side .sp{flex:1}.who{border-top:1px solid var(--line);color:var(--ink3);padding:12px 8px 0;font-size:12px;line-height:1.45}.who b{color:var(--ink);font-size:13px;font-weight:500;display:block}.link{text-align:left;cursor:pointer;color:var(--ink2);background:0 0;border:0;padding:0 8px;font-size:12.5px}.link:hover{color:var(--ink);text-decoration:underline}.main{min-width:0;max-width:1240px;padding:26px 34px 40px}.head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 16px;margin-bottom:18px;display:flex}.title{letter-spacing:-.01em;align-items:center;gap:12px;margin:0;font-size:26px;font-weight:600;line-height:1.2;display:flex}.head-sub{color:var(--ink3);flex-wrap:wrap;align-items:center;gap:7px;margin-top:4px;font-size:12.5px;display:flex}.summary{color:var(--ink2);margin:4px 0 0;font-size:15px}.summary b{color:var(--ink);font-weight:600}.stamp{color:var(--ink3);font-size:12.5px}.dot{background:var(--live);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot.off{background:var(--off)}.flag{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;margin-right:6px;display:inline-block}.livepill{color:var(--live);background:var(--live-soft);letter-spacing:0;border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 9px;font-size:12.5px;font-weight:500;display:inline-flex}@keyframes pulse{0%{box-shadow:0 0 #23995a73}to{box-shadow:0 0 0 8px #23995a00}}@media (prefers-reduced-motion:no-preference){.livepill .dot{animation:2s ease-out infinite pulse}}.grid{gap:var(--gap);margin-bottom:var(--gap);display:grid}.split{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start}.halves{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);min-width:0;padding:16px 22px 18px}.card+.card{margin-top:var(--gap)}.grid>.card+.card{margin-top:0}.card-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.card-head h2{margin:0;font-size:14.5px;font-weight:600}.more{cursor:pointer;color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:0;font-size:12.5px}.more:hover{text-decoration:underline}.note{color:var(--ink3);font-size:12px}.lbl{color:var(--ink2);font-size:12.5px}.sub{color:var(--ink2);margin-top:3px;font-size:12.5px}.up{color:var(--accent);font-weight:600}.figs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sheet-figs{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);margin-bottom:var(--gap)}.chart-card{margin-bottom:var(--gap)}.chart-card .figs{border-top:1px solid var(--line);margin:12px -22px -18px}.fig{border-left:1px solid var(--line);min-width:0;padding:14px 22px}.fig:first-child{border-left:0}.fig .v{font-size:24px;font-weight:400;font-family:var(--num);font-variant-numeric:tabular-nums;margin-top:1px}.fig .v small{color:var(--ink3);font-size:13px}.fig .n{color:var(--ink3);font-size:12px}.fig .v.word{text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:17px;overflow:hidden}.money{letter-spacing:-.02em;font-size:46px;font-weight:300;line-height:1.1;font-family:var(--num);font-variant-numeric:tabular-nums;margin-top:2px}.money span{color:var(--ink3);margin-right:6px;font-size:22px;font-weight:400}.chart-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.key{color:var(--ink2);gap:18px;font-size:12px;display:flex}.key i{border-top:2px solid var(--accent);vertical-align:middle;width:18px;height:0;margin-right:6px;display:inline-block}.key i.dash{border-top:2px dashed var(--chart-last)}.chart{width:100%;height:auto;margin-top:10px;display:block}.chart text{font:11px var(--num);fill:var(--ink3);font-variant-numeric:tabular-nums}.chart .grid-line{stroke:var(--chart-grid)}.chart .last{fill:none;stroke:var(--chart-last);stroke-width:2px;stroke-dasharray:5 5}.chart .area-top{stop-color:var(--accent);stop-opacity:.12}.chart .area-bottom{stop-color:var(--accent);stop-opacity:0}.chart .today{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.chart .end{fill:var(--accent);stroke:var(--paper);stroke-width:2.5px}@media (prefers-reduced-motion:no-preference){.chart .today{stroke-dasharray:2400;stroke-dashoffset:2400px;animation:1.4s cubic-bezier(.16,1,.3,1) .2s forwards draw}.chart .end{opacity:0;animation:.3s 1.3s forwards fade}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}.rows>.row{grid-template-columns:var(--cols);border-radius:6px;align-items:center;gap:12px;min-height:38px;margin:0 -10px;padding:8px 10px;font-size:13.5px;display:grid}.rows>.row.head{min-height:0;color:var(--ink3);border-bottom:1px solid var(--line);border-radius:0;margin-bottom:2px;padding:4px 10px 8px;font-size:12px;font-weight:500}.rows>.row.head~.row:nth-child(2n){background:var(--stripe)}.rows:not(:has(>.row.head))>.row:nth-child(odd){background:var(--stripe)}.rows>button.row{text-align:left;cursor:pointer;background:0 0;border:0;width:calc(100% + 20px)}.rows>button.row:hover,.rows>.row.hover:hover{background:var(--accent-soft)}.r{text-align:right;justify-self:end}.amt{font-weight:500;font-family:var(--num);font-variant-numeric:tabular-nums}.muted{color:var(--ink2)}.faint{color:var(--ink3)}.nums{font-family:var(--num);font-variant-numeric:tabular-nums}.clip{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty{color:var(--ink2);padding:10px 0 4px;font-size:13.5px}.total{font-weight:600}.rows>.row.total{border-top:1px solid var(--line);background:0 0;border-radius:0}.l-feed{--cols:64px auto minmax(0, 1fr) auto}.l-live{--cols:minmax(130px, 1.2fr) repeat(3, minmax(0, 1fr)) minmax(0, 1fr)}.l-money{--cols:minmax(0, 1fr) 120px}.l-review{--cols:minmax(0, 1fr) auto}.l-tickets{--cols:130px repeat(4, minmax(0, 1fr)) 90px}.l-devices{--cols:minmax(0, 1.7fr) repeat(4, minmax(0, 1fr)) 130px}.l-history{--cols:120px minmax(0, 1fr) 70px}.l-people{--cols:minmax(0, 1.1fr) minmax(0, 1.4fr) 80px}.l-inv{--cols:minmax(0, 1.3fr) minmax(0, 1.7fr) 80px minmax(0, .8fr) minmax(0, .7fr)}@keyframes slide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes flash{0%{background:var(--accent-soft)}to{background:0 0}}@media (prefers-reduced-motion:no-preference){.rows>.row.new{animation:.5s cubic-bezier(.16,1,.3,1) slide,2.4s .2s flash}}.in-word{color:var(--accent);font-weight:600}.out-word{color:var(--ink);font-weight:600}.plate-cell{align-items:center;min-width:0;display:inline-flex}.plate{background:var(--plate);color:var(--ink);font-family:var(--num);letter-spacing:.05em;white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:12.5px;font-weight:600;line-height:1.45;display:inline-block}.tag{background:var(--warn-soft);color:var(--warn);white-space:nowrap;vertical-align:1px;border-radius:10px;margin-left:6px;padding:0 7px;font-size:11px;display:inline-block}.kv{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.kv>div{border-top:1px solid var(--soft);justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;display:flex}.kv>div:nth-child(-n+2){border-top:0}.kv span{color:var(--ink2)}.tabs{background:var(--soft);margin-bottom:var(--gap);border-radius:8px;padding:2px;display:inline-flex}.tabs button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 14px;font-size:12.5px;font-weight:500}.tabs button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #20242b14}.btn{border:1px solid var(--btn-line);background:var(--btn-bg);height:34px;color:var(--btn-ink);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:500;transition:transform .15s,opacity .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:default}.btn.quiet{background:var(--paper);color:var(--ink);border-color:var(--line)}.btn.quiet:hover{border-color:var(--line-strong)}.mode{background:var(--soft);border-radius:8px;margin:0 2px;padding:2px;display:flex}.mode button{color:var(--ink2);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:4px 10px;font-size:12px;font-weight:500}.mode button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #0000001f}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.mini{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:2px 5px;font-size:12.5px}.mini:hover{text-decoration:underline}.form{gap:10px 14px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:minmax(0,2fr) minmax(0,.7fr) minmax(0,1.5fr)}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.field{align-content:start;gap:4px;min-width:0;display:grid}.field-label{color:var(--ink2);font-size:12.5px;font-weight:500}.field-hint{color:var(--ink3);font-size:12px}.field input,.field select,.field textarea,.search input{border:1px solid var(--line);background:var(--paper);border-radius:8px;outline:none;width:100%;height:36px;padding:0 10px;font-size:13.5px}.field textarea{resize:vertical;height:auto;padding:7px 10px;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus,.search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field input:disabled,.field textarea:disabled{color:var(--ink2);background:var(--bg)}.search{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.search input{width:260px}.search input[type=date]{width:150px}.formbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:34px;margin-bottom:12px;display:flex}.problem{align-items:baseline;margin:8px 0 0;font-size:13px;display:flex}.ok{color:var(--ink2);align-items:center;gap:7px;margin:8px 0 0;font-size:13px;display:inline-flex}.ok:before{content:"";background:var(--live);border-radius:50%;flex:none;width:7px;height:7px}.soon{max-width:640px}.soon p{color:var(--ink2);margin:6px 0 0}.pairing{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.code{background:var(--soft);color:var(--ink);font-family:var(--num);letter-spacing:.16em;font-variant-numeric:tabular-nums;border-radius:10px;padding:8px 16px 8px 20px;font-size:28px;font-weight:600}.settings{gap:var(--gap);grid-template-columns:minmax(0,1fr) 280px;align-items:start;display:grid}.preview{position:sticky;top:18px}.paper{width:100%;max-width:250px;box-shadow:0 0 0 1px var(--line), 0 6px 16px -10px #20242b4d;font-family:var(--mono);text-align:center;color:#3a3a3e;background:#fff;border-radius:4px;margin:8px auto 0;padding:14px 10px 16px;font-size:11px;line-height:1.45}.paper p{white-space:pre-wrap;word-break:break-word;margin:0}.paper .b{font-weight:700}.paper .w{letter-spacing:.04em;font-size:17px;font-weight:700;line-height:1.3}.paper .rule{border-top:1px dashed #999;margin:6px 0}.paper .kvp{text-align:left;justify-content:space-between;display:flex}.paper .qr{background:repeating-conic-gradient(#5a5a60 0 25%, #fff 0 50%) 0 0 / 12px 12px;opacity:.8;border-radius:3px;width:64px;height:64px;margin:6px auto 2px}.auth{place-items:center;min-height:100vh;padding:20px 16px;display:grid}.auth .card{width:100%;max-width:360px;padding:22px 22px 18px}.auth h1{letter-spacing:-.01em;margin:0 0 2px;font-size:22px;font-weight:600}.auth .foot{color:var(--ink3);text-align:center;margin-top:16px;font-size:11.5px}@media (width<=1000px){.split,.halves{grid-template-columns:minmax(0,1fr)}.figs{grid-template-columns:repeat(2,minmax(0,1fr))}.fig:nth-child(3){border-left:0}.fig:nth-child(n+3){border-top:1px solid var(--line)}.settings{grid-template-columns:minmax(0,1fr) 250px}}@media (width<=760px){.app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.side{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 12px;height:auto;padding:12px 16px 8px;display:grid;position:static}.org{padding:0}.side .mode{grid-area:1/2;margin:0}.side .link{grid-area:1/3;padding:0}.cp-select,.cp-name{grid-column:1/-1;width:100%;margin:0}.cp-name{display:none}.side nav{scrollbar-width:none;grid-column:1/-1;gap:2px;display:flex;overflow-x:auto}.nv{white-space:nowrap;flex:none;gap:6px;width:auto}.side .sp,.who{display:none}.main{padding:18px 16px 30px}.head{flex-direction:column;align-items:flex-start}.title{font-size:22px}.card{padding:14px 16px 16px}.chart-card .figs{margin:12px -16px -16px}.fig{padding:12px 16px}.money{font-size:38px}.chart text{font-size:22px}.settings,.cols-2,.cols-3,.cols-4,.kv{grid-template-columns:minmax(0,1fr)}.kv>div:nth-child(2){border-top:1px solid var(--soft)}.preview{position:static}.search{width:100%}.search input{flex:100%;width:auto}.rows>.row{gap:8px;font-size:13px}.hide-sm,.rows>.row.head{display:none}.l-feed{--cols:60px auto minmax(0, 1fr) auto}.l-live{--cols:minmax(0, 1fr) auto auto}.l-tickets{--cols:104px minmax(0, 1fr) auto}.l-devices{--cols:minmax(0, 1fr) auto}.l-history{--cols:92px minmax(0, 1fr)}.l-people,.l-inv{--cols:minmax(0, 1fr) auto}}
