:root{--paper:#f5f6f2;--ink:#17342d;--muted:#66786e;--line:#dce4da;--nav:#12312c;--mint:#d5efb9;--red:#a44335;--green:#396549;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,.button{border:1px solid var(--line);background:white;color:var(--ink);padding:11px 16px;border-radius:7px;font-size:13px;font-weight:600;text-decoration:none}button:hover:not(:disabled),.button:hover{background:#edf3e8}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover:not(:disabled){background:#295344}.text-button{border:0;background:none;padding:5px;color:var(--green)}input,select{background:#fff;border:1px solid #ccd7c8;border-radius:6px;padding:10px 12px;color:var(--ink);max-width:100%}label{display:grid;gap:7px;font-size:12px;font-weight:600}small{color:var(--muted);font-size:12px}h1{font-size:38px;letter-spacing:-1.5px;font-weight:500;margin:8px 0 12px}h2{font-size:19px;font-weight:500;margin:0}h3{font-size:16px}p{line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0}.muted{color:var(--muted)}.loading{padding:80px;font-size:32px}.loading span{display:block;font-size:14px;margin-top:20px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{background:var(--nav);color:white;padding:64px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.wordmark{font-size:35px;font-weight:bold;letter-spacing:-2px}.wordmark sup{font-size:13px;vertical-align:top;letter-spacing:0}.login-brand h1{font-size:64px;line-height:1.08;max-width:500px}.login-brand p{color:#c1d6c8;max-width:340px}.rings{width:280px;height:160px;position:relative;margin:60px 0}.rings:before,.rings:after{content:'';position:absolute;width:160px;height:160px;border:1px solid #a3c197;border-radius:50%}.rings:after{left:110px;background:#cfebb8aa}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form>div{max-width:370px;width:100%}.login-form h1{font-size:32px}.login-form .button{display:block;text-align:center;margin:30px 0 20px}.login-form .button b{font-size:19px;margin-right:14px}.notice{background:#fff7e7;border:1px solid #ebd8b2;border-radius:7px;padding:13px 16px;font-size:12px;line-height:1.6;margin:18px 0}.notice.error{background:#fceee9;border-color:#ebc8bc;color:#843b31}aside{width:228px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:white;padding:35px 22px;display:flex;flex-direction:column}aside .wordmark{margin:0 6px 38px}.workspace{padding:17px 10px;border-block:1px solid #ffffff20;margin-bottom:32px;font-size:13px}.workspace small{display:block;color:#a9c2b4;margin-top:6px}aside .eyebrow{color:#a9c2b4;margin:0 12px 14px}nav{display:grid;gap:8px}nav button{background:none;border:0;text-align:left;color:#c8d8cf;padding:13px 12px}nav button.active,nav button:hover:not(:disabled){background:#d1edb8;color:#18362c}aside footer{margin-top:auto;padding:20px 8px;font-size:12px;color:#a9c2b4;line-height:1.6}aside footer b{color:#e0ebdf}main{margin-left:228px;padding:0 42px 50px;max-width:1800px}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:15px}.topbar .account{display:flex;align-items:center;gap:14px}.avatar{width:32px;height:32px;background:#dce8d3;border-radius:50%;display:grid;place-items:center;font-size:11px}.heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 26px;gap:20px}.heading p{margin:0}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filters{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#eaf0e3;border:1px solid var(--line);padding:18px;border-radius:9px}.filters label{min-width:180px}.tag{display:inline-block;border-radius:20px;padding:5px 10px;font-size:11px;background:#e7f0df;color:#355b40}.tag.low{color:#963e31;background:#fbeee9}.tag.unknown{background:#fff2d8;color:#896324}.tag.neutral{background:#e9eded;color:#54655c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 30px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:23px}.stat:nth-child(3){background:#eaf2e1}.stat .value{font-size:34px;margin:16px 0 7px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.stat small{display:block}.section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:28px 0 16px}.card{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px;gap:14px;flex-wrap:wrap}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;background:#f6f8f3;color:var(--muted);font-weight:600;padding:14px 20px;white-space:nowrap}td{padding:18px 20px;border-top:1px solid #eaf0e5}td.number{font-size:17px;font-variant-numeric:tabular-nums;white-space:nowrap}.person{display:flex;align-items:center;gap:12px}.person small{display:block;margin-top:6px}.tablefoot{padding:16px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted)}.empty{padding:54px 25px;text-align:center;color:var(--muted)}.empty h2{margin-bottom:10px;color:var(--ink)}.empty p{max-width:540px;margin:10px auto}.builder{display:grid;grid-template-columns:1fr 1.6fr auto;align-items:end;gap:18px;padding:22px;margin:22px 0}.builder .project-select{display:grid;gap:8px}.tabs{display:flex;gap:6px}.tabs button{padding:8px 13px;background:transparent;border:0}.tabs button.selected{background:#e6efdc}.budget-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}.budget-summary>div{padding:17px;border:1px solid var(--line);border-radius:7px;background:#fff}.budget-summary b{display:block;font-size:23px;font-weight:500;margin-top:8px}.task-toggle{padding:0;border:0;background:none;text-align:left;font-weight:500;min-width:160px}.task-toggle small{display:block;margin-top:7px}.detail td{background:#f0f4ec;padding:16px 24px}.detail table{background:#fff}.detail th{background:#e6eddf}.budget-input{width:96px;padding:8px;font-size:12px}.budget-input.dirty{border-color:#8eaf6f;background:#f6fde9}.editing{box-shadow:0 0 0 2px #b19ae3}.financial-table{min-width:1050px}.finance-cell{white-space:nowrap}.finance-cell select{font-size:11px;width:115px;padding:8px}.presence{font-size:12px;color:#677c5e}.footnote{font-size:12px;color:var(--muted);line-height:1.8;margin-top:18px}.source-status{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:16px 0}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.history-grid article{padding:24px}.history-grid button{margin-top:15px}dialog{border:1px solid var(--line);border-radius:12px;max-width:760px;width:calc(100% - 40px);padding:28px;color:var(--ink);max-height:85vh}dialog::backdrop{background:#112b2466}.close{float:right;border:0;font-size:22px;padding:3px 10px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog form.stack{display:grid;gap:18px;margin-top:22px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#17382f;color:white;border-radius:8px;font-size:13px;z-index:10;display:none;max-width:90vw}.skip{position:fixed;top:-100px;left:10px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.danger{color:var(--red)}.progress-line{height:4px;width:110px;background:#e6eddf;margin-top:7px}.progress-line progress{width:100%;height:4px;accent-color:#7b9f5c;border:0}.hidden-row{opacity:.6}.access-list{display:grid;gap:10px;margin-top:20px}.access-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}
@media(min-width:1600px){main{padding-inline:60px}}@media(max-width:1100px){aside{width:190px;padding-inline:15px}main{margin-left:190px;padding-inline:24px}.stats{grid-template-columns:repeat(2,1fr)}.builder{grid-template-columns:1fr 1fr}.builder>button{grid-column:1/-1}.budget-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){aside{position:static;width:100%;padding:16px}aside .wordmark{font-size:26px;margin:0 0 15px}.workspace,aside footer,aside .eyebrow{display:none}nav{display:flex;overflow:auto;gap:3px}nav button{white-space:nowrap;font-size:12px;padding:10px}main{margin:0;padding:0 16px 28px}.topbar{height:60px}.account>span:not(.avatar){display:none}.heading{margin-top:26px;align-items:start}h1{font-size:30px}.stats{gap:8px}.stat{padding:15px}.stat .value{font-size:28px}.filters{padding:14px}.filters label{min-width:0;flex:1}.filters select{width:100%}.builder{grid-template-columns:1fr}.builder>button{grid-column:auto}th,td{padding:13px}.login{grid-template-columns:1fr}.login-brand{padding:28px;min-height:240px}.login-brand h1{font-size:38px}.login-brand .rings,.login-brand>small{display:none}.login-form{padding:35px 24px}.login-form>div{max-width:none}.section-head{align-items:start}.budget-summary{grid-template-columns:1fr}.toolbar input{width:100%}.tablefoot{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{aside,.topbar,.heading button,.toolbar,.builder,.source-status{display:none}main{margin:0;padding:0}.card{overflow:visible}.table-scroll{overflow:visible}.stats{grid-template-columns:repeat(4,1fr)}}
