:root{--bg-primary: #0a0a1a;--bg-secondary: #10102a;--bg-tertiary: #181840;--surface: rgba(255,255,255,.06);--surface-hover: rgba(255,255,255,.1);--surface-active: rgba(255,255,255,.14);--surface-border: rgba(255,255,255,.1);--text-primary: #e8e8f0;--text-secondary: #9595b8;--text-muted: #9292bd;--control-border: #62628a;--focus-ring: #a9b7ff;--accent: #667eea;--accent2: #764ba2;--accent-gradient: linear-gradient(135deg, #667eea, #764ba2);--success: #43e97b;--success-dim: rgba(67,233,123,.12);--danger: #f5576c;--danger-dim: rgba(245,87,108,.12);--warning: #ffa726;--warning-dim: rgba(255,167,38,.12);--info: #4facfe;--info-dim: rgba(79,172,254,.12);--radius: 14px;--radius-sm: 8px;--radius-lg: 20px;--sidebar-expanded-w: 250px;--sidebar-compact-w: 72px;--sidebar-w: var(--sidebar-expanded-w);--month-1: #83b9ff;--month-2: #aaa7ff;--month-3: #58d68d;--month-4: #4fc3f7;--month-5: #f58ac6;--month-6: #ffcb47;--month-7: #ff8a65;--month-8: #e0ad5a;--month-9: #ef6c6c;--month-10: #e98242;--month-11: #a4b2c8;--month-12: #d7a6ff;--transition: .25s cubic-bezier(.4,0,.2,1);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 8px 32px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}body.sidebar-collapsed{--sidebar-w: var(--sidebar-compact-w)}a{color:var(--accent);text-decoration:none}input,select,textarea,button{font-family:inherit;font-size:inherit}.app-layout{display:flex;min-height:100vh}.hamburger{display:none;position:fixed;top:12px;left:12px;z-index:101;width:44px;height:44px;border:none;border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-primary);font-size:1.4rem;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all var(--transition)}.hamburger:hover{background:var(--surface-hover)}.hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#00000080;opacity:0;transition:opacity var(--transition)}.sidebar-overlay.active{display:block;opacity:1}body.sidebar-scroll-lock{overflow:hidden}.sidebar{width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--surface-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;transition:width var(--transition),transform var(--transition)}.sidebar-logo{padding:18px 12px;display:grid;grid-template-columns:40px minmax(0,1fr) 44px;align-items:center;gap:10px;min-height:80px;white-space:nowrap;overflow:hidden}.sidebar-logo .logo-icon{width:40px;height:40px;background:var(--accent-gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;min-width:0}.sidebar-logo h1{font-size:1.3rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;min-width:0;overflow:hidden}.sidebar-brand-name,.sidebar-label,.sidebar-section-title{transition:opacity var(--transition)}.sidebar-toggle{width:44px;height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;justify-self:end;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--transition),background var(--transition),border-color var(--transition)}.sidebar-toggle:hover{color:var(--text-primary);background:var(--surface-hover);border-color:var(--surface-border)}.sidebar-toggle-icon{display:inline-flex;align-items:center;justify-content:center}.sidebar-section{padding:8px 12px}.sidebar-section-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-muted);padding:8px 8px 4px;margin-bottom:2px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-size:.9rem;font-weight:500;border:none;background:none;width:100%;text-align:left;min-height:44px;white-space:nowrap}.sidebar-item:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-item.active{background:#667eea26;color:#fff;box-shadow:inset 3px 0 0 var(--accent)}.sidebar-item .item-icon{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;text-align:center}.sidebar-item .month-item-icon{width:32px;height:32px;flex-basis:32px;margin-left:-4px}.sidebar-item .month-num{font-size:.7rem;background:var(--surface);padding:2px 6px;border-radius:4px;margin-left:auto;color:var(--text-muted)}.sidebar-account{display:flex;align-items:center;gap:10px;min-height:52px;margin:6px 0;padding:6px 14px;border-top:1px solid var(--surface-border);color:var(--text-secondary);min-width:0}.sidebar-account>.item-icon{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center}.sidebar-account-copy{display:grid;min-width:0;line-height:1.25}.sidebar-account-copy strong,.sidebar-account-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-copy strong{color:var(--text-primary);font-size:.8rem}.sidebar-account-copy small{color:var(--text-muted);font-size:.72rem}.main-content{margin-left:var(--sidebar-w);flex:1;padding:32px 36px;min-height:100vh;background:radial-gradient(ellipse at top right,rgba(102,126,234,.06),transparent 60%),radial-gradient(ellipse at bottom left,rgba(118,75,162,.05),transparent 60%),var(--bg-primary);min-width:0;transition:margin-left var(--transition)}.page-header{margin-bottom:28px}.page-header h2{font-size:1.8rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-header .subtitle{color:var(--text-secondary);font-size:.9rem;margin-top:4px}.card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:24px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition);box-shadow:var(--shadow-sm)}.card:hover{border-color:#ffffff1f;box-shadow:var(--shadow-md)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.kpi-card{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);padding:22px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.kpi-card.revenue:before{background:var(--success)}.kpi-card.expenses:before{background:var(--danger)}.kpi-card.profit:before{background:var(--accent-gradient)}.kpi-card.safety:before{background:var(--info)}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.kpi-card .kpi-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.kpi-card .kpi-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.kpi-card.revenue .kpi-icon{background:var(--success-dim)}.kpi-card.expenses .kpi-icon{background:var(--danger-dim)}.kpi-card.profit .kpi-icon{background:#667eea26}.kpi-card.safety .kpi-icon{background:var(--info-dim)}.kpi-card .kpi-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.kpi-card .kpi-value{font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.kpi-card.revenue .kpi-value{color:var(--success)}.kpi-card.expenses .kpi-value{color:var(--danger)}.kpi-card.profit .kpi-value{color:var(--accent)}.kpi-card.safety .kpi-value{color:var(--info)}.kpi-card .kpi-sub{font-size:.75rem;color:var(--text-muted);margin-top:4px}.charts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:28px;min-width:0}.chart-card{padding:20px;min-width:0}.chart-card h3{font-size:.95rem;font-weight:600;margin-bottom:16px;color:var(--text-secondary)}.chart-container{position:relative;height:260px;min-width:0}.chart-container canvas{max-width:100%}.months-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;min-width:0}.month-mini{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:16px;cursor:pointer;transition:all var(--transition);color:var(--text-primary);font:inherit;text-align:left;width:100%;min-width:0}.month-mini:hover{background:var(--surface-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.month-mini .mm-heading{display:flex;align-items:center;gap:10px;min-height:42px;margin-bottom:10px}.month-mini .mm-month-icon{display:inline-flex;align-items:center;justify-content:center}.month-mini .mm-month-icon .month-icon{width:38px;height:38px}.month-mini .mm-name{font-weight:650;font-size:.9rem}.month-mini .mm-heading>.warning-text{margin-left:auto}.month-mini .mm-row{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);padding:2px 0}.month-mini .mm-row .val{font-weight:500}.month-mini .mm-row.revenue .val{color:var(--success)}.month-mini .mm-row.expense .val{color:var(--danger)}.month-mini .mm-row.profit .val{color:var(--accent)}.month-detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;min-width:0}.month-left{display:flex;flex-direction:column;gap:24px;min-width:0}.expense-section{min-width:0;overflow:hidden}.revenue-card .revenue-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:12px}.expense-section h3{font-size:1rem;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}.expense-table{width:100%;border-collapse:collapse}.expense-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;border-bottom:1px solid var(--surface-border)}.expense-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.expense-table tr:hover td{background:var(--surface-hover)}.expense-table .cat-cell{display:flex;align-items:center;gap:8px}.expense-table .cat-icon{font-size:1.1rem}.expense-table .diff-positive{color:var(--success);font-weight:500}.expense-table .diff-negative{color:var(--danger);font-weight:500}.btn-add-row{display:flex;align-items:center;gap:6px;padding:8px 14px;margin-top:10px;background:none;border:1px dashed var(--surface-border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:all var(--transition);min-height:44px}.btn-add-row:hover{border-color:var(--accent);color:var(--accent);background:#667eea0d}.summary-card{position:sticky;top:32px;background:linear-gradient(135deg,#667eea14,#764ba214);border:1px solid rgba(102,126,234,.2)}.summary-card h3{font-size:1rem;font-weight:600;margin-bottom:18px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.9rem}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--text-secondary)}.summary-row .value{font-weight:600}.summary-row.highlight{background:var(--success-dim);margin:12px -24px -24px;padding:16px 24px;border-radius:0 0 var(--radius) var(--radius);font-size:1rem}.summary-row.highlight .value{color:var(--success);font-size:1.15rem}.summary-row .pct{font-size:.75rem;color:var(--text-muted);margin-left:4px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.form-input{background:#ffffff0a;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--text-primary);transition:all var(--transition);font-size:.95rem;min-height:44px}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #667eea26}.form-input::placeholder{color:var(--text-muted)}.form-input.small{padding:6px 10px;font-size:.85rem}select.form-input{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.exp-category.form-input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:140px;padding-right:8px}.exp-subtitle{display:block;font-size:.72rem;color:var(--text-muted);margin-top:2px;padding-left:4px;font-style:italic}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition);border:none;min-height:44px}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea66}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #667eea33}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--surface-border)}.btn-secondary:hover{background:var(--surface-hover)}.btn-secondary:active{background:var(--surface-active)}.btn-danger{background:var(--danger-dim);color:var(--danger)}.btn-danger:hover{background:#f5576c33}.btn-danger:active{background:#f5576c40}.btn-sm{padding:8px 12px;font-size:.8rem;min-height:44px}.btn-icon{width:44px;height:44px;padding:0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--surface-border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.btn-icon:hover{background:var(--surface-hover);color:var(--text-primary)}.btn-icon:active{transform:scale(.95)}.btn-icon.delete:hover{background:var(--danger-dim);color:var(--danger)}.settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.settings-card h3{font-size:1rem;font-weight:600;margin-bottom:18px}.settings-row{display:flex;align-items:flex-start;flex-direction:column;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.04);gap:8px}.settings-row label{color:var(--text-secondary);font-size:.9rem}.settings-row .form-input{width:100%;text-align:left}.tax-row{display:flex;flex-direction:column;gap:8px;width:100%}.tax-presets{display:flex;flex-wrap:wrap;gap:6px}.tax-preset{padding:5px 12px;border-radius:6px;cursor:pointer;background:var(--surface);border:1px solid var(--surface-border);color:var(--text-secondary);font-size:.8rem;font-weight:600;transition:all var(--transition)}.tax-preset:hover{border-color:var(--accent);color:var(--accent)}.tax-preset.active{background:#667eea26;border-color:var(--accent);color:var(--accent)}.category-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.category-item .cat-icon{font-size:1.2rem}.category-item .cat-name{flex:1;font-size:.9rem}.category-item .cat-type{font-size:.7rem;padding:3px 8px;border-radius:4px;background:var(--surface);color:var(--text-muted)}.export-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.export-card{text-align:center;padding:32px}.export-card .export-icon{font-size:2.5rem;margin-bottom:16px}.export-card p{color:var(--text-secondary);font-size:.85rem;margin:12px 0 20px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:all var(--transition)}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--bg-secondary);border:1px solid var(--surface-border);border-radius:var(--radius-lg);padding:28px;min-width:0;max-width:560px;width:min(90%,560px);transform:translateY(20px);transition:transform var(--transition);box-shadow:var(--shadow-xl);max-height:calc(100vh - 32px);overflow-y:auto}.modal-overlay.active .modal{transform:translateY(0)}.modal h3{font-size:1.1rem;font-weight:600;margin-bottom:20px}.modal-message{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin-bottom:8px;white-space:pre-line}.modal-form{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.modal-error{color:var(--danger);font-size:.85rem;font-weight:500;padding:8px 0 0;display:none}.modal-error.visible{display:block}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.notes-textarea{width:100%;min-height:80px;resize:vertical;background:#ffffff08;border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:12px;color:var(--text-primary);font-size:.9rem;line-height:1.5;transition:border-color var(--transition)}.notes-textarea:focus{outline:none;border-color:var(--accent)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .4s ease forwards}.animate-in:nth-child(2){animation-delay:.05s}.animate-in:nth-child(3){animation-delay:.1s}.animate-in:nth-child(4){animation-delay:.15s}.fund-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0}.fund-summary-card{display:flex;align-items:center;gap:16px;padding:20px;min-width:0}.fund-summary-body{min-width:0;overflow-wrap:anywhere}.fund-summary-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.fund-summary-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.fund-summary-value{font-size:1.25rem;font-weight:700;line-height:1.2}.fund-summary-sub{font-size:.75rem;color:var(--text-muted);margin-top:4px}.withdrawal-card{border-left:3px solid var(--warning)}.withdrawal-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.withdrawal-item:last-child{border-bottom:none}.withdrawal-info{flex:1;display:flex;flex-direction:column;gap:2px}.withdrawal-reason{font-size:.9rem;color:var(--text-primary)}.withdrawal-date{font-size:.75rem;color:var(--text-muted)}.withdrawal-amount{font-weight:600;color:var(--warning);white-space:nowrap}.toast-container{position:fixed;top:24px;right:24px;z-index:2000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 20px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--surface-border);color:var(--text-primary);font-size:.85rem;animation:fadeIn .3s ease;box-shadow:var(--shadow-lg)}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}@media(max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.months-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.month-detail{grid-template-columns:minmax(0,1fr)}.summary-card{position:static}.settings-grid,.export-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:769px){body.sidebar-collapsed .sidebar-logo{grid-template-columns:28px 44px;gap:0;padding-inline:0}body.sidebar-collapsed .sidebar-logo .logo-icon{width:28px;height:28px;border-radius:8px;font-size:15px}body.sidebar-collapsed .sidebar-brand-name,body.sidebar-collapsed .sidebar-label,body.sidebar-collapsed .sidebar-section-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}body.sidebar-collapsed .sidebar-item{justify-content:center;gap:0;padding-inline:8px}body.sidebar-collapsed .sidebar-item .item-icon{margin:0}body.sidebar-collapsed .sidebar-section{padding-inline:12px}body.sidebar-collapsed .sidebar-system{padding-bottom:20px}body.sidebar-collapsed .sidebar-account{justify-content:center;padding-inline:8px}body.sidebar-collapsed .sidebar-account-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}@media(min-width:769px)and (max-width:847px){.fund-summary-grid{grid-template-columns:minmax(0,1fr)}.months-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.sidebar{width:var(--sidebar-expanded-w);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:20px 16px}.kpi-grid{grid-template-columns:1fr}.months-grid{grid-template-columns:repeat(2,1fr)}.charts-grid,.settings-grid{grid-template-columns:1fr}.export-grid{grid-template-columns:repeat(2,1fr)}.hamburger{display:flex;align-items:center;justify-content:center}body.sidebar-scroll-lock .hamburger{left:calc(var(--sidebar-expanded-w) - 56px)}.sidebar-logo{grid-template-columns:40px minmax(0,1fr);padding:24px 20px 16px;gap:12px}.sidebar-toggle{display:none}.main-content{padding-top:60px}}[data-theme=light]{--bg-primary: #f0f0f8;--bg-secondary: #ffffff;--bg-tertiary: #e8e8f2;--surface: rgba(0,0,0,.035);--surface-hover: rgba(0,0,0,.06);--surface-active: rgba(0,0,0,.09);--surface-border: rgba(0,0,0,.1);--text-primary: #1a1a2e;--text-secondary: #555570;--text-muted: #62627d;--control-border: #77778f;--focus-ring: #334fc1;--accent: #4055b7;--accent2: #5e3a8c;--accent-gradient: linear-gradient(135deg, #4055b7, #5e3a8c);--success: #16733b;--danger: #b82e45;--warning: #8a4b00;--info: #146aa3;--month-1: #1f66b5;--month-2: #5d55b8;--month-3: #207a49;--month-4: #087ca8;--month-5: #b52d75;--month-6: #8a5d00;--month-7: #a84624;--month-8: #8a5a0a;--month-9: #b43131;--month-10: #a74711;--month-11: #53657d;--month-12: #7c3dad;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 24px rgba(0,0,0,.1), 0 4px 8px rgba(0,0,0,.05);--shadow-xl: 0 16px 40px rgba(0,0,0,.12), 0 8px 16px rgba(0,0,0,.06)}[data-theme=light] .main-content{background:radial-gradient(ellipse at top right,rgba(102,126,234,.04),transparent 60%),radial-gradient(ellipse at bottom left,rgba(118,75,162,.03),transparent 60%),var(--bg-primary)}[data-theme=light] .card:hover{border-color:#00000024}[data-theme=light] .modal-overlay{background:#0006}[data-theme=light] .sidebar-item.active{background:#667eea1a}[data-theme=light] .summary-card{background:linear-gradient(135deg,#667eea0f,#764ba20f);border:1px solid rgba(102,126,234,.15)}[data-theme=light] .expense-table tr:hover td{background:#00000008}[data-theme=light] .expense-table td{border-bottom:1px solid rgba(0,0,0,.04)}[data-theme=light] .summary-row,[data-theme=light] .category-item,[data-theme=light] .settings-row{border-bottom:1px solid rgba(0,0,0,.06)}[data-theme=light] .hamburger{box-shadow:0 2px 8px #0000001a}.theme-switcher{display:flex;gap:4px;margin-top:8px}.theme-btn{flex:1;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--surface-border);color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-weight:600;transition:all var(--transition);text-align:center}.theme-btn:hover{border-color:var(--accent);color:var(--accent)}.theme-btn.active{background:#667eea26;border-color:var(--accent);color:var(--accent)}.icon{display:inline-block;flex:0 0 auto;vertical-align:-.18em;stroke-width:2}.item-icon .icon,.kpi-icon .icon,.fund-summary-icon .icon,.export-icon .icon{vertical-align:middle}.page-header h2,.section-header h3,.settings-card h3,.expense-section h3,.rates-card h3,.revenue-card h3,.summary-card h3,.withdrawal-card h3,#notes-title{display:flex;align-items:center;gap:8px}.sidebar-system{margin-top:auto;padding-bottom:20px}.month-icon{display:block;overflow:visible;color:var(--month-color)}.month-icon[data-month="1"]{--month-color: var(--month-1)}.month-icon[data-month="2"]{--month-color: var(--month-2)}.month-icon[data-month="3"]{--month-color: var(--month-3)}.month-icon[data-month="4"]{--month-color: var(--month-4)}.month-icon[data-month="5"]{--month-color: var(--month-5)}.month-icon[data-month="6"]{--month-color: var(--month-6)}.month-icon[data-month="7"]{--month-color: var(--month-7)}.month-icon[data-month="8"]{--month-color: var(--month-8)}.month-icon[data-month="9"]{--month-color: var(--month-9)}.month-icon[data-month="10"]{--month-color: var(--month-10)}.month-icon[data-month="11"]{--month-color: var(--month-11)}.month-icon[data-month="12"]{--month-color: var(--month-12)}.month-icon__shape{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.month-icon__number-backdrop{fill:var(--bg-secondary);stroke:currentColor;stroke-width:1.4}.month-icon__number text{fill:currentColor;stroke:none;font:800 6.5px/1 Inter,ui-sans-serif,system-ui,sans-serif}.sidebar-tooltip{position:fixed;z-index:3000;pointer-events:none;max-width:220px;padding:7px 10px;border:1px solid var(--control-border);border-radius:7px;background:var(--bg-tertiary);color:var(--text-primary);box-shadow:var(--shadow-md);font-size:.8rem;font-weight:650;line-height:1.3;white-space:nowrap}.sidebar-tooltip[hidden]{display:none}.section-header{margin:28px 0 14px}.section-header h3{font-size:1.05rem;font-weight:650;color:var(--text-secondary)}.section-note,.empty-note,.comparison-caption{color:var(--text-muted);font-size:.82rem}.section-note{margin:6px 0 14px}.empty-note{padding:10px 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title-row h3{margin:0}.success-text{color:var(--success)!important}.danger-text{color:var(--danger)!important}.warning-text{color:var(--warning)!important}.info-text{color:var(--info)!important}.accent-text{color:#8ea1ff!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px!important}:where(button,input,select,textarea):disabled{cursor:not-allowed;opacity:.55}.form-input,.notes-textarea,.btn-secondary,.btn-icon,.tax-preset,.theme-btn{border-color:var(--control-border)}.form-input:focus-visible,.notes-textarea:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 3px #8ea1ff33}.sidebar-item[aria-current=page]{background:#667eea2e;color:#fff;box-shadow:inset 3px 0 0 var(--accent)}[data-theme=light] .sidebar-item[aria-current=page]{color:var(--accent);background:#4055b71f}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}.analytics-card{display:grid;gap:4px}.analytics-label{color:var(--text-secondary);font-size:.82rem}.analytics-card strong{font-size:1.25rem}.analytics-note{color:var(--text-muted);font-size:.76rem}.comparison-section{margin-top:28px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.comparison-card{display:grid;gap:5px}.comparison-card>span:first-child{color:var(--text-secondary);font-size:.8rem}.comparison-current{font-size:1.08rem;font-weight:700}.comparison-delta{color:var(--text-muted);font-size:.78rem}.comparison-caption{margin-top:10px}.empty-state{padding:20px;border:1px dashed var(--control-border);border-radius:var(--radius);color:var(--text-secondary)}.chart-wide{margin-top:20px}.fund-summary-icon.info{background:var(--info-dim)}.fund-summary-icon.accent{background:#667eea29}.fund-summary-icon.warning{background:var(--warning-dim)}.rates-list{display:grid;gap:12px}.rate-row{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(210px,1.2fr) minmax(100px,.55fr) auto;gap:10px;align-items:center}.rate-row>label:first-child{color:var(--text-secondary);font-size:.88rem;font-weight:600}.table-scroll{width:100%;overflow-x:auto;border-radius:var(--radius-sm)}.expense-table{min-width:780px}.expense-table td:nth-child(1){min-width:170px}.expense-table td:nth-child(2){min-width:190px}.expense-table .empty-row td{text-align:center;color:var(--text-muted);padding:20px}.summary-divider{border-top:1px solid var(--surface-border);padding-top:14px;margin-top:6px}.withdrawal-summary{background:var(--warning-dim);margin-inline:-24px;padding-inline:24px}.settings-card h4{font-size:.85rem;color:var(--text-muted);margin:16px 0 8px}.settings-add{margin-top:16px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.data-section{margin-top:32px}.export-card .export-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.tax-preset,.theme-btn{min-height:44px}.modal-error:focus{outline:none}.modal-message{max-height:45vh;overflow-y:auto}.toast{display:flex;align-items:center;gap:12px;max-width:min(460px,calc(100vw - 32px));white-space:pre-line}.toast-action{min-height:44px;padding:8px 12px;border:1px solid var(--focus-ring);border-radius:7px;background:transparent;color:var(--text-primary);cursor:pointer;font-weight:650}.fatal-error,.route-error{max-width:720px;margin:12vh auto;padding:28px;border:1px solid var(--danger);border-radius:var(--radius);background:var(--danger-dim)}.fatal-error{display:grid;gap:12px}.route-loading{color:var(--text-secondary);padding:32px}.auth-shell{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,rgba(102,126,234,.18),transparent 34%),radial-gradient(circle at 85% 90%,rgba(118,75,162,.16),transparent 36%),var(--bg-primary)}.auth-card{width:min(480px,100%);padding:clamp(24px,5vw,40px);border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:#10102af0;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}[data-theme=light] .auth-card{background:#fffffff0}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:var(--text-primary);font-weight:800;font-size:1.1rem}.auth-logo{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:12px;background:var(--accent-gradient);color:#fff;font-size:1.25rem}.auth-card h1{font-size:clamp(1.6rem,5vw,2.1rem);line-height:1.15;margin-bottom:8px}.auth-subtitle{color:var(--text-secondary);margin-bottom:24px}.auth-form{display:grid;gap:16px}.auth-field{display:grid;gap:6px}.auth-field>label{color:var(--text-secondary);font-size:.86rem;font-weight:650}.password-field{position:relative}.password-field .form-input{width:100%;padding-right:54px}.password-toggle{position:absolute;top:50%;right:2px;transform:translateY(-50%);width:44px;height:44px;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}.password-toggle:hover{color:var(--text-primary);background:var(--surface-hover)}.auth-submit{min-height:48px;justify-content:center;margin-top:4px}.auth-link{min-height:44px;border:0;background:transparent;color:var(--focus-ring);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.auth-security{display:flex;align-items:flex-start;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--surface-border);color:var(--text-muted);font-size:.78rem}.field-error{min-height:1.2em;color:var(--danger);font-size:.78rem}.form-hint{color:var(--text-muted);font-size:.78rem}.form-error-summary{padding:12px 14px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-dim);color:var(--text-primary)}.form-error-summary.success{border-color:var(--success);background:var(--success-dim)}.form-error-summary ul{margin:8px 0 0 20px}.form-error-summary[hidden]{display:none}.account-summary{display:flex;align-items:center;gap:14px;margin-bottom:24px}.account-summary-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:14px;background:#667eea29;color:var(--focus-ring)}.account-summary>div{min-width:0;flex:1}.account-summary strong,.account-summary p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary p{color:var(--text-secondary);font-size:.82rem}.settings-access-note{margin-bottom:24px}.settings-access-note p{margin-top:8px;color:var(--text-secondary)}.user-invite-card,.users-card,.audit-card{margin-bottom:22px}.user-invite-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 160px auto;align-items:end;gap:14px;margin-top:18px}.user-invite-form .form-error-summary{grid-column:1 / -1}.user-invite-form .btn{min-height:44px;white-space:nowrap}.users-card{overflow:hidden}#users-list{display:grid}.user-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(150px,.7fr) minmax(300px,1fr);gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--surface-border)}.user-row:first-child{border-top:0}.user-identity{display:grid;min-width:0}.user-identity strong,.user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:var(--text-secondary);font-size:.82rem}.user-badges{display:flex;flex-wrap:wrap;gap:6px}.user-badge{padding:4px 8px;border:1px solid var(--surface-border);border-radius:999px;color:var(--text-secondary);font-size:.72rem;font-weight:650}.user-badge.role-owner,.user-badge.current-user{color:var(--focus-ring);border-color:var(--accent);background:#667eea1f}.user-badge.status-active{color:var(--success);background:var(--success-dim)}.user-badge.status-blocked{color:var(--danger);background:var(--danger-dim)}.user-badge.status-invited{color:var(--warning);background:var(--warning-dim)}.user-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.user-role-select{width:auto;min-width:130px;min-height:44px}.audit-row{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(170px,1fr) auto;gap:12px;padding:12px 0;border-top:1px solid var(--surface-border)}.audit-action,.audit-time{color:var(--text-secondary);font-size:.82rem}.audit-time{white-space:nowrap}@media(max-width:1100px){.comparison-grid{grid-template-columns:1fr}.rate-row{grid-template-columns:130px 1fr 100px}.rate-reset{grid-column:2 / -1;justify-self:start}.user-invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-invite-form .btn{align-self:end}.user-row{grid-template-columns:minmax(0,1fr) auto}.user-actions{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:768px){.analytics-grid,.fund-summary-grid{grid-template-columns:1fr}.rate-row{grid-template-columns:1fr;padding:12px 0;border-bottom:1px solid var(--surface-border)}.rate-reset{grid-column:auto}.section-title-row{align-items:flex-start;flex-direction:column}.section-title-row .btn{width:100%;justify-content:center}.toast-container{top:12px;right:12px;left:12px}.toast{max-width:none}.auth-shell{padding:12px;align-items:start}.auth-card{margin-top:12px}.account-summary{align-items:flex-start;flex-wrap:wrap}.account-summary .btn{width:100%;justify-content:center}.user-invite-form,.user-row,.audit-row{grid-template-columns:minmax(0,1fr)}.user-actions{grid-column:auto;justify-content:stretch}.user-actions>*{flex:1 1 150px}.user-role-select{width:100%}.audit-time{white-space:normal}}@media(max-width:480px){.main-content{padding-inline:12px}.page-header h2{font-size:1.45rem}.revenue-card .revenue-inputs,.export-grid,.months-grid{grid-template-columns:1fr}.card,.export-card{padding:18px}.modal{width:calc(100% - 24px);padding:20px}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%;justify-content:center}}@media(orientation:landscape)and (max-height:520px){.sidebar-logo{padding-top:12px}.sidebar-item{padding-block:7px}.modal{max-height:calc(100vh - 24px);overflow-y:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.kpi-card:hover,.month-mini:hover,.btn-primary:hover{transform:none}.sidebar,.main-content,.sidebar-brand-name,.sidebar-label,.sidebar-section-title{transition:none!important}}
