.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:8px;background:var(--surface);box-shadow:0 4px 12px #00000026;border-left:4px solid;animation:toast-slide-in .3s ease-out;min-width:300px}.toast-success{border-left-color:var(--success-color)}.toast-success .toast-icon{color:var(--success-color)}.toast-error{border-left-color:var(--danger-color)}.toast-error .toast-icon{color:var(--danger-color)}.toast-warning{border-left-color:var(--warning-color)}.toast-warning .toast-icon{color:var(--warning-color)}.toast-info{border-left-color:var(--primary-color)}.toast-info .toast-icon{color:var(--primary-color)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-content{flex:1;min-width:0}.toast-title{font-weight:600;font-size:.875rem;color:var(--text-primary);margin-bottom:.125rem}.toast-message{font-size:.8125rem;color:var(--text-secondary);line-height:1.4}.toast-close{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--text-muted);border-radius:4px;transition:all .2s}.toast-close:hover{background:var(--background);color:var(--text-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 480px){.toast-container{left:1rem;right:1rem;max-width:none}.toast{min-width:auto}}.dashboard{max-width:1400px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.dashboard-loading p{color:var(--text-muted)}.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.dash-card-header{display:flex;align-items:center;justify-content:space-between}.dash-card-title{display:flex;align-items:center;gap:.5rem}.dash-card-header-right{display:flex;align-items:center;gap:.75rem}.dash-card-subtitle{font-size:.875rem;color:var(--text-muted)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.header-actions{display:flex;gap:.75rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-rav-card{padding:1rem 1.25rem!important;background:linear-gradient(135deg,#1e3a5f,#2d5a87,#1e5a9e)!important;color:#fff!important;grid-column:1 / -1;position:relative;overflow:hidden;border:none!important}.kpi-rav-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.kpi-rav-card:after{content:"";position:absolute;bottom:-30%;left:-10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}[data-theme=dark] .kpi-rav-card{background:linear-gradient(135deg,#1e293b,#1e3a5f,#2d3a6f)!important;border:1px solid #334155!important}.kpi-rav-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;position:relative;z-index:1}.kpi-rav-label{font-size:.8rem;opacity:.8;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px}.kpi-rav-amount{font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.025em}.kpi-rav-daily{display:inline-flex;align-items:center;gap:.375rem;background:#ffffff26;padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:600;margin-top:.35rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kpi-rav-details{text-align:right;font-size:.85rem;opacity:.85}.kpi-rav-detail{font-size:.8rem;opacity:.85;line-height:1.4}.kpi-rav-detail-danger{color:#fca5a5}.kpi-rav-detail-savings{color:#93c5fd}.kpi-rav-detail-muted{opacity:.6;margin-top:.25rem}.kpi-rav-metrics{display:flex;justify-content:space-around;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.15);position:relative;z-index:1}.kpi-rav-metric{display:flex;align-items:center;gap:.75rem}.kpi-rav-metric-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-rav-metric-label{font-size:.7rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px;color:#fff}.kpi-rav-metric-value{font-size:1rem;font-weight:700;line-height:1.2}.kpi-value-income-light{color:#6ee7b7}.kpi-value-expense-light{color:#fca5a5}.kpi-value-budget-positive-light{color:#93c5fd}.kpi-rav-card .kpi-icon-income{background:#10b98133}.kpi-rav-card .kpi-icon-expense{background:#ef444433}.kpi-rav-card .kpi-icon-budget{background:#3b82f633}.kpi-card{padding:1.25rem!important;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.kpi-card-inner{display:flex;align-items:center;gap:.875rem}.kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-icon-income{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.kpi-icon-expense{background:linear-gradient(135deg,#fee2e2,#fecaca)}.kpi-icon-budget{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}[data-theme=dark] .kpi-icon-income{background:linear-gradient(135deg,#064e3b,#065f46)}[data-theme=dark] .kpi-icon-expense{background:linear-gradient(135deg,#7f1d1d,#991b1b)}[data-theme=dark] .kpi-icon-budget{background:linear-gradient(135deg,#1e3a5f,#1e40af)}.kpi-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.125rem}.kpi-value{font-size:1.25rem;font-weight:700;line-height:1.2}.kpi-value-income{color:var(--success-color)}.kpi-value-expense{color:var(--danger-color)}.kpi-value-budget-positive{color:var(--info-color)}.kpi-value-budget-negative{color:var(--danger-color)}.budget-progress-track{width:100%;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden;position:relative}.budget-progress-fill{height:100%;border-radius:4px;position:relative;min-width:0}.budget-progress-fill.animate-in{animation:progressGrow .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes progressGrow{0%{width:0!important}}.budget-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#fff0,#ffffff40,#fff0);animation:shimmer 2s ease-in-out infinite;border-radius:inherit}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.budget-progress-fill.status-ok{background:linear-gradient(90deg,#10b981,#34d399)}.budget-progress-fill.status-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.budget-progress-fill.status-danger{background:linear-gradient(90deg,#ef4444,#f87171)}[data-theme=dark] .budget-progress-track{background:#334155}.budget-envelope-item{padding:.75rem;background:var(--background);border-radius:8px;margin-bottom:.5rem;transition:background .15s ease}.budget-envelope-item:hover{background:var(--border-color)}[data-theme=dark] .budget-envelope-item:hover{background:#1e293b}.budget-envelope-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.budget-envelope-category{display:flex;align-items:center;gap:.5rem}.budget-envelope-category-icon{font-size:1.125rem}.budget-envelope-category-name{font-weight:600;font-size:.875rem}.budget-envelope-amounts{text-align:right}.budget-envelope-spent{font-weight:700;font-size:.875rem;color:var(--text-primary)}.budget-envelope-spent.over{color:var(--danger-color)}.budget-envelope-budgeted{color:var(--text-muted);font-size:.8rem}.budget-envelope-remaining{font-size:.75rem;margin-top:.25rem;text-align:right}.budget-envelope-remaining.over{color:var(--danger-color)}.budget-envelope-remaining.ok{color:var(--text-muted)}.doughnut-wrapper{height:220px;max-width:280px;margin:0 auto;position:relative}.doughnut-center-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.doughnut-center-amount{display:block;font-size:1.375rem;font-weight:800;color:var(--text-primary);line-height:1.2}.doughnut-center-text{display:block;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.doughnut-legend{margin-top:1rem;display:flex;flex-direction:column;gap:.125rem}.doughnut-legend-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;font-size:.85rem}.doughnut-legend-clickable{cursor:pointer;transition:background .15s ease}.doughnut-legend-clickable:hover{background:var(--background)}.doughnut-legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.doughnut-legend-icon{font-size:1rem;flex-shrink:0}.doughnut-legend-name{flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doughnut-legend-amount{font-weight:700;white-space:nowrap}.doughnut-legend-pct{font-size:.75rem;color:var(--text-muted);min-width:40px;text-align:right}.category-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.category-modal{max-width:500px;width:100%;max-height:80vh;overflow-y:auto}.category-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.category-modal-title{margin:0;display:flex;align-items:center;gap:.5rem;font-size:1.25rem}.category-modal-close{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--text-primary)}.category-modal-summary{background:var(--background);border-radius:8px;padding:1rem;margin-bottom:1rem}.category-modal-list{max-height:350px;overflow-y:auto}.recurring-section-title{padding:.5rem .75rem;margin-bottom:.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--warning-color)}.recurring-section-validated{color:var(--success-color);margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.recurring-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--background);border-radius:8px;margin-bottom:.5rem;transition:background .15s ease}.recurring-item:hover{background:var(--border-color)}[data-theme=dark] .recurring-item:hover{background:#1e293b}.recurring-item.validated{opacity:.7}.recurring-item-left{display:flex;align-items:center;gap:.75rem;flex:1}.recurring-item-icon{font-size:1.25rem}.recurring-item-name{font-weight:600;font-size:.875rem}.recurring-item-name.validated{text-decoration:line-through}.recurring-item-detail{font-size:.75rem;color:var(--text-muted)}.recurring-item-right{display:flex;align-items:center;gap:.75rem}.recurring-item-amount{font-weight:700;font-size:.9rem}.recurring-item-amount.expense{color:var(--danger-color)}.recurring-item-amount.income{color:var(--success-color)}.validate-btn{width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.validate-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 2px 8px #00000026}.validate-btn-done{border:1px solid var(--border-color);background:#d1fae5}[data-theme=dark] .validate-btn-done{background:#064e3b;border-color:#34d399}.validate-btn-pending{border:2px solid var(--primary-color);background:transparent}.transaction-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;border-bottom:1px solid var(--border-color);transition:background .1s ease}.transaction-item:hover{background:var(--background)}.transaction-item:last-child{border-bottom:none}.transaction-item-left{display:flex;align-items:center;gap:.625rem}.transaction-item-icon{font-size:1.125rem}.transaction-item-name{font-weight:500;font-size:.875rem}.transaction-item-detail{font-size:.75rem;color:var(--text-muted)}.transaction-item-amount{font-weight:700;font-size:.875rem}.transaction-item-amount.income{color:var(--success-color)}.transaction-item-amount.expense{color:var(--danger-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.empty-state{background:var(--surface);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center}.empty-icon{color:var(--text-muted);margin-bottom:1rem}.empty-state h3{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.empty-state p{color:var(--text-muted);margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto}@media (max-width: 900px){.dashboard-columns{grid-template-columns:1fr}.page-header{flex-direction:column;gap:.75rem;align-items:stretch!important}}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{width:100%}.header-actions .btn{flex:1}.kpi-grid{grid-template-columns:1fr}.kpi-rav-card{padding:1rem!important}.kpi-rav-amount{font-size:1.75rem}.kpi-rav-content{flex-direction:column}.kpi-rav-details{text-align:left}.kpi-rav-metrics{flex-direction:column;gap:.75rem}.doughnut-wrapper{height:200px}.dash-header-right{flex-wrap:wrap;justify-content:flex-start}.dash-header-right .btn{font-size:.8rem;padding:.5rem .75rem}.stats-grid{grid-template-columns:1fr}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.dashboard-grid-wrapper{position:relative}.dashboard-grid-wrapper.edit-mode .dashboard-widget-container{outline:2px dashed var(--border-color);outline-offset:-2px;border-radius:var(--radius-lg);transition:outline-color .2s ease}.dashboard-grid-wrapper.edit-mode .dashboard-widget-container:hover{outline-color:var(--primary-color)}.dashboard-grid-toolbar{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;justify-content:flex-end;flex-wrap:wrap}.dashboard-widget-container{height:100%;position:relative}.dashboard-widget-container>.card{height:100%;overflow:hidden;margin-bottom:0}.widget-edit-chrome{position:absolute;top:6px;right:6px;display:flex;align-items:center;gap:4px;z-index:10;opacity:0;transition:opacity .15s ease}.dashboard-widget-container:hover .widget-edit-chrome{opacity:1}.widget-drag-handle{cursor:grab;padding:4px;border-radius:4px;background:var(--surface);border:1px solid var(--border-color);display:flex;align-items:center;color:var(--text-muted);box-shadow:var(--shadow-sm)}.widget-drag-handle:active{cursor:grabbing}.widget-hide-btn{padding:4px;border-radius:4px;background:var(--surface);border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;color:var(--text-muted);box-shadow:var(--shadow-sm)}.widget-hide-btn:hover{color:var(--danger-color);border-color:var(--danger-color)}.widget-visibility-panel{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.75rem;box-shadow:var(--shadow-lg);z-index:20;min-width:240px}.widget-visibility-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .375rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;color:var(--text-primary)}.widget-visibility-item:hover{background:var(--background)}.widget-visibility-item input[type=checkbox]{accent-color:var(--primary-color);width:16px;height:16px}.react-grid-item.react-grid-placeholder{background:var(--primary-light)!important;border:2px dashed var(--primary-color)!important;border-radius:var(--radius-lg);opacity:.4}.react-resizable-handle{background:none!important}.react-resizable-handle:after{border-color:var(--text-muted)!important}[data-theme=dark] .widget-drag-handle,[data-theme=dark] .widget-hide-btn,[data-theme=dark] .widget-visibility-panel{background:var(--surface);border-color:var(--border-color)}.accounts-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.accounts-kpi-card{padding:1.25rem!important;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.accounts-kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.accounts-kpi-inner{display:flex;align-items:center;gap:.875rem}.accounts-kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.accounts-kpi-icon-total{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.accounts-kpi-icon-count{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.accounts-kpi-icon-positive{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.accounts-kpi-icon-negative{background:linear-gradient(135deg,#fee2e2,#fecaca)}[data-theme=dark] .accounts-kpi-icon-total{background:linear-gradient(135deg,#1e3a5f,#1e40af)}[data-theme=dark] .accounts-kpi-icon-count{background:linear-gradient(135deg,#4c1d95,#5b21b6)}[data-theme=dark] .accounts-kpi-icon-positive{background:linear-gradient(135deg,#064e3b,#065f46)}[data-theme=dark] .accounts-kpi-icon-negative{background:linear-gradient(135deg,#7f1d1d,#991b1b)}.accounts-kpi-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.125rem}.accounts-kpi-value{font-size:1.25rem;font-weight:700;line-height:1.2}.accounts-kpi-value-total{color:var(--primary-color)}.accounts-kpi-value-count{color:var(--text-primary)}.accounts-kpi-value-positive{color:var(--success-color)}.accounts-kpi-value-negative{color:var(--danger-color)}.accounts-groups{display:flex;flex-direction:column;gap:2rem}.accounts-group-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.accounts-group-title{display:flex;align-items:center;gap:.625rem}.accounts-group-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.accounts-group-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.accounts-group-count{background:var(--background);color:var(--text-muted);font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:12px;border:1px solid var(--border-color)}.accounts-group-total{font-size:1.1rem;font-weight:700}.accounts-group-total.positive{color:var(--success-color)}.accounts-group-total.negative{color:var(--danger-color)}.accounts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.account-card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.account-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}[data-theme=dark] .account-card:hover{box-shadow:0 4px 6px -1px #0006}.account-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.account-card-identity{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.account-card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.account-card-name{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-card-bank{font-size:.8rem;color:var(--text-muted);margin:0}.account-card-actions{display:flex;gap:.5rem;flex-shrink:0}.account-type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;background:var(--background);color:var(--text-secondary);border:1px solid var(--border-color)}.account-card-balance{padding:1rem;background:var(--background);border-radius:var(--radius-md);margin-top:.75rem}.account-card-balance-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.account-card-balance-label{font-size:.8rem;color:var(--text-muted)}.account-card-balance-amount{font-size:1.5rem;font-weight:700;margin:0}.account-card-balance-amount.positive{color:var(--success-color)}.account-card-balance-amount.negative{color:var(--danger-color)}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-icon:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.btn-icon-danger:hover{background:#fee2e2;border-color:var(--danger-color);color:var(--danger-color)}[data-theme=dark] .btn-icon-danger:hover{background:#7f1d1d}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:var(--background);color:var(--text-primary)}.modal-footer{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.color-picker{display:flex;gap:.625rem;flex-wrap:wrap}.color-option{width:40px;height:40px;border-radius:var(--radius-md);border:2px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--primary-light)}.accounts-empty{background:var(--surface);border:2px dashed var(--border-color);border-radius:var(--radius-lg);padding:3rem 2rem;text-align:center}.accounts-empty-icon{width:80px;height:80px;background:var(--background);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.accounts-empty h3{margin-bottom:.5rem;color:var(--text-primary)}.accounts-empty p{margin-bottom:2rem}.accounts-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}@media (max-width: 768px){.accounts-kpi-grid{grid-template-columns:1fr 1fr}.accounts-grid{grid-template-columns:1fr}.account-card{padding:1rem}.account-card-header{flex-wrap:wrap;gap:.75rem}.account-card-balance-amount{font-size:1.25rem}.modal-card{padding:1.5rem;margin:.5rem}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}@media (max-width: 480px){.accounts-kpi-grid{grid-template-columns:1fr}}.transfers-list{display:flex;flex-direction:column;gap:.75rem}.transfer-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--background);border-radius:8px;transition:background .15s ease}.transfer-item:hover{background:var(--border-color)}[data-theme=dark] .transfer-item:hover{background:#1e293b}.transfer-item.cancelled{opacity:.5}.transfer-item-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.transfer-item-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.transfer-item-icon.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.transfer-item-icon.cancelled{background:var(--border-color)}[data-theme=dark] .transfer-item-icon.active{background:linear-gradient(135deg,#1e3a5f,#1e40af)}[data-theme=dark] .transfer-item-icon.cancelled{background:#334155}.transfer-item-info{flex:1;min-width:0}.transfer-item-accounts{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;margin-bottom:.25rem;flex-wrap:wrap}.transfer-item-arrow{color:var(--text-muted);flex-shrink:0}.transfer-item-detail{font-size:.85rem;color:var(--text-muted)}.transfer-item-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.transfer-item-amount{font-size:1.125rem;font-weight:700;color:var(--primary-color)}.transfer-item-amount.cancelled{color:var(--text-muted);text-decoration:line-through}.transfer-item-actions{display:flex;gap:.5rem}.transfer-badge-cancelled{font-size:.7rem;font-weight:600;color:var(--danger-color);background:#fee2e2;padding:.2rem .5rem;border-radius:9999px}[data-theme=dark] .transfer-badge-cancelled{background:#7f1d1d}.transfers-empty{text-align:center;padding:3rem 2rem}.transfers-empty-icon{width:80px;height:80px;background:var(--background);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.transfers-empty h3{margin-bottom:.5rem}.transfers-empty p{margin-bottom:2rem}.transfer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:transferFadeIn .2s ease}@keyframes transferFadeIn{0%{opacity:0}to{opacity:1}}.transfer-modal-card{background:var(--surface);border-radius:var(--radius-lg);padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:transferModalSlide .2s ease}@keyframes transferModalSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.transfer-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.transfer-modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.transfer-modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.transfer-modal-close:hover{background:var(--background);color:var(--text-primary)}.transfer-modal-footer{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}@media (max-width: 768px){.transfer-item{flex-direction:column;align-items:flex-start;gap:.75rem}.transfer-item-right{width:100%;justify-content:space-between}.transfer-modal-card{padding:1.5rem;margin:.5rem}.transfer-modal-footer{flex-direction:column-reverse}.transfer-modal-footer .btn{width:100%}}.goals-patrimoine-card{padding:1.5rem!important;background:linear-gradient(135deg,#065f46,#047857,#059669)!important;color:#fff!important;position:relative;overflow:hidden;border:none!important;margin-bottom:2rem}.goals-patrimoine-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.goals-patrimoine-card:after{content:"";position:absolute;bottom:-30%;left:-10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}[data-theme=dark] .goals-patrimoine-card{background:linear-gradient(135deg,#064e3b,#065f46,#047857)!important;border:1px solid #10b981!important}.goals-patrimoine-content{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem;position:relative;z-index:1}.goals-patrimoine-totals{flex:1}.goals-patrimoine-row{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.25rem}.goals-patrimoine-row .goals-patrimoine-label{font-size:.8rem;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.goals-patrimoine-row .goals-patrimoine-amount{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.goals-patrimoine-row:first-child .goals-patrimoine-amount{font-size:2.2rem;font-weight:800;letter-spacing:-.025em}.goals-patrimoine-reserved{opacity:.7}.goals-patrimoine-reserved .goals-patrimoine-amount{color:#fffc}.goals-patrimoine-disponible{border-top:1px solid rgba(255,255,255,.2);padding-top:.375rem;margin-top:.25rem}.goals-patrimoine-disponible .goals-patrimoine-amount{font-size:1.8rem;font-weight:800}.goals-patrimoine-goals-summary{display:inline-flex;align-items:center;gap:.375rem;background:#ffffff26;padding:.3rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600;margin-top:.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.goals-patrimoine-breakdown{text-align:right}.goals-patrimoine-breakdown-item{margin-bottom:.375rem;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;font-size:.85rem}.goals-patrimoine-breakdown-label{opacity:.8}.goals-patrimoine-breakdown-value{font-weight:700;font-variant-numeric:tabular-nums}.goals-header{display:flex;justify-content:space-between;align-items:flex-start}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.goal-card{border-top:4px solid var(--goal-color, #10b981);transition:transform .2s ease,box-shadow .2s ease}.goal-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a}.goal-card.completed{opacity:.7}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.goal-card-identity{display:flex;align-items:center;gap:.75rem}.goal-card-icon{font-size:2rem;line-height:1}.goal-card-name{margin:0;font-size:1.125rem;font-weight:600}.goal-card-description{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.goal-card-actions{display:flex;gap:.5rem}.goal-btn-icon{padding:.5rem;border:1px solid var(--border-color);background:transparent;border-radius:.375rem;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.goal-btn-icon:hover{background:var(--primary-light, #eff6ff);border-color:var(--primary-color);color:var(--primary-color)}.goal-btn-icon-danger{color:var(--danger-color)}.goal-btn-icon-danger:hover{background:#fee2e2;border-color:var(--danger-color)}[data-theme=dark] .goal-btn-icon-danger:hover{background:#7f1d1d}.goal-progress{margin-bottom:1rem}.goal-progress-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.goal-progress-label{font-size:.875rem;color:var(--text-muted)}.goal-progress-percent{font-size:.875rem;font-weight:600}.goal-progress-track{width:100%;height:8px;background:var(--background);border-radius:9999px;overflow:hidden;margin-bottom:.5rem}[data-theme=dark] .goal-progress-track{background:#334155}.goal-progress-fill{height:100%;border-radius:9999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.goal-progress-amounts{display:flex;justify-content:space-between;font-size:.875rem}.goal-progress-current{font-weight:600}.goal-progress-target{color:var(--text-muted)}.goal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:1rem;background:var(--background);border-radius:8px;margin-bottom:1rem;font-size:.875rem}[data-theme=dark] .goal-info-grid{background:#0f172a}.goal-info-item-full{grid-column:1 / -1}.goal-info-label{color:var(--text-muted);margin-bottom:.25rem;display:flex;align-items:center;gap:.25rem;font-size:.75rem}.goal-info-value{font-weight:600}.goal-info-sub{color:var(--text-muted);font-size:.75rem}.goal-card-footer{display:flex;gap:.75rem}.goal-card-footer .btn{flex:1}.goal-completed-badge{flex:1;padding:.75rem;background:#d1fae5;color:var(--success-color);border-radius:.375rem;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5rem}[data-theme=dark] .goal-completed-badge{background:#064e3b;color:#6ee7b7}.goals-empty{grid-column:1 / -1;text-align:center;padding:3rem}.goals-empty-icon{width:80px;height:80px;background:var(--background);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.goals-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:goalsModalFadeIn .2s ease}@keyframes goalsModalFadeIn{0%{opacity:0}to{opacity:1}}.goals-modal-card{max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:goalsModalSlideIn .2s ease}@keyframes goalsModalSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.goals-modal-card-sm{max-width:400px}.goals-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.goals-modal-title{margin:0;font-size:1.25rem;font-weight:600}.goals-modal-close{background:transparent;border:none;cursor:pointer;padding:.5rem;color:var(--text-muted);border-radius:.375rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.goals-modal-close:hover{background:var(--background);color:var(--text-primary)}.goals-modal-footer{display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.goals-modal-footer .btn{flex:1}.goals-contribute-info{margin-bottom:1.5rem}.goals-contribute-info p{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}.goals-contributions-history{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.goals-contributions-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 .75rem}.goals-contribution-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--background);border-radius:6px;margin-bottom:.375rem}[data-theme=dark] .goals-contribution-item{background:#0f172a}.goals-contribution-info{display:flex;flex-direction:column}.goals-contribution-amount{font-weight:600;font-size:.875rem;color:var(--text-primary)}.goals-contribution-meta{font-size:.75rem;color:var(--text-muted)}@media (max-width: 768px){.goals-header{flex-direction:column;gap:1rem;align-items:stretch}.goals-grid{grid-template-columns:1fr}.goals-patrimoine-card{padding:1rem!important}.goals-patrimoine-amount{font-size:1.75rem}.goals-patrimoine-content{flex-direction:column}.goals-patrimoine-breakdown{text-align:left}.goals-patrimoine-breakdown-item{justify-content:flex-start}.goals-modal-footer{flex-direction:column-reverse}}.demo-page h1{font-size:1.75rem;font-weight:800;margin-bottom:.5rem}.demo-page>p{color:var(--text-secondary);margin-bottom:2rem}.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 1200px){.demo-grid{grid-template-columns:1fr}}.demo-section{border-radius:12px;overflow:hidden;border:1px solid var(--border-color)}.demo-section-header{padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.15)}.demo-section-header h2{font-size:1.1rem;font-weight:700;color:#fff;margin:0}.demo-section-header .demo-tag{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;background:#fff3;color:#fff;font-weight:600;margin-left:auto}.demo-section-body{padding:1.25rem;background:var(--surface);display:flex;flex-direction:column;gap:1.25rem}.demo-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.demo-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:.5rem}.demo-tailwind .demo-section-header{background:linear-gradient(135deg,#0ea5e9,#06b6d4)}.tw-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .15s}.tw-btn-primary{background:#3b82f6;color:#fff}.tw-btn-primary:hover{background:#2563eb}.tw-btn-secondary{background:#e5e7eb;color:#374151}.tw-btn-secondary:hover{background:#d1d5db}.tw-btn-danger{background:#ef4444;color:#fff}.tw-btn-danger:hover{background:#dc2626}.tw-btn-outline{background:transparent;color:#3b82f6;border:1px solid #3b82f6}.tw-btn-outline:hover{background:#eff6ff}.tw-btn-sm{padding:.375rem .75rem;font-size:.8rem}.tw-btn-lg{padding:.625rem 1.5rem;font-size:1rem}.tw-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;box-shadow:0 1px 2px #0000000d}.tw-card-title{font-weight:600;font-size:.95rem;color:#111827;margin-bottom:.25rem}.tw-card-text{font-size:.85rem;color:#6b7280}.tw-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;color:#111827}.tw-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.tw-input-group{display:flex;flex-direction:column;gap:.25rem;flex:1}.tw-input-label{font-size:.8rem;font-weight:500;color:#374151}.tw-badge{display:inline-flex;align-items:center;padding:.125rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px}.tw-badge-blue{background:#dbeafe;color:#1e40af}.tw-badge-green{background:#dcfce7;color:#166534}.tw-badge-red{background:#fee2e2;color:#991b1b}.tw-badge-yellow{background:#fef3c7;color:#92400e}.tw-table{width:100%;border-collapse:collapse;font-size:.85rem}.tw-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb;font-size:.75rem;text-transform:uppercase}.tw-table td{padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;color:#374151}.tw-table tr:hover td{background:#f9fafb}.demo-shadcn .demo-section-header{background:linear-gradient(135deg,#18181b,#27272a)}.sh-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;border:none;cursor:pointer;transition:all .15s}.sh-btn-primary{background:#18181b;color:#fafafa}.sh-btn-primary:hover{background:#27272a}.sh-btn-secondary{background:#f4f4f5;color:#18181b}.sh-btn-secondary:hover{background:#e4e4e7}.sh-btn-destructive{background:#ef4444;color:#fff}.sh-btn-destructive:hover{background:#dc2626}.sh-btn-outline{background:transparent;border:1px solid #e4e4e7;color:#18181b}.sh-btn-outline:hover{background:#f4f4f5}.sh-btn-ghost{background:transparent;color:#18181b;border:none}.sh-btn-ghost:hover{background:#f4f4f5}.sh-card{background:#fff;border:1px solid #e4e4e7;border-radius:.5rem;padding:1.25rem;box-shadow:0 1px 2px #0000000a}.sh-card-title{font-weight:600;font-size:.95rem;color:#09090b;margin-bottom:.25rem}.sh-card-desc{font-size:.85rem;color:#71717a}.sh-input{width:100%;padding:.5rem .75rem;border:1px solid #e4e4e7;border-radius:.375rem;font-size:.875rem;outline:none;transition:all .15s;background:transparent;color:#09090b}.sh-input:focus{border-color:#18181b;box-shadow:0 0 0 2px #18181b0d}.sh-input-group{display:flex;flex-direction:column;gap:.375rem;flex:1}.sh-input-label{font-size:.8rem;font-weight:500;color:#09090b}.sh-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600;border-radius:9999px;border:1px solid transparent}.sh-badge-default{background:#18181b;color:#fafafa}.sh-badge-secondary{background:#f4f4f5;color:#18181b;border-color:#e4e4e7}.sh-badge-destructive{background:#ef4444;color:#fff}.sh-badge-outline{background:transparent;color:#18181b;border-color:#e4e4e7}.sh-table{width:100%;border-collapse:collapse;font-size:.85rem}.sh-table th{text-align:left;padding:.625rem .75rem;font-weight:500;color:#71717a;border-bottom:1px solid #e4e4e7;font-size:.8rem}.sh-table td{padding:.625rem .75rem;border-bottom:1px solid #f4f4f5;color:#09090b}.sh-table tr:hover td{background:#fafafa}.demo-mui .demo-section-header{background:linear-gradient(135deg,#1976d2,#1565c0)}.mui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:all .2s;box-shadow:0 2px 4px #00000026}.mui-btn-contained{background:#1976d2;color:#fff}.mui-btn-contained:hover{background:#1565c0;box-shadow:0 4px 8px #0003}.mui-btn-outlined{background:transparent;color:#1976d2;border:1px solid rgba(25,118,210,.5);box-shadow:none}.mui-btn-outlined:hover{background:#1976d20a;border-color:#1976d2}.mui-btn-text{background:transparent;color:#1976d2;box-shadow:none;border:none}.mui-btn-text:hover{background:#1976d20a}.mui-btn-error{background:#d32f2f;color:#fff}.mui-btn-error:hover{background:#c62828}.mui-card{background:#fff;border-radius:4px;padding:1rem;box-shadow:0 2px 1px -1px #0000001f,0 1px 1px #00000014,0 1px 3px #0000000f}.mui-card-title{font-weight:500;font-size:1rem;color:#000000de;margin-bottom:.25rem}.mui-card-text{font-size:.875rem;color:#0009}.mui-input-group{display:flex;flex-direction:column;gap:.25rem;flex:1;position:relative}.mui-input-label{font-size:.75rem;font-weight:400;color:#0009}.mui-input{width:100%;padding:.625rem .75rem;border:none;border-bottom:2px solid rgba(0,0,0,.42);font-size:.875rem;outline:none;transition:border-color .2s;background:transparent;color:#000000de}.mui-input:focus{border-bottom-color:#1976d2}.mui-chip{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.8125rem;border-radius:16px;font-weight:400}.mui-chip-filled{background:#e3f2fd;color:#1976d2}.mui-chip-success{background:#e8f5e9;color:#2e7d32}.mui-chip-error{background:#fce4ec;color:#c62828}.mui-chip-outlined{background:transparent;border:1px solid rgba(0,0,0,.23);color:#000000de}.mui-table{width:100%;border-collapse:collapse;font-size:.875rem}.mui-table th{text-align:left;padding:.75rem 1rem;font-weight:500;color:#000000de;border-bottom:2px solid rgba(0,0,0,.12);font-size:.8rem}.mui-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);color:#000000de}.mui-table tr:hover td{background:#00000005}.demo-antd .demo-section-header{background:linear-gradient(135deg,#1677ff,#0958d9)}.ant-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .9375rem;border-radius:6px;font-size:.875rem;font-weight:400;border:1px solid transparent;cursor:pointer;transition:all .2s;line-height:1.5}.ant-btn-primary{background:#1677ff;color:#fff;border-color:#1677ff}.ant-btn-primary:hover{background:#4096ff;border-color:#4096ff}.ant-btn-default{background:#fff;color:#000000e0;border-color:#d9d9d9}.ant-btn-default:hover{color:#1677ff;border-color:#1677ff}.ant-btn-dashed{background:#fff;color:#000000e0;border:1px dashed #d9d9d9}.ant-btn-dashed:hover{color:#1677ff;border-color:#1677ff}.ant-btn-danger{background:#ff4d4f;color:#fff;border-color:#ff4d4f}.ant-btn-danger:hover{background:#ff7875}.ant-card{background:#fff;border:1px solid #f0f0f0;border-radius:8px;padding:1rem}.ant-card-title{font-weight:600;font-size:.95rem;color:#000000e0;margin-bottom:.25rem}.ant-card-text{font-size:.85rem;color:#00000073}.ant-input-group{display:flex;flex-direction:column;gap:.375rem;flex:1}.ant-input-label{font-size:.8rem;font-weight:400;color:#000000e0}.ant-input{width:100%;padding:.375rem .6875rem;border:1px solid #d9d9d9;border-radius:6px;font-size:.875rem;outline:none;transition:all .2s;background:#fff;color:#000000e0}.ant-input:focus{border-color:#1677ff;box-shadow:0 0 0 2px #0591ff1a}.ant-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.75rem;border-radius:4px;border:1px solid}.ant-tag-blue{background:#e6f4ff;color:#1677ff;border-color:#91caff}.ant-tag-green{background:#f6ffed;color:#52c41a;border-color:#b7eb8f}.ant-tag-red{background:#fff2f0;color:#ff4d4f;border-color:#ffccc7}.ant-tag-gold{background:#fffbe6;color:#faad14;border-color:#ffe58f}.ant-tbl{width:100%;border-collapse:collapse;font-size:.85rem}.ant-tbl th{text-align:left;padding:.625rem .75rem;font-weight:600;color:#000000e0;background:#fafafa;border-bottom:1px solid #f0f0f0;font-size:.8rem}.ant-tbl td{padding:.625rem .75rem;border-bottom:1px solid #f0f0f0;color:#000000e0}.ant-tbl tr:hover td{background:#fafafa}:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--primary-light: #dbeafe;--secondary-color: #64748b;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--info-color: #3b82f6;--background: #f8fafc;--surface: #ffffff;--border-color: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem}[data-theme=dark]{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-light: #1e3a5f;--secondary-color: #94a3b8;--success-color: #34d399;--warning-color: #fbbf24;--danger-color: #f87171;--info-color: #60a5fa;--background: #0f172a;--surface: #1e293b;--border-color: #334155;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4)}[data-theme=dark] .card:hover{box-shadow:0 4px 6px -1px #0006}[data-theme=dark] .form-control{background:#0f172a;color:#f1f5f9}[data-theme=dark] .btn-outline{border-color:#334155;color:#f1f5f9}[data-theme=dark] .btn-outline:hover{background:#334155}[data-theme=dark] .alert-success{background:#064e3b;color:#6ee7b7;border-color:#34d399}[data-theme=dark] .alert-error{background:#7f1d1d;color:#fca5a5;border-color:#f87171}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);line-height:1.6}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--text-primary)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}p{color:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.page-header{margin-bottom:var(--spacing-xl)}.page-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.page-description{color:var(--text-secondary);font-size:.95rem}.card{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-lg)}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.card-body{padding:var(--spacing-md) 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.625rem 1.25rem;font-size:.95rem;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--secondary-color);color:#fff}.btn-success{background:var(--success-color);color:#fff}.btn-danger{background:var(--danger-color);color:#fff}.btn-outline{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.btn-outline:hover{background:var(--background)}.btn-sm{padding:.375rem .875rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1.05rem}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-primary);font-size:.95rem}.form-label-required:after{content:"*";color:var(--danger-color);margin-left:.25rem}.form-control{width:100%;padding:.625rem 1rem;font-size:.95rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-control:disabled{background:var(--background);cursor:not-allowed}select.form-control{cursor:pointer}textarea.form-control{resize:vertical;min-height:100px}.form-error{color:var(--danger-color);font-size:.875rem;margin-top:var(--spacing-xs)}.form-help{color:var(--text-muted);font-size:.875rem;margin-top:var(--spacing-xs)}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-success{color:var(--success-color)}.text-danger{color:var(--danger-color)}.text-warning{color:var(--warning-color)}.text-muted{color:var(--text-muted)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.w-full{width:100%}.h-full{height:100%}.spinner{border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.alert-success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.alert-warning{background:#fef3c7;color:#92400e;border:1px solid #f59e0b}.alert-info{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}@media (max-width: 768px){:root{--spacing-lg: 1rem;--spacing-xl: 1.5rem}.container{padding:0 var(--spacing-md)}.page-title{font-size:1.5rem}.card{padding:var(--spacing-md)}}[data-theme=dark] .cat-tag{background:#334155!important;border-color:#475569!important;color:#e2e8f0!important}[data-theme=dark] .cat-tag.selected{background:var(--primary-light)!important;border-color:var(--primary-color)!important;color:#93c5fd!important}[data-theme=dark] .cat-tag-income.selected{background:#064e3b!important;border-color:var(--success-color)!important;color:#6ee7b7!important}[data-theme=dark] select.form-control{background:#0f172a!important;color:#f1f5f9!important}[data-theme=dark] select.form-control option{background:#1e293b;color:#f1f5f9}[data-theme=dark] input[type=date].form-control{color-scheme:dark}[data-theme=dark] input[type=number].form-control{background:#0f172a!important;color:#f1f5f9!important}[data-theme=dark] .toast{background:#1e293b;box-shadow:0 4px 12px #00000080}[data-theme=dark] .toast-title{color:#f1f5f9}[data-theme=dark] .toast-message{color:#94a3b8}@media (max-width: 768px){.card{padding:.75rem!important}.card-header{flex-direction:column;gap:.5rem;align-items:flex-start!important}.grid-cols-2,.grid.grid-cols-2{display:grid!important;grid-template-columns:1fr!important;gap:1rem!important}.settings-tabs{flex-wrap:nowrap!important;gap:0!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-tabs::-webkit-scrollbar{display:none}.settings-tabs button{padding:.625rem .75rem!important;font-size:.8rem!important;white-space:nowrap;flex-shrink:0}.settings-tabs button svg{display:none!important}.settings-tabs button[disabled]{display:none!important}.mobile-filter-btn{display:flex!important}.filters-card{display:none!important}.filters-card.show{display:block!important}.main-content{overflow-x:hidden!important;width:100%!important}.main-content main{padding:1rem!important;overflow-x:hidden!important}.tx-actions{gap:.25rem!important}.tx-actions button{padding:.25rem!important}.tx-amount{font-size:.9rem!important}.tx-right{gap:.5rem!important;flex-shrink:0}.action-buttons{flex-wrap:wrap!important;gap:.5rem!important}.action-buttons .btn{font-size:.8rem!important;padding:.5rem .75rem!important}}.goals-icon-trigger{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .875rem;border:1px solid var(--border-color);background:var(--card-bg, #fff);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.goals-icon-trigger:hover{border-color:var(--primary-color);background:var(--background)}.goals-icon-trigger-preview{font-size:1.75rem;line-height:1;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--background);border-radius:.5rem}[data-theme=dark] .goals-icon-trigger-preview{background:#1e293b}.goals-icon-trigger-text{flex:1;text-align:left;font-size:.875rem;color:var(--text-secondary)}.goals-icon-trigger-arrow{font-size:.875rem;color:var(--text-muted);transition:transform .2s ease}.goals-icon-trigger-arrow.open{transform:rotate(180deg)}.goals-icon-picker-panel{margin-top:.5rem;border:1px solid var(--border-color);border-radius:.75rem;background:var(--card-bg, #fff);overflow:hidden;animation:iconPanelSlideIn .2s ease;max-height:350px;display:flex;flex-direction:column}[data-theme=dark] .goals-icon-picker-panel{background:#1e293b;border-color:#334155}@keyframes iconPanelSlideIn{0%{opacity:0;transform:translateY(-4px);max-height:0}to{opacity:1;transform:translateY(0);max-height:350px}}.goals-icon-search{width:100%;padding:.625rem .875rem;border:none;border-bottom:1px solid var(--border-color);background:transparent;font-size:.85rem;color:var(--text-primary);outline:none}.goals-icon-search::placeholder{color:var(--text-muted)}.goals-icon-categories{overflow-y:auto;flex:1}.goals-icon-category{border-bottom:1px solid var(--border-color)}.goals-icon-category:last-child{border-bottom:none}.goals-icon-category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .875rem;background:transparent;border:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--text-primary);transition:background .15s ease}.goals-icon-category-header:hover{background:var(--background)}[data-theme=dark] .goals-icon-category-header:hover{background:#0f172a}.goals-icon-category-header.expanded{background:var(--background);font-weight:600}[data-theme=dark] .goals-icon-category-header.expanded{background:#0f172a}.goals-icon-category-arrow{font-size:.75rem;color:var(--text-muted);transition:transform .2s ease}.goals-icon-category-arrow.open{transform:rotate(180deg)}.goals-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:.25rem;padding:.5rem .75rem .75rem;animation:iconGridFadeIn .15s ease}@keyframes iconGridFadeIn{0%{opacity:0}to{opacity:1}}.goals-icon-option{padding:.375rem;font-size:1.4rem;border:2px solid transparent;background:transparent;border-radius:.5rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;aspect-ratio:1}.goals-icon-option:hover{background:var(--background);transform:scale(1.15)}[data-theme=dark] .goals-icon-option:hover{background:#334155}.goals-icon-option.active{border-color:var(--primary-color);background:var(--primary-light, #eff6ff);transform:scale(1.1)}[data-theme=dark] .goals-icon-option.active{background:#1e3a5f}
