@charset "UTF-8";.ui-card,.chart-card,.chart-block,.stat-card,.sum-card,.total-card,.user-tab-card,.type-card,.account-card,.form-card:not(.inline),.item-list>li,.col-panel,.settings-page>.card,.patrimony-panel,.invite-card,.kpi,.register-page .login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.chart-card,.chart-block{padding:var(--card-padding);margin-bottom:1.25rem}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.chart-header h2,.chart-block h2,.ui-card-title{margin:0 0 .2rem;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.chart-header p,.chart-block .hint,.ui-card-subtitle{margin:0;font-size:.8125rem;color:var(--text-muted);font-weight:500}.stat-card,.sum-card,.kpi{padding:var(--card-padding);display:flex;flex-direction:column;gap:.25rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover,.sum-card:hover,.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.stat-card{flex-direction:row;align-items:center;gap:1rem}.stat-label,.sum-card span,.kpi-label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.stat-value,.sum-card strong,.kpi-value{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;letter-spacing:-.04em;color:var(--text);line-height:1.2}.stat-icon,.kpi-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:grid;place-items:center;font-size:1.1rem;font-weight:800;flex-shrink:0}.income-stat .stat-icon,.income-stat .kpi-icon,.kpi-income .stat-icon,.kpi-income .kpi-icon{background:var(--income-lighter);color:var(--income-dark)}.income-stat .stat-value,.income-stat .kpi-value,.kpi-income .stat-value,.kpi-income .kpi-value{color:var(--income-dark)}.expense-stat .stat-icon,.expense-stat .kpi-icon,.kpi-expense .stat-icon,.kpi-expense .kpi-icon{background:var(--danger-fill);color:var(--danger)}.expense-stat .stat-value,.expense-stat .kpi-value,.kpi-expense .stat-value,.kpi-expense .kpi-value{color:var(--danger)}.balance-stat .stat-icon{background:var(--primary-soft);color:var(--primary)}.balance-stat .stat-value{color:var(--primary-dark)}.balance-stat.negative .stat-value{color:var(--danger)}.pending-stat .stat-icon{background:var(--warning-soft);color:var(--warning)}.pending-stat .stat-value{color:var(--warning-dark)}.kpi-invest .kpi-icon{background:var(--accent-invest-fill);color:var(--accent-invest)}.kpi-invest .kpi-value{color:var(--accent-invest)}.total-card{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.total-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.total-card span{font-size:.8125rem;font-weight:500;color:var(--text-muted)}.total-card strong{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700;letter-spacing:-.03em;color:var(--text)}.total-card strong.income{color:var(--income-dark)}.total-card strong.expense{color:var(--danger)}.total-card strong.invest{color:var(--accent-invest-dark)}.total-card strong.positive,.sum-card strong{color:var(--income-dark)}.sum-card.muted strong{color:var(--text-muted)}.hero-balance,.balance-real,.month-total-card{padding:1.75rem var(--card-padding);border:none!important;background:var(--gradient-hero);color:#fff;box-shadow:var(--shadow-primary)}.hero-balance.negative,.balance-real.negative,.month-total-card.negative{background:linear-gradient(135deg,#7a271a 0%,var(--danger) 100%);box-shadow:var(--shadow-danger)}.balance-projected{padding:1.5rem;border:1px dashed var(--border-strong)!important;background:var(--surface);box-shadow:var(--shadow-card)}.month-total-card{margin-bottom:1.25rem;display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius-xl)}.month-total-card span{font-size:.75rem;font-weight:600;color:#ffffffb8}.month-total-card strong{font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;color:#fff}.user-tab-card{padding:1rem 1.1rem;cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s,box-shadow .15s}.user-tab-card.active{border-color:var(--primary);box-shadow:0 0 0 1.5px var(--primary);background:var(--surface)}.user-tab-card:hover:not(.active){border-color:var(--primary-soft);box-shadow:0 0 0 1px var(--primary-soft)}.user-tab-name{display:block;font-size:.6875rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}.user-tab-total{display:block;font-size:1.25rem;font-weight:800;color:var(--text);font-family:JetBrains Mono,monospace;letter-spacing:-.04em;line-height:1.2}.user-tab-meta{display:block;font-size:.6875rem;font-weight:500;color:var(--text-faint);margin-top:.25rem;line-height:1.3;white-space:normal}.type-card{padding:1.15rem 1.25rem;background:linear-gradient(135deg,color-mix(in srgb,var(--tc, var(--primary)) 8%,var(--surface)) 0%,var(--surface) 55%);border-color:color-mix(in srgb,var(--tc, var(--primary)) 20%,var(--border))}.account-card{padding:1rem 1.1rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.account-card:hover,.account-card.selected{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary-lighter)}.item-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.625rem}.item-list>li{padding:1rem 1.25rem}.item-card{background:var(--surface-elevated);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-xs);padding:1rem 1.25rem}.col-panel{padding:0;overflow:hidden}.col-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--surface-elevated)}.col-header h2{margin:0;font-size:.9375rem;font-weight:700}.patrimony-panel{padding:var(--card-padding)}.form-card:not(.inline){padding:var(--card-padding);margin-bottom:1.25rem}.form-card:not(.inline) h2{margin:0 0 1rem;font-size:1rem;font-weight:700}.form-card:not(.inline) label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.form-card.inline{background:transparent;border:none;box-shadow:none;border-radius:0;border-top:1px dashed var(--border);padding-top:1rem}.settings-page>.card{max-width:560px;margin-bottom:1.25rem;padding:var(--card-padding)}.settings-page>.card h2{margin:0 0 .375rem;font-size:1.0625rem;font-weight:700}.settings-page>.card .hint{margin:0 0 1.25rem;font-size:.875rem;color:var(--text-muted);line-height:1.6}.settings-page>.card label{font-size:.8125rem;font-weight:600;color:var(--text-muted)}.year-calendar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--card-padding)}.calendar-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:0;overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:0}.calendar-panel .year-calendar{border:none;box-shadow:none;border-radius:0;flex:1;min-height:0}.page-top,.dash-header{margin-bottom:1.5rem}.page-top h1,.dash-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:800;color:var(--text);letter-spacing:-.025em}.page-top p,.dash-header p{margin:0;color:var(--text-muted);font-size:.875rem;font-weight:500}.page-lead{margin:0;color:var(--text-muted);font-size:.875rem;font-weight:500;line-height:1.57;max-width:52rem}.page-top--toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tabs,.custom-tabs{display:flex;flex-wrap:wrap;gap:.25rem;padding:.3rem;margin-bottom:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:fit-content;max-width:100%}.tabs button,.custom-tabs button{padding:.4375rem 1rem;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.tabs button.active,.custom-tabs button.active{background:var(--surface-elevated);color:var(--text);font-weight:700;box-shadow:var(--shadow-xs)}.tabs button:not(.active):hover,.custom-tabs button:not(.active):hover{background:var(--surface-hover);color:var(--text)}.btn-fab{border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-weight:700;cursor:pointer;box-shadow:var(--shadow-primary);transition:background .15s,transform .1s;font-family:inherit}.btn-fab:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-save{padding:.625rem 1.25rem;border:none;border-radius:var(--radius);background:var(--text);color:#fff;font-weight:700;font-family:inherit;cursor:pointer;transition:opacity .15s}.btn-save:hover{opacity:.88}.btn-cancel{padding:.625rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s}.btn-cancel:hover{background:var(--surface-hover);color:var(--text)}.btn-outline{padding:.5rem 1rem;border-radius:var(--radius);font-weight:600;font-family:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow .15s}.btn-outline:hover{border-color:var(--primary)}.projected-strip,.user-overview-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:.75rem 1rem;margin-bottom:1rem;font-size:.8125rem;color:var(--text-muted)}.projected-strip{border-style:dashed}.months-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:0;overflow:hidden;margin-bottom:1.5rem}.months-table-wrap h2{padding:1.25rem 1.5rem 0;margin:0 0 .25rem;font-size:1rem;font-weight:700}.months-table-wrap table{width:100%;border-collapse:collapse;margin-top:.75rem}.months-table-wrap th,.months-table-wrap td{padding:.75rem 1.5rem;text-align:left;border-bottom:1px solid var(--border);font-size:.8125rem}.months-table-wrap th{font-size:.75rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;background:var(--surface);white-space:nowrap}.months-table-wrap tr:last-child td{border-bottom:none}.months-table-wrap tbody tr{cursor:pointer;transition:background .1s}.months-table-wrap tbody tr:hover td{background:var(--surface-hover)}.months-table-wrap tbody tr.active td{background:var(--primary-soft)}.months-table-wrap tbody tr.active td:first-child{font-weight:700;color:var(--primary-dark);position:relative}.months-table-wrap tbody tr.active td:first-child:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:55%;background:var(--primary);border-radius:0 3px 3px 0}.months-table-wrap td.income{color:var(--income-dark);font-weight:600}.months-table-wrap td.expense{color:var(--danger);font-weight:600}.months-table-wrap td.invest{color:var(--accent-invest-dark);font-weight:600}.months-table-wrap td.positive{color:var(--income-dark);font-weight:700}.months-table-wrap td.muted{color:var(--text-faint)}.donut-empty,.empty-panel,.loading{padding:2.5rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.875rem}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;text-align:center}.empty-state .empty-icon{font-size:2.5rem;margin-bottom:.5rem;opacity:.5}.empty-state h3{margin:0;font-size:1rem;font-weight:700;color:var(--text)}.empty-state p{margin:0;font-size:.875rem;color:var(--text-muted);max-width:300px;line-height:1.57}@keyframes ui-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-card,.skeleton-block{border-radius:var(--radius-xl);background:linear-gradient(90deg,var(--surface-elevated) 25%,color-mix(in srgb,var(--surface-elevated) 80%,var(--surface)) 50%,var(--surface-elevated) 75%);background-size:600px 100%;animation:ui-shimmer 1.5s ease infinite;border:1px solid var(--border)}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px)}@media(max-width:900px){.login-shell{grid-template-columns:1fr}}.login-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--bg)}.login-page .login-card{width:100%;max-width:420px;padding:2rem 1.75rem}.dash-header--with-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.form-card input,.form-card select,.form-card textarea,.modal input,.modal select,.modal textarea,.add-form input,.add-form select{display:block;width:100%;padding:.75rem .875rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.875rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.form-card input:focus,.form-card select:focus,.form-card textarea:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.add-form input:focus,.add-form select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-card input::placeholder,.form-card select::placeholder,.form-card textarea::placeholder,.modal input::placeholder,.modal select::placeholder,.modal textarea::placeholder,.add-form input::placeholder,.add-form select::placeholder{color:var(--text-faint)}h2.section-title,.col-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .75rem}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.1875rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.02em;line-height:1.5}.badge.badge-income{background:var(--income-lighter);color:var(--income-dark)}.badge.badge-expense{background:var(--danger-fill);color:var(--danger-dark)}.badge.badge-invest{background:var(--accent-invest-fill);color:var(--accent-invest-dark)}.badge.badge-warn{background:var(--warning-soft);color:var(--warning-dark)}.badge.badge-info{background:var(--info-soft);color:var(--info)}.badge.badge-neutral{background:#919eab1f;color:var(--text-muted)}.trend-up{display:inline-flex;align-items:center;gap:.2rem;padding:.1875rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;background:var(--income-lighter);color:var(--income-dark)}.trend-dn{display:inline-flex;align-items:center;gap:.2rem;padding:.1875rem .5rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;background:var(--danger-fill);color:var(--danger-dark)}.income{color:var(--income-dark)}.expense{color:var(--danger)}.invest{color:var(--accent-invest-dark)}.positive{color:var(--income-dark)}.muted{color:var(--text-muted)}.projected-line,.projected-cell{font-style:italic;opacity:.72}.inv-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;grid-template-columns:88px 1fr 40px;gap:.75rem;align-items:center;padding:.75rem 1rem}.inv-name{font-size:.75rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-wrap{height:6px;background:var(--border-strong);border-radius:var(--radius-full);overflow:hidden}.bar-wrap .bar{height:100%;border-radius:var(--radius-full);max-width:100%;transition:width .6s ease}.inv-pct{font-family:JetBrains Mono,monospace;font-size:.6875rem;font-weight:700;color:var(--text-muted);text-align:right}@media(max-width:600px){.stat-card{padding:.875rem 1rem;gap:.75rem}.stat-icon,.kpi-icon{width:40px;height:40px;font-size:1rem}.stat-value,.kpi-value{font-size:1.25rem}.kpi-trio{grid-template-columns:1fr;gap:.625rem}.kpi{padding:1rem 1.125rem}.chart-card,.chart-block{padding:1rem}.page-top,.dash-header{margin-bottom:1rem}.page-top h1,.dash-header h1{font-size:1.25rem}.dash-header--with-nav{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.tabs,.custom-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;max-width:100%}.tabs::-webkit-scrollbar,.custom-tabs::-webkit-scrollbar{display:none}.tabs button,.custom-tabs button{flex-shrink:0;white-space:nowrap}.months-table-wrap th,.months-table-wrap td{padding:.625rem .875rem;font-size:.75rem}.months-table-wrap h2{padding:1rem 1rem 0;font-size:.9375rem}.badge{font-size:.625rem}}.modal-backdrop{position:fixed;inset:0;z-index:150;background:#161c246b;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{width:100%;max-width:400px;max-height:min(90vh,720px);overflow-y:auto;background:var(--surface);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.modal h3{margin:0 0 1rem;font-size:1.0625rem;font-weight:800;color:var(--text);letter-spacing:-.02em}.modal>p:not(.modal-error):not(.modal-success){margin:0 0 1.25rem;font-size:.875rem;color:var(--text-muted);line-height:1.5}.modal--wide{max-width:440px}.modal--form{max-width:460px}.modal-field,.modal label.field,.modal label:not(.btn-upload){display:flex;flex-direction:column;gap:.35rem;margin-bottom:.875rem}.modal-field>span,.modal-field:not(.field)>span:first-child,.modal label.field>span,.modal label.field:not(.field)>span:first-child,.modal label:not(.btn-upload)>span,.modal label:not(.btn-upload):not(.field)>span:first-child{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.modal>label:not(.field){display:flex;flex-direction:column;gap:.35rem;margin-bottom:.875rem}.modal>label:not(.field)>span{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.modal-body{margin-bottom:.25rem}.modal-error{color:var(--danger);font-size:.8125rem;margin:.5rem 0 .75rem}.modal-success{color:var(--primary);font-size:.8125rem;margin:.5rem 0 .75rem;word-break:break-word}.modal-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap;justify-content:flex-end}.modal .hint,.modal .hint-warn{font-size:.72rem;color:var(--text-muted);font-weight:500;margin:-.35rem 0 .75rem}.modal .field-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.modal .btn-muted,.modal .btn-primary,.modal .btn-brand,.modal .btn-danger,.modal .btn-save,.modal .btn-cancel{flex:1;min-width:80px;padding:.65rem 1rem;border-radius:var(--radius-full);font-weight:700;font-size:.875rem;font-family:inherit;cursor:pointer}.modal .btn-muted,.modal .btn-cancel{background:transparent;border:1.5px solid var(--border);color:var(--text-muted)}.modal .btn-primary,.modal .btn-brand,.modal .btn-save{border:none;background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-primary)}.modal .btn-brand:disabled,.modal .btn-primary:disabled{opacity:.5;cursor:not-allowed}.modal .btn-danger{border:none;background:var(--danger-soft);color:var(--danger)}.modal .icon-picker-label{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem;display:block}@media(max-width:768px){.modal-backdrop{align-items:flex-end;padding:0;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal{max-width:100%;max-height:92dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px))}.modal:before{content:"";display:block;width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:0 auto 1rem}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-muted,.modal-actions .btn-primary,.modal-actions .btn-brand,.modal-actions .btn-danger,.modal-actions .btn-save,.modal-actions .btn-cancel{width:100%;flex:none}}@media(max-width:768px){html,body{line-height:1.6}h1{font-size:1.375rem;letter-spacing:-.025em}h2{font-size:1rem;letter-spacing:-.02em}h3{font-size:.9375rem}}:root,[data-theme=light]{--bg: #F4F6F8;--surface: #FFFFFF;--surface-elevated: #F9FAFB;--surface-hover: rgba(145, 158, 171, .08);--border: rgba(145, 158, 171, .2);--border-strong: #DFE3E8;--text: #1C252E;--text-muted: #637381;--text-faint: #919EAB;--primary: #6B4EE6;--primary-dark: #5538D1;--primary-light: #9B85F5;--primary-soft: rgba(107, 78, 230, .08);--primary-soft-hover: rgba(107, 78, 230, .16);--primary-lighter: rgba(107, 78, 230, .12);--gradient-brand: linear-gradient(135deg, #4527A0 0%, #6B4EE6 100%);--gradient-hero: linear-gradient(135deg, #2E1065 0%, #5538D1 50%, #6B4EE6 100%);--income: #22C55E;--income-dark: #16A34A;--income-light: #4ADE80;--income-soft: rgba(34, 197, 94, .08);--income-soft-hover: rgba(34, 197, 94, .16);--income-lighter: rgba(34, 197, 94, .12);--income-fill-border: rgba(34, 197, 94, .24);--accent: var(--primary);--accent-dark: var(--primary-dark);--accent-soft: var(--primary-soft);--accent-soft-hover: var(--primary-soft-hover);--accent-fill: var(--income-soft);--accent-fill-border: var(--income-fill-border);--danger: #FF5630;--danger-dark: #B71D18;--danger-soft: rgba(255, 86, 48, .08);--danger-soft-hover: rgba(255, 86, 48, .16);--danger-fill: rgba(255, 86, 48, .08);--danger-fill-border: rgba(255, 86, 48, .24);--warning: #FFAB00;--warning-dark: #B76E00;--warning-soft: rgba(255, 171, 0, .12);--info: #00B8D9;--info-soft: rgba(0, 184, 217, .08);--accent-invest: #2065D1;--accent-invest-dark: #103996;--accent-invest-soft: rgba(32, 101, 209, .08);--accent-invest-soft-hover: rgba(32, 101, 209, .16);--accent-invest-fill: rgba(32, 101, 209, .06);--accent-invest-fill-border: rgba(32, 101, 209, .2);--brand: #D97706;--brand-dark: #92400E;--brand-light: #F59E0B;--brand-soft: rgba(217, 119, 6, .08);--brand-soft-hover: rgba(217, 119, 6, .16);--brand-lighter: rgba(217, 119, 6, .12);--brand-glow: 0 4px 14px rgba(217, 119, 6, .35);--gradient-brand-identity: linear-gradient(135deg, #4527A0 0%, #6B4EE6 100%);--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--card-padding: 1.5rem;--shadow-card: 0 0 2px 0 rgba(145, 158, 171, .08), 0 12px 24px -4px rgba(145, 158, 171, .12);--shadow-card-hover: 0 0 2px 0 rgba(145, 158, 171, .08), 0 16px 32px -4px rgba(145, 158, 171, .24);--shadow-xs: 0 1px 2px 0 rgba(145, 158, 171, .16);--shadow-sm: 0 0 2px 0 rgba(145, 158, 171, .08), 0 4px 8px -4px rgba(145, 158, 171, .12);--shadow: var(--shadow-card);--shadow-lg: 0 0 2px 0 rgba(145, 158, 171, .08), 0 24px 48px -8px rgba(145, 158, 171, .24);--shadow-primary: 0 8px 16px 0 rgba(107, 78, 230, .28);--shadow-income: 0 8px 16px 0 rgba(34, 197, 94, .18);--shadow-danger: 0 8px 16px 0 rgba(255, 86, 48, .24);--shadow-invest: 0 8px 16px 0 rgba(32, 101, 209, .18);--topbar-bg: rgba(255, 255, 255, .88);--mobile-nav-bg: rgba(255, 255, 255, .97);--logo-glow: 0 4px 14px rgba(107, 78, 230, .35);--sidebar-width: 280px}[data-theme=dark]{--bg: #141A21;--surface: #1C252E;--surface-elevated: #28343F;--surface-hover: rgba(145, 158, 171, .08);--border: rgba(145, 158, 171, .12);--border-strong: #2E3A45;--text: #FFFFFF;--text-muted: #919EAB;--text-faint: #637381;--brand: #F59E0B;--brand-dark: #D97706;--brand-light: #FCD34D;--brand-soft: rgba(245, 158, 11, .12);--brand-soft-hover: rgba(245, 158, 11, .2);--brand-lighter: rgba(245, 158, 11, .16);--brand-glow: 0 4px 14px rgba(245, 158, 11, .3);--gradient-brand-identity: linear-gradient(135deg, #5538D1 0%, #6B4EE6 100%);--topbar-bg: rgba(20, 26, 33, .94);--mobile-nav-bg: rgba(22, 28, 36, .97);--primary: #A78BFA;--primary-dark: #6B4EE6;--primary-light: #C4B5FD;--primary-soft: rgba(167, 139, 250, .14);--primary-soft-hover: rgba(167, 139, 250, .22);--primary-lighter: rgba(107, 78, 230, .18);--gradient-brand: linear-gradient(135deg, #5538D1 0%, #6B4EE6 100%);--gradient-hero: linear-gradient(135deg, #1e1040 0%, #5538D1 50%, #6B4EE6 100%);--income: #4ADE80;--income-dark: #22C55E;--income-light: #86EFAC;--income-soft: rgba(74, 222, 128, .12);--income-soft-hover: rgba(74, 222, 128, .2);--income-lighter: rgba(34, 197, 94, .16);--income-fill-border: rgba(74, 222, 128, .28);--accent: var(--primary);--accent-dark: var(--primary-dark);--accent-soft: var(--income-soft);--accent-soft-hover: var(--income-soft-hover);--accent-fill: var(--income-soft);--accent-fill-border: var(--income-fill-border);--danger: #FFAC82;--danger-dark: #FF5630;--danger-soft: rgba(255, 86, 48, .14);--danger-soft-hover: rgba(255, 86, 48, .22);--danger-fill: rgba(255, 86, 48, .1);--danger-fill-border: rgba(255, 86, 48, .28);--accent-invest: #76B0F1;--accent-invest-dark: #2065D1;--accent-invest-soft: rgba(118, 176, 241, .12);--accent-invest-soft-hover: rgba(118, 176, 241, .2);--accent-invest-fill: rgba(118, 176, 241, .1);--accent-invest-fill-border: rgba(118, 176, 241, .28);--shadow-xs: 0 0 2px 0 rgba(0, 0, 0, .36);--shadow-sm: 0 4px 8px rgba(0, 0, 0, .32);--shadow-card: 0 0 2px 0 rgba(0, 0, 0, .24), 0 12px 24px -4px rgba(0, 0, 0, .24);--shadow-card-hover: 0 0 2px 0 rgba(0, 0, 0, .24), 0 16px 32px -4px rgba(0, 0, 0, .32);--shadow: var(--shadow-card);--shadow-lg: 0 24px 48px rgba(0, 0, 0, .48);--shadow-primary: 0 8px 24px rgba(107, 78, 230, .32);--shadow-income: 0 8px 20px rgba(74, 222, 128, .14);--shadow-danger: 0 8px 20px rgba(255, 86, 48, .2);--shadow-invest: 0 8px 20px rgba(118, 176, 241, .14)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%;font-family:Public Sans,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.57143;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,.sidebar,.topbar,.chart-card,.col-panel,.stat-card,.kpi,.item-card,.patrimony-panel,.year-calendar,table{transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:Public Sans,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.5}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);background:var(--text);color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.48;cursor:not-allowed}.btn-soft{display:inline-flex;align-items:center;gap:.5rem;padding:.5625rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text-muted);font-weight:600;font-size:.8125rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.btn-soft:hover{background:var(--surface-hover);color:var(--text)}.btn-brand{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font-weight:700;font-size:.875rem;cursor:pointer;box-shadow:var(--shadow-primary);transition:background .15s,transform .1s}.btn-brand:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-brand:disabled{opacity:.48;cursor:not-allowed}.num,.currency,.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.text-income{color:var(--primary)}.text-expense{color:var(--danger)}.text-invest{color:var(--accent-invest)}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary)}.text-warning{color:var(--warning)}.label-caps{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}
