@font-face{font-family:Outfit;font-weight:400;font-display:swap;src:url(/fonts/Outfit-Regular.ttf)format("truetype")}@font-face{font-family:Outfit;font-weight:500;font-display:swap;src:url(/fonts/Outfit-Medium.ttf)format("truetype")}@font-face{font-family:Outfit;font-weight:600;font-display:swap;src:url(/fonts/Outfit-SemiBold.ttf)format("truetype")}@font-face{font-family:Outfit;font-weight:700;font-display:swap;src:url(/fonts/Outfit-Bold.ttf)format("truetype")}:root{--wall:#f3f4f7;--wall-tint:#e6e8f8;--panel:#fff;--field:#f4f5f7;--hover:#1018280a;--ink:#101828;--ink-2:#475467;--ink-3:#667085;--ink-4:#98a2b3;--line:#18208514;--line-strong:#10182824;--accent:#3d52e6;--accent-fill:#3d52e6;--accent-pressed:#2f42c4;--accent-soft:#3d52e61a;--accent-ink:#fff;--brand-ink:#182085;--chart:#3d52e6;--chart-soft:#3d52e61f;--grid:#1018280f;--ok:#067647;--ok-soft:#ecfdf3;--warn:#b54708;--warn-soft:#fffaeb;--error:#d92d20;--error-soft:#fef3f2;--shadow:0 1px 1px #1018280f, 0 1px 3px #1018280a;--shadow-pop:0 12px 32px #1820851f, 0 1px 4px #1820850f;--radius:10px;--radius-sm:7px;--font:"Outfit", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--wall:#0f1013;--wall-tint:#16172a;--panel:#1c1d22;--field:#26272d;--hover:#ffffff0d;--ink:#f2f3f5;--ink-2:#a3a8b2;--ink-3:#969ca6;--ink-4:#6b7079;--line:#ffffff14;--line-strong:#ffffff29;--accent:#8b9aff;--accent-fill:#4a5df0;--accent-pressed:#5b6df5;--accent-soft:#8b9aff29;--brand-ink:#f2f3f5;--chart:#8b9aff;--chart-soft:#8b9aff29;--grid:#ffffff0f;--ok:#3dd68c;--ok-soft:#3dd68c1f;--warn:#fdb022;--warn-soft:#fdb0221f;--error:#ff7a70;--error-soft:#3a1f1e;--shadow:0 0 0 1px #ffffff05;--shadow-pop:0 12px 32px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--wall:#0f1013;--wall-tint:#16172a;--panel:#1c1d22;--field:#26272d;--hover:#ffffff0d;--ink:#f2f3f5;--ink-2:#a3a8b2;--ink-3:#969ca6;--ink-4:#6b7079;--line:#ffffff14;--line-strong:#ffffff29;--accent:#8b9aff;--accent-fill:#4a5df0;--accent-pressed:#5b6df5;--accent-soft:#8b9aff29;--brand-ink:#f2f3f5;--chart:#8b9aff;--chart-soft:#8b9aff29;--grid:#ffffff0f;--ok:#3dd68c;--ok-soft:#3dd68c1f;--warn:#fdb022;--warn-soft:#fdb0221f;--error:#ff7a70;--error-soft:#3a1f1e;--shadow:0 0 0 1px #ffffff05;--shadow-pop:0 12px 32px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--ink);background:var(--wall);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0;margin:0;font-size:13px;line-height:1.4}body:before{content:"";z-index:-1;background:radial-gradient(1200px 700px at 0% 0%, var(--wall-tint), transparent 70%), var(--wall);position:fixed;inset:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-3)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wordmark{color:var(--brand-ink);align-items:center;gap:.3em;display:inline-flex}.wordmark svg{width:auto;height:100%;display:block}.wordmark-meet{color:var(--ink-2);font-weight:500;line-height:1}.auth{justify-content:center;align-items:flex-start;min-height:100%;padding:40px 48px;display:flex}.auth-split{align-items:flex-start;gap:72px;width:100%;max-width:1040px;padding-top:max(0px,50vh - 340px);display:flex}.auth-brand{flex:1;min-width:0;padding-top:24px}.auth-headline{letter-spacing:-1.4px;max-width:480px;margin:36px 0 18px;font-size:44px;font-weight:700;line-height:1.08}.auth-body{max-width:440px;color:var(--ink-2);margin:0;font-size:17px;line-height:1.5}.auth-preview{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);max-width:400px;box-shadow:var(--shadow);align-items:center;gap:14px;margin-top:40px;padding:14px 18px 14px 16px;display:flex}.auth-preview-title{font-size:14px;font-weight:600}.auth-preview-sub{color:var(--ink-3);font-size:13px}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);width:460px;box-shadow:var(--shadow-pop);flex:none;padding:28px 24px 24px}.auth-steps{gap:10px;margin-bottom:26px;display:flex}.auth-steps span{background:var(--line-strong);border-radius:2px;flex:1;height:3px}.auth-steps span.on{background:var(--accent-fill)}.auth-card h1{letter-spacing:-.3px;margin:0 0 6px;font-size:22px;font-weight:600}.auth-card p.lead{color:var(--ink-2);margin:0 0 22px;font-size:14px;line-height:1.45}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-input{position:relative}.auth-input input{border:1px solid var(--line-strong);background:var(--field);border-radius:12px;outline:none;width:100%;height:52px;padding:0 16px;font-size:15px;transition:border-color .15s,background .15s}.auth-input input::placeholder{color:var(--ink-3)}.auth-input input:focus{border-color:var(--accent);background:var(--panel)}.auth-input .eye{width:36px;height:36px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.auth-input .eye:hover{background:var(--hover)}.auth-code input{letter-spacing:.4em;font-variant-numeric:tabular-nums}.auth-hint{color:var(--ink-3);margin-top:-4px;padding:0 4px;font-size:12px}.auth-error{background:var(--error-soft);color:var(--error);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.btn-primary{background:var(--accent-fill);height:52px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;margin-top:8px;font-size:15px;font-weight:600;transition:background .15s,transform .1s}.btn-primary:hover{background:var(--accent-pressed)}.btn-primary:active{transform:scale(.99)}.btn-primary:disabled{opacity:.6;cursor:default}.auth-foot{text-align:center;color:var(--ink-3);margin-top:18px;font-size:12px}@media (width<=979px){.auth{align-items:center;padding:32px 16px}.auth-split{flex-direction:column;align-items:center;gap:28px;padding-top:0}.auth-brand{text-align:center;flex:none;padding:0}.auth-headline,.auth-body,.auth-preview{display:none}.auth-card{width:100%;max-width:460px}}.shell{grid-template-columns:212px 1fr;min-height:100%;display:grid}.side{border-right:1px solid var(--line);background:color-mix(in srgb, var(--panel) 72%, transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;height:100vh;padding:14px 10px 10px;display:flex;position:sticky;top:0}.side-brand{align-items:center;gap:8px;height:22px;margin-bottom:4px;padding:4px 8px 0;display:flex}.side-tag{color:var(--accent);background:var(--accent-soft);letter-spacing:.02em;border-radius:999px;padding:1px 6px;font-size:10.5px;font-weight:600}.side-section{color:var(--ink-4);margin:18px 8px 4px;font-size:11px;font-weight:500}.nav{flex-direction:column;gap:1px;display:flex}.nav a{border-radius:var(--radius-sm);height:30px;color:var(--ink-2);align-items:center;gap:9px;padding:0 8px;font-weight:500;text-decoration:none;display:flex}.nav a:hover{background:var(--hover);color:var(--ink)}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav a .count{color:var(--ink-4);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.nav a.active .count{color:var(--accent)}.nav svg{flex:none;width:16px;height:16px}.side-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;padding:10px 4px 0;display:flex}.side-foot .who{flex:1;min-width:0}.side-foot .who b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;display:block;overflow:hidden}.side-foot .who span{color:var(--ink-3);font-size:11px}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover{background:var(--hover);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.main{min-width:0;padding:14px 20px 28px}.topbar{align-items:center;gap:12px;height:36px;margin-bottom:12px;display:flex}.topbar h1{letter-spacing:-.2px;margin:0;font-size:18px;font-weight:600}.topbar .crumb{color:var(--ink-3);font-size:13px}.topbar .spacer{flex:1}.search{position:relative}.search input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);outline:none;width:240px;height:30px;padding:0 10px 0 30px}.search input:focus{border-color:var(--accent)}.search svg{width:14px;height:14px;color:var(--ink-3);position:absolute;top:8px;left:9px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-head{align-items:baseline;gap:8px;padding:10px 12px 0;display:flex}.card-head h2{margin:0;font-size:13px;font-weight:600}.card-head .sub{color:var(--ink-3);font-size:12px}.card-head .right{color:var(--ink-3);margin-left:auto;font-size:12px}.card-body{padding:8px 12px 12px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:10px;display:grid}.kpi{flex-direction:column;gap:2px;padding:10px 12px 8px;display:flex;overflow:hidden}.kpi-label{color:var(--ink-3);font-size:12px}.kpi-value{letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600;line-height:1.2}.kpi-foot{white-space:nowrap;color:var(--ink-3);justify-content:space-between;align-items:center;gap:6px;min-height:22px;font-size:11.5px;display:flex}.delta-up{color:var(--ok);font-weight:500}.delta-flat{color:var(--ink-3)}.grid-dash{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;display:grid}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}@media (width<=1280px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.span-8,.span-7,.span-5{grid-column:span 12}.span-4{grid-column:span 6}}@media (width<=860px){.shell{grid-template-columns:1fr}.side{flex-flow:wrap;align-items:center;gap:4px;height:auto;padding:8px 12px;position:static}.side-section,.side-foot .who{display:none}.nav{flex-flow:wrap}.side-foot{border:0;margin:0 0 0 auto;padding:0}.main{padding:12px 16px 24px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.span-4,.span-6,.span-3{grid-column:span 12}.search input{width:160px}}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:13px}.t th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 12px;font-size:12px;font-weight:500}.t th.r,.t td.r{text-align:right}.t th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.t th button:hover,.t th button[aria-sort=descending],.t th button[aria-sort=ascending]{color:var(--ink)}.t td{border-bottom:1px solid var(--line);white-space:nowrap;height:34px;padding:6px 12px}.t tbody tr:last-child td{border-bottom:0}.t tbody tr.link{cursor:pointer}.t tbody tr.link:hover td{background:var(--hover)}.t .name{color:var(--ink);font-weight:500}.t .sub{color:var(--ink-3);font-size:12px}.t-compact td{height:30px;padding:4px 12px}.empty{text-align:center;color:var(--ink-3);padding:28px 12px}.avatar{width:22px;height:22px;color:var(--brand-ink);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:600;display:inline-grid}.cell-name{align-items:center;gap:8px;min-width:0;display:flex}.badge{background:var(--field);height:20px;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.err{background:var(--error-soft);color:var(--error)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.pager{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;display:flex}.pager .btns{gap:6px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent-fill);color:var(--accent-ink);border-color:#0000}.btn.primary:hover:not(:disabled){background:var(--accent-pressed)}.chart{position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart .axis text{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:10.5px}.chart .gridline{stroke:var(--grid);stroke-width:1px}.chart .baseline{stroke:var(--line-strong);stroke-width:1px}.chart .line{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .stop-a{stop-color:var(--chart);stop-opacity:.22}.chart .stop-b{stop-color:var(--chart);stop-opacity:0}.spark{display:block}.spark .line{fill:none;stroke:var(--chart);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.chart .bar{fill:var(--chart)}.chart .bar.dim{opacity:.45}.chart .cross{stroke:var(--ink-4);stroke-width:1px;stroke-dasharray:2 3}.chart .dot{fill:var(--chart);stroke:var(--panel);stroke-width:2px}.chart .hit{fill:#0000;cursor:crosshair}.tip{pointer-events:none;z-index:5;background:var(--panel);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-pop);white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:12px;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.tip b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;display:block}.tip span{color:var(--ink-3)}.hbars{flex-direction:column;gap:7px;display:flex}.hbar{grid-template-columns:92px 1fr 64px;align-items:center;gap:10px;font-size:12.5px;display:grid}.hbar .label{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hbar .track{background:var(--field);border-radius:4px;height:8px;display:block;overflow:hidden}.hbar .fill{background:var(--chart);border-radius:4px;height:100%;display:block}.hbar .val{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.detail{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:10px;display:grid}@media (width<=1100px){.detail{grid-template-columns:1fr}}.facts{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.fact{border-right:1px solid var(--line);padding:10px 12px}.fact:last-child{border-right:0}.fact .k{color:var(--ink-3);font-size:12px}.fact .v{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600}.form{flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.form label{color:var(--ink-3);flex-direction:column;gap:4px;font-size:12px;display:flex}.form input,.form select,.form textarea{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);height:30px;color:var(--ink);outline:none;padding:0 8px;font-size:13px}.form textarea{resize:vertical;height:64px;padding:6px 8px}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent)}.form .row2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.form .actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.form .msg{margin-right:auto;font-size:12px}.form .msg.ok{color:var(--ok)}.form .msg.err{color:var(--error)}.note{color:var(--ink-3);padding:0 12px 12px;font-size:12px}.state{min-height:240px;color:var(--ink-3);place-items:center;display:grid}.skeleton{background:linear-gradient(90deg, var(--field), var(--hover), var(--field));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.filters{align-items:center;gap:6px;display:flex}.seg{background:var(--field);border-radius:8px;padding:2px;display:inline-flex}.seg button{cursor:pointer;height:24px;color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:0 9px;font-size:12px;font-weight:500}.seg button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}.code{color:var(--ink-2);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.back{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;margin-bottom:6px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.recharts-tooltip-wrapper .tip{position:static;transform:none}.recharts-wrapper:focus,.recharts-surface:focus{outline:none}.spark{line-height:0;display:block}.price-input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--panel);text-align:right;font-variant-numeric:tabular-nums;outline:none;width:96px;height:28px;padding:0 8px}.price-input:focus{border-color:var(--accent)}.price-input[aria-invalid=true]{border-color:var(--error)}.price-input.narrow{width:64px}.t tr.dirty td{background:var(--accent-soft)}.callout{color:var(--ink-2);border-top:1px solid var(--line);align-items:flex-start;gap:8px;padding:10px 12px;font-size:12.5px;display:flex}.price-out{height:30px;color:var(--ink);align-items:center;font-size:15px;font-weight:600;display:flex}.price-input.label{text-align:left;width:120px}.row-actions{align-items:center;gap:6px;display:inline-flex}.row-grow{flex:1}.seg-n{color:var(--ink-4);font-variant-numeric:tabular-nums;margin-left:5px;font-size:11px}.seg button[aria-pressed=true] .seg-n{color:var(--ink-3)}.t tbody tr.selected td{background:var(--accent-soft)}.t td.ellipsis{text-overflow:ellipsis;max-width:240px;overflow:hidden}a.badge{text-decoration:none}a.btn{color:var(--ink);justify-content:center;text-decoration:none}.stack{flex-direction:column;gap:10px;min-width:0;display:flex}.note.pt{padding-top:8px}
