:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f6f1e7;--surface:#fffcf6;--surface-2:#f3ecdf;--surface-3:#ebe2d2;--ink:#17302f;--ink-2:#3e5452;--muted:#5e6f6c;--faint:#84918e;--rule:#e3d8c4;--rule-strong:#cfc3ac;--accent:#0b6b70;--accent-soft:#dcefec;--accent-line:#8cc9c4;--on-accent:#fff9ec;--brand:#087f83;--brand-deep:#075f66;--on-brand:#fff4df;--on-brand-muted:#bfdad6;--on-brand-icon:#9cc8c3;--on-brand-warn:#f2c77a;--nav-active-bg:#fff4df;--nav-active-ink:#075f66;--alert:#b03a2e;--alert-soft:#f9e4dd;--warn:#8a5a00;--warn-soft:#f7ebcf;--ok:#36702f;--ok-soft:#e4f0da;--f-display:"Manrope", "Golos Text", "Segoe UI", system-ui, -apple-system, sans-serif;--f-body:"Golos Text", "Segoe UI", system-ui, -apple-system, sans-serif;--f-mono:"JetBrains Mono", Consolas, "Courier New", monospace;--s-xs:.75rem;--s-sm:.82rem;--s-md:.94rem;--s-lg:1.12rem;--s-xl:1.4rem;--s-2xl:1.85rem;--radius:10px;--radius-lg:16px;--shadow:2px 6px 18px -10px #075f6652, 0 1px 2px #17302f0d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0f1c1d;--surface:#162628;--surface-2:#1d3133;--surface-3:#25393b;--ink:#eaf1ee;--ink-2:#c5d3d0;--muted:#93a9a5;--faint:#6f8682;--rule:#2a4144;--rule-strong:#3b5558;--accent:#5fc6c2;--accent-soft:#163b3d;--accent-line:#2f7672;--on-accent:#0f1c1d;--brand:#087f83;--brand-deep:#0a2b2e;--on-brand:#fff4df;--on-brand-muted:#a9c4bf;--on-brand-icon:#7fb3ad;--on-brand-warn:#f2c77a;--nav-active-bg:#1f4f52;--nav-active-ink:#fff4df;--alert:#f09a88;--alert-soft:#3a1f1a;--warn:#e5b45e;--warn-soft:#33270f;--ok:#95cf7a;--ok-soft:#1c2f17;--shadow:2px 6px 18px -8px #00000080, 0 1px 2px #0000004d}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0f1c1d;--surface:#162628;--surface-2:#1d3133;--surface-3:#25393b;--ink:#eaf1ee;--ink-2:#c5d3d0;--muted:#93a9a5;--faint:#6f8682;--rule:#2a4144;--rule-strong:#3b5558;--accent:#5fc6c2;--accent-soft:#163b3d;--accent-line:#2f7672;--on-accent:#0f1c1d;--brand:#087f83;--brand-deep:#0a2b2e;--on-brand:#fff4df;--on-brand-muted:#a9c4bf;--on-brand-icon:#7fb3ad;--on-brand-warn:#f2c77a;--nav-active-bg:#1f4f52;--nav-active-ink:#fff4df;--alert:#f09a88;--alert-soft:#3a1f1a;--warn:#e5b45e;--warn-soft:#33270f;--ok:#95cf7a;--ok-soft:#1c2f17;--shadow:2px 6px 18px -8px #00000080, 0 1px 2px #0000004d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--s-md);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}h1,h2,h3,h4{font-family:var(--f-display);text-wrap:balance;margin:0;line-height:1.2}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.app{grid-template-columns:18rem 1fr;min-height:100%;display:grid}.sidebar{background:var(--brand-deep);color:var(--on-brand);flex-direction:column;gap:1.1rem;height:100vh;padding:1.2rem .9rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-top,.sidebar-body{display:contents}.menu-toggle,.tabbar{display:none}.brand{align-items:center;gap:.7rem;min-width:0;padding:0 .35rem;display:flex}.brand-mark{border-radius:.6rem;flex-shrink:0;width:2.3rem;height:2.3rem;box-shadow:2px 4px 10px -4px #00000073}.brand-text{flex-direction:column;gap:.05rem;min-width:0;display:flex}.brand-name{font-family:var(--f-display);font-size:var(--s-lg);letter-spacing:-.01em;font-weight:800;line-height:1.2}.brand-sub{font-size:var(--s-xs);color:var(--on-brand-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-cta{border-radius:var(--radius);background:var(--nav-active-bg);min-height:2.75rem;color:var(--nav-active-ink);border:none;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:flex;box-shadow:2px 4px 12px -4px #00000059}.nav-cta:hover{filter:brightness(1.04)}.nav-cta.is-active{outline:2px solid var(--on-brand-muted);outline-offset:2px}.nav{flex-direction:column;gap:.9rem;display:flex}.nav-group-label{letter-spacing:.07em;text-transform:uppercase;color:var(--on-brand-muted);padding:0 .6rem .2rem;font-size:.7rem;font-weight:600}.nav-item{border-radius:var(--radius);text-align:left;min-height:2.3rem;color:var(--on-brand);font-size:var(--s-md);background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;padding:.3rem .6rem;display:flex}.nav-item:hover{background:#fff4df1a}.nav-item.is-active{background:var(--nav-active-bg);color:var(--nav-active-ink);font-weight:600}.nav-item svg{color:var(--on-brand-icon);flex-shrink:0}.nav-item.is-active svg{color:inherit}.nav-count{font-size:var(--s-xs);color:var(--on-brand-muted);font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.nav-item.is-active .nav-count{color:inherit;opacity:.85}.nav-count.is-alert{color:var(--on-brand-warn)}.nav-item.is-active .nav-count.is-alert{color:inherit}.sidebar-foot{font-size:var(--s-xs);color:var(--on-brand-muted);border-top:1px solid #fff4df2e;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:auto;padding:.8rem .6rem 0;display:flex}.sidebar-foot .link{color:var(--on-brand-muted);text-decoration-color:#fff4df59}.theme-toggle{border:1px solid var(--rule);border-radius:var(--radius);color:var(--muted);font-size:var(--s-xs);background:0 0;align-items:center;gap:.45rem;padding:.32rem .6rem;display:flex}.theme-toggle:hover{border-color:var(--rule-strong);color:var(--ink-2)}.sidebar .theme-toggle{color:var(--on-brand-muted);border-color:#fff4df40}.sidebar .theme-toggle:hover{color:var(--on-brand);border-color:#fff4df80}.main{flex-direction:column;gap:1.6rem;min-width:0;padding:2rem 2.2rem 5rem;display:flex}.page-head{flex-direction:column;gap:.45rem;display:flex}.page-head h1{letter-spacing:-.02em;font-size:2.2rem;font-weight:800;line-height:1.1}.page-head .sub{color:var(--muted);font-size:var(--s-md);max-width:46rem}.page-head .lead{color:var(--ink);max-width:42rem;font-size:1.06rem;line-height:1.5}.page-head .lead strong{font-weight:600}.eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.section{flex-direction:column;gap:.85rem;display:flex}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.section-title h2{font-size:1.3rem;font-weight:700}.section-title .hint{font-size:var(--s-sm);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:.65rem;padding:1rem 1.1rem;display:flex}.card-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.card-head h3{font-size:var(--s-lg);font-weight:700}.grid{gap:.85rem;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:left;flex-direction:column;gap:.3rem;width:100%;padding:.95rem 1.05rem;display:flex}button.tile:hover{border-color:var(--rule-strong);box-shadow:var(--shadow)}.tile-label{font-size:var(--s-xs);color:var(--muted);align-items:center;gap:.35rem;display:flex}.tile-value{font-family:var(--f-display);font-size:var(--s-2xl);font-variant-numeric:tabular-nums;align-items:baseline;gap:.3rem;font-weight:800;line-height:1.05;display:flex}.tile-unit{font-family:var(--f-body);font-size:var(--s-sm);color:var(--muted);font-weight:400}.tile-foot{font-size:var(--s-xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tile.is-high .tile-value,.tile.is-low .tile-value{color:var(--alert)}.tile.is-warn .tile-value{color:var(--warn)}.pill{font-size:var(--s-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.18rem .6rem;font-weight:600;line-height:1.35;display:inline-flex}.pill.alert{background:var(--alert-soft);color:var(--alert)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.accent{background:var(--accent-soft);color:var(--accent)}.pill.plain{background:var(--surface-2);color:var(--muted)}.icd{font-family:var(--f-mono);background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:6px;padding:.1rem .4rem;font-size:.72rem}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--rule);text-align:left;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;align-items:flex-start;gap:.9rem;padding:.7rem 0;display:flex}.row:last-child{border-bottom:none}button.row:hover{background:var(--surface-2);width:calc(100% + 1rem);margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem}.row.has-action{align-items:center;gap:.4rem}.row-open{text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:flex-start;gap:.9rem;padding:0;display:flex}.row.has-action:hover{background:var(--surface-2)}.row-main{flex-direction:column;flex:1;gap:.22rem;min-width:0;display:flex}.row-title{color:var(--ink);font-weight:500}.row-meta{font-size:var(--s-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem .6rem;display:flex}.row-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.row-date{font-size:var(--s-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.dot{color:var(--rule-strong)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;min-width:34rem;font-size:var(--s-sm)}table.data th{font-weight:600;font-size:var(--s-xs);color:var(--muted);text-align:left;border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:.45rem .7rem .45rem 0}table.data td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.5rem .7rem .5rem 0}table.data tr:last-child td{border-bottom:none}table.data td.num,table.data th.num{font-variant-numeric:tabular-nums;white-space:nowrap}table.data tr.clickable:hover td{background:var(--surface-2);cursor:pointer}.val-high{color:var(--alert);font-weight:500}.val-low{color:var(--warn);font-weight:500}.timeline{flex-direction:column;display:flex}.tl-year{font-family:var(--f-display);font-size:var(--s-lg);color:var(--muted);border-bottom:1px solid var(--rule-strong);margin-bottom:.2rem;padding:1.3rem 0 .5rem;font-weight:700}.tl-item{border-bottom:1px solid var(--rule);text-align:left;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.85rem 0;display:grid}.tl-item:hover{background:var(--surface-2)}.tl-line{border-bottom:1px solid var(--rule);align-items:center;gap:.4rem;display:flex}.tl-line .tl-item{border-bottom:none;flex:1;min-width:0}.tl-when{flex-direction:column;gap:.12rem;padding-top:.1rem;display:flex}.tl-date{font-size:var(--s-sm);font-variant-numeric:tabular-nums;color:var(--ink-2)}.tl-ago{color:var(--faint);font-size:.68rem}.tl-body{flex-direction:column;gap:.35rem;min-width:0;display:flex}.tl-title{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.tl-title strong{font-weight:600}.tl-chips{flex-wrap:wrap;gap:.3rem;display:flex}.tl-summary{font-size:var(--s-sm);color:var(--muted);max-width:52rem}.chart-box{width:100%;height:260px}.chart-box.tall{height:320px}.legend{font-size:var(--s-xs);color:var(--muted);flex-wrap:wrap;gap:.5rem 1.1rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-swatch{border-radius:1px;width:.8rem;height:.15rem}.spark{display:block;overflow:visible}.btn{border-radius:var(--radius);border:1.5px solid var(--rule-strong);background:var(--surface);min-height:2.5rem;color:var(--ink);font-size:var(--s-sm);align-items:center;gap:.45rem;padding:.45rem .95rem;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:2px 4px 12px -5px #075f668c}.btn.primary:hover{filter:brightness(1.08);color:var(--on-accent)}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000;padding-left:.3rem;padding-right:.3rem}.btn:disabled{opacity:.5;cursor:default}.btn-row{flex-wrap:wrap;gap:.5rem;display:flex}.filters{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.chip{border:1px solid var(--rule);background:var(--surface);color:var(--muted);font-size:var(--s-sm);border-radius:999px;padding:.24rem .7rem}.chip:hover{border-color:var(--rule-strong);color:var(--ink-2)}.chip.is-active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);font-weight:500}.search{border:1px solid var(--rule);background:var(--surface);border-radius:var(--radius);min-width:12rem;font:inherit;font-size:var(--s-sm);color:var(--ink);flex:1;padding:.4rem .7rem}.search::placeholder{color:var(--faint)}.note{font-size:var(--s-sm);color:var(--muted)}.callout{border-radius:var(--radius-lg);border:1px solid var(--rule);background:var(--surface-2);font-size:var(--s-sm);color:var(--ink-2);align-items:flex-start;gap:.7rem;padding:.85rem 1rem;display:flex}.callout svg{flex-shrink:0;margin-top:.1rem}.callout.accent{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.callout.warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.callout.alert{background:var(--alert-soft);color:var(--alert);border-color:#0000}.empty{text-align:center;color:var(--muted);font-size:var(--s-sm);border:1.5px dashed var(--rule-strong);border-radius:var(--radius-lg);padding:2rem 1rem}.detail-grid{grid-template-columns:minmax(0,2fr) minmax(15rem,1fr);align-items:start;gap:1.4rem;display:grid}.stack{flex-direction:column;gap:1.2rem;display:flex}.kv{font-size:var(--s-sm);grid-template-columns:minmax(7rem,auto) 1fr;gap:.35rem .9rem;display:grid}.kv dt{color:var(--muted)}.kv dd{color:var(--ink-2);margin:0}.back{color:var(--muted);font-size:var(--s-sm);background:0 0;border:none;align-items:center;gap:.35rem;padding:0;display:inline-flex}.back:hover{color:var(--accent)}.link{color:var(--accent);font:inherit;font-size:inherit;text-align:left;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--accent-line);text-decoration-color:var(--accent-line);background:0 0;border:none;padding:0}.link:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.drop{border:2px dashed var(--rule-strong);border-radius:var(--radius-lg);text-align:center;background:var(--surface);flex-direction:column;align-items:center;gap:.6rem;padding:2.4rem 1.5rem;display:flex}.drop.is-over{border-color:var(--accent);background:var(--accent-soft)}.progress{background:var(--surface-3);border-radius:2px;height:.3rem;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .2s}.stage-list{font-size:var(--s-sm);flex-direction:column;gap:.1rem;display:flex}.stage-row{border-bottom:1px solid var(--rule);color:var(--muted);grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.7rem;padding:.4rem 0;display:grid}.stage-row:last-child{border-bottom:none}.stage-row.is-done{color:var(--ink-2)}.stage-row.is-active{color:var(--accent);font-weight:500}.stage-num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-size:.7rem}.stage-where{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);font-size:.62rem}.confirm-row{border-bottom:1px solid var(--rule);font-size:var(--s-sm);grid-template-columns:minmax(8rem,1.5fr) 7rem 6.5rem minmax(6rem,1fr) auto;align-items:center;gap:.8rem;padding:.55rem 0;display:grid}.confirm-row:last-child{border-bottom:none}.confirm-row.head{font-size:var(--s-xs);color:var(--muted);border-bottom-color:var(--rule-strong);font-weight:600}.crop{border:1px dashed var(--rule-strong);background:var(--surface-2);color:var(--faint);font-family:var(--f-mono);text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:.2rem .3rem;font-size:.68rem;overflow:hidden}.fold-body{flex-direction:column;gap:.65rem;display:flex}.fold.is-folded .fold-body{display:none}.fold-toggle{width:100%;min-height:2.4rem;font:inherit;font-size:var(--s-sm);color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.6rem;padding:0;display:flex}.fold-summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fold-chev{color:var(--faint);transition:transform .15s;display:flex}.fold:not(.is-folded) .fold-chev{transform:rotate(180deg)}.overview-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.1rem 2rem;display:flex}.overview-head .page-head{flex:30rem;min-width:0}.head-actions{flex-direction:column;align-items:flex-end;gap:.45rem;display:flex}.head-actions .btn-row{justify-content:flex-end}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.85rem;display:grid}.stat{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);text-align:left;color:var(--ink);grid-template-columns:auto 1fr auto;grid-template-areas:"icon.chev""num num num""label label label";align-items:center;row-gap:.35rem;padding:1rem 1.1rem;display:grid}.stat:hover{border-color:var(--accent-line)}.stat-icon{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:.6rem;grid-area:icon;justify-content:center;align-items:center;display:inline-flex}.stat.is-alert .stat-icon{background:var(--alert-soft);color:var(--alert)}.stat.is-warn .stat-icon{background:var(--warn-soft);color:var(--warn)}.stat-chev{color:var(--faint);grid-area:chev;display:flex}.stat-num{font-family:var(--f-display);font-variant-numeric:tabular-nums;grid-area:num;font-size:2rem;font-weight:800;line-height:1.05}.stat-label{font-size:var(--s-sm);color:var(--ink-2);grid-area:label;line-height:1.35}.overview-cols{flex-wrap:wrap;align-items:flex-start;gap:1.6rem;display:flex}.overview-main{flex-direction:column;flex:999 34rem;gap:1.6rem;min-width:0;display:flex}.overview-side{flex-direction:column;flex:21rem;gap:1.6rem;min-width:0;display:flex}.overview-side .row{flex-wrap:wrap;row-gap:.35rem}.overview-side .row-main{flex:12rem}.overview-side .row-side{margin-left:auto}.row-chev{color:var(--faint);flex-shrink:0;align-self:center}.tile-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.tile-range .tile-label{font-size:var(--s-md);color:var(--ink);font-weight:600}.tile-when{font-size:var(--s-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.range{flex-direction:column;gap:.35rem;margin:.35rem 0 .15rem;display:flex}.range-track{background:var(--surface-3);border-radius:999px;height:.5rem;position:relative}.range-band{background:var(--accent-line);opacity:.55;border-radius:999px;position:absolute;top:0;bottom:0}.range-goal{background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-.25rem;bottom:-.25rem}.range-mark{background:var(--alert);border:2px solid var(--surface);border-radius:50%;width:.9rem;height:.9rem;margin:-.45rem 0 0 -.45rem;position:absolute;top:50%;box-shadow:0 1px 3px #17302f59}.range-mark.is-ok{background:var(--ok)}.range-scale{font-size:var(--s-xs);color:var(--muted)}.cta-card{border:1.5px dashed var(--rule-strong);border-radius:var(--radius-lg);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.9rem 1.2rem;padding:1.1rem 1.2rem;display:flex}.cta-card p{font-size:var(--s-sm);color:var(--ink-2);flex:18rem}.cta-icon{background:var(--accent-soft);width:2.8rem;height:2.8rem;color:var(--accent);border-radius:.8rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (width<=60rem){.app{grid-template-columns:1fr}.sidebar{z-index:30;height:auto;padding:calc(.5rem + env(safe-area-inset-top,0px)) .6rem .5rem .9rem;gap:0;position:sticky;top:0;overflow:visible}.sidebar-top{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.brand{min-width:0;padding:0}.brand-name{font-size:var(--s-md)}.brand-mark{border-radius:.5rem;width:2rem;height:2rem}.menu-toggle{border-radius:var(--radius);max-width:55%;min-height:2.75rem;color:var(--on-brand);font-size:var(--s-sm);background:#fff4df1f;border:none;align-items:center;gap:.45rem;padding:.4rem .75rem;font-weight:600;display:flex}.menu-where{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-toggle .chev{color:var(--on-brand-muted);transition:transform .15s;display:flex}.sidebar.is-open .menu-toggle .chev{transform:rotate(90deg)}.sidebar-body{background:var(--brand-deep);border-top:1px solid #fff4df24;flex-direction:column;gap:1rem;max-height:calc(100vh - 3.6rem);padding:.7rem .9rem .9rem;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 14px 30px -12px #00000073}.sidebar.is-open .sidebar-body{display:flex}.main{padding:1.2rem 1rem 4rem}.detail-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=40rem){.tl-item{grid-template-columns:1fr;gap:.35rem}.tl-when{flex-direction:row;align-items:baseline;gap:.5rem}.confirm-row{grid-template-columns:1fr auto;row-gap:.3rem}.confirm-row .crop,.confirm-row .ref{grid-column:1/-1}.confirm-row.head{display:none}}pre.raw{font-family:var(--f-mono);white-space:pre-wrap;word-break:break-word;color:var(--muted);background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--radius);max-height:22rem;margin:.4rem 0 0;padding:.7rem .8rem;font-size:.72rem;line-height:1.55;overflow:auto}input[type=checkbox]{accent-color:var(--accent)}.chat{flex-direction:column;gap:.9rem;display:flex}.chat-start{border:1.5px dashed var(--rule-strong);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.6rem 1.4rem;display:flex}.chat-log{flex-direction:column;gap:.7rem;display:flex}.bubble{border-radius:var(--radius-lg);border:1px solid var(--rule);background:var(--surface);max-width:46rem;font-size:var(--s-md);flex-direction:column;gap:.5rem;padding:.75rem 1rem;line-height:1.6;display:flex}.bubble.is-user{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink);align-self:flex-end}.bubble.is-assistant{color:var(--ink-2);align-self:flex-start}.bubble.is-waiting{opacity:.7}.chat-input{align-items:flex-end;gap:.5rem;display:flex}.chat-input .search{resize:vertical;min-height:3.2rem;font-family:var(--f-body);flex:1}.summary-card .card-head svg{color:var(--accent)}.summary-text{font-size:var(--s-md);color:var(--ink-2);flex-direction:column;gap:.65rem;max-width:52rem;line-height:1.65;display:flex}.systems{flex-direction:column;gap:.5rem;display:flex}.system{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.system.is-open{border-color:var(--rule-strong);box-shadow:var(--shadow)}.system-head{text-align:left;width:100%;color:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex}.system-head:hover{background:var(--surface-2)}.system-title{align-items:center;gap:.6rem;min-width:0;display:flex}.system-title strong{font-family:var(--f-display);font-size:var(--s-lg);font-weight:700}.system-marks{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.system-chevron{color:var(--muted);transition:transform .15s}.system.is-open .system-chevron{transform:rotate(180deg)}.system-body{border-top:1px solid var(--rule);flex-direction:column;gap:.7rem;padding:.9rem 1.1rem 1.1rem;display:flex}.system-body .card{border-color:var(--rule);background:var(--surface-2)}.hint-block{flex-direction:column;gap:.3rem;margin-top:.15rem;display:flex}.hint-toggle{max-width:100%;color:var(--muted);font-size:var(--s-xs);text-align:left;background:0 0;border:none;align-self:flex-start;align-items:center;gap:.35rem;padding:0;line-height:1.45;display:inline-flex}.hint-toggle:hover{color:var(--accent)}.hint-toggle svg{opacity:.7;flex-shrink:0}.hint-toggle svg.is-open{transform:rotate(180deg)}.hint-body{border-left:2px solid var(--accent-line);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;font-size:var(--s-sm);color:var(--ink-2);flex-direction:column;gap:.4rem;max-width:46rem;padding:.6rem .75rem;line-height:1.55;display:flex}.hint-body em{color:var(--muted);font-style:normal;font-weight:600}.nav-group{flex-direction:column;gap:1px;display:flex}.term-info{border:1px solid var(--accent-line);background:var(--accent-soft);width:1.05em;height:1.05em;color:var(--accent);font-family:var(--f-body);vertical-align:super;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:.28em;padding:0;font-size:.62em;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.term-info:hover,.term-info.is-open{background:var(--accent);border-color:var(--accent);color:var(--surface)}.term-add{border:1px dashed var(--rule-strong);width:1.05em;height:1.05em;color:var(--faint);font-family:var(--f-body);vertical-align:super;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:.28em;padding:0;font-size:.62em;font-style:normal;font-weight:700;line-height:1;display:inline-flex}.term-add:hover,.term-add.is-open{border-style:solid;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent)}.term-layer{font-size:var(--s-sm);color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.term-layer .dotbox{border:1px dashed var(--rule-strong);width:1.15rem;height:1.15rem;color:var(--faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.term-layer strong{color:var(--ink-2);font-weight:600}.term-panel{z-index:60;border:1px solid var(--rule-strong);border-radius:var(--radius-lg);background:var(--surface);width:min(360px,100vw - 24px);max-height:70vh;font-size:var(--s-sm);color:var(--ink-2);text-align:left;flex-direction:column;gap:.5rem;padding:.8rem .9rem;font-weight:400;line-height:1.55;display:flex;position:fixed;overflow-y:auto;box-shadow:4px 10px 30px -6px #075f664d}:root[data-theme=dark] .term-panel{box-shadow:0 8px 30px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .term-panel{box-shadow:0 8px 30px #00000080}}.term-panel-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:.6rem;padding-bottom:.4rem;display:flex}.term-panel-head strong{font-family:var(--f-display);font-size:var(--s-md);color:var(--ink);font-weight:700}.term-close{color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:.1rem;line-height:0}.term-close:hover{color:var(--ink)}.term-panel p{margin:0}.term-panel em{color:var(--muted);font-style:normal;font-weight:600}.term-foot{border-top:1px solid var(--rule);font-size:var(--s-xs);color:var(--faint);padding-top:.4rem}.sheet{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:1.4rem;max-width:54rem;padding:2rem 2.2rem 2.2rem;display:flex}.sheet-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-bottom:.8rem;display:flex}.sheet-head h2{font-family:var(--f-display);font-size:var(--s-xl);letter-spacing:-.012em;margin:0;font-weight:600}.sheet-who{font-size:var(--s-md);color:var(--ink-2);margin:.35rem 0 0}.sheet-when{font-family:var(--f-mono);font-size:var(--s-xs);color:var(--muted);text-align:right;white-space:nowrap;line-height:1.45}.sheet-block{break-inside:avoid;flex-direction:column;gap:.45rem;display:flex}.sheet-block h3{font-family:var(--f-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);margin:0;padding-bottom:.3rem;font-size:.68rem;font-weight:500}.sheet-line{font-size:var(--s-sm);margin:0}.sheet-note{font-size:var(--s-xs);color:var(--muted);margin:0;line-height:1.5}.sheet-dim{color:var(--muted);font-size:var(--s-xs)}.sheet-table{border-collapse:collapse;width:100%;font-size:var(--s-sm)}.sheet-table th{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:1px solid var(--rule-strong);white-space:nowrap;padding:.3rem .7rem .3rem 0;font-size:.66rem;font-weight:500}.sheet-table td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.4rem .7rem .4rem 0}.sheet-table tr:last-child td{border-bottom:none}.sheet-table td.num,.sheet-table th.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.sheet-table tr.sheet-subhead td{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule-strong);padding-top:.7rem;font-size:.66rem}.sheet-foot{border-top:1px solid var(--rule);font-size:var(--s-xs);color:var(--muted);padding-top:.7rem}@media print{:root,:root:not([data-theme=light]),:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--surface:#fff;--surface-2:#fff;--surface-3:#fff;--ink:#000;--ink-2:#1c1c1c;--muted:#4a4a4a;--faint:#6a6a6a;--rule:#b8b8b8;--rule-strong:#7a7a7a;--accent:#0b4f53;--accent-soft:#fff;--accent-line:#7a7a7a;--on-accent:#fff;--alert:#7a1410;--alert-soft:#fff;--warn:#5f3d00;--warn-soft:#fff;--ok:#10422f;--ok-soft:#fff;--shadow:none}html,body{background:#fff}@page{size:A4;margin:14mm}.app{display:block}.sidebar,.no-print{display:none!important}.main{gap:0;padding:0}.sheet{box-shadow:none;border:none;border-radius:0;gap:1rem;max-width:none;padding:0}.sheet-table{font-size:9.5pt}.sheet-head h2{font-size:15pt}a[href]:after{content:none}}.icon-btn{border-radius:var(--radius);width:1.7rem;height:1.7rem;color:var(--faint);cursor:pointer;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.icon-btn:hover{color:var(--alert);border-color:var(--rule-strong);background:var(--surface-2)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cell-actions{justify-content:flex-end;gap:.25rem;display:flex}.entry-form{flex-direction:column;gap:.75rem;display:flex}.field{flex-direction:column;flex:12rem;gap:.28rem;min-width:0;display:flex}.field>span{font-size:var(--s-xs);color:var(--muted);font-weight:600}.entry-form>.field{flex:none}.field-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.field.tight{flex-basis:5rem}.field.tight .search{min-width:0}.field-row>.btn{flex-shrink:0}select.search{appearance:auto;cursor:pointer}.question-list{flex-direction:column;gap:.65rem;margin:0;padding-left:1.4rem;display:flex}.question{border-bottom:1px solid var(--rule);break-inside:avoid;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.65rem;display:flex}.question-list li:last-child .question,.question:last-child{border-bottom:none;padding-bottom:0}.question-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.question-text{font-size:var(--s-md);color:var(--ink)}.question-why{font-size:var(--s-xs);color:var(--muted);line-height:1.5}.question-side{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.sheet-questions{font-size:var(--s-sm);flex-direction:column;gap:.4rem;margin:0;padding-left:1.3rem;display:flex}.sheet-questions li{break-inside:avoid}@media print{.question{border-bottom:none;padding-bottom:.2rem}}.budget-bar{background:var(--surface-3);border-radius:2px;height:.5rem;margin:.4rem 0 .6rem;overflow:hidden}.budget-bar i{background:var(--accent);height:100%;transition:width .2s;display:block}.budget-bar i.is-over{background:var(--alert)}.gate{background:var(--paper);place-items:center;min-height:100vh;padding:2rem 1.25rem;display:grid}.gate-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);width:100%;max-width:24rem;box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.gate-card .brand{margin-bottom:.25rem;padding:0}.gate-card .brand-sub{color:var(--muted);white-space:normal}.gate-field{flex-direction:column;gap:.35rem;display:flex}.gate-field>span:first-child{font-size:var(--s-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:600}.gate-field input{font-family:var(--f-body);font-size:var(--s-md);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);color:var(--ink);padding:.6rem .7rem}.gate-field input:focus{outline:2px solid var(--accent-line);outline-offset:1px;border-color:var(--accent-line)}.note.is-alert{color:var(--alert)}.form-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start;gap:.85rem;display:grid}.secret{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0;display:flex}.secret code{font-family:var(--f-mono);font-size:var(--s-lg);letter-spacing:.06em;border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);-webkit-user-select:all;user-select:all;padding:.35rem .6rem}.row-tags{vertical-align:middle;flex-wrap:wrap;gap:.3rem;margin-left:.4rem;display:inline-flex}.person-edit{border-bottom:1px solid var(--rule);flex-direction:column;gap:.85rem;padding:.9rem 0 1.1rem;display:flex}.person-edit .gate-field input{font-size:var(--s-sm)}.row-date.is-alert{color:var(--alert)}@media screen and (width<=46rem){.main{gap:1.1rem;padding:1rem .8rem 3.5rem}.card{padding:.8rem .85rem}.btn,.chip{min-height:2.2rem}.icon-btn{width:2.2rem;height:2.2rem}.cell-actions{gap:.6rem}.search,.gate-field input,.person-edit .gate-field input,input,textarea,select{font-size:16px}.row{padding-top:.55rem;padding-bottom:.55rem}.sheet-fold{text-align:left;width:100%;min-height:2.4rem;color:inherit;background:0 0;border:none;align-items:center;gap:.5rem;padding:0;display:flex}.sheet-fold h3{border-bottom:none;padding-bottom:0}.sheet-tally{font-family:var(--f-mono);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.68rem;overflow:hidden}.sheet-block:not(.is-folded) .sheet-fold .fold-chev{transform:rotate(180deg)}.sheet-print-title{display:none}.sheet-block{border-bottom:1px solid var(--rule);padding-bottom:.5rem}.sheet-block.is-folded{gap:0}.sheet-block.is-folded .sheet-body{display:none}.tabbar{z-index:40;background:var(--surface);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 18px -12px #075f6666}.tab{min-height:3.25rem;color:var(--ink-2);background:0 0;border:none;border-radius:.9rem;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;margin:.35rem .2rem;padding:.3rem .2rem;font-size:.72rem;line-height:1.2;display:flex}.tab.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.tab-cta-icon{background:var(--accent);width:1.75rem;height:1.75rem;color:var(--on-accent);border-radius:.55rem;justify-content:center;align-items:center;display:inline-flex}.tab svg{opacity:.9}.main{padding-bottom:calc(4.4rem + env(safe-area-inset-bottom,0px))}.tl-year-btn{text-align:left;background:0 0;align-items:center;gap:.6rem;width:100%;display:flex}.tl-year-tally{font-family:var(--f-body);font-size:var(--s-xs);color:var(--muted);flex:1;font-weight:400}.tl-year-btn.is-open .fold-chev{transform:rotate(180deg)}.more-btn{justify-content:center;width:100%}.row-value{font-size:var(--s-md);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.card-head{flex-wrap:wrap;row-gap:.3rem}.system-marks{flex-wrap:wrap;justify-content:flex-end}.page-head h1{font-size:1.75rem}.head-actions{align-items:stretch;width:100%}.head-actions .btn-row{flex-wrap:nowrap}.head-actions .btn{white-space:nowrap;flex:1;justify-content:center;padding-left:.6rem;padding-right:.6rem}.stat{grid-template-areas:"icon num chev""label label label";column-gap:.55rem;padding:.75rem .8rem}.stat-num{font-size:1.6rem}.sheet-table{display:block;overflow-x:auto}.question{flex-direction:column;gap:.4rem}.question-side{align-self:flex-start}.question-list{padding-left:1.1rem}.table-wrap{background:linear-gradient(to right, var(--surface) 30%, transparent), linear-gradient(to left, var(--surface) 30%, transparent) 100% 0, linear-gradient(to right, #00000017, transparent 12px), linear-gradient(to left, #00000017, transparent 12px) 100% 0;background-repeat:no-repeat;background-size:28px 100%,28px 100%,12px 100%,12px 100%;background-attachment:local,local,scroll,scroll}}
