@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_481cdf{font-family:Manrope,Manrope Fallback;font-style:normal}.__variable_481cdf{--font-manrope:"Manrope","Manrope Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_7240df{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_7240df{--font-mono-data:"DM Mono","DM Mono Fallback"}:root{--forest-900:#0f2620;--forest-800:#16332b;--forest-700:#1d4638;--forest-600:#245544;--forest-500:#2c6b53;--lime:#cdf565;--lime-soft:#e7fbb8;--canvas:#f5f7f4;--surface:#ffffff;--surface-sunken:#f7f9f6;--surface-hover:#eff3ed;--text:#16211c;--text-muted:#61706a;--text-subtle:#8b978f;--text-inverse:#eaf3ed;--text-inverse-muted:#a9c0b4;--border:#e0e6e0;--border-strong:#cbd5cc;--border-inverse:rgba(255,255,255,0.1);--danger:#b23c2e;--danger-bg:#fdf3f1;--danger-border:#f0cdc6;--success:#2b6b42;--success-bg:#eef8ee;--success-border:#c6e3c5;--warning:#8a5d10;--warning-bg:#fdf5e4;--warning-border:#ecd9ab;--info:#2c5b8f;--info-bg:#eef4fb;--info-border:#cddef1;--radius-sm:6px;--radius:9px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(16,38,28,0.06);--shadow:0 4px 16px rgba(16,38,28,0.08);--shadow-lg:0 18px 48px rgba(11,30,22,0.18);--ring:0 0 0 3px rgba(44,107,83,0.28);--ring-inverse:0 0 0 3px rgba(205,245,101,0.35);--sidebar-width:288px;--topbar-height:68px;--font-sans:var(--font-manrope),"Segoe UI",system-ui,sans-serif;--font-mono:var(--font-mono-data),ui-monospace,"SFMono-Regular",monospace}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}body,figure,h1,h2,h3,h4,p{margin:0}h1{font-size:22px;letter-spacing:-.5px}h1,h2{font-weight:800}h2{font-size:17px;letter-spacing:-.3px}h3{font-size:14px;font-weight:700}a{color:inherit}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--text-muted)}.eyebrow,.subtle{color:var(--text-subtle)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.mono{font-family:var(--font-mono)}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 13px;height:36px;font:700 13px var(--font-sans);white-space:nowrap;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.button:hover:not(:disabled){background:var(--surface-hover)}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--forest-600);border-color:var(--forest-600);color:#fff}.button--primary:hover:not(:disabled){background:var(--forest-700);border-color:var(--forest-700)}.button--danger{background:var(--surface);border-color:var(--danger-border);color:var(--danger)}.button--danger:hover:not(:disabled){background:var(--danger-bg)}.button--danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.button--danger-solid:hover:not(:disabled){background:#98301f;border-color:#98301f}.button--ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.button--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.button--small{height:30px;padding:0 10px;font-size:12px}.button--large{height:42px;padding:0 18px;font-size:14px}.button--block{width:100%}.icon-button{display:inline-grid;place-items:center;flex:none;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-button:disabled{opacity:.4;cursor:not-allowed}.icon-button--danger:hover:not(:disabled){background:var(--danger-bg);color:var(--danger)}.icon-button--bordered{border-color:var(--border-strong);background:var(--surface)}.link-button{border:0;background:none;padding:0;color:var(--forest-600);font:700 13px var(--font-sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.button-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.field{display:grid;grid-gap:6px;gap:6px}.field>label,.label{font-size:12px;font-weight:700;color:var(--text-muted)}.field-hint{font-size:12px;color:var(--text-subtle);line-height:1.5}.field-error{font-size:12px;font-weight:600;color:var(--danger)}.input,.select,.textarea{width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:0 11px;height:36px;font:400 13px var(--font-sans);transition:border-color .12s ease,box-shadow .12s ease}.textarea{height:auto;min-height:96px;padding:10px 11px;font-family:var(--font-mono);line-height:1.6;resize:vertical}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--forest-500);box-shadow:var(--ring)}.input::placeholder,.textarea::placeholder{color:var(--text-subtle)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-sunken);color:var(--text-subtle);cursor:not-allowed}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2361706a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 9px center}.search-input{position:relative;display:flex;align-items:center;flex:1 1;min-width:200px}.search-input svg{position:absolute;left:11px;color:var(--text-subtle);pointer-events:none}.search-input .input{padding-left:34px}.segmented{display:inline-flex;flex:none;padding:3px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-sunken)}.segmented button{border:0;border-radius:4px;background:transparent;color:var(--text-muted);padding:0 12px;height:28px;font:700 12px var(--font-sans);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:var(--radius-full);padding:3px 9px;font-size:11px;font-weight:800;letter-spacing:.2px;white-space:nowrap}.badge--neutral{background:var(--surface-sunken);border-color:var(--border);color:var(--text-muted)}.badge--technical{background:#eceeed;color:#4f5f57}.badge--passive{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.badge--active{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge--calculation{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:var(--radius-full);background:var(--lime);color:var(--forest-800);font-size:11px;font-weight:800;font-style:normal;text-transform:uppercase}.avatar--muted{background:var(--surface-hover);color:var(--text-muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}.panel__header h2{margin-bottom:2px}.panel__header p{font-size:12px;color:var(--text-muted)}.panel__body{padding:18px}.panel__body--flush{padding:0}.stack{display:grid;grid-gap:18px;gap:18px;align-content:start}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid var(--border)}.setting-row:last-child{border-bottom:0}.setting-row__text{display:grid;grid-gap:3px;gap:3px;max-width:60ch}.setting-row__text b{font-size:13px}.setting-row__text span{font-size:12px;color:var(--text-muted);line-height:1.5}.setting-row__control{display:flex;align-items:center;gap:8px;flex:none}.callout{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--info-border);border-radius:var(--radius);background:var(--info-bg);color:var(--info);padding:12px 14px;font-size:12.5px;line-height:1.55}.callout svg{flex:none;margin-top:1px}.callout--danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.callout--warning{border-color:var(--warning-border);background:var(--warning-bg);color:var(--warning)}.empty-state{display:grid;justify-items:center;grid-gap:10px;gap:10px;padding:56px 24px;text-align:center;color:var(--text-muted)}.empty-state__icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius-full);background:var(--surface-hover);color:var(--forest-600)}.empty-state b{font-size:14px;color:var(--text)}.empty-state p{font-size:13px;max-width:46ch;line-height:1.55}.spinner{display:inline-block;flex:none;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-block{align-content:center;grid-gap:12px;gap:12px;padding:64px 24px;min-height:200px;color:var(--text-muted)}.loading-block,.loading-screen{display:grid;justify-items:center;font-size:13px;font-weight:600}.loading-screen{place-content:center;grid-gap:14px;gap:14px;min-height:100vh;background:var(--canvas);color:var(--text-muted)}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--surface-hover) 25%,#e6ebe6 37%,var(--surface-hover) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.skeleton,.spinner{animation-duration:.01ms;animation-iteration-count:1}}.table-wrap{overflow:auto;max-width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel .table-wrap{border:0;border-radius:0;box-shadow:none}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table td,.data-table th{border-bottom:1px solid var(--border);padding:10px 14px;text-align:left;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--surface-sunken);color:var(--text-muted);font-size:12px;font-weight:700}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--surface-sunken)}.data-table td{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.data-table td.index-cell,.data-table th.index-cell{width:1%;max-width:none;color:var(--text-subtle)}.sort-button{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-width:0;border:0;background:none;padding:0;color:inherit;font:inherit}button.sort-button{cursor:pointer}.sort-button__label,.truncated-text{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-button:hover{color:var(--text)}.sort-button svg{flex:none;opacity:.35}.sort-button[data-sorted=true]{color:var(--forest-600)}.sort-button[data-sorted=true] svg{opacity:1}.report-table{border-collapse:separate;border-spacing:0;width:100%}.report-table td,.report-table th{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 14px;text-align:left;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-table td:last-child,.report-table th:last-child{border-right:0}.report-table .report-title th{background:var(--forest-700);color:#fff;font-size:14px;letter-spacing:-.2px;padding:14px}.report-table .report-groups th,.report-table .report-title th{max-width:none;overflow:visible;text-overflow:unset;font-weight:800}.report-table .report-groups th{background:var(--surface-hover);color:var(--forest-600);font-size:11px;text-transform:uppercase;letter-spacing:.6px;text-align:center;height:34px}.report-table .report-heads th{background:var(--surface-sunken);font-size:12px;font-weight:700}.report-table td{font-family:var(--font-mono);font-size:12.5px;color:var(--text)}.report-table td.numeric,.report-table td.numeric .cell-button{text-align:right}.report-table td.calculated{font-weight:600;color:var(--forest-500);background:rgba(205,245,101,.09)}.report-table td .truncated-text{max-width:100%}.report-table tbody tr:hover td{background:var(--surface-sunken)}.report-table tbody tr:hover td.calculated{background:rgba(205,245,101,.16)}.cell-button,.cell-input{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;border:1px solid transparent;border-radius:4px;padding:2px 4px;margin:0;color:inherit;font:inherit;line-height:inherit}.cell-button{background:none;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text}.cell-button:hover{border-color:var(--border-strong);background:var(--surface)}.cell-button em{color:var(--text-subtle);font-style:normal}.cell-input{border-color:var(--forest-500);background:var(--surface);outline:none}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.pagination__controls{display:flex;align-items:center;gap:6px}.app-shell{display:flex;min-height:100vh}.app-main{display:flex;flex-direction:column;flex:1 1;min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:var(--topbar-height);padding:12px 28px;background:rgba(245,247,244,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar__title{display:grid;grid-gap:2px;gap:2px;min-width:0}.topbar__title h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-subtle)}.breadcrumbs svg{opacity:.6}.topbar__actions{display:flex;align-items:center;gap:8px;flex:none}.workspace{flex:1 1;min-width:0;padding:24px 28px 48px}.workspace--narrow{width:100%;max-width:880px}.sidebar-toggle{display:none}.sidebar{position:-webkit-sticky;position:sticky;top:0;display:flex;flex-direction:column;flex:none;width:var(--sidebar-width);height:100vh;background:var(--forest-900);color:var(--text-inverse)}.sidebar :focus-visible{box-shadow:var(--ring-inverse)}.sidebar__head{display:grid;grid-gap:12px;gap:12px;padding:16px 14px 12px}.brand{display:flex;align-items:center;gap:10px;padding:0 4px;color:inherit;text-decoration:none}.brand__mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:var(--lime);color:var(--forest-800);font-size:11px;font-weight:800}.brand__name{display:grid;line-height:1.15}.brand__name strong{font-size:14px;letter-spacing:-.3px}.brand__name span{font-size:11px;color:var(--text-inverse-muted)}.project-switch{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--border-inverse);border-radius:var(--radius);background:rgba(255,255,255,.05);color:inherit;padding:9px 11px;text-align:left;cursor:pointer;transition:background .12s ease}.project-switch:hover{background:rgba(255,255,255,.1)}.project-switch__text{display:grid;grid-gap:1px;gap:1px;min-width:0;flex:1 1}.project-switch__text strong{min-width:0;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-switch__text span{font-size:11px;color:var(--text-inverse-muted)}.project-switch svg{flex:none;color:var(--text-inverse-muted)}.sidebar__nav{flex:1 1;overflow-y:auto;padding:4px 10px 16px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.sidebar__nav::-webkit-scrollbar{width:8px}.sidebar__nav::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-full);background:rgba(255,255,255,.16) padding-box}.nav-link{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-inverse-muted);padding:8px 10px;font:600 13px var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background .12s ease,color .12s ease}.nav-link:hover{background:rgba(255,255,255,.07);color:#fff}.nav-link[aria-current=page]{background:var(--forest-700);color:#fff}.nav-link svg{flex:none;color:var(--lime)}.nav-link__count{margin-left:auto;font-size:11px;font-weight:700;color:var(--text-inverse-muted)}.nav-section{display:flex;align-items:center;gap:2px;margin:16px 0 4px}.nav-section__toggle{display:flex;align-items:center;gap:6px;flex:1 1;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-inverse-muted);padding:6px 8px;font:800 11px var(--font-sans);letter-spacing:.9px;text-transform:uppercase;cursor:pointer}.nav-section__toggle:hover{color:#fff}.tree,.tree-branch{grid-template-columns:minmax(0,1fr)}.tree{display:grid;grid-gap:1px;gap:1px}.tree__empty{padding:8px 10px 12px;font-size:12px;color:var(--text-inverse-muted);line-height:1.5}.tree-branch{display:grid;grid-gap:1px;gap:1px;margin-bottom:6px}.tree-row{display:flex;align-items:center;gap:2px;min-width:0;border-radius:var(--radius-sm);padding-right:4px}.tree-row:hover{background:rgba(255,255,255,.07)}.tree-row--active{background:var(--forest-700)}.tree-row--active:hover{background:var(--forest-600)}.tree-row__label{display:flex;align-items:center;gap:7px;flex:1 1;min-width:0;border:0;background:none;color:var(--text-inverse-muted);padding:7px 4px 7px 8px;font:600 13px var(--font-sans);text-align:left;text-decoration:none;cursor:pointer}.tree-row__label span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row__label svg{flex:none;opacity:.75}.tree-row--chapter .tree-row__label{color:var(--text-inverse);font-weight:700}.tree-row--table{margin-left:18px}.tree-row--active .tree-row__label{color:#fff}.tree-row--active .tree-row__label svg{color:var(--lime);opacity:1}.tree-row__actions{display:flex;align-items:center;gap:1px;flex:none;opacity:0;transition:opacity .12s ease}.tree-row:focus-within .tree-row__actions,.tree-row:hover .tree-row__actions,.tree-row__actions[data-open=true]{opacity:1}.tree-action{display:grid;place-items:center;flex:none;width:24px;height:24px;border:0;border-radius:5px;background:none;color:var(--text-inverse-muted);cursor:pointer}.tree-action:hover{background:rgba(255,255,255,.14);color:var(--lime)}.tree-add{display:flex;align-items:center;gap:6px;margin-left:18px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-inverse-muted);padding:6px 8px;font:600 12px var(--font-sans);cursor:pointer}.tree-add:hover{background:rgba(255,255,255,.07);color:var(--lime)}.sidebar__footer{border-top:1px solid var(--border-inverse);padding:10px}.user-button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:var(--radius);background:none;color:inherit;padding:8px;text-align:left;cursor:pointer}.user-button:hover{background:rgba(255,255,255,.07)}.user-button__text{display:grid;grid-gap:1px;gap:1px;min-width:0;flex:1 1}.user-button__text strong{font-size:12.5px}.user-button__text span,.user-button__text strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-button__text span{font-size:11px;color:var(--text-inverse-muted)}.sidebar-backdrop{display:none}.menu-anchor{position:relative;display:inline-flex}.menu-anchor--block{display:flex;width:100%}.menu{position:absolute;z-index:60;min-width:214px;padding:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg);animation:menu-in .11s ease-out}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu--start{left:0}.menu--end{right:0}.menu--below{top:calc(100% + 6px)}.menu--above{bottom:calc(100% + 6px)}.menu--stretch{min-width:100%}.menu__label{padding:7px 9px 5px;font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--text-subtle)}.menu__item{display:flex;align-items:center;gap:9px;width:100%;border:0;border-radius:var(--radius-sm);background:none;color:var(--text);padding:8px 9px;font:600 13px var(--font-sans);text-align:left;text-decoration:none;cursor:pointer}.menu__item:focus-visible,.menu__item:hover:not(:disabled){background:var(--surface-hover)}.menu__item:disabled{opacity:.5;cursor:not-allowed}.menu__item svg{flex:none;color:var(--text-muted)}.menu__item span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__item--danger:hover:not(:disabled){background:var(--danger-bg)}.menu__item--active,.menu__item--active svg{color:var(--forest-600)}.menu__item small{margin-left:auto;font-size:11px;font-weight:700;color:var(--text-subtle)}.menu__separator{height:1px;margin:5px 4px;background:var(--border)}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(12,30,23,.5);animation:fade-in .12s ease-out;overflow-y:auto}@keyframes fade-in{0%{opacity:0}}.modal{display:flex;flex-direction:column;width:min(100%,560px);max-height:calc(100vh - 40px);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-in .14s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.modal--small{width:min(100%,440px)}.modal--wide{width:min(100%,820px)}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px}.modal__header h2{margin-bottom:4px}.modal__header p{font-size:12.5px;color:var(--text-muted);line-height:1.55;max-width:56ch}.modal__body{display:grid;grid-gap:16px;gap:16px;align-content:start;padding:4px 22px 6px;overflow-y:auto}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 22px 20px}.modal__footer--split{justify-content:space-between}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;grid-gap:10px;gap:10px;width:min(380px,calc(100vw - 40px))}.toast{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);border-left:3px solid var(--forest-500);border-radius:var(--radius);background:var(--surface);padding:12px 13px;box-shadow:var(--shadow);animation:toast-in .16s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateX(14px)}}.toast__text{flex:1 1;font-size:13px;line-height:1.45}.toast--success{border-left-color:var(--success)}.toast--success>svg{color:var(--success)}.toast--error{border-left-color:var(--danger)}.toast--error>svg{color:var(--danger)}.toast--info>svg{color:var(--info)}.toast>svg{flex:none;margin-top:1px}.auth-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(ellipse at 20% 0,rgba(205,245,101,.14),transparent 55%),var(--forest-900)}.auth-card{width:min(100%,420px);display:grid;grid-gap:18px;gap:18px;background:var(--surface);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-lg)}.auth-card__brand{display:flex;align-items:center;gap:10px}.auth-card__head{display:grid;grid-gap:6px;gap:6px}.auth-card__head p{font-size:13px;color:var(--text-muted);line-height:1.55}.auth-card form{display:grid;grid-gap:12px;gap:12px}.otp-input{height:54px;font-family:var(--font-mono);font-size:24px;font-weight:600;letter-spacing:10px;text-indent:10px;text-align:center}.auth-footer{display:flex;justify-content:center}.projects-page{min-height:100vh;background:var(--canvas)}.projects-page__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 40px;border-bottom:1px solid var(--border);background:var(--surface)}.projects-page__body{max-width:1080px;margin:0 auto;padding:36px 40px 64px;display:grid;grid-gap:20px;gap:20px}.projects-page__intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.project-card{display:grid;grid-gap:6px;gap:6px;align-content:start;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:18px;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.project-card__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.project-card h2{font-size:16px}.project-card__meta{font-size:12px;color:var(--text-subtle)}.project-card__cta,.project-card__meta{display:flex;align-items:center;gap:6px}.project-card__cta{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--forest-600)}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border)}.toolbar__count{margin-left:auto;font-size:12px;color:var(--text-muted);white-space:nowrap}.import-preview{border:1px solid var(--border);border-radius:var(--radius);overflow:auto;max-height:260px}.import-preview table{border-collapse:separate;border-spacing:0;width:100%;font-family:var(--font-mono);font-size:12px}.import-preview td,.import-preview th{border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;white-space:nowrap}.import-preview thead th{position:-webkit-sticky;position:sticky;top:0;background:var(--surface-sunken);font-family:var(--font-sans);font-size:12px;font-weight:700}.import-preview tbody tr:last-child td{border-bottom:0}.detection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px;margin:0}.detection-grid>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:9px 11px}.detection-grid dt{font-size:11px;font-weight:700;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.5px}.detection-grid dd{margin:3px 0 0;font-size:13px;font-weight:700}.dropzone{display:grid;justify-items:center;grid-gap:8px;gap:8px;width:100%;border:1.5px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-sunken);padding:28px 20px;text-align:center;color:var(--text-muted);font-size:13px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.dropzone:hover,.dropzone[data-dragging=true]{border-color:var(--forest-500);background:var(--surface-hover)}.dropzone svg{color:var(--forest-600)}.dropzone b{color:var(--text)}.builder-columns{display:grid;grid-gap:8px;gap:8px}.column-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:12px;gap:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px 14px;transition:border-color .12s ease}.column-card:hover{border-color:var(--border-strong)}.column-card--technical{background:var(--surface-sunken)}.column-card__ref{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--forest-700);color:var(--lime);font-family:var(--font-mono);font-size:12px;font-weight:700}.column-card__ref--muted{background:var(--surface-hover);color:var(--text-muted)}.column-card__main{display:grid;grid-gap:8px;gap:8px;min-width:0}.column-card__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.column-card__title b{font-size:13.5px}.column-card__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:8px;gap:8px}.column-card__actions{display:flex;align-items:center;gap:2px;flex:none}.column-card__summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.column-card__summary code{font-family:var(--font-mono);font-size:12px;background:var(--surface-sunken);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.formula-refs{display:flex;flex-wrap:wrap;gap:6px}.formula-ref{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);border-radius:var(--radius-full);background:var(--surface);padding:4px 11px;font:600 12px var(--font-sans);cursor:pointer}.formula-ref:hover{background:var(--surface-hover);border-color:var(--forest-500)}.formula-ref b{font-family:var(--font-mono);color:var(--forest-600)}.formula-preview{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);padding:10px 12px;font-size:12.5px}.formula-preview strong{font-family:var(--font-mono)}.member-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--border)}.member-row:last-child{border-bottom:0}.member-row__text{display:grid;grid-gap:1px;gap:1px;flex:1 1;min-width:0}.member-row__text b{font-size:13px}.member-row__text span{min-width:0;font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row--pending{background:var(--surface-sunken)}@media (max-width:1024px){.projects-page__body,.projects-page__header,.topbar,.workspace{padding-left:20px;padding-right:20px}}@media (max-width:860px){.sidebar{position:fixed;top:0;left:0;z-index:70;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}.sidebar[data-open=true]{transform:none}.sidebar-backdrop{position:fixed;inset:0;z-index:65;display:block;border:0;padding:0;background:rgba(12,30,23,.45)}.sidebar-toggle{display:inline-grid}.column-card{grid-template-columns:auto 1fr}.column-card__actions{grid-column:1/-1;justify-content:flex-end}.setting-row{flex-direction:column;align-items:stretch}.setting-row__control{justify-content:flex-end}}@media (max-width:620px){.topbar{flex-wrap:wrap}.toolbar__count{margin-left:0;width:100%}.projects-page__intro{flex-direction:column;align-items:stretch;gap:12px}.toast-region{right:12px;left:12px;bottom:12px;width:auto}}@media print{.sidebar,.toast-region,.topbar{display:none}.workspace{padding:0}}