@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;700&family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg: #030405;--surface: rgba(13, 14, 18, .7);--surface-solid: #0A0B0E;--primary: #00f2fe;--primary-rgb: 0, 242, 254;--primary-glow: rgba(0, 242, 254, .15);--secondary: #7000ff;--success: #00ff87;--danger: #ff0055;--warning: #ffb800;--text: #ffffff;--text-muted: #94a3b8;--border: rgba(255, 255, 255, .08);--border-glow: rgba(0, 242, 254, .3);--radius-lg: 24px;--radius-md: 16px;--font-header: "Outfit", sans-serif;--font-data: "Space Grotesk", monospace;--font-mono: "Space Grotesk", monospace;--transition: all .4s cubic-bezier(.23, 1, .32, 1);--shadow-glow: 0 0 20px rgba(0, 242, 254, .1)}[data-theme=light]{--bg: #fdfdfd;--surface: rgba(255, 255, 255, .85);--surface-solid: #ffffff;--primary: #0ea5e9;--primary-rgb: 14, 165, 233;--primary-glow: rgba(14, 165, 233, .08);--text: #0f172a;--text-muted: #64748b;--border: rgba(0, 0, 0, .06);--border-glow: rgba(14, 165, 233, .2);--shadow-glow: 0 4px 20px rgba(0, 0, 0, .05)}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-main);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-header)}.glass{background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-glow);transition:var(--transition);padding:1.5rem}.glass-compact{padding:1.25rem}.glass-heavy{padding:2.25rem}.glass:hover{border-color:#ffffff1a}.card-gradient{position:relative;overflow:hidden}.card-gradient:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%);pointer-events:none}.app-container{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;margin-top:2rem}@keyframes pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:.8}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:slideUp .5s ease forwards}.text-gradient{background:linear-gradient(135deg,#fff 0%,var(--primary) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.animate-in{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.primary-glow{background:var(--primary-glow)}.success-glow{background:var(--success-glow)}.danger-glow{background:var(--danger-glow)}.text-danger{color:var(--danger)}.text-success{color:var(--primary)}.btn-primary{background:var(--primary);color:#000;padding:.8rem 1.5rem;border-radius:var(--radius);border:none;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px var(--primary-glow)}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text);padding:.8rem 1.5rem;border-radius:var(--radius);cursor:pointer;transition:all .2s}.btn-outline:hover{background:#ffffff0d}.dashboard-header{padding:3rem 0;text-align:left}.hero-title{font-size:4rem;font-weight:800;letter-spacing:-2px;margin-bottom:.5rem}.hero-subtitle{color:var(--text-muted);font-size:1.1rem;max-width:600px}.command-center{display:grid;grid-template-columns:repeat(12,1fr);gap:1.5rem;margin-bottom:4rem}.span-8{grid-column:span 8}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:span 12}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.section-header h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--primary);font-weight:700}.section-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.brand{display:flex;align-items:center;gap:.75rem}.brand h2{font-weight:700;letter-spacing:-1px}.status-badge{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;padding:4px 12px;border-radius:20px;font-size:.7rem;letter-spacing:1px;color:var(--text-muted)}.pulse{width:6px;height:6px;background:var(--primary);border-radius:50%;box-shadow:0 0 10px var(--primary);animation:pulse 2s infinite}.section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);margin-bottom:1rem}.countdown-card{padding:2.5rem;text-align:center;display:flex;flex-direction:column;gap:2rem;position:relative;overflow:hidden}.days-number{font-size:6rem;font-weight:700;line-height:1;font-family:var(--font-header)}.days-label{font-size:.75rem;color:var(--text-muted);letter-spacing:4px;margin-top:.5rem}.critical .days-number{color:var(--danger);text-shadow:0 0 30px var(--danger-glow)}.warning .days-number{color:var(--warning)}.healthy .days-number{color:var(--primary);text-shadow:0 0 30px var(--primary-glow)}.input-group{display:flex;flex-direction:column;gap:1rem}.outlier-badge{display:flex;align-items:center;gap:.6rem;font-size:.65rem;font-weight:600;color:var(--primary);background:rgba(var(--primary-rgb),.1);padding:.6rem .9rem;border-radius:10px;border:1px solid var(--border-glow);cursor:pointer;transition:var(--transition)}.outlier-badge:hover{background:rgba(var(--primary-rgb),.2);transform:translateY(-1px)}.math-breakdown{border:1px solid var(--border-glow);background:rgba(var(--primary-rgb),.03);border-radius:16px;padding:1.5rem}.math-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:1.5rem;text-align:center}.math-item{display:flex;flex-direction:column;gap:.5rem}.math-val{font-size:1.5rem;font-weight:700;font-family:var(--font-mono)}.math-op{color:var(--text-muted);font-size:1.25rem;font-weight:300}.gap-4{gap:1rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.analytics-layout{display:flex;align-items:center;gap:2rem;margin-top:1rem}.category-legend{display:flex;flex-direction:column;gap:1rem;flex:1}.legend-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#ffffff05;border-radius:12px;border:1px solid var(--border);transition:var(--transition)}.legend-item:hover{background:var(--primary-glow);transform:translate(5px)}.legend-item .dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 10px currentColor}.cat-name{flex:1;font-size:.9rem;font-weight:500}.cat-val{font-family:var(--font-data);font-weight:700;color:var(--primary)}.audit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.text-lg{font-size:1.125rem}.mb-6{margin-bottom:1.5rem}.mt-8{margin-top:2rem}.h-full{height:100%}.balance-input{margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1rem}.balance-input input{background:#ffffff0d;border:1px solid var(--border);padding:1.25rem;border-radius:12px;color:var(--primary);font-size:2.5rem;font-weight:800;width:100%;font-family:var(--font-data)}.upload-zone{text-align:center;border-style:dashed;cursor:pointer;min-height:200px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border)}.upload-zone:hover{border-color:var(--primary);background:#22c55e0d}.upload-label{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-muted)}.upload-label span{font-size:1.1rem;font-weight:700;color:var(--text)}.runway-container{padding:2rem;margin-bottom:2rem;min-height:250px}.chart-wrapper{height:200px;width:100%}.strategy-grid{display:flex;flex-direction:column;gap:1rem}.strategy-card{padding:1.5rem;border-left:4px solid var(--danger)}.impact-badge{background:var(--danger-glow);color:var(--danger);padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:700}.audit-list{display:flex;flex-direction:column;gap:.75rem}.audit-item{display:flex;justify-content:space-between;font-size:.95rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.audit-desc{color:var(--text);font-weight:500}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#050505e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;align-items:center;justify-content:center;text-align:center}.loader-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.loader-content h3{font-size:1.5rem;letter-spacing:2px}.loader-content p{color:var(--text-muted);font-size:.9rem}.icon-spin{animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.days-number{font-size:4rem}}.sub-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background:#ffffff08;border-radius:12px;margin-bottom:.5rem;border:1px solid var(--border);font-size:.85rem}.sub-name{font-weight:600;color:var(--text-muted)}.sub-amount{font-family:var(--font-mono);color:var(--primary);font-weight:700}.leak-val{font-size:2.5rem;font-weight:800;font-family:var(--font-mono);color:var(--warning);margin-bottom:.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1100;display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content{width:100%;max-width:500px;max-height:80vh;overflow-y:auto;background:var(--surface-solid);border:1px solid var(--primary);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:0 0 50px #00f2fe33}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-close{cursor:pointer;color:var(--text-muted);transition:var(--transition)}.modal-close:hover{color:var(--danger)}.modal-title{font-size:1.25rem;font-weight:700;letter-spacing:1px;color:var(--primary)}.outlier-list{display:flex;flex-direction:column;gap:1rem}.outlier-item{display:flex;justify-content:space-between;padding:1rem;background:#ffffff0d;border-radius:12px;border:1px solid var(--border)}.outlier-date{font-size:.75rem;color:var(--text-muted);font-family:var(--font-mono)}.outlier-amt{font-weight:700;color:var(--primary);font-family:var(--font-mono)}
