@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_dfbb42{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_dfbb42{--font-fraunces:"Fraunces","Fraunces Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_987bfa{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_987bfa{--font-plex-sans:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_9f0762{--font-plex-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--paper:#F4F0E6;--ink:#20242B;--ink2:#565D68;--ink3:#8A8F97;--line:#D6CFBE;--line2:#E6E0D2;--teal:#0F5C5A;--teal2:#14807C;--teal-soft:#DDE9E6;--clay:#B4552F;--clay-soft:#F0DED4;--amber:#C08A1E;--amber-soft:#F1E5C6;--green:#3F7A3B;--green-soft:#DBE8D5;--violet:#5B4B8A;--violet-soft:#E4DFF0;--card:#FBF9F3;--radius:3px;--portfolio-nav-height:0px;--priority-scrollbar-height:18px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);line-height:1.55}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--teal2);outline-offset:2px}.wrap{max-width:1480px;margin:0 auto;padding:2.2rem 1.6rem 5rem}header{border-bottom:2px solid var(--ink);padding-bottom:1.1rem;margin-bottom:1.4rem}.eyebrow{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}.eyebrow,h1{margin-bottom:.5rem}h1{font-family:var(--font-fraunces),"Fraunces",serif;font-weight:500;font-size:36px;line-height:1.04;letter-spacing:-.5px}.sub{font-size:14px;max-width:66ch}.meta,.sub{color:var(--ink2)}.meta{margin-top:.7rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}.save-status{white-space:nowrap;color:var(--teal)}.save-meta{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.save-status-action{font-size:9px!important;line-height:1.15;padding:.18rem .35rem!important;letter-spacing:.02em}.save-status.error,.save-status.saving{color:var(--clay)}.header-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.9rem}.flow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;grid-gap:.45rem;gap:.45rem;margin:1.4rem 0 1.8rem}.flow-step{min-width:0;min-height:44px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .7rem;color:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background-color .15s,border-color .15s}.flow-step:hover{background:var(--line2);border-color:var(--teal)}.flow-step .fs-n{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--clay);letter-spacing:.06em}.flow-step .fs-t{font-weight:600;font-size:13.5px;margin:.15rem 0}.flow-step .fs-d{font-size:13px;color:var(--ink2);line-height:1.4}.flow-step .fs-s{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.03em;color:var(--teal);margin-top:.5rem;padding-top:.4rem;border-top:1px dashed var(--line)}.flow-step .fs-s.open{color:var(--ink3)}@media(max-width:900px){.flow{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.flow{grid-template-columns:minmax(0,1fr);gap:.5rem}.flow-step{padding:.65rem .8rem}}nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line);margin-bottom:1.8rem;display:flex;gap:.25rem;padding:.5rem 0;flex-wrap:wrap}nav button{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.01em;text-transform:uppercase;background:none;border:1px solid transparent;color:var(--ink2);padding:.35rem .5rem;border-radius:var(--radius);cursor:pointer;transition:.15s}nav button:hover{color:var(--ink);background:var(--line2)}nav button.active{background:var(--ink);color:var(--paper)}.nav-workspaces{display:flex;flex-wrap:wrap;gap:.25rem;min-width:0}.nav-mode-group{display:flex;align-items:center;gap:.3rem;margin-left:auto;padding-left:.65rem;border-left:1px solid var(--line);white-space:nowrap}.nav-mode-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}nav button.presentation-toggle{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.3rem .55rem;border-color:var(--line);background:var(--card);color:var(--ink2)}nav button.presentation-toggle:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal)}nav button.presentation-toggle.active{border-color:var(--teal);background:var(--teal);color:var(--paper)}.nav-mode-state{font-size:11px;letter-spacing:.04em;color:var(--ink2)}nav button.presentation-toggle.active .nav-mode-state{color:var(--paper)}.workflow-nav{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:-1rem 0 1.35rem;padding:.45rem 0;border-bottom:1px solid var(--line2);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink3)}.workflow-link{min-height:40px;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid transparent;border-radius:var(--radius);background:none;color:var(--teal);font:inherit;text-align:left;cursor:pointer}.workflow-link:hover{background:var(--teal-soft);border-color:var(--line)}.workflow-link.next{text-align:right}.workflow-position{white-space:nowrap}.workflow-position b{color:var(--ink);font-weight:600}.workflow-end{color:var(--ink3);text-align:right}section{margin-bottom:2.8rem;scroll-margin-top:calc(var(--portfolio-nav-height) + 12px)}.sec-head{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.4rem}.sec-num{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;color:var(--clay)}.sec-num,h2{font-weight:500}h2{font-family:var(--font-fraunces),"Fraunces",serif;font-size:24px;letter-spacing:-.3px}.sec-intro{color:var(--ink2);font-size:13.5px;max-width:74ch;margin-bottom:1.2rem}.howto{background:var(--teal-soft);border-left:3px solid var(--teal);padding:.9rem 1.1rem;border-radius:var(--radius);font-size:13px;color:var(--ink);margin-bottom:1.4rem}.howto b{color:var(--teal)}.cap-strip{display:flex;gap:1rem;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.4rem;align-items:flex-end}.cap-field{display:flex;flex-direction:column;gap:.25rem}.cap-field label{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.cap-field input,.cap-field label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.cap-field input{font-size:15px;border:1px solid var(--line);border-radius:2px;padding:.4rem .5rem;background:#fff;color:var(--ink);width:130px}.cap-field input:focus{outline:2px solid var(--teal2);outline-offset:-1px;border-color:transparent}.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));grid-gap:.6rem;gap:.6rem}.goal-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem}.goal-id{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;font-weight:500;color:var(--clay);display:block;margin-bottom:.15rem}.goal-t{font-weight:600;font-size:13px;margin-bottom:.1rem}.goal-d{font-size:12px;color:var(--ink2);line-height:1.4}.tbl-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}table{border-collapse:collapse;width:100%}#ntbl{min-width:640px}#ptbl2{min-width:1180px}.priority-table-shell{position:relative}.priority-scrollbar{position:-webkit-sticky;position:sticky;top:var(--portfolio-nav-height);z-index:35;height:var(--priority-scrollbar-height);overflow-x:scroll;overflow-y:hidden;scrollbar-gutter:stable;background:var(--card);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.priority-scrollbar-content{height:1px;min-width:1180px}.priority-table-scroll{max-height:min(70vh,720px);overflow:auto;border-top:none;border-radius:0 0 var(--radius) var(--radius);scrollbar-gutter:stable both-edges}th{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);text-align:left;padding:.55rem;border-bottom:1.5px solid var(--line);white-space:nowrap;vertical-align:bottom}#ptbl2 thead,th{background:var(--line2)}#ptbl2 thead{position:-webkit-sticky;position:sticky;top:0;z-index:4;box-shadow:0 1px 0 var(--line)}#ptbl2 thead th{position:static;background:var(--line2)}th.goal-col{writing-mode:horizontal-tb;transform:none;min-width:145px;height:58px;text-align:center;padding:.45rem .4rem;white-space:normal;line-height:1.25;cursor:help}td,th.goal-col{vertical-align:middle}td{padding:.35rem .5rem;border-bottom:1px solid var(--line2);font-size:13px}tr:last-child td{border-bottom:none}input[type=date],input[type=number],input[type=text],textarea{font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;font-size:13px;border:1px solid var(--line);border-radius:2px;padding:.3rem .4rem;background:#fff;color:var(--ink);width:100%}input[type=number]{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}input:focus,textarea:focus{outline:2px solid var(--teal2);outline-offset:-1px;border-color:transparent}select{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;border:1px solid var(--line);border-radius:2px;padding:.3rem;background:#fff;color:var(--ink2)}td.name-col{min-width:150px}td.name-col input{min-width:140px}.num-col{width:82px;text-align:right;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.num-col input{width:72px;text-align:right}.eur-col{width:112px}.eur-col input{width:104px}.term-col{width:120px}.score-cell{text-align:center;width:34px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:500;font-size:13px;color:var(--ink3);transition:.12s}.score-cell:hover{background:var(--line2)}.score-cell.s3{background:var(--teal-soft);color:var(--teal)}.score-cell.s2{background:var(--green-soft);color:var(--green)}.score-cell.s1{background:var(--amber-soft);color:var(--amber)}.priority-cards,.priority-legend{display:none}.priority-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem}.priority-card-project{display:flex;align-items:baseline;flex-wrap:wrap;gap:.25rem .4rem}.priority-card-project h3{font-size:15px;font-weight:600;line-height:1.3}.priority-card-meta{display:flex;flex-wrap:wrap;gap:.25rem .8rem;margin-top:.5rem;font-size:12px;color:var(--ink2)}.priority-card-meta b{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;font-weight:500;color:var(--ink3)}.priority-card-result{display:flex;justify-content:space-between;gap:.8rem;margin-top:.65rem;padding:.5rem 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}.priority-card-result>div{display:flex;align-items:center;gap:.4rem}.priority-card-result>div>span:first-child{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink2)}.priority-card-result strong{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:14px}.priority-card-fixed{padding-top:.55rem;font-size:12px;color:var(--ink2)}.priority-goal{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.35rem 0;border-bottom:1px solid var(--line2)}.priority-goal:last-child{border-bottom:none;padding-bottom:0}.priority-goal-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1rem .45rem;font-size:13px;line-height:1.35}.priority-goal-id{font-size:10px;color:var(--clay);white-space:nowrap}.priority-goal-id,.priority-score-button{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.priority-score-button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink3);font-size:16px;font-weight:600;cursor:pointer;touch-action:manipulation}.priority-score-button.s3,.priority-score-key.s3{background:var(--teal-soft);color:var(--ink)}.priority-score-button.s2,.priority-score-key.s2{background:var(--green-soft);color:var(--ink)}.priority-score-button.s1,.priority-score-key.s1{background:var(--amber-soft);color:var(--ink)}.priority-score-button:not(:disabled):hover{filter:brightness(.96)}.priority-score-button:disabled{cursor:not-allowed}.priority-score-key{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;border-radius:2px;background:var(--line2);font-size:10px;color:var(--ink2)}.priority-score-key,.val-cell{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600}.val-cell{text-align:center;font-size:13px;width:52px;color:var(--ink)}.prio-cell{text-align:center;width:66px}.theme-tag{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--violet);background:var(--violet-soft);padding:.08rem .35rem;border-radius:2px;display:inline-block}.theme-tag.ext{color:var(--clay);background:var(--clay-soft)}.mini-marker{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.02em;margin-left:.3rem;white-space:nowrap}.mini-marker.lauf{color:var(--violet)}.mini-marker.status{color:var(--clay)}td.forced-cell,td.src-cell{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3)}td.forced-cell{text-align:center}.flag{font-size:11px;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;letter-spacing:.03em;padding:.15rem .45rem;border-radius:2px;white-space:nowrap}.flag-muss{background:var(--teal-soft);color:var(--teal)}.flag-soll{background:var(--green-soft);color:var(--green)}.flag-kann{background:var(--amber-soft);color:var(--amber)}.flag-frag{background:var(--clay-soft);color:var(--clay)}.del-btn{background:none;border:none;color:var(--ink3);cursor:pointer;font-size:16px;line-height:1;padding:.2rem .3rem;border-radius:2px}.del-btn:hover{color:var(--clay);background:var(--clay-soft)}.row-actions{display:flex;gap:.5rem;margin-top:.8rem;flex-wrap:wrap}.btn{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.04em;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.5rem .9rem;border-radius:var(--radius);cursor:pointer;transition:.15s}.btn:hover{background:var(--teal);border-color:var(--teal)}.btn.ghost{background:none;color:var(--ink)}.btn.ghost:hover{background:var(--line2)}.btn.small{font-size:10.5px;padding:.34rem .58rem}.btn:disabled,.del-btn:disabled{cursor:not-allowed;opacity:.45}.legend{display:flex;gap:1.1rem;flex-wrap:wrap;margin:.9rem 0 0;font-size:12px;color:var(--ink2)}.legend span{display:inline-flex;align-items:center;gap:.35rem}.dot{width:11px;height:11px;border-radius:2px;display:inline-block}.dot.t{background:var(--teal)}.dot.g{background:var(--green)}.dot.a{background:var(--amber)}.size-legend{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem;margin-bottom:1.2rem}.size-legend .sl-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-right:.2rem;min-width:190px}.spans-panel{display:block}.spans-panel .sl-title{display:block;width:100%;min-width:0;margin:0 0 .5rem}.spans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.55rem 1rem;gap:.55rem 1rem}.spans-cell{display:flex;align-items:center;gap:.3rem}.spans-col{display:grid;grid-gap:.16rem;gap:.16rem;min-width:0}.spans-group{display:flex;align-items:center;gap:.24rem}.spans-unit{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);min-width:14px}.spans-dash{color:var(--ink3);font-size:11px}.spans-cell input{width:84px;text-align:right;font-size:12px;padding:.2rem .3rem;border:1px solid var(--line);border-radius:2px}.size-pill,.spans-cell input{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.size-pill{font-weight:600;font-size:11px;min-width:22px;height:20px;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.size-pill.S{background:var(--green-soft);color:var(--green)}.size-pill.M{background:var(--amber-soft);color:var(--amber)}.size-pill.L{background:var(--clay-soft);color:var(--clay)}.size-pill.XL{background:var(--violet-soft);color:var(--violet)}.cat-lane{margin-bottom:1.1rem;overflow-x:auto;padding-bottom:.15rem}.cat-lane h3{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);padding:.3rem 0;border-bottom:1px solid var(--line);margin-bottom:.4rem}.need{display:grid;grid-template-columns:minmax(240px,1fr) 154px 96px 190px;align-items:center;grid-gap:.6rem;gap:.6rem;min-width:0;padding:.5rem .3rem;border-bottom:1px dotted var(--line2)}.need:last-child{border-bottom:none}.need-project{display:flex;align-items:center;gap:.6rem;min-width:0}.need .chk{width:18px;height:18px;flex-shrink:0;cursor:pointer;accent-color:var(--teal)}.need .need-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.need.off .need-name{color:var(--ink3)}.need.covered .need-name{color:var(--violet)}.need .sizes{display:flex;gap:.22rem;width:154px}.need .sizes button{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;font-size:11px;min-width:32px;height:26px;padding:0 .3rem;border:1px solid var(--line);background:#fff;color:var(--ink3);border-radius:3px;cursor:pointer;transition:.12s}.need .sizes button:hover{border-color:var(--teal2)}.need .sizes button.active.S{background:var(--green);color:#fff;border-color:var(--green)}.need .sizes button.active.M{background:var(--amber);color:#fff;border-color:var(--amber)}.need .sizes button.active.L{background:var(--clay);color:#fff;border-color:var(--clay)}.need .sizes button.active.XL{background:var(--violet);color:#fff;border-color:var(--violet)}.need .phase-hold{display:contents}.need .phase-sel{width:96px;font-size:11px;border:1px solid var(--line);border-radius:3px;padding:.28rem .3rem;background:#fff}.need .need-pt,.need .phase-sel{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink2)}.need .need-pt{font-size:12px;width:190px;text-align:right;justify-self:end}.estimate-values{justify-content:flex-end;gap:.22rem;white-space:nowrap}.estimate-value,.estimate-values{display:inline-flex;align-items:center}.estimate-value{gap:.3rem}.estimate-value.manual>span:first-child{color:var(--clay)}.estimate-edit{border:none;background:none;color:var(--ink3);cursor:pointer;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;line-height:1;padding:0 .08rem}.estimate-edit.manual,.estimate-edit:hover{color:var(--clay)}.estimate-manual{color:var(--clay)}.estimate-manual,.phase-share{font-size:9px;line-height:1;letter-spacing:.02em}.phase-share{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);border:1px solid var(--line2);border-radius:3px;padding:.14rem .26rem;white-space:nowrap}.estimate-separator{color:var(--ink3);padding:0 .05rem}.estimate-editor{display:inline-flex;align-items:center;gap:.18rem;border:1px solid var(--teal);background:var(--card);padding:.1rem .16rem;position:relative}.estimate-editor label{font-size:10px;color:var(--ink2)}.estimate-editor input{width:62px;text-align:right;padding:.12rem .2rem;font-size:11px}.estimate-action{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9px;line-height:1;padding:.24rem .3rem}.estimate-action.reset{border-color:var(--line);background:var(--line2);color:var(--ink2)}.estimate-action:hover{background:var(--teal2);border-color:var(--teal2)}.estimate-action.reset:hover{background:var(--line);border-color:var(--line);color:var(--ink)}.estimate-error{position:absolute;top:calc(100% + .2rem);right:0;background:var(--clay-soft);color:var(--clay);padding:.2rem .3rem;font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;font-size:10px;white-space:nowrap;z-index:2}.need.off .need-pt,.need.off .phase-sel,.need.off .sizes{opacity:.4}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.9rem;gap:.9rem;margin-bottom:1.3rem}.need-cards{margin-top:1.3rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.stat .n{font-family:var(--font-fraunces),"Fraunces",serif;font-size:28px;font-weight:500;line-height:1;color:var(--ink)}.stat .n small{font-size:14px;color:var(--ink2)}.stat .l{font-size:12px;color:var(--ink2);margin-top:.35rem}.stat.bound{border-top:3px solid var(--clay)}.stat.free{border-top:3px solid var(--teal)}.stat.demand{border-top:3px solid var(--amber)}.stat.gap{border-top:3px solid var(--green)}.stat.future{border-top:3px solid var(--violet)}.stat-hint,.stat.neg .n{color:var(--clay)}.stat-hint{display:block;font-style:normal;font-size:11px;margin-top:.15rem}.counts .flag.zero{background:var(--line2);color:var(--ink3)}.next-step{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--line)}.ns-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3)}.ns-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--teal-soft);border:1px solid var(--teal);border-radius:var(--radius);padding:.32rem .75rem;font-size:12.5px;font-weight:600;color:var(--teal);cursor:pointer;transition:background-color .15s}.ns-btn:hover{background:var(--line2)}.capbar-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-bottom:1.4rem}.capbar-label{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin-bottom:.4rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.capbar{height:26px;background:var(--line2);border-radius:3px}.capbar,.capbar .seg{overflow:hidden;display:flex}.capbar .seg{height:100%;align-items:center;justify-content:center;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:#fff;white-space:nowrap;transition:width .3s}.seg.bound{background:var(--clay)}.seg.demand{background:var(--amber)}.seg.ext{background:var(--violet)}.capbar-note{font-size:12px;color:var(--ink2);margin-top:.5rem}.capbar-note.warn{color:var(--clay);font-weight:500}.range-hint{font-size:11px;color:var(--ink3)}.proposal-group-title,.range-hint{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.proposal-group-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:.5rem}.proposal-available{margin-top:.9rem}.proposal-available-cards{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.proposal-evaluation{margin:1rem 0 1.35rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem 1rem}.proposal-evaluation-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-bottom:.5rem}.proposal-evaluation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.proposal-evaluation-card{display:flex;flex-direction:column;gap:.12rem;background:var(--teal-soft);border:1px solid var(--teal);padding:.55rem .7rem}.proposal-evaluation-card.warn{background:var(--clay-soft);border-color:var(--clay)}.proposal-evaluation-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--teal)}.proposal-evaluation-card.warn .proposal-evaluation-label{color:var(--clay)}.proposal-evaluation-card strong{font-family:var(--font-fraunces),"Fraunces",serif;font-size:24px;font-weight:500;color:var(--ink);line-height:1.05}.proposal-evaluation-card>span{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink2)}.buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.9rem;gap:.9rem}.bucket{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.bucket-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:1px solid var(--line2)}.bucket h3{font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin:0;padding:0;border:0}.bucket h3,.bucket-total{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.bucket-total{display:flex;gap:.35rem;flex-shrink:0;font-size:10px;color:var(--ink2);white-space:nowrap}.bucket.muss h3{color:var(--teal)}.bucket.soll h3{color:var(--green)}.bucket.kann h3{color:var(--amber)}.bucket.frag h3{color:var(--clay)}.bucket ul{list-style:none}.bucket li{font-size:13px;padding:.3rem 0;border-bottom:1px dotted var(--line2);display:flex;justify-content:space-between;gap:.5rem}.bucket li:last-child{border-bottom:none}.bucket li>span:first-child{min-width:0;overflow-wrap:anywhere}.bucket li .pd{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);white-space:nowrap;flex-shrink:0;text-align:right}.bucket .empty{font-size:12px;color:var(--ink3);font-style:italic;padding:.4rem 0}.gantt-card .empty,.matrix-card .empty{border:1px dashed var(--line);border-radius:var(--radius);padding:1.2rem 1rem;text-align:center;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.04em;color:var(--ink3)}.matrix-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.matrix-frame{overflow-x:auto}.matrix-svg{display:block;width:100%;min-width:680px;height:auto}.matrix-svg-mobile{display:none}.matrix-border{fill:none;stroke:var(--line);stroke-width:1.5}.matrix-divider{stroke:var(--line);stroke-width:1;stroke-dasharray:5 4}.matrix-quadrant-label{letter-spacing:.04em}.matrix-axis-label,.matrix-quadrant-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;fill:var(--ink2)}.matrix-scale-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;fill:var(--ink3)}.matrix-point{stroke:var(--paper);stroke-width:2;opacity:.9;cursor:help}.matrix-point:focus{outline:none;stroke:var(--ink);stroke-width:3}.matrix-legend{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:.8rem;font-size:11.5px;color:var(--ink2)}.matrix-legend span{display:inline-flex;align-items:center;gap:.3rem}.matrix-dot{width:11px;height:11px;display:inline-block;border-radius:50%}.matrix-dot.muss{background:var(--teal)}.matrix-dot.soll{background:var(--green)}.matrix-dot.kann{background:var(--amber)}.matrix-dot.frag{background:var(--clay)}.matrix-note{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink3)}.gantt-panel{display:flex;flex-direction:column;gap:.9rem}.gantt-assumptions{background:var(--teal-soft);border-left:3px solid var(--teal);border-radius:var(--radius);padding:.85rem 1rem;color:var(--ink)}.gantt-assumptions-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:.45rem}.gantt-assumptions-list{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:12px;color:var(--ink2)}.gantt-assumptions-list span{position:relative;padding-left:.8rem}.gantt-assumptions-list span:before{content:"→";position:absolute;left:0;color:var(--teal)}.gantt-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.gantt-scroll{overflow-x:auto;padding-bottom:.2rem}.gantt-grid{min-width:1470px}.gantt-header,.gantt-row{display:grid;grid-template-columns:270px minmax(1200px,1fr);align-items:stretch}.gantt-project-head{display:flex;align-items:flex-end;padding:.35rem .55rem .45rem 0;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.gantt-project-head,.gantt-timeline-head{border-bottom:1.5px solid var(--line)}.gantt-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:27px}.gantt-years span{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line2);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}.gantt-months{display:grid;grid-template-columns:repeat(24,minmax(50px,1fr));height:25px}.gantt-months span{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--line2);color:var(--ink3)}.gantt-group,.gantt-months span{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px}.gantt-group{letter-spacing:.06em;text-transform:uppercase;color:var(--clay);padding:.8rem 0 .25rem}.gantt-group,.gantt-row{border-bottom:1px dotted var(--line2)}.gantt-row{min-height:54px}.gantt-project{min-width:0;padding:.35rem .6rem .35rem 0;display:flex;flex-direction:column;justify-content:center;gap:.2rem}.gantt-name-line{display:flex;align-items:flex-start;gap:.3rem;min-width:0;font-size:12px;line-height:1.35}.gantt-name-line>span:last-child{min-width:0;overflow-wrap:anywhere}.gantt-meta{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink3);white-space:nowrap}.gantt-track{display:grid;grid-template-columns:repeat(24,minmax(50px,1fr));grid-template-rows:1fr;position:relative;min-width:1200px;min-height:54px;align-items:stretch}.gantt-cell{grid-row:1;border-left:1px solid var(--line2);min-width:0}.gantt-bar{grid-row:1;align-self:center;z-index:1;min-width:0;height:22px;display:flex;align-items:center;padding:0 .4rem;border-radius:3px;color:#fff;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 0 rgba(32,36,43,.14)}.gantt-bar.muss{background:var(--teal)}.gantt-bar.soll{background:var(--green)}.gantt-bar.kann{background:var(--amber)}.gantt-bar.frag{background:var(--clay)}.gantt-bar.spill{background:var(--violet)}.gantt-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.9rem;font-size:11.5px;color:var(--ink2)}.gantt-legend span{display:inline-flex;align-items:center;gap:.35rem}.gantt-dot{width:14px;height:10px;border-radius:2px;display:inline-block}.gantt-dot.muss{background:var(--teal)}.gantt-dot.soll{background:var(--green)}.gantt-dot.kann{background:var(--amber)}.gantt-dot.frag{background:var(--clay)}.gantt-dot.spill{background:var(--violet)}.gantt-narrow{display:none}.gantt-narrow-years{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-narrow-years span{display:flex;align-items:center;justify-content:center;padding:.2rem 0;border-bottom:1.5px solid var(--line);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.gantt-narrow-years span+span{border-left:1px solid var(--line2)}.gantt-item{padding:.6rem 0 .55rem;border-bottom:1px dotted var(--line2)}.gantt-item:last-child{border-bottom:none}.gantt-item .gantt-name-line{font-size:13px}.gantt-item-meta{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.15rem 1rem;margin-top:.25rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink3)}.gantt-item-range{color:var(--ink2)}.gantt-item-track{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:13px;margin-top:.5rem;align-items:stretch}.gantt-item-track .gantt-cell:first-child{border-left:none}.gantt-item-track .gantt-cell.year-start{border-left:1.5px solid var(--line)}.gantt-item-track .gantt-bar{height:13px;padding:0;border-radius:2px}.manual-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.7rem;gap:.7rem;align-items:start}.manual-column{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--ink3);border-radius:var(--radius);overflow:hidden;min-width:0}.manual-column.muss{border-top-color:var(--teal)}.manual-column.soll{border-top-color:var(--green)}.manual-column.kann{border-top-color:var(--amber)}.manual-column.frag{border-top-color:var(--clay)}.manual-column-head{padding:.7rem .75rem;border-bottom:1px solid var(--line2)}.manual-column-head h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin-bottom:.25rem}.manual-column-head h3,.manual-column-total{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.manual-column-total{font-size:11px;color:var(--ink2)}.manual-column-body{min-height:300px;padding:.55rem;background:var(--line2)}.manual-empty{display:grid;place-items:center;min-height:80px;border:1px dashed var(--line);color:var(--ink3);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;text-align:center;padding:.5rem}.manual-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem;margin-bottom:.5rem;cursor:-webkit-grab;cursor:grab;box-shadow:0 2px 8px rgba(32,36,43,.06)}.manual-card:last-child{margin-bottom:0}.manual-card:active{cursor:-webkit-grabbing;cursor:grabbing}.manual-card-name{display:flex;align-items:flex-start;gap:.3rem;font-size:12.5px;line-height:1.35;font-weight:500}.manual-card-meta{display:flex;justify-content:space-between;gap:.4rem;margin-top:.45rem;color:var(--ink3)}.manual-card-meta,.manual-card-source{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px}.manual-card-source{margin-top:.35rem;color:var(--ink2)}.manual-card-select{width:100%;margin-top:.5rem;font-size:10px;padding:.22rem .25rem}.cov-item{margin-bottom:.55rem}.cov-top{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:.2rem}.cov-top .cov-n{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);font-size:11px}.cov-bar{height:7px;background:var(--line2);border-radius:4px;overflow:hidden}.cov-fill{height:100%;background:var(--teal);border-radius:4px;transition:width .3s}.cov-fill.warn{background:var(--clay)}.cov-fill.mid{background:var(--amber)}.agenda{counter-reset:step;list-style:none}.agenda li{position:relative;padding:.75rem 0 .75rem 3rem;border-bottom:1px solid var(--line2)}.agenda li:last-child{border-bottom:none}.agenda li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:.7rem;width:1.9rem;height:1.9rem;background:var(--ink);color:var(--paper);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:13px;display:flex;align-items:center;justify-content:center;border-radius:50%}.agenda .a-t{font-weight:600;font-size:14px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.agenda .a-time{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--clay);font-weight:400}.agenda .a-d{font-size:13px;color:var(--ink2);margin-top:.15rem}.qbox{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;margin-top:1rem}.qbox h4{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--clay);margin-bottom:.6rem}.qbox ul{list-style:none}.qbox li{padding:.35rem 0 .35rem 1.2rem;position:relative;font-size:13.5px}.qbox li:before{content:"→";position:absolute;left:0;color:var(--teal)}footer{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:11px;color:var(--ink3);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.calc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.4rem}.calc-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem}.calc-head .ch-t{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}.calc-head .ch-sum,.calc-head .ch-t{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.calc-head .ch-sum{font-size:13px;color:var(--teal);font-weight:500}#budgettbl,#calctbl{min-width:640px}.calc .tbl-scroll{border:none}#calctbl th{background:transparent;border-bottom:1px solid var(--line)}#calctbl td{border-bottom:1px dotted var(--line2)}.calc .res-pt{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;text-align:right;color:var(--ink);width:80px}.calc-foot{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap;align-items:center}.calc-note{font-size:11px;color:var(--ink3)}.calc-note-gap{margin-bottom:.8rem}.rule-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1.4rem;overflow:hidden}.rule-toggle{width:100%;text-align:left;background:none;border:none;padding:.85rem 1.1rem;font-family:var(--font-plex-sans),"IBM Plex Mono",sans-serif;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center}.rule-toggle .chev{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);transition:transform .2s}.rule-panel.open .chev{transform:rotate(90deg)}.rule-body{display:none;padding:0 1.1rem 1.1rem}.rule-panel.open .rule-body{display:block}.rule-flow{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1rem}.rule-row{display:flex;align-items:center;gap:.7rem;font-size:13px}.rule-row .flag{flex-shrink:0}.rule-row .rd{color:var(--ink2)}.thresholds{display:flex;gap:1.5rem;flex-wrap:wrap;padding-top:.8rem;border-top:1px solid var(--line2)}.thr-field{display:flex;flex-direction:column;gap:.3rem}.thr-field label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}.thr-field .thr-ctrl{display:flex;align-items:center;gap:.5rem}.thr-field input[type=range]{width:130px;accent-color:var(--teal)}.thr-field .thr-val{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-weight:600;color:var(--teal);min-width:20px}.summary-heading{font-family:var(--font-fraunces),"Fraunces",serif;font-weight:500;font-size:18px;margin:.4rem 0 .8rem}.summary-decision{margin-top:.1rem}.summary-decision p{font-size:13.5px;color:var(--ink2)}.summary-decision b{color:var(--ink)}.coverage-grid{margin-top:1.3rem}.coverage-intro{margin-bottom:.9rem}.counts{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.2rem}.counts .flag{display:inline-block}.overlay{position:fixed;inset:0;z-index:100;background:rgba(32,36,43,.28);display:flex;justify-content:flex-end}.drawer{width:min(620px,100%);height:100%;overflow-y:auto;background:var(--paper);border-left:2px solid var(--ink);padding:1.6rem;box-shadow:-12px 0 28px rgba(32,36,43,.12)}.modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(32,36,43,.28);display:flex;align-items:center;justify-content:center;padding:1.2rem}.modal{width:min(720px,100%);max-height:calc(100vh - 2.4rem);overflow-y:auto;background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:1.3rem 1.4rem;box-shadow:0 14px 40px rgba(32,36,43,.18)}.drawer-head,.modal-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.modal-head-actions{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.drawer-head h2,.modal-head h2{font-size:22px}.close-btn{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink2);padding:.25rem .45rem;cursor:pointer;font-size:12px}.close-btn:hover{background:var(--line2);color:var(--ink)}.snapshot-form{display:flex;gap:.5rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap}.snapshot-form .cap-field{flex:1 1;min-width:210px}.snapshot-list{display:flex;flex-direction:column;gap:.5rem}.snapshot-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.65rem .75rem}.snapshot-title{font-weight:600;font-size:13px}.snapshot-meta{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink3);margin-top:.1rem}.empty-note{font-size:12px;color:var(--ink3);font-style:italic;padding:.4rem 0}.ai-answer{font-size:13.5px;color:var(--ink);line-height:1.6}.ai-answer h2{font-size:15px;font-weight:700;margin:1.1rem 0 .4rem}.ai-answer h2,.ai-answer h3{font-family:var(--font-fraunces),"Fraunces",serif;color:var(--ink)}.ai-answer h3{font-size:13.5px;font-weight:600;margin:.9rem 0 .3rem}.ai-answer p{margin:.4rem 0}.ai-answer ol,.ai-answer ul{margin:.3rem 0 .3rem 1.2rem}.ai-answer li{margin:.15rem 0}.ai-answer strong{font-weight:700}.ai-answer em{font-style:italic}.ai-answer hr{border:none;border-top:1px solid var(--line);margin:.8rem 0}.ai-error{background:var(--clay-soft);color:var(--clay);border-left:3px solid var(--clay);padding:.75rem .9rem;font-size:13px}.ai-badge-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.15rem 0 .9rem}.ai-badge{font-size:10px;letter-spacing:.09em;text-transform:uppercase;background:var(--violet-soft);color:var(--violet);border:1px solid var(--violet);border-radius:var(--radius);padding:.25rem .5rem}.ai-badge,.ai-meta{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.ai-meta{font-size:10.5px;color:var(--ink3)}.ai-note{margin-top:1rem;font-size:12px;color:var(--ink2);font-style:italic}.kz-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.kz-chip{font-size:11px;color:var(--ink2);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.2rem .45rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kz-chip code{font-size:10px;color:var(--clay);margin-right:.3rem}.kz-chip code,.loading-line{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace}.loading-line{font-size:12px;color:var(--teal);padding:.8rem 0}.save-status.conflict{color:var(--clay);font-weight:600}.active-action{background:var(--teal)!important;border-color:var(--teal)!important;color:#fff!important}.conflict-banner,.scenario-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .9rem;margin:-.35rem 0 1.1rem;border-left:1px solid var(--teal);border:1px solid var(--teal);border-left-width:4px;background:var(--teal-soft);font-size:12.5px}.conflict-banner>div:first-child,.scenario-banner>div{display:flex;flex-direction:column;gap:.12rem}.conflict-banner span,.scenario-banner span{color:var(--ink2)}.scenario-error{margin:-.55rem 0 1rem}.save-status.scenario{color:var(--violet);font-weight:600}.scenario-banner-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.conflict-banner{border-color:var(--clay);border-left-color:var(--clay);background:var(--clay-soft)}.conflict-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.conflict-versions{display:block;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.03em;color:var(--ink3);margin-top:.15rem}.snapshot-actions{display:flex;gap:.4rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.confirm-modal-overlay{z-index:120}.confirm-modal{width:min(430px,100%)}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem;flex-wrap:wrap}.btn.confirm-btn{border-color:var(--clay);background:var(--clay);color:var(--paper)}.ai-retry{margin-top:.7rem}.comparison-modal{width:min(980px,100%)}.comparison-context{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(260px,1.8fr);align-items:end;grid-gap:1rem;gap:1rem;padding:.8rem 0 1rem;border-bottom:1px solid var(--line)}.comparison-context>div{display:flex;flex-direction:column;gap:.15rem}.comparison-kicker,.comparison-section-title,.comparison-select-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}.comparison-context strong{font-size:14px}.comparison-against{font-family:var(--font-fraunces),"Fraunces",serif;color:var(--clay);font-size:18px;padding-bottom:.25rem}.comparison-select-label{display:flex;flex-direction:column;gap:.25rem}.comparison-select-label select{font-family:var(--font-plex-sans),"IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);width:100%}.comparison-intro{margin:.9rem 0}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;margin-bottom:1.2rem}.comparison-metric{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:var(--radius);padding:.7rem .8rem;min-width:0}.comparison-metric-label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-bottom:.25rem}.comparison-metric strong{font-family:var(--font-fraunces),"Fraunces",serif;font-size:22px;font-weight:500;line-height:1.1}.comparison-metric-meta{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);font-size:10px;margin-top:.35rem;overflow-wrap:anywhere}.comparison-metric-meta b{color:var(--ink)}.comparison-section{border-top:1px solid var(--line);padding-top:.8rem;margin-top:1rem}.comparison-section-title{margin-bottom:.55rem;color:var(--clay)}.comparison-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.35rem .8rem;gap:.35rem .8rem}.comparison-goal{display:flex;justify-content:space-between;gap:.7rem;border-bottom:1px dotted var(--line2);padding:.35rem 0;font-size:12px}.comparison-goal span:last-child{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;white-space:nowrap}.comparison-goal b{color:var(--teal);font-weight:500;margin-left:.25rem}.comparison-changes{display:flex;flex-direction:column;gap:.4rem}.comparison-change{background:var(--card);border:1px solid var(--line2);padding:.5rem .65rem}.comparison-change-name{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:13px}.comparison-change-status{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.03em;text-transform:uppercase;padding:.12rem .3rem;background:var(--line2);color:var(--ink2)}.comparison-change-status.added{background:var(--green-soft);color:var(--green)}.comparison-change-status.removed{background:var(--clay-soft);color:var(--clay)}.comparison-change-status.changed{background:var(--amber-soft);color:var(--amber)}.comparison-change-values{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.3rem;padding-left:.1rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;color:var(--ink3);font-size:10.5px}.error-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--paper)}.error-card{width:min(620px,100%);background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);padding:2rem;box-shadow:0 14px 40px rgba(32,36,43,.12)}.error-card h1{font-size:clamp(28px,5vw,42px);margin:.45rem 0 .8rem}.error-card p{color:var(--ink2);font-size:14px;margin:0 0 1.3rem}.auth-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1.2rem;background:rgba(20,28,34,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.reset-password-overlay{background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}.auth-panel{width:min(440px,100%);background:rgba(251,249,243,.9);border:2px solid var(--ink);padding:2rem;box-shadow:0 18px 54px rgba(20,28,34,.28)}.auth-panel,.auth-panel button,.auth-panel form,.auth-panel input{border-radius:var(--radius)}.auth-kicker{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.14em;color:var(--clay);margin-bottom:.7rem}.auth-panel h2{font-size:32px;margin-bottom:.35rem}.auth-intro{color:var(--ink2);font-size:13.5px;margin-bottom:1.3rem}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin-bottom:.8rem}.auth-mode-switch button{border:0;border-bottom:2px solid transparent;background:none;color:var(--ink2);cursor:pointer;padding:.45rem .3rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.auth-mode-switch button:hover{color:var(--ink);background:var(--line2)}.auth-mode-switch button.active{border-bottom-color:var(--teal);color:var(--teal)}.auth-form{display:grid;grid-gap:.42rem;gap:.42rem}.auth-form label{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-top:.35rem}.auth-form input{width:100%;border:1px solid var(--ink);background:rgba(255,255,255,.8);color:var(--ink);padding:.65rem .7rem;font-size:14px}.auth-form input:focus{outline:2px solid var(--teal2);outline-offset:2px}.auth-submit{margin-top:.8rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.7rem .9rem;cursor:pointer;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.auth-submit:hover{background:var(--teal);border-color:var(--teal)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-error{background:var(--clay-soft);border-left:3px solid var(--clay);color:var(--clay);padding:.6rem .7rem;font-size:12.5px;margin-top:.5rem}.auth-note{border-top:1px solid var(--line);color:var(--ink2);font-size:12px;line-height:1.45;margin-top:1.3rem;padding-top:.8rem}.account-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-left:auto}.account-email{color:var(--ink3)}.account-email,.role-badge{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px}.role-badge{letter-spacing:.05em;text-transform:uppercase;padding:.28rem .45rem;border:1px solid var(--line);border-radius:var(--radius)}.role-badge.editor{background:var(--teal-soft);color:var(--teal);border-color:var(--teal)}.read-only-note,.role-badge.viewer{background:var(--line2);color:var(--ink2)}.read-only-note{border-left:3px solid var(--ink3);font-size:12px;padding:.65rem .75rem;margin-bottom:1rem}.section-viewer-note{margin:.65rem 0 .85rem;padding:.5rem .65rem}.wrap button:disabled,.wrap input:disabled,.wrap select:disabled{cursor:not-allowed;opacity:.65}.presentation-mode .hide-in-presentation{display:none!important}.presentation-mode .flow{display:none}.presentation-mode .score-cell{cursor:default;pointer-events:none}.presentation-mode nav{top:0}.presentation-mode .account-email,.presentation-mode .save-meta.routine,.presentation-mode .sub{display:none}.presentation-mode .projection-nav{margin:-.9rem 0 1.3rem;padding:.55rem .75rem;background:var(--teal-soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--teal)}.presentation-mode .projection-nav .workflow-position{font-size:12px;color:var(--ink2)}.presentation-mode .projection-nav .workflow-position b{color:var(--teal)}.presentation-mode .projection-nav .workflow-link{font-size:11px}.presentation-mode .manual-card-select{display:none}@media(min-width:721px){.presentation-mode h1{font-size:36px}.presentation-mode h2{font-size:28px}.presentation-mode .meta{font-size:12px}.presentation-mode .sec-intro{font-size:15.5px}.presentation-mode .howto{font-size:15px}.presentation-mode .qbox h4{font-size:12.5px}.presentation-mode .stat{padding:1.2rem 1.3rem}.presentation-mode .stat .n{font-size:34px;white-space:nowrap}.presentation-mode .stat .l,.presentation-mode .stat .n small{font-size:14px}.presentation-mode .range-hint{font-size:12px}.presentation-mode .summary-heading{font-size:24px}.presentation-mode .summary-decision p{font-size:16px}.presentation-mode .flag{font-size:12.5px;padding:.22rem .55rem}.presentation-mode .counts .flag{font-size:13.5px;padding:.3rem .7rem}.presentation-mode .ns-label{font-size:12px}.presentation-mode .ns-btn{font-size:15px;padding:.45rem 1rem}.presentation-mode .proposal-evaluation-title,.presentation-mode .proposal-group-title{font-size:11.5px}.presentation-mode .proposal-evaluation-card{padding:.7rem .85rem}.presentation-mode .proposal-evaluation-card strong{font-size:32px}.presentation-mode .proposal-evaluation-label{font-size:11.5px}.presentation-mode .proposal-evaluation-card>span{font-size:12px}.presentation-mode .bucket{padding:1.15rem 1.25rem}.presentation-mode .buckets{grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-mode .bucket h3{font-size:12.5px}.presentation-mode .bucket-total{font-size:12px}.presentation-mode .bucket li{font-size:14.5px;padding:.42rem 0}.presentation-mode .bucket li>span:first-child{-webkit-hyphens:auto;hyphens:auto}.presentation-mode .bucket li .pd{font-size:12.5px}.presentation-mode .bucket .empty{font-size:13.5px}.presentation-mode .capbar{height:32px}.presentation-mode .capbar .seg{font-size:12.5px}.presentation-mode .capbar-label{font-size:13px}.presentation-mode .capbar-note{font-size:13.5px}.presentation-mode .cov-top{font-size:14.5px}.presentation-mode .cov-top .cov-n{font-size:12.5px}.presentation-mode .cov-bar{height:9px}.presentation-mode .goal-card{padding:.85rem 1rem}.presentation-mode .goal-id{font-size:12px}.presentation-mode .goal-t{font-size:15px}.presentation-mode .goal-d,.presentation-mode .manual-column-head h3{font-size:13.5px}.presentation-mode .manual-column-total{font-size:12px}.presentation-mode .manual-card-name{font-size:13.5px}.presentation-mode .manual-card-meta,.presentation-mode .manual-card-source{font-size:11.5px}.presentation-mode .manual-card-select{font-size:11.5px;padding:.3rem .35rem}.presentation-mode .manual-empty{font-size:11.5px}.presentation-mode .theme-tag{font-size:10.5px}.presentation-mode .gantt-assumptions-title{font-size:11px}.presentation-mode .gantt-assumptions-list,.presentation-mode .gantt-name-line{font-size:13.5px}.presentation-mode .gantt-meta{font-size:11px}.presentation-mode .gantt-legend,.presentation-mode .matrix-legend{font-size:12.5px}}@media(max-width:720px){.wrap{padding:1.45rem 1rem 3rem}h1{font-size:30px}.header-actions{gap:.35rem}nav{position:-webkit-sticky;position:sticky;top:0;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.35rem .2rem .45rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem;gap:.25rem}nav::-webkit-scrollbar{display:none}.nav-workspaces{flex:0 0 auto;flex-wrap:nowrap;gap:.25rem}.nav-mode-group{flex:0 0 auto;margin-left:.2rem;padding-left:.45rem;gap:.25rem}.nav-mode-title{display:none}nav button{flex:0 0 auto;white-space:nowrap;font-size:10.5px;padding:0 .6rem;display:inline-flex;align-items:center}nav button,nav button.presentation-toggle{min-height:44px}.workflow-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-gap:.2rem;gap:.2rem;margin:-.7rem 0 1rem;font-size:9.5px}.workflow-link{min-width:0;min-height:44px;padding:.25rem .15rem;line-height:1.3}.workflow-link-label{overflow-wrap:anywhere}.workflow-position{text-align:center}.workflow-end{font-size:9px}.presentation-mode h1{font-size:27px;line-height:1.12;max-width:20ch}.presentation-mode .projection-nav{margin:-.55rem 0 1rem;padding:.35rem .4rem}.presentation-mode .projection-nav .workflow-position{font-size:10px}.presentation-mode .projection-nav .workflow-link-label{display:none}.meta{gap:.4rem .9rem}.header-actions{display:grid;grid-template-columns:1fr}.account-actions{margin-left:0;flex:1 1 auto}.drawer{padding:1.15rem}.modal{padding:1rem}.snapshot-item{align-items:flex-start;flex-direction:column}.snapshot-actions{justify-content:flex-start}.section-viewer-note{font-size:11.5px;margin:.5rem 0 .7rem;padding:.45rem .55rem}.conflict-banner,.scenario-banner{align-items:flex-start;flex-direction:column}.conflict-actions,.scenario-banner-actions{justify-content:flex-start}.comparison-context{grid-template-columns:1fr;gap:.55rem}.comparison-against{padding:0}.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-goals{grid-template-columns:1fr}.comparison-goal span:last-child{white-space:normal}.priority-table-shell{display:none}.priority-legend{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.6rem;padding:.55rem .65rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-size:11px;color:var(--ink2)}.priority-legend>span{display:inline-flex;align-items:center;gap:.25rem}.priority-legend-title{font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:10px;color:var(--ink)}.priority-legend-cycle{flex-basis:100%;color:var(--ink2)}.priority-cards{display:grid;grid-gap:.55rem;gap:.55rem}.priority-card{padding:.7rem .75rem}.priority-card-result>div{flex-wrap:wrap}.priority-goal-name{flex:1 1 auto;min-width:0}.matrix-frame{overflow:hidden}.matrix-svg-desktop{display:none}.matrix-svg-mobile{display:block;width:100%;min-width:0}.matrix-svg-mobile .matrix-quadrant-label{font-size:11px}.matrix-svg-mobile .matrix-axis-label{font-size:12px}.matrix-svg-mobile .matrix-scale-label{font-size:10px}.matrix-legend .matrix-note{flex-basis:100%;line-height:1.45}.gantt-wide{display:none}.gantt-narrow{display:block}.proposal-available-cards,.proposal-evaluation-grid{grid-template-columns:1fr}.bucket-head{align-items:flex-start;flex-direction:column;gap:.3rem}.manual-board{grid-template-columns:1fr}#budgettbl,#calctbl,#ntbl{min-width:0}#budgettbl thead,#calctbl thead,#ntbl thead{display:none}#budgettbl tbody tr,#calctbl tbody tr,#ntbl tbody tr{display:block;border-bottom:1px solid var(--line);padding:.45rem .55rem}#budgettbl tbody tr:last-child,#calctbl tbody tr:last-child,#ntbl tbody tr:last-child{border-bottom:none}#budgettbl tbody td,#calctbl tbody td,#ntbl tbody td{display:flex;align-items:center;gap:.55rem;width:auto;min-width:0;padding:.3rem 0;border-bottom:none}#budgettbl tbody td:before,#calctbl tbody td:before,#ntbl tbody td:before{content:attr(data-label);flex:0 0 auto;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}#budgettbl tbody td input,#calctbl tbody td input,#ntbl tbody td input{flex:1 1 auto;min-width:0;width:auto}#budgettbl tbody td input[type=number],#calctbl tbody td input[type=number],#ntbl tbody td input[type=number]{flex:0 0 96px;min-width:96px;width:96px;text-align:right}#budgettbl tbody td.eur-col input,#ntbl tbody td.eur-col input{flex:0 0 110px;min-width:110px;width:110px}#budgettbl tbody td select,#calctbl tbody td select,#ntbl tbody td select{flex:1 1 auto;min-width:0;width:auto}#calctbl tbody td.res-pt,#ntbl tbody td.res-pt{justify-content:flex-end;width:auto;text-align:right}#budgettbl tbody td:last-child,#calctbl tbody td:last-child,#ntbl tbody td:last-child{justify-content:flex-end}.cat-lane{overflow:visible;padding-bottom:0}.need{grid-template-columns:minmax(0,1fr);gap:.3rem;min-width:0;padding:.55rem .2rem}.need-project{grid-column:auto;min-width:0}.need .need-name{white-space:normal;overflow:visible;text-overflow:clip}.need .sizes{width:auto}.need .sizes:before{content:attr(data-label);margin-right:.45rem;flex:0 0 auto;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}.need .phase-hold{display:inline-flex;align-items:center;gap:.4rem}.need .phase-hold:before{content:attr(data-label);margin-right:.1rem;flex:0 0 auto;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}.need .phase-sel{width:auto;min-width:92px;flex:0 0 auto}.need .need-pt{width:auto;text-align:left;justify-self:start}.need .need-pt:before{content:attr(data-label);margin-right:.45rem;font-family:var(--font-plex-mono),"IBM Plex Mono",monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);white-space:nowrap}.need .estimate-values{white-space:normal;flex-wrap:wrap;justify-content:flex-start}.estimate-editor{flex-wrap:wrap}.estimate-error{position:static;display:block;margin-top:.25rem;white-space:normal}.spans-grid{grid-template-columns:minmax(0,1fr)}}@media(min-width:721px) and (max-width:980px){.manual-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.btn,.conflict-banner,.del-btn,.header-actions,.hide-in-print,.modal-overlay,.overlay,.row-actions,.save-status,.scenario-banner,nav{display:none!important}body{background:#fff}.wrap{max-width:100%}section{page-break-inside:avoid}.rule-body{display:block!important}}