@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{color:#20231d;font-synthesis:none;--ink:#20231d;--muted:#73776d;--line:#d7d8d0;--paper:#fbfcf6;--lime:#d8ff63;--coral:#ff806b;background:#f1f2eb;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:1px;outline:3px solid #557eff47}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template:64px 1fr/244px minmax(0,1fr);min-height:100vh;display:grid}.topbar{z-index:20;color:#f7f9ef;background:#161914;border-bottom:1px solid #2c3028;grid-column:1/-1;align-items:center;gap:24px;height:64px;padding:0 28px 0 20px;display:flex;position:sticky;top:0}.brand{min-width:200px;color:inherit;letter-spacing:.13em;align-items:center;gap:11px;font-size:15px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:#161914;background:var(--lime);border-radius:8px 8px 8px 2px;place-items:center;width:32px;height:32px;display:grid}.topbar-meta{color:#aeb3a5;align-items:center;gap:8px;margin-right:auto;font-size:12px;display:flex}.status-dot{background:#7edb88;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #7edb881f}.save-saving .status-dot{background:#e4bd57;box-shadow:0 0 0 3px #e4bd5721}.save-offline .status-dot,.save-conflict .status-dot{background:#ef7b68;box-shadow:0 0 0 3px #ef7b6821}.meta-divider{background:#3d4238;width:1px;height:14px;margin:0 5px}.button{background:var(--ink);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.ghost{color:#ced2c5;background:0 0;border-color:#3b4036}.button.secondary{color:var(--ink);border-color:var(--line);background:#fff;box-shadow:0 1px 1px #14181208}.button.compact{min-height:34px;margin-left:auto;padding:0 11px}.button.icon-only{width:40px;padding:0}.button.danger-outline{color:#b64d40;background:0 0;border-color:#ddc0bb}.button:disabled{opacity:.35;cursor:not-allowed;transform:none}.sidebar{background:#e7e9e0;border-right:1px solid #d1d3ca;height:calc(100vh - 64px);padding:28px 14px 20px;position:sticky;top:64px;overflow-y:auto}.sidebar-label{color:#777c71;letter-spacing:.13em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 10px 12px;font-size:10px;font-weight:800;display:flex}.sidebar-label span{color:#595e53;border:1px solid #c9ccc1;border-radius:50%;place-items:center;width:20px;height:20px;font-family:DM Mono,monospace;display:grid}.scenario-list{gap:5px;display:grid}.scenario-item{border:1px solid #0000;border-radius:9px;align-items:center;transition:all .15s;display:flex}.scenario-item:hover{background:#ffffff73}.scenario-item.active{background:var(--paper);border-color:#ced0c7;box-shadow:0 3px 10px #1e221b0f}.scenario-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 4px 10px 10px;display:flex}.scenario-color{border-radius:4px;flex:none;width:9px;height:28px}.scenario-select span:nth-child(2){gap:2px;min-width:0;display:grid}.scenario-select strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.scenario-select small{color:#7e8278;font-family:DM Mono,monospace;font-size:10px}.visibility{color:#84897e;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;margin-right:4px;display:grid}.visibility:hover{color:var(--ink);background:#e7e9e0}.new-scenario{color:#555a50;cursor:pointer;background:0 0;border:1px dashed #bfc2b8;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;margin-top:10px;padding:10px;font-size:12px;font-weight:700;display:flex}.new-scenario:hover{color:var(--ink);background:#ffffff73}.sidebar-note{color:#666b60;background:#dde0d5;border:1px solid #cfd2c7;border-radius:9px;padding:14px;font-size:10px;line-height:1.55;position:absolute;bottom:22px;left:18px;right:18px}.sidebar-note span{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:3px;font-weight:800;display:block}.main-content{min-width:0;padding:44px clamp(24px,4vw,64px) 22px;overflow:hidden}.conflict-banner{color:#4f302b;background:#fff0ec;border:1px solid #edc3bb;border-radius:11px;align-items:center;gap:9px;max-width:1440px;margin:0 auto 24px;padding:13px 15px;display:flex}.conflict-banner>div{flex:1;gap:2px;display:grid}.conflict-banner strong{font-size:12px}.conflict-banner span{color:#8a625b;font-size:10px}.login-page{background:#161914;place-items:center;min-height:100vh;padding:22px;display:grid}.login-card,.loading-card{background:var(--paper);border:1px solid #373d32;border-radius:15px;width:min(420px,100%);padding:34px;box-shadow:0 24px 80px #00000052}.login-card{gap:24px;display:grid}.login-mark{width:42px;height:42px}.login-card h1{letter-spacing:-.045em;margin:0 0 7px;font-size:32px}.login-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.login-field{color:#74796e;letter-spacing:.09em;text-transform:uppercase;gap:7px;font-size:9px;font-weight:800;display:grid}.login-field>div{background:#f0f2e9;border:1px solid #d4d7cc;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:0 12px;display:flex}.login-field svg{color:#777c71}.login-field input{background:0 0;border:0;outline:0;width:100%;padding:9px 0;font-size:14px}.login-error{background:#fae6e1;border-radius:7px;padding:9px 11px;color:#a64236!important}.login-button{background:#20231d;min-height:44px}.loading-card{color:#4e5349;align-items:center;gap:14px;display:flex}.page-intro{justify-content:space-between;align-items:flex-end;gap:24px;max-width:1440px;margin:0 auto 28px;display:flex}.eyebrow,.section-kicker{color:#767b70;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.scenario-title{color:#1c2019;letter-spacing:-.045em;background:0 0;border:0;border-bottom:1px solid #0000;width:min(600px,100%);margin:0 0 7px;padding:0;font-size:clamp(29px,4vw,46px);font-weight:800;line-height:1.12;display:block}.scenario-title:hover,.scenario-title:focus{border-bottom-color:#b8bbb1;outline:0}.page-intro p{color:var(--muted);margin:0;font-size:13px}.intro-actions{gap:8px;padding-bottom:4px;display:flex}.assumption-strip{background:#e7e9e0;border:1px solid #d1d3ca;border-radius:11px;align-items:stretch;max-width:1440px;margin:0 auto 18px;display:flex;overflow:hidden}.assumption-strip>label{border-right:1px solid #d1d3ca;gap:5px;min-width:220px;padding:13px 17px;display:grid}.assumption-strip label>span,.money-input+span{color:#777b71;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.assumption-strip input{color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:700}.assumption-strip .money-input{background:0 0;border:0;min-height:auto;padding:0}.assumption-strip .money-input input{width:130px}.assumption-note{color:#656a5f;align-items:center;gap:9px;margin-left:auto;padding:0 20px;font-size:11px;display:flex}.assumption-note svg{color:#777d48}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-width:1440px;margin:0 auto 18px;display:grid}.metric-card{background:var(--paper);border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:12px;min-width:0;padding:18px;display:flex}.metric-icon{color:#50564a;background:#eceee5;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.metric-card>div:last-child{min-width:0;display:grid}.metric-card span{color:#767b70;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.metric-card strong{letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap;margin:3px 0;font-family:DM Mono,monospace;font-size:clamp(16px,2vw,22px);overflow:hidden}.metric-card small{color:#858a7f;font-size:10px}.metric-card.positive .metric-icon{color:#397356;background:#e2f2df}.metric-card.negative .metric-icon{color:#a8473c;background:#f7e2dd}.chart-card,.results-card{background:var(--paper);border:1px solid var(--line);border-radius:13px;max-width:1440px;margin:0 auto;overflow:hidden;box-shadow:0 2px 2px #1e221b05}.chart-heading{justify-content:space-between;align-items:center;gap:20px;padding:21px 23px 12px;display:flex}.chart-heading h2,.results-heading h2{letter-spacing:-.025em;margin:0;font-size:19px}.chart-heading .section-kicker,.results-heading .section-kicker{margin-bottom:3px}.chart-legend{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.chart-legend button{color:#555a50;cursor:pointer;background:#f4f5ef;border:1px solid #dcddd6;border-radius:20px;align-items:center;gap:6px;padding:6px 9px;font-size:10px;font-weight:700;display:flex}.chart-legend button span{border-radius:50%;width:8px;height:8px}.chart-legend button.hidden-series{opacity:.42;text-decoration:line-through}.chart-container{height:360px;padding:6px 13px 0 3px}.chart-empty{color:#8b9085;align-content:center;place-items:center;gap:6px;height:100%;display:grid}.chart-empty strong{color:#555a50;font-size:13px}.chart-empty span{font-size:11px}.chart-footnote{color:#8a8e84;align-items:center;gap:7px;padding:5px 23px 16px;font-size:9px;display:flex}.zero-key{border-top:1px dashed #e26050;width:19px}.section-divider{color:#777c71;letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:12px;max-width:1440px;margin:31px auto 13px;font-size:10px;font-weight:800;display:flex}.section-divider:after{content:"";background:#d6d8cf;flex:1;height:1px}.input-grid{gap:13px;max-width:1440px;margin:0 auto;display:grid}.input-card{content-visibility:auto;contain-intrinsic-size:auto 300px;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-heading{border-bottom:1px solid #e2e3dc;align-items:center;gap:12px;padding:16px 18px;display:flex}.heading-icon{border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.heading-icon.lime{background:#ecffc0}.heading-icon.coral{background:#ffe1db}.heading-icon.blue{background:#dceeff}.heading-icon.violet{background:#eee3ff}.card-heading h3{margin:0 0 2px;font-size:14px}.card-heading p{color:#81867a;margin:0;font-size:10px}.input-table-wrap,.results-wrap{overflow-x:auto}.input-table,.results-table{border-collapse:collapse;width:100%}.input-table{table-layout:fixed;min-width:720px}.employee-table{min-width:1080px}.cost-table{min-width:900px}.input-table th,.results-table th{color:#85897f;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#f6f7f1;border-bottom:1px solid #e1e2db;padding:9px 15px;font-size:9px;font-weight:800}.input-table th:first-child{width:28%}.input-table th:nth-child(2),.input-table th:nth-child(3){width:24%}.input-table th:last-child{width:73px}.employee-table th:first-child,.employee-table th:nth-child(2){width:13%}.employee-table th:nth-child(3){width:15%}.employee-table th:nth-child(4){width:20%}.employee-table th:nth-child(5){width:13%}.employee-table th:nth-child(6){width:14%}.cost-table th:first-child{width:23%}.cost-table th:nth-child(2){width:22%}.cost-table th:nth-child(3){width:18%}.cost-table th:nth-child(4){width:20%}.input-table td{border-bottom:1px solid #e9eae4;height:54px;padding:7px 15px}.input-table th:last-child,.input-table td:last-child{z-index:2;background:var(--paper);position:sticky;right:0;box-shadow:-7px 0 10px -10px #1e221b73}.input-table th:last-child{z-index:3;background:#f6f7f1}.input-table tr:last-child td{border-bottom:0}.plain-input{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;padding:7px 8px;font-size:12px;font-weight:700}.plain-input.muted{color:#666b60;font-weight:500}.plain-input:hover,.plain-input:focus{background:#fff;border-color:#d7d9d0;outline:0}.money-input{background:#f5f6f0;border:1px solid #ddded7;border-radius:7px;align-items:center;min-height:34px;display:flex;overflow:hidden}.money-prefix{color:#71766b;background:#e9ebe2;border-right:1px solid #d9dbd3;align-self:stretch;place-items:center;padding:0 8px;font-family:DM Mono,monospace;font-size:9px;font-weight:500;display:grid}.currency-select{color:#555b50;cursor:pointer;background:#e9ebe2;border:0;border-right:1px solid #d9dbd3;align-self:stretch;width:62px;padding:0 4px;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.money-input input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:7px 9px;font-family:DM Mono,monospace;font-size:11px}input[type=number]::-webkit-inner-spin-button{opacity:0}.select-wrap{display:block;position:relative}.select-wrap select{color:#51564c;appearance:none;cursor:pointer;background:#f5f6f0;border:1px solid #ddded7;border-radius:7px;width:100%;min-height:34px;padding:0 30px 0 10px;font-size:11px;font-weight:600}.select-wrap svg{pointer-events:none;color:#797e73;position:absolute;top:10px;right:9px}.icon-button{color:#8a8e84;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:31px;height:31px;display:grid}.icon-button:disabled{opacity:.25;cursor:default}.icon-button.danger:hover{color:#b8493d;background:#f8e7e3}.row-actions{justify-content:flex-end;align-items:center;gap:1px;display:flex}.drag-handle{cursor:grab;touch-action:none}.drag-handle:active{cursor:grabbing}.dragging-row{z-index:5;opacity:.76;position:relative}.dragging-row td{background:#f1f5e5;box-shadow:0 8px 20px #1e221b1f}.empty-row{color:#73786d;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;width:100%;padding:22px;font-size:11px;display:flex}.empty-row:hover{color:var(--ink);background:#f7f8f2}.gantt-section{background:#f8f9f3;border-top:1px solid #e2e3dc;padding:15px 18px 18px}.gantt-heading{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.gantt-heading strong{font-size:11px}.gantt-heading span{color:#858a7f;font-size:9px}.gantt-scroll{overflow-x:auto}.gantt-chart{min-width:760px}.gantt-axis,.gantt-row{grid-template-columns:150px minmax(0,1fr);gap:14px;display:grid}.gantt-axis{color:#858a7f;letter-spacing:.07em;text-transform:uppercase;align-items:end;margin-bottom:7px;font-size:8px;font-weight:800}.gantt-axis-track{height:15px;position:relative}.gantt-axis-track span{white-space:nowrap;position:absolute;bottom:0;transform:translate(-1px)}.gantt-row{border-top:1px solid #e5e6df;align-items:center;min-height:38px}.gantt-person{gap:1px;min-width:0;display:grid}.gantt-person strong,.gantt-person span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gantt-person strong{font-size:10px}.gantt-person span{color:#858a7f;font-size:8px}.gantt-track{background:#eceee6;border-radius:5px;height:20px;position:relative;overflow:hidden}.gantt-track .year-line{z-index:1;background:#d6d8cf;width:1px;position:absolute;top:0;bottom:0}.gantt-track .year-line.one{left:33.333%}.gantt-track .year-line.two{left:66.666%}.gantt-bar{z-index:2;color:#25291f;white-space:nowrap;border:1px solid #1d211929;border-radius:4px;min-width:3px;padding:0 6px;font-size:8px;font-style:normal;font-weight:700;line-height:12px;position:absolute;top:3px;bottom:3px;overflow:hidden}.gantt-bar>span{opacity:.78}.results-card{margin-top:30px}.results-heading{justify-content:space-between}.table-period{color:#777c71;font-family:DM Mono,monospace;font-size:10px}.results-table{min-width:1150px}.results-table th:not(:first-child),.results-table td:not(:first-child){text-align:right}.results-table td{color:#5b6055;border-bottom:1px solid #e6e7e0;padding:12px 15px;font-family:DM Mono,monospace;font-size:10px}.results-table td:first-child{color:var(--ink);gap:2px;font-family:Manrope,sans-serif;display:grid}.results-table td:first-child small{color:#92968d;text-transform:uppercase;letter-spacing:.06em;font-size:8px}.results-table .cash-in{color:#347854;font-weight:500}.results-table .cash-out,.negative-row td:nth-last-child(2){color:#bd4f42}.results-table .negative-row{background:#fff7f5}.results-table tr:last-child td{border-bottom:0}footer{color:#898e83;border-top:1px solid #d3d5cc;align-items:center;max-width:1440px;margin:30px auto 0;padding:19px 4px 0;font-size:9px;display:flex}footer>span{color:#60655a;letter-spacing:.13em;font-weight:800}footer p{margin:0 auto 0 25px}footer button{color:#666b60;cursor:pointer;background:0 0;border:0;font-size:9px;font-weight:700}@media (width<=1000px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #d1d3ca;border-right:0;grid-row:2;align-items:center;gap:7px;height:auto;padding:10px 18px;display:flex;position:static;overflow-x:auto}.sidebar-label,.sidebar-note{display:none}.scenario-list{gap:7px;display:flex}.scenario-item{flex:0 0 185px}.new-scenario{flex:0 0 130px;width:auto;margin:0}.main-content{grid-row:3}.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.app-shell{grid-template-rows:56px auto 1fr}.topbar{height:56px;padding:0 14px}.brand{min-width:0}.topbar-meta{display:none}.topbar .button{margin-left:auto}.topbar .button+.button{margin-left:0}.topbar .button svg{margin:0}.sidebar{padding:8px 12px}.main-content{padding:30px 13px 20px}.page-intro{align-items:flex-start}.page-intro p{max-width:310px;line-height:1.5}.scenario-title{font-size:30px}.intro-actions{flex-direction:column}.intro-actions .button.secondary{width:40px;padding:0;font-size:0}.assumption-strip{flex-wrap:wrap}.assumption-strip>label{border-bottom:1px solid #d1d3ca;flex:1;min-width:50%}.assumption-note{width:100%;min-height:44px;margin:0}.metrics-grid{grid-template-columns:1fr 1fr}.metric-card{gap:8px;padding:13px}.metric-icon{display:none}.metric-card strong{font-size:15px}.chart-heading{flex-direction:column;align-items:flex-start}.chart-legend{justify-content:flex-start}.chart-container{height:310px}.card-heading{flex-wrap:wrap;align-items:flex-start}.card-heading .button.compact{width:100%;margin:4px 0 0}.conflict-banner{flex-wrap:wrap;align-items:stretch}.conflict-banner>div{flex-basis:100%;width:100%}footer p{display:none}footer button{margin-left:auto}}@media (width<=420px){.topbar .button.ghost{width:36px;padding:0;font-size:0}.metrics-grid{grid-template-columns:1fr}.metric-card{display:block}.chart-container{height:280px}}
