:root,[data-theme=light]{--bg:#f4f1e8;--surface:#fff;--sunken:#ebe7da;--text:#0b1633;--muted:#4a5578;--primary:#1f3a8a;--on-primary:#fff;--primary-tint:#e3e8f8;--accent:#d4a937;--on-accent:#0b1633;--line:#ddd8c8;--line-strong:#76809f;--ok:#14603b;--ok-bg:#ddf3e7;--warn:#8a4607;--warn-bg:#fdebd3;--danger:#9b1c1c;--danger-bg:#fbe0e0;--info:#1f3a8a;--info-bg:#e3e8f8;--danger-solid:#b42318;--scrim:#0b163373;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1633;--surface:#13224d;--sunken:#0f1b3f;--text:#f4f1e8;--muted:#a9b4d6;--primary:#fff;--on-primary:#0b1633;--primary-tint:#1e2f6b;--line:#25366b;--line-strong:#6577b0;--ok:#7fe0b0;--ok-bg:#143d2e;--warn:#ffc57a;--warn-bg:#4a2e0b;--danger:#ffa3a3;--danger-bg:#4a1717;--info:#b7c6ff;--info-bg:#1e2f6b;--danger-solid:#ffa3a3;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[data-theme=dark]{--bg:#0b1633;--surface:#13224d;--sunken:#0f1b3f;--text:#f4f1e8;--muted:#a9b4d6;--primary:#fff;--on-primary:#0b1633;--primary-tint:#1e2f6b;--line:#25366b;--line-strong:#6577b0;--ok:#7fe0b0;--ok-bg:#143d2e;--warn:#ffc57a;--warn-bg:#4a2e0b;--danger:#ffa3a3;--danger-bg:#4a1717;--info:#b7c6ff;--info-bg:#1e2f6b;--danger-solid:#ffa3a3;--scrim:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.4}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.t-title{letter-spacing:-.01em;font-size:28px;font-weight:700;line-height:1.15}.t-head{font-size:20px;font-weight:650;line-height:1.25}.t-small{font-size:14px}.muted{color:var(--muted)}.strong{font-weight:650}.stack{flex-direction:column;gap:12px;display:flex}.rowflex{align-items:center;gap:12px;display:flex}.grow{flex:1;min-width:0}.ic{flex:none;width:24px;height:24px}.ic-sm{width:18px;height:18px}.app-phone{flex-direction:column;min-height:100dvh;display:flex}.app-phone .content{flex-direction:column;flex:1;gap:12px;padding:0 16px 16px;display:flex}.appbar{align-items:center;gap:12px;min-height:64px;padding:16px 16px 12px;display:flex}.appbar .t-title{flex:1;min-width:0}.iconbtn{width:48px;height:48px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.iconbtn.filled{background:var(--surface);border:1px solid var(--line)}.tabbar{background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));display:flex;position:sticky;bottom:0}.tab{min-height:56px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab.on{color:var(--primary)}.tab.on .ic{stroke-width:2.4px}.tab-scan{background:var(--primary);width:56px;height:56px;color:var(--on-primary);box-shadow:0 2px 0 var(--line);border:0;border-radius:50%;flex:none;justify-content:center;align-self:flex-start;align-items:center;margin-top:-22px;display:flex}.tab-scan[disabled]{opacity:.45}.btn{min-height:48px;font:inherit;cursor:pointer;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:650;text-decoration:none;display:inline-flex}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--line-strong)}.btn.ghost{color:var(--primary);background:0 0}.btn.block{width:100%}.btn.big{min-height:56px;font-size:17px}.btn[disabled]{opacity:.45;cursor:default}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:650}.input{border:1.5px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--text);font:inherit;border-radius:12px;width:100%;padding:0 14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none}.input.error{border-color:var(--danger-solid)}.input.code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.hint{color:var(--muted);font-size:13px}.banner{border-radius:12px;gap:10px;padding:12px 14px;font-size:14px;font-weight:600;display:flex}.banner .ic{margin-top:1px}.banner.info{background:var(--info-bg);color:var(--info)}.banner.error{background:var(--danger-bg);color:var(--danger)}.empty{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:40px 24px;display:flex}.empty .art{background:var(--primary-tint);width:72px;height:72px;color:var(--primary);border-radius:20px;justify-content:center;align-items:center;display:flex}.logo{border-radius:16px;display:block}.logo .tile{fill:var(--primary)}.logo .mark{fill:var(--on-primary)}.signin{justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.signin .panel{flex-direction:column;gap:28px;width:100%;max-width:400px;display:flex}.desk{min-height:100dvh;display:flex}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;width:240px;height:100dvh;padding:20px 12px;display:flex;position:sticky;top:0}.navlink{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:0 12px;font-weight:600;text-decoration:none;display:flex}.navlink.on{background:var(--primary-tint);color:var(--primary)}.navlink.soon{opacity:.55;cursor:default}.badge{height:22px;color:var(--muted);background:var(--sunken);border-radius:999px;align-items:center;margin-left:auto;padding:0 8px;font-size:12px;font-weight:650;display:inline-flex}.avatar{background:var(--primary-tint);width:32px;height:32px;color:var(--primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:650;display:flex}.main{flex-direction:column;flex:1;gap:12px;min-width:0;padding:12px 32px 28px;display:flex}.main .appbar{padding-left:0;padding-right:0}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.banner.warn{background:var(--warn-bg);color:var(--warn)}.form{flex-direction:column;gap:14px;padding:16px;display:flex}select.input{cursor:pointer}.list{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.tree{flex-direction:column;display:flex}.node{border-top:1px solid var(--line);align-items:center;gap:4px;min-height:52px;padding-right:4px;display:flex}.node:first-child{border-top:0}.node.on{background:var(--primary-tint)}.node .twist{flex:none;width:40px;height:48px}.node-main{min-width:0;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0 12px 0 0;display:flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.node-panel{border-top:1px solid var(--line);background:var(--bg);padding:16px}.skel-row{padding-left:16px}.skel{background:var(--sunken);border-radius:8px;height:14px}.places-desk{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.places-desk>.tree{flex:440px}.places-panel{flex:0 380px;min-width:300px;padding:20px}.item{border:0;border-top:1px solid var(--line);width:100%;min-height:64px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;padding:12px 16px;display:flex}.item:first-child{border-top:0}.item.on{background:var(--primary-tint)}.item .name{overflow-wrap:anywhere;font-weight:650;display:block}.item .sub{color:var(--muted);font-size:14px;display:block}.switch{background:var(--line-strong);cursor:pointer;border:0;border-radius:999px;flex:none;width:52px;height:32px;position:relative}.switch:after{content:"";background:var(--surface);border-radius:50%;width:24px;height:24px;position:absolute;top:4px;left:4px}.switch.on{background:var(--primary)}.switch.on:after{background:var(--on-primary);left:24px}.switch[disabled]{opacity:.6;cursor:default}a.item{text-decoration:none}.level{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.thumb{background:var(--primary-tint);width:40px;height:40px;color:var(--primary);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.badge.ok,.badge.low,.badge.out{white-space:nowrap;gap:6px;height:26px;margin-left:0;padding:0 10px;font-size:13px}.badge.ok:before,.badge.low:before,.badge.out:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.badge.ok{color:var(--ok);background:var(--ok-bg)}.badge.low{color:var(--warn);background:var(--warn-bg)}.badge.out{color:var(--danger);background:var(--danger-bg)}.badge.out:before{background:0 0;border:2px solid}.table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;overflow:hidden}.table th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:var(--sunken);padding:10px 16px;font-size:12px}.table td{border-top:1px solid var(--line);vertical-align:middle;padding:12px 16px}.table tr:first-child td{border-top:0}.table td a{color:inherit}.item-form{max-width:560px}.more{min-height:56px;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:12px;width:100%;padding:4px 16px;display:flex}.textarea{resize:vertical;min-height:96px;padding:12px 14px}.errtext{color:var(--danger);font-size:13px;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.label{font-size:14px;font-weight:650}fieldset{border:0;min-width:0;margin:0;padding:0}.item.static{cursor:default}.level.up{color:var(--ok)}.level-card{align-items:center;gap:16px;padding:16px;display:flex}.big-level{font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:48px;font-weight:700;line-height:1}.kv{gap:10px;margin:0;padding:16px;font-size:15px;display:grid}.kv-row{grid-template-columns:112px 1fr;gap:12px;display:grid}.kv dt{color:var(--muted)}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.stepper .pm{border:1.5px solid var(--line-strong);background:var(--surface);width:72px;height:72px;color:var(--text);font:inherit;cursor:pointer;border-radius:20px;flex:none;justify-content:center;align-items:center;display:flex}.stepper .pm[disabled]{opacity:.4;cursor:default}.stepper .val{text-align:center;font-variant-numeric:tabular-nums;flex:1;font-size:48px;font-weight:700;line-height:1}.stepper .val small{color:var(--muted);margin-top:6px;font-size:14px;font-weight:600;display:block}.opt{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex}.opt .name{display:block}.opt.on{border-color:var(--primary);background:var(--primary-tint)}.opt:focus-within{outline:3px solid var(--primary);outline-offset:2px}.radio{border:2px solid var(--line-strong);border-radius:50%;flex:none;width:22px;height:22px}.opt.on .radio{border:7px solid var(--primary)}.seg{background:var(--sunken);border-radius:12px;gap:4px;padding:4px;display:flex}.seg>*{min-height:40px;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:14px;font-weight:650}.seg>.on{background:var(--surface);color:var(--text);box-shadow:0 1px 0 var(--line)}.scrim{background:var(--scrim);z-index:20;position:fixed;inset:0}.sheet{z-index:21;background:var(--surface);max-height:90dvh;padding:8px 16px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-radius:24px 24px 0 0;flex-direction:column;gap:16px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.grab{background:var(--line-strong);border-radius:3px;align-self:center;width:40px;height:5px;margin:4px 0}
