:root{color-scheme:light;--surface-1: #fcfcfb;--plane: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--series-2: #eb6834;--seq-100: #cde2fb;--seq-250: #86b6ef;--seq-450: #2a78d6;--seq-600: #184f95;--good: #0ca30c;--good-text: #006300;--warning: #fab219;--critical: #d03b3b;--marca: #2a78d6;--marca-suave: #eaf2fd;--radius: 18px;--radius-sm: 11px;--shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 6px 20px -6px rgba(16, 24, 40, .09);--shadow-alta: 0 2px 4px rgba(16, 24, 40, .06), 0 16px 32px -12px rgba(16, 24, 40, .16);--t-micro: .72rem;--t-menor: .8rem;--t-base: .92rem;--t-mayor: 1.05rem;--cifra-sm: 1.15rem;--cifra-md: 1.6rem;--cifra-lg: 2.2rem;--transicion: .16s cubic-bezier(.2, 0, .2, 1);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-text-size-adjust:100%}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--surface-1: #1a1a19;--plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--seq-100: #104281;--seq-250: #184f95;--seq-450: #3987e5;--seq-600: #86b6ef;--good-text: #0ca30c;--marca: #3987e5;--marca-suave: #16304d;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 20px -6px rgba(0, 0, 0, .6);--shadow-alta: 0 2px 6px rgba(0, 0, 0, .55), 0 18px 34px -14px rgba(0, 0, 0, .75)}}:root[data-theme=dark]{color-scheme:dark;--surface-1: #1a1a19;--plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--series-2: #d95926;--seq-100: #104281;--seq-250: #184f95;--seq-450: #3987e5;--seq-600: #86b6ef;--good-text: #0ca30c;--marca: #3987e5;--marca-suave: #16304d;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 20px -6px rgba(0, 0, 0, .6);--shadow-alta: 0 2px 6px rgba(0, 0, 0, .55), 0 18px 34px -14px rgba(0, 0, 0, .75)}*{box-sizing:border-box}body{margin:0;background:var(--plane);background-image:radial-gradient(120% 55% at 50% 0%,var(--marca-suave) 0%,transparent 62%);background-attachment:fixed;color:var(--text-primary);font-size:16px;line-height:1.45;overscroll-behavior-y:none}h1,h2,h3{line-height:1.2;margin:0}h1{font-size:clamp(1.15rem,5.2vw,1.4rem);letter-spacing:-.02em}h2{font-size:1.06rem;letter-spacing:-.015em;font-weight:640}h3{font-size:.94rem;letter-spacing:-.01em;font-weight:620}a{color:var(--series-1)}.app{max-width:720px;margin:0 auto;padding:max(12px,env(safe-area-inset-top)) 14px calc(84px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;min-height:40px}.topbar .sub{color:var(--text-secondary);font-size:.82rem}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:20}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border-radius:var(--radius-sm);font-size:var(--t-micro);color:var(--text-muted);text-decoration:none;min-height:46px;justify-content:center;transition:color var(--transicion),background-color var(--transicion)}.tabbar a.active{color:var(--marca);background:color-mix(in srgb,var(--marca) 10%,transparent)}.tabbar a.active svg{stroke-width:2.1}.tabbar a:active{transform:scale(.94)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.card>h2,.card>h3{margin-bottom:10px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.hero{font-size:var(--cifra-lg);font-weight:650;letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.1}.card.principal{background:radial-gradient(120% 130% at 0% 0%,color-mix(in srgb,var(--marca) 13%,var(--surface-1)) 0%,var(--surface-1) 70%);border-color:color-mix(in srgb,var(--marca) 26%,transparent);box-shadow:var(--shadow-alta);padding:18px}.cifra-md{font-size:var(--cifra-md);font-weight:640;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cifra-sm{font-size:var(--cifra-sm);font-weight:600;font-variant-numeric:tabular-nums}.vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 16px}.vacio-icono{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:color-mix(in srgb,var(--marca) 12%,transparent);color:var(--marca);margin-bottom:4px}.vacio strong{font-size:var(--t-mayor)}.vacio p{margin:0;color:var(--text-secondary);font-size:var(--t-menor);max-width:34ch}.vacio button{margin-top:6px}.hueso{display:block;background:linear-gradient(90deg,var(--grid) 25%,color-mix(in srgb,var(--grid) 45%,var(--surface-1)) 50%,var(--grid) 75%);background-size:200% 100%;animation:brillo 1.4s ease-in-out infinite}@keyframes brillo{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.label{font-size:var(--t-micro);color:var(--text-muted);text-transform:uppercase;letter-spacing:.055em;font-weight:600}.muted{color:var(--text-muted);font-size:.8rem}.num{font-variant-numeric:tabular-nums}.right{text-align:right}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stack{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wrap{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:.74rem;border:1px solid var(--border);background:var(--plane);color:var(--text-secondary);white-space:nowrap}.pill.good{color:var(--good-text);border-color:color-mix(in srgb,var(--good) 45%,transparent)}.pill.alert{color:var(--critical);border-color:color-mix(in srgb,var(--critical) 45%,transparent)}.pill.warn{color:var(--text-primary);border-color:color-mix(in srgb,var(--warning) 60%,transparent)}.dot{width:9px;height:9px;border-radius:3px;flex:none;display:inline-block}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--plane);font-size:16px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--series-1);outline-offset:1px}textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}label.field{display:block;margin-bottom:10px}label.field>span{display:block;font-size:.78rem;color:var(--text-secondary);margin-bottom:4px}button{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-1);cursor:pointer;min-height:44px;transition:transform var(--transicion),background-color var(--transicion),opacity var(--transicion)}button:active:not(:disabled){transform:scale(.97)}@media (hover: hover){button:hover:not(:disabled){background:color-mix(in srgb,var(--text-primary) 5%,var(--surface-1))}button.primary:hover:not(:disabled){background:color-mix(in srgb,#000 8%,var(--marca))}}button.primary{background:var(--marca);border-color:transparent;color:#fff;font-weight:560}button.ghost{background:transparent}button.danger{color:var(--critical)}button.small{min-height:34px;padding:5px 10px;font-size:.82rem}button:disabled{opacity:.55;cursor:default}.tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:12px;padding-bottom:2px}.tabs button{white-space:nowrap;min-height:36px;padding:6px 12px;font-size:.86rem}.tabs button.active{background:var(--series-1);color:#fff;border-color:transparent}.error{background:color-mix(in srgb,var(--critical) 12%,var(--surface-1));border:1px solid color-mix(in srgb,var(--critical) 40%,transparent);color:var(--text-primary);padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:.88rem}.ok{background:color-mix(in srgb,var(--good) 12%,var(--surface-1));border:1px solid color-mix(in srgb,var(--good) 40%,transparent);padding:10px 12px;border-radius:10px;margin-bottom:10px;font-size:.88rem}.list{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--grid)}.item:last-child{border-bottom:none}.item .body{min-width:0;flex:1}.item .title{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .meta{font-size:.75rem;color:var(--text-muted)}.item .meta.una-linea{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item .amount{font-variant-numeric:tabular-nums;font-weight:560;white-space:nowrap}.item .actions{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chart-scroll{overflow-x:auto}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--text-secondary);margin-bottom:8px}.legend span{display:inline-flex;align-items:center;gap:6px}table.data{width:100%;border-collapse:collapse;font-size:.84rem}table.data th,table.data td{padding:6px 4px;border-bottom:1px solid var(--grid);text-align:right}table.data th:first-child,table.data td:first-child{text-align:left}table.data th{color:var(--text-secondary);font-weight:500}table.data td.num{font-variant-numeric:tabular-nums}details.table-view summary{font-size:.8rem;color:var(--text-secondary);cursor:pointer;margin-top:8px}.cambio-modo{display:inline-flex;gap:2px;margin-top:8px;padding:3px;border-radius:999px;background:var(--plane);border:1px solid var(--border)}.cambio-modo button{min-height:30px;padding:4px 16px;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);font-size:.86rem;font-weight:560;box-shadow:none}.cambio-modo button.activo{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 2px #1018281f}.alerta{display:block;margin-top:4px;color:var(--critical);font-size:.84rem;font-style:normal}details.plegable>summary{cursor:pointer;list-style-position:outside}details.plegable>summary strong{display:block}details.plegable>summary .muted{display:block;margin-top:4px;font-size:.9rem}details.plegable[open]>summary{margin-bottom:4px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:40}.sheet{background:var(--surface-1);width:100%;max-width:720px;max-height:90vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:16px 14px calc(20px + env(safe-area-inset-bottom))}@media (min-width: 640px){.sheet-backdrop{align-items:center}.sheet{border-radius:18px;margin:20px}}.cabecera{position:sticky;top:0;z-index:15;margin:0 -14px 14px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:color-mix(in srgb,var(--plane) 86%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--border)}.cabecera-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.cabecera-marca{display:flex;align-items:center;gap:10px;min-width:0}.cabecera-nombre{display:flex;flex-direction:column;line-height:1.15;min-width:0}.cabecera-nombre strong{font-size:1.02rem;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cabecera-nombre span{font-size:var(--t-micro);color:var(--text-muted);letter-spacing:.02em}.selector-mes{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-top:10px;background:color-mix(in srgb,var(--text-primary) 5%,transparent);border-radius:var(--radius-sm);padding:3px}.selector-mes button{min-height:32px;padding:0;border:none;background:transparent;color:var(--text-secondary);font-size:1.15rem;line-height:1;border-radius:8px}.selector-mes button:disabled{opacity:.3}@media (hover: hover){.selector-mes button:hover:not(:disabled){background:var(--surface-1)}}.selector-mes-actual{text-align:center;font-size:var(--t-base);font-weight:600;text-transform:capitalize;letter-spacing:-.01em}.tabbar a{position:relative}.tabbar a.active:before{content:"";position:absolute;top:0;width:18px;height:3px;border-radius:0 0 3px 3px;background:var(--marca)}.pill{font-weight:560;padding:4px 10px}.pill.good{background:color-mix(in srgb,var(--good) 10%,var(--surface-1))}.pill.alert{background:color-mix(in srgb,var(--critical) 10%,var(--surface-1))}.pill.warn{background:color-mix(in srgb,var(--warning) 14%,var(--surface-1))}.item{transition:background-color var(--transicion)}.list>button.item{width:100%;padding:10px 0;min-height:0;text-align:left;font:inherit;color:inherit;background:transparent;border:none;border-bottom:1px solid var(--grid);border-radius:0;box-shadow:none;cursor:pointer}.list>button.item:last-child{border-bottom:none}.list>button.item:active{background:color-mix(in srgb,var(--text-primary) 4%,transparent)}.label{text-wrap:balance}.campo-oculto{padding:10px 12px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--plane);color:var(--text-muted);font-size:16px;letter-spacing:.3em;min-height:44px;display:flex;align-items:center}.ficha{display:inline-grid;place-items:center;border-radius:11px;flex:none;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.ficha.avatar{border-radius:50%;color:#fff;font-weight:650;font-family:inherit;letter-spacing:.02em}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;margin:0 -2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chips{scrollbar-width:none}.chip{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:72px;padding:9px 6px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface-1);font-size:var(--t-micro);color:var(--text-secondary);text-align:center;scroll-snap-align:start;min-height:0;line-height:1.15;transition:border-color var(--transicion),background-color var(--transicion)}.chip.activo{border-color:var(--marca);background:color-mix(in srgb,var(--marca) 9%,var(--surface-1));color:var(--text-primary);font-weight:600}.chip span.nombre{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.segmentado{display:flex;gap:3px;padding:3px;background:color-mix(in srgb,var(--text-primary) 5%,transparent);border-radius:var(--radius-sm)}.segmentado button{flex:1;min-height:38px;padding:6px 8px;border:none;background:transparent;border-radius:8px;font-size:var(--t-menor);color:var(--text-secondary)}.segmentado button.activo{background:var(--surface-1);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow)}.monto-grande{display:flex;align-items:baseline;justify-content:center;gap:6px;padding:14px 0 6px}.monto-grande input{border:none;background:transparent;text-align:center;font-size:2.3rem;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums;padding:0;width:100%;min-height:0}.monto-grande input:focus-visible{outline:none}.monto-grande .simbolo{font-size:1.4rem;font-weight:600;color:var(--text-muted)}.chip span.nombre{overflow-wrap:break-word;max-width:100%}.chip{min-width:80px}
