@import url(https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@600;700&display=swap);html{color-scheme:dark light}html:not([data-theme]){--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-hover:#1a1a25;--header-bg:#0a0a0fd9;--card-bg:#12121acc;--card-shadow:0 8px 32px #0000004d;--input-bg:#0a0a0f;--code-bg:#6366f11a;--border-color:#ffffff14;--text-primary:#f5f5f7;--text-secondary:#a1a1aa;--text-muted:#52525b;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-tertiary:#ec4899;--accent-glow:#6366f133;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);--gradient-secondary:linear-gradient(135deg,#ec4899,#f43f5e);--error-bg:#ef44441a;--error-text:#ef4444;--success-bg:#10b9811a;--success-text:#10b981}body{margin:0;padding:0}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-theme{position:absolute;right:20px;top:20px;z-index:10}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--card-shadow);max-width:420px;padding:48px;position:relative;width:100%;z-index:5}.login-header{margin-bottom:40px;text-align:center}.login-logo{align-items:center;background:var(--gradient-primary);border-radius:20px;box-shadow:0 8px 32px #6366f14d;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.login-header h1{color:var(--text-primary);font-family:Playfair Display,serif;font-size:2rem;font-weight:700;margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:.95rem}.login-form{gap:24px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-group input{background:var(--input-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem;padding:14px 18px;transition:all .2s ease}.form-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-glow);outline:none}.form-group input::placeholder{color:var(--text-muted)}.error-message{background:var(--error-bg);border-radius:10px;color:var(--error-text);font-size:.875rem;padding:12px 16px;text-align:center}.login-btn{background:var(--gradient-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:8px;padding:16px 24px;transition:all .2s ease}.login-btn:hover:not(:disabled){box-shadow:0 8px 24px #6366f166;transform:translateY(-2px)}.login-btn:disabled{cursor:not-allowed;opacity:.7}.login-footer{border-top:1px solid var(--border-color);margin-top:32px;padding-top:24px;text-align:center}.login-footer p{color:var(--text-muted);font-size:.85rem}.login-footer code{background:var(--code-bg);border-radius:6px;color:var(--accent-primary);font-family:JetBrains Mono,monospace;padding:2px 8px}.link-button{background:none;border:none;color:var(--accent-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:0;text-decoration:underline;transition:color .2s ease}.link-button:hover{color:var(--accent-secondary)}.login-background{inset:0;overflow:hidden;pointer-events:none;position:absolute}.bg-shape{border-radius:50%;filter:blur(80px);opacity:.4;position:absolute}.shape-1{animation:float 8s ease-in-out infinite;background:var(--accent-primary);height:400px;right:-100px;top:-150px;width:400px}.shape-2{animation:float 10s ease-in-out infinite reverse;background:var(--accent-secondary);bottom:-100px;height:300px;left:-100px;width:300px}.shape-3{animation:pulse 6s ease-in-out infinite;background:var(--accent-tertiary);height:200px;left:50%;top:50%;transform:translate(-50%,-50%);width:200px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-30px) rotate(10deg)}}@keyframes pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.2)}}@media (max-width:480px){.login-card{padding:32px 24px}.login-header h1{font-size:1.75rem}}.dashboard{background:var(--bg-primary);min-height:100vh}.error-banner{align-items:center;animation:slideDown .3s ease;background:var(--error-bg);border-bottom:1px solid var(--error-text);color:var(--error-text);cursor:pointer;display:flex;justify-content:space-between;padding:12px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:200}.error-close{font-size:1.5rem;font-weight:700;margin-left:16px}.dashboard-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--header-bg);border-bottom:1px solid var(--border-color);justify-content:space-between;padding:20px 40px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:16px}.logo{align-items:center;background:var(--gradient-primary);border-radius:14px;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.header-left h1{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.5rem;margin:0}.header-left p{color:var(--text-secondary);font-size:.875rem;margin:0}.header-right{gap:12px}.header-right,.logout-btn{align-items:center;display:flex}.logout-btn{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;font-size:.875rem;gap:8px;padding:10px 20px;transition:all .2s ease}.logout-btn:hover{background:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.dashboard-main{margin:0 auto;max-width:1600px;padding:32px 40px}.wealth-overview{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 2fr;margin-bottom:40px}.total-wealth-card{background:var(--gradient-primary);border-radius:24px;box-shadow:0 8px 32px #6366f14d;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:200px;padding:32px}.wealth-label{font-size:.875rem;letter-spacing:.5px;opacity:.9;text-transform:uppercase}.wealth-amount{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700;margin:8px 0 16px}.wealth-change{align-items:center;border-radius:20px;display:flex;font-size:.9rem;gap:6px;padding:6px 12px;width:-webkit-fit-content;width:fit-content}.wealth-change.positive{background:#10b98133}.wealth-change.negative{background:#ef444433}.snapshot-btn{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;font-weight:500;padding:12px 20px;transition:all .2s ease}.snapshot-btn:hover{background:#ffffff4d}.wealth-breakdown{grid-gap:20px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:24px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:24px}.breakdown-item{background:var(--bg-secondary);border-radius:16px;padding:16px}.breakdown-label{color:var(--text-secondary);display:block;font-size:.8rem;margin-bottom:4px}.breakdown-value{color:var(--text-primary);display:block;font-size:1.1rem;font-weight:600;margin-bottom:12px}.breakdown-bar{background:var(--border-color);border-radius:3px;height:6px;overflow:hidden}.breakdown-fill{border-radius:3px;height:100%;transition:width .5s ease}.breakdown-item.orange .breakdown-fill{background:linear-gradient(90deg,#f59e0b,#f97316)}.breakdown-item.blue .breakdown-fill{background:linear-gradient(90deg,#3b82f6,#6366f1)}.breakdown-item.green .breakdown-fill{background:linear-gradient(90deg,#10b981,#14b8a6)}.breakdown-item.purple .breakdown-fill{background:linear-gradient(90deg,#8b5cf6,#a855f7)}.breakdown-item.teal .breakdown-fill{background:linear-gradient(90deg,#14b8a6,#06b6d4)}.breakdown-item.pink .breakdown-fill{background:linear-gradient(90deg,#ec4899,#f43f5e)}.breakdown-item.yellow .breakdown-fill{background:linear-gradient(90deg,#eab308,#f59e0b)}.portfolio-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-bottom:40px}.portfolio-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px;transition:all .2s ease}.portfolio-section:hover{box-shadow:var(--card-shadow)}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.section-title{gap:14px}.section-icon,.section-title{align-items:center;display:flex}.section-icon{border-radius:14px;color:#fff;height:48px;justify-content:center;width:48px}.portfolio-section.orange .section-icon{background:linear-gradient(135deg,#f59e0b,#f97316)}.portfolio-section.blue .section-icon{background:linear-gradient(135deg,#3b82f6,#6366f1)}.portfolio-section.green .section-icon{background:linear-gradient(135deg,#10b981,#14b8a6)}.portfolio-section.purple .section-icon{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.portfolio-section.teal .section-icon{background:linear-gradient(135deg,#14b8a6,#06b6d4)}.portfolio-section.pink .section-icon{background:linear-gradient(135deg,#ec4899,#f43f5e)}.portfolio-section.yellow .section-icon{background:linear-gradient(135deg,#eab308,#f59e0b)}.section-title h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.section-total{font-size:.9rem;margin:4px 0 0}.add-btn,.section-total{color:var(--text-secondary)}.add-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.add-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.add-form{animation:slideDown .2s ease;background:var(--bg-secondary);border-radius:14px;margin-bottom:20px;padding:16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-grid input,.form-grid select{background:var(--input-bg);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;padding:12px 14px}.form-grid input:focus,.form-grid select:focus{border-color:var(--accent-primary);outline:none}.form-grid input::placeholder{color:var(--text-muted)}.form-actions{display:flex;gap:10px;grid-column:1/-1;margin-top:8px}.submit-btn{background:var(--gradient-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;flex:1 1;font-weight:500;padding:12px;transition:all .2s ease}.submit-btn:hover{opacity:.9}.cancel-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;padding:12px 20px;transition:all .2s ease}.cancel-btn:hover{background:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.section-items{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.no-items{color:var(--text-muted);font-size:.875rem;padding:20px;text-align:center}.item-card{align-items:center;background:var(--bg-secondary);border-radius:12px;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s ease}.item-card:hover{background:var(--bg-hover)}.item-content{flex:1 1;min-width:0}.item-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.item-name{color:var(--text-primary);font-size:.9rem;font-weight:500}.item-amount{color:var(--text-secondary);font-size:.8rem}.item-value{color:var(--accent-primary);font-size:.95rem;font-weight:600}.item-details{color:var(--text-secondary);display:flex;font-size:.8rem;gap:12px}.item-meta{color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.75rem}.item-actions{align-items:center;display:flex;gap:4px}.delete-btn,.edit-btn{background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;opacity:0;padding:8px;transition:all .2s ease}.item-card:hover .delete-btn,.item-card:hover .edit-btn{opacity:1}.edit-btn:hover{background:var(--bg-hover);color:var(--accent-primary)}.delete-btn:hover{background:var(--error-bg);color:var(--error-text)}.wealth-history{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:24px}.wealth-history h3{color:var(--text-primary);font-size:1.1rem;margin-bottom:20px}.history-list{display:flex;flex-direction:column;gap:12px;max-height:200px;overflow-y:auto}.history-item{align-items:center;background:var(--bg-secondary);border-radius:10px;display:flex;justify-content:space-between;padding:12px 16px}.history-date{color:var(--text-secondary);font-size:.85rem}.history-value{color:var(--text-primary);font-weight:600}.history-list::-webkit-scrollbar,.section-items::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-track,.section-items::-webkit-scrollbar-track{background:#0000}.history-list::-webkit-scrollbar-thumb,.section-items::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.history-list::-webkit-scrollbar-thumb:hover,.section-items::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:1200px){.wealth-overview{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:16px;padding:16px 20px}.dashboard-main{padding:20px}.portfolio-grid{grid-template-columns:1fr}.wealth-amount{font-size:2rem}.form-grid{grid-template-columns:1fr}}:root{--font-primary:"Outfit",-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:"Playfair Display",Georgia,serif;--font-mono:"JetBrains Mono","Fira Code",monospace}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-hover:#1a1a25;--header-bg:#0a0a0fd9;--card-bg:#12121acc;--card-shadow:0 8px 32px #0000004d;--input-bg:#0a0a0f;--code-bg:#6366f11a;--border-color:#ffffff14;--text-primary:#f5f5f7;--text-secondary:#a1a1aa;--text-muted:#52525b;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-tertiary:#ec4899;--accent-glow:#6366f133;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);--gradient-secondary:linear-gradient(135deg,#ec4899,#f43f5e);--error-bg:#ef44441a;--error-text:#ef4444;--success-bg:#10b9811a;--success-text:#10b981}[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-hover:#f1f5f9;--header-bg:#f8fafce6;--card-bg:#fff;--card-shadow:0 4px 20px #00000014;--input-bg:#f8fafc;--code-bg:#6366f114;--border-color:#00000014;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#4f46e5;--accent-secondary:#7c3aed;--accent-tertiary:#db2777;--accent-glow:#4f46e526;--gradient-primary:linear-gradient(135deg,#4f46e5,#7c3aed 50%,#9333ea);--gradient-secondary:linear-gradient(135deg,#db2777,#e11d48);--error-bg:#ef444414;--error-text:#dc2626;--success-bg:#10b98114;--success-text:#059669}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-primary);line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}code{font-family:JetBrains Mono,Fira Code,monospace;font-family:var(--font-mono)}.theme-toggle{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .2s ease;width:44px}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--accent-primary);color:var(--accent-primary)}.loading-screen{align-items:center;background:var(--bg-primary);display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-primary);height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.loading-screen p{color:var(--text-secondary);font-size:.9rem}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-primary);color:#fff}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
/*# sourceMappingURL=main.566cab55.css.map*/