*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy-deep: #0f172a;--navy-mid: #1e2d4f;--navy-light: #2d4373;--blue: #5e8bff;--blue-light: #93b4ff;--blue-sky: #38bdf8;--blue-glow: rgba(94, 139, 255, .12);--blue-focus: rgba(94, 139, 255, .12);--bg-page: #f8fafc;--bg-white: #ffffff;--bg-input: #f8fafc;--border: #e2e8f0;--border-muted:#f1f5f9;--text-dark: #0f172a;--text-body: #374151;--text-mid: #475569;--text-muted: #64748b;--text-faint: #94a3b8;--green: #059669;--green-bg: #f0fdf4;--green-tint: rgba(5, 150, 105, .12);--amber: #d97706;--red: #ef4444;--red-tint: rgba(239, 68, 68, .05);--shadow-xs: 0 1px 4px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 4px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .1);--shadow-lg: 0 6px 20px rgba(15, 23, 42, .1);--shadow-nav: 0 2px 8px rgba(15, 23, 42, .25);--radius-sm: 8px;--radius: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--control-h: 42px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;color-scheme:light}html,body{background:var(--bg-page);color:var(--text-body);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:linear-gradient(135deg,#0f172a,#1e2d4f,#0f172a);border-bottom:1px solid rgba(94,139,255,.15);position:relative;overflow:hidden;padding:40px 0 36px}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 70% 50%,rgba(94,139,255,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(56,189,248,.08) 0%,transparent 60%);pointer-events:none}.header-inner{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;display:flex;flex-direction:column;gap:10px}.header-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-light);border:1px solid rgba(94,139,255,.3);border-radius:var(--radius-pill);padding:.3rem .9rem;width:fit-content;margin-bottom:4px}.eyebrow-dot{animation:heroPulse 2s ease-in-out infinite;flex-shrink:0}@keyframes heroPulse{0%,to{opacity:1}50%{opacity:.4}}.logo{display:flex;align-items:center;gap:12px}.logo-icon{color:#ffffffe6;flex-shrink:0}.logo-text{font-size:clamp(1.9rem,4vw,2.75rem);font-weight:800;line-height:1.12;color:#fff;letter-spacing:-.02em}.logo-text em{font-style:normal;background:linear-gradient(135deg,#5e8bff,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-tagline{font-size:1.0625rem;color:#ffffff8c;line-height:1.7;white-space:nowrap}.app-main{max-width:1200px;margin:0 auto;padding:36px 2rem 80px;width:100%;display:flex;flex-direction:column;gap:20px}.app-footer{text-align:center;padding:20px;color:var(--text-faint);font-size:.75rem;border-top:1px solid var(--border);margin-top:auto}.section-title{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:.75rem}.section-title:after{content:"";flex:1;height:1px;background:var(--border)}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.settings-panel{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 32px;box-shadow:var(--shadow-sm)}.settings-title{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:20px;display:flex;align-items:center;gap:8px}.settings-icon{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;align-items:end}.setting-item{display:flex;flex-direction:column;gap:7px}.setting-label{font-size:.8125rem;font-weight:600;color:var(--text-body);letter-spacing:.01em;display:flex;flex-direction:column;gap:2px}.setting-hint{font-size:.75rem;font-weight:400;color:var(--text-faint)}.metric-bar{display:flex;flex-direction:column;gap:14px}.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metric-card{border-radius:var(--radius-lg);padding:24px 28px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{transform:translateY(-2px)}.metric-card.card-balance{background:#f8fafc;border:1.5px solid var(--border);box-shadow:var(--shadow-sm)}.metric-card.card-balance:hover{box-shadow:var(--shadow-lg)}.metric-card.card-burn{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid rgba(5,150,105,.2);box-shadow:0 1px 4px #05966914}.metric-card.card-burn:hover{box-shadow:0 6px 20px #05966926}.metric-card.card-zero{background:linear-gradient(135deg,#1e2d4f,#0f172a);border:1.5px solid rgba(94,139,255,.25);box-shadow:0 4px 20px #0f172a40}.metric-card.card-zero:hover{box-shadow:0 8px 32px #5e8bff33}.metric-card.card-zero.runway-critical{background:linear-gradient(135deg,#450a0a,#7f1d1d);border-color:#ef444459;animation:pulseCritical 2s ease-in-out infinite}.metric-card.card-zero.runway-warning{background:linear-gradient(135deg,#1c1106,#431407);border-color:#d9770659}@keyframes pulseCritical{0%,to{box-shadow:0 4px 20px #ef44441a}50%{box-shadow:0 8px 32px #ef44444d}}.metric-label{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.metric-card.card-balance .metric-label{color:var(--text-muted)}.metric-card.card-burn .metric-label{color:#065f46}.metric-card.card-zero .metric-label{color:#93b4ffcc}.metric-value{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.metric-card.card-balance .metric-value{color:var(--text-dark)}.metric-card.card-balance .metric-value.negative{color:var(--red)}.metric-card.card-burn .metric-value{color:var(--green)}.metric-card.card-zero .metric-value{color:#fff}.metric-sub{font-size:.8125rem;font-weight:500}.metric-card.card-balance .metric-sub{color:var(--text-muted)}.metric-card.card-burn .metric-sub{color:#10b981}.metric-card.card-zero .metric-sub{color:#93b4ffa6}.zero-date-banner{display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:var(--radius-md);border:1px solid;animation:fadeSlideIn .3s ease;background:var(--bg-white)}.zero-date-banner.runway-warning{background:#fffbeb;border-color:#d9770640}.zero-date-banner.runway-critical{background:#fef2f2;border-color:#ef44444d}.banner-icon{font-size:24px;flex-shrink:0}.banner-content{display:flex;flex-direction:column;gap:2px}.banner-content strong{font-size:.9375rem;font-weight:700;color:var(--text-dark)}.banner-content span{font-size:.8125rem;color:var(--text-mid)}.threshold-label{font-size:.6875rem!important;color:var(--text-faint)!important}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.chart-section{display:flex;flex-direction:column;gap:18px}.chart-header{display:flex;align-items:center;justify-content:space-between}.chart-title{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.view-toggle{display:flex;gap:4px;background:var(--bg-page);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border)}.toggle-btn{padding:5px 14px;border:none;background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit}.toggle-btn:hover{color:var(--text-dark);background:var(--bg-white)}.toggle-btn.active{background:var(--navy-mid);color:#fff;box-shadow:0 2px 6px #0f172a40}.chart-tooltip{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;box-shadow:var(--shadow-md);min-width:200px}.tooltip-date{font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.tooltip-balance{font-size:1.1rem;font-weight:800;color:var(--text-dark);margin-bottom:8px;letter-spacing:-.02em}.tooltip-balance.negative{color:var(--red)}.tooltip-events{list-style:none;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--border-muted);padding-top:8px}.event-item{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.6875rem}.event-label{color:var(--text-muted)}.event-item.event-payroll .event-label:before{content:"●  ";color:var(--blue)}.event-item.event-expense .event-label:before{content:"●  ";color:var(--red)}.event-item.event-invoice .event-label:before{content:"●  ";color:var(--green)}.event-amount.negative{color:var(--red);font-weight:700}.event-amount.positive{color:var(--green);font-weight:700}.panels-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease}.panel:hover{box-shadow:var(--shadow-md)}.panel-header{width:100%;background:transparent;border:none;padding:16px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-dark);font-family:inherit;transition:background .15s;border-bottom:1px solid var(--border-muted)}.panel-header:hover{background:var(--bg-page)}.panel-header h2{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);flex:1;text-align:left}.panel-icon{font-size:15px}.panel-count{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy-mid);color:#fff;font-size:.7125rem;font-weight:800;flex-shrink:0}.badge-ar{font-size:.6875rem;font-weight:700;background:#0596691a;color:var(--green);border:1px solid rgba(5,150,105,.2);padding:2px 8px;border-radius:var(--radius-pill)}.eyebrow-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.chevron{color:var(--text-faint);flex-shrink:0;display:block}.panel-body{padding:20px;display:flex;flex-direction:column;gap:14px;animation:fadeSlideIn .2s ease}.form-row{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}.invoice-form{display:grid;grid-template-columns:1fr 120px 140px 1fr auto;gap:8px}.input{width:100%;height:var(--control-h);padding:0 .875rem;font-size:.9375rem;font-weight:500;color:var(--text-dark);background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s ease,box-shadow .15s ease;font-family:inherit}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-focus);background:var(--bg-white)}.input::placeholder{color:#cbd5e1;font-weight:400}.number-input{max-width:140px}.select-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.input-prefix-wrap{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:10px;color:var(--text-faint);font-size:.9rem;pointer-events:none}.input-prefix-wrap .input{padding-left:22px}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;height:var(--control-h);padding:0 1.25rem;background:var(--navy-mid);color:#fff;border:none;border-radius:var(--radius);font-family:inherit;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;box-shadow:var(--shadow-nav)}.btn-primary:hover{background:var(--navy-light);box-shadow:0 4px 16px #0f172a4d;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary.editing{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 2px 8px #05966959}.btn-ghost{display:inline-flex;align-items:center;gap:.35rem;height:var(--control-h);padding:0 .875rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-faint);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1}.btn-ghost:hover{color:var(--red);border-color:#ef44444d;background:var(--red-tint)}.btn-icon{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;padding:4px 7px;transition:all .15s ease;line-height:1.4;color:var(--text-faint)}.btn-icon:hover{background:var(--bg-page);border-color:#cbd5e1;color:var(--text-body)}.btn-icon.danger:hover{color:var(--red);border-color:#ef44444d;background:var(--red-tint)}.table-wrapper{overflow-x:auto;border-radius:var(--radius-sm);border:1px solid var(--border)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table th{text-align:left;padding:10px 12px;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);background:var(--bg-page);border-bottom:1px solid var(--border)}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border-muted);color:var(--text-mid);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--bg-page)}.data-table tbody tr.row-editing{background:#5e8bff0f}.data-table tbody tr.row-past td{opacity:.5}.data-table tfoot td{padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-page);font-weight:700}.tfoot-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.cost-cell{color:var(--text-dark);font-weight:700}.action-cell{display:flex;gap:4px;justify-content:flex-end}.overdue{color:var(--red)!important;font-weight:700}.positive{color:var(--green);font-weight:600}.negative{color:var(--red)}.badge-info{font-size:10px;color:var(--amber);margin-left:4px;cursor:help}.due-date-preview{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.due-date-preview strong{color:var(--blue)}.empty-state{background:var(--bg-white);border:1.5px dashed var(--border);border-radius:var(--radius-md);padding:28px;text-align:center;font-size:.8125rem;color:var(--text-faint)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 900px){.panels-grid,.metrics-grid{grid-template-columns:1fr}.metric-value{font-size:1.75rem}.invoice-form{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.app-header{padding:32px 0 28px}.header-inner{padding:0 1.25rem}.app-main{padding:20px 1.25rem 60px}.card,.settings-panel{padding:20px}.form-row{flex-direction:column}.number-input{max-width:100%}.invoice-form{grid-template-columns:1fr}}@media print{.app-header{background:#1e2d4f!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.view-toggle,.btn-primary,.btn-ghost,.btn-icon{display:none!important}.app-main{padding-bottom:0}.panel,.card,.settings-panel{break-inside:avoid}}.fx-indicator{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:var(--shadow-sm)}.fx-rates{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.fx-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.fx-pairs{display:flex;align-items:center;gap:10px}.fx-pair{display:flex;align-items:center;gap:6px}.fx-currency{font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase}.fx-rate{font-size:.875rem;font-weight:700;color:var(--navy-mid);font-variant-numeric:tabular-nums}.fx-divider{color:var(--border);font-size:1rem}.fx-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.fx-timestamp{font-size:.6875rem;color:var(--text-faint)}.fx-error{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:600;color:var(--amber);padding:2px 8px;background:#d9770614;border:1px solid rgba(217,119,6,.2);border-radius:var(--radius-pill)}.fx-refresh{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:5px 7px;color:var(--text-muted);display:flex;align-items:center;transition:all .15s}.fx-refresh:hover{border-color:var(--blue);color:var(--blue)}.fx-refresh:disabled{opacity:.4;cursor:not-allowed}.expense-form{display:flex;flex-direction:column;gap:8px}.expense-form-controls{display:flex;gap:8px;align-items:center}.expense-form-controls .amount-currency-group{flex:1}.expense-form-controls .input.number-input{width:72px;flex-shrink:0}.expense-form-controls .btn-primary,.expense-form-controls .btn-ghost{flex-shrink:0}.amount-currency-group{display:flex;flex-direction:row;align-items:center;gap:6px}.currency-toggle{display:flex;background:var(--bg-page);border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;height:var(--control-h);flex-shrink:0}.currency-btn{flex:1;padding:0 10px;border:none;background:transparent;color:var(--text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.06em;cursor:pointer;font-family:inherit;transition:all .12s;white-space:nowrap}.currency-btn:hover{background:var(--bg-white);color:var(--text-dark)}.currency-btn.active{background:var(--navy-mid);color:#fff}.amount-with-badge{display:flex;align-items:center;gap:6px}.currency-badge{font-size:.6rem;font-weight:800;letter-spacing:.06em;padding:2px 5px;border-radius:4px;text-transform:uppercase}.currency-badge.currency-usd{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.currency-badge.currency-aud{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.2)}.fx-converted-cell{color:var(--text-dark);font-weight:600}.fx-conversion-preview{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:6px}.fx-rate-note{font-size:.6875rem;color:var(--text-faint)}.event-item{flex-wrap:wrap}.event-fx-note{font-size:.6rem;color:var(--text-faint);font-style:italic;flex-basis:100%;margin-top:1px}.input-suffix{position:absolute;right:10px;color:var(--text-muted);font-size:.875rem;font-weight:600;pointer-events:none}.data-table tbody tr.row-foreign td:first-child{border-left:2px solid rgba(94,139,255,.3)}@media (max-width: 900px){.expense-form{grid-template-columns:1fr}.fx-indicator{flex-direction:column;align-items:flex-start;gap:10px}}.login-page{min-height:100vh;background:linear-gradient(135deg,#0f172a,#1e2d4f,#0a1628);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden}.login-bg-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.35}.login-glow-1{width:500px;height:500px;background:radial-gradient(circle,rgba(94,139,255,.4) 0%,transparent 70%);top:-100px;right:-100px}.login-glow-2{width:400px;height:400px;background:radial-gradient(circle,rgba(56,189,248,.25) 0%,transparent 70%);bottom:-80px;left:-80px}.login-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:48px 52px;width:100%;max-width:420px;box-shadow:0 24px 64px #00000059,0 4px 16px #0003;display:flex;flex-direction:column;align-items:center;gap:28px;position:relative;z-index:1;animation:loginCardIn .45s cubic-bezier(.16,1,.3,1)}@keyframes loginCardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{display:flex;flex-direction:column;align-items:center;gap:12px}.login-logo-icon{width:60px;height:60px;background:linear-gradient(135deg,#0f172a,#1e2d4f);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 20px #0f172a4d}.login-logo-text{font-size:1.75rem;font-weight:800;color:#0f172a;letter-spacing:-.02em;line-height:1}.login-logo-text em{font-style:normal;background:linear-gradient(135deg,#5e8bff,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo-text .brand-burn{color:#0f172a}.login-logo-text .brand-rater{color:var(--blue);-webkit-text-fill-color:var(--blue)}.login-description{text-align:center;display:flex;flex-direction:column;gap:8px}.login-tagline{font-size:1rem;font-weight:600;color:#0f172a}.login-hint{font-size:.8125rem;color:#64748b;line-height:1.6}.login-hint strong{color:#1e2d4f;font-weight:700}.login-sso-container{display:flex;justify-content:center;width:100%}.login-loading{display:flex;align-items:center;gap:10px;font-size:.875rem;font-weight:600;color:#64748b;padding:12px 20px;border:1.5px solid #e2e8f0;border-radius:10px}.login-error{display:flex;align-items:flex-start;gap:10px;background:#fef2f2;border:1px solid rgba(239,68,68,.25);border-radius:10px;padding:12px 14px;font-size:.8125rem;color:#b91c1c;width:100%;line-height:1.5;animation:fadeSlideIn .2s ease}.login-domain-notice{display:flex;align-items:center;gap:6px;font-size:.6875rem;color:#94a3b8;font-weight:500;text-align:center}.login-footer{position:absolute;bottom:20px;font-size:.6875rem;color:#ffffff4d;z-index:1}.header-top-row{display:flex;align-items:center;justify-content:space-between;width:100%}.user-pill-wrap{position:relative;z-index:100}.user-pill{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 12px 5px 5px;cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;color:#fff;transition:all .15s}.user-pill:hover{background:#ffffff24;border-color:#ffffff40}.user-avatar{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.3);flex-shrink:0}.user-name{font-size:.8125rem;font-weight:600;color:#ffffffe6}.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 32px #0f172a2e;min-width:220px;overflow:hidden;z-index:100;animation:fadeSlideIn .15s ease}.user-menu-info{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.user-menu-name{font-size:.875rem;font-weight:700;color:#0f172a}.user-menu-email{font-size:.75rem;color:#64748b}.user-menu-divider{border:none;border-top:1px solid #f1f5f9;margin:0}.user-menu-signout{display:flex;align-items:center;gap:9px;width:100%;padding:11px 16px;background:transparent;border:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:#64748b;cursor:pointer;transition:all .12s;text-align:left}.user-menu-signout:hover{background:#fef2f2;color:#ef4444}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card{padding:36px 24px}.login-logo-text{font-size:1.5rem}}.save-status{display:inline-flex;align-items:center;gap:5px;font-size:.6875rem;font-weight:600;padding:3px 9px;border-radius:var(--radius-pill);border:1px solid transparent;transition:all .2s ease;white-space:nowrap}.save-idle{color:#93b4ffb3;border-color:transparent;background:transparent}.save-loading,.save-saving{color:#ffffffb3;background:#ffffff14;border-color:#ffffff1f}.save-saved{color:#34d399;background:#34d3991a;border-color:#34d39940;animation:fadeSlideIn .2s ease}.save-error{color:#f87171;background:#f871711a;border-color:#f8717140}.save-offline{color:#94a3b8b3;border-color:transparent;background:transparent}.app-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);font-size:.9375rem;font-weight:500}.gst-badge{font-size:.55rem;font-weight:800;background:#0596691f;color:var(--green);padding:1px 5px;border-radius:4px;border:1px solid rgba(5,150,105,.2);margin-left:4px;vertical-align:middle;letter-spacing:.04em}.inv-amount-group{display:flex;flex-direction:column;gap:4px}.gst-preview{font-size:.75rem;color:var(--green);font-weight:600;padding-left:2px}.oneoff-form{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:center}.employee-form{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:8px;align-items:center}.nav-tabs{display:flex;gap:4px;margin-top:16px;border-bottom:2px solid var(--border);padding-bottom:0}.nav-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:.875rem;font-weight:600;font-family:inherit;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.nav-tab:hover{color:var(--text-dark)}.nav-tab.active{color:var(--blue);border-bottom-color:var(--blue)}.scenario-selector{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;background:var(--bg-white);border:1.5px solid var(--border);border-radius:var(--radius-md)}.scenario-control{display:flex;align-items:center;gap:4px}.scenario-eye{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1.5px solid var(--border);background:transparent;cursor:pointer;color:var(--text-faint);transition:all .15s ease}.scenario-eye.on{color:var(--scenario-colour, var(--blue));border-color:var(--scenario-colour, var(--blue))}.scenario-eye.off{opacity:.45}.scenario-eye:hover{opacity:1}.scenario-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:transparent;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.scenario-btn.active{background:var(--scenario-colour, var(--navy-mid));border-color:var(--scenario-colour, var(--navy-mid));color:#fff}.scenario-btn:not(.active):hover{border-color:var(--scenario-colour, var(--navy-mid));color:var(--text-dark)}.scenario-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.scenario-pill-group{display:flex;gap:4px;flex-shrink:0}.scenario-pill{padding:5px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:transparent;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.scenario-pill.sp-base.active{background:#1e2d4f;border-color:#1e2d4f;color:#fff}.scenario-pill.sp-conservative.active{background:#d97706;border-color:#d97706;color:#fff}.scenario-pill.sp-ambitious.active{background:#059669;border-color:#059669;color:#fff}.scenario-pill:not(.active):hover{border-color:var(--text-mid);color:var(--text-dark)}.scenario-filter-tabs{display:flex;gap:4px;margin-bottom:12px;flex-wrap:wrap}.sf-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);border:1.5px solid var(--border);background:transparent;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.sf-tab.active{background:var(--navy-mid);border-color:var(--navy-mid);color:#fff}.sf-tab.sf-base.active{background:#1e2d4f;border-color:#1e2d4f}.sf-tab.sf-conservative.active{background:#d97706;border-color:#d97706}.sf-tab.sf-ambitious.active{background:#059669;border-color:#059669}.sf-tab-total{font-size:.6875rem;opacity:.75}.scenario-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);border:1.5px solid currentColor;font-size:.6875rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.income-form{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.income-form-row1{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.income-form-row2{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.income-form-row2 .input[type=number]{width:168px;flex-shrink:0}.income-form-row2 .input[type=date]{width:174px;flex-shrink:0}.income-form-row2 .select-input{flex:1;min-width:120px;max-width:220px}.prob-wrap{position:relative;display:flex;align-items:center}.prob-wrap .input{width:80px;padding-right:24px}.prob-wrap .input-suffix{position:absolute;right:10px;color:var(--text-faint);font-size:.8125rem;pointer-events:none}.income-previews{display:flex;gap:16px;flex-wrap:wrap;font-size:.8125rem;color:var(--text-muted);margin-bottom:4px}.gst-preview{color:var(--green);font-weight:600}.prob-preview{color:#d97706;font-weight:600}.due-date-preview-inline strong{color:var(--text-dark)}.mode-toggle{display:flex;gap:2px;margin-left:auto;background:var(--bg-page);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:2px}.mode-btn{padding:4px 14px;font-family:inherit;font-size:.75rem;font-weight:600;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.mode-btn.active{background:var(--navy-mid);color:#fff}.panel-header.non-collapsible{cursor:default}.panel-header.non-collapsible:hover{background:transparent}.labour-divider{height:1px;background:var(--border);margin:16px 0}.sub-section-header{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:0 0 10px;font-family:inherit;cursor:pointer;width:100%;text-align:left}.sub-section-header h3{font-size:.875rem;font-weight:700;color:var(--text-dark)}.sub-section-title{font-size:.875rem;font-weight:700;color:var(--text-dark);margin-bottom:10px}.projects-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.projects-form .input[placeholder="Project name"]{flex:1;min-width:150px}.projects-form .input[type=date]{width:140px}.projects-form .select-input{width:120px}.colour-picker{display:flex;gap:4px;align-items:center;flex-shrink:0}.colour-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.colour-swatch:hover{transform:scale(1.15)}.colour-swatch.selected{border-color:var(--text-dark);transform:scale(1.2)}.project-colour-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;flex-shrink:0}.status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.status-active{background:#f0fdf4;color:#059669}.status-planned{background:#eff6ff;color:#3b82f6}.status-completed{background:#f8fafc;color:#64748b}.allocations-section{margin-top:4px}.allocations-grid th.alloc-emp-col{text-align:center;white-space:nowrap}.alloc-max{display:block;font-weight:400;font-size:.6875rem;color:var(--text-faint);margin-top:1px}.alloc-cell{text-align:center;vertical-align:middle;padding:6px 8px!important}.alloc-input{width:64px!important;text-align:center;padding:4px 6px!important;height:32px!important;font-size:.8125rem!important}.alloc-pct{display:block;font-size:.6875rem;color:var(--text-faint);margin-top:2px}.alloc-pct.high{color:var(--amber);font-weight:600}.alloc-pct.over{color:var(--red);font-weight:700}.alloc-total{font-weight:700;font-size:.875rem;color:var(--text-dark)}.alloc-total.over{color:var(--red)}.chart-controls{display:flex;align-items:center;gap:8px}.scenario-dropdown{height:var(--control-h);padding:0 28px 0 10px;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--text-dark);background:var(--bg-page);border:1.5px solid var(--border);border-radius:var(--radius-sm);-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2394a3b8'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:10px;transition:border-color .15s ease}.scenario-dropdown:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-focus)}.pay-schedule-toggle{display:flex;gap:2px;background:var(--bg-page);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:2px;flex-shrink:0}.pay-sch-btn{padding:4px 12px;font-family:inherit;font-size:.75rem;font-weight:600;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .15s ease}.pay-sch-btn.active{background:var(--navy-mid);color:#fff}.pay-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;letter-spacing:.02em}.pay-recurring{background:#f0fdf4;color:#059669}.pay-oneoff{background:#eff6ff;color:#3b82f6}.payments-sub-row td{background:#f8fafc;border-top:none!important;padding:8px 16px 12px!important}.scheduled-payments{display:flex;flex-direction:column;gap:6px}.scheduled-payment-row{display:flex;align-items:center;gap:12px;font-size:.8125rem;padding:4px 0}.pmt-date{color:var(--text-muted);min-width:110px}.pmt-amount{font-weight:600;color:var(--green)}.add-payment-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:6px;border-top:1px dashed var(--border);margin-top:4px}.add-payment-form .input[type=date],.add-payment-form .input[type=number]{width:150px}.chart-controls .scenario-dropdown{height:34px}.income-panel-header{display:flex;align-items:center;cursor:default}.panel-collapse-zone{display:flex;align-items:center;gap:8px;flex:1;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.panel-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-filter-dropdown{height:30px!important;padding-top:0!important;padding-bottom:0!important;font-size:.75rem!important}.brand-burn{color:#fff}.brand-rater{color:var(--blue)}
