@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);:root{--bg:#f5f6f8;--surface:#fff;--surface-2:#fafbfc;--text:#101422;--text-2:#48505e;--text-3:#667085;--border:#10162814;--border-2:#10162821;--brand:#4f46e5;--brand-2:#6d5cf5;--brand-soft:#eef0fe;--success:#16a34a;--success-soft:#e7f6ed;--danger:#dc2626;--danger-soft:#fdeaea;--warning:#d97706;--warning-soft:#fff6e6;--radius:16px;--radius-sm:10px;--hover:#f6f7fb;--disabled:#c7cad6;--ring:0 0 0 3px var(--brand-soft);--shadow-sm:0 1px 2px #1018280d,0 1px 3px #1018280d;--shadow-md:0 1px 2px #1018280a,0 8px 22px -6px #1018281a;--shadow-lg:0 20px 48px -12px #1018282e;--shadow:var(--shadow-md)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-feature-settings:"tnum";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f8;color:#101422;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-variant-numeric:tabular-nums;margin:0}h1,h2,h3,h4{letter-spacing:-.021em}code{font-family:SF Mono,Menlo,Monaco,Consolas,monospace}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-family:inherit;font-variant-numeric:inherit}input,select,textarea{color:#101422;color:var(--text)}input:disabled,select:disabled,textarea:disabled{color:#667085;color:var(--text-3)}::selection{background:#eef0fe;background:var(--brand-soft);color:#101422;color:var(--text)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text)}.app{min-height:100vh}.recharts-surface,.recharts-surface:focus,.recharts-surface:focus-visible,.recharts-wrapper,.recharts-wrapper :focus,.recharts-wrapper :focus-visible,.recharts-wrapper:focus,.recharts-wrapper:focus-visible{-webkit-tap-highlight-color:transparent;outline:none!important}rect.recharts-tooltip-cursor{fill:#0000!important}.login-page{align-items:center;background:linear-gradient(135deg,#4f46e5,#6366f1 50%,#818cf8);display:flex;justify-content:center;min-height:100vh}.login-card{background:#fff;border-radius:20px;box-shadow:0 24px 60px #0f172a40;padding:40px;width:400px}.login-card h1{color:var(--brand);font-size:26px;font-weight:700;margin-bottom:6px}.login-card p{color:var(--text-2);font-size:14px;margin-bottom:26px}.form-group{margin-bottom:16px}.form-group label{color:var(--text-2);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-group input{border:1px solid var(--border);border-radius:10px;font-size:15px;outline:none;padding:12px 14px;transition:border-color .15s;width:100%}.form-group input:focus{border-color:var(--brand);box-shadow:var(--ring)}.btn-primary{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--brand);border:1px solid #0000;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;line-height:1.2;padding:9px 16px;transition:filter .15s,transform .12s ease;width:auto}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:active:not(:disabled){filter:brightness(.96);transform:scale(.985)}.btn-primary:disabled{background:var(--disabled);cursor:not-allowed}.login-card .btn-primary,.sync-card>.btn-primary,form>.btn-primary{font-size:16px;min-height:44px;padding:12px;width:100%}.error-msg{background:var(--danger-soft);color:var(--danger)}.error-msg,.progress-msg{border-radius:8px;font-size:13px;margin-top:12px;padding:10px}.progress-msg{background:var(--brand-soft);color:var(--brand)}.extension-hint{border-top:1px solid var(--border);color:var(--text-2);font-size:12px;margin-top:20px;padding-top:20px;text-align:center}.dashboard{display:flex;min-height:100vh}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;height:100dvh;overflow-y:auto;padding:22px 0;position:-webkit-sticky;position:sticky;top:0;width:250px}.sidebar-logo{padding:0 22px 18px}.sidebar-logo h2{color:var(--brand);font-size:22px;font-weight:700;letter-spacing:-.02em}.sidebar-logo p{color:var(--text-3);font-size:12px;margin-top:2px}.sidebar-nav{flex:1 1;overflow-y:auto;padding:8px 12px}.nav-item{align-items:center;border-radius:10px;color:var(--text-2);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin:2px 0;padding:10px 14px;transition:background .12s,color .12s}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item:focus-visible{background:var(--hover);box-shadow:0 0 0 2px var(--brand);color:var(--text);outline:none}.nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding:16px 22px calc(16px + env(safe-area-inset-bottom))}.sidebar-footer button,.sidebar-footer p{color:var(--text-2);font-size:12px}.sidebar-footer button{background:#fff;border:1px solid var(--border);border-radius:8px;cursor:pointer;font-weight:500;margin-top:10px;padding:7px 14px}.sidebar-footer button:hover{background:var(--hover)}.main{flex:1 1;overflow-y:auto;padding:30px 34px}.main-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.main-header h1{font-size:24px;font-weight:700;letter-spacing:-.02em}.btn-sync{align-items:center;background:var(--brand);border:none;border-radius:10px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;min-height:42px;padding:10px 18px;transition:filter .15s,transform .12s ease}.btn-sync:hover:not(:disabled){filter:brightness(1.08)}.btn-sync:active:not(:disabled){filter:brightness(.96);transform:scale(.985)}.btn-sync:disabled{background:var(--disabled);cursor:not-allowed}[role=button]:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.form-group input:focus-visible{outline:none}.cards-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:20px}.cards-grid>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px}.card-label{color:var(--text-2);font-size:12px;font-weight:500}.card-value{font-feature-settings:"tnum";color:var(--text);font-size:26px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;margin-top:8px}.card-sub{color:var(--text-3);font-size:12px;margin-top:6px}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.charts-grid>*{min-width:0}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.chart-card h3{color:var(--text);font-size:15px;font-weight:600;margin-bottom:14px}.chart-card.full{grid-column:1/-1}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;padding:22px}.table-card h3{color:var(--text);font-size:16px;font-weight:600;margin-bottom:14px}table{border-collapse:collapse;font-size:13.5px;width:100%}thead th{border-bottom:1px solid var(--border);color:var(--text-2);font-size:12px;font-weight:500;padding:10px 12px;text-align:left}tbody tr{transition:background .1s}tbody tr:hover{background:var(--hover)}tbody td{border-bottom:1px solid var(--border);color:var(--text);padding:11px 12px}tbody tr:last-child>td{border-bottom:none}.badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;line-height:1.5;padding:3px 10px}.badge-electronico{background:var(--success-soft);color:var(--success)}.badge-manual{background:var(--warning-soft);color:var(--warning)}.sync-overlay{align-items:center;background:#0f172a73;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:300}.sync-card{background:#fff;border-radius:18px;box-shadow:0 24px 60px #0f172a4d;padding:30px;width:460px}.sync-card h3{font-size:18px;font-weight:600;margin-bottom:16px}.sync-log{background:var(--hover);border-radius:10px;font-family:SF Mono,Menlo,monospace;font-size:12px;height:160px;margin-bottom:16px;overflow-y:auto;padding:14px}.sync-log p{color:var(--text-2);margin-bottom:4px}.sync-log p.ok{color:var(--success);font-weight:600}.sync-log p.err{color:var(--danger)}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);color:var(--text);overflow:hidden;padding:20px 22px;position:relative}.stat-label{color:var(--text-2);font-size:12.5px;font-weight:500}.stat-label,.stat-value{position:relative;z-index:1}.stat-value{font-feature-settings:"tnum";color:var(--text);font-size:27px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;margin-top:8px}.stat-sub{color:var(--text-3);font-size:12px;margin-top:6px;position:relative;z-index:1}.stat-blue,.stat-green,.stat-orange,.stat-purple,.stat-red{border-color:#0000;color:#fff}.stat-blue .stat-label,.stat-green .stat-label,.stat-orange .stat-label,.stat-purple .stat-label,.stat-red .stat-label{color:#ffffffe6}.stat-blue .stat-value,.stat-green .stat-value,.stat-orange .stat-value,.stat-purple .stat-value,.stat-red .stat-value{color:#fff}.stat-blue .stat-sub,.stat-green .stat-sub,.stat-orange .stat-sub,.stat-purple .stat-sub,.stat-red .stat-sub{color:#ffffffd9}.stat-blue:after,.stat-green:after,.stat-orange:after,.stat-purple:after,.stat-red:after{background:#ffffff1a;border-radius:50%;bottom:-40px;content:"";height:130px;position:absolute;right:-30px;width:130px}.stat-blue:before,.stat-green:before,.stat-orange:before,.stat-purple:before,.stat-red:before{background:#ffffff14;border-radius:50%;bottom:-60px;content:"";height:116px;position:absolute;right:26px;width:116px}.stat-blue{background:linear-gradient(140deg,#5479e8,#4059d2)}.stat-green{background:linear-gradient(140deg,#24ba95,#129a74)}.stat-orange{background:linear-gradient(140deg,#f4a648,#e6862a)}.stat-purple{background:linear-gradient(140deg,#9073ec,#7150e0)}.stat-red{background:linear-gradient(140deg,#f0645f,#db3f3f)}.legend{flex-wrap:wrap;gap:4px 12px}.legend,.legend-item{align-items:center;display:inline-flex}.legend-item{gap:5px;white-space:nowrap}.dot{background:var(--text-3);background:var(--dot-c,var(--text-3));border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.dot-danger{background:var(--danger)}.dot-success{background:var(--success)}.dot-warning{background:#e0a400}.dot-orange{background:#ea8a0b}.dot-brand{background:var(--brand)}.legend-dash{border-top:2px solid var(--dot-c,var(--text-3));display:inline-block;flex-shrink:0;height:0;width:15px}.legend-dash.dashed{border-top-style:dashed}.sec-title{align-items:center;display:inline-flex;gap:8px}.sec-title svg{color:var(--text-3);flex-shrink:0}.hamburguesa{background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;display:none;font-size:18px;height:40px;width:40px}.sidebar-backdrop,.tabbar{display:none}@media (max-width:1024px){.hamburguesa{align-items:center;display:inline-flex;justify-content:center}.sidebar{box-shadow:0 0 40px #0f172a26;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease;z-index:200}.sidebar.abierto{transform:translateX(0)}.sidebar-backdrop{background:#0f172a66;display:block;inset:0;position:fixed;z-index:150}.main{padding:20px 18px 86px}.charts-grid{grid-template-columns:1fr}.tabbar{background:#fff;border-top:1px solid var(--border);bottom:0;box-shadow:0 -1px 12px #0f172a0f;display:flex;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;transform:translateZ(0);z-index:140}.tabbar button{-webkit-tap-highlight-color:transparent;background:none;border:none;color:var(--text-3);cursor:pointer;flex:1 1;flex-direction:column;font-size:10.5px;font-weight:600;gap:2px;min-height:58px}.tabbar button,.tabbar button .ico{align-items:center;display:flex;justify-content:center}.tabbar button .ico{height:24px}.tabbar button.active{color:var(--brand)}}.comercio-rubro-movil,.solo-movil{display:none}@media (max-width:820px){.solo-movil{display:inline-flex;vertical-align:middle}.tabla-ing-conceptos td:nth-child(2),.tabla-ing-conceptos td:nth-child(3),.tabla-ing-conceptos th:nth-child(2),.tabla-ing-conceptos th:nth-child(3){display:none}.tabla-ing-conceptos{min-width:0;table-layout:fixed;width:100%}.tabla-ing-conceptos th:nth-child(4){width:116px}.tabla-ing-conceptos td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabla-ing-gastos td:nth-child(2),.tabla-ing-gastos td:nth-child(3),.tabla-ing-gastos td:nth-child(5),.tabla-ing-gastos th:nth-child(2),.tabla-ing-gastos th:nth-child(3),.tabla-ing-gastos th:nth-child(5){display:none}.tabla-ing-gastos{min-width:0;table-layout:fixed;width:100%}.tabla-ing-gastos th:nth-child(4){width:108px}.tabla-ing-gastos th:nth-child(6){width:72px}.tabla-ing-gastos td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabla-comercios td:nth-child(2),.tabla-comercios td:nth-child(3),.tabla-comercios td:nth-child(4),.tabla-comercios th:nth-child(2),.tabla-comercios th:nth-child(3),.tabla-comercios th:nth-child(4){display:none}.tabla-comercios{min-width:0;table-layout:fixed;width:100%}.tabla-comercios th:nth-child(5){width:128px}.tabla-comercios td:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabla-comercios td:nth-child(5),.tabla-comercios th:nth-child(5){text-align:right;white-space:nowrap}.comercio-rubro-movil{display:flex;white-space:normal}.tabla-fiscal td:nth-child(2),.tabla-fiscal td:nth-child(3),.tabla-fiscal th:nth-child(2),.tabla-fiscal th:nth-child(3){display:none}.tabla-fiscal{min-width:0;width:100%}.tabla-rubros td:nth-child(4),.tabla-rubros td:nth-child(5),.tabla-rubros th:nth-child(4),.tabla-rubros th:nth-child(5){display:none}.tabla-rubros{min-width:0;width:100%}.tabla-habitos td:nth-child(2),.tabla-habitos th:nth-child(2){display:none}.tabla-habitos{min-width:0;width:100%}.tabla-facturas td:nth-child(3),.tabla-facturas td:nth-child(4),.tabla-facturas td:nth-child(5),.tabla-facturas td:nth-child(6),.tabla-facturas td:nth-child(7),.tabla-facturas th:nth-child(3),.tabla-facturas th:nth-child(4),.tabla-facturas th:nth-child(5),.tabla-facturas th:nth-child(6),.tabla-facturas th:nth-child(7){display:none}.tabla-facturas{min-width:0;table-layout:fixed;width:100%}.tabla-facturas th:first-child{width:88px}.tabla-facturas th:nth-child(8){width:104px}.tabla-facturas td:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabla-iva-anual td:nth-child(2),.tabla-iva-anual td:nth-child(3),.tabla-iva-anual td:nth-child(4),.tabla-iva-anual th:nth-child(2),.tabla-iva-anual th:nth-child(3),.tabla-iva-anual th:nth-child(4){display:none}.tabla-iva-anual{min-width:0;width:100%}.tabla-iva-mes td:nth-child(2),.tabla-iva-mes td:nth-child(3),.tabla-iva-mes td:nth-child(4),.tabla-iva-mes td:nth-child(5),.tabla-iva-mes th:nth-child(2),.tabla-iva-mes th:nth-child(3),.tabla-iva-mes th:nth-child(4),.tabla-iva-mes th:nth-child(5){display:none}.tabla-iva-mes{min-width:0;width:100%}.tabla-iva-armar td:nth-child(3),.tabla-iva-armar td:nth-child(4),.tabla-iva-armar th:nth-child(3),.tabla-iva-armar th:nth-child(4){display:none}.tabla-iva-armar{min-width:0;width:100%}}@media (max-width:560px){.main{padding:16px 12px 86px}.oculto-movil{display:none!important}:root{--chip-pad:9px 14px}.main-header{align-items:flex-start}.main-header h1{font-size:19px}.cards-grid{gap:12px;grid-template-columns:1fr 1fr}.stat-value{font-size:21px}.card-value{font-size:22px}.card,.chart-card,.stat,.table-card{padding:16px}.table-card{overflow-x:auto}:where(.table-card) table{min-width:460px}.btn-sync{font-size:13px;padding:9px 14px}}@media (max-width:380px){.cards-grid{grid-template-columns:1fr}}@keyframes toastPop{0%{opacity:0;transform:translateY(20px) scale(.9)}60%{opacity:1;transform:translateY(-4px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flamePulse{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}@keyframes toastGlow{0%,to{box-shadow:0 12px 40px #4f46e52e}50%{box-shadow:0 12px 50px #4f46e573}}.game-toast{animation:toastPop .35s cubic-bezier(.2,.8,.3,1.2);bottom:24px;max-width:calc(100vw - 32px);position:fixed;right:24px;z-index:300}@media (max-width:1024px){.game-toast{bottom:calc(70px + env(safe-area-inset-bottom));left:auto;right:16px}}.game-toast.epic{animation:toastPop .35s cubic-bezier(.2,.8,.3,1.2),toastGlow 1.2s ease-in-out infinite;border-color:var(--brand)!important}.flame{animation:flamePulse 1.1s ease-in-out infinite;display:inline-block}.streak-badge{background:linear-gradient(135deg,#ff9a3c,#ff5e3a);color:#fff}@media print{.no-print{display:none!important}.print-overlay,body{background:#fff!important}.print-overlay{overflow:visible!important;position:static!important}.login-page:has(.print-overlay)>.login-card{display:none!important}.login-page:has(.print-overlay){background:#fff!important;display:block!important;min-height:auto!important}}@media (max-width:560px){.main-header{gap:10px}.main-header>div:last-child{gap:8px!important;justify-content:flex-start!important;width:100%}.main-header>div:last-child>div:has(>select){margin-left:auto}.main-header>div:last-child>div:last-child{width:100%}.main-header>div:last-child>div:last-child .btn-sync{min-height:46px;width:100%}.main-header>div:last-child>button:first-child{height:38px!important;width:38px!important}}