@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg-base:#0a0a0c;--color-bg-surface:#ffffff08;--color-bg-surface-hover:#ffffff0f;--color-bg-elevated:#1e1e2399;--color-text-primary:#f0f0f2;--color-text-secondary:#a0a0a5;--color-text-muted:#6b6b70;--color-accent-primary:#6ee7b7;--color-accent-primary-dim:#6ee7b726;--color-accent-secondary:#818cf8;--color-danger:#f87171;--color-warning:#fbbf24;--color-success:#34d399;--font-family-main:"Inter", system-ui, -apple-system, sans-serif;--border-subtle:1px solid #ffffff14;--shadow-glow:0 0 20px #6ee7b71a;--shadow-glass:0 8px 32px 0 #0000004d;--backdrop-blur:blur(16px);--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:24px;--transition-fast:.15s ease;--transition-smooth:.3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-main);background-color:var(--color-bg-base);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--color-text-primary);font-weight:600;line-height:1.2}button{cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:var(--color-accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-text-primary)}.glass-panel{background:var(--color-bg-surface);-webkit-backdrop-filter:var(--backdrop-blur);border:var(--border-subtle);border-radius:var(--border-radius-md);box-shadow:var(--shadow-glass)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}.login-container{justify-content:center;align-items:center;min-height:calc(100vh - 160px);padding:2rem;display:flex}.login-card{text-align:center;width:100%;max-width:440px;padding:3rem}.login-card h2{background:linear-gradient(135deg, var(--color-text-primary), var(--color-accent-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.25rem}.login-card .subtitle{margin-bottom:2.5rem;font-size:1rem}.google-btn{justify-content:center;align-items:center;gap:.75rem;width:100%;padding:.85rem;font-size:1.1rem;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-bg-base);border-radius:var(--border-radius-lg);border:1px solid #ffffff1a;width:90%;max-width:450px;padding:2rem;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;box-shadow:0 20px 40px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h3{margin:0;font-size:1.5rem}.close-btn{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:2rem;line-height:1}.close-btn:hover{color:var(--color-text-primary)}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--color-text-secondary);margin-bottom:.5rem;font-size:.9rem;display:block}.form-group input,.form-group select{border-radius:var(--border-radius-sm);width:100%;color:var(--color-text-primary);background:#ffffff0d;border:1px solid #ffffff1a;padding:.75rem;font-size:1rem}.form-group input:focus,.form-group select:focus{border-color:var(--color-accent-primary);background:#ffffff14;outline:none}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:2rem;display:flex}.btn-secondary{color:var(--color-text-secondary);border:1px solid var(--color-text-muted);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);background-color:#0000;padding:.5rem 1.25rem;font-weight:500}.btn-secondary:hover{color:var(--color-text-primary);background-color:#ffffff0d}.dashboard-container{padding-bottom:6rem;animation:.5s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{margin-bottom:3rem}.dashboard-header h2{margin-bottom:1.5rem;font-size:2rem}.summary-card{text-align:center;background:linear-gradient(180deg, var(--color-bg-surface) 0%, #6ee7b70d 100%);border:1px solid #6ee7b733;padding:2.5rem}.summary-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;font-size:.85rem;font-weight:600}.summary-amount{background:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #6ee7b766);-webkit-background-clip:text;margin-bottom:.5rem;font-size:4.5rem;font-weight:700}.summary-subtext{color:var(--color-text-muted);font-size:.9rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.btn-small{padding:.4rem 1rem;font-size:.9rem}.envelopes-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.envelope-card{transition:transform .4s cubic-bezier(.34, 1.56, .64, 1), box-shadow var(--transition-fast), background var(--transition-fast);padding:1.5rem}.envelope-card:hover{background:var(--color-bg-surface-hover);transform:translateY(-4px)scale(1.02);box-shadow:0 12px 40px #0006,inset 0 0 0 1px #ffffff1a}.envelope-header{justify-content:space-between;align-items:baseline;margin-bottom:1rem;display:flex}.envelope-header h4{font-size:1.1rem;font-weight:500}.progress-bar-bg{background-color:#ffffff1a;border-radius:4px;height:8px;margin-bottom:.75rem;overflow:hidden}.progress-bar-fill{border-radius:4px;height:100%;transition:width 1.2s cubic-bezier(.34,1.56,.64,1),background-color .3s}.progress-bar-fill.over{box-shadow:0 0 10px var(--color-danger)}.envelope-remaining{color:var(--color-text-secondary);text-align:right;font-size:.85rem}.over-budget{color:var(--color-danger);font-weight:600}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.fab-button{background:linear-gradient(135deg, var(--color-accent-primary), var(--color-accent-secondary));color:var(--color-bg-base);transition:transform .3s cubic-bezier(.34, 1.56, .64, 1), box-shadow var(--transition-fast);cursor:pointer;border:none;border-radius:30px;padding:1rem 2rem;font-size:1.1rem;font-weight:700;animation:4s ease-in-out infinite float;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 25px #6ee7b766}.fab-button:hover{animation-play-state:paused;transform:scale(1.08)translateY(-2px);box-shadow:0 15px 35px #6ee7b799}.dashboard-header-content{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.dashboard-header-actions{flex-wrap:wrap;gap:.75rem;display:flex}@media (width<=768px){.dashboard-header-content{flex-direction:column;align-items:flex-start}.dashboard-header-actions{justify-content:flex-start;width:100%}.summary-amount{font-size:3.5rem}.summary-card{padding:1.5rem}}.app-container{max-width:1200px;margin:0 auto;padding:2rem}.app-header{z-index:100;justify-content:space-between;align-items:center;margin-bottom:4rem;padding:1.25rem 2rem;display:flex;position:sticky;top:1rem}.app-header h1{background:linear-gradient(135deg, var(--color-text-primary), var(--color-accent-primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem}.btn-primary{background-color:var(--color-accent-primary-dim);color:var(--color-accent-primary);border:1px solid var(--color-accent-primary);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);padding:.5rem 1.25rem;font-weight:500}.btn-primary:hover{background-color:var(--color-accent-primary);color:var(--color-bg-base);box-shadow:var(--shadow-glow)}.hero-section{text-align:center;padding:4rem 0}.hero-section h2{letter-spacing:-.04em;margin-bottom:1rem;font-size:3.5rem}.subtitle{color:var(--color-text-secondary);max-width:600px;margin:0 auto;font-size:1.25rem}@media (width<=768px){.app-container{padding:1rem}.app-header{flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1rem;position:static}.app-header nav{justify-content:center;width:100%;display:flex}}
