@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary-color: #646cff;--primary-hover: #535bf2;--bg-color: #f3f4f6;--sidebar-bg: #ffffff;--text-color: #1f2937;--text-secondary: #6b7280;--border-color: #e5e7eb;--success-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--input-bg: #ffffff;--card-bg: #ffffff}[data-theme=dark]{--primary-color: #818cf8;--primary-hover: #6366f1;--bg-color: #111827;--sidebar-bg: #1f2937;--text-color: #f9fafb;--text-secondary: #9ca3af;--border-color: #374151;--success-color: #34d399;--danger-color: #f87171;--warning-color: #fbbf24;--input-bg: #374151;--card-bg: #1f2937}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,sans-serif;background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased}button{cursor:pointer;transition:all .2s;font-family:inherit}.auth-container{max-width:400px;margin:80px auto;padding:2.5rem;background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000000d;text-align:center}.auth-logo{width:80px;margin-bottom:1rem}.auth-container h2{font-size:1.5rem;margin-bottom:1.5rem;color:#111827}.form-group{margin-bottom:1.25rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;background-color:#fff;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a}.primary-btn,button[type=submit]{background-color:var(--primary-color);color:#fff;padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;width:100%;font-size:1rem}.primary-btn:hover,button[type=submit]:hover{background-color:var(--primary-hover)}.primary-btn:disabled,button[type=submit]:disabled{opacity:.7;cursor:not-allowed}html,body,#root{height:100%;overflow:hidden}.dashboard-layout{display:flex;width:100%;height:100%;background-color:var(--bg-color)}.sidebar{width:250px;background:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;z-index:50;position:relative}.sidebar.collapsed{width:70px}.sidebar-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid var(--border-color);overflow:hidden}.brand{display:flex;align-items:center;gap:.75rem;overflow:hidden;white-space:nowrap;flex:1}.logo-icon{width:32px;height:32px;flex-shrink:0}.logo-text{font-weight:700;font-size:1.25rem;color:#111827;white-space:nowrap;opacity:1;transition:opacity .2s}.sidebar.collapsed .logo-text{opacity:0;pointer-events:none}.collapse-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:4px;flex-shrink:0}.collapse-btn:hover{background:#f3f4f6}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);font-weight:500;text-align:left;transition:all .2s;white-space:nowrap;overflow:hidden}.nav-item:hover{background:#f9fafb;color:var(--text-color)}.nav-item.active{background:#eff6ff;color:var(--primary-color)}.nav-item.logout{color:var(--danger-color)}.nav-item.logout:hover{background:#fef2f2}.nav-icon{font-size:1.25rem;min-width:24px;display:flex;justify-content:center}.nav-label{opacity:1;transition:opacity .2s}.sidebar.collapsed .nav-label{opacity:0;display:none}.nav-group{display:flex;flex-direction:column}.submenu{display:flex;flex-direction:column;gap:.25rem;padding-left:1rem;margin-top:.25rem}.submenu-item{padding:.5rem 1rem!important;font-size:.9rem}.expand-icon{margin-left:auto;font-size:.7rem;transition:transform .2s}.main-content-wrapper{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;z-index:10;background-color:var(--bg-color);min-width:0}.dashboard-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem 1.5rem;scroll-behavior:smooth}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 2rem;scroll-behavior:smooth;min-height:0}.top-navbar{height:64px;background:#fff;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;flex-shrink:0}.navbar-right{display:flex;align-items:center;gap:1.5rem}.search-bar{display:flex;align-items:center;background:#f3f4f6;padding:.5rem 1rem;border-radius:99px;gap:.5rem}.search-bar input{border:none;background:transparent;outline:none;font-size:.9rem;width:150px}@media(max-width:768px){.dashboard-layout{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border-color);display:none}.brand{max-width:200px}.sidebar.collapsed{width:100%}.main-content-wrapper{margin-bottom:60px}.logo-text{font-size:1rem}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;min-height:40px}.section-header button{width:auto}.widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.card-header h3{margin:0;font-size:1.1rem;color:#111827}.badge{font-size:.75rem;padding:.25rem .5rem;border-radius:9999px;background:#f3f4f6;color:#4b5563;font-weight:600;text-transform:uppercase}.badge.bank{background:#dbeafe;color:#1e40af}.badge.investment{background:#d1fae5;color:#065f46}.badge.credit_card{background:#fee2e2;color:#991b1b}.amount{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:#111827}.institution{color:var(--text-secondary);font-size:.875rem;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid var(--border-color)}.stat-card h3{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;margin:0;color:var(--primary-color)}.table-container{background:#fff;border-radius:12px;border:1px solid var(--border-color);overflow:hidden;box-shadow:0 1px 2px #0000000d}.transaction-table{width:100%;border-collapse:collapse}.transaction-table th{background:#f9fafb;padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.transaction-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);color:#374151;font-size:.9rem}.transaction-table tr:last-child td{border-bottom:none}.transaction-table tr:hover{background-color:#f9fafb}.income{color:var(--success-color);font-weight:600}.expense{color:var(--text-color);font-weight:600}.category-tag{background:#f3f4f6;padding:.25rem .75rem;border-radius:9999px;font-size:.85rem;color:#4b5563}.symbol{font-weight:600;color:#111827;background:#eef2ff;padding:.25rem .5rem;border-radius:4px}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;justify-content:center;align-items:center;z-index:100;animation:fadeIn .2s ease-in-out}.modal{background:#fff;padding:2rem;border-radius:16px;width:440px;max-width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal h3{margin-top:0;font-size:1.25rem;color:#111827;margin-bottom:1.5rem}.modal-actions{margin-top:2rem;display:flex;justify-content:flex-end;gap:1rem}.modal-actions button[type=button]{background:#fff;border:1px solid var(--border-color);color:#374151;width:auto}.modal-actions button[type=submit]{width:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-in-out}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary);font-style:italic}.account-table{width:100%;border-collapse:collapse}.account-table th{background:#f9fafb;padding:1rem 1.5rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.account-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);color:#374151;font-size:.9rem;vertical-align:middle}.account-table tr:last-child td{border-bottom:none}.account-table tr:hover{background-color:#f9fafb}.disabled-row{opacity:.6;background-color:#fdf2f8}.badge-active{background:#d1fae5;color:#065f46}.badge-disabled{background:#f3f4f6;color:#9ca3af}.actions-cell{display:flex;gap:.5rem}.icon-btn{background:none;border:none;font-size:1.1rem;padding:.25rem;border-radius:4px;cursor:pointer;transition:transform .1s,background-color .1s}.icon-btn:hover{background-color:#e5e7eb;transform:scale(1.1)}.delete-btn:hover{background-color:#fee2e2}.status-btn:hover{background-color:#fef3c7}.view-transaction-content{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.detail-row{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.detail-row label{font-weight:600;color:var(--text-secondary)}.detail-row span,.detail-row a{color:#374151}.attachment-link{color:#3b82f6;text-decoration:none;transition:color .2s}.attachment-link:hover{color:#2563eb;text-decoration:underline}.badge-income{background:#d1fae5;color:#065f46}.badge-expense{background:#fee2e2;color:#991b1b}.view-btn{background:none;color:#3b82f6}.view-btn:hover{background-color:#dbeafe;transform:scale(1.1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.modal-header h3{margin:0}.close-btn{background:none;border:none;font-size:1.5rem;padding:0;color:var(--text-secondary);line-height:1}.close-btn:hover{color:var(--text-color);background:none}.type-selection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.type-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;background:#f9fafb;border:1px solid var(--border-color);border-radius:12px;transition:all .2s;height:140px}.type-card:hover{background:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #646cff26;transform:translateY(-2px)}.type-card .icon{font-size:2.5rem}.type-card span:last-child{font-weight:600;color:var(--text-color)}.back-btn{background:#fff;border:1px solid var(--border-color);color:var(--text-secondary);padding:.75rem 1.5rem;border-radius:6px}.relative{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;margin:4px 0 0;padding:0;list-style:none;z-index:50;max-height:200px;overflow-y:auto}.search-results li{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f3f4f6;font-size:.9rem;display:flex;flex-direction:column}.search-results li strong{color:#111827}.search-results li:last-child{border-bottom:none}.search-results li:hover{background-color:#f9fafb;color:var(--primary-color)}.investment-row:hover{background-color:#f8fafc}.expand-icon{font-size:.8rem;color:#9ca3af;display:inline-block;transition:transform .2s;width:16px;text-align:center}.expand-icon.open{transform:rotate(90deg);color:var(--primary-color)}.details-row td{padding:0!important;background-color:#f9fafb;border-bottom:1px solid var(--border-color)}.nested-table-container{padding:1rem 2rem;border-left:4px solid var(--primary-color)}.nested-table{width:100%;font-size:.9rem;border-collapse:collapse}.nested-table th{text-align:left;color:#6b7280;font-weight:500;padding:.5rem;border-bottom:1px solid var(--border-color)}.nested-table td{padding:.5rem;color:#374151;border-bottom:1px dashed #e5e7eb}.nested-table tr:last-child td{border-bottom:none}.action-btn{background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:.85rem;font-weight:500;transition:all .2s ease;text-decoration:none;display:inline-block;white-space:nowrap}.action-btn.edit{color:#2563eb;background-color:#eff6ff;border:1px solid #dbeafe}.action-btn.edit:hover{background-color:#dbeafe;color:#1e40af}.action-btn.sell{color:#d97706;background-color:#fffbeb;background:#fef3c7;color:#92400e}.action-btn.sell:hover{background:#fde68a}.action-btn.history{background:#dbeafe;color:#1e40af}.action-btn.history:hover{background:#bfdbfe}.action-btn.delete{color:#dc2626;background-color:#fef2f2;border:1px solid #fee2e2}.action-btn.delete:hover{background-color:#fee2e2;color:#991b1b}.actions{display:flex;gap:8px;align-items:center}.inv-dashboard{background:#fff;border-radius:12px;border:1px solid var(--border-color);padding:1.5rem;margin-bottom:2rem;box-shadow:0 1px 3px #0000000d}.inv-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #f3f4f6}.inv-header-row h3{margin:0;color:#111827;font-size:1.25rem}.inv-portfolio-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;cursor:pointer;transition:all .2s}.inv-portfolio-summary.active,.inv-portfolio-summary:hover{background:#fff;border-color:var(--primary-color);box-shadow:0 4px 6px -1px #0000001a}.summary-left{display:flex;flex-direction:column}.summary-left .label{font-size:.75rem;color:#64748b;font-weight:600;margin-bottom:.25rem;letter-spacing:.05em}.summary-left .main-value{font-size:2.25rem;font-weight:800;color:#0f172a;line-height:1}.summary-left .curr{font-size:1rem;color:#94a3b8;font-weight:500;margin-left:4px}.summary-right .gain-box{padding:.5rem 1rem;border-radius:8px;font-weight:600;font-size:1.1rem;display:flex;align-items:center;gap:8px}.gain-box.pos{background:#dcfce7;color:#166534}.gain-box.neg{background:#fee2e2;color:#991b1b}.gain-box .percent{font-size:.9rem;opacity:.9}.inv-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.inv-cat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:all .2s;position:relative;overflow:hidden}.inv-cat-card:hover{transform:translateY(-2px);border-color:#cbd5e1}.inv-cat-card.active{border-color:var(--primary-color);background:#eff6ff;box-shadow:0 4px 6px -1px #2563eb1a}.cat-icon{font-size:1.5rem;background:#f1f5f9;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin-bottom:.5rem}.inv-cat-card.active .cat-icon{background:#fff}.cat-info{display:flex;flex-direction:column}.cat-name{font-size:.85rem;color:#64748b;font-weight:600}.cat-value{font-size:1.25rem;font-weight:700;color:#0f172a}.cat-gain{font-size:.85rem;font-weight:600}.cat-gain.pos{color:#16a34a}.cat-gain.neg{color:#dc2626}@media(max-width:768px){.inv-category-grid{grid-template-columns:repeat(2,1fr)}}.floating-label-group{position:relative;margin-bottom:.5rem}.floating-label-group input,.floating-label-group select{width:100%;padding:1.25rem .75rem .5rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background-color:var(--input-bg);color:var(--text-color);transition:all .2s;box-sizing:border-box;height:56px;appearance:none}.floating-label-group label{position:absolute;top:1rem;left:.75rem;font-size:1rem;color:var(--text-secondary);transition:all .2s ease-in-out;pointer-events:none;background-color:transparent}.floating-label-group input:focus,.floating-label-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a}.floating-label-group input:focus~label,.floating-label-group input:not(:placeholder-shown)~label,.floating-label-group select:focus~label,.floating-label-group select:not([value=""])~label{top:.25rem;font-size:.75rem;color:var(--primary-color);font-weight:600}.helper-text{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;margin-bottom:1.25rem;margin-left:.25rem}.primary-btn,button[type=submit]{min-height:48px;font-size:1rem;font-weight:600;border-radius:8px}.tooltip-container{position:relative;display:inline-flex;align-items:center;margin-left:.5rem;cursor:pointer}.info-icon{font-size:.9rem;color:var(--text-secondary);transition:color .2s}.info-icon:hover{color:var(--primary-color)}.tooltip-text{visibility:hidden;width:200px;background-color:var(--card-bg);color:var(--text-color);text-align:center;border-radius:6px;padding:.5rem;position:absolute;z-index:10;bottom:125%;left:50%;margin-left:-100px;opacity:0;transition:opacity .3s;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--border-color);font-size:.8rem;font-weight:400;pointer-events:none}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}@media(max-width:768px){.charts-grid{grid-template-columns:1fr}}.mobile-nav,.fab-btn{display:none}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:1rem;padding-bottom:80px;width:100%}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top:1px solid var(--border-color);padding:.5rem;justify-content:space-around;z-index:50;box-shadow:0 -2px 10px #0000000d}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;background:none;border:none;color:var(--text-secondary);font-size:.75rem;gap:.25rem;padding:.5rem;cursor:pointer;transition:color .2s}.mobile-nav-item.active{color:var(--primary-color)}.mobile-nav-icon{font-size:1.25rem}.mobile-nav-label{font-size:.7rem;font-weight:500}.nav-icon{font-size:1.25rem}.fab-btn{display:flex;align-items:center;justify-content:center;position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--primary-color);color:#fff;box-shadow:0 4px 6px #0003;font-size:1.5rem;border:none;z-index:51;cursor:pointer;transition:transform .2s}.fab-btn:hover{transform:scale(1.1)}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-header>div{width:100%;display:flex;justify-content:space-between;align-items:center}}.user-dropdown-container{position:relative}.user-profile-trigger{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--border-color);padding:.35rem .5rem .35rem .35rem;border-radius:99px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.user-profile-trigger:hover,.user-profile-trigger:focus{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 4px #0000000d;outline:none}.avatar-circle{width:32px;height:32px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;overflow:hidden;box-shadow:inset 0 2px 4px #0000001a;text-shadow:0 1px 2px rgba(0,0,0,.1)}.user-name-label{font-size:.875rem;font-weight:500;color:var(--text-color);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font-size:.65rem;color:var(--text-secondary);margin-right:.25rem;transition:transform .2s}.user-profile-trigger:hover .chevron{color:var(--text-color)}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;width:240px;background:#fff;border:1px solid rgba(229,231,235,1);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #00000005;padding:.5rem;z-index:100;display:flex;flex-direction:column;animation:slideDownFade .2s ease-out;transform-origin:top right}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{padding:1rem;display:flex;flex-direction:column;background:#f9fafb;margin:-.5rem -.5rem .5rem;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom:1px solid var(--border-color)}.dropdown-header strong{font-size:.95rem;color:#111827}.dropdown-header small{font-size:.8rem;color:#6b7280;margin-top:.1rem}.dropdown-menu hr{margin:.25rem 0;border:none;border-top:1px solid var(--border-color)}.dropdown-item{text-align:left;background:none;border:none;padding:.75rem 1rem;font-size:.9rem;color:#374151;border-radius:8px;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.75rem;width:100%;font-weight:500}.dropdown-item:hover{background:#f3f4f6;color:var(--primary-color)}.dropdown-item.danger{color:var(--danger-color)}.dropdown-item.danger:hover{background:#fef2f2;color:#991b1b}.breadcrumb{display:flex;align-items:center;gap:.5rem;padding:.75rem 0;font-size:.9rem;margin-bottom:1rem}.breadcrumb-link{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:0;font-size:.9rem;transition:opacity .2s}.breadcrumb-link:hover{opacity:.7;text-decoration:underline}.breadcrumb-separator{color:var(--text-secondary);-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-color);font-weight:500}.wizard-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.wizard-modal{background:#fff;border-radius:16px;width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.wizard-header{padding:2rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.wizard-header h1{margin:0;font-size:1.5rem;color:var(--text-color)}.wizard-close{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:4px}.wizard-close:hover{background:#f3f4f6}.wizard-steps{display:flex;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:#f9fafb}.wizard-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;position:relative}.wizard-step:not(:last-child):after{content:"";position:absolute;top:15px;left:60%;right:-40%;height:2px;background:#e5e7eb;z-index:0}.wizard-step.completed:not(:last-child):after{background:var(--primary-color)}.step-number{width:32px;height:32px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--text-secondary);z-index:1;transition:all .3s}.wizard-step.active .step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.wizard-step.completed .step-number{background:var(--success-color);border-color:var(--success-color);color:#fff}.step-label{font-size:.75rem;color:var(--text-secondary);font-weight:500}.wizard-step.active .step-label{color:var(--primary-color);font-weight:600}.wizard-content{padding:2rem;flex:1;overflow-y:auto}.wizard-content h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-color)}.wizard-subtitle{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.95rem}.wizard-loading{padding:3rem;text-align:center;color:var(--text-secondary)}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.category-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:2rem;cursor:pointer;transition:all .2s;text-align:center}.category-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.category-card.selected{border-color:var(--primary-color);background:#eff6ff}.category-icon{font-size:3rem;margin-bottom:1rem}.category-card h3{margin:0 0 .5rem;color:var(--text-color)}.category-card p{margin:0;color:var(--text-secondary);font-size:.9rem}.type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.type-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s;text-align:center}.type-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.type-card.selected{border-color:var(--primary-color);background:#eff6ff}.type-icon{font-size:2.5rem;margin-bottom:.75rem}.type-card h3{margin:0 0 .5rem;font-size:1rem;color:var(--text-color)}.type-card p{margin:0;color:var(--text-secondary);font-size:.85rem;line-height:1.4}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-row{display:flex;gap:1.5rem;width:100%}.form-group.half-width{flex:1}.form-group-divider{grid-column:1 / -1;margin-top:1rem;margin-bottom:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.form-group-divider h4{margin:0;color:var(--primary-color);font-size:1rem;font-weight:600}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:.5rem;font-weight:500;color:var(--text-color);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646cff1a}.form-group textarea{resize:vertical;font-family:inherit}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.review-section{background:#f9fafb;border-radius:8px;padding:1.5rem}.review-section.full-width{grid-column:1 / -1}.review-section h3{margin:0 0 1rem;font-size:1rem;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.review-item{display:flex;justify-content:space-between;margin-bottom:.75rem}.review-item:last-child{margin-bottom:0}.review-label{color:var(--text-secondary);font-size:.9rem}.review-value{color:var(--text-color);font-weight:500;font-size:.9rem}.review-notes{margin:0;color:var(--text-color);line-height:1.6;font-size:.9rem}.wizard-actions{padding:1.5rem 2rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;gap:1rem}.wizard-btn-primary,.wizard-btn-secondary{padding:.75rem 2rem;border-radius:6px;font-weight:500;font-size:1rem;cursor:pointer;transition:all .2s;border:none}.wizard-btn-primary{background:var(--primary-color);color:#fff}.wizard-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.wizard-btn-primary:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-secondary{background:#fff;color:var(--text-color);border:1px solid var(--border-color)}.wizard-btn-secondary:hover{background:#f9fafb}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.wizard-modal{width:95%;max-height:95vh}.wizard-header{padding:1.5rem}.wizard-steps{padding:1rem}.step-label{display:none}.category-grid,.form-grid,.review-grid{grid-template-columns:1fr}.type-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.wizard-content{padding:1.5rem}.wizard-actions{padding:1rem 1.5rem}}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);display:flex;align-items:center;gap:1.5rem;transition:transform .2s,box-shadow .2s}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.summary-icon{font-size:3rem;flex-shrink:0}.summary-details{flex:1}.summary-details h3{margin:0 0 .5rem;font-size:.9rem;color:var(--text-secondary);font-weight:500}.summary-amount{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:var(--text-color)}.summary-count{font-size:.85rem;color:var(--text-secondary)}.summary-card.asset{border-left:4px solid var(--success-color)}.summary-card.liability{border-left:4px solid var(--danger-color)}.summary-card.networth{border-left:4px solid var(--primary-color)}.accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.filter-tabs{display:flex;gap:.5rem;background:#fff;padding:.25rem;border-radius:8px;border:1px solid var(--border-color)}.filter-tab{background:none;border:none;padding:.5rem 1.25rem;border-radius:6px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-tab:hover{background:#f3f4f6;color:var(--text-color)}.filter-tab.active{background:var(--primary-color);color:#fff}.add-account-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.add-account-btn:hover{background:var(--primary-hover)}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.account-card-new{background:#fff;border-radius:12px;border:1px solid var(--border-color);overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative}.account-card-new:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.account-card-new.closed{opacity:.7;background:#f9fafb}.account-card-header{padding:1.5rem 1.5rem .75rem;display:flex;justify-content:space-between;align-items:flex-start}.account-icon-large{font-size:2.5rem}.account-actions{display:flex;gap:.5rem}.action-btn{background:none;border:none;font-size:1.1rem;padding:.25rem;cursor:pointer;border-radius:4px;transition:background .2s}.action-btn:hover{background:#f3f4f6}.action-btn.danger:hover{background:#fee2e2}.account-card-body{padding:0 1.5rem 1rem}.account-name{margin:0 0 .75rem;font-size:1.25rem;color:var(--text-color)}.account-meta{display:flex;gap:.5rem;margin-bottom:.5rem}.category-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:12px;font-weight:600;text-transform:uppercase}.category-badge.asset{background:#d1fae5;color:#065f46}.category-badge.liability{background:#fee2e2;color:#991b1b}.account-type{font-size:.85rem;color:var(--text-secondary)}.institution-name,.account-subtype,.account-number{margin:.25rem 0;font-size:.9rem;color:var(--text-secondary)}.closed-badge{display:inline-block;background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-top:.5rem}.account-card-footer{padding:1rem 1.5rem;background:#f9fafb;border-top:1px solid var(--border-color)}.balance-section{display:flex;justify-content:space-between;align-items:center}.balance-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.balance-amount{font-size:1.25rem;font-weight:700;color:var(--text-color)}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;border:1px solid var(--border-color)}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--text-color)}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary)}.primary-btn{background:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background .2s}.primary-btn:hover{background:var(--primary-hover)}.loading-state{text-align:center;padding:3rem;color:var(--text-secondary)}@media(max-width:768px){.accounts-header{flex-direction:column;align-items:stretch}.filter-tabs{order:2}.add-account-btn{order:1;width:100%}.summary-cards,.accounts-grid{grid-template-columns:1fr}}.setup-header{margin-bottom:2rem}.setup-header h1{margin:0 0 .5rem;font-size:2rem;color:var(--text-color)}.setup-subtitle{margin:0;color:var(--text-secondary);font-size:1rem}.setup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.setup-card{background:#fff;border:2px solid var(--border-color);border-radius:12px;padding:2rem;display:flex;align-items:center;gap:1.5rem;cursor:pointer;transition:all .2s;text-align:left;position:relative}.setup-card:not(.disabled):hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.setup-card.disabled{opacity:.6;cursor:not-allowed}.setup-card-icon{font-size:3rem;flex-shrink:0}.setup-card-content{flex:1}.setup-card-content h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-color)}.setup-card-content p{margin:0;color:var(--text-secondary);font-size:.9rem}.setup-card-arrow{font-size:1.5rem;color:var(--primary-color);opacity:0;transition:opacity .2s}.setup-card:not(.disabled):hover .setup-card-arrow{opacity:1}.coming-soon-badge{position:absolute;top:1rem;right:1rem;background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}@media(max-width:768px){.setup-grid{grid-template-columns:1fr}.setup-card{padding:1.5rem}.setup-card-icon{font-size:2.5rem}}.category-search{position:relative;margin-bottom:2rem;max-width:500px}.category-search .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem}.category-search input{width:100%;padding:.75rem 1rem .75rem 3rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .2s}.category-search input:focus{outline:none;border-color:var(--primary-color)}.categories-container{display:flex;flex-direction:column;gap:2rem}.category-group{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.group-title{margin:0 0 1rem;font-size:1.25rem;color:var(--text-color);font-weight:600}.category-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.category-chip{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f4f6fa;border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:8px;transition:all .2s;cursor:default}.category-chip:hover{background:#e5e7eb;box-shadow:0 2px 4px #0000000d}.chip-icon{font-size:1.5rem;flex-shrink:0}.chip-name{font-size:.95rem;color:var(--text-color);font-weight:500}.loading-state,.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary)}.empty-state p{margin:0;font-size:1rem}@media(max-width:768px){.category-chips{grid-template-columns:1fr}.category-group{padding:1rem}.category-search{max-width:100%}}.audit-container{padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d}.audit-table{width:100%;border-collapse:collapse;margin-top:1rem}.audit-table th,.audit-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.audit-table th{font-weight:600;color:#666}.badge{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:600}.badge-green{background:#e6f4ea;color:#1e7e34}.badge-blue{background:#e8f0fe;color:#1967d2}.badge-red{background:#fce8e6;color:#c5221f}.badge-gray{background:#f1f3f4;color:#5f6368}.log-details{display:flex;flex-direction:column;font-size:.9rem}.category-chip-selector{display:flex;flex-direction:column;gap:1rem}.category-search-mini{position:relative;width:100%}.category-search-mini .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.9rem}.category-search-mini input{width:100%;padding:.5rem .5rem .5rem 2.25rem;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;background:var(--bg-color)}.chip-groups{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding-right:.25rem}.group-header{font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;display:flex;justify-content:space-between;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.chips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.chip-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f4f6fa;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s;text-align:left;width:100%}.chip-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.chip-btn.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.chip-btn.selected .chip-label{color:#fff}.chip-icon{font-size:1.1rem;flex-shrink:0}.chip-label{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-chips,.no-results{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9rem}.add-transaction-container{max-width:1000px;margin:0 auto;padding-bottom:2rem}.mode-switcher{display:flex;background:#f4f6fa;padding:.25rem;border-radius:12px;margin-bottom:2rem;width:fit-content}.mode-btn{padding:.75rem 2rem;border:none;border-radius:10px;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem;display:flex;align-items:center;gap:.5rem}.mode-btn.active.income{background:#fff;color:var(--success-color);box-shadow:0 2px 4px #0000000d}.mode-btn.active.expense{background:#fff;color:var(--error-color);box-shadow:0 2px 4px #0000000d}.transaction-form{background:#fff;border-radius:16px;padding:2rem;border:1px solid var(--border-color)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2rem}.form-column{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.95rem;font-weight:600;color:#1f2937;margin-bottom:.5rem;display:block}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-color);transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);background:#fff}.form-group input.error,.form-group select.error{border-color:var(--error-color)}.error-text{font-size:.85rem;color:var(--error-color)}.error-text.warning{color:#f59e0b}.amount-group{background:#f8fafc;padding:1.5rem;border-radius:12px;text-align:center}.amount-input-wrapper{display:flex;align-items:center;justify-content:center;gap:.5rem}.currency-symbol{font-size:1.5rem;font-weight:600;color:var(--text-secondary)}.amount-group input{font-size:2.5rem;font-weight:700;width:200px;border:none;background:transparent;text-align:center;padding:0;color:var(--text-color)}.amount-group input:focus{outline:none;background:transparent}.form-actions.sticky-bottom{position:sticky;bottom:0;background:#fff;padding-top:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem;z-index:10}.cancel-btn{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer}.submit-btn{padding:.75rem 2.5rem;border:none;border-radius:8px;font-weight:600;color:#fff;cursor:pointer;font-size:1rem;transition:background .2s}.submit-btn.income{background:#10b981}.submit-btn.expense{background:#ef4444}.submit-btn:disabled{opacity:.7;cursor:not-allowed}@media(max-width:768px){.form-grid{grid-template-columns:1fr;gap:1.5rem}.transaction-form{padding:1rem}.form-actions{position:fixed;bottom:0;left:0;right:0;padding:1rem;box-shadow:0 -4px 10px #0000000d}}#root{width:100%;height:100%;margin:0;padding:0;text-align:left}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
