:root{--bg:#f5f6f8;--surface:#fff;--surface-sunken:#f9fafb;--line:#e3e7ec;--line-strong:#c5ccd5;--text:#18212d;--text-2:#4a5666;--text-3:#7a8594;--accent:#f05028;--accent-hover:#c2410c;--accent-soft:#fde3d6;--accent-ring:#f0502847;--ok:#17663f;--ok-soft:#e5f4ec;--wait:#8a5a00;--wait-soft:#fdf3dc;--off:#5c6573;--off-soft:#eceff3;--danger:#b42318;--danger-soft:#fdeceb;--radius:8px;--radius-sm:6px;--shadow:0 1px 2px #1018280d;--shadow-up:0 -4px 12px #1018280f;--series-actual:#3b4552;--series-backtest:#7a8594;--series-v1:#2a78d6;--series-v3:#eb6834;--series-v2:#1baf7a;--chart-grid:#e9edf1;--chart-forecast-bg:#f6f8fa;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--topbar-h:56px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--text);margin:0;line-height:1.3}h1{letter-spacing:-.01em;font-size:22px;font-weight:650}h2{font-size:15px;font-weight:650}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3);font-size:12.5px}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.topbar{z-index:40;height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:1rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.brand{color:var(--text);align-items:center;gap:.65rem;display:flex}.brand:hover{text-decoration:none}.brand-mark{background:var(--accent);color:#fff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.brand-name{white-space:nowrap;font-size:15px;font-weight:650;line-height:1.15}.brand-name small{color:var(--text-3);font-size:12px;font-weight:400;display:block}.user{align-items:center;gap:.6rem;margin-left:auto;display:flex}.user .role{align-items:center;gap:.45rem;margin-right:.5rem;display:flex}.user .role .input{width:auto;min-width:11rem;height:34px}.user-avatar{background:var(--accent-soft);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;font-size:12px;font-weight:650;display:grid}.user-name{font-weight:600}.shell{min-height:calc(100vh - var(--topbar-h));grid-template-columns:248px minmax(0,1fr);display:grid}.sidenav{top:var(--topbar-h);height:calc(100vh - var(--topbar-h));background:var(--surface);border-right:1px solid var(--line);align-self:start;padding:1rem .75rem;position:sticky;overflow-y:auto}.nav-title{color:var(--text-3);padding:0 .6rem .45rem;font-size:12px;font-weight:600}.nav-link{border-radius:var(--radius-sm);color:var(--text);padding:.5rem .65rem;font-weight:500;display:block}.nav-link small{color:var(--text-3);margin-top:1px;font-size:12px;font-weight:400;display:block}.nav-link:hover{background:var(--surface-sunken);text-decoration:none}.nav-link.active{background:var(--accent);color:#fff;font-weight:600}.nav-link.active small{color:#fffc}.nav-link+.nav-link{margin-top:2px}.nav-link+.nav-title{margin-top:1.1rem}main{min-width:0;padding:1.5rem 2rem 3rem}.container{max-width:1240px;margin:0 auto}.container.narrow{max-width:820px}@media (width<=900px){.shell{grid-template-columns:1fr}.sidenav{border-right:0;border-bottom:1px solid var(--line);gap:.25rem;height:auto;padding:.5rem .75rem;display:flex;position:static;overflow-x:auto}.nav-title,.nav-link small{display:none}.nav-link{white-space:nowrap}.nav-link+.nav-link{margin-top:0}main{padding:1rem 1rem 6rem}.brand-name small,.user-name,.user .role .faint{display:none}.user .role{margin-right:0}.user .role .input{min-width:0;max-width:9.5rem}}.breadcrumb{color:var(--text-3);gap:.4rem;margin-bottom:.5rem;font-size:13px;display:flex}.breadcrumb a{color:var(--text-2)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head p{color:var(--text-2);max-width:64ch;margin:.35rem 0 0}.page-head .title-line{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-body{padding:1.25rem 1.5rem}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.5rem;display:flex}.stack>*+*{margin-top:1rem}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);height:36px;color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;padding:0 .95rem;font-weight:600;display:inline-flex}.btn:hover{background:var(--surface-sunken);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-sunken);color:var(--text)}.btn.danger{color:var(--danger);border-color:#f1b5b0}.btn.danger:hover{background:var(--danger-soft)}.btn.danger.armed{background:var(--danger);border-color:var(--danger);color:#fff}.btn[disabled]{opacity:.6;cursor:progress}.btn.sm{height:30px;padding:0 .65rem;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.alert{border-radius:var(--radius);border:1px solid;gap:.65rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.alert svg{flex:none;margin-top:1px}.alert b{display:block}.alert ul{margin:.3rem 0 0;padding-left:1.1rem}.alert.error{background:var(--danger-soft);color:#7a1a12;border-color:#f5c2bd}.alert.success{background:var(--ok-soft);color:#0f4d2e;border-color:#b5dfc8}.alert.info{background:var(--accent-soft);color:#7a2e12;border-color:#f8bfa5}.alert.warn{background:var(--wait-soft);color:#5c3d00;border-color:#f0d79a}.chip{white-space:nowrap;background:var(--off-soft);height:22px;color:var(--off);border-radius:999px;align-items:center;gap:.35rem;padding:0 .55rem;font-size:12px;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.wait{background:var(--wait-soft);color:var(--wait)}.chip.off{background:var(--off-soft);color:var(--off)}.chip.deleted{background:var(--danger-soft);color:var(--danger)}.chip.plain:before{display:none}.form-section{padding:1.25rem 1.5rem}.form-section+.form-section{border-top:1px solid var(--line)}.form-section>h2{margin-bottom:1rem}.form-row{grid-template-columns:repeat(var(--cols,1), minmax(0, 1fr));gap:0 1rem;display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}}.field{margin-bottom:1rem}.form-row>.field:only-child:is([data-kind=enum],[data-kind=date],[data-kind=month],[data-kind=integer],[data-kind=number],[data-kind=text]){max-width:26rem}.field-label{color:var(--text);margin-bottom:.3rem;font-size:13.5px;font-weight:600;display:block}.field-label .optional{color:var(--text-3);margin-left:.3rem;font-size:12.5px;font-weight:400}.field-help,.field-hint{color:var(--text-3);margin-top:.3rem;font-size:12.5px}.field-error{color:var(--danger);margin-top:.3rem;font-size:12.5px;font-weight:500}.input,select.input,textarea.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:38px;font:inherit;color:var(--text);padding:0 .7rem}textarea.input{resize:vertical;height:auto;min-height:84px;padding:.55rem .7rem}.input:hover{border-color:#aab3bf}.input:focus{outline:3px solid var(--accent-ring);outline-offset:0;border-color:var(--accent)}.input:disabled{background:var(--surface-sunken);color:var(--text-2)}.field.invalid .input{border-color:var(--danger)}.field.invalid .input:focus{outline-color:#b4231838}.checks{flex-wrap:wrap;gap:.4rem;display:flex}.check-pill{border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);align-items:center;gap:.45rem;height:34px;padding:0 .75rem;display:inline-flex}.check-pill:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.check-pill input{accent-color:var(--accent)}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.segmented label{cursor:pointer;border-left:1px solid var(--line-strong);align-items:center;height:36px;padding:0 1rem;display:inline-flex}.segmented label:first-child{border-left:0}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label:has(input:checked){background:var(--accent);color:#fff;font-weight:600}.segmented label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:-2px}fieldset:disabled .segmented label,fieldset:disabled .check-pill{cursor:default;opacity:.75}.span-preview{background:var(--accent-soft);color:#7a2e12;border-top:1px solid #f8cdb8;align-items:center;gap:.6rem;padding:.75rem 1.5rem;font-size:13.5px;display:flex}.form-bar{z-index:20;background:var(--surface);border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-up);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.8rem 1.5rem;display:flex;position:sticky;bottom:0}.form-bar .spacer{flex:1}@media (width<=640px){.form-bar{flex-wrap:nowrap;padding:.6rem 1rem}.form-bar .btn{flex:1;padding:0 .5rem}.form-bar .spacer,.form-bar .btn.ghost{display:none}.form-section{padding:1rem}}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem 1.25rem;display:flex}.toolbar .field{flex:0 13rem;min-width:11rem;margin:0}.toolbar .field-label{color:var(--text-2);font-size:12.5px;font-weight:500}.toolbar .input{height:34px}.toolbar .toggle{height:34px;color:var(--text-2);align-items:center;gap:.4rem;display:flex}.toolbar .toggle input{accent-color:var(--accent)}.table-wrap{overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:.6rem .9rem}thead th{z-index:2;background:var(--surface-sunken);color:var(--text-2);font-size:12.5px;font-weight:600;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover td{background:#fff6f1}tbody tr:last-child td{border-bottom:0}td.first,th.first{z-index:1;background:var(--surface);font-weight:600;position:sticky;left:0}thead th.first{z-index:3;background:var(--surface-sunken)}td.first a{color:var(--text)}tbody tr:hover td.first a{color:var(--accent)}tr.deleted td{color:var(--text-3)}tr.deleted td.first a{color:var(--text-3);text-decoration:line-through}.right{text-align:right}.table-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.empty{text-align:center;padding:3rem 1.5rem}.empty h2{margin-bottom:.35rem}.empty p{max-width:46ch;color:var(--text-2);margin:0 auto 1rem}.empty svg{color:var(--text-3);margin-bottom:.6rem}.month-switch{align-items:center;gap:.25rem;display:inline-flex}.month-switch .label{text-align:center;min-width:8.5rem;font-size:15px;font-weight:650}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem;display:grid}.group-title{color:var(--text-3);margin:1.5rem 0 .6rem;font-size:13px;font-weight:600}.group-title:first-of-type{margin-top:0}.sheet-card{flex-direction:column;display:flex}.sheet-card .card-body{flex:1}.sheet-card h2{align-items:center;gap:.55rem;margin-bottom:.3rem;display:flex}.sheet-card h2 svg{color:var(--accent)}.sheet-card .owner{color:var(--text-3);font-size:12.5px}.stats{flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:1rem;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;line-height:1.1}.stat-label{color:var(--text-2);white-space:nowrap;margin-top:.15rem;font-size:12.5px}.stat.wait .stat-value{color:var(--wait)}.sheet-card .card-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem;display:flex}.meta{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem 1.5rem;margin:0;display:grid}.meta dt{color:var(--text-3);font-size:12.5px}.meta dd{margin:.15rem 0 0}.month-picker{display:inline-block;position:relative}.month-trigger{gap:.5rem;font-weight:600}.month-trigger .month-label{text-align:left;min-width:7.5rem}.month-pop{z-index:30;width:300px;padding:.75rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #10182824}.month-picker.align-left .month-pop{left:0;right:auto}.month-pop-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.month-year{font-variant-numeric:tabular-nums;font-weight:650}.month-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.month-cell{border-radius:var(--radius-sm);height:38px;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000}.month-cell:hover{background:var(--surface-sunken);border-color:var(--line)}.month-cell.today{border-color:var(--line-strong);font-weight:600}.month-cell.in-range{background:var(--accent-soft);color:var(--accent)}.month-cell.edge{background:var(--accent);color:#fff;font-weight:600}.month-help{min-height:2.6em;margin:.6rem 0 .5rem}.month-pop-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.25rem;padding-top:.6rem;display:flex}.month-pop-foot .spacer{flex:1}@media (width<=640px){.month-pop{width:auto;position:fixed;top:30%;left:1rem;right:1rem}}.month-table{width:100%;margin-top:1rem;font-size:13.5px}.month-table th,.month-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:.35rem .4rem}.month-table thead th{text-align:right;color:var(--text-3);background:0 0;font-size:12px;position:static}.month-table thead th:first-child{text-align:left}.month-table td{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.month-table td:first-child{text-align:left;color:var(--text-2);font-weight:400}.month-table tr:last-child td{border-bottom:0}.month-table td.wait{color:var(--wait)}.month-table tbody tr{cursor:default}.month-table tbody tr:hover td{background:0 0}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-sunken);text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:2rem 1rem;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone input{opacity:0;width:1px;height:1px;position:absolute}.dropzone svg{color:var(--accent)}.steps{color:var(--text-2);margin:0;padding-left:1.2rem}.steps li+li{margin-top:.25rem}.kpis{flex-wrap:wrap;gap:2rem;display:flex}.kpis .stat-value{font-size:22px}.stat.ok .stat-value{color:var(--ok)}.stat.bad .stat-value{color:var(--danger)}.error-table td{white-space:normal}.error-table tbody tr{cursor:default}.month-picker-slot .month-pop{left:0;right:auto}.toolbar .month-trigger{height:34px}.choices{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.choice{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.choice p{flex:1;margin:0 0 .25rem}@media (width<=720px){.choices{grid-template-columns:1fr}}.stat.warn .stat-value{color:var(--wait)}.conflicts{border-top:1px solid var(--line)}.conflicts-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.5rem .5rem;display:flex}.conflicts-head p{max-width:60ch;margin:.25rem 0 0}.conflict{border:1px solid var(--line);border-radius:var(--radius);margin:.75rem 1.5rem;overflow:hidden}.conflict.pending{border-color:#f0c36d;box-shadow:0 0 0 3px #f0c36d40}.conflict-head{background:var(--surface-sunken);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.conflict-title{font-weight:600}.conflict table{font-size:13px}.conflict th,.conflict td{padding:.45rem .7rem}.conflict tbody tr{cursor:default}.conflict tbody tr:hover td{background:0 0}.conflict td.who{white-space:nowrap;color:var(--text-2)}.conflict td.who b{color:var(--text);display:block}.conflict tr.incoming td{background:#fbfdf8}.conflict td.diff{font-weight:600;background:var(--wait-soft)!important}.conflict-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem .9rem;display:flex}.conflict-foot .segmented label{height:32px;padding:0 .8rem;font-size:13px}.conflict-note{color:var(--text-2);font-size:12.5px}.conflicts-more{padding:0 1.5rem 1rem}.info-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.25rem .9rem;margin-bottom:1rem;padding:.6rem 1rem;font-size:13px;display:flex}.info-strip b{color:var(--text);font-weight:600}.info-strip .sep{color:var(--line-strong)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.kpi-card .card-body{padding:1rem 1.25rem}.kpi-card h2{color:var(--text-2);margin-bottom:.6rem;font-size:13.5px;font-weight:600}.kpi-rows{gap:.45rem;margin:0;display:grid}.kpi-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.kpi-row dt{color:var(--text-2);align-items:center;gap:.45rem;min-width:0;font-size:13px;display:flex}.kpi-row dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:18px;font-weight:650}.kpi-row.main dd{font-size:22px}.kpi-row dd{text-align:right}.kpi-growth{margin-top:.1rem;font-size:12px;font-weight:500;display:block}tr.past td{color:var(--text-2)}.kpi-big{font-variant-numeric:tabular-nums;font-size:32px;font-weight:650;line-height:1.1}.kpi-note{color:var(--text-2);margin:.5rem 0 0;font-size:13px}.ver-code{color:var(--text);align-items:center;gap:.3rem;font-weight:650;display:inline-flex}.ver-dot{border-radius:50%;flex:none;width:10px;height:10px}.ver-dot.v1{background:var(--series-v1)}.ver-dot.v3{background:var(--series-v3)}.ver-dot.v2{background:var(--series-v2)}.section-card{margin-bottom:1rem}.section-card .card-head h2{font-size:15px}.section-card .card-head p{color:var(--text-2);max-width:80ch;margin:.2rem 0 0;font-size:13px}.plain-list{color:var(--text-2);margin:.25rem 0 0;padding-left:1.1rem;font-size:13px}.plain-list li+li{margin-top:.2rem}.chart{margin:0;padding:1rem 1.25rem 1.25rem}.chart-scroll{overflow-x:auto}.chart-svg{width:100%;min-width:560px;height:auto;font:12px var(--font);display:block}.chart-grid line{stroke:var(--chart-grid);stroke-width:1px}.chart-grid line.zero{stroke:var(--line-strong)}.chart-grid text{fill:var(--text-3);font-variant-numeric:tabular-nums}.chart-grid .chart-unit{fill:var(--text-2);font-weight:600}.chart-split rect{fill:var(--chart-forecast-bg)}.chart-split line{stroke:var(--line-strong);stroke-width:1px}.chart-split text{fill:var(--text-2);font-weight:600}.chart-series path:not(.mark),.chart-key line{stroke:var(--series-color)}.chart-series .mark,.chart-key .mark{fill:var(--series-color);stroke:var(--surface);stroke-width:2px}.s-actual{--series-color:var(--series-actual)}.s-backtest{--series-color:var(--series-backtest)}.s-v1{--series-color:var(--series-v1)}.s-v3{--series-color:var(--series-v3)}.s-v2{--series-color:var(--series-v2)}.chart-band{fill:var(--series-color);fill-opacity:.16;stroke:var(--series-color);stroke-opacity:.35;stroke-width:1px;stroke-dasharray:3 3;display:none}.chart-band.on{display:inline}.chart-bands{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.35rem 1rem;margin:.75rem 0 0;padding:.55rem .75rem;font-size:13px;display:flex}.chart-bands legend{color:var(--text);padding:0 .3rem;font-weight:600}.chart-band-toggle{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.chart-band-toggle input{accent-color:var(--series-color);margin:0}.chart-band-swatch{background:var(--series-color);opacity:.3;border-radius:2px;width:22px;height:10px}.chart-band-note{color:var(--text-3);flex-basis:100%;margin:.1rem 0 0}.chart-hits rect{fill:#0000}.chart-hits line{stroke:var(--text-3);stroke-width:1px;opacity:0}.chart-hits .hit:hover line{opacity:.6}.chart-legend{color:var(--text-2);flex-wrap:wrap;gap:.4rem 1.25rem;margin:.75rem 0 0;padding:0;font-size:13px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:.45rem;display:inline-flex}.chart-key{flex:none}.chart-table{margin-top:.6rem;font-size:13px}.chart-table summary{cursor:pointer;color:var(--accent);width:max-content;font-weight:600}.chart-table .table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);max-height:360px;margin-top:.5rem;overflow:auto}.data-table th,.data-table td{padding:.5rem .8rem}.data-table tbody tr{cursor:default}.data-table tbody tr:hover td{background:var(--surface)}.data-table th small{color:var(--text-3);white-space:normal;min-width:7rem;font-size:11.5px;font-weight:400;display:block}.data-table tr.total td,.data-table tbody tr.total:hover td{background:var(--surface-sunken);border-top:1px solid var(--line-strong);font-weight:650}.data-table tr.group-start td{border-top:1px solid var(--line-strong)}.data-table th.group{text-align:center;border-left:1px solid var(--line)}.data-table td.group-edge,.data-table th.group-edge{border-left:1px solid var(--line)}.data-table td.na{color:var(--text-3)}.better{color:var(--ok);font-weight:600}.worse{color:var(--danger);font-weight:600}.pill{background:var(--off-soft);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:0 .45rem;font-size:12px;display:inline-block}.pill.forecast{background:var(--accent-soft);color:var(--accent)}.pill.backtest{background:var(--wait-soft);color:var(--wait)}.chart-hint{color:var(--text-2);margin:0;padding:.6rem 1.5rem 1.25rem;font-size:13.5px}.filter-note{border-bottom:1px solid var(--line);color:var(--text-2);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:13px;display:flex}.toolbar input[type=month].input{min-width:9.5rem}.wf-bar rect{stroke:none}.wf-total rect{fill:var(--accent)}.wf-up rect{fill:var(--ok)}.wf-down rect{fill:var(--danger)}.wf-zero line{stroke:var(--text-3);stroke-width:2px}.wf-cut{stroke:var(--surface);stroke-width:3px;fill:none}.wf-value{fill:var(--text);font-variant-numeric:tabular-nums;font-weight:650}.wf-links line{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 3}.wf-axis text{fill:var(--text-2);font-size:11.5px}.wf-axis .wf-code{fill:var(--text);font-size:12.5px;font-weight:650}.wf-key{border-radius:2px;width:14px;height:10px;display:inline-block}.wf-key.wf-total{background:var(--accent)}.wf-key.wf-up{background:var(--ok)}.wf-key.wf-down{background:var(--danger)}.wf-key.wf-zero{background:var(--text-3);height:2px}.wf-note{margin:.4rem 0 0}.chart.wf{container-type:inline-size}.wf-narrow{display:none}.wf-narrow .chart-svg{min-width:0;max-width:480px}.wf-row-label{fill:var(--text-2);font-size:12px}@container (width<=640px){.wf-wide{display:none}.wf-narrow{display:block}}.seg-links{border:1px solid var(--line-strong);border-radius:var(--radius-sm);flex-wrap:wrap;display:inline-flex;overflow:hidden}.seg-links a{height:34px;color:var(--text);border-left:1px solid var(--line-strong);white-space:nowrap;align-items:center;gap:.35rem;padding:0 .85rem;display:inline-flex}.seg-links a:first-child{border-left:0}.seg-links a:hover{background:var(--surface-sunken);text-decoration:none}.seg-links a[aria-current=page]{background:var(--accent);color:#fff;font-weight:600}.seg-links a.muted-choice:not([aria-current]){color:var(--text-3)}.shape-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;padding:1rem 1.25rem;display:flex}.shape-bar .field{margin:0}.shape-bar .field-label{color:var(--text-2);font-size:12.5px;font-weight:500}.shape-bar .input{width:auto;min-width:8.5rem;height:34px}.month-step{align-items:center;gap:.25rem;display:inline-flex}.month-step .btn[aria-disabled=true]{opacity:.35;pointer-events:none}.identity{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.9rem 1.25rem;font-size:15px;display:flex}.identity .term{flex-direction:column;line-height:1.2;display:inline-flex}.identity .term small{color:var(--text-3);font-size:12px}.identity .term b{font-variant-numeric:tabular-nums;font-weight:650}.identity .op{color:var(--text-3);font-weight:600}.shape-table td{vertical-align:top}.shape-table td.desc{white-space:normal;min-width:18rem;max-width:34rem;color:var(--text-2)}.shape-table td.owner{white-space:normal;min-width:9rem}.shape-table .k-code{min-width:1.9rem;color:var(--text-2);font-weight:650;display:inline-block}.sub-line{color:var(--text-3);font-size:11.5px;font-weight:400;display:block}.cell-pct{color:var(--text-3);font-size:11.5px;display:block}.up-num{color:var(--ok)}.down-num{color:var(--danger)}.shape-table th,.shape-table td{padding:.5rem .6rem}.shape-table th small{min-width:5rem}.line-table td.item-cell{white-space:normal;min-width:11rem;max-width:17rem}.line-table .item-name{color:var(--text-2);font-size:12.5px;font-weight:400;display:block}.line-table .no-base{color:var(--wait)}.line-table th.first small{min-width:0}.title-line{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.title-line h1,.title-line h2{margin:0}.help-btn{border:1px solid var(--line-strong);background:var(--surface);width:22px;height:22px;color:var(--text-2);line-height:1;font:650 12.5px/1 var(--font);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-grid}.help-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.help-btn:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}.help-pop{border:1px solid var(--line);background:var(--surface);width:min(560px,100vw - 2rem);max-height:min(80vh,680px);color:var(--text);border-radius:12px;margin:auto;padding:0;overflow:auto;box-shadow:0 16px 40px #1018282e}.help-pop::backdrop{background:#10182852}.help-head{z-index:1;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:.65rem;padding:.85rem 1rem .85rem 1.25rem;display:flex;position:sticky;top:0}.help-head h3{flex:1;margin:0;font-size:15px;font-weight:650}.help-mark{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.help-close{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.help-close:hover{background:var(--surface-sunken);color:var(--text)}.help-close:focus-visible{outline:2px solid var(--accent-ring)}.help-body{color:var(--text-2);padding:1rem 1.25rem 1.25rem;font-size:14px;line-height:1.6}.help-body>:first-child{margin-top:0}.help-body>:last-child{margin-bottom:0}.help-body p{margin:0 0 .75rem}.help-body h4{color:var(--text);margin:1.1rem 0 .4rem;font-size:13.5px;font-weight:650}.help-body ul{margin:0 0 .75rem;padding-left:1.15rem}.help-body li+li{margin-top:.35rem}.help-body b{color:var(--text);font-weight:600}.help-body dl{grid-template-columns:minmax(7rem,36%) 1fr;gap:.4rem .9rem;margin:0 0 .75rem;display:grid}.help-body dt{color:var(--text);font-weight:600}.help-body dd{margin:0}@media (width<=520px){.help-body dl{grid-template-columns:1fr}.help-body dd{margin-bottom:.4rem}}.export-menu{display:inline-block;position:relative}.export-menu>summary{cursor:pointer;list-style:none}.export-menu>summary::-webkit-details-marker{display:none}.export-btn{gap:.45rem}.export-btn .caret{color:var(--text-3);transition:transform .12s}.export-menu[open] .export-btn .caret{transform:rotate(180deg)}.export-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.export-pop{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:268px;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #10182824}.export-note{color:var(--text-3);border-bottom:1px solid var(--line);margin:0 0 .3rem;padding:.45rem .6rem .5rem;font-size:12.5px}.export-item{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:.1rem;padding:.5rem .6rem;display:flex}.export-item:hover,.export-item:focus-visible{background:var(--accent-soft);outline:none;text-decoration:none}.export-item b{font-size:13.5px;font-weight:600}.export-item small{color:var(--text-3);font-size:12px}.card-head .export-menu,.shape-bar .export-menu{margin-left:auto}.field-src{color:var(--text-3);max-width:22rem;margin-top:.25rem;font-size:11.5px;line-height:1.35;display:block}.toolbar .field:has(>.field-src){position:relative}.toolbar .field-src{white-space:nowrap;text-overflow:ellipsis;max-width:none;position:absolute;top:100%;left:0;right:0;overflow:hidden}.toolbar:has(.field-src){row-gap:1.6rem;padding-bottom:1.85rem}.scope-form{border-bottom:1px solid var(--line)}.scope-form .field{margin:0}
