.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:.95rem;font-weight:500;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:active{transform:translateY(1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-high);border:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface);border-color:var(--border-color-strong);filter:brightness(1.1)}.btn-danger{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid var(--status-danger)}.btn-danger:hover:not(:disabled){background:var(--status-danger);color:#fff}.btn-icon{padding:var(--space-2);background:transparent;color:var(--text-low);border-radius:var(--radius-full)}.btn-icon:hover:not(:disabled){color:var(--text-high);background:var(--bg-surface)}.btn-icon.btn-danger-icon{color:var(--status-danger);opacity:.5}.btn-icon.btn-danger-icon:hover:not(:disabled){opacity:1;color:var(--status-danger);background:var(--status-danger-bg)}.btn.loading .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-8)}.login-container{width:100%;max-width:400px;text-align:center}.login-logo{margin-bottom:var(--space-8)}.logo-icon{width:80px;height:80px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-6);box-shadow:var(--shadow-glow)}.logo-icon i{font-size:2.5rem;color:#fff}.login-logo h1{font-size:2rem;font-weight:700;margin-bottom:var(--space-2);color:var(--text-high)}.login-logo .subtitle{color:var(--text-low);font-size:1rem}.login-form{background:var(--bg-panel);padding:var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-form .input-group{position:relative;margin-bottom:var(--space-6)}.login-form .input-group i{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--text-low)}.login-form .input-group input{width:100%;padding:.875rem 1rem .875rem 2.75rem;background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-high);font-size:1rem;transition:var(--transition)}.login-form .input-group input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.login-form .btn{width:100%}.error-message{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--status-danger);font-size:.9rem;margin-bottom:var(--space-4);padding:var(--space-3);background:var(--status-danger-bg);border-radius:var(--radius-sm)}.login-hint{margin-top:var(--space-6);color:var(--text-low);font-size:.85rem}@media(max-width:480px){.login-screen{padding:var(--space-4)}.login-form{padding:var(--space-5);border-radius:var(--radius-md)}.login-logo h1{font-size:1.5rem}.logo-icon{width:60px;height:60px;margin-bottom:var(--space-4)}.logo-icon i{font-size:2rem}.login-logo{margin-bottom:var(--space-6)}.login-form .input-group{margin-bottom:var(--space-4)}}.date-range-filter{display:flex;flex-direction:column;gap:var(--space-3)}.date-presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.date-preset-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border-color-subtle);border-radius:var(--radius-full);background:transparent;color:var(--text-low);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.date-preset-chip:hover{border-color:var(--brand-primary);color:var(--text-high);background:var(--bg-surface)}.date-preset-chip.active{border-color:var(--brand-primary);background:var(--brand-alpha);color:var(--brand-primary);font-weight:600}.date-preset-chip i{font-size:.875rem}.date-custom-inputs{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle)}.date-input-group{display:flex;flex-direction:column;gap:var(--space-1)}.date-input-group label{font-size:var(--text-xs);color:var(--text-low);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.date-input-group input[type=date]{padding:var(--space-2) var(--space-3);border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-high);font-size:var(--text-sm);font-family:inherit}.date-input-group input[type=date]:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.date-separator{color:var(--text-low);font-size:var(--text-lg);padding-bottom:var(--space-2)}@media(max-width:600px){.date-custom-inputs{flex-direction:column;align-items:stretch}.date-separator{text-align:center;padding:0}}.cat-breakdown{background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.catb-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.catb-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.catb-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.04em}.catb-title i{font-size:1rem;color:var(--brand-primary)}.catb-toggle{display:flex;gap:2px;padding:2px;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-color-subtle)}.catb-toggle-btn{padding:var(--space-1) var(--space-3);border:none;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--text-low);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.catb-toggle-btn:hover{color:var(--text-high)}.catb-toggle-btn.active{background:var(--brand-primary);color:#fff;box-shadow:0 1px 3px #00000040}.catb-body{display:flex;flex-direction:column;gap:var(--space-4);flex:1;min-height:0}.catb-donut-wrap{width:320px;height:320px;margin:var(--space-2) auto;position:relative;flex-shrink:0}.catb-donut-wrap canvas{width:100%!important;height:100%!important}.catb-bars{display:flex;flex-direction:column;gap:var(--space-2);overflow-y:auto;max-height:300px;scrollbar-width:thin;scrollbar-color:var(--border-color-subtle) transparent}.catb-bars::-webkit-scrollbar{width:4px}.catb-bars::-webkit-scrollbar-thumb{background:var(--border-color-subtle);border-radius:2px}.catb-row{animation:catb-slide-in .35s ease-out both}@keyframes catb-slide-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.catb-row-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.catb-dot{flex-shrink:0;width:8px;height:8px;border-radius:2px}.catb-label{flex:1;min-width:0;font-size:var(--text-xs);font-weight:500;color:var(--text-high);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catb-value{font-size:var(--text-xs);font-weight:600;color:var(--text-high);white-space:nowrap}.catb-pct{font-size:10px;font-weight:500;color:var(--text-low);min-width:34px;text-align:right}.catb-track{width:100%;height:6px;background:var(--bg-surface);border-radius:3px;overflow:hidden}.catb-fill{height:100%;border-radius:3px;transition:width .6s cubic-bezier(.22,1,.36,1);min-width:3px}.catb-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:200px;color:var(--text-low);font-size:var(--text-sm)}.catb-empty i{font-size:1.5rem;opacity:.4}.catb-detail-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;padding:var(--space-2) 0;border:none;border-top:1px solid var(--border-color-subtle);background:transparent;color:var(--text-low);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:color .2s ease}.catb-detail-toggle:hover{color:var(--brand-primary)}.catb-detail-toggle i{font-size:1rem;transition:transform .2s ease}@media(min-width:960px){.catb-body{display:grid;grid-template-columns:280px 1fr;column-gap:var(--space-6);align-items:start}.catb-donut-wrap{grid-column:1;grid-row:1 / 3;width:280px;height:280px;margin:0}.catb-detail-toggle{display:none}.catb-bars{grid-column:2;grid-row:1;max-height:none;overflow:visible}}@media(max-width:480px){.catb-donut-wrap{width:200px;height:200px}}.dashboard-v2{display:flex;flex-direction:column;gap:var(--space-5)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.dashboard-title-row{display:flex;align-items:center;gap:var(--space-3)}.dashboard-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl);font-weight:700;color:var(--text-high);margin:0}.dashboard-title i{color:var(--brand-primary);font-size:1.4rem}.dashboard-header-actions{display:flex;align-items:center;gap:var(--space-3)}.dashboard-refresh{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-low);cursor:pointer;transition:all .15s}.dashboard-refresh:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.dashboard-refresh.spinning i{animation:dash-spin .8s linear infinite}@keyframes dash-spin{to{transform:rotate(360deg)}}.dashboard-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--status-danger-bg);color:var(--status-danger);border-radius:var(--radius-md);font-size:var(--text-sm)}.patrimonio-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-1);padding:var(--space-8, 2rem) var(--space-6);background:linear-gradient(135deg,#4338ca,#6d28d9 55%,#9333ea);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.12);color:#fff;box-shadow:0 0 0 1px #4f46e566,0 12px 40px #4f46e559,inset 0 1px #ffffff1f}.patrimonio-card:before{content:"";position:absolute;top:-50px;right:-50px;width:240px;height:240px;background:#ffffff0d;border-radius:50%;pointer-events:none}.patrimonio-card:after{content:"";position:absolute;bottom:-70px;left:30%;width:180px;height:180px;background:#ffffff0a;border-radius:50%;pointer-events:none}.patrimonio-main{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative;z-index:1}.patrimonio-label{display:flex;align-items:center;gap:var(--space-2);font-size:.68rem;font-weight:600;opacity:.65;letter-spacing:.12em;text-transform:uppercase}.patrimonio-label i{font-size:.85rem}.patrimonio-amount{font-size:2.8rem;font-weight:800;letter-spacing:-.04em;line-height:1;text-shadow:0 4px 16px rgba(0,0,0,.2)}.patrimonio-breakdown{display:flex;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center}.pb-item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;padding:5px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap}.pb-item i{font-size:.8rem;opacity:.85}.dashboard-body{display:grid;grid-template-columns:5fr 3fr;gap:var(--space-5);align-items:start;min-width:0}.dashboard-body>*{min-width:0;overflow:hidden}.dashboard-body-aside{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.dashboard-body-aside:first-child{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}@media(max-width:1400px){.dashboard-body{grid-template-columns:1fr}.dashboard-body-aside,.dashboard-body-aside:first-child{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}}.rm-progress-wrap{padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--border-color-subtle)}.rm-progress-track{height:5px;background:var(--bg-surface);border-radius:999px;overflow:hidden}.rm-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#4ade80);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}.rm-progress-stats{display:flex;justify-content:space-between;font-size:11px;color:var(--text-low)}.rm-paid{color:var(--status-success);font-weight:600}.rm-item-left{display:flex;align-items:center;gap:var(--space-2)}.rm-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dashboard-empty-apps{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center}.dashboard-empty-apps i{font-size:3rem;color:var(--text-low);opacity:.3}.dashboard-empty-apps h3{color:var(--text-high);font-size:var(--text-lg);font-weight:600;margin:0}.dashboard-empty-apps p{color:var(--text-low);font-size:var(--text-sm);margin:0}.patrimonio-icon-side{display:none}@media(max-width:700px){.dashboard-header{flex-wrap:wrap;gap:var(--space-3)}}@media(max-width:540px){.patrimonio-card{padding:var(--space-5) var(--space-4)}.patrimonio-amount{font-size:1.9rem}.pb-item{padding:4px 8px;font-size:.68rem}}@media(max-width:400px){.patrimonio-amount{font-size:1.6rem}.patrimonio-card{padding:var(--space-4) var(--space-3)}.patrimonio-breakdown{gap:var(--space-2)}.pb-item{padding:3px 6px;font-size:.62rem}}.widget-card{padding:0;overflow:hidden}.widget-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-subtle)}.widget-header h3{margin:0;font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-2)}.widget-badge{background:var(--brand-primary);color:#fff;font-size:var(--text-xs);font-weight:700;padding:.15rem .5rem;border-radius:999px;min-width:22px;text-align:center}.widget-list{display:flex;flex-direction:column}.widget-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border-color-subtle);transition:background .15s}.widget-list-item:last-child{border-bottom:none}.widget-list-item:hover{background:var(--bg-surface)}.widget-list-item-main{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.widget-list-item-name{font-weight:500;color:var(--text-high);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-list-item-date{color:var(--text-low);font-size:var(--text-xs)}.widget-list-item-amount{font-weight:600;font-size:var(--text-sm);flex-shrink:0;margin-left:var(--space-2)}.widget-list-item-amount.positive{color:var(--status-success)}.widget-list-item-amount.negative{color:var(--text-high)}.widget-goal-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-subtle);display:flex;flex-direction:column;gap:var(--space-2)}.widget-goal-item:last-child{border-bottom:none}.widget-goal-header{display:flex;justify-content:space-between;align-items:center}.widget-goal-progress-text{font-weight:600;font-size:var(--text-xs);color:var(--text-low)}.widget-goal-bar{height:6px;border-radius:3px;background:var(--bg-panel);overflow:hidden}.widget-goal-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.widget-goal-footer{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--text-low)}.dashboard-widgets{display:flex;flex-direction:column;gap:var(--space-4)}.net-worth-widget .widget-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-weight:600;font-size:var(--font-sm);color:var(--text-primary);border-bottom:1px solid var(--border-color-subtle)}.net-worth-widget .widget-header i{color:var(--brand-primary);font-size:1.1em}.rm-header-actions{display:flex;align-items:center;gap:var(--space-2)}.rm-toggle-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-low);cursor:pointer;transition:all .2s}.rm-toggle-btn:hover{color:var(--text-high);background:var(--bg-surface)}.rm-toggle-btn.active{background:var(--brand-alpha);color:var(--brand-primary);border-color:var(--brand-primary)}.rm-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:var(--space-3);background:var(--bg-panel)}.rm-cal-day-header{font-size:10px;font-weight:600;color:var(--text-low);text-align:center;padding-bottom:4px;text-transform:uppercase}.rm-cal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;border-radius:var(--radius-sm);background:#ffffff05;position:relative;border:1px solid transparent}.rm-cal-day:hover{background:#ffffff0d}.rm-cal-day.today{border-color:var(--brand-primary);color:var(--brand-primary);font-weight:700;background:var(--brand-alpha)}.rm-cal-day.empty{background:transparent;border-color:transparent}.rm-cal-dots{display:flex;gap:2px;position:absolute;bottom:3px;max-width:80%;justify-content:center;flex-wrap:wrap}.rm-cal-dot{width:4px;height:4px;border-radius:50%}.rm-cal-list-day{padding:0;margin:0}.rm-cal-day-details{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-color-subtle)}.rm-cal-day-details-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-low);font-weight:600;margin-bottom:var(--space-2);padding:0 var(--space-4)}.rm-cal-day.selected{box-shadow:0 0 0 2px var(--bg-panel),0 0 0 4px var(--brand-primary)}@media(max-width:480px){.widget-header{padding:var(--space-3)}.widget-list-item{padding:var(--space-2) var(--space-3);flex-direction:column;align-items:flex-start;gap:var(--space-1)}.widget-list-item-amount{align-self:flex-end;margin-left:0}.widget-goal-item{padding:var(--space-2) var(--space-3)}}.toast-container{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg);color:#fff;font-weight:500;display:flex;align-items:center;gap:var(--space-2);box-shadow:var(--shadow-md);animation:toast-slide-up .3s ease-out;pointer-events:auto}.toast--success{background:var(--status-success)}.toast--error{background:var(--status-danger)}@keyframes toast-slide-up{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.tokens-search-bar{display:flex;align-items:center;gap:var(--space-2);background:#ffffff09;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);transition:border-color .2s ease}.tokens-search-bar:focus-within{border-color:#8b5cf673;background:#ffffff0d}.tokens-search-bar__icon{font-size:.9rem;color:var(--text-low);flex-shrink:0}.tokens-search-bar__input{flex:1;background:none;border:none;outline:none;font-size:.875rem;color:var(--text-base);font-family:inherit}.tokens-search-bar__input::placeholder{color:var(--text-low);opacity:.6}.tokens-search-bar__clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ffffff0f;border:none;border-radius:var(--radius-full);color:var(--text-low);cursor:pointer;font-size:.75rem;transition:background .15s ease,color .15s ease;flex-shrink:0}.tokens-search-bar__clear:hover{background:#ffffff1f;color:var(--text-high)}.tokens-table{width:100%}.tokens-header,.tokens-row{display:grid;grid-template-columns:2fr 1fr .9fr 1.4fr 1fr 1fr;gap:var(--space-3)}.tokens-header>*,.tokens-row>*{min-width:0}.tokens-header{padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-1)}.col-header{display:flex;align-items:center;gap:2px;white-space:nowrap}.col-header--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s ease;justify-content:flex-end}.col-header--sortable:hover{color:var(--text-base)}.col-header--active{color:var(--brand-primary)!important}.sort-arrow{font-size:.625rem;opacity:.6;font-style:normal}.tokens-header .col-price,.tokens-header .col-change,.tokens-header .col-qty,.tokens-header .col-value,.tokens-header .col-allocation{text-align:right}.tokens-row{padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.tokens-row:last-of-type{border-bottom:none}.tokens-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.col-token{display:flex;align-items:center;gap:var(--space-3)}.token-icon-wrap{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;background:#ffffff0a}.token-icon-wrap i{font-size:1.125rem}.token-logo{width:28px;height:28px;border-radius:50%;object-fit:contain}.token-chain-dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-app)}.token-name-group{display:flex;flex-direction:column;gap:1px;min-width:0}.token-symbol{font-weight:600;font-size:.875rem;color:var(--text-high);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.token-chain-label{font-size:.6875rem;color:var(--text-low);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.col-price,.col-change,.col-qty,.col-value,.col-allocation{text-align:right}.price-value{font-size:.8125rem;color:var(--text-base);font-variant-numeric:tabular-nums}.col-change{display:flex;align-items:center;justify-content:flex-end}.change-badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;font-family:var(--font-mono);letter-spacing:-.01em;white-space:nowrap}.change-badge.positive{color:var(--status-success);background:#18c9641f;border:1px solid rgba(24,201,100,.22)}.change-badge.negative{color:var(--status-danger);background:#ef44441f;border:1px solid rgba(239,68,68,.22)}.change-badge--none{color:var(--text-low);opacity:.4;background:transparent;border:none;font-size:.875rem;font-family:inherit;font-weight:400}.qty-value{font-size:.8125rem;color:var(--text-base);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.value-amount{font-weight:600;font-size:.875rem;color:var(--text-high);font-variant-numeric:tabular-nums}.col-allocation{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.allocation-pct{font-size:.75rem;font-weight:600;color:var(--text-base);font-family:var(--font-mono);letter-spacing:-.01em}.allocation-bar{width:100%;height:3px;background:#ffffff12;border-radius:2px;overflow:hidden}.allocation-bar__fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),#a78bfa);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);min-width:2px}.tokens-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3) var(--space-1);border-top:1px solid rgba(255,255,255,.06);margin-top:var(--space-2)}.tokens-footer__count{font-size:.75rem;color:var(--text-low)}.tokens-footer__total{font-size:.875rem;font-weight:700;color:var(--text-high)}@media(max-width:768px){.tokens-header,.tokens-row{grid-template-columns:2fr 1fr .9fr 1fr 1fr}.tokens-header .col-qty,.tokens-row .col-qty{display:none}}@media(max-width:640px){.tokens-table{display:flex;flex-direction:column;gap:var(--space-2)}.tokens-header{display:none}.tokens-row{grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-3);align-items:start;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.tokens-row:last-of-type{border-bottom:1px solid var(--border-color-subtle)}.tokens-row:hover{background:var(--bg-hover);border-radius:var(--radius-md)}.col-token{grid-column:1 / -1}.col-price,.col-change,.col-qty,.col-value,.col-allocation{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:var(--space-1)}.col-price:before,.col-change:before,.col-qty:before,.col-value:before,.col-allocation:before{content:attr(data-label);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-low)}.col-allocation{grid-column:1 / -1;align-items:stretch}.col-allocation .allocation-pct{align-self:flex-start}}.defi-view{display:flex;flex-direction:column;gap:var(--space-6)}.defi-protocol{display:flex;flex-direction:column;gap:var(--space-3)}.defi-protocol__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.defi-protocol__info{display:flex;align-items:center;gap:var(--space-3);min-width:0}.defi-protocol__icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.125rem}.defi-protocol__name{font-weight:600;font-size:1rem;color:var(--text-high);display:flex;align-items:center;gap:var(--space-2);min-width:0;flex-wrap:wrap}.defi-protocol__wallet{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-primary);background:#8b5cf61f;padding:1px 6px;border-radius:var(--radius-full);line-height:1.5}.defi-protocol__value{font-size:1rem;font-weight:700;color:var(--text-high);font-variant-numeric:tabular-nums;flex-shrink:0}.defi-status{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid rgba(255,255,255,.06);flex-wrap:wrap}.defi-status__badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:#ffffff0f;color:var(--text-base);line-height:1}.defi-status__hf{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-low)}.defi-status__hf-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.defi-status__hf-value{font-weight:700;font-family:var(--font-mono)}.defi-status__risk{font-size:.75rem;color:var(--text-low);margin-left:auto}.defi-status__risk strong{color:var(--text-high);font-weight:600}.defi-status__sep{margin:0 var(--space-2);opacity:.3}.hf-bar-wrapper{padding:var(--space-3) 0 var(--space-2);border-bottom:1px solid rgba(255,255,255,.05)}.hf-bar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.hf-bar-label{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--text-low);font-weight:500}.hf-bar-label__badge{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;letter-spacing:.02em}.hf-bar-value{font-size:1.1rem;font-weight:800;font-family:var(--font-mono);letter-spacing:-.02em}.hf-bar-track{position:relative;height:6px;background:#ffffff12;border-radius:6px;overflow:visible}.hf-bar-fill{height:100%;border-radius:6px;transition:width .8s cubic-bezier(.4,0,.2,1);min-width:4px;position:relative;box-shadow:0 0 6px currentColor}.hf-bar-marker{position:absolute;top:-3px;width:2px;height:12px;background:#ef4444b3;border-radius:1px;transform:translate(-50%)}.hf-bar-marker--warn{background:#f59e0bb3}.hf-bar-marker--safe{background:#10b98180}.hf-bar-zones{position:relative;height:14px;margin-top:4px}.hf-bar-zones span{position:absolute;transform:translate(-50%);font-size:.6rem;color:var(--text-low);opacity:.6;white-space:nowrap}.defi-section{margin-top:var(--space-2)}.defi-section__header{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.04)}.defi-section__col-right,.defi-section__col-value{text-align:right}.defi-section__row{display:grid;grid-template-columns:2fr 1.5fr 1fr;gap:var(--space-3);padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.defi-section__row:last-child{border-bottom:none}.defi-section__row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.defi-section__token-cell{display:flex;align-items:center;gap:var(--space-2);min-width:0}.defi-token-icon{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0a}.defi-token-icon .token-logo{width:20px;height:20px;border-radius:50%}.defi-section__token{font-weight:500;font-size:.875rem;color:var(--text-high);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.defi-section__balance{text-align:right;font-size:.8125rem;color:var(--text-base);font-family:var(--font-mono);min-width:0;font-variant-numeric:tabular-nums}.defi-section__value{text-align:right;font-weight:600;font-size:.875rem;color:var(--text-high);min-width:0;font-variant-numeric:tabular-nums}@media(max-width:768px){.defi-protocol__header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.defi-status{flex-wrap:wrap;gap:var(--space-2)}.defi-risk-alert__metrics{display:flex;flex-direction:column;gap:2px}.defi-risk-alert__sep{display:none}.defi-section__header,.defi-section__row{grid-template-columns:1.5fr 1fr}.defi-section__col-right,.defi-section__balance{display:none}}.defi-earnings{display:flex;flex-direction:column;gap:0;margin-top:var(--space-3);padding:var(--space-3);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-md)}.defi-earnings__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid rgba(255,255,255,.03)}.defi-earnings__row:last-child{border-bottom:none}.defi-earnings__row--total{border-top:1px solid rgba(255,255,255,.08);margin-top:var(--space-1);padding-top:var(--space-2)}.defi-earnings__row--earnings{background:#10b9810a;border-radius:var(--radius-sm);margin-top:var(--space-1);padding:var(--space-2) var(--space-2)}.defi-earnings__label{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--text-base);font-weight:500;min-width:0}.defi-earnings__label i{font-size:1rem;flex-shrink:0}.defi-earnings__value{font-size:.875rem;font-weight:600;color:var(--text-high);font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums;flex-shrink:0;text-align:right}.defi-earnings__value--debt{color:var(--status-danger)}.defi-earnings__value--net{font-size:1rem;font-weight:700}.defi-earnings__value.positive{color:var(--status-success)}.defi-earnings__value.negative{color:var(--status-danger)}@media(max-width:480px){.defi-protocol__name,.defi-protocol__value{font-size:var(--text-sm)}.defi-section__value{font-size:var(--text-xs)}}.taxes-view{display:flex;flex-direction:column;gap:var(--space-5)}.taxes-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.taxes-title{font-size:.875rem;font-weight:600;color:var(--text-base);margin:0}.year-selector{display:flex;gap:var(--space-1)}.year-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.08);background:transparent;color:var(--text-low);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.year-pill:hover{border-color:#ffffff2e;color:var(--text-base)}.year-pill.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.taxes-twin-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.tax-card{position:relative;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06);background:var(--bg-panel);display:flex;flex-direction:column;gap:var(--space-2);min-height:120px}.tax-card--loading{align-items:center;justify-content:center}.tax-card__spinner{display:flex;align-items:center;justify-content:center;height:100%}.tax-card__badge{display:inline-flex;align-self:flex-start;padding:2px 8px;border-radius:99px;background:#ffffff12;color:var(--text-low);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.tax-card__badge--fiscal{background:#3b82f61f;color:var(--status-info)}.tax-card__label{font-size:.75rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.06em}.tax-card__value{font-size:1.375rem;font-weight:700;color:var(--text-high);line-height:1.2}.tax-card__value.positive{color:var(--status-success)}.tax-card__value.negative{color:var(--status-danger)}.tax-card__sub{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-low)}.tax-card__pct.positive{color:var(--status-success);font-weight:600}.tax-card__pct.negative{color:var(--status-danger);font-weight:600}.tax-card__hint{font-size:.6875rem;color:var(--text-low);opacity:.6;margin-top:auto}.irpf-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:var(--radius-md)}.irpf-banner__icon{color:#f59e0b;font-size:1.25rem;flex-shrink:0;line-height:1}.irpf-banner__body{flex:1;display:flex;flex-direction:column;gap:3px}.irpf-banner__label{font-size:.75rem;color:var(--text-low);font-weight:500}.irpf-banner__brackets{display:flex;gap:var(--space-2);flex-wrap:wrap}.irpf-bracket{font-size:.6875rem;color:#f59e0b;font-weight:600;background:#f59e0b1a;padding:1px 6px;border-radius:4px}.irpf-banner__amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.irpf-banner__tax-label{font-size:.6875rem;color:var(--text-low)}.irpf-banner__tax-value{font-size:1rem;font-weight:700;color:#f59e0b}.manual-review-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.manual-review-context{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.manual-review-button{border:1px solid rgba(245,158,11,.2);background:#f59e0b14;color:#f59e0b;border-radius:999px;font-size:.6875rem;font-weight:600;padding:6px 10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.manual-review-button:hover:not(:disabled){background:#f59e0b24;border-color:#f59e0b59}.manual-review-button:disabled{opacity:.6;cursor:wait}.taxes-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:#ef44440f;border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--status-danger)}.taxes-coverage-banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:#10b9810f;border:1px solid rgba(16,185,129,.12);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-low)}.taxes-coverage-banner i{color:var(--status-success);font-size:.875rem;flex-shrink:0;margin-top:1px}.tax-engine-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:#3b82f60f;border:1px solid rgba(59,130,246,.12);border-radius:var(--radius-sm)}.tax-engine-banner--busy{background:#f59e0b0f;border-color:#f59e0b2e}.tax-engine-banner--warn{background:#ef44440f;border-color:#ef444426}.tax-engine-banner__icon{color:var(--status-info);font-size:1rem;line-height:1;margin-top:2px}.tax-engine-banner--busy .tax-engine-banner__icon{color:#f59e0b}.tax-engine-banner--warn .tax-engine-banner__icon{color:var(--status-danger)}.tax-engine-banner__body{display:flex;flex-direction:column;gap:4px}.tax-engine-banner__title{font-size:.75rem;font-weight:600;color:var(--text-base)}.tax-engine-banner__meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.75rem;color:var(--text-low)}.taxes-section{display:flex;flex-direction:column;gap:var(--space-3)}.taxes-section__title{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.08em}.taxes-section__title i{font-size:.875rem;color:var(--brand-primary)}.taxes-info{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--text-low);padding:var(--space-2) var(--space-3);background:#3b82f60f;border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.1)}.taxes-info i{color:var(--status-info);font-size:.875rem;flex-shrink:0}.disposal-table{width:100%}.disposal-header{display:grid;grid-template-columns:90px 1fr 110px 130px 100px;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-1)}.disposal-header .dcol-sell,.disposal-header .dcol-cost,.disposal-header .dcol-pnl{text-align:right}.disposal-row{display:grid;grid-template-columns:90px 1fr 110px 130px 100px;gap:var(--space-3);padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.disposal-row:last-child{border-bottom:none}.disposal-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.disposal-date{font-size:.75rem;color:var(--text-low);white-space:nowrap}.disposal-asset{display:flex;flex-direction:column;gap:1px}.disposal-asset__symbol{font-weight:600;font-size:.875rem;color:var(--text-high)}.disposal-asset__qty{font-size:.6875rem;color:var(--text-low);font-family:var(--font-mono, monospace)}.dcol-sell,.dcol-cost{text-align:right;font-size:.8125rem;color:var(--text-base);display:flex;flex-direction:column;align-items:flex-end;gap:1px}.dcol-sub{font-size:.6875rem;color:var(--text-low)}.dcol-pnl{text-align:right;font-size:.875rem;font-weight:600}.dcol-pnl.positive{color:var(--status-success)}.dcol-pnl.negative{color:var(--status-danger)}.taxes-empty-disposals{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center}.taxes-empty-disposals i{font-size:2rem;color:var(--text-low);opacity:.4}.taxes-empty-disposals p{font-size:.875rem;color:var(--text-low);margin:0}.taxes-empty-disposals span{font-size:.75rem;color:var(--text-low);opacity:.6;max-width:420px}.taxes-empty-disposals code{font-family:var(--font-mono, monospace);font-size:.6875rem;background:#ffffff0f;padding:1px 4px;border-radius:3px}.taxes-table{width:100%}.taxes-header{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-1)}.taxes-header .col-cost,.taxes-header .col-current,.taxes-header .col-pnl{text-align:right}.taxes-row{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:var(--space-3);padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.taxes-row:last-child{border-bottom:none}.taxes-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.col-asset{display:flex;align-items:center;gap:var(--space-3);min-width:0}.tax-token-icon{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0a}.tax-token-icon .token-logo{width:24px;height:24px;border-radius:50%}.tax-asset-info{display:flex;flex-direction:column;gap:1px;min-width:0}.tax-asset-symbol{font-weight:600;font-size:.875rem;color:var(--text-high);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tax-asset-chain{font-size:.6875rem;color:var(--text-low);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tax-asset-flags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.tax-flag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#ffffff0d;color:var(--text-low);font-size:.625rem;font-weight:600;letter-spacing:.02em}.tax-flag--warn{background:#f59e0b1f;color:#f59e0b}.tax-flag--danger{background:#ef44441f;color:var(--status-danger)}.tax-flag--ok{background:#10b9811f;color:var(--status-success)}.counterparty-table{width:100%}.counterparty-header{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.2fr;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-1)}.counterparty-row{display:grid;grid-template-columns:1.5fr .8fr 1fr 1.2fr;gap:var(--space-3);padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.counterparty-row:last-child{border-bottom:none}.counterparty-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.counterparty-info{display:flex;flex-direction:column;gap:2px;min-width:0}.counterparty-name{font-size:.875rem;font-weight:600;color:var(--text-high);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.counterparty-sub,.ccol-sub{font-size:.6875rem;color:var(--text-low)}.ccol-events,.ccol-coverage{display:flex;flex-direction:column;align-items:flex-end;text-align:right;font-size:.8125rem;color:var(--text-base)}.ccol-issues{display:flex;justify-content:flex-end}.counterparty-issues{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.col-cost,.col-current{text-align:right;font-size:.8125rem;color:var(--text-base)}.col-pnl{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.pnl-value{font-weight:600;font-size:.8125rem}.pnl-pct{font-size:.6875rem;font-weight:500}.pnl-value.positive,.pnl-pct.positive{color:var(--status-success)}.pnl-value.negative,.pnl-pct.negative{color:var(--status-danger)}.dcol-asset,.ccol-name,.lcol-asset{min-width:0}.dcol-sell,.dcol-cost,.dcol-pnl,.col-cost,.col-current,.pnl-value,.pnl-pct,.ccol-events,.ccol-coverage,.lcol-amount,.lcol-price,.tax-card__value{font-variant-numeric:tabular-nums}@media(max-width:768px){.taxes-twin-cards{grid-template-columns:1fr}.irpf-banner{flex-direction:column;align-items:flex-start}.irpf-banner__amount{align-items:flex-start}.disposal-header,.disposal-row{grid-template-columns:80px 1fr 90px 90px}.disposal-header .dcol-cost,.disposal-row .dcol-cost{display:none}.taxes-header,.taxes-row{grid-template-columns:1.5fr 1fr 1fr}.counterparty-header,.counterparty-row{grid-template-columns:1.2fr .8fr 1fr}.counterparty-header .ccol-issues,.counterparty-row .ccol-issues,.taxes-header .col-cost,.taxes-row .col-cost{display:none}}@media(max-width:480px){.disposal-header,.disposal-row{grid-template-columns:1fr 80px 80px}.disposal-header .dcol-date,.disposal-row .dcol-date{display:none}.taxes-header,.taxes-row{grid-template-columns:1.5fr 1fr}.counterparty-header,.counterparty-row{grid-template-columns:1fr 1fr}.counterparty-header .ccol-coverage,.counterparty-row .ccol-coverage,.taxes-header .col-current,.taxes-row .col-current{display:none}.dcol-sell,.dcol-cost,.dcol-pnl,.lcol-amount,.lcol-price{font-size:var(--text-xs)}.tax-card__value{font-size:1.125rem}.lot-form__grid{grid-template-columns:1fr}}@media(hover:none){.year-pill,.refetch-btn,.manual-review-button,.refetch-input,.refetch-select{min-height:44px}.lot-delete-btn{width:44px;height:44px}}.taxes-section__toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);padding:var(--space-3) 0;font-size:.8125rem;font-weight:600;color:var(--text-base);cursor:pointer;transition:color .15s ease}.taxes-section__toggle:hover{color:var(--text-high)}.taxes-section__toggle i{font-size:1rem;color:var(--text-low)}.taxes-section__count{margin-left:auto;font-size:.6875rem;font-weight:600;color:var(--brand-primary);background:#3b82f61f;padding:1px 8px;border-radius:99px}.refetch-tools{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.refetch-tools__info{display:flex;align-items:flex-start;gap:var(--space-2);font-size:.75rem;color:var(--text-low);padding:var(--space-2) var(--space-3);background:#3b82f60f;border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.1)}.refetch-tools__info i{font-size:.875rem;color:var(--status-info);flex-shrink:0;margin-top:1px}.refetch-tools__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.refetch-form{padding:var(--space-3);background:var(--bg-panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-2)}.refetch-form__title{font-size:.75rem;font-weight:600;color:var(--text-base);text-transform:uppercase;letter-spacing:.06em}.refetch-form__fields{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.refetch-input{padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--text-high);font-size:.8125rem;font-family:var(--font-mono, monospace);min-width:0;flex:1;transition:border-color .15s ease}.refetch-input:focus{outline:none;border-color:var(--brand-primary)}.refetch-input::placeholder{color:var(--text-low);opacity:.5}.refetch-input--wide{flex:3;min-width:200px}.refetch-select{flex:0 0 auto;width:70px;cursor:pointer}.refetch-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:6px 14px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:var(--text-base);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.refetch-btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff3;color:var(--text-high)}.refetch-btn:disabled{opacity:.5;cursor:wait}.refetch-btn--accent{background:#3b82f61f;border-color:#3b82f633;color:var(--status-info)}.refetch-btn--accent:hover:not(:disabled){background:#3b82f633;border-color:#3b82f659}.refetch-result{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.refetch-result--ok{background:#10b98114;border:1px solid rgba(16,185,129,.18);color:var(--status-success)}.refetch-result--error{background:#ef444414;border:1px solid rgba(239,68,68,.18);color:var(--status-danger)}.refetch-result i{font-size:.875rem;flex-shrink:0}.opening-lots{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.opening-lots__actions{display:flex;gap:var(--space-2)}.lot-form{padding:var(--space-3);background:var(--bg-panel);border:1px solid rgba(59,130,246,.15);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-3)}.lot-form__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-3)}.lot-form__field{display:flex;flex-direction:column;gap:4px}.lot-form__label{font-size:.6875rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.06em}.lot-form__submit{align-self:flex-start}.lots-table{width:100%}.lots-header{display:grid;grid-template-columns:80px 1.5fr 1fr 1fr 90px 40px;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-1)}.lots-row{display:grid;grid-template-columns:80px 1.5fr 1fr 1fr 90px 40px;gap:var(--space-3);padding:var(--space-3);align-items:center;border-bottom:1px solid rgba(255,255,255,.03);transition:background .15s ease}.lots-row:last-child{border-bottom:none}.lots-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.lot-wallet-badge{display:inline-flex;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-primary);background:#8b5cf61f;padding:2px 8px;border-radius:var(--radius-full)}.lot-asset-info{display:flex;flex-direction:column;gap:1px;min-width:0}.lot-asset-symbol{font-weight:600;font-size:.875rem;color:var(--text-high);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lot-asset-chain{font-size:.6875rem;color:var(--text-low);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lcol-amount{text-align:right;font-size:.8125rem;color:var(--text-base);font-family:var(--font-mono, monospace)}.lcol-price{text-align:right;font-size:.8125rem;color:var(--text-base)}.lcol-date{font-size:.75rem;color:var(--text-low);white-space:nowrap}.lot-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid rgba(239,68,68,.15);background:#ef44440f;color:var(--status-danger);cursor:pointer;transition:all .15s ease;font-size:.875rem}.lot-delete-btn:hover{background:#ef444424;border-color:#ef44444d}@media(max-width:768px){.refetch-tools__grid{grid-template-columns:1fr}.lot-form__grid{grid-template-columns:1fr 1fr}.lots-header,.lots-row{grid-template-columns:60px 1fr 1fr 40px}.lots-header .lcol-price,.lots-row .lcol-price,.lots-header .lcol-date,.lots-row .lcol-date{display:none}}.tx-panel{display:flex;flex-direction:column;gap:var(--space-3);width:100%}.tx-chain-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color-subtle)}.tx-chain-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;font-family:var(--font-mono);letter-spacing:.03em;border:1px solid var(--border-color-subtle);background:var(--bg-elevated);color:var(--text-low);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tx-chain-pill:hover{background:var(--bg-hover);color:var(--text-base)}.tx-chain-pill.active{background:color-mix(in srgb,var(--chain-color, var(--brand-primary)) 15%,transparent);border-color:color-mix(in srgb,var(--chain-color, var(--brand-primary)) 40%,transparent);color:var(--chain-color, var(--brand-primary))}.tx-chain-pill__count{font-size:.625rem;opacity:.75;font-weight:500}.tx-list{display:flex;flex-direction:column;width:100%}.tx-row{display:grid;grid-template-columns:180px 1fr auto;gap:var(--space-4);padding:var(--space-3);align-items:center;border-bottom:1px solid var(--border-color-subtle);transition:background .15s ease}.tx-row:last-child{border-bottom:none}.tx-row:hover{background:var(--bg-hover);border-radius:var(--radius-sm)}.tx-row__left{display:flex;flex-direction:column;gap:2px}.tx-date{font-size:.75rem;color:var(--text-low);white-space:nowrap}.tx-hash{font-size:.6875rem;font-family:var(--font-mono);color:var(--brand-primary);text-decoration:none;transition:color .15s ease}.tx-hash:hover{color:var(--brand-hover)}.tx-chain{font-size:.6rem;font-family:var(--font-mono);font-weight:700;letter-spacing:.04em;background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:3px;padding:1px 4px;align-self:flex-start}.tx-row__center{display:flex;align-items:center;gap:var(--space-3);min-width:0}.tx-row__center>i{font-size:1.125rem;flex-shrink:0}.tx-action{display:flex;flex-direction:column;gap:1px;min-width:0}.tx-label{font-size:.8125rem;font-weight:600;color:var(--text-high)}.tx-desc{font-size:.6875rem;color:var(--text-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-row__right{text-align:right}.tx-amount{font-size:.8125rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-base);white-space:nowrap}.tx-amount.positive{color:var(--status-success)}@media(max-width:640px){.tx-row{grid-template-columns:1fr auto;grid-template-areas:"left  left" "center right";gap:var(--space-1) var(--space-3)}.tx-row__left{grid-area:left;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}.tx-row__center{grid-area:center}.tx-row__right{grid-area:right;align-self:center;text-align:right}}@media(max-width:480px){.tx-row{padding:var(--space-2)}.tx-label{font-size:.78125rem}.tx-amount{font-size:.75rem}}@media(hover:none)and (pointer:coarse){.tx-chain-pill{min-height:44px;padding-top:var(--space-2);padding-bottom:var(--space-2)}}.ch-container{padding:0 0 24px}.ch-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ch-title-block{display:flex;flex-direction:column;gap:4px}.ch-label{font-size:.8rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.ch-change{font-size:1rem;font-weight:600}.ch-change.positive{color:var(--status-success)}.ch-change.negative{color:var(--status-danger)}.ch-change-pct{font-size:.85rem;font-weight:400;opacity:.8}.ch-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ch-range-selector{display:flex;gap:2px;background:var(--bg-surface);border-radius:8px;padding:2px}.ch-range-btn{padding:4px 10px;border:none;background:transparent;color:var(--text-low);font-size:.78rem;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.ch-range-btn:hover{background:var(--bg-hover);color:var(--text-high)}.ch-range-btn.active{background:var(--brand-primary);color:#fff}.ch-assets-toggle{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-low);cursor:pointer;-webkit-user-select:none;user-select:none}.ch-assets-toggle input[type=checkbox]{accent-color:var(--brand-primary);width:14px;height:14px}.ch-scope-note{display:flex;align-items:flex-start;gap:6px;margin:0 0 14px;padding:8px 10px;border-radius:8px;background:var(--bg-surface);color:var(--text-low);font-size:.75rem;line-height:1.45}.ch-scope-note i{flex-shrink:0;margin-top:1px;color:var(--brand-primary)}.ch-chart-wrapper{position:relative}.ch-svg{width:100%;height:auto;display:block;overflow:visible}.ch-mini-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2, 8px);padding:10px 14px;margin-bottom:12px;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:10px}.ch-mini-stat{display:flex;flex-direction:column;gap:2px}.ch-mini-stat--center{align-items:center;text-align:center}.ch-mini-stat--right{align-items:flex-end;text-align:right}.ch-mini-stat__label{font-size:.6875rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.ch-mini-stat__value{font-size:.9rem;font-weight:700;color:var(--text-high);letter-spacing:-.01em;font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums}.ch-mini-stat__value--high{color:var(--status-success)}.ch-mini-stat__value--low{color:var(--status-danger)}.ch-mini-stat__date{font-size:.65rem;color:var(--text-low);opacity:.6}.ch-tooltip{position:absolute;top:8px;pointer-events:none;background:var(--bg-surface);border:1px solid var(--border-color-subtle);border-radius:8px;padding:8px 12px;min-width:140px;max-width:min(220px,60vw);box-shadow:var(--shadow-md);z-index:10}.ch-tooltip-date{font-size:.72rem;color:var(--text-low);margin-bottom:4px}.ch-tooltip-total{font-size:.95rem;font-weight:700;color:var(--text-high);margin-bottom:6px}.ch-tooltip-asset{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-low);padding:1px 0}.ch-tooltip-asset span:last-child{margin-left:auto;color:var(--text-high)}.ch-tooltip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ch-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;padding:0 4px}.ch-legend-item{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-low)}.ch-legend-line{width:20px;height:2px;border-radius:2px;flex-shrink:0}.ch-breakdown{margin-top:20px;border:1px solid var(--border-color-subtle);border-radius:10px;overflow:hidden}.ch-breakdown-header{font-size:.75rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;padding:10px 14px;background:var(--bg-surface);border-bottom:1px solid var(--border-color-subtle)}.ch-breakdown-rows{display:flex;flex-direction:column}.ch-breakdown-row{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-color-subtle);font-size:.85rem;transition:background .12s ease}.ch-breakdown-row:last-child{border-bottom:none}.ch-breakdown-row:hover{background:var(--bg-hover)}.ch-breakdown-row.debt{opacity:.65}.ch-breakdown-symbol{font-weight:600;color:var(--text-high);min-width:60px}.ch-breakdown-value{margin-left:auto;color:var(--text-high)}.ch-breakdown-badge{font-size:.68rem;background:var(--status-danger-bg);color:var(--status-danger);border-radius:4px;padding:1px 5px}.ch-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-color-subtle)}.ch-footer-info{font-size:.75rem;color:var(--text-low)}.ch-loading,.ch-error,.ch-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;text-align:center;color:var(--text-low);font-size:.9rem}.ch-empty i,.ch-error i{font-size:2.4rem;opacity:.4}.ch-empty-sub{font-size:.8rem;max-width:400px;opacity:.7}.ch-spinner{width:28px;height:28px;border:2px solid var(--border-color-strong);border-top-color:var(--brand-primary);border-radius:50%;animation:ch-spin .8s linear infinite}@keyframes ch-spin{to{transform:rotate(360deg)}}.ch-btn-primary{padding:8px 18px;background:var(--brand-primary);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ch-btn-primary:hover{opacity:.85}.ch-btn-primary:disabled{opacity:.5;cursor:not-allowed}.ch-btn-secondary{padding:6px 14px;background:transparent;color:var(--text-low);border:1px solid var(--border-color-strong);border-radius:8px;font-size:.82rem;cursor:pointer;transition:border-color .15s,color .15s}.ch-btn-secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.ch-btn-ghost{display:flex;align-items:center;gap:5px;padding:5px 10px;background:transparent;color:var(--text-low);border:none;font-size:.78rem;cursor:pointer;border-radius:6px;transition:color .15s,background .15s}.ch-btn-ghost:hover{background:var(--bg-hover);color:var(--text-high)}.ch-btn-ghost:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.ch-header{flex-direction:column}.ch-controls{justify-content:flex-start}.ch-breakdown-rows{font-size:.8rem}.ch-footer{flex-wrap:wrap;gap:var(--space-2)}}@media(max-width:480px){.ch-mini-stats{gap:var(--space-1);padding:var(--space-2) var(--space-3)}.ch-mini-stat__value{font-size:.8rem}.ch-mini-stat__label{font-size:.625rem}}@media(hover:none)and (pointer:coarse){.ch-range-btn{min-height:44px;padding-left:var(--space-3);padding-right:var(--space-3)}.ch-btn-ghost,.ch-btn-secondary,.ch-btn-primary,.ch-assets-toggle{min-height:44px}}.currency-toggle{display:flex;align-items:center;gap:2px;background:var(--bg-surface);border-radius:var(--radius-full);padding:3px;border:1px solid rgba(255,255,255,.06);flex-shrink:0}.currency-toggle__btn{display:flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-low);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1.5}.currency-toggle__btn:hover{color:var(--text-base);background:#ffffff0a}.currency-toggle__btn.active{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:600;box-shadow:0 1px 4px #f59e0b4d}.currency-toggle__symbol{font-size:.875rem;font-weight:700;line-height:1}.currency-toggle__code{font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase}.wallet-manager{display:flex;flex-direction:column;gap:var(--space-4)}.wallet-manager__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.wallet-manager__title{display:flex;align-items:center;gap:var(--space-2);font-size:1.125rem;color:var(--text-high)}.wallet-manager__title i{color:var(--brand-primary)}.wallet-manager__subtitle{margin-top:var(--space-1);font-size:.8125rem;color:var(--text-low)}.wallet-manager__banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5}.wallet-manager__banner i{flex-shrink:0;margin-top:2px}.wallet-manager__banner--notice{background:var(--status-info-bg);color:var(--text-base);border-left:3px solid var(--status-info)}.wallet-manager__banner--notice i{color:var(--status-info)}.wallet-manager__banner--error{background:var(--status-danger-bg);color:var(--text-base);border-left:3px solid var(--status-danger)}.wallet-manager__banner--error i{color:var(--status-danger)}.wallet-manager__banner-close{margin-left:auto;background:none;border:none;color:var(--text-low);cursor:pointer;padding:0 var(--space-1);transition:var(--transition)}.wallet-manager__banner-close:hover{color:var(--text-high)}.wallet-manager__forbidden{display:flex;flex-direction:column;gap:var(--space-2);border-left:3px solid var(--status-warning)}.wallet-manager__forbidden-title{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;color:var(--text-high)}.wallet-manager__forbidden-title i{color:var(--status-warning)}.wallet-manager__forbidden-reason{font-size:.875rem;color:var(--text-base);line-height:1.6}.wallet-manager__forbidden-hint{font-size:.8125rem;color:var(--text-low);line-height:1.5}.wallet-status{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.wallet-status--active{background:var(--status-success-bg);color:var(--status-success)}.wallet-status--hidden{background:var(--status-warning-bg);color:var(--status-warning)}.wallet-status--archived{background:var(--bg-surface);color:var(--text-low)}.wallet-legend__title{display:flex;align-items:center;gap:var(--space-2);font-size:.9375rem;margin-bottom:var(--space-3)}.wallet-legend__title i{color:var(--brand-primary)}.wallet-legend__scroll{overflow-x:auto}.wallet-legend__table{width:100%;border-collapse:collapse;font-size:.8125rem;min-width:480px}.wallet-legend__table th,.wallet-legend__table td{padding:var(--space-2);text-align:left;border-bottom:var(--border-subtle)}.wallet-legend__table thead th{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);font-weight:600}.wallet-legend__table tbody tr:last-child th,.wallet-legend__table tbody tr:last-child td{border-bottom:none}.wallet-legend__table td{font-weight:600}.wallet-legend__note{margin-top:var(--space-3);font-size:.8125rem;color:var(--text-base);line-height:1.5}.wallet-legend__note strong{color:var(--text-high)}.wallet-manager__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}.wallet-card{display:flex;flex-direction:column;gap:var(--space-2)}.wallet-card--hidden{border-left:3px solid var(--status-warning)}.wallet-card--archived{border-left:3px solid var(--text-low);opacity:.7}.wallet-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.wallet-card__identity{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0}.wallet-card__label{font-size:1rem;color:var(--text-high)}.wallet-card__id{font-family:var(--font-mono);font-size:.75rem;color:var(--text-low);background:var(--bg-surface);padding:1px 6px;border-radius:var(--radius-sm)}.wallet-card__consequence{font-size:.75rem;color:var(--text-low);line-height:1.5}.wallet-card__addresses{display:flex;flex-direction:column;gap:var(--space-1)}.wallet-card__address{display:flex;gap:var(--space-2);align-items:baseline;font-size:.75rem;min-width:0}.wallet-card__address dt{color:var(--text-low);font-weight:600;flex-shrink:0;width:32px}.wallet-card__address dd{font-family:var(--font-mono);color:var(--text-base);overflow-wrap:anywhere}.wallet-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.wallet-card__chip{font-size:.6875rem;text-transform:capitalize}.wallet-card__references{font-size:.6875rem;color:var(--text-low)}.wallet-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:auto;padding-top:var(--space-2);border-top:var(--border-subtle)}.wallet-manager__archived{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.wallet-manager__archived-title{display:flex;align-items:center;gap:var(--space-2);font-size:.9375rem;color:var(--text-base)}.wallet-manager__archived-note{font-size:.75rem;color:var(--text-low)}.wallet-form{display:flex;flex-direction:column;gap:var(--space-3)}.wallet-form__title{display:flex;align-items:center;gap:var(--space-2);font-size:1rem}.wallet-form__title i{color:var(--brand-primary)}.wallet-form__watch-only,.wallet-form__locked{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.75rem;line-height:1.5;color:var(--text-base)}.wallet-form__watch-only{background:var(--bg-surface)}.wallet-form__watch-only i{color:var(--text-low);margin-top:2px}.wallet-form__locked{background:var(--status-warning-bg);border-left:3px solid var(--status-warning)}.wallet-form__locked i{color:var(--status-warning);margin-top:2px}.wallet-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.wallet-form__fieldset{display:flex;flex-direction:column;gap:var(--space-3);border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.wallet-form__fieldset legend{padding:0 var(--space-2);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low)}.wallet-form__field{display:flex;flex-direction:column;gap:4px}.wallet-form__field label{font-size:.8125rem;font-weight:600;color:var(--text-high)}.wallet-form__field input{width:100%;padding:var(--space-2);background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-high);font-size:.875rem;transition:var(--transition)}.wallet-form__field input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.wallet-form__field input:disabled{color:var(--text-low);cursor:not-allowed}.wallet-form__hint{font-size:.6875rem;color:var(--text-low);line-height:1.4}.wallet-form__chain-list{display:flex;flex-wrap:wrap;gap:var(--space-3)}.wallet-form__check{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--text-base);text-transform:capitalize;cursor:pointer}.wallet-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}@media(max-width:768px){.wallet-manager__header{flex-direction:column;align-items:stretch}.wallet-manager__list{grid-template-columns:1fr}.wallet-card__actions .btn{flex:1;justify-content:center}.wallet-form__actions{flex-direction:column-reverse}.wallet-form__actions .btn{justify-content:center}}.crypto-layout{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:1200px;margin:0 auto}.crypto-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-bottom:var(--space-2)}.crypto-topbar__left{display:flex;align-items:center;gap:var(--space-3)}.crypto-topbar__wallet-label{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--text-low);font-weight:500}.crypto-topbar__wallet-label i{font-size:1rem}.crypto-topbar__refresh{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-low);cursor:pointer;transition:var(--transition)}.crypto-topbar__refresh:hover{color:var(--text-high);background:var(--bg-hover)}.crypto-topbar__refresh:disabled{opacity:.5;cursor:not-allowed}.crypto-topbar__refresh .spin{animation:spin .8s linear infinite}.crypto-topbar__right{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.wallet-selector{display:flex;align-items:center;gap:2px;background:var(--bg-surface);border-radius:var(--radius-full);padding:3px;border:1px solid rgba(255,255,255,.06)}.wallet-pill{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-low);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;line-height:1.5}.wallet-pill:hover{color:var(--text-base);background:#ffffff0a}.wallet-pill.active{background:var(--brand-primary);color:#fff;font-weight:600;box-shadow:0 1px 4px #8b5cf64d}.wallet-selector__error{display:inline-flex;align-items:center;padding:0 var(--space-2);color:var(--status-danger);font-size:.75rem;cursor:help}.crypto-hero{padding:var(--space-4) 0 var(--space-2)}.crypto-hero__main{display:flex;flex-direction:column;gap:var(--space-2)}.crypto-hero__amount{font-size:clamp(1.5rem,6vw,2.5rem);font-weight:700;color:var(--text-high);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.crypto-hero__meta{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.crypto-hero__pnl{display:inline-flex;align-items:center;gap:4px;font-size:.9rem;font-weight:700;letter-spacing:-.01em}.crypto-hero__pnl.positive{color:var(--status-success)}.crypto-hero__pnl.negative{color:var(--status-danger)}.crypto-hero__pnl-arrow{font-size:.6rem;line-height:1}.crypto-hero__pnl-pct{font-weight:500;opacity:.85;font-size:.8125rem}.crypto-hero__pnl-label{font-size:.6875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.6;margin-left:1px}.crypto-hero__pnl--unavailable{color:var(--text-low);opacity:.45;gap:5px;font-size:.8125rem;font-weight:500}.crypto-hero__pnl-dash{font-size:1rem;line-height:1;letter-spacing:-.02em}.crypto-hero__sep{color:var(--text-low);opacity:.35;font-size:.75rem}.crypto-hero__freshness{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.8125rem;color:var(--text-low)}.crypto-hero__freshness--warning{color:var(--status-warning);font-weight:600}.crypto-hero__breakdown-item{display:flex;align-items:center;gap:var(--space-1);font-size:.8125rem;color:var(--text-low)}.crypto-hero__breakdown-item .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dot--holdings{background:var(--status-info)}.dot--debt{background:var(--status-danger, #ef4444)}.crypto-hero__refresh-indicator{display:flex;align-items:center}.crypto-hero--skeleton{padding:var(--space-6) 0}.skeleton{background:linear-gradient(90deg,var(--bg-surface) 25%,rgba(255,255,255,.06) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton--amount{width:280px;height:44px;margin-bottom:var(--space-3)}.skeleton--breakdown{width:200px;height:14px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.crypto-tabs{border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:var(--space-4)}.crypto-tabs__list{display:flex;gap:var(--space-6)}.crypto-tabs__item{position:relative;padding:var(--space-3) 0;border:none;background:none;color:var(--text-low);font-size:.875rem;font-weight:500;cursor:pointer;transition:color .2s ease;white-space:nowrap}.crypto-tabs__item:hover,.crypto-tabs__item.active{color:var(--text-high)}.crypto-tabs__item:disabled{opacity:.4;cursor:not-allowed}.crypto-tabs__item:disabled:hover{color:var(--text-low)}.crypto-tabs__item.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--brand-primary);border-radius:1px}.crypto-panel{width:100%}.crypto-panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.crypto-panel-toolbar__summary{font-size:.8125rem;color:var(--text-low)}.crypto-panel-toolbar__toggles{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.crypto-toggle-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-base);font-size:.75rem;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease;-webkit-user-select:none;user-select:none}.crypto-toggle-chip:hover{border-color:#ffffff2e;background:#ffffff0f}.crypto-toggle-chip:has(input:checked){border-color:#8b5cf680;background:#8b5cf61f;color:var(--text-high)}.crypto-toggle-chip input{margin:0;accent-color:var(--brand-primary)}.crypto-detected-panel{margin-top:var(--space-5);padding:var(--space-4);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:#ffffff05}.crypto-detected-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3)}.crypto-detected-panel__header h3{margin:0 0 .2rem;font-size:.95rem}.crypto-detected-panel__header p{margin:0;font-size:.78rem;color:var(--text-low)}.crypto-detected-panel__refresh{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-base);border-radius:999px;padding:.45rem .8rem;cursor:pointer}.crypto-detected-list{display:grid;gap:var(--space-3)}.crypto-detected-card{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:var(--space-3);border-radius:var(--radius-md);background:#ffffff08;flex-wrap:wrap}.crypto-detected-card__meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.crypto-detected-card__meta strong{color:var(--text-high)}.crypto-detected-card__meta span{font-size:.75rem;color:var(--text-low)}.crypto-detected-card__actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.crypto-detected-card__actions button{border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:var(--text-base);border-radius:999px;padding:.35rem .65rem;cursor:pointer;font-size:.75rem}.crypto-detected-badge{display:inline-flex;align-items:center;padding:.18rem .45rem;border-radius:999px;background:#ffffff14;color:var(--text-base)!important}.crypto-detected-badge.ok{background:#18c96426}.crypto-detected-badge.warn{background:#ffb84d29}.crypto-detected-badge.danger{background:#ff5f5f29}.crypto-detected-badge.info{background:#4299e12e}.crypto-retry-btn{padding:var(--space-2) var(--space-4);border:var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-high);font-weight:500;cursor:pointer;transition:var(--transition)}.crypto-retry-btn:hover{background:var(--bg-surface)}.spinner--sm{width:10px;height:10px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--status-success);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@media(max-width:768px){.crypto-topbar{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.crypto-tabs__list{gap:var(--space-4)}}@media(max-width:480px){.crypto-tabs__list{gap:var(--space-3);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.crypto-tabs__list::-webkit-scrollbar{display:none}.crypto-tabs__item{font-size:.8125rem}.wallet-selector{overflow-x:auto;scrollbar-width:none;max-width:100%;flex-shrink:1}.wallet-selector::-webkit-scrollbar{display:none}.crypto-panel-toolbar{flex-direction:column;align-items:flex-start}.crypto-hero__meta{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.crypto-hero__sep{display:none}}@media(max-width:640px){.crypto-detected-panel__header{flex-wrap:wrap}.crypto-detected-panel__refresh{flex-shrink:0}}@media(hover:none)and (pointer:coarse){.crypto-topbar__refresh{width:44px;height:44px}.wallet-pill{min-height:44px;display:inline-flex;align-items:center}.crypto-detected-panel__refresh,.crypto-detected-card__actions button{min-height:44px}}.quick-client-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.quick-client-modal{background-color:var(--bg-panel);border-radius:var(--radius-lg);width:90%;max-width:450px;box-shadow:var(--shadow-lg);border:var(--border-subtle);overflow:hidden;animation:scaleIn .2s ease-out;display:flex;flex-direction:column}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.qm-header{padding:var(--space-4);border-bottom:var(--border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-panel)}.qm-header h3{margin:0;font-size:1.1rem;color:var(--text-high);display:flex;align-items:center;gap:.5rem}.qm-content{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.qm-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.qm-actions{padding:var(--space-4);border-top:var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--space-3);background-color:var(--bg-panel)}.quick-client-modal .form-group{margin-bottom:0}.quick-client-modal .form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-low);font-size:.9rem}.quick-client-modal .form-input{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:var(--border-subtle);background-color:var(--bg-app);color:var(--text-high);font-size:1rem;transition:all .2s;box-sizing:border-box}.quick-client-modal textarea.form-input{resize:vertical;min-height:60px}.quick-client-modal .form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.quick-client-modal .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.quick-client-modal .btn-cancel{background-color:transparent;color:var(--text-low);border:var(--border-subtle)}.quick-client-modal .btn-cancel:hover{background-color:var(--bg-surface);color:var(--text-high)}.quick-client-modal .btn-confirm{background-color:var(--brand-primary);color:#fff}.quick-client-modal .btn-confirm:hover{filter:brightness(1.1)}.quick-client-modal .btn:disabled{opacity:.6;cursor:not-allowed}.quick-client-modal .close-btn{background:transparent;border:none;color:var(--text-low);font-size:1.5rem;cursor:pointer;padding:var(--space-1);line-height:1;border-radius:var(--radius-sm);transition:var(--transition)}.quick-client-modal .close-btn:hover{color:var(--text-high);background-color:var(--bg-surface)}.quick-client-modal .required{color:var(--status-danger)}.form-error{margin:0 var(--space-6);padding:var(--space-3);background-color:var(--status-danger-bg);color:var(--status-danger);border-radius:var(--radius-sm);font-size:.9rem;display:flex;align-items:center;gap:var(--space-2)}@media(max-width:480px){.qm-row{grid-template-columns:1fr}.qm-content{padding:var(--space-4);gap:var(--space-3)}.qm-actions{padding:var(--space-3) var(--space-4);flex-direction:column-reverse}.qm-actions .btn{width:100%;justify-content:center}.form-error{margin:0 var(--space-4)}}.invoice-form-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn .2s ease-out}.invoice-form{background:var(--bg-panel);border-radius:var(--radius-lg);width:100%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.invoice-form::-webkit-scrollbar{width:8px}.invoice-form::-webkit-scrollbar-track{background:var(--bg-panel);border-radius:0 16px 16px 0}.invoice-form::-webkit-scrollbar-thumb{background:var(--border-color-subtle);border-radius:4px}.invoice-form .form-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:var(--border-subtle);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);border-radius:16px 16px 0 0}.invoice-form .form-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff;display:flex;align-items:center;gap:var(--space-2)}.invoice-form .close-btn{background:#fff3;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1.25rem;transition:background .2s}.invoice-form .close-btn:hover{background:#ffffff4d}.invoice-form .form-error{margin:var(--space-4) var(--space-6) 0;padding:var(--space-3) var(--space-4);background:var(--status-danger-bg);border:1px solid var(--status-danger);border-radius:var(--radius-sm);color:var(--status-danger);display:flex;align-items:center;gap:var(--space-2);font-size:.875rem}.invoice-form form{padding:var(--space-6)}.invoice-form .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.invoice-form .form-group{display:flex;flex-direction:column;gap:var(--space-1)}.invoice-form .form-group.full-width{grid-column:1 / -1}.invoice-form label{font-size:.8rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.invoice-form label .required{color:var(--status-danger)}.invoice-form input[type=text],.invoice-form input[type=number],.invoice-form input[type=date],.invoice-form select,.invoice-form textarea{padding:.625rem .75rem;border:1px solid var(--border-color-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-high);font-size:.9rem;transition:border-color .2s,box-shadow .2s}.invoice-form input:focus,.invoice-form select:focus,.invoice-form textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.invoice-form textarea{resize:vertical;min-height:60px}.btn-quick-client{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:var(--space-1);padding:0;font-weight:500;transition:var(--transition)}.btn-quick-client:hover{color:var(--brand-hover);text-decoration:underline}.client-autocomplete{position:relative}.client-search{position:relative;display:flex;align-items:center}.client-search>i{position:absolute;left:var(--space-3);color:var(--text-low)}.client-search input{width:100%;padding-left:2.25rem!important}.client-search .rotating{position:absolute;right:var(--space-3);color:var(--brand-primary)}.selected-client{padding:.75rem;border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);background:var(--bg-surface)}.selected-client-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color-subtle)}.selected-client-header .client-name{font-weight:600;font-size:.95rem;color:var(--text-high);flex:1;min-width:0}.client-name-input{font-weight:600;font-size:.95rem!important;color:var(--text-high);width:100%;padding:.2rem .4rem!important;border:1px solid var(--brand-primary)!important;border-radius:5px;background:var(--bg-panel)!important;box-shadow:0 0 0 2px var(--brand-alpha)}.selected-client-details{display:flex;flex-direction:column;gap:.3rem}.client-detail-item{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-low);min-width:0}.client-detail-item i{font-size:.9rem;color:var(--brand-primary);flex-shrink:0;width:16px;text-align:center}.client-detail-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-client-btn{background:transparent;border:1px solid var(--border-color-subtle);border-radius:6px;padding:.375rem .625rem;font-size:.8rem;color:var(--text-low);cursor:pointer;display:flex;align-items:center;gap:var(--space-1);transition:all .2s;flex-shrink:0}.change-client-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.selected-client-actions{display:flex;align-items:center;gap:.35rem}.edit-client-btn{background:transparent;border:1px solid transparent;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-low);font-size:.85rem;transition:all .2s}.edit-client-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-alpha)}.client-edit-inline{display:flex;flex-direction:column;gap:.4rem;padding:.5rem .5rem .5rem .65rem;border-left:3px solid var(--brand-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:color-mix(in srgb,var(--brand-primary) 4%,var(--bg-surface));margin-top:.15rem}.client-edit-error{padding:.3rem .45rem;background:var(--status-danger-bg);border-radius:var(--radius-sm);color:var(--status-danger);font-size:.76rem;display:flex;align-items:center;gap:.25rem}.client-detail-item.readonly{opacity:.5;font-size:.78rem}.client-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.client-edit-field{display:flex;flex-direction:column;gap:.15rem}.client-edit-field label{font-size:.68rem;font-weight:600;color:var(--text-low);display:flex;align-items:center;gap:.2rem;text-transform:uppercase;letter-spacing:.03em}.client-edit-field label i{font-size:.72rem;color:var(--brand-primary)}.client-edit-field input{padding:.3rem .4rem;border:1px solid var(--border-color-subtle);border-radius:5px;background:var(--bg-panel);color:var(--text-high);font-size:.8rem;transition:border-color .15s,box-shadow .15s}.client-edit-field input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.client-edit-field input::placeholder{color:var(--text-low);opacity:.5}.client-edit-actions{display:flex;justify-content:flex-end;gap:.4rem;padding-top:.3rem;margin-top:.1rem}.btn-cancel-edit{background:transparent;border:none;border-radius:5px;padding:.28rem .6rem;font-size:.76rem;color:var(--text-low);cursor:pointer;transition:color .15s}.btn-cancel-edit:hover{color:var(--text-high)}.btn-save-edit{background:var(--brand-primary);border:none;border-radius:5px;padding:.28rem .65rem;font-size:.76rem;font-weight:600;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.25rem;transition:filter .15s}.btn-save-edit:hover:not(:disabled){filter:brightness(1.15)}.btn-save-edit:disabled{opacity:.5;cursor:not-allowed}.client-edit-success{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;margin-top:.35rem;font-size:.75rem;font-weight:500;color:var(--success-color, #10b981);background:color-mix(in srgb,var(--success-color, #10b981) 8%,transparent);border-radius:4px;animation:fadeInOut 3s ease-in-out forwards}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-4px)}10%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.kbd-hint{font-size:.65rem;color:var(--text-low, #6b7280);font-family:monospace;opacity:.6;margin-left:.15rem}.client-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-xl);max-height:200px;overflow-y:auto;z-index:100}.client-option{width:100%;padding:var(--space-3) var(--space-4);display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;transition:background .15s;text-align:left}.client-option:hover{background:var(--brand-alpha)}.client-option .option-name{font-weight:500;color:var(--text-high)}.client-option .option-nif{font-size:.8rem;color:var(--text-low)}.client-dropdown .no-results{padding:var(--space-4);text-align:center;color:var(--text-low);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.client-dropdown .no-results i{font-size:1.5rem;opacity:.5}.line-items-section{margin:var(--space-6) 0;padding:var(--space-4);background:var(--brand-alpha);border-radius:var(--radius-md);border:1px solid var(--brand-alpha)}.line-items-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.line-items-section .section-header h3{margin:0;font-size:.9rem;font-weight:600;color:var(--text-high);display:flex;align-items:center;gap:var(--space-2)}.add-item-btn{background:var(--brand-primary);color:#fff;border:none;border-radius:6px;padding:.375rem .75rem;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-1);transition:transform .15s,box-shadow .15s}.add-item-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--brand-alpha)}.line-items-header,.line-item{display:grid;grid-template-columns:1fr 80px 100px 100px 40px;gap:var(--space-2);padding:var(--space-2) 0}.line-items-header{font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.line-item{border-bottom:1px solid var(--border-color-subtle)}.line-item:last-child{border-bottom:none}.line-item input{padding:var(--space-2);font-size:.875rem}.line-item .col-total{display:flex;align-items:center;justify-content:flex-end;font-weight:500;color:var(--text-high);padding-right:var(--space-1)}.remove-item-btn{background:transparent;border:none;color:var(--text-low);cursor:pointer;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.remove-item-btn:hover:not(:disabled){background:var(--status-danger-bg);color:var(--status-danger)}.remove-item-btn:disabled{opacity:.3;cursor:not-allowed}.totals-section{margin:var(--space-4) 0;padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle)}.total-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:.9rem;color:var(--text-high)}.total-row.grand-total{border-top:2px solid var(--border-color-subtle);margin-top:var(--space-2);padding-top:var(--space-3);font-size:1.1rem;font-weight:700;color:var(--brand-primary)}.total-row.retention{color:var(--status-warning);font-style:italic}.invoice-form .form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-color-subtle)}.invoice-form .btn-secondary,.invoice-form .btn-primary{padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:all .2s}.invoice-form .btn-secondary{background:transparent;border:1px solid var(--border-color-subtle);color:var(--text-high)}.invoice-form .btn-secondary:hover{border-color:var(--text-low);background:#ffffff0d}.invoice-form .btn-primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);border:none;color:#fff}.invoice-form .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.invoice-form .btn-primary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.invoice-form{max-height:95vh;border-radius:12px 12px 0 0}.invoice-form-overlay{align-items:flex-end;padding:0}.line-items-header{display:none}.line-item{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-4) 0}.line-item .col-total{justify-content:flex-start}.invoice-form .form-actions{flex-direction:column-reverse}.invoice-form .btn-secondary,.invoice-form .btn-primary{width:100%;justify-content:center}}.invoice-detail-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn .2s ease-out}.invoice-detail{background:var(--bg-panel);border-radius:var(--radius-lg);width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.invoice-detail .detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-color-subtle);background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-hover) 100%);border-radius:16px 16px 0 0}.invoice-detail .header-left{display:flex;align-items:center;gap:var(--space-4)}.invoice-detail .header-left h2{margin:0;font-size:1.25rem;font-weight:600;color:#fff;font-family:var(--font-mono)}.invoice-detail .header-left .draft-label{font-family:inherit;font-style:italic;opacity:.8}.invoice-detail .status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.7rem;font-weight:600;text-transform:uppercase;color:#fff}.invoice-detail .close-btn{background:#fff3;border:none;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:1.25rem;transition:background .2s}.invoice-detail .close-btn:hover{background:#ffffff4d}.invoice-detail .detail-content{padding:var(--space-6)}.invoice-detail .detail-section{margin-bottom:var(--space-6)}.invoice-detail .detail-section h3{margin:0 0 var(--space-3) 0;font-size:.85rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:var(--space-2)}.invoice-detail .detail-section h3 i{color:var(--brand-primary)}.invoice-detail .client-details{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.invoice-detail .detail-row{display:flex;justify-content:space-between;padding:.375rem 0}.invoice-detail .detail-row .label{color:var(--text-low);font-size:.85rem}.invoice-detail .detail-row .value{color:var(--text-high);font-weight:500}.invoice-detail .detail-row .value.nif{font-family:var(--font-mono);color:var(--brand-primary)}.invoice-detail .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.invoice-detail .info-item{background:var(--bg-surface);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4)}.invoice-detail .info-item .label{display:block;font-size:.75rem;color:var(--text-low);margin-bottom:var(--space-1)}.invoice-detail .info-item .value{font-weight:600;color:var(--text-high)}.invoice-detail .items-section{background:var(--brand-alpha);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--brand-alpha)}.invoice-detail .items-table{margin-top:var(--space-2)}.invoice-detail .items-header{display:grid;grid-template-columns:1fr 60px 80px 90px;gap:var(--space-2);font-size:.7rem;font-weight:600;color:var(--text-low);text-transform:uppercase;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color-subtle)}.invoice-detail .items-row{display:grid;grid-template-columns:1fr 60px 80px 90px;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.875rem}.invoice-detail .items-row:last-child{border-bottom:none}.invoice-detail .item-desc{color:var(--text-high)}.invoice-detail .item-qty,.invoice-detail .item-price,.invoice-detail .item-total{text-align:right;color:var(--text-low)}.invoice-detail .item-total{color:var(--text-high);font-weight:500}.invoice-detail .totals-box{background:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4);margin:var(--space-4) 0}.invoice-detail .total-line{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.9rem;color:var(--text-high)}.invoice-detail .total-line.grand{border-top:2px solid var(--border-color-subtle);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:700;font-size:1.1rem;color:var(--brand-primary)}.invoice-detail .total-line.retention{color:var(--status-warning);font-style:italic}.invoice-detail .notes-section{background:#f59e0b1a;border-radius:var(--radius-sm);padding:var(--space-4);border:1px solid rgba(245,158,11,.2)}.invoice-detail .notes-section p{margin:0;font-size:.9rem;color:var(--text-high);white-space:pre-wrap}.invoice-detail .linked-tx-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--status-success-bg);border-radius:var(--radius-sm);color:var(--status-success);font-size:.85rem;margin-top:var(--space-4)}.invoice-detail .detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-color-subtle);background:var(--bg-surface);border-radius:0 0 16px 16px}.invoice-detail .action-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;background:#ffffff1a;color:var(--text-high)}.invoice-detail .action-btn:hover:not(:disabled){transform:translateY(-1px)}.invoice-detail .action-btn:disabled{opacity:.5;cursor:not-allowed}.invoice-detail .action-btn.primary{background:var(--brand-primary);color:#fff}.invoice-detail .action-btn.success{background:var(--status-success);color:#fff}.invoice-detail .action-btn.danger{background:var(--status-danger-bg);color:var(--status-danger)}.invoice-detail .action-btn.danger:hover:not(:disabled){background:var(--status-danger);color:#fff}.invoice-detail .no-actions{color:var(--text-low);font-size:.85rem;font-style:italic}.invoice-detail .collection-section h3{display:flex;align-items:center;gap:var(--space-2)}.invoice-detail .collection-bank-indicator{display:inline-flex;align-items:center;font-size:.9rem}.invoice-detail .collection-bank-indicator.bank-matched{color:var(--status-success)}.invoice-detail .collection-bank-indicator.bank-partial{color:var(--status-warning)}.invoice-detail .collection-bank-indicator.bank-unmatched{color:var(--text-low)}.invoice-detail .collection-overdue{margin-top:var(--space-3);color:var(--status-danger);font-size:.85rem;font-weight:700}.invoice-detail .collection-income-link{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);padding:0;background:none;border:none;color:var(--brand-primary);font-size:.85rem;font-weight:600;cursor:pointer}.invoice-detail .collection-income-link:hover{text-decoration:underline}@media(max-width:600px){.invoice-detail{max-height:95vh;border-radius:12px 12px 0 0}.invoice-detail-overlay{align-items:flex-end;padding:0}.invoice-detail .items-header,.invoice-detail .items-row{grid-template-columns:1fr 50px 70px}.invoice-detail .items-header span:nth-child(3),.invoice-detail .items-row .item-price{display:none}.invoice-detail .detail-actions{flex-direction:column}.invoice-detail .action-btn{width:100%;justify-content:center}}.mark-paid-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.mark-paid-modal{background-color:var(--bg-panel);border-radius:var(--radius-lg);width:90%;max-width:500px;box-shadow:var(--shadow-lg);border:var(--border-subtle);overflow:hidden;animation:slideUp .3s ease-out;display:flex;flex-direction:column}.modal-header{padding:var(--space-6);border-bottom:var(--border-subtle);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-panel)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-high);display:flex;align-items:center;gap:.5rem}.modal-header h3 i{color:var(--status-success)}.modal-content{padding:var(--space-6)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:var(--space-2);color:var(--text-low);font-size:.9rem}.form-select,.form-input{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:var(--border-subtle);background-color:var(--bg-app);color:var(--text-high);font-size:1rem;transition:var(--transition)}.form-select:focus,.form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.account-option{display:flex;justify-content:space-between}.modal-actions{padding:var(--space-6);border-top:var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--space-4);background-color:var(--bg-panel)}.mark-paid-modal .btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.btn-cancel{background-color:transparent;color:var(--text-low);border:var(--border-subtle)}.btn-cancel:hover{background-color:var(--bg-surface);color:var(--text-high)}.btn-confirm{background-color:var(--status-success);color:#fff}.btn-confirm:hover{filter:brightness(1.1)}.mark-paid-modal .btn:disabled{opacity:.6;cursor:not-allowed}.mark-paid-modal .close-btn{background:transparent;border:none;color:var(--text-low);font-size:1.5rem;cursor:pointer;padding:var(--space-1);line-height:1;border-radius:var(--radius-sm);transition:var(--transition)}.mark-paid-modal .close-btn:hover{color:var(--text-high);background-color:var(--bg-surface)}@media(max-width:480px){.modal-header,.modal-content{padding:var(--space-4)}.modal-actions{padding:var(--space-3) var(--space-4);flex-direction:column-reverse;gap:var(--space-2)}.mark-paid-modal .btn{width:100%;justify-content:center}}.mark-paid-hint{margin-top:var(--space-3, .75rem);font-size:.8rem}.mark-paid-modal .form-input:disabled{opacity:.6;cursor:not-allowed}.mark-paid-error{display:block;margin-top:var(--space-2, .5rem);color:var(--status-danger);font-size:.8rem}.search-box{position:relative;display:inline-flex;align-items:center;min-width:180px;flex:1 1 220px;max-width:320px}.search-box-icon{position:absolute;left:var(--space-2, .5rem);color:var(--text-low);font-size:.95rem;pointer-events:none}.search-box-input{width:100%;padding:.4rem 1.9rem;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface);color:var(--text-high);font-size:.85rem}.search-box-input:focus{outline:none;border-color:var(--brand-primary)}.search-box-input::-webkit-search-cancel-button{display:none}.search-box-clear{position:absolute;right:var(--space-1, .25rem);display:inline-flex;align-items:center;padding:.2rem;background:none;border:none;color:var(--text-low);cursor:pointer}.search-box-clear:hover{color:var(--text-high)}.invoice-view-layout{position:relative}.nav-tabs-container{display:inline-flex;gap:var(--space-1);background:#1e293b99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 6px -1px #0000001a;position:relative;overflow:hidden}.nav-tab{flex:none;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:transparent;border:none;border-radius:var(--radius-full);color:var(--text-low);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.nav-tab:hover{color:var(--text-high);background:#ffffff0d}.nav-tab.active{background:var(--brand-primary);color:#fff;box-shadow:0 2px 10px #8b5cf666}.filters-bar{display:flex;gap:var(--space-3);flex-wrap:wrap}.filters-bar select{padding:var(--space-2) var(--space-3);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-high);font-size:.9rem}.filters-bar select:focus{border-color:var(--brand-primary)}.card.interactive{cursor:pointer}.card.interactive:hover{border-color:var(--brand-alpha);background:#ffffff05}.invoice-actions{display:flex;gap:var(--space-2);align-items:center;justify-content:flex-end}.invoice-table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.07);background:var(--bg-panel)}.invoice-table{width:100%;border-collapse:collapse;font-size:.9rem}.invoice-table thead{position:sticky;top:0;z-index:2}.invoice-table thead tr{background:#8b5cf614;border-bottom:1px solid rgba(255,255,255,.1)}.invoice-table th{padding:var(--space-3) var(--space-4);text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--text-low);white-space:nowrap;-webkit-user-select:none;user-select:none}.invoice-table tbody tr.invoice-row{cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.invoice-table tbody tr.invoice-row:last-child{border-bottom:none}.invoice-table tbody tr.invoice-row:hover{background:#8b5cf60f}.invoice-table td{padding:var(--space-3) var(--space-4);vertical-align:middle;color:var(--text-high)}.invoice-table .col-number{width:140px;white-space:nowrap}.invoice-table .col-client{min-width:160px}.invoice-table .col-concept{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoice-table .col-date{width:90px;white-space:nowrap}.invoice-table .col-amount{width:110px;white-space:nowrap}.invoice-table .col-tax,.invoice-table .col-retention{width:130px;white-space:nowrap}.invoice-table .col-total{width:110px;white-space:nowrap}.invoice-table .col-status{width:120px}.invoice-table .col-actions{width:160px;text-align:right}.tax-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.tax-amount{font-size:.9rem}.tax-rate-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);background:#10ac8426;color:#10ac84;letter-spacing:.03em}.tax-rate-badge.retention{background:#ff6b6b26;color:#ff6b6b}.btn-success-outline{color:var(--status-success)!important;border-color:var(--status-success)!important}.btn-success-outline:hover:not(:disabled){background:var(--status-success)!important;color:#fff!important}.fab-btn{position:fixed;bottom:var(--space-8);right:var(--space-8);width:56px;height:56px;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;border:none;box-shadow:var(--shadow-glow);cursor:pointer;transition:var(--transition);z-index:100}.fab-btn:hover{transform:scale(1.05);background:var(--brand-hover)}.filters-bar .btn.filter-toggle-active{border-color:var(--status-danger);color:var(--status-danger);background:color-mix(in srgb,var(--status-danger) 12%,transparent)}.invoice-overdue-badge{display:inline-flex;align-items:center;gap:.2rem;margin-bottom:2px;padding:.05rem .35rem;border-radius:var(--radius-full, 999px);background:color-mix(in srgb,var(--status-danger) 14%,transparent);color:var(--status-danger);font-size:.7rem;font-weight:700;white-space:nowrap}.invoice-partial-detail{display:block;margin-top:2px;color:var(--text-low);font-size:.72rem;white-space:nowrap}.invoice-table-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.invoice-table-count{color:var(--text-low);font-size:.82rem;font-weight:650;white-space:nowrap}@media(max-width:768px){.invoice-card{flex-direction:column;align-items:flex-start}.invoice-details{flex-wrap:wrap;width:100%}.invoice-actions{margin-top:var(--space-4);width:100%;justify-content:flex-end}}@media(max-width:480px){.fab-btn{bottom:var(--space-5);right:var(--space-5);width:48px;height:48px;font-size:1.25rem}.nav-tabs-container{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.nav-tabs-container::-webkit-scrollbar{display:none}.nav-tab{white-space:nowrap;font-size:.8rem;padding:var(--space-2) var(--space-3)}.filters-bar{flex-direction:column}.filters-bar select{width:100%}.invoice-actions{flex-wrap:wrap}}.clients-panel{display:flex;flex-direction:column;gap:var(--space-4)}.clients-toolbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.clients-search-wrap{position:relative;flex:1;min-width:220px}.clients-search-wrap>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-low);font-size:1rem;pointer-events:none}.clients-search-input{width:100%;padding:.6rem 2.2rem .6rem 2.4rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-high);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.clients-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(var(--brand-primary-rgb),.15);outline:none}.clients-search-input::placeholder{color:var(--text-low)}.clients-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-low);cursor:pointer;padding:4px;font-size:1rem;line-height:1;border-radius:50%;transition:color .15s,background .15s}.clients-search-clear:hover{color:var(--text-high);background:var(--surface-hover)}.clients-biz-filter{padding:.6rem 2rem .6rem 1rem;background:var(--card-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M12 13.172l4.95-4.95 1.414 1.414L12 16 5.636 9.636 7.05 8.222z' fill='rgba(255,255,255,0.4)'/%3E%3C/svg%3E") no-repeat right 8px center;background-size:16px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-high);font-size:.875rem;cursor:pointer;min-width:180px;appearance:none;transition:border-color .2s}.clients-biz-filter:focus{border-color:var(--brand-primary);outline:none}.clients-toolbar-actions{display:flex;align-items:center;gap:var(--space-2)}.clients-count-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--text-high);background:var(--surface-hover);padding:.4rem .8rem;border-radius:var(--radius-full);border:1px solid var(--border)}.clients-count-badge i{color:var(--brand-primary)}.clients-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card-bg);box-shadow:0 4px 12px #0000001a}.clients-table{width:100%;border-collapse:collapse;font-size:.875rem}.clients-table thead{position:sticky;top:0;z-index:2}.clients-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);background:var(--bg-deep);border-bottom:2px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.th-sort{cursor:pointer;transition:background-color .15s,color .15s}.th-sort:hover{color:var(--text-high);background-color:var(--surface-hover)}.th-sort.active{color:var(--brand-primary)}.th-sort span{display:inline-block;vertical-align:middle}.sort-icon-active{margin-left:6px;font-size:.9rem;vertical-align:middle;display:inline-block}.th-actions{text-align:right;width:80px}.clients-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text-mid);vertical-align:middle}.clients-row{cursor:pointer;transition:background-color .15s}.clients-row:hover{background-color:var(--surface-hover)}.clients-row:last-child td{border-bottom:none}.client-name-cell{max-width:280px}.client-name-text{font-weight:600;color:var(--text-high);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nif-code{font-family:var(--font-mono);font-size:.8rem;background:var(--bg-deep);padding:2px 6px;border-radius:4px;color:var(--brand-primary);border:1px solid rgba(var(--brand-primary-rgb),.2)}.biz-badge-list{display:flex;flex-wrap:wrap;gap:4px}.biz-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:4px;background-color:rgba(var(--brand-primary-rgb),.15);color:var(--brand-primary);border:1px solid rgba(var(--brand-primary-rgb),.3);white-space:nowrap}.td-actions{text-align:right;white-space:nowrap;display:flex;justify-content:flex-end;gap:4px}.tbl-icon-btn{background:none;border:none;color:var(--text-low);width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.tbl-icon-btn:hover{background:var(--surface-hover);color:var(--text-high)}.tbl-icon-btn.danger:hover{background:rgba(var(--status-danger-rgb),.15);color:var(--status-danger)}.tbl-icon-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.client-form-modal{max-width:600px;width:95vw}.client-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.form-row{display:flex;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.flex-1{flex:1}.form-group.flex-2{flex:2}.form-group label{font-size:.75rem;font-weight:700;color:var(--text-low);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group textarea{padding:.6rem .8rem;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-high);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px rgba(var(--brand-primary-rgb),.15);outline:none}.form-group textarea{resize:vertical;min-height:64px}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}@media(max-width:860px){.form-row{flex-direction:column;gap:var(--space-3)}.clients-toolbar{flex-direction:column;align-items:stretch}.clients-biz-filter{width:100%}.clients-toolbar-actions{justify-content:space-between}.clients-table th:nth-child(5),.clients-table td:nth-child(5){display:none}}@media(max-width:640px){.clients-table th:nth-child(3),.clients-table td:nth-child(3){display:none}}.section-subtitle{font-size:1.25rem;font-weight:600;color:var(--text-high)}.fiscal-quarter-selector{display:flex;gap:var(--space-2);background:var(--bg-panel);padding:var(--space-1);border-radius:var(--radius-md);border:var(--border-subtle)}.quarter-btn{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-low);font-weight:500;cursor:pointer;transition:var(--transition)}.quarter-btn:hover{background:var(--bg-surface);color:var(--text-high)}.quarter-btn.active{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.fiscal-stat{display:flex;flex-direction:column;gap:var(--space-2)}.fiscal-stat.highlight{border-color:var(--brand-primary);background:linear-gradient(135deg,var(--bg-panel),rgba(139,92,246,.05))}.fiscal-stat h3{font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:var(--space-2)}.fiscal-stat h3 i{font-size:1rem}.stat-val{font-size:1.75rem;font-weight:700;letter-spacing:-.01em}.stat-sub{font-size:.75rem}.model-card{display:flex;flex-direction:column}.model-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.model-card-header h4{font-size:1.1rem;display:flex;align-items:center;gap:var(--space-2);margin:0}.badge-success{background:var(--status-success-bg);color:var(--status-success)}.badge-warning{background:var(--status-warning-bg);color:var(--status-warning)}.fiscal-actions{margin-top:var(--space-6);display:flex;justify-content:flex-start}.fiscal-ledger-preview{display:flex;flex-direction:column;gap:var(--space-4);border-color:#22c55e33;background:linear-gradient(180deg,rgba(34,197,94,.04),transparent 55%),var(--bg-panel)}.fiscal-ledger-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.fiscal-ledger-header h3{display:flex;align-items:center;gap:var(--space-2);margin:0}.fiscal-ledger-header p{margin:0}.fiscal-ledger-notes{display:flex;flex-direction:column;gap:var(--space-2)}.fiscal-ledger-notes p{margin:0;display:flex;align-items:center;gap:var(--space-2)}@media(max-width:768px){.fiscal-ledger-header{flex-direction:column;align-items:flex-start}.fiscal-quarter-selector{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;max-width:100%}.fiscal-quarter-selector::-webkit-scrollbar{display:none}.stat-val{font-size:1.4rem}}@media(max-width:480px){.stat-val{font-size:1.15rem}.quarter-btn{padding:var(--space-2) var(--space-3);font-size:.8rem}.model-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.searchable-select{position:relative;width:100%}.searchable-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.6rem .75rem;background:var(--surface-2, #1e293b);border:1px solid var(--border, #334155);border-radius:var(--radius-md);color:var(--text, #e2e8f0);font-size:.92rem;cursor:pointer;transition:border-color .15s;text-align:left}.searchable-select-trigger:hover,.searchable-select-trigger.open{border-color:var(--brand-primary)}.searchable-select-trigger i{font-size:1.1rem;opacity:.6;flex-shrink:0}.searchable-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:100;background:var(--surface-2, #1e293b);border:1px solid var(--border, #334155);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000059;overflow:hidden;animation:ss-fade-in .12s ease-out}@keyframes ss-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.searchable-select-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border, #334155)}.searchable-select-search i{color:var(--text-muted, #94a3b8);font-size:1rem;flex-shrink:0}.searchable-select-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text, #e2e8f0);font-size:.9rem}.searchable-select-search input::placeholder{color:var(--text-muted, #94a3b8)}.searchable-select-list{max-height:220px;overflow-y:auto}.searchable-select-option{padding:.5rem .75rem;cursor:pointer;font-size:.88rem;color:var(--text, #e2e8f0);transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.searchable-select-option:hover,.searchable-select-option.highlighted{background:var(--surface-3, #2d3a4f)}.searchable-select-option.selected{color:var(--brand-primary);font-weight:600}.searchable-select-empty{padding:.75rem;text-align:center;color:var(--text-muted, #94a3b8);font-size:.85rem;font-style:italic}.business-income-form{display:flex;flex-direction:column;gap:var(--space-4)}.business-income-form label{display:flex;flex-direction:column;gap:var(--space-2)}.business-income-form span{color:var(--text-low);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.business-income-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.income-biz-selector{margin-bottom:var(--space-2)}.income-biz-selector label{display:flex;flex-direction:column;gap:var(--space-2)}.income-biz-selector span{color:var(--text-low);font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:var(--space-1)}.income-biz-selector select,.business-income-form input,.business-income-form select,.business-income-form textarea{width:100%;border:var(--border-subtle);background:var(--bg-surface);color:var(--text-high);border-radius:var(--radius-md);padding:var(--space-3);font:inherit}.income-undeclared-toggle{padding:var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md);border:1px solid transparent;transition:border-color .2s,background .2s}.income-undeclared-toggle:has(input:checked){border-color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 8%,transparent)}.income-toggle-label{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.income-toggle-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.income-toggle-track{position:relative;display:inline-block;width:44px;height:24px;background:var(--bg-surface);border-radius:var(--radius-full);border:var(--border-subtle);transition:background .2s;flex-shrink:0}.income-toggle-label input:checked+.income-toggle-track{background:var(--status-warning);border-color:var(--status-warning)}.income-toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:var(--shadow-sm)}.income-toggle-label input:checked+.income-toggle-track .income-toggle-thumb{transform:translate(20px)}.income-toggle-text{font-size:.9rem;font-weight:600;color:var(--text-low);display:flex;align-items:center;gap:var(--space-1);transition:color .2s}.income-toggle-text.active{color:var(--status-warning)}.income-undeclared-hint{margin:var(--space-2) 0 0;font-size:.82rem;color:var(--status-warning);opacity:.85}.income-suggestion-banner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--brand-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--brand-primary) 20%,transparent);border-radius:var(--radius-md);animation:income-suggestion-slide .25s ease-out}@keyframes income-suggestion-slide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.income-suggestion-header{display:flex;align-items:center;gap:var(--space-2);color:var(--brand-primary);font-size:.92rem}.income-suggestion-header i{font-size:1.1rem}.income-suggestion-details{display:flex;align-items:center;gap:var(--space-3);font-size:.86rem;color:var(--text-base)}.income-suggestion-details strong{color:var(--text-high)}.income-suggestion-ref{color:var(--text-low);font-size:.78rem;font-style:italic}.income-suggestion-desc{margin:0;font-size:.82rem;color:var(--text-low);line-height:1.4}.income-suggestion-loading{display:flex;align-items:center;gap:var(--space-2);color:var(--text-low);font-size:.86rem}@media(max-width:768px){.business-income-form-row{grid-template-columns:1fr}}.income-detail-view{display:flex;flex-direction:column;gap:var(--space-4);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);outline:none;transition:background .15s}.income-detail-view:hover{background:color-mix(in srgb,var(--brand-primary) 3%,transparent)}.income-detail-concept{margin:0;font-size:1.15rem;font-weight:700;color:var(--text-high);line-height:1.3}.income-detail-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:.86rem;color:var(--text-low)}.income-detail-meta span{display:flex;align-items:center;gap:var(--space-1)}.income-detail-amounts{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md);font-size:.9rem}.income-detail-amount-row{display:flex;justify-content:space-between;align-items:center;color:var(--text-base)}.income-detail-amount-row strong{color:var(--text-high)}.income-detail-total{border-top:var(--border-subtle);margin-top:var(--space-1);padding-top:var(--space-2);font-size:1rem}.income-detail-pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}.income-detail-notes{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md);font-size:.86rem;color:var(--text-low)}.income-detail-notes i{flex-shrink:0;margin-top:2px}.income-detail-notes p{margin:0;line-height:1.5}.income-detail-edit-cta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed color-mix(in srgb,var(--brand-primary) 35%,transparent);border-radius:var(--radius-md);font-size:.82rem;color:var(--brand-primary);opacity:.7;transition:opacity .15s}.income-detail-view:hover .income-detail-edit-cta{opacity:1}.modal-payments-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3);animation:income-panel-open .2s ease-out}.modal-payments-header{display:flex;align-items:center;gap:var(--space-2);font-size:.95rem;color:var(--text-high)}.modal-payments-header i{color:var(--brand-primary)}.modal-payments-total-chip{margin-left:auto;font-size:.82rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-full)}.modal-payments-chip-done{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.modal-payments-chip-pending{background:color-mix(in srgb,var(--brand-primary) 12%,transparent);color:var(--brand-primary)}.modal-payments-bar{position:relative;height:6px;background:color-mix(in srgb,var(--text-low) 20%,transparent);border-radius:var(--radius-full);overflow:hidden}.modal-payments-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--status-success));border-radius:inherit;transition:width .4s ease-out}.modal-payments-bar-label{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:.72rem;font-weight:700;color:var(--text-high);line-height:1;text-shadow:0 0 4px var(--bg-app)}.modal-payments-list{display:flex;flex-direction:column;gap:var(--space-2)}.modal-payment-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md);font-size:.86rem}.modal-payment-num{font-size:.78rem;color:var(--text-low);min-width:22px;font-weight:600}.modal-payment-amount{font-weight:700;color:var(--status-success);min-width:80px}.modal-payment-date{color:var(--text-low)}.modal-payment-method{color:var(--text-base);font-size:.8rem;text-transform:capitalize}.modal-payment-notes{margin-left:auto;color:var(--text-low);font-size:.8rem;font-style:italic}.modal-payment-add{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--brand-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--brand-primary) 18%,transparent);border-radius:var(--radius-md)}.modal-payment-add-fields{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.modal-payments-edit-summary{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--text-low) 6%,transparent);border-radius:var(--radius-md);margin-bottom:var(--space-1)}.modal-payments-edit-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:.82rem}.modal-payment-chip-received{color:var(--status-success);display:flex;align-items:center;gap:4px;font-weight:600}.modal-payment-chip-pending{color:var(--brand-primary);display:flex;align-items:center;gap:4px;font-weight:600}.modal-payment-chip-count{margin-left:auto;color:var(--text-low)}.modal-payment-row-edit{flex-wrap:wrap;gap:var(--space-2)}.modal-payment-edit-btn,.modal-payment-delete-btn,.modal-payment-cancel-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);border:none;cursor:pointer;font-size:.95rem;transition:background .15s,opacity .15s;background:transparent}.modal-payment-edit-btn{color:var(--brand-primary)}.modal-payment-edit-btn:hover{background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.modal-payment-delete-btn{color:var(--status-danger)}.modal-payment-delete-btn:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 12%,transparent)}.modal-payment-delete-btn:disabled{opacity:.45;cursor:not-allowed}.modal-payment-cancel-btn{color:var(--text-low)}.modal-payment-cancel-btn:hover{background:color-mix(in srgb,var(--text-low) 12%,transparent)}@media(max-width:768px){.modal-payment-row{flex-wrap:wrap}.modal-payment-add-fields{flex-direction:column;align-items:stretch}.income-detail-meta{font-size:.82rem}}.income-modal-header-actions{display:flex;gap:var(--space-2);align-items:center}.income-edit-actions{display:flex;gap:var(--space-3)}.modal-payment-input-compact{width:90px}.modal-payment-submit-compact{padding:4px 10px;font-size:.82rem}.modal-payment-row-actions{margin-left:auto;display:flex;gap:var(--space-2)}.income-detail-meta .income-detail-overdue{color:var(--status-danger);font-weight:700}.business-income-table-card{display:flex;flex-direction:column;gap:var(--space-4)}.income-ledger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3)}.income-ledger-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.income-ledger-filter{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;padding:.25rem .35rem .25rem .6rem;border:var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.income-ledger-filter span{color:var(--text-low);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.income-ledger-filter select{min-width:130px;max-width:210px;border:none;background:transparent;color:var(--text-high);font:inherit;font-size:.86rem;font-weight:650;outline:none;cursor:pointer}.income-ledger-filter select:focus-visible{outline:2px solid var(--brand-hover);outline-offset:2px;border-radius:var(--radius-sm)}.income-filter-count{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-2);color:var(--text-low);font-size:.82rem;font-weight:650;white-space:nowrap}.income-table-wrapper{width:100%;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.07);background:var(--bg-panel)}.income-table{width:100%;border-collapse:collapse;font-size:.9rem}.income-table thead{position:sticky;top:0;z-index:2}.income-table thead tr{background:#8b5cf614;border-bottom:1px solid rgba(255,255,255,.1)}.income-table th{padding:var(--space-3) var(--space-4);text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--text-low);white-space:nowrap;-webkit-user-select:none;user-select:none}.sortable-th{cursor:pointer;transition:color .15s ease}.sortable-th:hover{color:var(--text-high)}.income-table th.sortable-th-active{color:var(--brand-primary)}.sortable-th-content{display:inline-flex;align-items:center;gap:.35em}.sortable-th-arrow{font-size:.6rem;opacity:.85;line-height:1}.income-table tbody tr.income-row{cursor:pointer;border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease}.income-table tbody tr.income-row:last-child{border-bottom:none}.income-table tbody tr.income-row:hover{background:#8b5cf60f}.income-table td{padding:var(--space-3) var(--space-4);vertical-align:middle;color:var(--text-high)}.income-table .col-concept{min-width:180px}.income-table .col-client,.income-table .col-business{min-width:140px}.income-table .col-date{width:90px;white-space:nowrap}.income-table .col-base{width:110px;white-space:nowrap}.income-table .col-total{width:130px;white-space:nowrap}.income-table .col-type{width:150px;white-space:nowrap}.income-table .col-status{width:120px}.income-table .col-actions{width:180px;text-align:right}.income-concept-text{display:block;font-weight:600;line-height:1.3}.income-invoice-tag{display:inline-flex;align-items:center;gap:.2rem;margin-top:.2rem;font-family:var(--font-mono, monospace);font-size:.74rem;font-weight:600;color:var(--status-info)}.income-overdue-badge{display:inline-flex;align-items:center;gap:.2rem;margin-top:.2rem;padding:.05rem .35rem;border-radius:var(--radius-full, 999px);background:color-mix(in srgb,var(--status-danger) 14%,transparent);color:var(--status-danger);font-size:.7rem;font-weight:700;white-space:nowrap}.income-invoice-tag-link{padding:0;background:none;border:none;cursor:pointer}.income-invoice-tag-link:hover,.income-invoice-tag-link:focus-visible{text-decoration:underline}.income-tax-sub{display:flex;gap:var(--space-2);margin-top:.15rem}.income-tax-vat{font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);background:#10ac8426;color:#10ac84;letter-spacing:.03em}.income-tax-irpf{font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:var(--radius-full);background:#ff6b6b26;color:#ff6b6b;letter-spacing:.03em}.income-row-undeclared>td:first-child{box-shadow:inset 3px 0 0 var(--status-warning)}.income-row-forecast{opacity:.85}.income-row-forecast>td:first-child{box-shadow:inset 3px 0 0 var(--brand-primary)}.income-row-expanded{background:#8b5cf60a}.income-expanded-row>td{padding:0 var(--space-4) var(--space-4);background:#8b5cf608;border-bottom:2px solid rgba(139,92,246,.15)}.income-pill{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .55rem;border-radius:var(--radius-full);font-size:.74rem;font-weight:600;background:var(--brand-alpha);color:var(--brand-primary);gap:.25rem;white-space:nowrap}.income-pill-muted{background:var(--bg-panel);color:var(--text-low)}.income-pill-undeclared{background:color-mix(in srgb,var(--status-warning) 12%,transparent);color:var(--status-warning)}.income-pill-draft{background:var(--bg-panel);color:var(--text-low)}.income-pill-accrued{background:var(--brand-alpha);color:var(--brand-primary)}.income-pill-collected{background:var(--status-success-bg);color:var(--status-success)}.income-pill-cancelled{background:var(--status-danger-bg);color:var(--status-danger)}.income-pill-invoice{background:color-mix(in srgb,var(--status-info) 12%,transparent);color:var(--status-info)}.income-pill-third-party{background:color-mix(in srgb,#10AC84 12%,transparent);color:#10ac84}.income-pill-forecast{background:color-mix(in srgb,var(--brand-primary) 14%,transparent);color:var(--brand-primary);border:1px dashed color-mix(in srgb,var(--brand-primary) 40%,transparent)}.income-auto-tag{display:inline-flex;align-items:center;gap:.2rem;margin-top:.2rem;font-size:.68rem;font-weight:700;color:#10ac84;letter-spacing:.02em}.income-bank-indicator{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-full);font-size:.7rem;margin-left:var(--space-1);vertical-align:middle;transition:opacity .15s ease}.income-bank-indicator.bank-matched{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.income-bank-indicator.bank-partial{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.income-bank-indicator.bank-unmatched{background:color-mix(in srgb,var(--status-danger) 15%,transparent);color:var(--status-danger)}.income-row-actions{display:flex;align-items:center;gap:var(--space-1);justify-content:flex-end}.income-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:none;background:transparent;color:var(--text-low);cursor:pointer;font-size:1.1rem;transition:all .15s}.income-action-btn:hover{background:var(--bg-panel);color:var(--text-high)}.income-action-collect:hover{background:var(--status-success-bg);color:var(--status-success)}.income-action-invoice:hover{background:var(--brand-alpha);color:var(--brand-primary)}.income-action-send:hover{background:color-mix(in srgb,var(--status-info) 12%,transparent);color:var(--status-info)}.income-action-delete:hover{background:var(--status-danger-bg);color:var(--status-danger)}.income-action-edit:hover{background:var(--brand-alpha);color:var(--brand-primary)}.income-action-schedule:hover,.income-action-payment:hover{background:color-mix(in srgb,var(--brand-primary) 12%,transparent);color:var(--brand-primary)}.income-action-payment-active{background:color-mix(in srgb,var(--brand-primary) 16%,transparent);color:var(--brand-primary)}.income-payments-panel{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);animation:income-panel-open .2s ease-out}.income-payments-history{display:flex;flex-direction:column;gap:var(--space-2)}.income-payments-history-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low)}.income-payment-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md);font-size:.86rem}.income-payment-amount{font-weight:700;color:var(--status-success);min-width:80px}.income-payment-date{color:var(--text-low)}.income-payment-method{color:var(--text-base);font-size:.8rem}.income-payment-notes{color:var(--text-low);font-size:.8rem;font-style:italic;margin-left:auto}.income-payments-total{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-3);border-top:var(--border-subtle);font-size:.86rem;color:var(--text-base)}.income-payments-empty{margin:0;font-size:.86rem;color:var(--text-low);font-style:italic}.income-payment-form{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:color-mix(in srgb,var(--brand-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--brand-primary) 18%,transparent);border-radius:var(--radius-md)}.income-payment-form-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-primary);font-weight:600}.income-payment-form-fields{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.income-payment-input{border:var(--border-subtle);background:var(--bg-surface);color:var(--text-high);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font:inherit;font-size:.9rem;min-width:0}.income-payment-input[type=number]{width:110px}.income-payment-input[type=date]{width:140px}.income-payment-input[type=text],.income-payment-notes-input{flex:1;min-width:120px}.income-payment-submit{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--brand-primary);color:var(--bg-app);border:none;border-radius:var(--radius-md);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}.income-payment-submit:hover:not(:disabled){opacity:.88}.income-payment-submit:disabled{opacity:.45;cursor:not-allowed}@media(max-width:768px){.income-ledger-toolbar{align-items:flex-start}.income-ledger-filters{flex:1}.income-ledger-filter{flex:1 1 180px}.income-ledger-filter select{width:100%;max-width:none}.income-table-wrapper{border-radius:var(--radius-md)}.income-table .col-business,.income-table .col-base{display:none}.income-row-actions{flex-wrap:wrap}}.income-ledger-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.income-refresh-status{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.8rem;color:var(--text-low);font-weight:500}.income-refresh-status-error{color:var(--status-danger)}@keyframes income-panel-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.schedule-modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg-app) 75%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:schedule-fadeIn .15s ease}@keyframes schedule-fadeIn{0%{opacity:0}to{opacity:1}}.schedule-modal{background:var(--bg-panel, #1e293b);border:1px solid var(--border-color-subtle);border-radius:16px;width:100%;max-width:620px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg);animation:schedule-slideUp .2s ease}@keyframes schedule-slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.schedule-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color-subtle);flex-shrink:0}.schedule-modal__title-group{display:flex;align-items:center;gap:.75rem}.schedule-modal__icon{font-size:1.5rem;line-height:1}.schedule-modal__title{font-size:1.1rem;font-weight:600;color:var(--text-high, #f1f5f9);margin:0}.schedule-modal__subtitle{font-size:.8rem;color:var(--text-low, #94a3b8);margin:.1rem 0 0;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-modal__close{background:transparent;border:none;color:var(--text-low, #94a3b8);font-size:1.1rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:color .15s,background .15s}.schedule-modal__close:hover{color:var(--text-high, #f1f5f9);background:var(--bg-elevated)}.schedule-modal__close:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.schedule-modal__kpis{display:flex;gap:0;border-bottom:1px solid var(--border-color-subtle);flex-shrink:0}.schedule-kpi{flex:1;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.2rem;border-right:1px solid var(--border-color-subtle)}.schedule-kpi:last-child{border-right:none}.schedule-kpi__label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low, #94a3b8)}.schedule-kpi__value{font-size:1rem;font-weight:700;color:var(--text-high, #f1f5f9)}.schedule-kpi--success .schedule-kpi__value{color:var(--status-success, #10b981)}.schedule-kpi--danger .schedule-kpi__value{color:var(--status-danger, #ef4444)}.schedule-kpi--muted .schedule-kpi__value{color:var(--text-base, #cbd5e1)}.schedule-progress{height:4px;background:var(--bg-elevated);position:relative;flex-shrink:0}.schedule-progress__fill{position:absolute;top:0;height:100%;transition:width .4s ease}.schedule-progress__fill--paid{background:var(--status-success, #10b981);left:0}.schedule-progress__fill--overdue{background:var(--status-danger, #ef4444)}.schedule-modal__error{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;background:var(--status-danger-bg, rgba(239, 68, 68, .15));color:var(--status-danger, #ef4444);font-size:.82rem;flex-shrink:0}.schedule-modal__error button{background:transparent;border:none;color:inherit;cursor:pointer;font-size:.85rem}.schedule-modal__body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem}.schedule-modal__spinner{text-align:center;padding:2rem;color:var(--text-low, #94a3b8);font-size:.9rem}.schedule-builder{display:flex;flex-direction:column;gap:1rem}.schedule-builder__heading{font-size:.95rem;font-weight:600;color:var(--text-high, #f1f5f9)}.schedule-builder__hint{font-size:.82rem;color:var(--text-low, #94a3b8)}.schedule-builder__row{display:flex;gap:1rem}.schedule-builder__label{flex:1;display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;color:var(--text-low, #94a3b8)}.schedule-builder__input{background:var(--bg-surface, #334155);border:1px solid var(--border-color-subtle);border-radius:8px;color:var(--text-high, #f1f5f9);font-size:.9rem;padding:.5rem .75rem;outline:none;transition:border-color .15s}.schedule-builder__input:focus{border-color:var(--brand-primary, #8b5cf6)}.schedule-preview{background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:10px;overflow:hidden}.schedule-preview__row{display:grid;grid-template-columns:2rem 1fr 1fr;align-items:center;padding:.5rem .75rem;font-size:.83rem;border-bottom:1px solid var(--border-color-subtle)}.schedule-preview__row:last-child{border-bottom:none}.schedule-preview__num{color:var(--text-low, #94a3b8);font-weight:600}.schedule-preview__date{color:var(--text-base, #cbd5e1)}.schedule-preview__amount{text-align:right;font-weight:600;color:var(--text-high, #f1f5f9)}.schedule-builder__btn{align-self:flex-start;background:var(--brand-primary, #8b5cf6);color:var(--text-on-brand, #fff);border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s}.schedule-builder__btn:hover:not(:disabled){background:var(--brand-hover, #a78bfa)}.schedule-builder__btn:disabled{opacity:.5;cursor:not-allowed}.schedule-table-wrap{display:flex;flex-direction:column;gap:1rem}.schedule-table{width:100%;border-collapse:collapse;font-size:.85rem}.schedule-table th{text-align:left;padding:.4rem .6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low, #94a3b8);border-bottom:1px solid var(--border-color-subtle)}.schedule-row td{padding:.6rem;border-bottom:1px solid var(--border-color-subtle);vertical-align:middle}.schedule-row:last-child td{border-bottom:none}.schedule-row--overdue{background:color-mix(in srgb,var(--status-danger) 4%,transparent)}.schedule-row--paid{opacity:.6}.schedule-row__num span{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bg-elevated);font-size:.75rem;font-weight:700;color:var(--text-low, #94a3b8)}.schedule-row__date{color:var(--text-base, #cbd5e1)}.schedule-row__amount{font-weight:600;color:var(--text-high, #f1f5f9)}.schedule-row__status{display:flex;align-items:center;gap:.4rem}.schedule-row__date-input,.schedule-row__amount-input{background:var(--bg-surface, #334155);border:1px solid var(--border-color-subtle);border-radius:6px;color:var(--text-high, #f1f5f9);font-size:.83rem;padding:.3rem .5rem;width:100%;outline:none}.schedule-row__date-input:focus,.schedule-row__amount-input:focus{border-color:var(--brand-primary, #8b5cf6)}.schedule-badge{display:inline-block;padding:.15rem .55rem;border-radius:20px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.schedule-badge--paid{background:var(--status-success-bg);color:var(--status-success)}.schedule-badge--overdue{background:var(--status-danger-bg);color:var(--status-danger)}.schedule-badge--pending{background:var(--status-warning-bg);color:var(--status-warning)}.schedule-row__reminder-icon{font-size:.85rem}.schedule-row__actions{text-align:right}.schedule-row__edit-actions{display:flex;gap:.25rem;justify-content:flex-end}.schedule-row__btn{background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:.8rem;padding:.2rem .4rem;transition:background .15s}.schedule-row__btn--edit:hover{background:var(--bg-elevated)}.schedule-row__btn--save{color:var(--status-success);border-color:var(--status-success);font-weight:700}.schedule-row__btn--cancel{color:var(--text-low)}.schedule-row__btn--save:hover{background:var(--status-success-bg)}.schedule-row__btn--cancel:hover{background:var(--bg-elevated)}.schedule-row__btn:disabled{opacity:.4;cursor:not-allowed}.schedule-modal__footer{display:flex;gap:.75rem;flex-wrap:wrap;padding-top:.5rem;border-top:1px solid var(--border-color-subtle);margin-top:.5rem}.schedule-footer__btn{border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s}.schedule-footer__btn--secondary{background:var(--bg-elevated);color:var(--text-base, #cbd5e1)}.schedule-footer__btn--secondary:hover{background:var(--border-color-strong)}.schedule-footer__btn--danger{background:var(--status-danger-bg);color:var(--status-danger)}.schedule-footer__btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 25%,transparent)}.schedule-footer__btn:disabled{opacity:.5;cursor:not-allowed}.business-income-summary{display:flex;flex-direction:column;gap:var(--space-5)}.business-income-kpis{display:grid;grid-template-columns:repeat(var(--kpi-count, 4),minmax(0,1fr));gap:var(--space-3)}.business-income-kpi{display:flex;flex-direction:column;gap:var(--space-1);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.business-income-kpi-label{color:var(--text-low);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.business-income-kpi strong{display:inline-flex;align-items:center;gap:var(--space-2);font-size:1.25rem;color:var(--text-high)}.business-income-kpi-hint{color:var(--text-low);font-size:.72rem;opacity:.85}.business-income-kpi-loading{color:var(--text-low);font-size:1rem}.kpi-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.kpi-clickable:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}@media(hover:hover){.kpi-clickable:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}}.kpi-active{border-color:var(--brand-primary)!important;box-shadow:0 0 0 1px var(--brand-primary),0 4px 12px rgba(var(--brand-primary-rgb),.2)!important;transform:translateY(-1px)!important}.income-kpi-success strong{color:var(--status-success)}.income-kpi-pending{border:1px solid color-mix(in srgb,var(--status-warning) 22%,transparent)}.income-kpi-pending .business-income-kpi-hint{color:var(--status-warning);opacity:1}.income-kpi-pending.kpi-active{border-color:var(--status-warning)!important;box-shadow:0 0 0 1px var(--status-warning),0 4px 12px #ff9f4333!important}.income-kpi-undeclared{border:1px solid color-mix(in srgb,var(--status-danger) 30%,transparent)}.income-kpi-undeclared .business-income-kpi-label,.income-kpi-undeclared strong{color:var(--status-warning)}.income-kpi-undeclared.kpi-active{border-color:var(--status-warning)!important;box-shadow:0 0 0 1px var(--status-warning),0 4px 12px #ff9f4333!important}.income-kpi-overdue{border:1px solid color-mix(in srgb,var(--status-danger) 24%,transparent)}.income-kpi-overdue .business-income-kpi-hint{color:var(--status-danger);opacity:1}.income-kpi-overdue.kpi-active{border-color:var(--status-danger)!important;box-shadow:0 0 0 1px var(--status-danger),0 4px 12px color-mix(in srgb,var(--status-danger) 20%,transparent)!important}.income-kpi-third_party{border:1px solid color-mix(in srgb,var(--status-success) 30%,transparent)}.income-kpi-third_party .business-income-kpi-label,.income-kpi-third_party strong{color:var(--status-success)}.income-kpi-third_party.kpi-active{border-color:var(--status-success)!important;box-shadow:0 0 0 1px var(--status-success),0 4px 12px #10ac8433!important}@media(max-width:1100px){.business-income-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.business-income-kpis{grid-template-columns:1fr}}.investments-container{display:flex;flex-direction:column;gap:var(--space-4);animation:fadeIn .3s ease-out}.investments-header{display:flex;justify-content:space-between;align-items:center}.investments-header h2{margin:0;font-size:1.25rem;display:flex;align-items:center;gap:var(--space-2)}.inv-sub-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-color-subtle);padding-bottom:var(--space-2)}.inv-sub-tab{padding:.5rem 1rem;background:none;border:none;color:var(--text-low);font-size:.85rem;font-weight:500;cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;align-items:center;gap:var(--space-1);transition:all .2s;border-bottom:2px solid transparent}.inv-sub-tab:hover{color:var(--text-high);background:var(--bg-elevated)}.inv-sub-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);background:var(--brand-alpha)}.investments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-4)}.roi-card{background:var(--surface-card);border-radius:var(--radius-lg);padding:var(--space-5);border:var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-3);transition:border-color .2s}.roi-card:hover{border-color:var(--border-color-strong)}.roi-card.profitable{border-color:color-mix(in srgb,var(--status-success) 20%,transparent)}.roi-card-header{display:flex;justify-content:space-between;align-items:flex-start}.roi-card-title h3{margin:0;font-size:1rem;color:var(--text-high);line-height:1.3}.roi-card-badge{display:inline-block;margin-top:.4rem;padding:.2rem .6rem;background:var(--brand-alpha);border:1px solid color-mix(in srgb,var(--brand-primary) 15%,transparent);border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-base)}.roi-financials{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.metric-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-base)}.metric-row.capex span:last-child{color:var(--status-warning);font-weight:600;font-variant-numeric:tabular-nums}.metric-row.opex span:last-child{color:var(--status-danger);font-weight:600;font-variant-numeric:tabular-nums}.roi-progress-container{display:flex;flex-direction:column;gap:.3rem}.roi-progress-labels{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-low)}.roi-bar-wrapper{position:relative;height:14px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-elevated)}.bar-capex{position:absolute;height:100%;background:var(--status-danger);border-radius:var(--radius-md) 0 0 var(--radius-md)}.bar-opex{position:absolute;height:100%;left:var(--capex-pct, 0%);background:var(--status-danger);opacity:.7}.bar-returns-overlay{position:absolute;height:100%;left:0;background:var(--status-success);border-radius:var(--radius-md);opacity:.85}.roi-returns-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.returns-label{font-size:.75rem;color:var(--text-low);display:flex;align-items:center;gap:.25rem}.return-chip{font-size:.72rem;padding:.15rem .5rem;background:color-mix(in srgb,var(--status-success) 8%,transparent);border:1px solid color-mix(in srgb,var(--status-success) 15%,transparent);border-radius:999px;color:var(--status-success);font-weight:500}.roi-card-footer{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-color-subtle)}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-low);gap:var(--space-3)}.state-container i{font-size:2.5rem}.energy-table-container{display:flex;flex-direction:column;gap:var(--space-4);animation:fadeIn .3s ease-out}.energy-summary-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.energy-summary-card{background:var(--surface-card);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;align-items:center;gap:.25rem}.energy-summary-card.accent{border-color:color-mix(in srgb,var(--status-warning) 25%,transparent);background:color-mix(in srgb,var(--status-warning) 4%,transparent)}.energy-summary-value{font-size:1.5rem;font-weight:700;color:var(--text-high);font-variant-numeric:tabular-nums}.energy-summary-card.accent .energy-summary-value{color:var(--status-warning)}.energy-summary-label{font-size:.75rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.energy-table-wrapper{overflow-x:auto;border-radius:var(--radius-lg);border:var(--border-subtle)}.energy-table{width:100%;border-collapse:collapse;font-size:.85rem}.energy-table thead{background:var(--bg-elevated)}.energy-table th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color-subtle)}.energy-table td{padding:.75rem 1rem;color:var(--text-base);border-bottom:1px solid var(--border-color-subtle)}.energy-table th.num,.energy-table td.num{text-align:right;font-variant-numeric:tabular-nums}.energy-table td.device-name{font-weight:600;color:var(--text-high)}.energy-table td.cost{color:var(--status-danger);font-weight:600}.energy-table td.accrued{color:var(--status-warning);font-weight:600}.energy-table tbody tr:hover{background:var(--bg-elevated)}.watts-badge{display:inline-flex;padding:.1rem .4rem;background:color-mix(in srgb,var(--status-warning) 10%,transparent);border:1px solid color-mix(in srgb,var(--status-warning) 20%,transparent);border-radius:var(--radius-sm);color:var(--status-warning);font-weight:600;font-size:.8rem}.totals-row{background:var(--bg-elevated)}.totals-row td{border-bottom:none;padding-top:.85rem;padding-bottom:.85rem}.totals-row td.cost strong{color:var(--status-danger)}.totals-row td.accrued strong{color:var(--status-warning)}@media(max-width:720px){.investments-grid{grid-template-columns:1fr}.investments-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.roi-financials{grid-template-columns:1fr}.energy-summary-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.roi-card{padding:var(--space-4)}.energy-summary-row{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.forecast-dash{display:flex;flex-direction:column;gap:0;background:var(--bg-panel, #1e293b);border:1px solid var(--border-color-subtle);border-radius:16px;overflow:hidden}.forecast-dash--embedded{background:transparent;border:none;border-radius:0}.forecast-dash__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color-subtle);flex-wrap:wrap}.forecast-dash__title-group{display:flex;align-items:center;gap:.75rem}.forecast-dash__icon{font-size:1.5rem}.forecast-dash__title{font-size:1.05rem;font-weight:600;color:var(--text-high, #f1f5f9);margin:0}.forecast-dash__subtitle{font-size:.78rem;color:var(--text-low, #94a3b8);margin:.1rem 0 0}.forecast-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.forecast-toggle{display:flex;gap:.2rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:8px;padding:.2rem}.forecast-toggle__btn{background:transparent;border:none;border-radius:6px;color:var(--text-low, #94a3b8);font-size:.75rem;font-weight:500;cursor:pointer;padding:.3rem .65rem;transition:background .15s,color .15s}.forecast-toggle__btn:hover{color:var(--text-base, #cbd5e1)}.forecast-toggle__btn--active{background:var(--brand-primary, #8b5cf6);color:var(--text-on-brand, #fff)}.forecast-kpis{display:flex;border-bottom:1px solid var(--border-color-subtle);flex-shrink:0;overflow-x:auto}.forecast-kpi{flex:1;min-width:120px;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.15rem;border-right:1px solid var(--border-color-subtle);position:relative}.forecast-kpi:last-child{border-right:none}.forecast-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.forecast-kpi--committed:before{background:color-mix(in srgb,var(--status-success) 70%,transparent)}.forecast-kpi--pipeline:before{background:color-mix(in srgb,var(--brand-primary) 70%,transparent)}.forecast-kpi--mrr:before{background:color-mix(in srgb,var(--status-info) 70%,transparent)}.forecast-kpi--outflows:before{background:color-mix(in srgb,var(--status-danger) 70%,transparent)}.forecast-kpi--next:before{background:color-mix(in srgb,var(--status-warning) 70%,transparent)}.forecast-kpi__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low, #94a3b8)}.forecast-kpi__value{font-size:1.1rem;font-weight:700;color:var(--text-high, #f1f5f9)}.forecast-kpi__sub{font-size:.68rem;color:var(--text-low, #94a3b8)}.forecast-kpi--committed .forecast-kpi__value{color:var(--status-success, #10b981)}.forecast-kpi--pipeline .forecast-kpi__value{color:var(--brand-primary, #8b5cf6)}.forecast-kpi--mrr .forecast-kpi__value{color:var(--status-info, #3b82f6)}.forecast-kpi--outflows .forecast-kpi__value{color:var(--status-danger, #ef4444)}.forecast-kpi--next .forecast-kpi__value{color:var(--status-warning, #f59e0b)}.forecast-overdue-alert{display:flex;align-items:center;gap:.6rem;padding:.65rem 1.5rem;background:color-mix(in srgb,var(--status-danger) 10%,transparent);border-bottom:1px solid color-mix(in srgb,var(--status-danger) 20%,transparent);color:var(--status-danger, #ef4444);font-size:.83rem}.forecast-overdue-alert__icon{font-size:1rem}.forecast-chart-wrap{height:300px;padding:1rem 1.25rem .5rem;position:relative;flex-shrink:0}.forecast-chart{width:100%!important;height:100%!important}.forecast-loading,.forecast-error,.forecast-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem;color:var(--text-low, #94a3b8);font-size:.9rem;text-align:center}.forecast-loading__spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--brand-primary) 20%,transparent);border-top-color:var(--brand-primary, #8b5cf6);border-radius:50%;animation:forecast-spin .8s linear infinite}@keyframes forecast-spin{to{transform:rotate(360deg)}}.forecast-error button{background:var(--brand-primary, #8b5cf6);color:var(--text-on-brand, #fff);border:none;border-radius:6px;padding:.4rem 1rem;font-size:.82rem;cursor:pointer}.forecast-empty__icon{font-size:2.5rem}.forecast-empty__hint{font-size:.8rem;max-width:280px}.forecast-table-wrap{overflow-x:auto;border-top:1px solid var(--border-color-subtle)}.forecast-table{width:100%;min-width:680px;border-collapse:collapse;font-size:.8rem}.forecast-table th{padding:.5rem .75rem;text-align:right;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low, #94a3b8);background:var(--bg-elevated);border-bottom:1px solid var(--border-color-subtle)}.forecast-table th:first-child{text-align:left}.forecast-table td{padding:.5rem .75rem;text-align:right;border-bottom:1px solid var(--border-color-subtle);color:var(--text-base, #cbd5e1)}.forecast-table tr:last-child td{border-bottom:none}.forecast-row--negative{background:color-mix(in srgb,var(--status-danger) 4%,transparent)}.forecast-table__period{text-align:left;font-weight:600;color:var(--text-high)}.forecast-table__pos{color:var(--status-success, #10b981)}.forecast-table__pipeline{color:var(--brand-primary, #8b5cf6)}.forecast-table__mrr{color:var(--status-info, #3b82f6)}.forecast-table__neg{color:var(--status-danger, #ef4444)}.forecast-table__cumul{font-weight:700;color:var(--status-warning, #f59e0b)}.forecast-table__net--pos{color:var(--status-success, #10b981);font-weight:600}.forecast-table__net--neg{color:var(--status-danger, #ef4444);font-weight:600}.forecast-row--clickable{cursor:pointer;transition:background .13s}.forecast-row--clickable:hover{background:var(--brand-alpha)}.forecast-row--clickable:hover .forecast-table__period{color:var(--brand-primary, #8b5cf6)}.forecast-table__period-arrow{font-size:.85rem;color:var(--text-low, #94a3b8);vertical-align:middle;margin-left:.15rem;opacity:0;transition:opacity .13s,transform .13s}.forecast-row--clickable:hover .forecast-table__period-arrow{opacity:1;transform:translate(2px)}.forecast-table-hint{padding:.45rem .75rem;font-size:.72rem;color:var(--text-low, #94a3b8);display:flex;align-items:center;gap:.35rem;border-bottom:1px solid var(--border-color-subtle);background:var(--bg-elevated)}.forecast-modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--bg-app) 75%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:forecast-backdrop-in .15s ease}@keyframes forecast-backdrop-in{0%{opacity:0}to{opacity:1}}.forecast-modal{background:var(--bg-panel, #1e293b);border:1px solid var(--border-color-subtle);border-radius:16px;width:100%;max-width:720px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:forecast-modal-in .18s cubic-bezier(.34,1.56,.64,1)}@keyframes forecast-modal-in{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.forecast-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color-subtle);position:sticky;top:0;background:var(--bg-panel, #1e293b);z-index:1}.forecast-modal__title{font-size:1rem;font-weight:600;color:var(--text-high, #f1f5f9);margin:0}.forecast-modal__subtitle{font-size:.78rem;color:var(--text-low, #94a3b8);margin:.2rem 0 0}.forecast-modal__close{background:var(--bg-elevated);border:none;border-radius:6px;color:var(--text-low, #94a3b8);cursor:pointer;font-size:1.1rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .13s,color .13s}.forecast-modal__close:hover{background:color-mix(in srgb,var(--status-danger) 15%,transparent);color:var(--status-danger, #ef4444)}.forecast-modal__loading{display:flex;align-items:center;gap:.75rem;padding:2rem 1.5rem;color:var(--text-low, #94a3b8);font-size:.88rem}.forecast-modal__error{padding:1.5rem;color:var(--status-danger, #ef4444);font-size:.88rem}.forecast-modal__empty{padding:1.5rem;color:var(--text-low, #94a3b8);font-size:.88rem}.forecast-modal__section{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color-subtle)}.forecast-modal__section:last-child{border-bottom:none}.forecast-modal__section-title{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--status-success, #10b981);margin:0 0 .85rem}.forecast-modal__section-title--pipeline{color:var(--brand-primary, #8b5cf6)}.forecast-modal__section-total{margin-left:auto;font-size:.92rem;font-weight:700;letter-spacing:0;text-transform:none}.forecast-modal__section-total--pipeline{color:var(--brand-primary, #8b5cf6)}.forecast-detail-table{width:100%;border-collapse:collapse;font-size:.81rem}.forecast-detail-table th{padding:.4rem .6rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low, #94a3b8);text-align:left;border-bottom:1px solid var(--border-color-subtle)}.forecast-detail-table th.text-right{text-align:right}.forecast-detail-table td{padding:.55rem .6rem;color:var(--text-base, #cbd5e1);border-bottom:1px solid var(--border-color-subtle);vertical-align:middle}.forecast-detail-table tr:last-child td{border-bottom:none}.forecast-detail-table td.text-right{text-align:right}.forecast-detail-table__client{color:var(--text-high, #f1f5f9);font-weight:500;white-space:nowrap}.forecast-detail-table__client i{font-size:.8rem;color:var(--brand-primary, #8b5cf6);margin-right:.25rem}.forecast-detail-table__no-client{color:var(--text-low, #94a3b8);font-style:italic}.forecast-detail-table__concept{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-detail-table__num{color:var(--text-low, #94a3b8);font-size:.75rem;white-space:nowrap}.forecast-detail-table__date{white-space:nowrap}.forecast-detail-table__amount{font-weight:600;color:var(--status-success, #10b981)}.forecast-detail-table__prob{display:inline-block;background:color-mix(in srgb,var(--brand-primary) 15%,transparent);color:var(--brand-primary, #8b5cf6);border-radius:4px;padding:.1rem .4rem;font-size:.75rem;font-weight:600}.reconciliation-panel{display:flex;flex-direction:column;gap:var(--space-6)}.reconciliation-subtabs{display:flex;gap:var(--space-1);background:var(--bg-panel);padding:var(--space-1);border-radius:var(--radius-lg);border:var(--border-subtle);width:fit-content}.reconciliation-subtab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:transparent;border:none;border-radius:calc(var(--radius-lg) - 3px);color:var(--text-low);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s ease}.reconciliation-subtab:hover{color:var(--text-high);background:var(--bg-elevated)}.reconciliation-subtab.active{color:var(--text-high);background:var(--bg-surface);box-shadow:var(--shadow-md)}.reconciliation-subtab.active i{color:var(--brand-primary)}.reconciliation-subtab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 .4rem;border-radius:var(--radius-full);background:var(--brand-alpha);color:var(--brand-primary);font-size:.72rem;font-weight:700}.reconciliation-stats{display:flex;gap:var(--space-4);flex-wrap:wrap}.reconciliation-stat-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1 1 200px;min-width:140px}.reconciliation-stat-icon{display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:var(--radius-lg);font-size:1.1rem}.reconciliation-stat-icon.deposits{background:color-mix(in srgb,var(--status-warning) 12%,transparent);color:var(--status-warning)}.reconciliation-stat-icon.unmatched{background:color-mix(in srgb,var(--status-danger) 12%,transparent);color:var(--status-danger)}.reconciliation-stat-icon.matched{background:color-mix(in srgb,var(--status-success) 12%,transparent);color:var(--status-success)}.reconciliation-stat-text{display:flex;flex-direction:column}.reconciliation-stat-value{font-size:1.3rem;font-weight:700;color:var(--text-high);line-height:1}.reconciliation-stat-label{font-size:.78rem;color:var(--text-low);margin-top:2px}.reconciliation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.reconciliation-auto-sync-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);border:var(--border-subtle);background:color-mix(in srgb,var(--brand-primary) 8%,transparent);color:var(--brand-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap}.reconciliation-auto-sync-btn:hover:not(:disabled){background:color-mix(in srgb,var(--brand-primary) 16%,transparent);border-color:var(--brand-primary);box-shadow:var(--shadow-md)}.reconciliation-auto-sync-btn:disabled{opacity:.5;cursor:not-allowed}.reconciliation-toolbar-actions{display:flex;gap:var(--space-2);align-items:center}.reconciliation-filter-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);border:var(--border-subtle);background:transparent;color:var(--text-low);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .25s ease;white-space:nowrap;position:relative}.reconciliation-filter-toggle:hover{color:var(--text-high);background:var(--bg-elevated);border-color:var(--border-color-strong)}.reconciliation-filter-toggle.active{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,transparent);border-color:color-mix(in srgb,var(--brand-primary) 30%,transparent)}.reconciliation-filter-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--brand-primary);position:absolute;top:6px;right:6px}.reconciliation-filter-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-lg);flex-wrap:wrap}.reconciliation-filter-group{display:flex;align-items:center;gap:var(--space-3);flex:1;flex-wrap:wrap;min-width:0}.reconciliation-filter-input-wrap{display:flex;align-items:center;gap:var(--space-1);background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-md);padding:.3rem .6rem;transition:all .2s ease}.reconciliation-filter-input-wrap:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.reconciliation-filter-input-wrap i{color:var(--text-low);font-size:.85rem;flex-shrink:0}.reconciliation-filter-input-wrap.search{flex:1;min-width:160px}.reconciliation-filter-input{background:transparent;border:none;color:var(--text-high);font-size:.82rem;width:100%;min-width:0}.reconciliation-filter-input::placeholder{color:var(--text-low);opacity:.6}.reconciliation-filter-input[type=date]{width:130px;color-scheme:dark}.reconciliation-filter-input[type=number]{width:70px}.reconciliation-filter-input[type=number]::-webkit-inner-spin-button,.reconciliation-filter-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.reconciliation-filter-sep{color:var(--text-low);font-size:.75rem;opacity:.5}.reconciliation-preset-row{display:flex;gap:var(--space-1);flex-wrap:wrap;width:100%}.reconciliation-preset-chip{padding:.25rem .65rem;border-radius:var(--radius-full);border:1px solid var(--border-color);background:transparent;color:var(--text-low);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reconciliation-preset-chip:hover{color:var(--text-high);background:var(--bg-elevated);border-color:var(--border-color-strong)}.reconciliation-preset-chip.active{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent);border-color:color-mix(in srgb,var(--brand-primary) 35%,transparent)}.reconciliation-filter-clear{display:inline-flex;align-items:center;gap:var(--space-1);padding:.3rem .6rem;border-radius:var(--radius-md);border:none;background:color-mix(in srgb,var(--status-danger) 10%,transparent);color:var(--status-danger);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.reconciliation-filter-clear:hover{background:color-mix(in srgb,var(--status-danger) 20%,transparent)}.reconciliation-filter-count{font-size:.78rem;color:var(--text-low);font-weight:500}[data-theme=light] .reconciliation-filter-input[type=date]{color-scheme:light}.reconciliation-card-list{display:flex;flex-direction:column;gap:var(--space-3)}.reconciliation-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-xl);transition:all .25s ease}.reconciliation-card:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-lg)}.reconciliation-card-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.reconciliation-card-primary{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.reconciliation-card-amount{font-size:1.15rem;font-weight:700;color:var(--status-success);white-space:nowrap}.reconciliation-card-description{color:var(--text-base);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.reconciliation-card-secondary{display:flex;align-items:center;gap:var(--space-3);font-size:.8rem;color:var(--text-low)}.reconciliation-card-secondary i{font-size:.85rem;color:var(--text-low)}.reconciliation-card-actions{display:flex;gap:var(--space-2);flex-shrink:0}.reconciliation-action-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:.4rem .8rem;border-radius:var(--radius-md);border:var(--border-subtle);background:transparent;color:var(--text-low);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.reconciliation-action-btn:hover{color:var(--text-high);border-color:var(--border-color-strong);background:var(--bg-surface)}.reconciliation-action-btn.dismiss:hover{color:var(--text-low);border-color:color-mix(in srgb,var(--status-danger) 30%,transparent);background:color-mix(in srgb,var(--status-danger) 8%,transparent)}.reconciliation-action-btn.match:hover{color:var(--status-success);border-color:color-mix(in srgb,var(--status-success) 30%,transparent);background:color-mix(in srgb,var(--status-success) 8%,transparent)}.reconciliation-action-btn.link:hover{color:var(--brand-primary);border-color:color-mix(in srgb,var(--brand-primary) 30%,transparent);background:color-mix(in srgb,var(--brand-primary) 8%,transparent)}.reconciliation-action-btn.link.active{color:var(--text-high);border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 15%,transparent)}.reconciliation-action-btn.create-income{color:var(--brand-primary);border-color:color-mix(in srgb,var(--brand-primary) 25%,transparent)}.reconciliation-action-btn.create-income:hover:not(:disabled){color:var(--text-high);border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 12%,transparent)}.reconciliation-candidates-loading,.reconciliation-candidates-empty{font-size:.82rem;color:var(--text-low);padding:var(--space-2) var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.reconciliation-candidate-remaining-label{font-size:.72rem;font-weight:400;color:var(--text-low)}.reconciliation-confidence{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.reconciliation-confidence.exact{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}.reconciliation-confidence.probable{background:color-mix(in srgb,var(--status-warning) 15%,transparent);color:var(--status-warning)}.reconciliation-confidence.possible{background:color-mix(in srgb,var(--text-low) 15%,transparent);color:var(--text-low)}.reconciliation-candidates{margin-top:var(--space-3);margin-left:var(--space-4);padding-left:var(--space-4);border-left:2px solid var(--brand-primary);display:flex;flex-direction:column;gap:var(--space-2)}.reconciliation-candidates-title{font-size:.78rem;color:var(--text-low);font-weight:600;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:var(--space-2)}.reconciliation-candidate-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:var(--border-subtle);background:var(--bg-surface);transition:all .2s ease}.reconciliation-candidate-card:hover{background:var(--bg-panel);border-color:color-mix(in srgb,var(--brand-primary) 40%,transparent)}.reconciliation-candidate-info{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.reconciliation-candidate-amount{font-weight:600;color:var(--text-high);font-size:.9rem;white-space:nowrap}.reconciliation-candidate-desc{color:var(--text-low);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;flex-shrink:1}.reconciliation-candidate-meta{font-size:.75rem;color:var(--text-low)}.reconciliation-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--text-low);text-align:center}.reconciliation-empty i{font-size:2.5rem;color:var(--status-success);opacity:.6}.reconciliation-empty p{max-width:380px;line-height:1.6}.reconciliation-matched-table-wrapper{overflow-x:auto}.reconciliation-matched-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem}.reconciliation-matched-table thead th{text-align:left;padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);border-bottom:var(--border-subtle);white-space:nowrap}.reconciliation-matched-table tbody tr{transition:background .15s ease}.reconciliation-matched-table tbody tr:hover{background:var(--bg-elevated)}.reconciliation-matched-table tbody td{padding:var(--space-3);border-bottom:1px solid color-mix(in srgb,var(--border-color) 40%,transparent);vertical-align:middle}.matched-concept{font-weight:500;color:var(--text-high);max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matched-amount{font-weight:700;color:var(--status-success);white-space:nowrap}.matched-date{color:var(--text-low);white-space:nowrap}.matched-deposit{display:flex;flex-direction:column;gap:2px;max-width:200px}.matched-deposit-desc{color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.matched-deposit-account{font-size:.75rem;color:var(--text-low)}.reconciliation-action-btn.unmatch:hover{color:var(--status-warning);border-color:color-mix(in srgb,var(--status-warning) 30%,transparent);background:color-mix(in srgb,var(--status-warning) 8%,transparent)}.reconciliation-subtab-badge.matched{background:color-mix(in srgb,var(--status-success) 15%,transparent);color:var(--status-success)}@media(max-width:720px){.reconciliation-card{flex-direction:column;align-items:flex-start}.reconciliation-card-actions{width:100%;justify-content:flex-end}.reconciliation-card-description{max-width:100%}.reconciliation-subtabs{width:100%}.reconciliation-subtab{flex:1;justify-content:center}.reconciliation-candidates{margin-left:0;padding-left:var(--space-3)}.reconciliation-stat-card{flex:1 1 100%}.reconciliation-toolbar{flex-direction:column;align-items:stretch}.reconciliation-toolbar-actions{justify-content:flex-end}.reconciliation-auto-sync-btn{justify-content:center}.reconciliation-matched-table{font-size:.82rem}.reconciliation-filter-bar{flex-direction:column;align-items:stretch}.reconciliation-filter-group{flex-direction:column}.reconciliation-filter-input-wrap.search{min-width:100%}.reconciliation-filter-input[type=date],.reconciliation-filter-input[type=number]{width:100%;flex:1}.reconciliation-filter-clear{align-self:flex-end}}.reconciliation-invoice-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:var(--radius-sm, 4px);font-size:.72rem;font-weight:500;white-space:nowrap;border:1px solid transparent}.reconciliation-invoice-tag.paid{color:var(--status-success);background:color-mix(in srgb,var(--status-success) 12%,transparent);border-color:color-mix(in srgb,var(--status-success) 30%,transparent)}.reconciliation-invoice-tag.pending{color:var(--status-warning);background:color-mix(in srgb,var(--status-warning) 12%,transparent);border-color:color-mix(in srgb,var(--status-warning) 30%,transparent)}.matched-concept .reconciliation-invoice-tag{margin-left:var(--space-2)}.business-dashboard{display:flex;flex-direction:column;gap:var(--space-4)}.business-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0 var(--space-3);background:color-mix(in srgb,var(--bg-app) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color-subtle)}.business-app-nav{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.business-app-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.4rem;padding:0 var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-low);font-weight:700;font-size:.9rem;cursor:pointer;transition:var(--transition);white-space:nowrap}.business-app-tab:hover{color:var(--text-high);background:var(--bg-elevated)}.business-app-tab.active{background:var(--brand-primary);color:var(--text-on-brand);box-shadow:0 6px 18px color-mix(in srgb,var(--brand-primary) 25%,transparent)}.business-app-tab i{font-size:1rem}.business-topbar-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.business-create-menu{position:relative}.business-create-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:30;min-width:210px;max-width:min(280px,calc(100vw - var(--space-6)));padding:var(--space-2);background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.business-create-dropdown button{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-base);font-weight:600;text-align:left;cursor:pointer;transition:var(--transition)}.business-create-dropdown button:hover{background:var(--bg-surface);color:var(--text-high)}.business-create-dropdown button:focus-visible,.business-app-tab:focus-visible,.business-subtab:focus-visible,.business-settings-btn:focus-visible{outline:2px solid var(--brand-hover);outline-offset:2px}.business-create-dropdown i{color:var(--brand-primary)}.business-settings-btn{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border:var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-low);cursor:pointer;transition:var(--transition)}.business-settings-btn:hover,.business-settings-btn.active{color:var(--text-high);border-color:color-mix(in srgb,var(--brand-primary) 40%,transparent);background:var(--bg-surface)}.business-subnav-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:2.35rem}.business-subnav{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--bg-elevated);border:var(--border-subtle);border-radius:var(--radius-md);width:fit-content}.business-subtab{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2rem;padding:0 var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-low);font-size:.82rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap}.business-subtab:hover{color:var(--text-high);background:var(--bg-hover)}.business-subtab.active{background:var(--bg-surface);color:var(--text-high)}.business-subtab.active i{color:var(--brand-primary)}.business-section-title{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-high);font-weight:700;font-size:.95rem}.business-section-title i{color:var(--brand-primary)}.business-content{min-width:0}.business-header-main{margin-bottom:var(--space-6)}.business-header-actions{display:flex;gap:var(--space-3);align-items:center}.business-glow-text{text-shadow:0 0 20px color-mix(in srgb,var(--brand-primary) 40%,transparent)}.business-glow-text i{background:linear-gradient(135deg,var(--brand-hover),var(--brand-primary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--brand-primary) 30%,transparent))}.business-selector-wrapper{margin-bottom:var(--space-2);display:flex;align-items:center}.business-selector{display:inline-flex;align-items:stretch;background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition)}.business-selector:hover{border-color:color-mix(in srgb,var(--brand-primary) 40%,transparent);box-shadow:0 4px 20px color-mix(in srgb,var(--brand-primary) 15%,transparent)}.business-selector-badge{display:flex;align-items:center;gap:var(--space-2);background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary) 10%,transparent),color-mix(in srgb,var(--brand-primary) 5%,transparent));padding:0 var(--space-4);font-size:.85rem;font-weight:600;color:var(--brand-hover);text-transform:uppercase;letter-spacing:.05em;border-right:1px solid var(--border-color-subtle)}.business-selector-badge i{font-size:1.1rem}.business-select-container{position:relative;display:flex;align-items:center}.business-select-control{appearance:none;background:transparent;border:none;color:var(--text-high);font-weight:500;font-size:.95rem;padding:.7rem var(--space-8) .7rem var(--space-4);cursor:pointer;min-width:280px;transition:var(--transition)}.business-select-control:focus{outline:none;background:var(--bg-elevated)}.select-icon{position:absolute;right:var(--space-3);color:var(--text-low);pointer-events:none;font-size:1.2rem}.business-tabs-container{display:flex;background:var(--bg-panel);padding:var(--space-1);border-radius:var(--radius-lg);border:var(--border-subtle);width:fit-content;box-shadow:var(--shadow-sm);gap:var(--space-1);position:relative;overflow:hidden}.business-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:transparent;border:none;border-radius:calc(var(--radius-lg) - 2px);color:var(--text-low);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}.business-tab:hover{color:var(--text-high);background:var(--bg-elevated)}.business-tab.active{background:var(--bg-surface);color:var(--text-high);box-shadow:var(--shadow-md)}.business-tab.active i{color:var(--brand-primary)}.business-footer-info{margin-top:var(--space-6);display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-low);font-size:.85rem;padding:var(--space-3);border-radius:var(--radius-full);background:var(--bg-elevated);border:1px dashed var(--border-color-subtle)}.business-footer-info i{color:var(--status-success)}.business-footer-info strong{color:var(--text-base)}.business-modal-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--bg-app) 85%,transparent);z-index:100;display:flex;align-items:center;justify-content:center}.business-modal{background:var(--bg-panel);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.business-modal h3{margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2)}.business-modal-form{display:flex;flex-direction:column;gap:var(--space-4)}.business-modal-form label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-low)}.business-modal-form input{border:var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-high);padding:.7rem .85rem}.business-modal-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.business-modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-color-subtle)}.business-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.business-card{border:1px solid var(--border-color-subtle);border-radius:var(--radius-xl);padding:var(--space-4);background:var(--bg-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;display:flex;flex-direction:column;gap:var(--space-2)}.business-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px -10px color-mix(in srgb,var(--bg-app) 50%,transparent);border-color:var(--border-color-strong)}.business-card.active{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary),0 8px 30px -5px color-mix(in srgb,var(--brand-primary) 30%,transparent)}.business-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.business-card-header h4{margin:0;display:flex;align-items:center;gap:var(--space-2)}.business-card-default{padding:.15rem .4rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--brand-alpha);color:var(--brand-primary)}.business-card-badges{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end}.business-card-role{padding:.15rem .4rem;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;background:var(--bg-elevated);color:var(--text-medium);border:1px solid var(--border-color-subtle)}.business-card-role.role-issuer{color:var(--status-success);border-color:color-mix(in srgb,var(--status-success) 40%,transparent);background:color-mix(in srgb,var(--status-success) 12%,transparent)}.business-card-role.role-brand{color:var(--brand-primary);border-color:color-mix(in srgb,var(--brand-primary) 35%,transparent);background:var(--brand-alpha)}.business-card-role.role-disabled{color:var(--text-low);border-color:var(--border-color-subtle);background:color-mix(in srgb,var(--text-low) 8%,transparent)}.business-card-details{font-size:var(--text-sm);color:var(--text-low);display:flex;flex-direction:column;gap:var(--space-1)}.business-card-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.business-modal-danger-zone{padding-top:var(--space-4);border-top:1px dashed color-mix(in srgb,var(--status-danger) 30%,transparent)}.btn-ghost-danger{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb,var(--status-danger) 25%,transparent);border-radius:var(--radius-md);background:transparent;color:var(--status-danger);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:var(--transition)}.btn-ghost-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 10%,transparent);border-color:color-mix(in srgb,var(--status-danger) 40%,transparent)}.btn-ghost-danger:disabled{opacity:.6;cursor:not-allowed}.business-modal-confirm-delete{display:flex;flex-direction:column;gap:var(--space-3)}.confirm-delete-warning{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--status-danger);font-weight:600}.confirm-delete-warning i{font-size:1.1rem}.confirm-delete-actions{display:flex;align-items:center;gap:var(--space-2);justify-content:flex-end}@media(max-width:720px){.business-dashboard{gap:var(--space-3)}.business-topbar{position:static;align-items:stretch;flex-direction:column}.business-app-nav,.business-subnav{width:100%;overflow-x:auto;justify-content:flex-start}.business-app-tab,.business-subtab{flex:0 0 auto}.business-topbar-actions{justify-content:space-between}.business-topbar-actions>.btn{flex:1 1 auto}.business-create-dropdown{left:0;right:auto}.business-selector{flex-direction:column;border-radius:var(--radius-lg)}.business-selector-badge{border-right:none;border-bottom:1px solid var(--border-color-subtle);padding:var(--space-2) var(--space-4);justify-content:center}.business-select-control{min-width:100%}.business-tabs-container{flex-wrap:wrap;width:100%}.business-tab{flex:1 1 40%}.business-modal-form-row,.business-list{grid-template-columns:1fr}}@media(max-width:480px){.business-modal{max-width:none;width:100%;max-height:100vh;border-radius:0;padding:var(--space-4)}.business-modal-backdrop{align-items:flex-end}.business-card-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.income-form-modal{max-width:600px;max-height:92vh;overflow-y:auto}.income-form-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.income-form-modal-header h3{margin:0;display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem}.income-form-modal-header h3 i{color:var(--brand-primary)}.income-modal-close{background:var(--bg-elevated);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-low);width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s ease;flex-shrink:0}.income-modal-close:hover{background:color-mix(in srgb,var(--status-danger) 12%,transparent);border-color:color-mix(in srgb,var(--status-danger) 35%,transparent);color:var(--status-danger)}.business-income-panel-right{width:100%}.business-linking-overlay{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:color-mix(in srgb,var(--bg-app) 80%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600;color:var(--text-base);font-size:.95rem}.business-linking-overlay .spinner{width:2rem;height:2rem;border:3px solid var(--border-color-subtle);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .7s linear infinite}.automation-card{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--bg-surface);border:var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition)}.automation-card:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm)}.automation-card.selected{border-color:var(--brand-primary);background:var(--bg-panel)}.automation-card.disabled{opacity:.7}.automation-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);flex-shrink:0}.automation-icon i{font-size:1.5rem;color:#fff}.automation-info{flex:1;min-width:0}.automation-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1)}.automation-name{font-size:1rem;font-weight:600;color:var(--text-high);margin:0}.automation-controls{display:flex;align-items:center;gap:var(--space-2)}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--bg-panel);border:var(--border-subtle);border-radius:22px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:1px;background-color:var(--text-low);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:var(--status-success);border-color:var(--status-success)}.toggle-switch input:checked+.toggle-slider:before{background-color:#fff;transform:translate(18px)}.execute-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-low);cursor:pointer;transition:var(--transition)}.execute-btn:hover:not(:disabled){background:var(--brand-alpha);color:var(--brand-primary)}.execute-btn:disabled{cursor:not-allowed;opacity:.5}.execute-btn i{font-size:1.25rem}.automation-description{font-size:.875rem;color:var(--text-low);margin:0 0 var(--space-2) 0;line-height:var(--leading-relaxed)}.automation-meta{display:flex;flex-wrap:wrap;gap:var(--space-4)}.meta-item{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-low)}.meta-item i{font-size:.875rem}@media(max-width:640px){.automation-card{flex-direction:column}.automation-icon{width:40px;height:40px}.automation-meta{flex-direction:column;gap:var(--space-1)}}.automation-logs{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-surface);border:var(--border-subtle);border-radius:var(--radius-lg)}.logs-title{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600;color:var(--text-high);margin:0 0 var(--space-3) 0}.logs-title i{color:var(--text-low)}.logs-loading,.logs-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-low);font-size:.875rem}.logs-loading i,.logs-empty i{font-size:1.25rem}.spinning{animation:spin 1s linear infinite}.logs-list{display:flex;flex-direction:column;gap:var(--space-2);max-height:300px;overflow-y:auto}.log-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2);background:var(--bg-panel);border-radius:var(--radius-md)}.log-status{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.log-status i{font-size:1.125rem}.log-item.success .log-status i{color:var(--status-success)}.log-item.error .log-status i{color:var(--status-danger)}.log-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.log-date{font-size:.75rem;color:var(--text-low)}.log-message{font-size:.8125rem;color:var(--text-high);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logs-list::-webkit-scrollbar{width:6px}.logs-list::-webkit-scrollbar-track{background:var(--bg-surface)}.logs-list::-webkit-scrollbar-thumb{background:var(--border-color-subtle);border-radius:3px}.logs-list::-webkit-scrollbar-thumb:hover{background:var(--text-low)}.mt-5{margin-top:var(--space-6)}.result-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:.875rem;border-radius:var(--radius-md);font-weight:500}.result-banner.success{background:var(--status-success-bg);color:var(--status-success);border:1px solid var(--status-success)}.result-banner.error{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid var(--status-danger)}.error-banner{background:var(--status-danger-bg);color:var(--status-danger);border:1px solid var(--status-danger);justify-content:space-between}.automations-content{max-width:800px;margin:0 auto}.section-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:600;margin-bottom:var(--space-4);color:var(--text-high)}.automations-list{display:flex;flex-direction:column;gap:var(--space-3)}.crypto-table-container{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-color-subtle);padding:var(--space-4)}.crypto-table-container h3{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:600;color:var(--text-high);margin:0 0 var(--space-4) 0}.crypto-table-container h3 i{color:var(--status-warning)}.crypto-table-freshness{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;font-size:.8125rem;font-weight:400;color:var(--text-low)}.crypto-table-freshness--warning{color:var(--status-warning);font-weight:600}.crypto-table-container h3 .crypto-table-freshness i{color:inherit}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.crypto-table{width:100%;border-collapse:collapse;min-width:480px}.crypto-table th{padding:var(--space-2) var(--space-3);text-align:left;font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color-subtle)}.crypto-table td{padding:var(--space-3);border-bottom:1px solid var(--border-color-subtle)}.crypto-table tbody tr:hover{background:var(--bg-surface)}.asset-cell{display:flex;align-items:center;gap:var(--space-3)}.asset-icon{font-size:1.5rem}.asset-info{display:flex;flex-direction:column}.asset-symbol{font-weight:600;color:var(--text-high)}.asset-name{font-size:.75rem;color:var(--text-low)}.change-unavailable{color:var(--text-low);opacity:.45}.loading-placeholder,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-low);text-align:center}@media(max-width:640px){.crypto-table th,.crypto-table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.crypto-table-container{padding:var(--space-3)}}.funds-table-container{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-color-subtle);padding:var(--space-4)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.section-header h3{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;font-weight:600;color:var(--text-high);margin:0}.section-header h3 i{color:var(--status-success)}.add-fund-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.form-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.form-row input{flex:1;min-width:140px;padding:var(--space-2) var(--space-3);background:var(--bg-app);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);color:var(--text-high);font-size:.875rem}.form-row input::placeholder{color:var(--text-low)}.form-row input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-alpha)}.funds-table{width:100%;border-collapse:collapse;min-width:520px}.funds-table th{padding:var(--space-2) var(--space-3);text-align:left;font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color-subtle)}.funds-table td{padding:var(--space-3);border-bottom:1px solid var(--border-color-subtle)}.funds-table tbody tr:hover{background:var(--bg-app)}.fund-cell{min-width:180px}.fund-info{display:flex;flex-direction:column}.fund-name{font-weight:600;color:var(--text-high)}.fund-ticker{font-size:.75rem;color:var(--text-low);font-family:var(--font-mono)}.mono{font-family:var(--font-mono)}.value{font-weight:600;color:var(--text-high)}.positive{color:var(--status-success)!important}.negative{color:var(--status-danger)!important}.percent{display:block;font-size:.75rem;opacity:.8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-secondary);text-align:center}.empty-state i{font-size:3rem;margin-bottom:var(--space-3);opacity:.5}.form-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-sm);margin-bottom:var(--space-2)}.loading-placeholder{padding:var(--space-6);text-align:center;color:var(--text-low)}@media(max-width:640px){.funds-table th,.funds-table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.fund-cell{min-width:0}.form-row{flex-direction:column}.form-row input{min-width:100%;width:100%}.funds-table-container{padding:var(--space-3)}}.aave-widget{background:linear-gradient(135deg,#29b6f61a,#7e57c20d);border:1px solid rgba(41,182,246,.2);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6);position:relative;overflow:hidden}.aave-widget:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--status-info)}.aave-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.aave-title{display:flex;align-items:center;gap:var(--space-2);color:var(--text-high);font-weight:600}.aave-title i{color:var(--status-info);font-size:1.25rem}.aave-content{display:flex;flex-direction:column;gap:var(--space-4)}.aave-main{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:start}.hf-meter{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;min-width:120px}.hf-value{font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:var(--space-1)}.hf-label{font-size:.75rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.hf-health{font-weight:500;margin-top:var(--space-2);padding:2px 8px;border-radius:12px;font-size:.75rem;display:flex;align-items:center;gap:4px}.liquidation-alert{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.liquidation-alert.warning{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border:1px solid rgba(245,158,11,.3)}.liquidation-alert.critical{background:linear-gradient(135deg,#ef444433,#ef44441a);border:1px solid rgba(239,68,68,.4);animation:pulse-danger 2s infinite}@keyframes pulse-danger{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.alert-icon{font-size:1.5rem}.liquidation-alert.warning .alert-icon{color:var(--status-warning)}.liquidation-alert.critical .alert-icon{color:var(--status-danger)}.alert-content{flex:1}.alert-title{font-weight:600;color:var(--text-high);margin-bottom:2px}.alert-value{font-size:1.1rem;color:var(--text-high)}.alert-value strong{font-size:1.25rem}.liquidation-alert.warning .alert-value strong{color:var(--status-warning)}.liquidation-alert.critical .alert-value strong{color:var(--status-danger)}.alert-sub{font-size:.75rem;color:var(--text-low);margin-top:2px}.aave-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stat-item{display:flex;flex-direction:column}.stat-label{font-size:.75rem;color:var(--text-low);margin-bottom:var(--space-1)}.stat-value{font-size:1.1rem;font-weight:600;color:var(--text-high)}.stat-sub{font-size:.75rem;color:var(--text-low)}.hf-safe{color:var(--status-success)}.hf-warning{color:var(--status-warning)}.hf-danger{color:var(--status-danger)}.bg-safe{background:var(--status-success-bg);color:var(--status-success)}.bg-warning{background:var(--status-warning-bg);color:var(--status-warning)}.bg-danger{background:var(--status-danger-bg);color:var(--status-danger)}@media(max-width:768px){.aave-main{grid-template-columns:1fr}.hf-meter{padding:var(--space-4)}.aave-stats{grid-template-columns:repeat(2,1fr)}.liquidation-alert{flex-direction:column;text-align:center}}.portfolio-chart{background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-6)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.chart-title{font-weight:600;color:var(--text-high);display:flex;align-items:center;gap:var(--space-2)}.chart-title i{color:var(--brand-primary)}.chart-content{display:grid;grid-template-columns:140px 1fr;gap:var(--space-6);align-items:center}.donut-chart{position:relative;width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center}.donut-hole{position:absolute;width:70px;height:70px;background:var(--bg-panel);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.donut-hole .total-label{font-size:.65rem;color:var(--text-low);text-transform:uppercase}.donut-hole .total-value{font-size:.9rem;font-weight:700;color:var(--text-high)}.chart-legend{display:flex;flex-direction:column;gap:var(--space-3)}.legend-item{display:flex;align-items:center;gap:var(--space-3)}.legend-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.legend-color.crypto{background:var(--status-warning)}.legend-color.funds{background:var(--status-success)}.legend-info{display:flex;flex-direction:column;flex:1}.legend-label{font-size:.875rem;color:var(--text-low)}.legend-value{font-weight:600;color:var(--text-high)}.legend-percent{font-size:.875rem;color:var(--text-low);margin-left:auto}@media(max-width:480px){.chart-content{grid-template-columns:1fr;justify-items:center}.chart-legend{width:100%}}.tracking-wide{letter-spacing:.05em}.text-2xl{font-size:1.5rem;font-weight:700}.font-mono{font-family:var(--font-mono)}.summary-card{display:flex;align-items:center;flex-direction:row;gap:var(--space-4)}.summary-card .card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);font-size:1.75rem;flex-shrink:0}.summary-card.total .card-icon{background:var(--brand-alpha);color:var(--brand-primary)}.summary-card.crypto .card-icon{background:var(--status-warning-bg);color:var(--status-warning)}.summary-card.funds .card-icon{background:var(--status-success-bg);color:var(--status-success)}.summary-card .card-content{display:flex;flex-direction:column;gap:var(--space-1);justify-content:center}.percent-badge{display:inline-block;padding:2px 8px;background:var(--bg-surface);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-low);font-family:var(--font-mono);width:fit-content;margin-top:2px}@media(max-width:768px){.summary-card .card-icon{width:44px;height:44px;font-size:1.4rem}.text-2xl{font-size:1.25rem}}@media(max-width:480px){.summary-card{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.summary-card .card-icon{width:40px;height:40px;font-size:1.2rem}.text-2xl{font-size:1.1rem}}.admin-panel{padding:var(--space-6);max-width:800px;margin:0 auto}.admin-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8)}.admin-header .back-button{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;color:var(--text-low);cursor:pointer;font-size:.9rem;padding:var(--space-2);border-radius:var(--radius-sm);transition:var(--transition)}.admin-header .back-button:hover{color:var(--text-high);background:var(--bg-panel)}.admin-header h1{display:flex;align-items:center;gap:var(--space-2);font-size:1.5rem;font-weight:700;color:var(--text-high)}.admin-header h1 i{color:var(--brand-primary)}.admin-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--status-danger-bg);color:var(--status-danger);border-radius:var(--radius-sm);margin-bottom:var(--space-4);font-size:.9rem}.admin-actions{margin-bottom:var(--space-6)}.admin-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--text-low)}.users-list{display:flex;flex-direction:column;gap:var(--space-3)}.user-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition)}.user-card:hover{box-shadow:var(--shadow-md)}.user-card.admin{border-left:3px solid var(--brand-primary)}.user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem;flex-shrink:0}.user-info{flex:1;min-width:0}.user-name{font-weight:600;font-size:1rem;display:flex;align-items:center;gap:var(--space-2);color:var(--text-high)}.admin-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;background:var(--brand-primary);color:#fff;border-radius:99px;text-transform:uppercase;letter-spacing:.05em}.user-email{font-size:.85rem;color:var(--text-low);margin-top:.15rem}.user-meta{display:flex;gap:var(--space-4);margin-top:var(--space-1);font-size:.8rem;color:var(--text-low)}.user-meta span{display:flex;align-items:center;gap:var(--space-1)}.user-meta i{font-size:.85rem}.user-actions{flex-shrink:0}.delete-btn{background:none;border:none;color:var(--text-low);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);font-size:1.1rem;transition:var(--transition)}.delete-btn:hover{color:var(--status-danger);background:var(--status-danger-bg)}.invite-form{background:var(--bg-panel);padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-6);border:1px solid var(--brand-alpha)}.invite-form h3{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);font-size:1.1rem;color:var(--text-high)}.invite-form h3 i{color:var(--brand-primary)}.invite-hint{font-size:.85rem;color:var(--text-low);margin-bottom:var(--space-5)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-1);color:var(--text-high)}.form-group input{width:100%;padding:.75rem;background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-high);font-size:.95rem;transition:var(--transition)}.form-group input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.password-input-group{display:flex;gap:var(--space-2)}.password-input-group input{flex:1}.generate-btn{background:var(--bg-surface);border:1px solid transparent;color:var(--text-low);cursor:pointer;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:1.1rem;transition:var(--transition)}.generate-btn:hover{color:var(--brand-primary);border-color:var(--brand-primary)}.form-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--status-danger-bg);color:var(--status-danger);border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:var(--space-3)}.form-success{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--status-success-bg);color:var(--status-success);border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:var(--space-3)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-4)}@media(max-width:600px){.user-card{flex-wrap:wrap}.user-meta{flex-wrap:wrap;gap:var(--space-2)}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.app-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:var(--border-subtle);border-radius:var(--radius-sm);transition:var(--transition)}.app-item.enabled{border-color:var(--brand-alpha);background:linear-gradient(135deg,var(--bg-surface),var(--brand-alpha))}.app-item-info{display:flex;align-items:center;gap:var(--space-3)}.app-item-info>i{font-size:1.25rem;color:var(--text-low);min-width:1.5rem;text-align:center;transition:var(--transition)}.app-item.enabled .app-item-info>i{color:var(--brand-primary)}.app-item-name{display:block;font-size:.9rem;font-weight:600;color:var(--text-high)}.app-item-desc{display:block;font-size:.75rem;color:var(--text-low)}.toggle-switch{position:relative;width:44px;height:24px;cursor:pointer;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--bg-panel);border:var(--border-subtle);border-radius:24px;transition:background .3s ease}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:var(--text-low);border-radius:50%;transition:var(--transition)}.toggle-switch input:checked+.toggle-slider{background:var(--brand-primary);border-color:var(--brand-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px);background:#fff}.profile-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:profile-fade-in .2s ease}@keyframes profile-fade-in{0%{opacity:0}to{opacity:1}}.profile-panel{width:90%;max-width:460px;max-height:85vh;overflow-y:auto;padding:var(--space-6);animation:profile-slide-up .25s ease}@keyframes profile-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-header{margin-bottom:var(--space-4)}.profile-email{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border-radius:var(--radius-md);font-size:.9rem;color:var(--text-base);margin-bottom:var(--space-6);border:var(--border-subtle)}.badge-primary{background:var(--brand-primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:.65rem}.divider{border:none;border-top:var(--border-subtle);margin:var(--space-6) 0}.profile-form .quick-input{padding:var(--space-2) 0;font-size:1rem}@media(max-width:600px){.profile-panel{width:100%;max-width:none;max-height:100vh;border-radius:0;padding:var(--space-4)}.profile-overlay{align-items:flex-end}.profile-email{font-size:.8rem;padding:var(--space-2) var(--space-3)}}.bank-filters{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4);min-width:0;width:100%}.bank-filters-controls{display:flex;align-items:center;gap:var(--space-2);min-width:0}.bank-filters-selects{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.bank-search-input{flex:1;min-width:0;position:relative;display:flex;align-items:center}.bank-search-input>i:first-child{position:absolute;left:var(--space-3);color:var(--text-low);font-size:1rem;pointer-events:none}.bank-search-input input{width:100%;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-8);background:var(--bg-surface);border:1px solid var(--border-strong, rgba(255,255,255,.1));border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-sm);transition:var(--transition)}.bank-search-input input::placeholder{color:var(--text-low)}.bank-search-input input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha),0 0 12px #8b5cf61a;outline:none}.bank-search-spinner{position:absolute;right:var(--space-3);color:var(--brand-primary)}.bank-filter-select select{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-strong, rgba(255,255,255,.1));border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-sm);cursor:pointer;transition:var(--transition);min-width:130px;appearance:none;-webkit-appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23999' viewBox='0 0 24 24'%3E%3Cpath d='M12 16l-6-6h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.bank-filter-select select:hover{border-color:var(--border-color-strong)}.bank-filter-select select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha);outline:none}.bank-filters-dates{min-width:0}.bank-date-presets{display:flex;gap:var(--space-1);overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.bank-date-presets::-webkit-scrollbar{display:none}.bank-date-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px var(--space-3);border-radius:var(--radius-full);border:1px solid transparent;background:var(--bg-surface);color:var(--text-low);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;flex-shrink:0}.bank-date-chip:hover{color:var(--text-high);border-color:#ffffff1f;background:#ffffff0f;transform:translateY(-1px)}.bank-date-chip.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary);box-shadow:0 2px 8px #8b5cf659,0 0 0 1px #8b5cf633;transform:translateY(-1px)}.bank-date-chip.active:hover{background:var(--brand-hover)}.bank-date-chip i{font-size:.85rem}.bank-custom-dates{display:flex;gap:var(--space-3);margin-top:var(--space-1)}.bank-date-input{display:flex;align-items:center;gap:var(--space-2)}.bank-date-input label{font-size:var(--text-xs);color:var(--text-low);font-weight:500;white-space:nowrap}.bank-date-input input[type=date]{padding:var(--space-1) var(--space-2);background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-xs);transition:var(--transition)}.bank-date-input input[type=date]:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha);outline:none}.bank-filters-status{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.bank-filters-badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.bank-filter-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--brand-alpha);color:var(--brand-hover);font-size:.7rem;font-weight:500}.bank-filter-badge button{background:none;border:none;color:var(--brand-hover);cursor:pointer;padding:0;display:flex;font-size:.85rem;opacity:.7;transition:var(--transition)}.bank-filter-badge button:hover{opacity:1}.bank-clear-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:transparent;color:var(--text-low);font-size:.75rem;cursor:pointer;transition:var(--transition)}.bank-clear-btn:hover{color:var(--status-danger);border-color:var(--status-danger)}.bank-filter-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-low);cursor:pointer;transition:var(--transition);flex-shrink:0;position:relative}.bank-filter-toggle:active,.bank-filter-toggle.active{background:var(--brand-alpha);border-color:var(--brand-primary);color:var(--brand-primary)}.bank-filter-toggle i{font-size:1rem}.bank-filter-toggle-badge{position:absolute;top:-4px;right:-4px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center}.bank-filters-drawer{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-1);animation:filterDrawerIn .2s ease-out}.bank-filters-drawer .bank-filter-select{width:100%}.bank-filters-drawer .bank-filter-select select{width:100%;min-width:0;font-size:var(--text-xs)}@keyframes filterDrawerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.bank-search-input input,.bank-date-chip,.bank-filters-drawer .bank-filter-select select{min-height:44px}.bank-custom-dates{flex-direction:column;gap:var(--space-2)}.bank-date-input{width:100%;justify-content:space-between}.bank-date-input input[type=date]{flex:1;min-height:44px}}.bank-kpi-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--space-4);margin-bottom:var(--space-5);min-width:0}.bank-kpi-panel.loading .bank-kpi{opacity:.6;animation:kpi-pulse 1.5s ease-in-out infinite}@keyframes kpi-pulse{0%,to{opacity:.6}50%{opacity:.4}}.bank-kpi-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);color:var(--text-low);background:linear-gradient(135deg,#ffffff05,#ffffff03);border:1px dashed rgba(255,255,255,.08);border-radius:var(--radius-xl);font-size:var(--text-sm);margin-bottom:var(--space-5);font-weight:500;letter-spacing:.01em}.bank-kpi-empty i{font-size:1.4rem;color:var(--brand-primary);opacity:.5}.bank-kpi{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--border-color-subtle);border-top-width:3px;background:var(--bg-panel);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bank-kpi.income{border-top-color:var(--status-success)}.bank-kpi.expense{border-top-color:var(--status-danger)}.bank-kpi.net{border-top-color:var(--brand-primary)}.bank-kpi.net.negative{border-top-color:var(--status-danger)}.bank-kpi.transfer{border-top-color:var(--status-info)}.bank-kpi:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.04) 0%,transparent 60%);pointer-events:none;border-radius:inherit}.bank-kpi:hover{transform:translateY(-2px);border-color:var(--border-color-strong);box-shadow:0 8px 24px #00000026}.bank-kpi.income:hover{border-color:#10b98140;box-shadow:0 8px 24px #10b98114}.bank-kpi.expense:hover{border-color:#ef444440;box-shadow:0 8px 24px #ef444414}.bank-kpi.net:hover{border-color:#8b5cf640;box-shadow:0 8px 24px #8b5cf614}.bank-kpi-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-full);flex-shrink:0;font-size:1.25rem}.bank-kpi.income .bank-kpi-icon{background:linear-gradient(135deg,var(--status-success-bg),rgba(var(--status-success-rgb),.1));color:var(--status-success)}.bank-kpi.expense .bank-kpi-icon{background:linear-gradient(135deg,var(--status-danger-bg),rgba(var(--status-danger-rgb),.1));color:var(--status-danger)}.bank-kpi.net .bank-kpi-icon{background:var(--brand-alpha);color:var(--brand-primary)}.bank-kpi.net.negative .bank-kpi-icon{background:var(--status-danger-bg);color:var(--status-danger)}.bank-kpi.transfer .bank-kpi-icon{background:var(--status-info-bg);color:var(--status-info)}.bank-kpi-content{display:flex;flex-direction:column;gap:2px;min-width:0}.bank-kpi-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);font-weight:600}.bank-kpi-value{font-size:1.35rem;font-weight:700;font-family:var(--font-mono);line-height:1.2;letter-spacing:-.02em}.bank-kpi-meta{font-size:.67rem;color:var(--text-low);margin-top:2px;font-weight:500;letter-spacing:.02em}.bank-kpi.income .bank-kpi-value{color:var(--status-success)}.bank-kpi.expense .bank-kpi-value{color:var(--status-danger)}.bank-kpi.net.positive .bank-kpi-value{color:var(--status-success)}.bank-kpi.net.negative .bank-kpi-value{color:var(--status-danger)}.bank-kpi.transfer .bank-kpi-value{color:var(--text-high)}.bank-kpi-count{font-size:.65rem;color:var(--text-low)}.pagination{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:var(--border-subtle);flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-4)}.pagination-info{color:var(--text-low);font-size:.9rem}.pagination-controls{display:flex;align-items:center;gap:var(--space-3)}.page-info{font-size:.9rem;color:var(--text-low);white-space:nowrap}@media(max-width:600px){.pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center}}.rl-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:rl-fade-in .15s ease-out}@keyframes rl-fade-in{0%{opacity:0}to{opacity:1}}.rl-modal{background:var(--bg-panel);border-radius:var(--radius-lg, 12px);width:100%;max-width:520px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:rl-slide-up .2s ease-out}@keyframes rl-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rl-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem;flex-shrink:0}.rl-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.rl-modal-header h3 i{color:var(--brand-primary)}.rl-subtitle{padding:0 1.5rem .75rem;margin:0;font-size:.813rem;color:var(--text-muted);border-bottom:1px solid var(--border-color);flex-shrink:0}.rl-subtitle strong{color:var(--text-primary)}.rl-modal-body{flex:1;overflow-y:auto;padding:.75rem 1.5rem}.rl-list{display:flex;flex-direction:column;gap:.25rem}.rl-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .12s ease,border-color .12s ease;width:100%;text-align:left;color:var(--text-primary)}.rl-item:hover{background:var(--bg-surface);border-color:var(--border-color)}.rl-item.selected{background:var(--bg-surface);border-color:var(--brand-primary)}.rl-item-radio{flex-shrink:0;font-size:1.125rem;color:var(--text-muted)}.rl-item.selected .rl-item-radio{color:var(--brand-primary)}.rl-item-info{flex:1;min-width:0;display:flex;flex-direction:column}.rl-item-desc{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.5rem}.rl-item-badge{flex-shrink:0;font-size:.625rem;font-weight:600;color:var(--brand-primary, #7c5cfc);background:#7c5cfc1f;padding:.063rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.rl-item-meta{font-size:.688rem;color:var(--text-muted);margin-top:.125rem}.rl-item-amount{flex-shrink:0;font-size:.875rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.rl-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--text-muted);font-size:.875rem}.rl-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md, 8px);color:var(--status-error, #ef4444);font-size:.813rem}.rl-empty{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.rl-empty i{font-size:2rem;opacity:.35;display:block;margin-bottom:.5rem}.rl-empty p{font-size:.813rem;margin:0}.rl-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1.5rem;border-top:1px solid var(--border-color);flex-shrink:0;flex-wrap:wrap}.rl-net-hint{font-size:.75rem;color:var(--text-muted)}.rl-net-hint strong{color:var(--text-primary)}.rl-footer-actions{display:flex;gap:.5rem;margin-left:auto}@media(max-width:640px){.rl-overlay{align-items:flex-end;padding:0}.rl-modal{max-width:100%;max-height:92vh;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}}.tx-card-list{display:flex;flex-direction:column;min-width:0}.tx-card{display:flex;flex-direction:column;padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s ease;position:relative}.tx-card:last-child{border-bottom:none}.tx-card:active{background:#8b5cf60a}.tx-card.loading-row{opacity:.5}.tx-card-main{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}.tx-card-left{display:flex;flex-direction:column;align-items:center;gap:2px;flex-shrink:0;width:42px;padding-top:2px}.tx-card-date{font-size:.6rem;font-weight:500;color:var(--text-low);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;line-height:1}.tx-card-icon{font-size:1rem;line-height:1}.text-danger-subtle{color:var(--text-high);opacity:.85}.tx-card-center{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tx-card-desc{font-size:var(--text-sm);font-weight:500;color:var(--text-high);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;line-height:1.3}.tx-card-desc.updating{opacity:.5}.tx-card-desc-input{font-size:var(--text-sm);font-weight:500;color:var(--text-high);background:var(--bg-surface);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);padding:2px var(--space-2);outline:none;width:100%}.tx-card-meta{display:flex;align-items:center;gap:var(--space-2);min-width:0}.tx-card-cat-chip{display:inline-flex;align-items:center;gap:3px;padding:4px var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border-color-subtle);font-size:.6rem;font-weight:500;color:var(--text-low);cursor:pointer;white-space:nowrap;min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.tx-card-cat-chip.uncategorized{border-color:var(--yellow-400, #fbbf24);color:var(--yellow-400, #fbbf24)}.tx-card-cat-chip i{font-size:.6rem}.tx-card-cat-select{font-size:.65rem;padding:2px var(--space-2);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-high);min-width:0;max-width:160px}.tx-card-household{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px 0;flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--text-low);font-size:1rem;opacity:.5;transition:opacity .15s ease;padding:0}.tx-card-household.active{color:var(--brand-primary);opacity:1}.tx-card-amount{flex-shrink:0;font-size:var(--text-sm);font-weight:700;white-space:nowrap;padding-top:2px;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tx-card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;min-height:200px}.tx-card-empty h4{font-size:var(--text-sm);color:var(--text-high);margin-bottom:var(--space-2)}.tx-card-empty p{font-size:var(--text-xs);color:var(--text-low);max-width:280px;margin-bottom:var(--space-4)}.tx-card-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);color:var(--text-low);font-size:var(--text-sm);gap:var(--space-2)}.household-toggle-td{width:2.5rem;text-align:center;padding:0 .25rem}.household-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--text-low, rgba(255, 255, 255, .3));font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease;padding:0}.household-toggle:hover{background:#7c5cfc1f;color:var(--brand-primary, #7c5cfc)}.household-toggle.active{color:var(--brand-primary, #7c5cfc);background:#7c5cfc1a}.household-toggle.active:hover{background:#7c5cfc33}.recurring-action-td{width:2.5rem;text-align:center;padding:0 .25rem}.recurring-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--text-low, rgba(255, 255, 255, .3));font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease;padding:0}.recurring-action-btn:hover:not(:disabled){background:#22c55e1f;color:var(--status-success, #22c55e)}.recurring-action-btn.created{color:var(--status-success, #22c55e);cursor:default}.recurring-action-btn:disabled:not(.created){opacity:.5;cursor:wait}.refund-action-td{width:2.5rem;text-align:center;padding:0 .25rem}.refund-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:.375rem;background:transparent;color:var(--text-low, rgba(255, 255, 255, .3));font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease;padding:0}.refund-action-btn:hover{background:#3b82f61f;color:var(--status-info, #3b82f6)}.refund-action-btn.linked{color:var(--status-info, #3b82f6);background:#3b82f61a}.refund-action-btn.linked:hover{background:#3b82f633}.tx-card-refund{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px 0;flex-shrink:0;border:none;background:none;cursor:pointer;color:var(--text-low);font-size:1rem;opacity:.5;transition:opacity .15s ease,color .15s ease;padding:0}.tx-card-refund.linked{color:var(--status-info, #3b82f6);opacity:1}.rules-view{display:flex;flex-direction:column;height:100%;min-height:0}.rv-header{flex-shrink:0;padding:var(--space-4) var(--space-5) 0;border-bottom:1px solid var(--border-color-subtle)}.rv-section-tabs{display:flex;gap:var(--space-1)}.rv-section-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;background:none;color:var(--text-low);font-size:var(--text-sm);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition);margin-bottom:-1px}.rv-section-tab:hover{color:var(--text-high)}.rv-section-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.rv-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;font-size:.65rem;font-weight:700}.rv-body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.rv-cat-tabs{flex-shrink:0;display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color-subtle)}.rv-cat-tab{display:flex;align-items:center;gap:var(--space-1);padding:.375rem var(--space-3);border:none;background:none;color:var(--text-low);font-size:var(--text-sm);font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition)}.rv-cat-tab:hover{color:var(--text-high);background:var(--bg-surface)}.rv-cat-tab.active{color:var(--brand-primary);background:var(--brand-alpha)}.rv-content{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.rv-create-form{padding:var(--space-4);background:var(--bg-surface);border:1px dashed var(--border-color-strong);border-radius:var(--radius-lg)}.rv-create-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-med);margin:0 0 var(--space-3) 0}.rv-create-title i{color:var(--brand-primary)}.rv-create-row{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.rv-create-field{flex:1;min-width:140px;display:flex;flex-direction:column;gap:var(--space-1)}.rv-create-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low)}.rv-create-field input,.rv-create-field select{padding:var(--space-2) var(--space-3);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-sm);transition:var(--transition)}.rv-create-field input:focus,.rv-create-field select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.rv-create-arrow{display:flex;align-items:center;color:var(--brand-primary);font-size:1.2rem;padding-bottom:4px}.rv-create-btn{white-space:nowrap}.rv-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8);color:var(--text-low);font-size:var(--text-sm)}.rv-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-4);text-align:center}.rv-empty i{font-size:2.5rem;color:var(--brand-primary);opacity:.4}.rv-empty p{color:var(--text-high);font-weight:600;margin:0}.rv-empty span{color:var(--text-low);font-size:var(--text-sm);max-width:360px}.rv-list{display:flex;flex-direction:column;gap:var(--space-3)}.rv-system-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.rv-system-note{flex:1;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--brand-alpha);border-radius:var(--radius-md);color:var(--brand-primary);font-size:var(--text-xs);font-weight:500;margin:0;line-height:1.4}.rv-edit-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle);background:var(--bg-surface);color:var(--text-med);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--transition);flex-shrink:0}.rv-edit-btn:hover{background:var(--bg-hover);color:var(--text-high)}.rv-edit-btn.active{background:var(--status-danger-bg);border-color:var(--status-danger);color:var(--status-danger)}.rv-group{border:1px solid var(--border-color-subtle);border-radius:var(--radius-lg);overflow:hidden}.rv-group.system{opacity:.8;transition:var(--transition)}.rv-group.system.edit-mode{opacity:1;border-style:dashed;border-color:var(--border-color-strong);background:var(--bg-surface)}.rv-group.system.edit-mode.drag-over{border-color:var(--brand-primary);background:var(--brand-alpha);box-shadow:0 0 0 2px var(--brand-alpha)}.rv-group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-surface);font-size:var(--text-sm);font-weight:600;color:var(--text-high)}.rv-group-header i{color:var(--brand-primary);font-size:.9rem}.rv-group-count{margin-left:auto;font-size:.65rem;padding:1px 6px;border-radius:var(--radius-full);background:var(--bg-panel);color:var(--text-low);font-weight:600}.rv-group-items{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-3);min-height:42px}.rv-item{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);transition:var(--transition)}.rv-item:hover{border-color:var(--border-color-strong)}.rv-item.system{cursor:default}.rv-item.system.draggable{cursor:grab}.rv-item.system.draggable:active{cursor:grabbing}.rv-drag-handle{color:var(--text-low);font-size:.8rem;margin-right:-2px}.rv-item-info{display:flex;flex-direction:column;gap:2px}.rv-keyword{font-size:.72rem;font-family:var(--font-mono);color:var(--text-med);font-weight:500}.rv-household-badge{font-size:.65rem;color:var(--text-light);background:var(--bg-hover);padding:2px 4px;border-radius:var(--radius-sm);display:inline-block;width:fit-content}.rv-delete-btn{background:none;border:none;color:var(--text-low);cursor:pointer;padding:2px;font-size:.85rem;border-radius:var(--radius-sm);transition:var(--transition);display:flex;flex-shrink:0}.rv-delete-btn:hover:not(:disabled){color:var(--status-danger);background:var(--status-danger-bg)}.rv-delete-btn:disabled{opacity:.4;cursor:not-allowed}.rv-aliases-header-row{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.rv-aliases-info{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);color:var(--text-med);font-size:var(--text-sm);line-height:1.5}.rv-aliases-info i{color:var(--brand-primary);font-size:1.2rem;flex-shrink:0}.rv-alias-search{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:0 var(--space-2);height:40px;transition:var(--transition)}.rv-alias-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 2px #6366f11a}.rv-alias-search i.ri-search-line{color:var(--text-low);font-size:1.1rem}.rv-alias-search input{flex:1;background:transparent;border:none;color:var(--text-high);font-size:var(--text-sm);outline:none;width:100%}.rv-alias-search input::placeholder{color:var(--text-low)}.rv-clear-search{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-low);cursor:pointer;padding:4px;border-radius:var(--radius-full);transition:var(--transition)}.rv-clear-search:hover{color:var(--text-high);background:var(--bg-hover)}.rv-aliases-info p{margin:0;font-size:var(--text-sm);color:var(--text-med);line-height:1.5}.rv-aliases-list{display:flex;flex-direction:column;gap:var(--space-1-5)}.rv-alias-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);transition:var(--transition)}.rv-alias-row:hover{border-color:var(--border-color-strong);background:var(--bg-hover)}.rv-alias-patterns{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.rv-alias-raw{font-size:.72rem;font-family:var(--font-mono);color:var(--text-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.rv-alias-arrow{color:var(--brand-primary);font-size:.9rem;flex-shrink:0}.rv-alias-display{font-size:var(--text-sm);font-weight:600;color:var(--text-high);white-space:nowrap}.rv-alias-meta{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.rv-alias-usage{font-size:.7rem;color:var(--text-low);padding:2px 8px;background:var(--bg-hover);border-radius:var(--radius-full);font-weight:600;border:1px solid var(--border-color-subtle)}.rv-alias-edit-input{background:var(--bg-surface);border:1px solid var(--brand-primary);color:var(--text-high);font-size:var(--text-sm);padding:4px 8px;border-radius:var(--radius-sm);outline:none;font-weight:600;width:100%;max-width:200px;transition:var(--transition)}.rv-alias-edit-input:focus{box-shadow:0 0 0 2px #6366f133}.rv-icon-btn{background:none;border:none;color:var(--text-low);cursor:pointer;padding:4px;font-size:1rem;border-radius:var(--radius-sm);transition:var(--transition);display:flex;align-items:center;justify-content:center}.rv-icon-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-high)}.rv-icon-btn.text-success:hover:not(:disabled){color:var(--status-success);background:var(--status-success-bg)}.rv-icon-btn.text-danger:hover:not(:disabled){color:var(--status-danger);background:var(--status-danger-bg)}.rv-icon-btn:disabled{opacity:.5;cursor:not-allowed}.rv-delete-btn{padding:4px;font-size:1rem}@media(max-width:768px){.rv-create-row{flex-direction:column;align-items:stretch}.rv-create-arrow{transform:rotate(90deg);justify-content:center}.rv-alias-raw{max-width:140px}.rv-create-btn,.rv-edit-btn{min-height:44px}.rv-icon-btn,.rv-delete-btn{min-width:44px;min-height:44px;justify-content:center}}@media(max-width:640px){.rv-header{padding:var(--space-3) var(--space-4) 0}.rv-section-tabs,.rv-cat-tabs{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.rv-section-tab,.rv-cat-tab{flex-shrink:0;white-space:nowrap}.rv-cat-tabs{padding:var(--space-2) var(--space-4)}.rv-content{padding:var(--space-4)}.rv-system-header{flex-direction:column;align-items:stretch}.rv-edit-btn{justify-content:center}}@media(max-width:480px){.rv-header{padding:var(--space-3) var(--space-3) 0}.rv-cat-tabs{padding:var(--space-2) var(--space-3)}.rv-content{padding:var(--space-3)}.rv-alias-raw{max-width:100px}.rv-alias-display{min-width:0;overflow:hidden;text-overflow:ellipsis}}.ob-panel{margin-top:1.5rem}.ob-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.ob-panel-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.ob-panel-title i{color:var(--brand-primary);font-size:1.25rem}.ob-panel-subtitle{font-size:.813rem;color:var(--text-muted);margin:.25rem 0 0}.ob-connections-grid{display:flex;flex-direction:column;gap:.75rem}.ob-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-lg, 12px);transition:border-color .2s ease,box-shadow .2s ease}.ob-card:hover{border-color:var(--border-hover, var(--brand-primary));box-shadow:0 2px 8px #00000014}.ob-card.ob-status--active{border-left:3px solid var(--status-success, #22c55e)}.ob-card.ob-status--expiring{border-left:3px solid var(--status-warning, #f59e0b)}.ob-card.ob-status--expired,.ob-card.ob-status--error{border-left:3px solid var(--status-error, #ef4444)}.ob-card.ob-status--pending{border-left:3px solid var(--text-muted, #6b7280)}.ob-card.ob-status--revoked{border-left:3px solid var(--text-muted, #6b7280);opacity:.7}.ob-card-header{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.ob-card-logo{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.ob-logo-img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md, 8px)}.ob-logo-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border-radius:var(--radius-md, 8px);color:var(--text-muted);font-size:1.25rem}.ob-card-info{min-width:0}.ob-bank-name{font-size:.938rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ob-card-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem;margin-top:.125rem}.ob-card-status.ob-status--active{color:var(--status-success, #22c55e)}.ob-card-status.ob-status--expiring{color:var(--status-warning, #f59e0b)}.ob-card-status.ob-status--expired,.ob-card-status.ob-status--error{color:var(--status-error, #ef4444)}.ob-card-status.ob-status--pending,.ob-card-status.ob-status--revoked{color:var(--text-muted)}.ob-card-status i{font-size:.875rem}.ob-account-count{display:block;font-size:.688rem;color:var(--text-muted);margin-top:.125rem}.ob-card-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.ob-btn-disconnect{color:var(--text-muted)!important}.ob-btn-disconnect:hover{color:var(--status-error, #ef4444)!important}@keyframes ob-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ob-spin{animation:ob-spin 1s linear infinite}.ob-error-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md, 8px);color:var(--status-error, #ef4444);font-size:.813rem;margin-bottom:1rem}.ob-error-banner i{font-size:1.125rem;flex-shrink:0}.ob-error-banner span{flex:1}.ob-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--text-muted);font-size:.875rem}.ob-loading i{font-size:1.25rem}.ob-empty{text-align:center;padding:2.5rem 1.5rem;background:var(--bg-surface);border:1px dashed var(--border-color);border-radius:var(--radius-lg, 12px)}.ob-empty-icon{font-size:2.5rem;color:var(--text-muted);opacity:.4;margin-bottom:.75rem;display:block}.ob-empty h4{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0 0 .375rem}.ob-empty p{color:var(--text-muted);font-size:.813rem;margin:0 0 1rem;max-width:320px;margin-left:auto;margin-right:auto;line-height:1.5}@media(max-width:640px){.ob-panel-header{flex-direction:column}.ob-panel-header .btn{width:100%;justify-content:center;min-height:44px}.ob-card{flex-direction:column;align-items:flex-start}.ob-card-actions{width:100%;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--border-color)}.ob-card-actions .btn{min-height:44px}}@media(max-width:480px){.ob-card{padding:var(--space-3) var(--space-4)}.ob-card-actions .btn{flex:1;justify-content:center}}.bs-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:bs-fade-in .15s ease-out}@keyframes bs-fade-in{0%{opacity:0}to{opacity:1}}.bs-modal{background:var(--bg-panel);border-radius:var(--radius-lg, 12px);width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:bs-slide-up .2s ease-out}@keyframes bs-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bs-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.bs-modal-header h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;margin:0}.bs-modal-header h3 i{color:var(--brand-primary)}.bs-search-container{position:relative;padding:.75rem 1.5rem;flex-shrink:0}.bs-search-icon{position:absolute;left:2.25rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none}.bs-search-input{width:100%;padding:.625rem 2.25rem .625rem 2.5rem;border:1px solid var(--border-color);border-radius:var(--radius-md, 8px);background:var(--bg-surface);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color .15s ease}.bs-search-input::placeholder{color:var(--text-muted)}.bs-search-input:focus{border-color:var(--brand-primary)}.bs-search-clear{position:absolute;right:2rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center}.bs-search-clear:hover{color:var(--text-primary)}.bs-modal-body{flex:1;overflow-y:auto;padding:.5rem 1.5rem 1.5rem}.bs-count{font-size:.75rem;color:var(--text-muted);margin:0 0 .75rem}.bs-list{display:flex;flex-direction:column;gap:.25rem}.bs-bank-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-md, 8px);cursor:pointer;transition:background .12s ease,border-color .12s ease;width:100%;text-align:left;color:var(--text-primary)}.bs-bank-item:hover:not(:disabled){background:var(--bg-surface);border-color:var(--border-color)}.bs-bank-item:disabled{opacity:.5;cursor:not-allowed}.bs-bank-item.bs-connecting{background:var(--bg-surface);border-color:var(--brand-primary)}.bs-bank-logo{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.bs-logo-img{width:100%;height:100%;object-fit:contain;border-radius:6px}.bs-logo-placeholder{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border-radius:6px;color:var(--text-muted);font-size:1.125rem}.bs-bank-info{flex:1;min-width:0;display:flex;flex-direction:column}.bs-bank-name{font-size:.875rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bs-bank-bic{font-size:.688rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.bs-badge-sandbox{display:inline-block;font-size:.625rem;font-weight:600;color:var(--status-warning, #f59e0b);background:#f59e0b1a;padding:.125rem .375rem;border-radius:4px;text-transform:uppercase;letter-spacing:.02em;margin-top:.125rem;width:fit-content}.bs-bank-action{flex-shrink:0;color:var(--text-muted);font-size:1.125rem}.bs-bank-item:hover .bs-bank-action{color:var(--brand-primary)}.bs-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:3rem 1rem;color:var(--text-muted);font-size:.875rem}.bs-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md, 8px);color:var(--status-error, #ef4444);font-size:.813rem}.bs-error span{flex:1}.bs-no-results{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.bs-no-results i{font-size:2rem;opacity:.3;display:block;margin-bottom:.5rem}.bs-no-results p{font-size:.813rem;margin:0}@media(max-width:640px){.bs-overlay{align-items:flex-end;padding:0}.bs-modal{max-width:100%;max-height:95vh;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.bs-modal-header{padding:1rem 1.25rem .75rem}.bs-search-container{padding:.5rem 1.25rem}.bs-modal-body{padding:.25rem 1.25rem 1.25rem}}@media(max-width:768px){.bs-search-clear{padding:var(--space-2)}}@media(max-width:480px){.bs-modal-header{padding:1rem 1rem .5rem}.bs-search-container{padding:.5rem 1rem}.bs-search-icon{left:1.75rem}.bs-modal-body{padding:.25rem 1rem 1rem}}.bank-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.bank-modal{width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;background:var(--bg-app);border:1px solid var(--border-color-strong);border-radius:var(--radius-xl);box-shadow:0 20px 60px #00000059;overflow:hidden;animation:modal-enter .2s cubic-bezier(.4,0,.2,1)}@keyframes modal-enter{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.bank-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color-subtle);background:#ffffff05;flex-shrink:0}.bank-modal-title{display:flex;align-items:center;gap:var(--space-2)}.bank-modal-title i{font-size:1.3rem;color:var(--brand-primary)}.bank-modal-title h3{font-size:1rem;font-weight:700;color:var(--text-high);margin:0}.bank-modal-close{background:none;border:none;color:var(--text-low);cursor:pointer;font-size:1.3rem;padding:var(--space-1);border-radius:var(--radius-md);transition:var(--transition)}.bank-modal-close:hover{color:var(--text-high);background:var(--bg-surface)}.bank-modal-body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.bank-modal-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--status-danger-bg);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:var(--status-danger);font-size:var(--text-sm);font-weight:500}.bank-modal-error i{font-size:1.1rem;flex-shrink:0}.bank-modal-field{display:flex;flex-direction:column;gap:var(--space-1)}.bank-modal-field label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low);display:flex;align-items:center;gap:var(--space-1)}.bank-modal-field label i{font-size:.85rem;color:var(--brand-primary)}.bank-modal-field .required{color:var(--status-danger)}.bank-modal-field input,.bank-modal-field select{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-sm);transition:var(--transition);width:100%;box-sizing:border-box}.bank-modal-field input:focus,.bank-modal-field select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.bank-modal-field input::placeholder{color:var(--text-low);opacity:.6}.iban-input{font-family:var(--font-mono)!important;letter-spacing:.05em;font-size:.9rem!important}.field-hint{font-size:.68rem;color:var(--text-low);opacity:.7;margin-top:2px}.bank-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.bank-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color-subtle);background:#ffffff03;flex-shrink:0}@media(max-width:768px){.bank-modal-field input,.bank-modal-field select{min-height:44px}.bank-modal-close{min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.bank-modal-footer .btn{min-height:44px}}@media(max-width:640px){.bank-modal-overlay{padding:0}.bank-modal{max-width:100%;width:100%;max-height:100vh;height:100%;border-radius:0}.bank-modal-row{grid-template-columns:1fr}}@media(max-width:480px){.bank-modal-header,.bank-modal-footer{padding:var(--space-3) var(--space-4)}.bank-modal-body{padding:var(--space-4)}.bank-modal-footer .btn{flex:1;justify-content:center}}.banks-dashboard{display:flex;flex-direction:column;gap:var(--space-6);height:100%;min-width:0;width:100%;animation:fade-in .3s ease-out}.banks-layout{display:grid;grid-template-columns:clamp(260px,28vw,320px) 1fr;gap:var(--space-6);min-height:700px;min-width:0}.banks-layout.no-sidebar{grid-template-columns:1fr}.banks-tabs-container{display:flex;gap:var(--space-1);border-bottom:var(--border-subtle);padding-bottom:0;overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.banks-tab{background:none;border:none;padding:var(--space-3) var(--space-4);color:var(--text-low);font-weight:500;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;display:flex;align-items:center;gap:var(--space-2);transition:color .2s ease,border-color .25s ease,background .2s ease;white-space:nowrap;border-radius:var(--radius-md) var(--radius-md) 0 0;position:relative}.banks-tab:hover{color:var(--text-high);background:#ffffff08}.banks-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary);background:linear-gradient(180deg,rgba(139,92,246,.06) 0%,transparent 100%)}.banks-tab.active i{filter:drop-shadow(0 0 4px rgba(139,92,246,.4))}.banks-tab i{font-size:1.05rem;transition:filter .2s ease}.accounts-view{animation:fade-in .25s ease-out}.accounts-view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.accounts-view-title{font-size:var(--text-xl);font-weight:700;color:var(--text-high);margin:0}.accounts-view-subtitle{font-size:var(--text-sm);color:var(--text-low);margin:var(--space-1) 0 0 0}.accounts-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-low)}.accounts-view-empty i{font-size:3rem;opacity:.3;margin-bottom:var(--space-4)}.accounts-view-empty h4{color:var(--text-high);margin:0 0 var(--space-2) 0}.accounts-view-empty p{margin:0 0 var(--space-6) 0;max-width:320px}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.account-card{background:var(--bg-surface);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);transition:all .2s ease}.account-card:hover{border-color:var(--brand-primary);box-shadow:0 4px 12px #00000026}.account-card.negative{border-color:#ef444440}.account-card.deleting{opacity:.5;pointer-events:none}.account-card-header{display:flex;align-items:center;justify-content:space-between}.account-card-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-alpha);display:flex;align-items:center;justify-content:center;color:var(--brand-primary);font-size:1.2rem}.account-card-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity .15s ease}.account-card:hover .account-card-actions{opacity:1}.account-card-btn{background:none;border:var(--border-subtle);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;color:var(--text-low);transition:all .15s ease}.account-card-btn.edit:hover{color:var(--brand-primary);border-color:var(--brand-primary);background:var(--brand-alpha)}.account-card-btn.delete:hover{color:var(--status-danger);border-color:var(--status-danger);background:#ef444414}.account-card-btn.delete.confirm-pending{color:var(--status-warning, #f59e0b);border-color:var(--status-warning, #f59e0b);background:#f59e0b1f;opacity:1;animation:pulse-warning .8s ease-in-out infinite}@keyframes pulse-warning{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}.account-card-body{display:flex;flex-direction:column;gap:var(--space-1)}.account-card-name{font-size:var(--text-base);font-weight:600;color:var(--text-high);margin:0}.account-card-balance{font-size:var(--text-xl);font-weight:700;color:var(--text-high);font-variant-numeric:tabular-nums}.account-card-balance.negative{color:var(--status-danger)}.account-card-details{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:var(--border-subtle)}.account-card-detail{display:flex;justify-content:space-between;align-items:center;font-size:var(--text-xs)}.detail-label{color:var(--text-low);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.detail-value{color:var(--text-base);font-family:JetBrains Mono,monospace;font-size:.75rem}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.banks-header{display:flex;flex-direction:column;gap:var(--space-2)}.banks-header-title{display:flex;align-items:center;gap:var(--space-3)}.banks-header-title h2{font-size:var(--text-2xl);font-weight:700;color:var(--text-high);letter-spacing:-.02em}.banks-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;padding:0;margin:0}.bank-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;background-color:var(--bg-surface)}.bank-item:hover{background-color:var(--bg-panel);border-color:var(--border-color-strong);transform:translate(4px)}.bank-item.active{background-color:var(--brand-alpha);border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}.bank-item-info{display:flex;flex-direction:column}.bank-item.active .bank-name{color:var(--text-high);font-weight:600}.bank-item.active .bank-balance{color:var(--text-base)}.bank-name{font-weight:500;color:var(--text-high);font-size:var(--text-sm)}.bank-balance{font-size:var(--text-xs);color:var(--text-low);margin-top:2px}.account-item{padding:var(--space-4);border-bottom:var(--border-subtle);cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;border-left:3px solid transparent;position:relative}.account-item:hover{background:#ffffff0a}.account-item.active{background:linear-gradient(135deg,#8b5cf614,#8b5cf60a);border-left-color:var(--brand-primary);box-shadow:inset 0 0 0 .5px #8b5cf633}.account-item.has-alert{background-color:var(--status-danger-bg);border-left-color:var(--status-danger)}.account-item.has-alert .account-balance{color:var(--status-danger)}.account-item.global-view{background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 100%);margin-bottom:var(--space-1)}.account-item.global-view .account-name{color:var(--brand-primary);font-weight:700}.sidebar-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);margin:var(--space-2) var(--space-4)}.banks-main-view{flex:1;display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.account-name{font-weight:600;color:var(--text-high);margin-bottom:var(--space-1);display:block}.account-balance{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--text-high)}.account-iban{font-size:.75rem;color:var(--text-low);margin-top:var(--space-1)}.kpi-label{font-size:var(--text-xs);color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}.kpi-value{font-size:var(--text-lg);font-weight:600}.bank-transactions{background-color:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-xl);padding:0;min-width:0;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.accounts-sidebar{background:linear-gradient(180deg,var(--bg-panel) 0%,rgba(30,41,59,.85) 100%);border-radius:var(--radius-xl);border:var(--border-subtle);display:flex;flex-direction:column;min-width:0;box-shadow:var(--shadow-md);overflow:hidden}.sidebar-liquidity{display:flex;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-4) var(--space-3);cursor:pointer;transition:background .2s ease;border-bottom:1px solid rgba(255,255,255,.04)}.sidebar-liquidity:hover{background:#ffffff08}.sidebar-liquidity.active{background:linear-gradient(135deg,#8b5cf614,#8b5cf60a)}.sidebar-liquidity-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-low)}.sidebar-liquidity-amount{font-size:1.65rem;font-weight:700;color:var(--text-high);letter-spacing:-.03em;font-family:var(--font-mono);line-height:1.1}.transactions-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:var(--border-subtle);background-color:#ffffff05}.transactions-header h3{font-size:var(--text-base);color:var(--text-high);font-weight:600;margin:0}.transactions-header .badge{background-color:var(--bg-surface);color:var(--text-low);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;border:var(--border-subtle)}.table-wrapper{overflow-x:auto;position:relative}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th{text-align:left;padding:var(--space-3) var(--space-3);font-size:.68rem;color:var(--text-low);text-transform:uppercase;letter-spacing:.06em;font-weight:600;background:linear-gradient(180deg,#0f172af2,#0f172ad9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;z-index:2}.data-table th:nth-child(1){width:40px}.data-table th:nth-child(2){width:12%}.data-table th:nth-child(3){width:45%}.data-table th:nth-child(4){width:22%}.data-table th:nth-child(5){width:13%}.data-table td{padding:var(--space-3) var(--space-3);font-size:var(--text-sm);color:var(--text-high);border-bottom:1px solid rgba(255,255,255,.03);vertical-align:middle}.data-table tbody tr{transition:background-color .15s ease,box-shadow .15s ease}.data-table tbody tr:nth-child(2n){background-color:#ffffff04}.data-table tbody tr:hover{background-color:#ffffff0a;box-shadow:inset 3px 0 0 var(--brand-primary)}.data-table tr:last-child td{border-bottom:none}.transaction-row{border-bottom:var(--border-subtle);transition:var(--transition)}.transaction-row:hover{background:var(--bg-surface)}.transaction-date{color:var(--text-low);font-size:.85rem;font-variant-numeric:tabular-nums}.transaction-amount{font-family:var(--font-mono);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.transaction-amount.income{color:var(--status-success);text-shadow:0 0 12px rgba(16,185,129,.2)}.transaction-amount.expense{color:var(--text-high)}.category-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--bg-surface);border:var(--border-subtle);color:var(--text-high);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;max-width:180px}.category-chip-label{overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.category-chip:hover{border-color:var(--brand-primary);background:var(--brand-alpha);color:var(--brand-hover);box-shadow:0 2px 8px #8b5cf626;transform:translateY(-1px)}.category-chip-edit-icon{font-size:.7rem;opacity:0;margin-left:var(--space-1);transition:opacity .15s ease;color:var(--text-low)}.category-chip:hover .category-chip-edit-icon{opacity:1;color:var(--brand-primary)}.category-chip.uncategorized{color:var(--status-warning);border-color:#f59e0b40;background:#f59e0b0f;border-style:dashed}.category-chip.uncategorized:hover{border-color:var(--status-warning);background:#f59e0b1f}.category-chip.uncategorized .category-chip-edit-icon{color:var(--status-warning)}.category-chip.updating{opacity:.6;pointer-events:none;color:var(--brand-primary)}.category-edit-select{background-color:var(--bg-surface);border:1px solid var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha);color:var(--text-high);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;max-width:180px;outline:none;animation:chip-to-select .15s ease-out}@keyframes chip-to-select{0%{opacity:.5;transform:scaleY(.9)}to{opacity:1;transform:scaleY(1)}}.tx-description{display:flex;flex-direction:column;gap:2px}.tx-transfer-tag{display:inline-block;font-size:.65rem;color:var(--text-low);background-color:var(--bg-app);padding:1px 6px;border-radius:4px;border:var(--border-subtle);width:fit-content;text-transform:uppercase;letter-spacing:.02em}.desc-cell{display:flex;align-items:center;gap:var(--space-2);min-width:0}.desc-cell-icon{flex-shrink:0;font-size:.9rem}.desc-cell-text{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text-high);font-weight:500;cursor:pointer;border-radius:var(--radius-md);padding:2px var(--space-2);margin:-2px calc(-1 * var(--space-2));transition:all .15s ease;min-width:0}.desc-cell-text:hover{background:var(--brand-alpha);color:var(--brand-hover)}.desc-cell-text.updating{opacity:.6;pointer-events:none}.desc-cell-pencil{font-size:.65rem;opacity:0;color:var(--text-low);flex-shrink:0;transition:opacity .15s ease}.desc-cell-text:hover .desc-cell-pencil{opacity:.7;color:var(--brand-primary)}.desc-edit-input{flex:1;min-width:140px;max-width:300px;background-color:var(--bg-surface);border:1px solid var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha);color:var(--text-high);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:.85rem;font-weight:500;font-family:inherit;outline:none;animation:chip-to-select .15s ease-out}.desc-cell-original-hint{font-size:.7rem;color:var(--brand-primary);opacity:.5;cursor:help;flex-shrink:0;transition:opacity .2s ease}.desc-cell-original-hint:hover{opacity:1}.kpi-card{background:var(--bg-panel);padding:var(--space-4);border-radius:var(--radius-md);border:var(--border-subtle)}.kpi-label{font-size:.75rem;text-transform:uppercase;color:var(--text-low);margin-bottom:var(--space-2);display:block;font-weight:600}.kpi-value{font-size:1.25rem;font-weight:700;font-family:var(--font-mono);color:var(--text-high)}.kpi-value.income{color:var(--status-success)}.kpi-value.expense{color:var(--status-danger)}.align-right{text-align:right}.text-success{color:var(--status-success)!important}.text-danger{color:var(--status-danger)!important}.text-warning{color:var(--status-warning)!important}.bank-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-6);background:radial-gradient(ellipse at 50% 30%,rgba(139,92,246,.06) 0%,transparent 60%),linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%);border-radius:var(--radius-xl);text-align:center;min-height:350px;position:relative}.bank-empty-icon-wrap{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf626,#8b5cf614);color:var(--brand-primary);margin-bottom:var(--space-5);box-shadow:0 0 0 8px #8b5cf60f,0 0 0 16px #8b5cf608,0 8px 32px #8b5cf61a}.empty-icon{font-size:2rem}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.floating{animation:float 4s ease-in-out infinite}.big-icon{font-size:3rem;opacity:.5;color:var(--brand-primary)}.account-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-full);background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);color:var(--brand-primary);font-size:.7rem;font-weight:700;border:1px solid rgba(139,92,246,.2)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%)}.sidebar-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:600;color:var(--text-high);margin:0;letter-spacing:.01em}.sidebar-header-actions{display:flex;align-items:center;gap:var(--space-2)}.sidebar-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);background:transparent;color:var(--text-low);cursor:pointer;transition:all .2s ease;font-size:1rem}.sidebar-add-btn:hover{color:var(--brand-primary);border-color:var(--brand-primary);border-style:solid;background:var(--brand-alpha);transform:scale(1.05);box-shadow:0 0 8px #8b5cf633}.account-balance-wrapper{display:flex;align-items:center;gap:var(--space-2);text-align:right}.account-edit-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-low);cursor:pointer;transition:var(--transition);font-size:.8rem;opacity:.35;flex-shrink:0}.account-item:hover .account-edit-btn{opacity:1}.account-edit-btn:hover{color:var(--brand-primary);background:var(--brand-alpha)}.account-card-visibility{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-3);border-top:var(--border-subtle);margin-top:var(--space-1)}.account-card-visibility-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-low);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.account-card-visibility-label i{font-size:.9rem;opacity:.7}.account-visibility-toggle{position:relative;width:36px;height:20px;border:none;border-radius:10px;background:var(--bg-app);border:var(--border-strong);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);padding:0;flex-shrink:0}.account-visibility-toggle.is-on{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 0 8px color-mix(in srgb,var(--brand-primary) 40%,transparent)}.toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-low);transition:all .25s cubic-bezier(.4,0,.2,1)}.account-visibility-toggle.is-on .toggle-thumb{left:calc(100% - 16px);background:#fff}.account-card.account-card-hidden{opacity:.55;border-style:dashed;border-color:var(--border-color-subtle)}.account-card.account-card-hidden .account-card-balance{color:var(--text-low)}.accounts-hidden-hint{color:var(--text-low);font-style:italic}.accounts-visibility-summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-low);margin-top:var(--space-2)}.accounts-visibility-summary i{font-size:1rem;opacity:.6}.loading-row{opacity:.6}.bank-transactions-card{background:var(--bg-panel);border:var(--border-subtle);border-radius:var(--radius-lg);min-width:0;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.bank-transactions-card.drag-active{border-color:var(--brand-primary);border-style:dashed;box-shadow:0 0 0 3px var(--brand-alpha),0 8px 32px #8b5cf626}.drop-overlay{position:absolute;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:var(--radius-lg);animation:fade-in .15s ease-out;pointer-events:none}.drop-overlay i{font-size:2.5rem;color:var(--brand-primary);animation:float 2s ease-in-out infinite;text-shadow:0 1px 4px rgba(0,0,0,.5)}.drop-overlay span{font-size:var(--text-base);font-weight:600;color:var(--text-high);text-shadow:0 1px 4px rgba(0,0,0,.5)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.bank-filters-status{display:none}@media(max-width:640px){.banks-dashboard{gap:var(--space-2)}.data-table th,.data-table td{padding:var(--space-2);font-size:var(--text-xs)}.accounts-view-header{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.accounts-view-header .btn{flex-shrink:0}.accounts-view-title{font-size:var(--text-lg)}.accounts-view-subtitle{font-size:var(--text-sm);font-weight:500}.accounts-grid{grid-template-columns:1fr;gap:var(--space-3)}.account-card{padding:var(--space-3) var(--space-4);gap:var(--space-3)}.account-card-icon{width:32px;height:32px;font-size:.9rem}.account-card-name{font-size:var(--text-sm)}.account-card-balance{font-size:var(--text-base)}.bulk-action-bar{flex-direction:column;align-items:stretch;gap:var(--space-2);padding:var(--space-3)}.bulk-action-controls{flex-direction:column}.bulk-category-select{width:100%;min-width:unset}}.spin{animation:spin 1s linear infinite}.bulk-checkbox-th,.bulk-checkbox-td{width:40px;min-width:40px;max-width:40px;text-align:center;padding-left:var(--space-3)!important;padding-right:0!important}.bulk-checkbox{width:16px;height:16px;accent-color:var(--brand-primary);cursor:pointer;border-radius:var(--radius-sm)}.transaction-row.selected{background:var(--brand-alpha)!important;border-left:3px solid var(--brand-primary)}.transaction-row.selected:hover{background:rgba(var(--brand-rgb),.15)!important}.bulk-action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);margin-top:var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(var(--brand-rgb),.12),rgba(var(--brand-rgb),.06));border:1px solid var(--brand-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 24px rgba(var(--brand-rgb),.15);animation:slide-up .25s cubic-bezier(.4,0,.2,1)}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bulk-action-info{display:flex;align-items:center;gap:var(--space-2);color:var(--brand-primary);font-size:var(--text-sm);font-weight:500;white-space:nowrap}.bulk-action-info i{font-size:1.2rem}.bulk-action-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.bulk-category-select{padding:var(--space-1) var(--space-3);background:var(--bg-surface);border:var(--border-strong);border-radius:var(--radius-md);color:var(--text-high);font-size:var(--text-sm);cursor:pointer;min-width:180px;transition:var(--transition)}.bulk-category-select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.btn-sm{padding:var(--space-1) var(--space-3)!important;font-size:var(--text-sm)!important;gap:var(--space-1)}.transactions-toolbar{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;width:100%}.merchant-review-actions{display:flex;align-items:center;gap:var(--space-2);min-width:0}.merchant-review-btn{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:var(--space-1) var(--space-3);border:var(--border-strong);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-medium);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:var(--transition)}.merchant-review-btn:hover,.merchant-review-btn.active{border-color:var(--brand-primary);background:var(--brand-alpha);color:var(--brand-primary)}.csv-import-section{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-1)}.csv-import-btn{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap;transition:all .2s ease}.csv-import-btn:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-alpha)}.csv-result-badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500;animation:fade-in .3s ease-out}.csv-result-badge.success{color:var(--status-success);background:#22c55e14;border:1px solid rgba(34,197,94,.2)}.csv-result-badge.error{color:var(--status-danger);background:#ef444414;border:1px solid rgba(239,68,68,.2)}.csv-import-zone{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px dashed rgba(255,255,255,.07);margin-top:var(--space-2)}.csv-zone-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-md);color:var(--text-low);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.csv-zone-btn:hover:not(:disabled){border-color:var(--brand-primary);border-style:solid;color:var(--brand-primary);background:var(--brand-alpha)}.csv-zone-btn:disabled{opacity:.5;cursor:not-allowed}.csv-zone-btn i{font-size:1rem}.account-card-row1{display:flex;align-items:center;gap:var(--space-3)}.account-card-row1 .account-card-icon{flex-shrink:0}.account-card-row1 .account-card-name{flex:1;min-width:0;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.account-card-row1 .account-card-balance{flex-shrink:0;font-size:var(--text-base);font-weight:700}.account-card-row2{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-top:var(--space-2);border-top:var(--border-subtle);margin-top:var(--space-2)}.account-card-iban-short{font-size:.7rem;color:var(--text-low);font-family:var(--font-mono, monospace);letter-spacing:.05em}.account-card-row2-actions{display:flex;align-items:center;gap:var(--space-2)}.account-card-row2-actions .account-card-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:1rem}.account-visibility-toggle-mini{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:var(--border-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-low);cursor:pointer;font-size:.8rem;transition:var(--transition);padding:0}.account-visibility-toggle-mini.is-on{color:var(--brand-primary);border-color:var(--brand-primary);background:var(--brand-alpha)}@media(hover:none){.banks-tab{min-height:44px}.account-card-actions{opacity:1}.account-card-actions .account-card-btn{min-width:44px;min-height:44px}.account-edit-btn{opacity:1;width:44px;height:44px;font-size:1rem}}@media(max-width:1280px){.banks-layout{grid-template-columns:1fr;gap:var(--space-4)}.accounts-sidebar{flex-direction:row;align-items:center;border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);min-height:auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;max-height:80px}.accounts-sidebar .sidebar-header{display:none}.sidebar-liquidity{padding:0 var(--space-4) 0 0;border-bottom:none;border-right:1px dashed rgba(255,255,255,.1);white-space:nowrap;justify-content:center;flex-shrink:0}.sidebar-liquidity-label{font-size:.6rem}.sidebar-liquidity-amount{font-size:1.25rem}.accounts-sidebar .sidebar-divider{display:none}.accounts-list{display:flex;flex-direction:row;gap:var(--space-2);padding:0 var(--space-3);align-items:center;margin:0;overflow-x:visible}.account-item{flex-direction:row;align-items:center;gap:var(--space-3);width:auto;min-width:max-content;padding:var(--space-2) var(--space-3);background:var(--bg-panel);border-radius:var(--radius-md)}.account-item .account-info{flex-direction:row;align-items:baseline;gap:var(--space-2)}.account-item .account-balance-wrapper{margin:0;margin-left:var(--space-2)}}@media(max-width:1024px){.bank-kpi-panel{grid-template-columns:1fr 1fr}.data-table th,.data-table td{padding:var(--space-2) var(--space-2);font-size:.8rem}}@media(max-width:768px){.banks-dashboard{gap:var(--space-4)}.banks-tab{min-height:44px}.bank-filters-controls{flex-wrap:nowrap}.bank-search-input{flex:1;min-width:0}.csv-import-zone,.csv-import-section,.tx-card-empty .btn-primary,.bank-empty-state .btn-primary,.bank-filters-status{display:none!important}.bank-kpi-panel{grid-template-columns:1fr 1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-3)}.bank-kpi{flex-direction:column;align-items:center;text-align:center;padding:var(--space-3) var(--space-2);gap:var(--space-1)}.bank-kpi-icon{display:none}.bank-kpi-value{font-size:.95rem}.bank-kpi-label{font-size:.55rem}.bank-kpi-count{display:none}}@media(max-width:640px){.bank-date-chip{padding:3px var(--space-2);font-size:.7rem}.bank-modal-content,.bank-selector-content{width:100%;height:100%;max-height:100vh;border-radius:0}}@media(max-width:480px){.sidebar-liquidity-amount{font-size:1rem}.bank-kpi-panel{grid-template-columns:1fr 1fr;gap:var(--space-2)}.bank-kpi{padding:var(--space-2);border-radius:var(--radius-md)}.bank-kpi-value{font-size:.9rem}}.cashflow-chart-container{width:100%;margin-top:var(--space-3);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-lg);overflow:hidden}.cashflow-chart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-subtle);gap:var(--space-3);flex-wrap:wrap}.cashflow-chart-title{display:flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:var(--font-sm);color:var(--text-primary)}.cashflow-chart-title i{color:var(--text-low);font-size:1.1em}.cashflow-chart-tooltip{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-xs);flex-wrap:wrap}.cashflow-chart-period{font-weight:600;color:var(--text-primary)}.cashflow-tag{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:500}.cashflow-tag.income{background:rgba(var(--success-rgb, 34, 197, 94),.15);color:var(--status-success)}.cashflow-tag.expense{background:rgba(var(--danger-rgb, 239, 68, 68),.15);color:var(--status-danger)}.cashflow-tag.savings-positive{background:var(--brand-alpha);color:var(--brand-primary)}.cashflow-tag.savings-negative{background:rgba(var(--danger-rgb, 239, 68, 68),.1);color:var(--status-danger)}.cashflow-chart-legend{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--font-xs);color:var(--text-low)}.cashflow-legend-item{display:flex;align-items:center;gap:var(--space-1)}.cashflow-legend-dot{width:8px;height:8px;border-radius:2px}.cashflow-legend-dot.income{background:var(--status-success)}.cashflow-legend-dot.expense{background:var(--status-danger)}.cashflow-chart-svg{display:block;cursor:crosshair}.cashflow-chart-axis-label{font-family:inherit;-webkit-user-select:none;user-select:none}.budget-month-nav{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.budget-month-nav button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-surface);border:none;border-radius:var(--radius-md);color:var(--text-base);cursor:pointer;transition:var(--transition)}.budget-month-nav button:hover{color:var(--text-high);background:#ffffff1a}.budget-month-label{font-size:1rem;font-weight:600;color:var(--text-high);min-width:120px;text-align:center;text-transform:capitalize}.budget-monthly-layout{display:grid;grid-template-columns:1fr 280px;gap:var(--space-6);align-items:start}@media(max-width:900px){.budget-monthly-layout{grid-template-columns:1fr}}.budget-table-card{background:var(--bg-panel);border-radius:var(--radius-lg);border:var(--border-subtle);overflow:hidden}.budget-group{border-bottom:var(--border-subtle)}.budget-group:last-child{border-bottom:none}.budget-group-header{display:grid;grid-template-columns:1fr 100px 100px 100px;align-items:center;padding:var(--space-3) var(--space-4);background:#ffffff05;border-bottom:var(--border-subtle);cursor:pointer;transition:background .15s ease}.budget-group-header:hover{background:#ffffff0a}.budget-group-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center}.budget-group-title i{font-size:1rem;color:inherit;opacity:.7}.budget-group-value{font-size:.8rem;font-weight:600;color:var(--text-base);font-family:var(--font-mono);text-align:right}.budget-table-header{display:grid;grid-template-columns:1fr 100px 100px 100px;padding:var(--space-2) var(--space-4);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-low);border-bottom:var(--border-subtle);background:#ffffff05}.budget-table-header span:not(:first-child){text-align:right}.budget-row{position:relative;display:grid;grid-template-columns:1fr 100px 100px 100px;padding:var(--space-3) var(--space-4);align-items:center;transition:background .15s ease}.budget-row:hover{background:var(--bg-hover)}.budget-row.over-budget{background:#ef44440f}.budget-row-name{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--text-base)}.budget-row-name i{font-size:1rem;color:var(--text-low);min-width:1.1rem;text-align:center}.budget-row-value{text-align:right;font-size:.875rem;font-family:var(--font-mono);color:var(--text-base)}.budget-row-input{width:80px;text-align:right;background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);padding:4px 8px;font-size:.875rem;font-family:var(--font-mono);color:var(--text-high);transition:all .15s ease}.budget-row-input:focus{border-color:var(--brand-primary);background:#ffffff0d;outline:none;box-shadow:0 0 0 2px var(--brand-alpha)}.budget-progress-wrap{position:absolute;bottom:0;left:0;width:100%;height:2px;background:transparent;border-radius:0;overflow:hidden}.budget-progress-fill{height:100%;transition:width .4s ease,background .3s ease}.budget-progress-fill.on-track{background:var(--status-success)}.budget-progress-fill.warning{background:var(--status-warning)}.budget-progress-fill.over{background:var(--status-danger)}.budget-history-backdrop{position:fixed;inset:0;z-index:99;background:transparent}.budget-history-popover{position:fixed;width:320px;background:var(--bg-panel);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0000008c,0 0 0 1px #ffffff0a;z-index:100;padding:var(--space-4);cursor:default;animation:popoverFadeIn .18s cubic-bezier(.16,1,.3,1) forwards}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.budget-history-close{position:absolute;top:var(--space-2);right:var(--space-2);background:none;border:none;color:var(--text-low);font-size:1rem;cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:color .15s,background .15s;line-height:1}.budget-history-close:hover{color:var(--text-high);background:#ffffff0f}.budget-history-popover h4{font-size:.95rem;font-weight:600;color:var(--text-high);margin:0 0 var(--space-3) 0}.budget-history-kpis{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-4)}.budget-history-kpi{background:var(--bg-surface);border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-md);padding:var(--space-3);transition:background .2s}.budget-history-kpi:hover{background:#ffffff0a}.budget-history-kpi-val{font-size:1.05rem;font-weight:700;font-family:var(--font-mono);color:var(--text-high)}.budget-history-kpi-label{font-size:.7rem;color:var(--text-low);margin-top:2px;text-transform:capitalize}.budget-history-chart{display:flex;align-items:flex-end;justify-content:space-between;height:130px;padding:0 0 28px 32px;margin-bottom:var(--space-3);position:relative}.budget-history-chart-y{position:absolute;left:0;font-size:.6rem;color:var(--text-low);font-family:var(--font-mono);line-height:1;white-space:nowrap}.budget-history-chart-y.top{top:0}.budget-history-chart-y.mid{top:50%;transform:translateY(-50%)}.budget-history-chart-y.zero{bottom:28px}.budget-history-chart-yline{position:absolute;left:32px;right:0;height:1px;background:#ffffff0f;pointer-events:none}.budget-history-bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:calc(100% - 28px);position:relative}.budget-history-bar{width:65%;max-width:28px;min-width:12px;background:#e55d5d;border-radius:4px 4px 0 0;transition:height .5s cubic-bezier(.16,1,.3,1);cursor:default}.budget-history-bar:hover{background:#ef6c6c}.budget-history-bar-label{position:absolute;bottom:-22px;font-size:.6rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.02em}.budget-history-footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0 0;border-top:1px solid rgba(255,255,255,.06);font-size:.75rem;color:var(--text-mid);cursor:default}.budget-history-footer input[type=checkbox]{accent-color:var(--brand-primary);width:14px;height:14px;opacity:.5;cursor:not-allowed}.budget-history-footer span{flex:1}.budget-history-footer i{color:var(--text-low);font-size:.85rem;cursor:help}.budget-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600;font-family:var(--font-mono)}.budget-pill.positive{background:var(--status-success-bg);color:var(--status-success)}.budget-pill.negative{background:var(--status-danger-bg);color:var(--status-danger)}.budget-pill.zero{color:var(--text-low);background:transparent}.budget-sidebar{position:sticky;top:var(--space-6);background:var(--bg-panel);border-radius:var(--radius-lg);border:var(--border-subtle);padding:var(--space-5)}.budget-sidebar-hero{text-align:center;margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:var(--border-subtle)}.budget-sidebar-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);margin-bottom:var(--space-2)}.budget-sidebar-amount{font-size:2rem;font-weight:700;font-family:var(--font-mono);line-height:1.1}.budget-sidebar-amount.positive{color:var(--status-success)}.budget-sidebar-amount.negative{color:var(--status-danger)}.budget-sidebar-amount.zero{color:var(--text-low)}.budget-sidebar-group{margin-bottom:var(--space-4)}.budget-sidebar-group-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--text-low);margin-bottom:var(--space-1)}.budget-sidebar-group-amount{font-family:var(--font-mono);font-weight:600;font-size:.75rem;color:var(--text-base)}.budget-sidebar-bar{height:6px;background:#ffffff0f;border-radius:3px;overflow:hidden}.budget-sidebar-bar-fill{height:100%;border-radius:3px;transition:width .4s ease}.cashflow-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.cashflow-kpi-card{background:var(--bg-panel);border-radius:var(--radius-lg);border:var(--border-subtle);padding:var(--space-5);text-align:center;transition:var(--transition)}.cashflow-kpi-card:hover{border-color:#ffffff1a;box-shadow:var(--shadow-md)}.cashflow-kpi-value{font-size:1.75rem;font-weight:700;font-family:var(--font-mono);line-height:1.2;margin-bottom:var(--space-1)}.cashflow-kpi-value.income{color:var(--status-success)}.cashflow-kpi-value.expense{color:var(--status-danger)}.cashflow-kpi-value.savings-positive{color:var(--status-success)}.cashflow-kpi-value.savings-negative{color:var(--status-danger)}.cashflow-kpi-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low)}.cashflow-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:var(--space-6)}.cashflow-breakdown-card{background:var(--bg-panel);border-radius:var(--radius-lg);border:var(--border-subtle);overflow:hidden}.cashflow-breakdown-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:var(--border-subtle)}.cashflow-breakdown-title{font-size:.875rem;font-weight:600;color:var(--text-high)}.cashflow-breakdown-total{font-size:.875rem;font-weight:700;font-family:var(--font-mono)}.cashflow-row{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);overflow:hidden}.cashflow-row-bg{position:absolute;top:0;left:0;height:100%;opacity:.12;transition:width .5s ease;pointer-events:none}.cashflow-row-bg.income{background:var(--status-success)}.cashflow-row-bg.expense{background:var(--status-danger)}.cashflow-row-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;width:100%}.cashflow-row-name{font-size:.875rem;color:var(--text-base);font-weight:500}.cashflow-row-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.cashflow-row-amount{font-size:.875rem;font-weight:600;font-family:var(--font-mono);color:var(--text-high)}.cashflow-row-pct{font-size:.7rem;color:var(--text-low)}.forecast-container{overflow-x:auto;border-radius:var(--radius-lg);border:var(--border-subtle);background:var(--bg-panel)}.forecast-helper-text{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--text-low);font-size:.8rem}.forecast-grid{display:grid;min-width:max-content}.forecast-category-col{position:sticky;left:0;z-index:10;background:var(--bg-panel);border-right:var(--border-subtle);min-width:180px}.forecast-header-row{display:contents}.forecast-header-cell{padding:var(--space-3) var(--space-2);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low);text-align:center;white-space:nowrap;border-bottom:var(--border-subtle);position:sticky;top:0;z-index:5;background:var(--bg-panel)}.forecast-header-cell.current{color:var(--brand-primary);border-bottom:2px solid var(--brand-primary)}.forecast-header-cell.actual-label{color:var(--text-low);font-size:.6rem}.forecast-header-cell.budget-label{color:var(--brand-primary);font-size:.6rem}.forecast-cat-label{padding:var(--space-3) var(--space-4);font-size:.875rem;font-weight:500;color:var(--text-base);border-bottom:var(--border-subtle);display:flex;align-items:center;gap:var(--space-2)}.forecast-cat-label.group{font-weight:600;color:var(--text-high);background:#ffffff05}.forecast-cell{padding:var(--space-2);text-align:center;border-bottom:var(--border-subtle);font-family:var(--font-mono);font-size:.8rem;min-width:110px}.forecast-cell.actual{color:var(--text-base);background:transparent}.forecast-cell.editable{color:var(--text-high)}.forecast-cell.zero{color:var(--text-low);opacity:.4}.forecast-cell-stack{display:flex;flex-direction:column;align-items:center;gap:6px}.forecast-cell-input{width:70px;text-align:center;background:var(--bg-surface);border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 6px;font-size:.8rem;font-family:var(--font-mono);color:var(--text-high);transition:border-color .15s ease}.forecast-cell-input:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 2px var(--brand-alpha)}.forecast-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:24px;padding:2px 6px;border:var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-low);font-size:.65rem;cursor:pointer;transition:var(--transition)}.forecast-action-btn:hover:not(:disabled){color:var(--text-high);border-color:var(--brand-primary);background:var(--brand-alpha)}.forecast-action-btn:disabled{opacity:.6;cursor:not-allowed}.budget-add-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:1px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);color:var(--text-low);font-size:.8rem;cursor:pointer;transition:var(--transition);width:100%;justify-content:center;margin-top:var(--space-2)}.budget-add-btn:hover{color:var(--brand-primary);border-color:var(--brand-primary);background:var(--brand-alpha)}.budget-empty{padding:var(--space-12) var(--space-4);text-align:center}.budget-empty i{font-size:3rem;color:var(--text-low);opacity:.35;margin-bottom:var(--space-4);display:block}.budget-empty h3{color:var(--text-high);margin-bottom:var(--space-2)}.budget-empty p{color:var(--text-low);font-size:.875rem;max-width:400px;margin:0 auto}.budget-empty .btn-primary{margin-top:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition)}.budget-empty .btn-primary:hover{background:var(--brand-hover);box-shadow:var(--shadow-glow)}@media(max-width:768px){.budget-group-header,.budget-table-header,.budget-row{grid-template-columns:1fr 80px 80px 80px}.budget-row-input{width:65px;font-size:.8rem}.cashflow-kpi-value{font-size:1.25rem}.forecast-cell{min-width:90px}.forecast-cell-input{width:55px}.forecast-action-btn span{display:none}}@media(max-width:640px){.budget-group-header,.budget-table-header,.budget-row{grid-template-columns:1fr 80px 80px}.budget-group-header span:nth-child(4),.budget-table-header span:nth-child(4),.budget-row>*:nth-child(4){display:none}.budget-row-input{width:55px;font-size:.75rem}.cashflow-kpi-value{font-size:1.1rem}.budget-sidebar{position:static}}@media(max-width:480px){.budget-group-header,.budget-table-header,.budget-row{grid-template-columns:1fr 70px 70px;padding:var(--space-2) var(--space-3)}.budget-group-header{padding:var(--space-2) var(--space-3)}.budget-month-nav{gap:var(--space-2)}.budget-month-label{min-width:100px;font-size:.875rem}.cashflow-kpi-card{padding:var(--space-4)}.cashflow-kpi-value{font-size:1rem}.budget-sidebar-amount{font-size:1.5rem}.forecast-category-col{min-width:140px}}.rc-calendar{display:flex;flex-direction:column;gap:var(--space-3)}.rc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#ffffff0a;border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,.04)}.rc-header-cell{background:#ffffff08;padding:6px 0;text-align:center;font-size:10px;font-weight:700;color:var(--text-low);text-transform:uppercase;letter-spacing:.08em}.rc-cell{background:var(--bg-panel);padding:6px 8px;display:flex;flex-direction:column;gap:4px;min-height:80px;min-width:0;border:2px solid transparent;cursor:default;transition:background .15s,border-color .2s,box-shadow .2s;position:relative;font-family:inherit;color:inherit;text-align:left}.rc-cell--empty{background:#ffffff03;min-height:48px}.rc-cell--has-items{cursor:pointer}.rc-cell--has-items:hover{background:#8b5cf60a;border-color:#8b5cf61f}.rc-cell--today{background:#8b5cf60f;border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px #8b5cf626}.rc-cell--past:not(.rc-cell--has-items){opacity:.5}.rc-cell--selected{border-color:var(--brand-primary);background:#8b5cf614;box-shadow:0 0 0 1px #8b5cf633}.rc-day-header{display:flex;align-items:center;gap:4px}.rc-day-number{font-size:12px;font-weight:600;color:var(--text-high);line-height:1}.rc-cell--today .rc-day-number{color:var(--brand-primary);font-weight:800}.rc-today-badge{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-primary);background:#8b5cf626;padding:1px 5px;border-radius:var(--radius-full);line-height:1.2}.rc-pills{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rc-pill{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .12s,box-shadow .12s}.rc-cell--has-items:hover .rc-pill{transform:translate(1px)}.rc-pill-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.rc-pill--paid{opacity:.65;text-decoration:line-through;text-decoration-thickness:1px}.rc-pill-overflow{font-size:9px;color:var(--text-low);padding:0 2px;font-weight:500}.rc-day-total{font-size:11px;font-weight:700;color:var(--text-low);font-variant-numeric:tabular-nums;margin-top:auto;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rc-cell--has-items:hover .rc-day-total{color:var(--text-high)}.rc-detail{background:var(--bg-panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);overflow:hidden;animation:rc-slide-in .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-md)}@keyframes rc-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.rc-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05}.rc-detail-header h4{margin:0;font-size:var(--text-sm);font-weight:600;display:flex;align-items:center;gap:var(--space-2);color:var(--text-high)}.rc-detail-day-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:var(--brand-alpha);color:var(--brand-primary);font-weight:800;font-size:13px}.rc-detail-total{font-size:12px;font-weight:700;color:var(--text-low);margin-left:auto;font-variant-numeric:tabular-nums}.rc-detail-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#ffffff0a;border-radius:var(--radius-md);color:var(--text-low);cursor:pointer;font-size:14px;transition:background .12s,color .12s}.rc-detail-close:hover{background:#ffffff14;color:var(--text-high)}.rc-detail-list{display:flex;flex-direction:column}.rc-detail-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(255,255,255,.03);transition:background .12s}.rc-detail-item:last-child{border-bottom:none}.rc-detail-item:hover{background:#ffffff05}.rc-detail-item--paid{opacity:.6}.rc-detail-item--paid:hover{opacity:.85}.rc-detail-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.rc-detail-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.rc-detail-info strong{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rc-detail-meta{font-size:11px;color:var(--text-low);display:flex;align-items:center;gap:var(--space-2)}.rc-detail-status-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-full);font-size:10px;font-weight:600}.rc-detail-status-tag--paid{background:#10b9811f;color:var(--status-success)}.rc-detail-status-tag--missed{background:#ef44441f;color:var(--status-danger)}.rc-detail-status-tag--due{background:#f59e0b1f;color:var(--status-warning)}.rc-detail-status-tag--upcoming{background:#6366f11a;color:var(--brand-primary)}.rc-detail-status-tag--scheduled{background:#94a3b814;color:var(--text-low)}.rc-detail-status-tag--completed{background:#94a3b80f;color:var(--text-low)}.rc-detail-amount{font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.rc-detail-actions{display:flex;gap:2px;flex-shrink:0}.rc-unscheduled{background:var(--bg-panel);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);overflow:hidden}.rc-unscheduled-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(255,255,255,.03);font-size:var(--text-sm);font-weight:600;color:var(--status-warning);display:flex;align-items:center;gap:var(--space-2)}.rc-unscheduled-count{font-size:10px;font-weight:700;background:#f59e0b26;padding:1px 6px;border-radius:var(--radius-full)}@media(hover:none)and (pointer:coarse){.rc-detail-close{width:44px;height:44px;font-size:16px}}.recurrentes-dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.recurrentes-hero{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-color-subtle)}.recurrentes-hero-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.recurrentes-hero-left{display:flex;align-items:center;gap:var(--space-3)}.recurrentes-hero-left h1{margin:0;font-size:var(--text-xl);display:flex;align-items:center;gap:var(--space-2)}.recurrentes-hero-actions{display:flex;align-items:center;gap:var(--space-3)}.recurrentes-toggle-form-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:.5rem 1rem;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.recurrentes-toggle-form-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.recurrentes-month-nav{display:flex;align-items:center;gap:var(--space-3)}.recurrentes-month-btn{background:var(--bg-surface);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);color:var(--text-high);cursor:pointer;padding:.35rem .55rem;font-size:var(--text-base);transition:background .15s;display:flex;align-items:center}.recurrentes-month-btn:hover{background:var(--bg-panel)}.recurrentes-month-label{font-size:var(--text-base);font-weight:600;text-transform:capitalize;white-space:nowrap}.recurrentes-progress-section{display:flex;flex-direction:column;gap:var(--space-3)}.recurrentes-progress-header{display:flex;align-items:baseline;justify-content:space-between}.recurrentes-progress-counter{font-size:var(--text-sm);color:var(--text-low)}.recurrentes-progress-counter strong{color:var(--text-high);font-size:var(--text-base)}.recurrentes-progress-track{position:relative;height:8px;background:var(--bg-surface);border-radius:999px;overflow:hidden}.recurrentes-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#22c55e,#4ade80);transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}.recurrentes-stats-row{display:flex;gap:var(--space-5);flex-wrap:wrap}.recurrentes-stat{display:flex;flex-direction:column;gap:.1rem}.recurrentes-stat-label{font-size:var(--text-xs);color:var(--text-low);text-transform:uppercase;letter-spacing:.04em}.recurrentes-stat-value{font-size:var(--text-lg);font-weight:700;color:var(--text-high);font-variant-numeric:tabular-nums}.recurrentes-stat-value--paid{color:var(--status-success)}.recurrentes-stat-value--pending{color:var(--status-danger)}.recurrentes-form-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,margin .25s ease;margin-top:0}.recurrentes-form-panel.open{max-height:1200px;opacity:1;margin-top:var(--space-4)}.recurrentes-form-inner{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-color-subtle)}.recurrentes-form-inner h3{margin:0 0 var(--space-3) 0;font-size:var(--text-base);display:flex;align-items:center;gap:var(--space-2)}.recurrentes-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);align-items:end}.recurrentes-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-low)}.recurrentes-form input,.recurrentes-form select{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-high);padding:.55rem .75rem;font-size:var(--text-sm)}.recurrentes-form input:focus,.recurrentes-form select:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 2px #3b82f633}.recurrentes-form-full{grid-column:1 / -1}.recurrentes-form-actions{grid-column:1 / -1;display:flex;gap:var(--space-3);justify-content:flex-end}.recurrentes-form-adv{grid-column:1 / -1;margin-top:var(--space-2)}.recurrentes-form-adv details{background:#0000001a;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:var(--space-3)}.recurrentes-form-adv summary{font-size:var(--text-sm);font-weight:500;color:var(--text-low);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.recurrentes-form-adv summary:hover{color:var(--text-high)}.recurrentes-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3);margin-bottom:var(--space-3)}.recurrentes-months-selector{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.recurrentes-months-selector>span{font-size:var(--text-sm);color:var(--text-low)}.recurrentes-months-grid{display:flex;gap:4px;flex-wrap:wrap}.rc-month-pill{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-color-subtle);background:var(--bg-surface);color:var(--text-low);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.rc-month-pill:hover{border-color:#fff3;color:var(--text-base)}.rc-month-pill--active{background:#8b5cf626;border-color:var(--brand-primary);color:var(--brand-primary)}.recurrentes-content{border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-color-subtle);overflow:hidden}.recurrentes-tabs{display:flex;border-bottom:1px solid var(--border-color-subtle);padding:0 var(--space-4)}.recurrentes-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:none;border:none;border-bottom:2px solid transparent;color:var(--text-low);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap}.recurrentes-tab:hover{color:var(--text-high)}.recurrentes-tab.active{color:var(--brand-primary);border-bottom-color:var(--brand-primary)}.recurrentes-tab-body{padding:var(--space-4)}.recurrentes-alert{margin:var(--space-3) var(--space-4) 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--status-danger-bg);color:var(--status-danger);font-size:var(--text-sm)}.recurrentes-account-tag{display:inline-flex;align-items:center;gap:3px;margin-left:6px;padding:1px 6px;background:#6366f11f;border-radius:999px;font-size:10px;color:var(--brand-primary);white-space:nowrap}.recurrentes-account-tag i{font-size:9px}.negative{color:var(--text-high)}.recurrentes-action-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-low);cursor:pointer;font-size:var(--text-sm);transition:background .12s,color .12s}.recurrentes-action-icon:hover{background:var(--bg-surface);color:var(--text-high)}.recurrentes-action-icon--success:hover{background:#22c55e26;color:#4ade80}.recurrentes-action-icon--danger:hover{background:#ef444426;color:#f87171}.rc-all-list{display:flex;flex-direction:column}.rc-all-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid rgba(255,255,255,.04);margin-bottom:2px}.rc-all-toolbar-count{font-size:11px;color:var(--text-low);font-weight:500}.rc-all-archive-toggle{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-low);font-size:11px;cursor:pointer;padding:3px 8px;border-radius:var(--radius-full);transition:all .15s;font-family:inherit}.rc-all-archive-toggle:hover{background:#ffffff0f;color:var(--text-base)}.rc-all-archive-toggle--active{background:#8b5cf61a;color:var(--brand-primary)}.rc-all-archive-toggle--active:hover{background:#8b5cf629}.rc-all-row{display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-bottom:1px solid rgba(255,255,255,.035);transition:all .18s cubic-bezier(.4,0,.2,1);border-left:2px solid transparent}.rc-all-row:last-child{border-bottom:none}.rc-all-row:hover{background:#ffffff06;border-left-color:#8b5cf666}.rc-all-row--archived{opacity:.35;filter:grayscale(.4)}.rc-all-row--archived:hover{opacity:.6;filter:none}.rc-all-name{font-size:13px;font-weight:600;color:var(--text-high);min-width:130px;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;letter-spacing:-.01em}.rc-all-meta{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-low);min-width:0;overflow:hidden}.rc-all-freq{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;opacity:.6;cursor:pointer;border-radius:var(--radius-sm);padding:2px 4px;margin:-2px 0;transition:all .15s}.rc-all-freq:hover{opacity:1;background:#8b5cf614;color:var(--brand-primary)}.rc-all-freq-select{border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-high);padding:2px 4px;font-size:12px;font-family:inherit;outline:none;cursor:pointer;transition:border-color .15s}.rc-all-freq-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #8b5cf61f}.rc-all-sep{opacity:.15;flex-shrink:0;-webkit-user-select:none;user-select:none}.rc-all-date{display:inline-flex;align-items:center;gap:4px;cursor:pointer;border-radius:var(--radius-sm);padding:2px 6px;margin:-2px 0;transition:all .15s;flex-shrink:0;color:var(--text-base)}.rc-all-date:hover{background:#8b5cf614;color:var(--brand-primary)}.rc-all-date i{font-size:11px;opacity:.35;transition:opacity .15s}.rc-all-date:hover i{opacity:.8}.rc-all-pencil{opacity:0!important;font-size:9px!important;transition:opacity .15s}.rc-all-date:hover .rc-all-pencil{opacity:.7!important}.rc-all-pattern{font-family:var(--font-mono);font-size:10px;opacity:.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;transition:opacity .15s}.rc-all-row:hover .rc-all-pattern{opacity:.5}.rc-all-bounds{display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--text-low);opacity:.5;white-space:nowrap}.rc-all-bounds i{font-size:11px}.rc-all-category{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-low);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;flex-shrink:0;opacity:.7;transition:all .15s;cursor:pointer;border-radius:var(--radius-sm);padding:2px 4px;margin:-2px 0}.rc-all-category:hover{opacity:1;background:#8b5cf614;color:var(--brand-primary)}.rc-all-category i{font-size:10px;opacity:.6}.rc-all-category--empty{opacity:.3;font-style:italic}.rc-all-row:hover .rc-all-category--empty{opacity:.6}.rc-all-row:hover .rc-all-category{opacity:1}.rc-all-date-edit{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.rc-all-date-input{border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-sm);background:#00000040;color:var(--text-high);padding:2px 6px;font-size:11px;font-family:inherit;outline:none;width:120px;transition:border-color .15s,box-shadow .15s}.rc-all-date-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #8b5cf61f}.rc-all-date-save,.rc-all-date-cancel{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:11px;transition:all .12s}.rc-all-date-save{background:#10b9811f;color:var(--status-success)}.rc-all-date-save:hover{background:#10b98138}.rc-all-date-cancel{background:#ef444414;color:var(--status-danger)}.rc-all-date-cancel:hover{background:#ef44442e}.rc-all-badge{padding:2px 7px;border-radius:var(--radius-full);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.rc-all-badge--income{background:#10b9811f;color:var(--status-success)}.rc-all-badge--expense{display:none}.rc-all-amount{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;min-width:80px;text-align:right;flex-shrink:0;color:var(--text-high);letter-spacing:-.02em}.rc-all-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .18s}.rc-all-row:hover .rc-all-actions{opacity:1}.recurrentes-detect{display:flex;flex-direction:column;gap:var(--space-4)}.recurrentes-detect-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.recurrentes-detect-header h3{margin:0;font-size:var(--text-base)}.recurrentes-detect-header p{margin:0;color:var(--text-low);font-size:var(--text-sm)}.recurrentes-suggestions{display:flex;flex-direction:column}.recurrentes-suggestion-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-1);border-bottom:1px solid var(--border-color-subtle)}.recurrentes-suggestion-row:last-child{border-bottom:none}.recurrentes-suggestion-row>div{display:flex;align-items:center;gap:var(--space-2)}.recurrentes-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--text-xs);background:#6366f11f;color:var(--brand-primary);white-space:nowrap}.recurrentes-pill.muted{background:var(--bg-surface);color:var(--text-low)}.recurrentes-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-8) 0;color:var(--text-low);text-align:center}.recurrentes-empty i{font-size:2.5rem;opacity:.3}@media(max-width:768px){.recurrentes-hero{padding:var(--space-4)!important}.recurrentes-hero-header{flex-direction:column!important;gap:var(--space-3)!important;align-items:stretch!important}.recurrentes-hero-left{justify-content:space-between!important}.recurrentes-hero-actions{justify-content:space-between!important;flex-wrap:wrap!important}.recurrentes-month-btn{min-width:44px!important;min-height:44px!important;justify-content:center!important}.recurrentes-stats-row{gap:var(--space-3)!important}.recurrentes-form{grid-template-columns:1fr!important}.recurrentes-tabs{padding:0 var(--space-3)!important;overflow-x:auto!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}.recurrentes-tabs::-webkit-scrollbar{display:none!important}.recurrentes-tab-body{padding:var(--space-3)!important}.rc-all-toolbar{flex-direction:row!important;justify-content:space-between!important}.rc-all-row{flex-wrap:wrap!important;gap:var(--space-2)!important;padding:var(--space-3)!important}.rc-all-name{font-size:14px!important;min-width:0!important;flex:1!important}.rc-all-badge{position:static!important}.rc-all-amount{text-align:right!important;font-size:15px!important}.rc-all-meta{order:3!important;width:100%!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:var(--space-2)!important}.rc-all-actions{opacity:1!important;width:100%!important;order:4!important;justify-content:flex-end!important;padding-top:var(--space-2)!important;border-top:1px solid rgba(255,255,255,.05)!important}.recurrentes-action-icon{min-height:44px!important;width:44px!important}.recurrentes-detect-header{flex-direction:column!important;align-items:flex-start!important}.recurrentes-detect-header button{width:100%!important}.recurrentes-suggestion-row>div{min-width:0!important}.rc-cell{min-height:64px!important;padding:4px 5px!important}.rc-pill{font-size:9px!important;padding:1px 4px!important}.rc-day-total{font-size:10px!important}.rc-detail-item{flex-wrap:wrap!important;gap:var(--space-2)!important}.rc-detail-actions{width:100%!important;justify-content:flex-end!important}}@media(max-width:480px){.recurrentes-hero,.recurrentes-form-inner{padding:var(--space-3)!important}.recurrentes-form-row{grid-template-columns:1fr!important}.rc-all-date-input,.rc-all-freq-select{width:100%!important;flex:1!important}.rc-cell{min-height:52px!important;padding:3px 4px!important;gap:2px!important}.rc-day-number{font-size:10px!important}.rc-today-badge{display:none!important}.rc-pill{font-size:8px!important;padding:1px 3px!important;gap:2px!important}.rc-pill-dot{width:4px!important;height:4px!important}.rc-pill-overflow{font-size:8px!important}.rc-day-total{font-size:9px!important}.rc-header-cell{font-size:9px!important;padding:4px 0!important}}@media(max-width:480px){.recurrentes-hero-header h1{font-size:var(--text-lg)!important}.recurrentes-month-nav{width:100%!important;justify-content:space-between!important}.recurrentes-toggle-form-btn{min-height:44px!important;width:100%!important;justify-content:center!important}.recurrentes-hero-actions,.recurrentes-stats-row{flex-direction:column!important;gap:var(--space-2)!important}.recurrentes-stat{flex-direction:row!important;justify-content:space-between!important;align-items:baseline!important}.recurrentes-stat-value{font-size:var(--text-base)!important}.recurrentes-form-actions{flex-direction:column-reverse!important}.recurrentes-form-actions button{width:100%!important;min-height:44px!important}.recurrentes-suggestion-row{flex-direction:column!important;align-items:flex-start!important}.recurrentes-suggestion-row .recurrentes-row-actions{width:100%!important;justify-content:space-between!important;margin-top:var(--space-2)!important}.rc-detail-status-tag{font-size:9px!important;padding:2px 4px!important}}@media(hover:none){.rc-all-actions{opacity:1!important}.rc-all-pencil{opacity:.45!important}}.metas-dashboard{display:flex;flex-direction:column;gap:var(--space-5)}.metas-hero{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--bg-panel);border:1px solid var(--border-color-subtle)}.metas-hero-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.metas-hero-left{display:flex;align-items:center}.metas-hero-left h1{margin:0;font-size:var(--text-xl);display:flex;align-items:center;gap:var(--space-2)}.metas-hero-actions{display:flex;align-items:center;gap:var(--space-3)}.metas-toggle-form-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:.5rem 1rem;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.metas-toggle-form-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.metas-form-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,margin .25s ease;margin-top:0}.metas-form-panel.open{max-height:1500px;opacity:1;margin-top:var(--space-4)}.metas-form-inner{padding:var(--space-5);border-radius:var(--radius-lg);background:#00000026;border:1px solid var(--border-color-subtle)}.metas-content-card{padding:var(--space-5)}.metas-section-header{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.metas-section-header h3{display:flex;align-items:center;gap:var(--space-2);margin:0}.metas-section-header p{margin:0;color:var(--text-low);font-size:var(--text-sm)}.metas-form{display:flex;flex-direction:column;gap:var(--space-4)}.metas-form label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-low)}.metas-form input,.metas-form select,.metas-form textarea{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-high);padding:.7rem .85rem;font-family:inherit;font-size:var(--text-sm);resize:vertical}.metas-form textarea{min-height:3rem}.metas-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.metas-alert{margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--status-danger-bg);color:var(--status-danger);font-size:var(--text-sm)}.metas-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.metas-goal-card{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--bg-surface);display:flex;flex-direction:column;gap:var(--space-3)}.metas-goal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.metas-goal-header h4{margin:0;display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-base);flex:1;line-height:1.3}.metas-goal-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metas-progress-container{display:flex;flex-direction:column;gap:var(--space-1)}.metas-progress-bar{height:8px;border-radius:4px;background:#ffffff1a;overflow:hidden}[data-theme=light] .metas-progress-bar{background:#00000014}@media(prefers-color-scheme:light){[data-theme=auto] .metas-progress-bar{background:#00000014}}.metas-progress-fill{height:100%;border-radius:4px;transition:width .6s ease,background-color .6s ease}.metas-goal-card.completed .metas-progress-fill{background:var(--status-success)!important}.metas-goal-card.completed{opacity:.85}.metas-goal-card.completed .metas-goal-name{color:var(--text-low)}.metas-goal-completed-action{width:100%}.metas-goal-completed-action button{width:100%!important;justify-content:center}.metas-progress-labels{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-low);font-variant-numeric:tabular-nums}.metas-goal-amounts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.metas-goal-amounts>div{display:flex;flex-direction:column;gap:var(--space-1)}.metas-table-container{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-color-subtle);overflow-x:auto}.metas-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.metas-table th{padding:var(--space-3) var(--space-4);font-weight:600;color:var(--text-low);border-bottom:2px solid var(--border-color-subtle);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;white-space:nowrap}.metas-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color-subtle);vertical-align:middle}.metas-table tr:last-child td{border-bottom:none}.metas-table tr:hover{background:#ffffff05}.metas-table .text-right{text-align:right}.metas-table-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.metas-goal-amounts span{color:var(--text-low);font-size:var(--text-xs)}.metas-goal-amounts strong{color:var(--text-high)}.metas-goal-meta{display:flex;flex-direction:column;gap:var(--space-2)}.metas-meta-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:500;background:#3b82f61a;color:#60a5fa;width:fit-content}.metas-goal-notes{margin:0;font-size:var(--text-xs);color:var(--text-low);line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.metas-goal-actions{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-color-subtle)}.metas-goal-actions .btn{flex:1;font-size:var(--text-xs)}.metas-transfer-form{display:flex;gap:var(--space-3);align-items:flex-end;padding:var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle)}.metas-transfer-form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-low);flex:1}.metas-transfer-form input{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-high);padding:.5rem;font-size:var(--text-sm)}.metas-debt-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-4);margin-top:var(--space-4)}.metas-debt-kpi{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--bg-surface);display:flex;flex-direction:column;gap:var(--space-2);text-align:center;min-width:0;font-variant-numeric:tabular-nums}.metas-debt-kpi span{color:var(--text-low);font-size:var(--text-sm)}.metas-debt-kpi strong{font-size:var(--text-xl);color:var(--status-danger)}.metas-debt-buckets{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-5)}.metas-debt-bucket{display:flex;flex-direction:column;gap:var(--space-2)}.metas-card-bucket-badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem;border-radius:var(--radius-sm);font-size:var(--text-lg);background:#ffffff0d}.metas-debt-bucket-total{font-size:var(--text-sm);color:var(--text-low);font-weight:500}.metas-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.2rem;padding:0 .35rem;border-radius:999px;font-size:.65rem;font-weight:700;background:var(--status-danger);color:#fff;margin-left:.35rem}.metas-simulator{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.metas-simulator-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.metas-simulator-controls label{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-low)}.metas-simulator-controls input,.metas-simulator-controls select{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-high);padding:.7rem .85rem}.metas-projection{border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:var(--space-4);background:var(--bg-surface)}.metas-projection h4{margin:0 0 var(--space-3) 0;display:flex;align-items:center;gap:var(--space-2);color:var(--text-high)}.metas-projection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.metas-projection-grid>div{display:flex;flex-direction:column;gap:var(--space-1)}.metas-projection-grid span{color:var(--text-low);font-size:var(--text-xs)}.metas-projection-grid strong{color:var(--text-high);font-size:var(--text-base)}.metas-recent-transfers{margin-top:var(--space-4);border-top:1px solid var(--border-color-subtle);padding-top:var(--space-3)}.metas-recent-transfers h5{margin:0 0 var(--space-2) 0;font-size:var(--text-sm);color:var(--text-low)}.metas-recent-transfers ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.metas-recent-transfers li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.metas-recent-transfers li span{color:var(--text-low);font-size:var(--text-xs);min-width:6rem}.metas-recent-transfers li strong{color:var(--text-high)}.metas-recent-transfers li small{color:var(--text-low);font-size:var(--text-xs);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metas-controls-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6);margin-bottom:var(--space-4)}.metas-sort-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.metas-view-controls{display:flex;gap:var(--space-2)}.metas-form-select{padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-color-subtle);color:var(--text-high);font-size:var(--text-sm)}@media(max-width:1024px){.metas-simulator-controls{grid-template-columns:1fr}}@media(max-width:768px){.metas-form-row,.metas-cards{grid-template-columns:1fr}.metas-goal-actions{flex-direction:column}.metas-projection-grid{grid-template-columns:1fr}.metas-debt-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.metas-debt-kpi strong{font-size:var(--text-lg)}}@media(max-width:640px){.metas-controls-bar{flex-direction:column;align-items:stretch}.metas-sort-controls,.metas-view-controls{justify-content:space-between}.metas-form-select{flex:1;min-width:0}.metas-recon-card{flex-direction:column;align-items:stretch}.metas-recon-actions{width:100%}.metas-recon-actions button{flex:1 1 0;justify-content:center;min-height:44px}}@media(max-width:480px){.metas-hero-header{flex-wrap:wrap}.metas-transfer-form{flex-direction:column;align-items:stretch}.metas-goal-amounts,.metas-debt-summary{grid-template-columns:1fr}.metas-goal-header{flex-direction:column;align-items:flex-start}}.metas-recon-panel{margin-bottom:var(--space-4)}.metas-recon-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.metas-recon-header h4{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--text-high);margin:0}.metas-recon-count{font-size:var(--text-xs);color:var(--text-low);background:var(--bg-surface);border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);padding:2px var(--space-2)}.metas-recon-hint{font-size:var(--text-sm);color:var(--text-low);margin:0 0 var(--space-3)}.metas-recon-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.metas-recon-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md)}.metas-recon-info{min-width:0;flex:1}.metas-recon-line{display:flex;align-items:center;gap:var(--space-2)}.metas-recon-line strong{font-size:var(--text-lg);color:var(--text-high)}.metas-recon-badge{font-size:var(--text-xs);padding:1px var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color-subtle);color:var(--text-low)}.metas-recon-badge.exact{color:var(--status-success);border-color:var(--status-success)}.metas-recon-badge.probable{color:var(--brand-primary);border-color:var(--brand-primary)}.metas-recon-desc{font-size:var(--text-sm);color:var(--text-base);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metas-recon-meta{display:flex;flex-wrap:wrap;min-width:0;gap:var(--space-3);font-size:var(--text-xs);color:var(--text-low);margin-top:2px}.metas-recon-arrow{display:inline-flex;align-items:center;gap:2px;min-width:0}.metas-recon-goal{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metas-recon-actions{display:flex;gap:var(--space-2);flex-shrink:0}.metas-recon-empty{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--text-sm);color:var(--text-low);background:var(--bg-surface);border:1px dashed var(--border-color-subtle);border-radius:var(--radius-md)}.metas-transfer-candidates{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);width:100%;margin-bottom:var(--space-2)}.metas-transfer-candidates-label{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-low);width:100%}.metas-transfer-candidate{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:var(--space-2);background:var(--bg-surface);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-base)}.metas-transfer-candidate:hover{background:var(--bg-panel)}.metas-transfer-candidate:disabled{opacity:.5;cursor:default}.metas-transfer-candidate strong{font-size:var(--text-sm);color:var(--text-high)}.metas-transfer-candidate span,.metas-transfer-candidate small{font-size:var(--text-xs);color:var(--text-low)}.metas-transfer-unlink{background:transparent;border:none;color:var(--text-low);cursor:pointer;padding:0 var(--space-1)}.metas-transfer-unlink:hover{color:var(--status-danger)}.reportes-dashboard{display:flex;flex-direction:column;gap:var(--space-5);min-width:0;width:100%}.reportes-period-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0}.reportes-presets{display:flex;gap:var(--space-1);background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:3px}.reportes-preset-btn{background:transparent;border:none;padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-xs);font-weight:600;color:var(--text-low);cursor:pointer;transition:all .2s ease;letter-spacing:.02em}.reportes-preset-btn:hover{color:var(--text-base);background:#ffffff0f}.reportes-preset-btn.active{color:var(--text-high);background:#6c63ff33;box-shadow:0 0 8px #6c63ff1a}.reportes-month-nav{display:flex;align-items:center;gap:var(--space-3)}.reportes-month-nav button{background:var(--bg-panel);border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-base);cursor:pointer;transition:var(--transition)}.reportes-month-nav button:hover:not(:disabled){border-color:var(--brand-primary);color:var(--brand-primary)}.reportes-month-nav button:disabled,.reportes-month-nav button.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.reportes-month-label{font-weight:600;font-size:var(--text-base);color:var(--text-high);min-width:120px;text-align:center;white-space:nowrap}.reportes-breakdown{padding:var(--space-5);min-width:0;width:100%;box-sizing:border-box}.reportes-breakdown h3{margin:0 0 var(--space-4) 0;display:flex;align-items:center;gap:var(--space-2)}.reportes-breakdown-header{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-3);background:#ffffff08;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.reportes-breakdown-header-label{font-size:var(--text-sm);color:var(--text-low);flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reportes-breakdown-header-amount{font-size:var(--text-lg);font-weight:700}.reportes-breakdown-header-sub{font-size:var(--text-xs);color:var(--text-low)}.reportes-export-btn{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto;padding:4px 10px;border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);background:transparent;color:var(--text-low);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.02em;white-space:nowrap}.reportes-export-btn:hover{color:var(--text-high);border-color:#6c63ff80;background:#6c63ff14}.reportes-category-list{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;width:100%}.reportes-category-group{display:flex;flex-direction:column;border-radius:var(--radius-md);overflow:visible;border:1px solid var(--border-color-subtle);margin-bottom:var(--space-2);min-width:0;width:100%;box-sizing:border-box}.reportes-category-group:last-child{margin-bottom:0}.reportes-category-group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border-color-subtle);min-width:0;width:100%;box-sizing:border-box}.reportes-category-group-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.reportes-category-group-label{font-size:var(--text-sm);font-weight:700;color:var(--text-high);flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reportes-category-group-pct{font-size:var(--text-xs);font-weight:600;color:var(--text-low);background:#ffffff0f;border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);padding:.1rem .4rem;white-space:nowrap;margin-right:var(--space-1)}.reportes-category-group-total{font-size:var(--text-sm);font-weight:700;color:var(--text-high);text-align:right;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.reportes-category-row{display:grid;grid-template-columns:18px 1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color-subtle);width:100%;box-sizing:border-box;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left;cursor:pointer;transition:background .15s ease}.reportes-category-row:hover{background:#ffffff0a}.reportes-category-row.is-expanded{background:#ffffff0d;border-bottom:none}.reportes-category-row-chevron{color:var(--text-low);font-size:14px;display:flex;align-items:center;justify-content:center;transition:color .15s ease}.reportes-category-row:hover .reportes-category-row-chevron{color:var(--text-base)}.reportes-drilldown{background:linear-gradient(135deg,#00000047,#0000002e);border-bottom:1px solid rgba(255,255,255,.06);border-left:3px solid rgba(108,99,255,.35);padding:var(--space-3) var(--space-4);margin-left:var(--space-2);border-radius:0 0 var(--radius-md) var(--radius-md);animation:drilldown-open .25s cubic-bezier(.16,1,.3,1);box-shadow:inset 0 2px 8px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes drilldown-open{0%{opacity:0;transform:translateY(-6px);max-height:0}to{opacity:1;transform:translateY(0);max-height:800px}}.reportes-drilldown-loading{display:flex;align-items:center;gap:var(--space-3);color:var(--text-low);font-size:var(--text-xs);padding:var(--space-3) 0;letter-spacing:.02em}.reportes-drilldown-empty{color:var(--text-low);font-size:var(--text-xs);padding:var(--space-3) 0;margin:0;font-style:italic;opacity:.8}.reportes-drilldown-header{display:grid;grid-template-columns:24px 56px 1fr 170px 90px 40px;gap:var(--space-3);padding:var(--space-2);background:var(--bg-panel);border-bottom:1px solid var(--border-color-subtle);font-size:var(--text-xs);font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.reportes-drilldown-header span:nth-child(5){text-align:right}.reportes-drilldown-row{display:grid;grid-template-columns:24px 56px 1fr 170px 90px 40px;gap:var(--space-3);padding:6px var(--space-2);align-items:center;border-radius:var(--radius-sm);transition:background .15s ease}.reportes-drilldown-row:nth-child(2n){background:#ffffff05}.reportes-drilldown-row:hover{background:#ffffff0d}.reportes-drilldown-date{font-size:var(--text-xs);color:var(--text-low);white-space:nowrap;font-variant-numeric:tabular-nums}.reportes-drilldown-desc{font-size:var(--text-xs);color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.reportes-drilldown-amount{font-size:var(--text-xs);font-weight:600;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.reportes-drilldown-amount.withdrawal{color:var(--text-high)}.reportes-drilldown-amount.deposit{color:var(--status-success)}.reportes-drilldown-cat{display:flex;align-items:center;min-width:0}.drilldown-cat-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;line-height:1;color:var(--text-base);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:4px 10px;cursor:pointer;transition:all .2s ease;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.drilldown-cat-chip:hover{background:#6c63ff26;border-color:#6c63ff66;box-shadow:0 0 8px #6c63ff1f}.drilldown-cat-chip .ri-pencil-line{font-size:10px;opacity:0;flex-shrink:0;transition:opacity .15s}.drilldown-cat-chip:hover .ri-pencil-line{opacity:.7}.drilldown-cat-chip.uncategorized{color:var(--status-warning, #f59e0b);border-color:#f59e0b40;background:#f59e0b0f}.drilldown-cat-chip.uncategorized:hover{background:#f59e0b1f;border-color:#f59e0b73;box-shadow:0 0 8px #f59e0b1a}.drilldown-cat-chip.uncategorized .ri-error-warning-fill{font-size:11px;margin-right:1px}.drilldown-cat-chip.updating{cursor:default;opacity:.55;pointer-events:none}.drilldown-cat-select{font-size:11px;line-height:1.3;background:var(--bg-panel);color:var(--text-base);border:1px solid var(--brand-primary);border-radius:20px;padding:4px 10px;max-width:160px;cursor:pointer;box-shadow:0 0 12px #6c63ff33;outline:none;animation:select-pop .15s ease}@keyframes select-pop{0%{transform:scale(.95);opacity:.7}to{transform:scale(1);opacity:1}}.drilldown-cat-select:focus{box-shadow:0 0 0 2px #6c63ff40,0 0 12px #6c63ff33}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .7s linear infinite;color:var(--brand-primary)}.reportes-drilldown-row.updating{opacity:.5;pointer-events:none}.reportes-breakdown .bulk-action-bar>div{flex-wrap:wrap}.reportes-category-name{font-size:var(--text-sm);font-weight:500;color:var(--text-base);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reportes-category-bar-wrap{width:100px;height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.reportes-category-bar{height:100%;border-radius:3px;transition:width .5s ease}.reportes-category-amount{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.reportes-comparison{margin-top:var(--space-4);overflow-x:auto;-webkit-overflow-scrolling:touch}.reportes-comparison h3{position:sticky;left:0;min-width:max-content}.reportes-comparison-header{display:flex;align-items:center;padding:0;background:var(--bg-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;border:1px solid var(--border-color-subtle);font-weight:600;font-size:var(--text-sm);color:var(--text-low);min-width:max-content}.reportes-comparison-row{display:flex;align-items:center;padding:0;border:1px solid var(--border-color-subtle);border-top:none;min-width:max-content}.reportes-comparison-row:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.reportes-comparison-header>span,.reportes-comparison-row>span,.reportes-comparison-row>strong{flex:0 0 auto;min-width:120px;padding:var(--space-3) var(--space-3);white-space:nowrap}.reportes-comparison-header>span:first-child,.reportes-comparison-row>span:first-child,.reportes-comparison-row>strong:first-child{position:sticky;left:0;z-index:2;flex:0 0 140px;min-width:140px;background:var(--bg-panel);border-right:1px solid var(--border-color-subtle);box-shadow:4px 0 8px #00000040;overflow:hidden;text-overflow:ellipsis}.reportes-comparison-header>span:first-child{background:var(--bg-surface)}.reportes-comparison-header>span:last-child,.reportes-comparison-row>span:last-child{flex:0 0 80px;min-width:80px;text-align:right}.reportes-compare-cell{display:flex;flex-direction:column;gap:1px}.reportes-compare-value{font-variant-numeric:tabular-nums}.reportes-compare-delta{font-size:.7rem;font-weight:500;opacity:.85}.reportes-delta{font-weight:600;font-size:.8rem;white-space:nowrap}.reportes-delta.positive,.reportes-compare-delta.positive{color:var(--status-success)}.reportes-delta.negative,.reportes-compare-delta.negative{color:var(--status-danger)}.reportes-delta.neutral,.reportes-compare-delta.neutral{color:var(--text-low)}.reportes-distribucion{padding:var(--space-2) 0}.reportes-donut-body{display:grid;grid-template-columns:240px 1fr;gap:var(--space-5);align-items:center;min-height:240px;min-width:0}.reportes-donut-canvas-wrap{width:240px;height:240px;position:relative}.reportes-donut-legend{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;width:100%}.reportes-donut-legend-group{display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;transition:background .15s ease}.reportes-donut-legend-item{display:grid;grid-template-columns:10px 1fr auto auto auto;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);width:100%;min-width:0;box-sizing:border-box;background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background .15s ease}.reportes-donut-legend-item:hover,.reportes-donut-legend-item.is-hovered{background:#ffffff0f}.reportes-donut-legend-item.is-adjustment{cursor:default;opacity:.75}.reportes-donut-legend-item.is-adjustment:hover{background:transparent}.reportes-donut-legend-chevron{color:var(--text-low);font-size:14px;display:flex;align-items:center;transition:color .15s ease}.reportes-donut-legend-item:hover .reportes-donut-legend-chevron{color:var(--text-base)}.reportes-donut-detail{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3) var(--space-3);background:#0000002e;border-left:3px solid rgba(108,99,255,.25);margin-left:var(--space-2);border-radius:0 0 var(--radius-sm) var(--radius-sm);animation:drilldown-open .2s cubic-bezier(.16,1,.3,1)}.reportes-donut-detail-row{display:grid;grid-template-columns:60px 1fr auto auto;gap:var(--space-3);align-items:center;padding:4px var(--space-2);border-radius:var(--radius-sm);transition:background .15s ease}.reportes-donut-detail-row:hover{background:#ffffff0a}.reportes-donut-detail-bar-wrap{height:4px;border-radius:2px;background:#ffffff0f;overflow:hidden;display:block}.reportes-donut-detail-bar{display:block;height:100%;border-radius:2px;transition:width .4s ease}.reportes-donut-detail-name{font-size:var(--text-xs);color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reportes-donut-detail-pct{font-size:var(--text-xs);color:var(--text-low);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.reportes-donut-detail-amount{font-size:var(--text-xs);font-weight:600;color:var(--text-high);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:70px}.reportes-donut-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.reportes-donut-legend-label{font-size:var(--text-sm);color:var(--text-base);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.reportes-donut-legend-value{font-size:var(--text-sm);font-weight:600;color:var(--text-high);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.reportes-donut-legend-pct{font-size:var(--text-xs);color:var(--text-low);font-weight:600;min-width:40px;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:1024px){.reportes-donut-body{grid-template-columns:1fr;justify-items:center}.reportes-donut-legend{width:100%}}@media(max-width:768px){.reportes-category-row{grid-template-columns:1fr auto}.reportes-category-bar-wrap,.reportes-category-row-chevron{display:none}.reportes-period-controls{flex-direction:column;align-items:stretch;gap:var(--space-3)}.reportes-preset-btn{flex:1 1 0;min-height:44px}.reportes-month-nav{justify-content:space-between}.reportes-month-nav button{min-width:44px;min-height:44px}.reportes-month-label{flex:1}.reportes-export-btn,.reportes-category-row{min-height:44px}.reportes-donut-canvas-wrap{width:200px;height:200px}.reportes-donut-legend-item{grid-template-columns:10px 1fr auto auto;gap:var(--space-2);padding:var(--space-2);min-height:44px}.reportes-drilldown-row .transaction-cat-chip{min-height:44px}.reportes-donut-legend-chevron{display:none}.reportes-donut-detail-row{grid-template-columns:1fr auto;gap:var(--space-2)}.reportes-donut-detail-bar-wrap,.reportes-donut-detail-pct{display:none}}@media(max-width:640px){.card.reportes-breakdown{padding:var(--space-3);border-radius:var(--radius-md)}.reportes-drilldown-header,.reportes-drilldown-row{grid-template-columns:20px 48px 1fr 76px 32px;gap:var(--space-2)}.reportes-drilldown-header>span:nth-child(4),.reportes-drilldown-cat{display:none}.reportes-drilldown{padding:var(--space-2) var(--space-3);margin-left:0}.reportes-month-label{min-width:100px;font-size:var(--text-sm)}.reportes-presets{flex-wrap:wrap}.reportes-category-group-header{flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2)}.reportes-category-group-label{flex:1 1 auto;min-width:0}.reportes-category-group-total{font-size:var(--text-xs)}.reportes-category-row{grid-template-columns:1fr auto;padding:var(--space-2);gap:var(--space-2)}.reportes-category-amount{min-width:auto;font-size:var(--text-sm)}.reportes-breakdown-header{flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.reportes-breakdown-header-amount{font-size:var(--text-base)}.reportes-export-btn{align-self:flex-end}.reportes-donut-legend-value{font-size:var(--text-xs)}}@media(max-width:480px){.reportes-dashboard{gap:var(--space-2)}.card.reportes-breakdown{padding:var(--space-2);border-radius:var(--radius-sm)}.reportes-month-nav button{padding:var(--space-1) var(--space-2)}.reportes-month-nav{gap:var(--space-2)}.reportes-month-label{min-width:70px;font-size:.78rem}.reportes-category-group-header{padding:var(--space-1) var(--space-2)}.reportes-category-group-pct{font-size:.65rem;padding:.05rem .3rem}.reportes-category-group-total{font-size:.75rem}.reportes-category-row{padding:var(--space-1) var(--space-2)}.reportes-category-name,.reportes-category-amount{font-size:var(--text-xs)}.reportes-donut-canvas-wrap{width:160px;height:160px}.reportes-donut-legend-item{grid-template-columns:8px 1fr auto;gap:var(--space-1);padding:6px var(--space-2)}.reportes-donut-legend-pct{display:none}.reportes-donut-legend-dot{width:8px;height:8px}.reportes-donut-legend-label,.reportes-donut-legend-value{font-size:var(--text-xs)}.reportes-drilldown-date{font-size:.65rem}.reportes-drilldown-desc,.reportes-drilldown-amount{font-size:.7rem}.reportes-breakdown-header{padding:var(--space-2)}.reportes-breakdown-header-label{font-size:var(--text-xs)}.reportes-breakdown-header-amount{font-size:var(--text-sm)}.reportes-breakdown-header-sub{font-size:.65rem}.reportes-comparison-header>span,.reportes-comparison-row>span,.reportes-comparison-row>strong{flex:0 0 auto;min-width:90px;padding:var(--space-2);font-size:var(--text-xs)}.reportes-comparison-header>span:first-child,.reportes-comparison-row>span:first-child,.reportes-comparison-row>strong:first-child{flex:0 0 110px;min-width:110px}.reportes-donut-detail-amount{min-width:auto;font-size:.7rem}.reportes-donut-detail-name{font-size:.7rem}}.hogar-settlement-form,.hogar-split-form{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:.75rem}.hogar-form-row{display:flex;flex-direction:column;gap:.25rem}.hogar-form-row label{font-size:.75rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em}.hogar-form-row input,.hogar-form-row select{padding:.55rem .75rem;border:1px solid var(--border-color-subtle);border-radius:.5rem;background:var(--bg-app);color:var(--text-high);font-size:.85rem;outline:none;transition:border-color .2s ease}.hogar-form-row input:focus,.hogar-form-row select:focus{border-color:var(--brand-primary)}.hogar-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.hogar-form-cancel,.hogar-form-save{font-size:.82rem}.hogar-form-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--status-danger-bg);border:1px solid rgba(255,70,70,.25);border-radius:8px;color:var(--status-danger);font-size:.83rem;margin-bottom:.75rem}@media(max-width:640px){.hogar-form-actions{flex-direction:column-reverse}.hogar-form-actions .btn{justify-content:center;width:100%;min-height:44px}.hogar-form-row input,.hogar-form-row select{min-height:44px}}.hogar-onboarding{max-width:480px;margin:1rem auto;display:flex;flex-direction:column;gap:1.5rem}.hogar-onboarding-hero{text-align:center;padding:2rem 1rem 1rem}.hogar-onboarding-icon{width:4rem;height:4rem;margin:0 auto 1rem;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-on-brand);box-shadow:0 6px 24px #7c5cfc59;animation:onboarding-pulse 2.5s ease-in-out infinite}.hogar-onboarding-icon-success{background:linear-gradient(135deg,var(--status-success),color-mix(in srgb,var(--status-success) 70%,white));box-shadow:0 6px 24px #10ac8459}@keyframes onboarding-pulse{0%,to{transform:scale(1);box-shadow:0 6px 24px #7c5cfc59}50%{transform:scale(1.06);box-shadow:0 8px 32px #7c5cfc80}}.hogar-onboarding-title{font-size:1.3rem;font-weight:800;color:var(--text-high);margin:0 0 .35rem}.hogar-onboarding-subtitle{font-size:.88rem;color:var(--text-low);line-height:1.5;max-width:360px;margin:0 auto}.hogar-onboarding-features{display:flex;flex-direction:column;gap:.65rem}.hogar-onboarding-feature{display:flex;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:.75rem;transition:border-color .2s ease}.hogar-onboarding-feature:hover{border-color:#7c5cfc40}.hogar-onboarding-feature>i{font-size:1.3rem;color:var(--brand-primary);flex-shrink:0;margin-top:.05rem}.hogar-onboarding-feature>div{display:flex;flex-direction:column;gap:.15rem}.hogar-onboarding-feature strong{font-size:.88rem;font-weight:700;color:var(--text-high)}.hogar-onboarding-feature span{font-size:.78rem;color:var(--text-low);line-height:1.4}.hogar-onboarding-cta{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.625rem;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));color:var(--text-on-brand);font-size:.92rem;font-weight:700;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px #7c5cfc59}.hogar-onboarding-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #7c5cfc80}.hogar-onboarding-cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.hogar-onboarding-step-header{text-align:center;padding-top:1rem}.hogar-onboarding-step-badge{display:inline-block;font-size:.68rem;font-weight:700;padding:.2rem .6rem;border-radius:1rem;background:#7c5cfc26;color:var(--brand-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.hogar-onboarding-step-title{font-size:1.1rem;font-weight:700;color:var(--text-high);margin:0 0 .25rem;display:flex;align-items:center;justify-content:center;gap:.4rem}.hogar-onboarding-step-desc{font-size:.82rem;color:var(--text-low);margin:0;line-height:1.4}.hogar-onboarding-form{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:.75rem}.hogar-onboarding-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.hogar-onboarding-error{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--status-danger);padding:.5rem .65rem;background:var(--status-danger-bg);border-radius:.4rem}.hogar-onboarding-success{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--status-success);padding:.5rem .65rem;background:var(--status-success-bg);border-radius:.4rem;font-weight:600}@media(max-width:640px){.hogar-onboarding-actions{flex-direction:column-reverse;gap:var(--space-2, .5rem)}.hogar-onboarding-actions .btn,.hogar-onboarding-actions .hogar-onboarding-cta{width:100%;justify-content:center;min-height:44px}}@media(max-width:480px){.hogar-onboarding-hero{padding:1.25rem .5rem .5rem}.hogar-onboarding-cta{min-height:44px}}.split-editor{display:flex;flex-direction:column;gap:.6rem;padding:.75rem .85rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-top:none;border-bottom-left-radius:.625rem;border-bottom-right-radius:.625rem}.split-editor-types{display:flex;gap:.3rem}.split-editor-type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.5rem .4rem;border:1px solid var(--border-color-subtle);border-radius:.5rem;background:transparent;color:var(--text-low);font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s ease}.split-editor-type-btn:hover{background:var(--bg-hover);color:var(--text-high)}.split-editor-type-btn.active{background:#7c5cfc1a;border-color:var(--brand-primary);color:var(--brand-primary)}.split-editor-type-btn i{font-size:.9rem}.split-editor-input-row{display:flex;flex-direction:column;gap:.25rem}.split-editor-input-row label{font-size:.72rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.04em}.split-editor-input-wrap{display:flex;align-items:center;gap:.4rem}.split-editor-input-wrap input{flex:1;padding:.45rem .65rem;border:1px solid var(--border-color-subtle);border-radius:.4rem;background:var(--bg-surface);color:var(--text-high);font-size:.88rem;font-weight:600;outline:none;transition:border-color .2s ease;font-variant-numeric:tabular-nums}.split-editor-input-wrap input:focus{border-color:var(--brand-primary)}.split-editor-unit{font-size:.85rem;font-weight:700;color:var(--text-low);width:1.5rem}.split-editor-preview{font-size:.72rem;color:var(--text-low);font-variant-numeric:tabular-nums;line-height:1.4}.split-editor-actions{display:flex;justify-content:flex-end;gap:.4rem}.split-editor-cancel{font-size:.78rem}.split-editor-save{gap:.3rem;font-size:.78rem}.split-editor-error{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--status-danger-bg);border:1px solid rgba(255,71,87,.3);border-radius:6px;color:var(--status-danger);font-size:.8rem;margin-top:.25rem}.split-editor-error i{font-size:.9rem;flex-shrink:0}@media(max-width:640px){.split-editor-types{flex-wrap:wrap}.split-editor-type-btn{min-height:44px;flex:1 1 30%}.split-editor-input-wrap input{min-height:44px}.split-editor-actions{gap:var(--space-2, .5rem)}.split-editor-cancel,.split-editor-save{min-height:44px}}@media(max-width:480px){.split-editor-type-btn{flex:1 1 100%;justify-content:flex-start;padding-left:var(--space-3, .75rem)}}.hogar-category-selector{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-color-subtle);padding:var(--space-4, 1rem);margin-top:.75rem;display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.hogar-category-header{display:flex;gap:.5rem;align-items:center}.hogar-category-search{flex:1;min-width:0;background:var(--bg-app);border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);padding:.5rem .75rem;color:var(--text-high);font-size:.9rem}.hogar-category-search:focus{outline:none;border-color:var(--brand-primary)}.hogar-category-close{background:transparent;border:none;color:var(--text-low);font-size:1.2rem;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.hogar-category-close:hover{color:var(--text-high);background:var(--bg-hover)}.hogar-category-list{max-height:250px;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.hogar-category-list::-webkit-scrollbar{width:6px}.hogar-category-list::-webkit-scrollbar-thumb{background:var(--border-color-subtle);border-radius:4px}.hogar-category-group{display:flex;flex-direction:column;gap:.5rem}.hogar-category-group-name{font-size:.8rem;font-weight:600;color:var(--text-low);text-transform:uppercase;letter-spacing:.05em;padding-bottom:.25rem;border-bottom:1px solid rgba(255,255,255,.05)}.hogar-category-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.hogar-category-item{background:var(--bg-surface);border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm);padding:.5rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;text-align:left;transition:all .2s ease}.hogar-category-item:hover:not(:disabled){border-color:var(--border-color-strong);transform:translateY(-1px);background:var(--bg-hover)}.hogar-category-item.active{border-color:var(--brand-primary);background:#8b5cf61f;box-shadow:0 0 0 1px var(--brand-primary)}.hogar-category-item:disabled{opacity:.6;cursor:not-allowed}.hogar-category-emoji{font-size:1.1rem}.hogar-category-name{font-size:.85rem;color:var(--text-high);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis}.hogar-category-empty{color:var(--text-low);font-size:.9rem;text-align:center;padding:1rem}.hogar-category-error{color:var(--status-danger);font-size:.9rem;padding:.5rem;background:var(--status-danger-bg);border-radius:var(--radius-sm)}.hogar-category-clear{background:transparent;border:1px dashed var(--border-color-subtle);color:var(--text-low);padding:.5rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease}.hogar-category-clear:hover:not(:disabled){color:var(--status-danger);border-color:var(--status-danger);background:var(--status-danger-bg)}.hogar-category-clear:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.hogar-category-search{min-height:44px}.hogar-category-close{width:44px;height:44px;padding:0}.hogar-category-item{min-height:44px;padding:.6rem .65rem}.hogar-category-clear{min-height:44px}}.hogar-members-section{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6)}.hogar-members-list{display:flex;flex-direction:column;gap:var(--space-2)}.hogar-member-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-color-subtle)}.hogar-member-identity{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 12rem}.hogar-member-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:var(--radius-full);background:var(--brand-alpha);color:var(--brand-primary);font-weight:700;font-size:var(--text-sm)}.hogar-member-name-display,.hogar-member-name-edit,.hogar-member-split-display,.hogar-member-split-edit{display:flex;align-items:center;gap:var(--space-2);min-width:0}.hogar-member-name{font-weight:600;color:var(--text-high);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hogar-member-role{padding:.1rem var(--space-2);border-radius:var(--radius-full);background:var(--brand-alpha);color:var(--brand-primary);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.hogar-member-split{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex:0 0 auto}.hogar-member-pct{font-weight:700;color:var(--text-high);font-variant-numeric:tabular-nums}.hogar-member-pct-preview{display:inline-flex;align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;color:var(--brand-primary)}.hogar-member-pct-preview .hogar-member-pct-old{color:var(--text-low);text-decoration:line-through}.hogar-member-pct-sign{color:var(--text-low);font-size:var(--text-sm)}.hogar-members-preview-hint{margin:0;color:var(--text-low);font-size:var(--text-sm)}.hogar-member-input{min-width:0;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-color-subtle);background:var(--bg-panel);color:var(--text-base);font-size:var(--text-sm);font-family:inherit}.hogar-member-input:focus{outline:none;border-color:var(--brand-primary)}.hogar-member-input--pct{width:5.5rem;text-align:right;font-variant-numeric:tabular-nums}.hogar-member-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-low);cursor:pointer;transition:var(--transition)}.hogar-member-edit-btn:hover{background:var(--bg-hover);color:var(--brand-primary)}.hogar-member-invite-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2)}.hogar-member-invite-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border-color-subtle)}@media(max-width:480px){.hogar-member-row{align-items:flex-start;flex-direction:column}.hogar-member-split{justify-content:flex-start;width:100%}}.hogar-dashboard{max-width:none;width:100%;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem}.hogar-page-header{display:flex;align-items:center;gap:.75rem}.hogar-page-title{font-size:1.2rem;font-weight:700;color:var(--text-high);display:flex;align-items:center;gap:.5rem;margin:0;flex:1}.hogar-page-title i{color:var(--brand-primary);font-size:1.4rem}.hogar-header-spinner{font-size:1.1rem;color:var(--brand-primary)}.hogar-controls-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.hogar-period-bar{display:flex;gap:.25rem;padding:.2rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:.625rem;width:fit-content}.hogar-preset-btn{padding:.35rem .75rem;border:none;border-radius:.4rem;background:transparent;color:var(--text-low);font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .18s ease;white-space:nowrap}.hogar-preset-btn:hover{color:var(--text-high);background:var(--bg-hover)}.hogar-preset-btn.active{background:var(--brand-primary);color:var(--text-on-brand);box-shadow:0 2px 8px #7c5cfc59}.hogar-month-nav{display:flex;align-items:center;gap:.25rem;padding:.2rem .35rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);border-radius:.625rem}.hogar-month-label{font-size:.82rem;font-weight:600;color:var(--text-high);padding:.15rem .5rem;white-space:nowrap}.hogar-nav-btn{display:flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border:none;border-radius:.35rem;background:transparent;color:var(--text-low);cursor:pointer;transition:all .18s ease;font-size:1rem;flex-shrink:0}.hogar-nav-btn:hover:not(:disabled){background:#7c5cfc26;color:var(--brand-primary)}.hogar-nav-btn:disabled{opacity:.25;cursor:not-allowed}.hogar-tabs{display:flex;gap:.25rem;background:var(--bg-elevated);border-radius:.75rem;padding:.25rem}.hogar-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.6rem .5rem;border:none;border-radius:.5rem;background:transparent;color:var(--text-low);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .2s ease}.hogar-tab:hover{color:var(--text-high);background:var(--bg-hover)}.hogar-tab.active{background:var(--brand-primary);color:var(--text-on-brand);font-weight:600}.hogar-tab i{font-size:1rem}.hogar-tab-content{display:flex;flex-direction:column;gap:1.25rem}.hogar-section-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;color:var(--text-high);margin:0}.hogar-section-title i{color:var(--brand-primary);font-size:1.1rem}.hogar-section-title--secondary{margin-top:.5rem}.hogar-empty{padding:1.5rem 1rem;text-align:center;color:var(--text-low);font-size:.85rem;line-height:1.5}.hogar-empty-hint{font-size:.78rem;margin-top:.5rem;opacity:.7}@media(max-width:768px){.hogar-tab{min-height:44px}.hogar-nav-btn,.hogar-add-split-btn{width:2.75rem;height:2.75rem}.hogar-preset-btn{min-height:2.75rem}}@media(max-width:640px){.hogar-dashboard{padding:var(--space-4) var(--space-3);gap:var(--space-4)}.hogar-controls-row{gap:var(--space-2)}.hogar-page-title{font-size:1rem}}@media(max-width:480px){.hogar-tab span{display:none}.hogar-tab i{font-size:1.2rem}}.hogar-add-split-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:1px solid var(--border-color-subtle);border-radius:50%;background:transparent;color:var(--brand-primary);font-size:1rem;cursor:pointer;transition:all .2s ease}.hogar-add-split-btn:hover{background:var(--brand-primary);color:var(--text-on-brand);border-color:var(--brand-primary)}.hogar-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-3);background:linear-gradient(135deg,#7c5cfc14,#7c5cfc08);border:1px solid rgba(124,92,252,.15);border-radius:var(--radius-lg);padding:var(--space-3)}.hogar-summary-kpi{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);min-width:0}.hogar-summary-kpi-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--radius-md);background:var(--bg-elevated);font-size:1.25rem}.hogar-summary-kpi-body{display:flex;flex-direction:column;gap:.15rem;min-width:0}.hogar-summary-kpi-label{letter-spacing:.04em;text-transform:uppercase}.hogar-summary-kpi-value{font-size:1.25rem;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.hogar-summary-kpi{padding:var(--space-3)}.hogar-summary-kpi-value{font-size:1.1rem}}.hogar-tx-member-badge{font-size:.68rem;font-weight:600;padding:.12rem .45rem;border-radius:1rem;background:#7c5cfc26;color:var(--brand-primary);white-space:nowrap}.hogar-split-badge{font-size:.68rem;font-weight:600;padding:.12rem .45rem;border-radius:.75rem;white-space:nowrap;letter-spacing:.01em;font-variant-numeric:tabular-nums}.hogar-split-default{background:var(--status-success-bg);color:var(--status-success)}.hogar-split-pct{background:var(--status-info-bg);color:var(--status-info)}.hogar-split-fixed{background:var(--status-warning-bg);color:var(--status-warning)}.hogar-load-more{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;border:1px dashed var(--border-color-subtle);border-radius:.5rem;background:transparent;color:var(--brand-primary);font-size:.83rem;font-weight:500;cursor:pointer;transition:all .2s ease}.hogar-load-more:hover{background:#7c5cfc14;border-color:var(--brand-primary)}.hogar-split-badge-btn{cursor:pointer;border:1px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:.15rem}.hogar-split-badge-btn:hover{border-color:currentColor;filter:brightness(1.2)}.hogar-gastos-filters{display:flex;align-items:center;gap:var(--space-2, .5rem);flex-wrap:wrap;margin-bottom:var(--space-2, .5rem)}.hogar-filter-select{padding:.4rem .6rem;border:1px solid var(--border-color-subtle);border-radius:var(--radius-md, 8px);background:var(--bg-surface);color:var(--text-high);font-size:.85rem;cursor:pointer;max-width:200px}.hogar-filter-select:focus-visible{outline:none;border-color:var(--brand-primary)}.hogar-filter-scope{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:0 0 var(--space-2, .5rem) 0;padding:.4rem .6rem;border-radius:var(--radius-md, 8px);background:var(--bg-elevated);color:var(--text-low);font-size:.78rem;line-height:1.4}.hogar-filter-scope.is-partial{background:var(--status-warning-bg);color:var(--status-warning)}.hogar-filter-scope-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:inherit;text-decoration:underline;cursor:pointer}.hogar-filter-scope-btn:disabled{cursor:progress;opacity:.7;text-decoration:none}.hogar-empty-actions{display:flex;justify-content:center;margin-top:var(--space-3, .75rem)}.hogar-desglose{display:flex;flex-direction:column;gap:var(--space-1, .25rem);min-width:0;width:100%}.hogar-desglose-group{display:flex;flex-direction:column;border-radius:var(--radius-md, .5rem);border:1px solid var(--border-color-subtle);margin-bottom:.5rem;min-width:0;width:100%;box-sizing:border-box;overflow:visible}.hogar-desglose-group:last-child{margin-bottom:0}.hogar-desglose-group.health-red{border-color:#ff6b6b40}.hogar-desglose-group.health-yellow{border-color:#feca5733}.hogar-desglose-header{display:grid;grid-template-columns:min-content minmax(0,1fr) auto auto auto auto;align-items:center;gap:.4rem;padding:var(--space-2, .5rem) var(--space-3, .75rem);background:var(--bg-elevated);border-bottom:1px solid var(--border-color-subtle);min-width:0;width:100%;box-sizing:border-box}.hogar-desglose-toggle{display:flex;align-items:center;gap:.4rem;min-width:0;padding:0;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.hogar-desglose-toggle--static{cursor:default}.hogar-desglose-toggle>i{color:var(--text-low);flex-shrink:0}.hogar-desglose-check{width:14px;height:14px;margin:0;justify-self:center;accent-color:var(--brand-primary);cursor:pointer}.hogar-desglose-toggle:focus-visible,.hogar-desglose-check:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.hogar-desglose-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.hogar-desglose-label{font-size:var(--text-sm, .875rem);font-weight:700;color:var(--text-high);flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hogar-desglose-pct{font-size:var(--text-xs, .75rem);font-weight:600;color:var(--text-low);background:#ffffff0f;border:1px solid var(--border-color-subtle);border-radius:var(--radius-sm, .25rem);padding:.1rem .4rem;white-space:nowrap;margin-right:var(--space-1, .25rem);flex-shrink:0}.hogar-desglose-total{font-size:var(--text-sm, .875rem);font-weight:700;color:var(--text-high);text-align:right;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}.hogar-desglose-budget{font-size:var(--text-xs);color:var(--text-low);font-variant-numeric:tabular-nums}.hogar-desglose-budget.health-red{color:var(--status-danger)}.hogar-desglose-budget.health-yellow{color:var(--status-warning)}.hogar-desglose-tx-wrapper{display:flex;flex-direction:column}.hogar-desglose-row{display:grid;grid-template-columns:18px 52px 1fr 120px 88px 160px;gap:var(--space-3, .75rem);align-items:center;padding:7px var(--space-3, .75rem);border-bottom:1px solid var(--border-color-subtle);width:100%;box-sizing:border-box;transition:background .15s ease;min-width:0}.hogar-desglose-tx-wrapper:last-child .hogar-desglose-row{border-bottom:none}.hogar-desglose-row:hover{background:var(--bg-hover)}.hogar-desglose-tx-wrapper.editing .hogar-desglose-row{background:#6c63ff0f}.hogar-desglose-row-date{font-size:var(--text-xs, .75rem);color:var(--text-low);white-space:nowrap;font-variant-numeric:tabular-nums}.hogar-desglose-row-desc{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.hogar-desglose-row-name{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.hogar-desglose-cat-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-base);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:3px 9px;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.hogar-desglose-cat-chip:hover{background:#6c63ff26;border-color:#6c63ff66}.hogar-desglose-cat-chip .ri-pencil-line{font-size:10px;opacity:0;transition:opacity .15s}.hogar-desglose-cat-chip:hover .ri-pencil-line{opacity:.7}.hogar-desglose-row-account{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--text-low);white-space:nowrap;flex-shrink:0}.hogar-desglose-row-account i{font-size:10px}.hogar-desglose-row-bar-wrap{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.hogar-desglose-row-bar{display:block;height:100%;border-radius:3px;transition:width .5s ease}.hogar-desglose-row-amount{font-size:var(--text-sm);font-weight:600;color:var(--text-high);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.hogar-desglose-row-badges{display:flex;align-items:center;gap:.35rem;justify-content:flex-end}.hogar-batch-scope-note{display:flex;align-items:center;gap:.35rem;margin:0;padding:.35rem var(--space-3, .75rem);background:var(--brand-alpha);color:var(--brand-primary);font-size:.75rem;font-weight:600}.hogar-cat-hint{display:flex;align-items:flex-start;gap:.4rem;font-size:.78rem;color:var(--text-low);padding:.5rem .75rem;background:#ffffff08;border-radius:.5rem;margin:0;line-height:1.5}.hogar-cat-hint i{flex-shrink:0;margin-top:.1rem;color:var(--brand-primary)}@media(max-width:1024px){.hogar-desglose-header{grid-template-columns:min-content minmax(0,1fr) auto auto}.hogar-desglose-budget,.hogar-desglose-pct{display:none}.hogar-desglose-row{grid-template-columns:18px 54px minmax(0,1fr) auto;gap:var(--space-2, .5rem)}.hogar-desglose-row-bar-wrap{display:none}.hogar-desglose-row-badges{grid-column:3 / -1;justify-content:flex-start}}@media(max-width:640px){.hogar-desglose-header{grid-template-columns:min-content minmax(0,1fr) auto}.hogar-desglose-header .hogar-split-badge-btn{display:none}.hogar-desglose-row{grid-template-columns:18px minmax(0,1fr) auto}.hogar-desglose-row-date{display:none}.hogar-desglose-row-desc{flex-wrap:wrap}.hogar-desglose-row-account{display:none}.hogar-desglose-check{width:18px;height:18px}.hogar-desglose-cat-chip,.hogar-desglose-row-badges .hogar-split-badge-btn{min-height:34px;padding-top:6px;padding-bottom:6px}}@media(max-width:480px){.hogar-desglose-header{padding:var(--space-2, .5rem);gap:.3rem}.hogar-desglose-row{padding-left:var(--space-2, .5rem);padding-right:var(--space-2, .5rem);gap:.4rem}}.hogar-batch-panel{position:fixed;bottom:5rem;left:50%;transform:translate(-50%);background:var(--bg-panel);padding:var(--space-4) var(--space-6);border-radius:var(--radius-xl);box-shadow:0 10px 40px #0009;z-index:100;border:1px solid var(--brand-primary);display:flex;align-items:center;gap:var(--space-4);min-width:min(400px,90vw);justify-content:space-between;animation:slideUp .25s cubic-bezier(.4,0,.2,1)}.hogar-batch-panel.is-expanded{flex-direction:column;align-items:stretch}.hogar-batch-counter{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:600;color:var(--text-high)}.hogar-batch-count-badge{background:var(--brand-primary);color:var(--text-on-brand);width:1.5rem;height:1.5rem;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.8rem}.hogar-batch-inner{width:100%}.hogar-batch-title{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:600;color:var(--text-high);margin:0 0 var(--space-4) 0}.hogar-batch-close{background:none;border:none;color:var(--text-low);cursor:pointer;font-size:1.2rem;line-height:1;padding:0;transition:color .15s}.hogar-batch-close:hover{color:var(--text-high)}@media(max-width:640px){.hogar-batch-panel{bottom:1.5rem;padding:var(--space-3) var(--space-4);min-width:calc(100vw - 2rem);max-width:calc(100vw - 2rem);box-sizing:border-box;flex-wrap:wrap;gap:var(--space-3)}.hogar-batch-panel .flex{flex-wrap:wrap}.hogar-batch-panel .btn{min-height:44px}.hogar-batch-panel.is-expanded{max-height:calc(100vh - 3rem);overflow-y:auto}}.hogar-balance-hero{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;border-radius:1rem;text-align:center}.hogar-balance-hero.has-debt{background:linear-gradient(135deg,#ff6b6b14,#ff6b6b05);border:1px solid rgba(255,107,107,.2)}.hogar-balance-hero.balanced{background:linear-gradient(135deg,#10ac8414,#10ac8405);border:1px solid rgba(16,172,132,.2)}.hogar-balance-hero-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-low)}.hogar-balance-hero-debt{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}.hogar-balance-debtor{font-weight:700;font-size:1.1rem;color:var(--status-danger)}.hogar-balance-debtor+i{color:var(--text-low);font-size:1.2rem}.hogar-balance-creditor{font-weight:700;font-size:1.1rem;color:var(--status-success)}.hogar-balance-hero-amount{font-size:2rem;font-weight:900;color:var(--text-high);font-variant-numeric:tabular-nums;letter-spacing:-.03em;display:block;width:100%}.hogar-settle-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;background:var(--brand-primary);color:var(--text-on-brand);border:none;border-radius:.625rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 12px #7c5cfc59}.hogar-settle-cta:hover{background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 4px 16px #7c5cfc73}.hogar-balance-breakdown{width:100%;max-width:480px;margin:.75rem auto 0;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);overflow:hidden;font-size:.8rem}.hogar-breakdown-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:0;padding:.35rem .75rem;border-bottom:1px solid rgba(255,255,255,.05);align-items:center}.hogar-breakdown-row:last-child{border-bottom:none}.hogar-breakdown-row>span{text-align:right;min-width:0;font-variant-numeric:tabular-nums}.hogar-breakdown-name{text-align:left!important;font-weight:500;color:var(--text-high)}.hogar-breakdown-header{background:#ffffff0a;color:var(--text-low);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.hogar-breakdown-debt-row{color:var(--text-low);font-style:italic;font-size:.75rem}.hogar-breakdown-total{background:#ffffff0a;color:var(--text-base);border-top:1px solid rgba(255,255,255,.1)!important}.hogar-history-section{display:flex;flex-direction:column;gap:0}.hogar-collapsible-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;cursor:pointer;padding:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:left}.hogar-collapsible-header span{display:flex;align-items:center;gap:.5rem}.hogar-chevron{color:var(--text-low);font-size:1rem;transition:transform .2s ease}.hogar-history-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.hogar-history-table{overflow-x:auto;border-radius:.75rem;border:1px solid var(--border-color-subtle)}.hogar-history-table table{width:100%;border-collapse:collapse;font-size:.8rem}.hogar-history-table th{text-align:right;padding:.55rem .75rem;font-weight:600;color:var(--brand-primary);border-bottom:1px solid var(--border-color-subtle);white-space:nowrap}.hogar-history-table th:first-child{text-align:left}.hogar-history-table td{padding:.45rem .75rem;border-bottom:1px solid rgba(255,255,255,.03);text-align:right;font-variant-numeric:tabular-nums}.hogar-history-month{text-align:left!important;font-weight:500;color:var(--text-high)}.hogar-history-col-mes{text-align:left!important;color:var(--text-low)!important;font-weight:500;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.hogar-history-col-member{font-weight:700;font-size:.8rem;letter-spacing:.01em}.hogar-history-col-total{color:var(--text-low)!important;font-weight:600;font-size:.78rem}.hogar-history-member-cell{color:var(--text-low);transition:color .15s ease}.hogar-history-total-cell{color:var(--text-high);font-weight:600}.hogar-balance-totals{font-size:.78rem;color:var(--text-low);padding:.5rem 0;border-top:1px solid var(--border-color-subtle)}@media(max-width:768px){.hogar-balance-hero{padding:var(--space-4)}.hogar-balance-hero-debt{gap:.45rem}.hogar-balance-hero-amount{font-size:1.6rem}.hogar-balance-breakdown{max-width:none;overflow-x:auto}.hogar-breakdown-row{min-width:420px}.hogar-history-table{font-size:.72rem}}.hogar-rules-hint{font-size:.8rem;color:var(--text-low);margin:0;line-height:1.4}.hogar-rules-list{display:flex;flex-direction:column;gap:.25rem}.hogar-rule-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:.5rem;background:var(--bg-elevated)}.hogar-rule-info{display:flex;align-items:center;gap:.75rem;min-width:0;flex-wrap:wrap}.hogar-rule-pattern{font-size:.85rem;font-weight:600;color:var(--text-high);font-family:JetBrains Mono,Fira Code,monospace;min-width:0;overflow-wrap:anywhere}.hogar-rule-hits{font-size:.72rem;padding:.15rem .5rem;border-radius:1rem;background:#7c5cfc1f;color:var(--brand-primary)}.hogar-rule-delete{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background:transparent;color:var(--text-low);cursor:pointer;transition:all .2s ease}.hogar-rule-delete:hover{background:var(--status-danger-bg);color:var(--status-danger)}.hogar-splits-list{display:flex;flex-direction:column;gap:.375rem}.hogar-split-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border-radius:.625rem;background:var(--bg-elevated);border:1px solid var(--border-color-subtle);transition:border-color .2s ease}.hogar-split-item:hover{border-color:var(--brand-primary)}.hogar-split-info{flex:1;min-width:0}.hogar-split-name{font-weight:600;font-size:.9rem;color:var(--text-high);display:block}.hogar-split-meta{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;flex-wrap:wrap}.hogar-split-type-badge{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:.75rem;font-variant-numeric:tabular-nums}.hogar-split-type-percentage{background:var(--status-info-bg);color:var(--status-info)}.hogar-split-type-fixed{background:var(--status-warning-bg);color:var(--status-warning)}.hogar-split-type-equal{background:var(--status-success-bg);color:var(--status-success)}.hogar-split-expected{font-size:.72rem;color:var(--text-low)}.hogar-split-pattern{font-size:.68rem;font-weight:500;padding:.12rem .4rem;border-radius:.35rem;background:#ffffff0d;color:var(--text-low);display:flex;align-items:center;gap:.2rem;font-family:JetBrains Mono,Fira Code,monospace}.hogar-split-pattern i{font-size:.65rem;opacity:.7}.hogar-split-category{font-size:.7rem;color:var(--text-low);padding:.1rem .4rem;background:#7c5cfc14;border-radius:.3rem}.hogar-rule-delete{flex-shrink:0}@media(max-width:640px){.hogar-rule-delete{width:44px;height:44px}}.hogar-member-config-section{margin-top:2rem}.hogar-sync-dates-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.hogar-sync-date-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg-panel);border:1px solid rgba(255,255,255,.08);border-radius:10px;flex-wrap:wrap}.hogar-sync-date-member{display:flex;align-items:center;gap:.65rem;flex:0 0 auto}.hogar-sync-date-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--text-on-brand);flex-shrink:0}.hogar-sync-date-name{font-size:.9rem;font-weight:600;color:var(--text-high)}.hogar-sync-date-display{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:flex-end}.hogar-sync-date-value{font-size:.82rem;padding:.25rem .6rem;border-radius:6px}.hogar-sync-date-value.configured{background:var(--status-success-bg);color:var(--status-success);border:1px solid rgba(0,184,148,.25)}.hogar-sync-date-value.default{background:#ffffff0f;color:var(--text-low);border:1px solid rgba(255,255,255,.08)}.hogar-sync-date-edit-btn{background:none;border:1px solid var(--border-color-strong);border-radius:6px;padding:.3rem .5rem;color:var(--text-low);cursor:pointer;transition:all .2s;font-size:.8rem}.hogar-sync-date-edit-btn:hover{border-color:var(--brand-primary);color:var(--brand-hover)}.hogar-sync-date-edit{display:flex;align-items:center;gap:.4rem;flex:1;justify-content:flex-end}.hogar-sync-date-input{padding:.35rem .6rem;background:var(--bg-surface);border:1px solid var(--border-color-strong);border-radius:6px;color:var(--text-high);font-size:.85rem;cursor:pointer}.hogar-sync-date-save,.hogar-sync-date-cancel{padding:.35rem .65rem!important;font-size:.85rem!important}.hogar-initial-debt-section{margin-top:2rem}.hogar-initial-debt-form{margin-top:1rem;padding:1.25rem;background:#ffffff08;border:1px solid rgba(255,100,100,.2);border-radius:12px}.hogar-initial-debt-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.hogar-initial-debt-item{background:#ff64640d;border:1px solid rgba(255,100,100,.15);border-radius:8px;padding:.65rem .9rem;display:flex;align-items:center;gap:.75rem}.hogar-initial-debt-avatar{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--status-danger),var(--status-warning));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:var(--text-on-brand)}.hogar-initial-debt-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.hogar-initial-debt-route{display:flex;align-items:center;gap:.3rem;font-size:.88rem;color:var(--text-high);flex-wrap:wrap}.hogar-initial-debt-route strong{color:var(--status-danger)}.hogar-initial-debt-route i{font-size:.8rem;color:var(--text-low)}.hogar-initial-debt-note{font-size:.75rem;color:var(--text-low);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hogar-initial-debt-amount{flex-shrink:0;font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;color:var(--status-danger)}@media(max-width:640px){.hogar-sync-date-display,.hogar-sync-date-edit{flex-basis:100%;justify-content:flex-start}.hogar-sync-date-input{flex:1;min-width:0;min-height:44px}.hogar-sync-date-edit-btn{min-height:44px;min-width:44px}.hogar-sync-date-save,.hogar-sync-date-cancel{min-height:44px}}.theme-toggle{display:inline-flex;align-items:center;background:var(--bg-surface);border-radius:var(--radius-full);padding:2px;gap:2px}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--text-low);cursor:pointer;transition:var(--transition);font-size:.875rem}.theme-toggle-btn:hover{color:var(--text-high);background:var(--bg-hover)}.theme-toggle-btn.active{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-sm)}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-w);background:var(--bg-panel);border-right:var(--border-subtle);display:flex;flex-direction:column;z-index:200;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar-logo{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:var(--border-subtle);overflow:hidden;transition:padding .3s cubic-bezier(.4,0,.2,1),justify-content .3s}.sidebar-logo-icon{width:36px;height:36px;min-width:36px;background:linear-gradient(135deg,var(--brand-primary),var(--brand-hover));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-logo-icon i{font-size:1.25rem;color:#fff}.sidebar-logo-text{font-size:1rem;font-weight:700;color:var(--text-high);letter-spacing:-.02em}.sidebar-nav{flex:1;padding:var(--space-2) 0;overflow-y:auto}.sidebar-section{padding:var(--space-1) 0}.sidebar-section+.sidebar-section{border-top:var(--border-subtle)}.sidebar-section-label{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-1);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-low);opacity:.8;overflow:hidden;white-space:nowrap;transition:padding .3s cubic-bezier(.4,0,.2,1),justify-content .3s}.sidebar-section-emoji{font-size:.75rem;line-height:1;flex-shrink:0}.sidebar-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:.625rem var(--space-4);background:none;border:none;color:var(--text-base);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative;text-align:left;overflow:hidden}.sidebar-item:hover{color:var(--text-high);background:#ffffff0a}.sidebar-item.active{color:var(--brand-primary);background:var(--brand-alpha)}.sidebar-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--brand-primary);border-radius:0 3px 3px 0}.sidebar-item i{font-size:1.15rem;min-width:1.2rem;text-align:center;flex-shrink:0}.sidebar-item i.spin{animation:sidebar-spin 1s linear infinite}.sidebar-item--danger:hover{color:var(--status-danger);background:var(--status-danger-bg)}.sidebar-text{opacity:1;white-space:nowrap;overflow:hidden;transition:opacity .15s ease .15s,width .15s ease}.sidebar-collapse-toggle{opacity:.7;transition:all .15s ease}.sidebar-collapse-toggle:hover{opacity:1}.sidebar-bottom{padding:var(--space-2) 0;border-top:var(--border-subtle);margin-top:auto}.sidebar-bottom .theme-toggle{margin:var(--space-1) var(--space-4);transition:margin .3s cubic-bezier(.4,0,.2,1)}.sidebar-hamburger{display:none;position:fixed;top:var(--space-3);left:var(--space-3);z-index:300;width:40px;height:40px;background:var(--bg-panel);border:1px solid var(--border-color-strong);border-radius:var(--radius-sm);color:var(--text-high);font-size:1.25rem;cursor:pointer;align-items:center;justify-content:center;transition:var(--transition);box-shadow:var(--shadow-sm)}.sidebar-hamburger:hover{background:var(--bg-surface)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:190;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes sidebar-spin{to{transform:rotate(360deg)}}@media(min-width:769px){.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar.collapsed .sidebar-text{opacity:0;width:0;overflow:hidden;pointer-events:none;transition:opacity .1s ease,width .1s ease}.sidebar.collapsed .sidebar-item{justify-content:center;padding-left:0;padding-right:0;gap:0}.sidebar.collapsed .sidebar-item i{min-width:auto;font-size:1.25rem}.sidebar.collapsed .sidebar-section-label{display:none}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:var(--space-4) var(--space-2)}.sidebar.collapsed .sidebar-bottom .theme-toggle{flex-direction:column;margin:var(--space-1) auto;width:fit-content}.sidebar.collapsed .sidebar-bottom .theme-toggle-btn{width:28px;height:28px;font-size:.8125rem}}.shell-tabs{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-1);background:var(--bg-panel);border-radius:var(--radius-lg);margin-bottom:var(--space-6);border:var(--border-subtle)}.shell-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-low);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.shell-tab:hover{color:var(--text-base);background:var(--bg-hover)}.shell-tab.active{color:var(--text-high);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.shell-tab i{font-size:1rem}.shell-content{min-height:300px}@media(max-width:768px){.sidebar{transform:translate(-100%);width:var(--sidebar-w)}.sidebar.expanded{transform:translate(0);box-shadow:4px 0 20px #0000004d}.sidebar-hamburger{display:flex}.sidebar-collapse-toggle{display:none}.sidebar-overlay{display:block}.shell-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.shell-tabs::-webkit-scrollbar{display:none}}@media(max-width:480px){.shell-tab{padding:var(--space-2) var(--space-3);font-size:.8125rem}.shell-tab i{font-size:.875rem}.sidebar-hamburger{top:var(--space-2);left:var(--space-2);width:36px;height:36px;font-size:1.1rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-app: #0f172a;--bg-panel: #1e293b;--bg-surface: #334155;--bg-hover: rgba(255, 255, 255, .05);--bg-elevated: rgba(255, 255, 255, .03);--text-high: #f1f5f9;--text-base: #cbd5e1;--text-low: #94a3b8;--brand-primary: #8b5cf6;--brand-hover: #a78bfa;--brand-alpha: rgba(139, 92, 246, .15);--text-on-brand: #fff;--status-success: #10b981;--status-success-bg: rgba(16, 185, 129, .15);--status-danger: #ef4444;--status-danger-bg: rgba(239, 68, 68, .15);--status-warning: #f59e0b;--status-warning-bg: rgba(245, 158, 11, .15);--status-info: #3b82f6;--status-info-bg: rgba(59, 130, 246, .15);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--sidebar-w: 240px;--sidebar-w-collapsed: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3);--shadow-glow: 0 4px 20px var(--brand-alpha);--border-subtle: 1px solid rgba(255, 255, 255, .05);--border-strong: 1px solid rgba(255, 255, 255, .15);--border-color-subtle: rgba(255, 255, 255, .05);--border-color-strong: rgba(255, 255, 255, .15);--transition: all .2s cubic-bezier(.4, 0, .2, 1);--font-family: "Inter", system-ui, -apple-system, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--space-1-5: .375rem;--text-primary: var(--text-high);--text-secondary: var(--text-low);--text-med: var(--text-base);--text-medium: var(--text-base);--text-light: var(--text-low);--border-color: var(--border-color-subtle);--card-bg: var(--bg-panel);--brand-primary-rgb: 139, 92, 246;--brand-rgb: var(--brand-primary-rgb)}html,body{font-family:var(--font-family);background:var(--bg-app);color:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-high);font-weight:600;line-height:1.2}a{color:var(--brand-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--brand-hover)}input,select,button,textarea{font-family:inherit;font-size:inherit;color:inherit;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-panel)}::-webkit-scrollbar-thumb{background:var(--bg-surface);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#4b5563}.page-container{padding:var(--space-6);max-width:1400px;margin:0 auto;min-height:100vh}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-header-embedded{justify-content:flex-end;margin-bottom:var(--space-4)}.nav-tabs-embedded{margin:0;padding:0;border-bottom:none}.page-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.5rem;font-weight:700;color:var(--text-high);margin:0}.page-title i{color:var(--brand-primary)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space-4)}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-low);gap:var(--space-3);width:100%}.state-container i{font-size:3rem;opacity:.5}.state-container.error i{color:var(--status-danger);opacity:1}.text-high{color:var(--text-high)}.text-base{color:var(--text-base)}.text-low{color:var(--text-low)}.text-primary{color:var(--brand-primary)}.bg-primary-alpha{background-color:var(--brand-alpha)}.text-success{color:var(--status-success)}.text-danger{color:var(--status-danger)}.text-warning{color:var(--status-warning)}.font-bold{font-weight:700}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-right{text-align:right}.text-center{text-align:center}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.ml-2{margin-left:var(--space-2)}.pb-2{padding-bottom:var(--space-2)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.p-0{padding:0}.p-4{padding:var(--space-4)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.w-fit{width:fit-content}.w-full{width:100%}.block{display:block}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.align-center{align-items:center}.border-b{border-bottom:var(--border-subtle)}.rounded{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.font-normal{font-weight:400}.italic{font-style:italic}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-2xl{font-size:1.5rem}.bg-primary{background-color:var(--brand-primary)}.bg-surface{background-color:var(--bg-surface)}.mb-0{margin-bottom:0}.card{background:var(--bg-panel);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md);border:var(--border-subtle);transition:var(--transition)}.card:hover{border-color:#ffffff1a;box-shadow:var(--shadow-lg)}.kpi-card{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;border-radius:var(--radius-xl)!important;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,var(--bg-panel) 0%,rgba(30,41,59,.8) 100%)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.kpi-card:hover{transform:translateY(-4px)!important;box-shadow:0 12px 24px -10px #00000080!important;border-color:#ffffff1a!important}.kpi-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top right,rgba(255,255,255,.05) 0%,transparent 60%);pointer-events:none}.highlight-border{border:1px solid rgba(16,185,129,.3)!important;background:linear-gradient(180deg,#10b9810d,#1e293b)!important}.highlight-border:hover{border-color:#10b98199!important;box-shadow:0 12px 24px -10px #10b98133!important}.glass-panel{background:linear-gradient(180deg,#1e293b66,#0f172a99)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 32px #0003;border-radius:var(--radius-xl)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.card-header h3{font-size:1rem;font-weight:600;display:flex;align-items:center;gap:var(--space-2);color:var(--text-high)}.card-header h3 i{color:var(--brand-primary);font-size:1.25rem}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:spin .7s linear infinite;flex-shrink:0}.badge{background:var(--bg-surface);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.8rem;color:var(--text-low);font-weight:500}.positive{color:var(--status-success)}.negative{color:var(--status-danger)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--brand-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-surface);color:var(--text-base);border:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:#ffffff14;color:var(--text-high)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in .3s ease-out}@keyframes spin{to{transform:rotate(360deg)}}.rotating,.rotating i,.spin{animation:spin 1s linear infinite}@media(max-width:768px){.page-container{padding:var(--space-4)}.page-header{margin-bottom:var(--space-4)}.page-title{font-size:1.25rem}h1{font-size:1.75rem}h2{font-size:1.35rem}}@media(max-width:480px){.page-container{padding:var(--space-3) var(--space-2)}.page-title{font-size:1.1rem}.page-header{gap:var(--space-2)}.btn{min-height:40px;padding:var(--space-2) var(--space-4)}h1{font-size:1.5rem}h2{font-size:1.2rem}}[data-theme=light]{--bg-app: #f1f5f9;--bg-panel: #ffffff;--bg-surface: #e2e8f0;--bg-hover: rgba(0, 0, 0, .04);--bg-card: #ffffff;--bg-elevated: rgba(0, 0, 0, .03);--text-high: #0f172a;--text-base: #334155;--text-low: #64748b;--text-primary: #0f172a;--brand-primary: #7632ec;--brand-hover: #6d28d9;--brand-alpha: rgba(118, 50, 236, .1);--brand-primary-rgb: 118, 50, 236;--status-success: #04704f;--status-success-bg: rgba(4, 112, 79, .1);--status-danger: #bd1f1f;--status-danger-bg: rgba(189, 31, 31, .1);--status-warning: #955104;--status-warning-bg: rgba(149, 81, 4, .1);--status-info: #1555e3;--status-info-bg: rgba(21, 85, 227, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-glow: 0 4px 20px var(--brand-alpha);--border-subtle: 1px solid rgba(0, 0, 0, .08);--border-strong: 1px solid rgba(0, 0, 0, .15);--border-color-subtle: rgba(0, 0, 0, .08);--border-color-strong: rgba(0, 0, 0, .15)}@media(prefers-color-scheme:light){[data-theme=auto]{--bg-app: #f1f5f9;--bg-panel: #ffffff;--bg-surface: #e2e8f0;--bg-hover: rgba(0, 0, 0, .04);--bg-card: #ffffff;--bg-elevated: rgba(0, 0, 0, .03);--text-high: #0f172a;--text-base: #334155;--text-low: #64748b;--text-primary: #0f172a;--brand-primary: #7632ec;--brand-hover: #6d28d9;--brand-alpha: rgba(118, 50, 236, .1);--brand-primary-rgb: 118, 50, 236;--status-success: #04704f;--status-success-bg: rgba(4, 112, 79, .1);--status-danger: #bd1f1f;--status-danger-bg: rgba(189, 31, 31, .1);--status-warning: #955104;--status-warning-bg: rgba(149, 81, 4, .1);--status-info: #1555e3;--status-info-bg: rgba(21, 85, 227, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-glow: 0 4px 20px var(--brand-alpha);--border-subtle: 1px solid rgba(0, 0, 0, .08);--border-strong: 1px solid rgba(0, 0, 0, .15);--border-color-subtle: rgba(0, 0, 0, .08);--border-color-strong: rgba(0, 0, 0, .15)}}[data-theme=light] ::-webkit-scrollbar-track,[data-theme=light]::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=light] ::-webkit-scrollbar-thumb,[data-theme=light]::-webkit-scrollbar-thumb{background:#cbd5e1}[data-theme=light] ::-webkit-scrollbar-thumb:hover,[data-theme=light]::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(prefers-color-scheme:light){[data-theme=auto] ::-webkit-scrollbar-track{background:#f1f5f9}[data-theme=auto] ::-webkit-scrollbar-thumb{background:#cbd5e1}}.btn-danger{background:var(--status-danger);color:#fff}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--status-danger) 85%,#000);box-shadow:0 4px 14px #ef44444d}.confirm-modal-overlay{position:fixed;inset:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .15s ease-out}.confirm-modal{background:var(--bg-panel);border:var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:420px;box-shadow:0 24px 64px #0006;animation:slideUp .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:var(--space-4)}.confirm-modal-title{font-size:1rem;font-weight:700;color:var(--text-high);margin:0}.confirm-modal-message{font-size:.875rem;color:var(--text-base);line-height:1.6;margin:0}.confirm-modal-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.confirm-modal-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-low)}.confirm-modal-input{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);color:var(--text-high);font-size:.875rem;transition:var(--transition);width:100%}.confirm-modal-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-alpha)}.confirm-modal-input::placeholder{color:var(--text-low);opacity:.6}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}@media(max-width:480px){.confirm-modal{max-width:100%;border-radius:var(--radius-lg)}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions .btn{width:100%;justify-content:center}}.pwa-update-banner{position:fixed;bottom:var(--space-5, 1.25rem);left:50%;translate:-50% 0;z-index:9999;width:min(420px,calc(100vw - 2rem));border-radius:var(--radius-xl, 1rem);background:#0f141ed9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(110,232,106,.25);box-shadow:0 8px 32px #00000080,0 0 0 1px #6ee86a1a inset;overflow:hidden;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}.pwa-update-progress{position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,#6ee86a,#4ade80);transition:width 1s linear;box-shadow:0 0 8px #6ee86a99}.pwa-update-content{display:flex;align-items:center;gap:var(--space-3, .75rem);padding:.875rem 1rem}.pwa-update-icon{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:50%;background:#6ee86a1f;border:1px solid rgba(110,232,106,.3);display:flex;align-items:center;justify-content:center;font-size:1.125rem;color:#6ee86a;animation:pwa-spin 1.5s linear infinite}@keyframes pwa-spin{0%{rotate:0deg}to{rotate:360deg}}.pwa-update-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.pwa-update-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #f0f6fc);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-update-subtitle{font-size:.75rem;color:var(--text-secondary, #8b949e);line-height:1.2}.pwa-update-subtitle strong{color:#6ee86a;font-variant-numeric:tabular-nums}.pwa-update-btn{flex-shrink:0;padding:.4375rem .875rem;border-radius:var(--radius-md, .5rem);background:linear-gradient(135deg,#6ee86a,#4ade80);border:none;cursor:pointer;font-size:.8125rem;font-weight:600;color:#0d1117;letter-spacing:.01em;transition:filter .15s ease,scale .1s ease;white-space:nowrap}.pwa-update-btn:hover{filter:brightness(1.1);scale:1.03}.pwa-update-btn:active{scale:.97}@media(max-width:480px){.pwa-update-banner{bottom:5rem;border-radius:var(--radius-lg, .75rem)}.pwa-update-content{flex-wrap:wrap;gap:.5rem}.pwa-update-btn{width:100%;padding:.5rem;text-align:center}}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--text-low)}.app-loading .spinner{width:40px;height:40px;border:3px solid var(--bg-surface);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:app-spin .8s linear infinite}.app-layout{display:flex;min-height:100vh}.app-main{flex:1;margin-left:var(--sidebar-w);min-height:100vh;min-width:0;overflow-x:hidden;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.main-content{max-width:1400px;margin:0 auto;padding:var(--space-6);min-width:0;width:100%;box-sizing:border-box}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.rotating i{animation:app-spin 1s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}@media(min-width:769px){.sidebar-collapsed .app-main{margin-left:var(--sidebar-w-collapsed)}}@media(max-width:1024px){.content-grid{grid-template-columns:1fr}}@media(max-width:768px){.app-main{margin-left:0;padding-top:var(--space-12)}.main-content{padding:var(--space-4)}}@media(max-width:640px){.main-content{padding:var(--space-3) var(--space-2)}.content-grid{gap:var(--space-4)}}
