.treemap-wrap-dashboard{background:linear-gradient(165deg,#141a24,#0e1218);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;min-height:280px;padding:12px;box-shadow:0 12px 40px rgba(0,0,0,.35)}.treemap-host-dashboard svg{display:block;width:100%;height:auto;max-width:100%;border-radius:10px;vertical-align:top}.g-cell-rect{filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));cursor:pointer}.g-cell-rect.is-selected,.g-cell:focus-visible .g-cell-rect{stroke:rgba(255,255,255,.75);stroke-width:2.2}.month-balance-panel{margin:0 0 .85rem;padding:1rem 1.05rem .95rem;border-radius:var(--radius-md);border:2px solid rgba(255,255,255,.12);background:linear-gradient(165deg,rgba(22,28,38,.98),rgba(12,16,23,.98));transition:border-color .2s,box-shadow .2s}.month-balance-panel.is-surplus{border-color:rgba(82,183,136,.7);box-shadow:0 0 32px rgba(46,125,80,.28),inset 0 1px 0 rgba(255,255,255,.04)}.month-balance-panel.is-deficit{border-color:rgba(232,93,111,.6);box-shadow:0 0 32px rgba(201,74,74,.22),inset 0 1px 0 rgba(255,255,255,.04)}.month-balance-panel.is-even-panel{border-color:rgba(148,163,184,.35);box-shadow:0 4px 20px rgba(0,0,0,.2)}.balance-pill{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .55rem;border-radius:999px;margin-bottom:.45rem}.is-surplus .balance-pill{background:rgba(82,183,136,.22);color:#b8f0cd}.is-deficit .balance-pill{background:rgba(232,93,111,.2);color:#f5c2c9}.is-even-panel .balance-pill{background:rgba(148,163,184,.15);color:#cbd5e1}.balance-net-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.balance-net-label{color:var(--muted-foreground);font-size:.8rem;font-weight:600}.balance-net-value{font-size:clamp(1.35rem,6.5vw,2.45rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.02em}.is-surplus .balance-net-value{color:#7dd89a}.is-deficit .balance-net-value{color:#f5a0aa}.balance-net-value.is-even{color:#cbd5e1}.balance-split-wrap{margin-top:.2rem}.balance-split-labels{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted-foreground);margin-bottom:.35rem}.balance-split-track{display:flex;height:16px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.balance-split-ing{background:linear-gradient(90deg,#1b4332,#52b788);min-width:0;transition:width .4s ease}.balance-split-gas{background:linear-gradient(90deg,#7f1d1d,#e85d6f);min-width:0;transition:width .4s ease}.balance-bars-detail{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.7rem;font-size:.78rem;color:#c5d0de}.balance-bars-detail strong{font-variant-numeric:tabular-nums;color:#e8f0f8}.month-total-panel{margin:0 0 .85rem;padding:.85rem 1rem .95rem;border-radius:var(--radius-md);border:1px solid var(--border);background:rgba(17,21,28,.75)}.month-total-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.55rem}.month-total-label{color:var(--muted-foreground);font-size:.78rem;font-weight:600}.month-total-value{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums}.month-ruler-track{position:relative;height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-bottom:1.4rem}.month-ruler-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#52b788,#e8c96b,#e85d6f);transition:width .35s ease}.month-ruler-ticks{position:relative;height:1.5rem;margin-top:-.35rem}.month-ruler-tick{position:absolute;top:0;width:1px;height:8px;background:rgba(255,255,255,.35);transform:translateX(-.5px)}.month-ruler-tick-label{position:absolute;top:8px;transform:translateX(-50%);color:var(--muted-foreground);font-size:.64rem;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.month-ruler-tick-label.is-start{transform:translateX(0)}.month-ruler-tick-label.is-end{transform:translateX(-100%)}.month-total-sub{font-size:.7rem;color:var(--muted-foreground);margin-top:.25rem}.g-legend-bar{height:8px;border-radius:999px;background:linear-gradient(90deg,hsl(155 38% 24%),hsl(100 45% 42%),hsl(37 80% 42%));width:100%;max-width:220px}.category-detail-box{margin-top:.9rem;padding:.95rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:rgba(17,21,28,.82)}.cat-detail-row-grid{display:grid;grid-template-columns:98px minmax(0,1fr) auto;gap:.55rem;align-items:center;font-size:.82rem;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:.38rem}.cat-detail-row-grid:last-child{border-bottom:none;padding-bottom:0}.cat-detail-list-scroll{max-height:260px;overflow:auto;display:grid;gap:.45rem;padding-right:2px}.patrimonio-panel{margin-bottom:1.35rem;padding:1.15rem 1.25rem;background:rgba(201,162,39,.08);border:1px solid rgba(201,162,39,.35);border-radius:var(--radius-lg,12px);box-shadow:0 4px 24px rgba(0,0,0,.18)}.patrimonio-panel h2{font-size:1.08rem;font-weight:600;margin:0 0 .5rem;color:#e8c96b}.patrimonio-panel .pat-sub{font-size:.82rem;color:var(--muted-foreground);margin:0 0 1rem;line-height:1.45}.patrimonio-latest{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:1rem;color:var(--foreground)}.patrimonio-chart-wrap{width:100%;overflow-x:auto;margin-bottom:1rem}.patrimonio-chart-wrap svg{display:block;max-width:100%;height:auto}.patrimonio-line{fill:none;stroke:#e8c96b;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.patrimonio-dot{fill:#fff4d4;stroke:#e8c96b;stroke-width:2;cursor:pointer}.patrimonio-dot.is-selected{fill:#ffe59b;stroke:#fff3ce;stroke-width:2.6}.patrimonio-axis text{fill:var(--muted-foreground);font-size:.72rem}.patrimonio-axis line,.patrimonio-axis path{stroke:var(--border)}.patrimonio-detail{margin:0 0 1rem;padding:.85rem .9rem;border-radius:8px;border:1px solid rgba(232,201,107,.34);background:rgba(16,19,26,.78)}.patrimonio-detail-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin-bottom:.7rem}.patrimonio-detail-title{color:#f6e7b8;font-size:.92rem;font-weight:700}.patrimonio-detail-meta{color:var(--muted-foreground);font-size:.78rem}.patrimonio-detail-close{appearance:none;border:1px solid var(--border);background:#111722;color:#cbd5e1;border-radius:8px;padding:.32rem .58rem;font-size:.76rem;cursor:pointer;min-height:34px}.patrimonio-detail-close:hover{background:#172130}.patrimonio-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .7rem}.patrimonio-kv{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:.22rem}.patrimonio-kv .k{color:var(--muted-foreground);font-size:.76rem}.patrimonio-kv .v{color:#eaf1fb;font-size:.84rem;font-variant-numeric:tabular-nums;white-space:nowrap}.patrimonio-detail-note{margin-top:.55rem;color:#cdd6e3;font-size:.78rem;line-height:1.38;overflow-wrap:anywhere}.patrimonio-detail-ref{margin-top:.42rem;color:var(--muted-foreground);font-size:.74rem;line-height:1.35;overflow-wrap:anywhere}.patrimonio-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border);-webkit-overflow-scrolling:touch}.patrimonio-table{width:100%;border-collapse:collapse;font-size:.82rem}.patrimonio-table td,.patrimonio-table th{padding:.55rem .65rem;text-align:right;border-bottom:1px solid var(--border)}.patrimonio-table th{background:rgba(0,0,0,.2);color:#c9d2dc;font-weight:600;white-space:nowrap}.patrimonio-table td:first-child,.patrimonio-table th:first-child{text-align:left}.patrimonio-table tr:last-child td{border-bottom:none}.patrimonio-table tbody .pat-row{cursor:pointer}.patrimonio-table tbody .pat-row:hover{background:rgba(255,255,255,.03)}.patrimonio-table tbody .pat-row.is-selected{background:rgba(232,201,107,.12)}.patrimonio-table .note{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.live-toast-wrap{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.55rem;pointer-events:none}.live-toast{display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border-radius:10px;font-size:.88rem;font-weight:500;box-shadow:0 8px 32px rgba(0,0,0,.45);animation:toast-in .35s cubic-bezier(.34,1.56,.64,1) both;max-width:280px}.live-toast--gasto{background:rgba(220,38,38,.92);color:#fff;border:1px solid rgba(255,100,100,.4)}.live-toast--ingreso{background:rgba(22,163,74,.92);color:#fff;border:1px solid rgba(74,222,128,.4)}.live-toast-icon{font-size:1.1rem;line-height:1;flex-shrink:0}.live-toast-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.live-toast-label{font-size:.75rem;opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-toast-amount{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}@keyframes toast-in{0%{opacity:0;transform:translateX(60px) scale(.85)}to{opacity:1;transform:translateX(0) scale(1)}}