*{box-sizing:border-box;margin:0;padding:0}body{background:#f4f6f8;font-family:Segoe UI,Arial,sans-serif;line-height:1.5}.login-container{align-items:center;background:#232f3e;color:#fff;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:100vh}.login-container h1{font-size:2rem;font-weight:700}.login-container p{margin-bottom:.5rem;opacity:.7}.app-header{align-items:center;background:#232f3e;color:#fff;display:flex;justify-content:space-between;padding:14px 24px}.app-header h1{font-size:18px;font-weight:600}.header-actions{align-items:center;display:flex;gap:6px}.user-info{font-size:12px;margin-right:8px;opacity:.7}.dashboard{margin:0 auto;max-width:1400px;padding:0}.kpi-cards{grid-gap:10px;background:#fff;border-bottom:1px solid #e0e0e0;display:grid;gap:10px;grid-template-columns:repeat(4,1fr);padding:14px}.kpi-card{border-radius:6px;padding:12px;position:relative;text-align:center}.kpi-card h3{background:#232f3e;border-radius:6px 6px 0 0;color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px;margin:-12px -12px 8px;padding:8px 12px;text-transform:uppercase}.kpi-amount{font-size:22px;font-weight:700}.kpi-card:first-child{background:#e3f2fd}.kpi-card:first-child .kpi-amount{color:#1565c0}.kpi-card:nth-child(2){background:#e8f5e9}.kpi-card:nth-child(2) .kpi-amount{color:#2e7d32}.kpi-card:nth-child(3){background:#fff3e0}.kpi-card:nth-child(3) .kpi-amount{color:#e65100}.kpi-card:nth-child(4){background:#fce4ec}.kpi-card.over-budget .kpi-amount,.kpi-card:nth-child(4) .kpi-amount{color:#c62828}.progress-bar{background:#e0e0e0;border-radius:8px;height:14px;margin-bottom:6px;margin-top:4px;overflow:hidden;width:100%}.progress-fill{border-radius:8px;height:100%;transition:width .3s}.progress-fill.green{background:#43a047}.progress-fill.amber{background:#fb8c00}.progress-fill.red{background:#e53935}.kpi-details{color:#1565c0;font-size:14px;font-weight:600}.kpi-details>div{padding:1px 0}.kpi-details .remaining{color:#2e7d32}.kpi-details .remaining.negative{color:#c62828}.kpi-details .eac-line{border-top:1px solid #ddd;margin-top:4px;padding-top:4px}.kpi-details .eac-ok{color:#2e7d32}.kpi-details .eac-warn{color:#c62828}.sec{background:#fff;border-bottom:1px solid #eee;padding:16px}.sec:last-child{border-radius:0 0 6px 6px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.section-header h2,.st{border-bottom:2px solid #f90;color:#232f3e;font-size:13px;font-weight:700;letter-spacing:.4px;margin-bottom:10px;padding-bottom:6px;text-transform:uppercase}.data-table{border-collapse:collapse;font-size:12px;width:100%}.data-table th{background:#232f3e;color:#fff;font-size:12px;letter-spacing:.3px;padding:7px 6px;position:sticky;text-align:center;text-transform:uppercase;top:0}.data-table td{border-bottom:1px solid #eee;padding:6px;text-align:center}.data-table td.name{font-weight:600;text-align:left;white-space:nowrap}.data-table tbody tr:hover{background:#f8f9fa}.data-table input[type=number]{-moz-appearance:textfield;border:1px solid #ddd;border-radius:3px;font-size:12px;padding:2px;text-align:center;width:50px}.data-table input[type=number]::-webkit-inner-spin-button,.data-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.data-table input[type=number]:focus{border-color:#f90;outline:2px solid #f90}.subtotal-row{background:#f5f5f5;font-weight:700}.subtotal-row td{border-top:2px solid #232f3e}.billing-badge{font-size:10px;font-weight:600}.billing-badge.partner{color:#1565c0}.billing-badge.aws{color:#e65100}.billing-badge.investment{color:#6a1b9a}.cost-row td{background:#f9f9f9;font-size:16px}.cost-row td:first-child{font-weight:600;padding-left:12px}.cost-row.partner-row td,.cost-row.partner-row td:first-child,.cost-row.partner-row td:last-child{color:#1565c0}.cost-row.aws-row td,.cost-row.aws-row td:first-child,.cost-row.aws-row td:last-child{color:#e65100}.cost-row.investment-row td,.cost-row.investment-row td:first-child,.cost-row.investment-row td:last-child{color:#6a1b9a}.cost-row.billable-row{background:#e8eaf6;font-weight:700}.cost-row.billable-row td{color:#283593;font-size:16px}.total-weekly-cost-row{background:#232f3e!important}.total-weekly-cost-row td{color:#f90!important;font-size:16px;font-weight:700}.total-weekly-cost-row td:first-child{color:#fff!important}.cumulative-row td{background:#f5f5f5;font-size:14px;font-weight:700}.cumulative-row td:first-child{padding-left:12px}.cumulative-row.ai-row td{color:#6a1b9a}.cumulative-row.billable-cum-row td{color:#283593}.cumulative-row.total-cost-row td{border-top:2px solid #232f3e;color:#232f3e}.btn{background:#f90;border:none;border-radius:3px;color:#232f3e;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background .2s}.btn:hover{background:#ffad33}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#f90;color:#232f3e}.btn-secondary{background:#4a5568;color:#fff}.btn-secondary:hover{background:#5a6578}.btn-danger{background:#e53935;color:#fff}.btn-danger:hover{background:#f44336}.btn-small{font-size:11px;padding:4px 10px}.week-controls{align-items:center;display:flex;gap:6px}.week-controls select{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:4px 6px}.week-controls label{color:#555;font-size:12px;font-weight:600}.bottom-section{grid-gap:16px;background:#fff;border-bottom:1px solid #eee;display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:16px}section{margin-bottom:0}.add-member-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.add-member-form label{color:#555;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:.2rem}.add-member-form input,.add-member-form select{border:1px solid #ddd;border-radius:3px;font-size:12px;padding:4px 8px}.error-banner{background:#fce4e4;border-bottom:2px solid #e53935;color:#c62828;font-size:13px;padding:.6rem 1.5rem}.loading{color:#888;font-size:13px;padding:3rem;text-align:center}@media print{.add-member-form,.app-header .header-actions,.btn,input{display:none!important}.dashboard{padding:0}.kpi-cards{grid-template-columns:repeat(2,1fr)}body{background:#fff}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media(max-width:1024px){.kpi-cards{grid-template-columns:repeat(2,1fr)}.bottom-section{grid-template-columns:1fr}}@media(max-width:640px){.kpi-cards{grid-template-columns:1fr}.app-header{flex-direction:column;gap:.5rem}.header-actions{flex-wrap:wrap;justify-content:center}}
/*# sourceMappingURL=main.1d520e11.css.map*/