:root{--slate-green:#76bc43;--slate-blue:#0076bb;--slate-grey:#243746;--ink:#182633;--muted:#647481;--line:#d9e1e6;--soft:#f4f8fa;--panel:#fff;--warning:#b45309;--warning-bg:#fff7ed;--danger:#b42318;--danger-bg:#fff1f0}*{box-sizing:border-box}html{background:var(--soft)}body{color:var(--ink);background:var(--soft);margin:0;font-family:Neue Einstellung,Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{min-height:100vh;padding:24px}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1720px;margin:0 auto 18px;display:flex}.brand-lockup{align-items:center;gap:16px;min-width:0;display:flex}.brand-lockup img{flex:none;width:188px;height:auto}.brand-lockup h1{color:var(--slate-grey);margin:2px 0 0;font-size:clamp(24px,3vw,38px);line-height:1}.app-kicker,.eyebrow{color:var(--slate-blue);text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.workspace-grid{grid-template-columns:minmax(250px,380px) minmax(350px,520px) minmax(520px,1fr);align-items:start;gap:16px;max-width:1720px;margin:0 auto;display:grid}.guide-panel,.question-panel,.forecast-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 34px #24374614}.guide-panel{min-height:520px;padding:22px}.bot-avatar{color:#fff;background:var(--slate-grey);border-radius:8px;place-items:center;width:46px;height:46px;margin-bottom:18px;display:grid}.bot-avatar svg,button svg,.status-strip svg,.secure-note svg,.conflict-heading svg{width:18px;height:18px}.guide-panel h2,.panel-heading h2{color:var(--slate-grey);margin:6px 0 0;line-height:1.1}.guide-panel h2{font-size:28px}.bot-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);margin-top:22px;padding:16px 0;line-height:1.55}.bot-note p{margin:0}.secure-note,.status-strip{color:#245a13;align-items:flex-start;gap:10px;margin-top:16px;font-size:13px;line-height:1.4;display:flex}.secure-note svg,.status-strip svg{color:var(--slate-green);flex:none}.progress-bar{background:#dfe8ed;border-radius:999px;height:8px;margin:20px 0 0;overflow:hidden}.progress-bar span{border-radius:inherit;background:var(--slate-blue);height:100%;transition:width .16s;display:block}.question-panel,.forecast-panel{padding:20px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.form-stack{gap:16px;display:grid}.form-section-heading{color:var(--slate-grey);margin:0;font-size:16px;line-height:1.2}.location-name-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.field-group,.segmented-group{color:var(--slate-grey);gap:8px;font-size:13px;font-weight:800;display:grid}.field-group input,.number-shell,.fte-grid input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px}.field-group input,.fte-grid input{padding:0 12px;font-size:14px}.number-shell{grid-template-columns:auto 1fr auto;align-items:center;display:grid;overflow:hidden}.number-shell input{border:0;border-radius:0;min-height:42px;font-size:14px}.input-affix{color:var(--muted);padding:0 12px;font-weight:800}.segmented-control{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented-control button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:7px 10px;font-weight:800}.segmented-control button.active{color:#fff;background:var(--slate-grey)}.metric-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.metric-line strong{color:var(--slate-grey);text-align:right}.metric-line.warning strong{color:var(--danger)}.toggle-line{border:1px solid var(--line);color:var(--slate-grey);border-radius:8px;align-items:center;gap:10px;padding:12px;font-weight:800;display:flex}.toggle-line input{width:18px;height:18px;accent-color:var(--slate-blue)}.location-context{border:1px solid #0076bb3d;border-left:4px solid var(--slate-blue);background:#c7eafb57;border-radius:8px;gap:4px;padding:12px;display:grid}.location-context span{color:var(--slate-blue);text-transform:uppercase;font-size:12px;font-weight:900}.location-context strong{color:var(--slate-grey);overflow-wrap:anywhere;font-size:18px;line-height:1.2}.step-controls{justify-content:space-between;gap:10px;margin-top:24px;display:flex}.primary-button,.secondary-button,.ghost-button,.download-button,.text-button,.conflict-actions button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button,.download-button{border:1px solid var(--slate-green);color:#fff;background:var(--slate-green);padding:0 16px}.secondary-button,.ghost-button{border:1px solid var(--line);color:var(--slate-grey);background:#fff;padding:0 14px}.ghost-button{flex:none}.download-button{min-width:94px}.download-button:disabled{color:var(--muted);opacity:1;background:#eef3f5;border-color:#c8d2d9}.download-button-ready{border-color:var(--slate-green);color:#fff;background:var(--slate-green)}.ready-message{color:#245a13;align-items:center;min-height:42px;font-weight:900;display:inline-flex}.full-width{width:100%}.text-button{min-height:34px;color:var(--slate-blue);background:0 0;border:1px solid #0000;padding:0 10px}.mini-table-wrap{gap:10px;display:grid}.table-actions{color:var(--slate-grey);justify-content:space-between;align-items:center;gap:10px;font-size:14px;font-weight:800;display:flex}.fte-grid{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;max-height:360px;padding-right:4px;display:grid;overflow:auto}.fte-grid label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.conflict-panel{color:var(--warning);background:var(--warning-bg);border:1px solid #fed7aa;border-radius:8px;gap:12px;margin:0 0 14px;padding:14px;display:grid}.conflict-heading{align-items:flex-start;gap:10px;display:flex}.conflict-heading svg{flex:none}.conflict-heading strong,.conflict-heading span{display:block}.conflict-heading span{color:#7c2d12;margin-top:3px;line-height:1.4}.conflict-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.conflict-actions button{color:#7c2d12;background:#fff;border:1px solid #fdba74;min-height:38px;padding:7px 10px}.status-strip{background:#76bc211f;border:1px solid #76bc214d;border-radius:8px;margin:0 0 14px;padding:10px 12px}.forecast-table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;max-height:calc(100vh - 230px);overflow:auto}.forecast-table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:13px}.forecast-table th,.forecast-table td{border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;min-width:116px;padding:11px 12px}.forecast-table th:first-child,.forecast-table td:first-child{z-index:1;text-align:left;background:#fff;min-width:190px;position:sticky;left:0}.forecast-table thead th{z-index:2;color:var(--slate-grey);background:#eef4f7;font-weight:900;position:sticky;top:0}.forecast-table thead th:first-child{z-index:3}.forecast-table tbody th{color:var(--slate-grey)}.forecast-table tbody tr:last-child th,.forecast-table tbody tr:last-child td{border-bottom:0}.forecast-table .section-row th{color:#fff;background:var(--slate-grey);text-align:left}.forecast-table .negative-row th,.forecast-table .negative-row td{color:var(--danger);background:var(--danger-bg)}.forecast-table .gross-row th,.forecast-table .gross-row td,.forecast-table .net-row th,.forecast-table .net-row td{color:var(--slate-grey);font-weight:900}.forecast-table .gross-row th,.forecast-table .gross-row td{border-top:2px solid var(--slate-grey)}.forecast-table .net-row th,.forecast-table .net-row td{border-top:2px solid var(--slate-grey);border-bottom:2px solid var(--slate-grey)}.empty-state{border:1px dashed var(--line);min-height:240px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;display:grid}@media (width<=1240px){.workspace-grid{grid-template-columns:minmax(260px,340px) minmax(360px,520px)}.forecast-panel{grid-column:1/-1}.guide-panel{min-height:auto}}@media (width<=760px){.app-shell{padding:12px}.topbar{flex-direction:column;align-items:stretch;gap:12px;margin-bottom:12px}.brand-lockup{align-items:flex-start;gap:12px}.brand-lockup img{width:126px;margin-top:2px}.brand-lockup h1{overflow-wrap:anywhere;font-size:24px;line-height:1.05}.ghost-button{width:100%}.workspace-grid{grid-template-columns:1fr;gap:12px}.guide-panel,.question-panel,.forecast-panel{padding:14px;box-shadow:0 8px 22px #24374612}.guide-panel{grid-template-columns:42px 1fr;gap:0 12px;display:grid}.bot-avatar{grid-row:1/span 2;width:42px;height:42px;margin-bottom:0}.guide-panel .eyebrow{align-self:end}.guide-panel h2{margin-top:4px;font-size:21px}.progress-bar,.bot-note,.secure-note{grid-column:1/-1}.bot-note{margin-top:14px;padding:12px 0}.secure-note{margin-top:12px}.progress-bar{height:7px;margin-top:14px}.panel-heading{align-items:center;margin-bottom:12px}.panel-heading h2{font-size:22px}.form-stack{gap:14px}.field-group input,.number-shell,.fte-grid input{min-height:42px}.segmented-control,.location-name-grid,.conflict-actions{grid-template-columns:1fr}.segmented-control button{min-height:40px}.metric-line{flex-direction:column;align-items:flex-start;gap:4px}.metric-line strong{text-align:left}.table-actions{flex-direction:column;align-items:stretch}.step-controls{gap:8px;margin-top:18px}.step-controls button{flex:1 1 0;min-width:0}.ready-message{text-align:right;flex:auto;justify-content:flex-end}.status-strip{padding:9px 10px}.forecast-table-wrap{-webkit-overflow-scrolling:touch;border-radius:6px;max-height:68vh;margin-right:-4px}.forecast-table{min-width:720px;font-size:12px}.forecast-table th,.forecast-table td{min-width:92px;padding:9px 10px}.forecast-table th:first-child,.forecast-table td:first-child{white-space:normal;min-width:146px;max-width:146px}}@media (width<=420px){.brand-lockup{flex-direction:column}.brand-lockup img{width:142px}.download-button{min-width:82px;padding:0 12px}.forecast-table{min-width:660px}}
