*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;color:#111827;background:#f8fafc;font-size:14px;line-height:1.4}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:baseline;gap:10px;padding:14px 24px;background:#0f172a;color:#f1f5f9;border-bottom:1px solid #1e293b;flex:0 0 auto}.app-header h1{margin:0;font-size:18px;font-weight:600;letter-spacing:.2px}.app-subtitle{font-size:13px;color:#94a3b8}.app-body{display:flex;flex:1 1 auto;min-height:0}.pane{min-height:0;overflow:auto}.pane-left{flex:0 0 360px;border-right:1px solid #e2e8f0;background:#fff;padding:20px}.pane-right{flex:1 1 auto;padding:20px}.pane-title{margin:0 0 16px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.assumptions{display:flex;flex-direction:column;gap:18px}.assumption{display:flex;flex-direction:column;gap:6px}.assumption-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.assumption-label{font-size:13px;font-weight:500;color:#334155}.assumption-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#0f172a}.assumption-unit{font-weight:400;color:#64748b}.assumption-controls{display:flex;align-items:center;gap:10px}.assumption-slider{flex:1 1 auto;accent-color:#2563eb}.assumption-number{flex:0 0 90px;padding:4px 6px;border:1px solid #cbd5e1;border-radius:4px;font-size:13px;font-variant-numeric:tabular-nums;background:#fff}.assumption-number:focus{outline:2px solid #93c5fd;outline-offset:0;border-color:#2563eb}.charts{display:flex;flex-direction:column;gap:16px;height:100%}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px 10px;display:flex;flex-direction:column;min-height:240px;flex:1 1 0}.chart-title{margin:0 0 8px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#475569}.chart-body{flex:1 1 auto;min-height:0}
