:root{color-scheme:light;--navy: #06103e;--brand-blue: #018dff;--violet: #5b3eff;--brand-grad: linear-gradient(160deg, #018dff 0%, #06103e 100%);--page: #f4f6fd;--surface: #ffffff;--surface-2: #f2f4ff;--text-primary: #0b1020;--text-secondary: #4a4f63;--text-muted: #8a8ea0;--grid: #e4e7f2;--border: rgba(6, 16, 62, .1);--accent: #018dff;--ingresos: #018dff;--egresos: #e34948;--good: #0a7d3b;--good-bg: rgba(10, 125, 59, .1);--bad: #d03b3b;--bad-bg: rgba(208, 59, 59, .1);--warn: #b06f00;--warn-bg: rgba(250, 178, 25, .16);--info: #2563eb;--info-bg: rgba(37, 99, 235, .1);--hoy-bg: rgba(1, 141, 255, .12)}:root[data-theme=dark]{color-scheme:dark;--navy: #06103e;--brand-blue: #018dff;--violet: #7b63ff;--brand-grad: linear-gradient(160deg, #018dff 0%, #06103e 100%);--page: #070b1a;--surface: #0f152b;--surface-2: #17203f;--text-primary: #f2f5ff;--text-secondary: #b9c0d8;--text-muted: #7d84a0;--grid: #222c4a;--border: rgba(255, 255, 255, .1);--accent: #339dff;--ingresos: #339dff;--egresos: #e66767;--good: #2bd07a;--good-bg: rgba(43, 208, 122, .14);--bad: #e66767;--bad-bg: rgba(230, 103, 103, .14);--warn: #fab219;--warn-bg: rgba(250, 178, 25, .16);--info: #7dabff;--info-bg: rgba(125, 171, 255, .16);--hoy-bg: rgba(51, 157, 255, .18)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;min-height:100%}.appbar{position:sticky;top:0;z-index:46;display:flex;align-items:center;gap:16px;height:56px;padding:0 18px;background:var(--navy);background-image:linear-gradient(100deg,#018dff4d,#06103e00 52%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 2px 12px #06103e2e}.appbar-brand{flex:none;display:flex;align-items:center}.appbar-brand img{height:30px;width:auto;display:block}.appbar-burger{display:none;flex:none;width:34px;height:34px;border-radius:8px;cursor:pointer;background:#ffffff1f;color:#fff;border:none;font-size:16px;line-height:1}.appbar-burger:hover{background:#ffffff38}.topnav{display:flex;align-items:center;gap:2px;flex:1;min-width:0}.topnav-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 13px;border-radius:9px;color:#ffffffbd;font:inherit;font-weight:500;background:none;border:none;cursor:pointer}.topnav-link:hover{background:#ffffff1a;color:#fff}.topnav-link.active{background:var(--brand-blue);color:#fff;box-shadow:0 4px 14px #018dff59}.nav-icon{width:18px;text-align:center;opacity:.9}.caret{font-size:10px;opacity:.7;margin-left:1px}.topnav-group{position:relative}.topnav-menu{position:absolute;left:0;top:calc(100% + 9px);z-index:47;min-width:232px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 44px #06103e42;padding:6px;display:flex;flex-direction:column;gap:2px}.topnav-menu.der{left:auto;right:0}.topnav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;font:inherit;font-size:13px;color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer}.topnav-item:hover{background:var(--surface-2)}.topnav-item.active{background:var(--accent);color:#fff}.topnav-item-txt{display:flex;flex-direction:column;line-height:1.25}.topnav-item-txt small{font-size:11px;color:var(--text-muted)}.topnav-item.active .topnav-item-txt small{color:#fffc}.topnav-user-mail{padding:6px 10px 8px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:4px}.appbar-right{flex:none;display:flex;align-items:center;gap:8px}.appbar-icon{width:32px;height:32px;border-radius:8px;cursor:pointer;flex:none;background:#ffffff1a;color:#fff;border:none;font-size:15px;line-height:1}.appbar-icon:hover{background:#ffffff38}.appbar-org{color:#ffffff8c;font-size:12px;white-space:nowrap}.appbar-user{display:flex;align-items:center;gap:9px;max-width:260px;padding:4px 8px 4px 4px;border-radius:999px;cursor:pointer;background:#ffffff1a;color:#fff;border:none;font:inherit}.appbar-user:hover{background:#fff3}.appbar-avatar{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--brand-blue);color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}.appbar-user-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0;font-size:12px;font-weight:600;text-align:left}.appbar-user-txt,.appbar-user-txt small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar-user-txt small{font-size:10px;font-weight:500;color:#fff9}@media (max-width: 1080px){.appbar-burger{display:block}.topnav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:2px;padding:8px;background:var(--navy);border-bottom:1px solid var(--border);box-shadow:0 16px 32px #06103e4d}.topnav.abierto{display:flex}.topnav-link{justify-content:flex-start}.topnav-menu{position:static;box-shadow:none;margin:2px 0 4px 22px;min-width:0}.appbar-user-txt{display:none}}@media (max-width: 560px){.appbar-org{display:none}}.main{padding:22px 26px 60px;min-width:0}.topbar{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.topbar h1{font-size:21px;margin:0;letter-spacing:-.02em}.topbar .spacer{flex:1}.filtro-multi{display:inline-flex}.filtro-multi .btn.on{border-color:var(--accent);color:var(--accent)}.filtro-multi-n{display:inline-block;min-width:16px;margin-left:6px;padding:0 4px;border-radius:8px;background:var(--accent);color:#fff;font-size:11px;line-height:16px;text-align:center}.filtro-multi-panel{position:fixed;z-index:60;width:290px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px #0000002e;overflow:hidden}.filtro-multi-q{margin:8px;width:calc(100% - 16px)}.filtro-multi-lista{overflow:auto;overscroll-behavior:contain;padding:0 4px 4px}.filtro-multi-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:13px}.filtro-multi-item:hover{background:var(--surface-2)}.filtro-multi-item input{margin:0;flex:none}.filtro-multi-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filtro-multi-vacio{padding:10px;color:var(--text-muted);font-size:13px}.filtro-multi-pie{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-top:1px solid var(--border);font-size:12px;color:var(--text-muted)}.filtro-multi-pie .btn{padding:2px 10px;font-size:12px}.titulo-marca{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:none;margin-right:-4px}.titulo-marca.good{background:var(--good-bg);color:var(--good)}.titulo-marca.bad{background:var(--bad-bg);color:var(--bad)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px;padding:7px 12px;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);color:#fff;border-color:transparent}.btn.primary:hover{filter:brightness(1.05)}.btn.danger{background:var(--bad);color:#fff;border-color:transparent}.btn.danger:hover{filter:brightness(1.05)}.btn:disabled{opacity:.55;cursor:default}select,input,textarea{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:8px;padding:7px 10px;font:inherit}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:11px;color:var(--text-muted)}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.kpis-dash{grid-template-columns:repeat(4,1fr)}@media (max-width: 1100px){.kpis-dash{grid-template-columns:repeat(2,1fr)}}@media (max-width: 620px){.kpis-dash{grid-template-columns:1fr}}.cols-2{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.card h3{margin:0 0 2px;font-size:13px;color:var(--text-secondary);font-weight:600}.card .card-sub{color:var(--text-muted);font-size:11px;margin-bottom:12px}.kpi .kpi-label{color:var(--text-secondary);font-size:12px;font-weight:600}.kpi .kpi-value{font-size:25px;font-weight:680;letter-spacing:-.02em;margin-top:6px}.kpi .kpi-foot{color:var(--text-muted);font-size:11px;margin-top:4px}.kpi .kpi-value.good{color:var(--good)}.kpi .kpi-value.warn{color:var(--warn)}.kpi .kpi-value.bad{color:var(--bad)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-size:13px}table.data th,table.data td{padding:9px 12px;text-align:left;white-space:nowrap}table.data thead th{position:sticky;top:0;background:var(--surface-2);color:var(--text-secondary);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border-bottom:1px solid var(--border)}table.data tbody tr{border-bottom:1px solid var(--grid)}table.data tbody tr:hover{background:var(--surface-2)}table.data td.num{text-align:right;font-variant-numeric:tabular-nums}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.pill.good{background:var(--good-bg);color:var(--good)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.info{background:var(--info-bg);color:var(--info)}.pill.mut{background:var(--surface-2);color:var(--text-secondary)}.muted{color:var(--text-muted)}.right{text-align:right}.num{font-variant-numeric:tabular-nums}.banner{background:var(--bad-bg);color:var(--bad);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:16px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin-top:8px}.tag-chips{display:inline-flex;gap:4px;align-items:center;overflow:hidden}.tag-chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;white-space:nowrap;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.tag-chip.active{cursor:pointer;background:var(--accent);color:#fff;border-color:transparent}.autotag-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--accent);border-radius:10px;padding:10px 12px;margin-bottom:12px}.at-badge{background:var(--accent);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}.at-field{display:flex;align-items:center;gap:6px}.at-field>span{font-size:12px;color:var(--text-muted)}.at-field input{min-width:220px}.fecha-vencida{display:inline-flex;align-items:center;gap:6px;color:var(--bad);font-weight:600}.tbd{font-style:italic;color:var(--text-muted)}.toast-vencidos{position:fixed;right:20px;bottom:20px;z-index:25;width:420px;max-width:calc(100vw - 40px);background:var(--surface);border:1px solid var(--bad);border-left-width:4px;border-radius:12px;box-shadow:0 16px 40px #06103e38;padding:14px 16px;animation:toast-in .22s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.toast-x{position:absolute;top:8px;right:8px;border:none;background:none;cursor:pointer;color:var(--text-muted);font-size:14px;line-height:1;padding:4px 6px;border-radius:6px}.toast-x:hover{background:var(--surface-2);color:var(--text-primary)}.toast-head{display:flex;gap:10px;align-items:center;padding-right:20px}.toast-icon{color:var(--bad);display:grid;place-items:center}.toast-head .muted{font-size:12px}.toast-lista{list-style:none;margin:10px 0 0;padding:0;max-height:190px;overflow:auto}.toast-lista li{display:flex;gap:8px;align-items:baseline;padding:5px 0;font-size:12px}.toast-lista li+li{border-top:1px solid var(--border)}.toast-dias{color:var(--bad);white-space:nowrap;font-weight:600}.toast-txt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-actions{display:flex;gap:8px;margin-top:12px}.btn.vencidos{border-color:var(--bad);color:var(--bad)}.btn.vencidos.on{background:var(--bad);color:#fff;border-color:transparent}.sel-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--bad);border-radius:10px;padding:10px 12px;margin-bottom:12px}.sel-badge{background:var(--bad);color:#fff;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}.sel-aviso{color:var(--bad);font-size:12px}.sel-fecha{display:flex;align-items:center;gap:6px}.sel-fecha>span{font-size:12px;color:var(--text-muted)}.sel-lista{list-style:none;margin:12px 0 0;padding:0;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:8px}.sel-lista li{display:flex;gap:10px;align-items:baseline;padding:6px 10px;font-size:13px}.sel-lista li+li{border-top:1px solid var(--border)}.sel-lista-txt{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colchooser{position:relative}.colchooser-menu{position:absolute;left:0;top:calc(100% + 4px);z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #06103e2e;padding:8px;min-width:190px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;max-height:70vh}.colchooser-menu.dos-col{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:2px 10px}.colchooser-menu.arriba{top:auto;bottom:calc(100% + 4px)}.colchooser-menu.der{left:auto;right:0}.colchooser-menu label{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;font-size:13px;cursor:pointer}.colchooser-menu label:hover{background:var(--surface-2)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg-btn{border:none;background:var(--surface);color:var(--text-secondary);padding:5px 10px;font-size:12px;cursor:pointer}.seg-btn:not(:last-child){border-right:1px solid var(--border)}.seg-btn.on{background:var(--accent);color:#fff}.seg-btn:hover:not(.on){background:var(--surface-2)}.legend .dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:middle}.loading{color:var(--text-muted);padding:40px;text-align:center}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#06103e73;display:grid;place-items:center;padding:20px;z-index:50}.modal{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(640px,100%);max-height:90vh;overflow:hidden;box-shadow:0 24px 60px #06103e47}.modal.xl{width:min(1160px,100%)}.modal-scroll{overflow-y:auto;padding:22px 24px}.modal-x{position:absolute;top:12px;right:12px;z-index:2;border:none;background:var(--surface);color:var(--text-muted);font-size:16px;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.modal-x:hover{background:var(--surface-2);color:var(--text)}.modal h2{margin:0 0 2px;font-size:18px}.modal .modal-sub{color:var(--text-muted);font-size:12px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1 / -1}.form-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.wide .span-2{grid-column:span 2}.form-grid.wide .span-3{grid-column:span 3}@media (max-width: 1000px){.form-grid.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.wide .span-2,.form-grid.wide .span-3{grid-column:1 / -1}}@media (max-width: 560px){.form-grid.wide{grid-template-columns:1fr}}.visor-doc{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;align-items:start}.visor-doc-pdf{min-width:0;height:70vh;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-2)}.visor-pdf{display:flex;flex-direction:column;height:100%}.visor-pdf-hoja{flex:1;min-height:0;overflow:auto;padding:8px}.visor-pdf-paginas{display:flex;flex-direction:column;align-items:center;gap:8px}.visor-pdf-pagina{display:block;max-width:100%;background:#fff;border:1px solid var(--border);border-radius:4px}.visor-pdf-barra{display:flex;align-items:center;gap:6px;padding:6px 8px;border-top:1px solid var(--border);background:var(--surface)}.visor-pdf-barra .btn{padding:2px 10px;font-size:12px}.visor-pdf-pags{margin-left:auto;font-size:12px;color:var(--text-muted)}.visor-doc-datos{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;align-content:start}.visor-doc-datos dt{color:var(--text-muted);white-space:nowrap}.visor-doc-datos dd{margin:0;overflow-wrap:anywhere}@media (max-width: 860px){.visor-doc{grid-template-columns:1fr}.visor-doc-pdf{height:50vh}}.form-grid label{font-size:11px;color:var(--text-muted);display:block;margin-bottom:3px}.form-grid input,.form-grid select,.form-grid textarea{width:100%}.form-grid textarea{resize:vertical}.form-grid input[type=checkbox]{width:auto}.form-grid .unidad-aplica{display:flex;gap:22px;padding:4px 0}.form-grid .unidad-aplica label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);margin:0}.form-grid label.with-action{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.form-grid label.with-action .auto{color:var(--text-muted)}.form-grid label.with-action .linkbtn{background:none;border:0;padding:0;font-size:11px;color:var(--accent);cursor:pointer}.form-grid label.with-action .linkbtn:hover{text-decoration:underline}.form-grid label.with-action .linkbtn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-grid .calc{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);padding:7px 10px;color:var(--text-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.form-error{background:var(--bad-bg);color:var(--bad);border-radius:8px;padding:10px 12px;margin-top:14px;font-size:13px}.zoom-tabla{display:inline-flex}.zoom-tabla .btn{border-radius:0;margin-left:-1px}.zoom-tabla .btn:first-child{border-radius:8px 0 0 8px;margin-left:0}.zoom-tabla .btn:last-child{border-radius:0 8px 8px 0}.zoom-tabla .zoom-pct{min-width:54px;font-variant-numeric:tabular-nums;color:var(--text-muted)}.zoom-tabla .zoom-pct:disabled{opacity:1}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab{background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:9px 16px;font:inherit;font-weight:600;color:var(--text-muted);cursor:pointer}.tab:hover{color:var(--text-primary)}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.bi-campo{display:inline-flex;align-items:center;gap:6px}.bi-campo>span{font-size:12px;color:var(--text-muted)}.pivot-wrap{max-height:62vh;overflow:auto}table.data.pivot{font-variant-numeric:tabular-nums}table.data.pivot th,table.data.pivot td{border-bottom:1px solid var(--grid)}table.data.pivot thead th{z-index:2;text-transform:none;font-size:12px;letter-spacing:0;cursor:default}table.data.pivot thead th.num,table.data.pivot td.num{text-align:right}table.data.pivot .pivot-mes,table.data.pivot .pivot-esq{position:sticky;left:0;background:var(--surface);text-align:left;font-weight:600;white-space:nowrap}table.data.pivot thead .pivot-esq{z-index:3;background:var(--surface-2)}table.data.pivot tbody tr:hover .pivot-mes{background:var(--surface-2)}table.data.pivot .pivot-total{position:sticky;right:0;background:var(--surface);font-weight:700;border-left:1px solid var(--border)}table.data.pivot thead .pivot-total{z-index:3;background:var(--surface-2)}table.data.pivot tfoot td,table.data.pivot tfoot th{position:sticky;bottom:0;background:var(--surface-2);font-weight:700;border-top:1px solid var(--border)}table.data.pivot tfoot .pivot-mes,table.data.pivot tfoot .pivot-total{z-index:3;background:var(--surface-2)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar .spacer{flex:1}.searchwrap{position:relative;margin:0 auto;flex:1 1 auto;max-width:560px;display:flex}.searchwrap input{width:100%;min-width:260px;padding-right:34px}.search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:var(--surface-2);color:var(--text-secondary);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:12px;display:grid;place-items:center;line-height:1}.search-clear:hover{background:var(--accent);color:#fff}.menu-item{border:none;background:none;text-align:left;padding:7px 10px;border-radius:6px;font:inherit;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:8px}.menu-item:hover{background:var(--surface-2)}.menu-item.danger{color:var(--bad)}.row-menu{position:fixed;z-index:100;min-width:160px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #06103e2e;padding:6px;display:flex;flex-direction:column;gap:2px}.flow-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--surface);padding:16px 20px;display:flex;flex-direction:column;overflow:auto}.fs-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.fs-head .spacer{flex:1}table.data th.center,table.data td.center{text-align:center}.daterange .btn{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dr-panel{position:fixed;z-index:70;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 44px #06103e38;padding:12px;max-height:calc(100vh - 16px);overflow-y:auto;overscroll-behavior:contain}.dr-body{display:flex;gap:14px}.dr-presets-col{display:flex;flex-direction:column;gap:1px;min-width:150px;border-right:1px solid var(--border);padding-right:10px}.dr-preset{border:none;background:none;color:var(--text);border-radius:6px;padding:4px 10px;font:inherit;font-size:13px;line-height:1.25;cursor:pointer;text-align:left}.dr-preset:hover{background:var(--surface-2)}.dr-preset.on{background:var(--accent);color:#fff}.dr-all{margin-top:3px;padding-top:5px;border-top:1px solid var(--border);border-radius:6px}.dr-right{flex:1;display:flex;flex-direction:column;gap:10px}.dr-inputs{display:flex;align-items:center;gap:8px}.dr-inputs input{flex:1}.dr-inputs span{color:var(--text-muted)}.dr-cals{display:flex;align-items:flex-start;gap:8px}.dr-nav{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:16px;line-height:1;margin-top:2px}.dr-nav:hover{background:var(--surface-2)}.dr-cal{flex:1}.dr-cal-title{text-align:center;font-size:13px;font-weight:600;margin-bottom:6px}.dr-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dr-dow{text-align:center;font-size:10px;color:var(--text-muted);padding:2px 0}.dr-day{border:none;background:none;color:var(--text);border-radius:6px;height:30px;font:inherit;font-size:12px;cursor:pointer}.dr-day:hover{background:var(--surface-2)}.dr-day.mid{background:var(--accent-soft, rgba(1, 141, 255, .14));border-radius:0}.dr-day.sel{background:var(--accent);color:#fff;font-weight:600}.dr-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;border-top:1px solid var(--border);padding-top:8px}@media (max-width: 720px){.dr-cal-2{display:none}.dr-presets-col{min-width:120px}}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0}.icon-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-secondary);cursor:pointer}.icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.icon-btn.danger:hover{color:var(--bad);border-color:var(--bad)}.icon-actions{display:inline-flex;gap:6px}.celda-editable{background:#38bdf81a;cursor:text}.celda-editable:hover{background:#38bdf82e}.ag-row.fila-pasada .ag-cell{color:var(--text-muted);font-style:italic}.ag-row.fila-pasada .ag-cell[col-id=fecha]{text-decoration:line-through}.ag-row.fila-hoy{background-color:var(--hoy-bg)!important;font-weight:700;box-shadow:inset 3px 0 0 0 var(--accent)}.ret-uvt{display:flex;gap:14px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:var(--warn-bg);border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:13px}.ret-uvt-campo{display:flex;gap:8px;align-items:center}.ret-uvt-campo input{width:140px}.ret-bloqueo{background:var(--info-bg);border-radius:10px;padding:14px;font-size:13px}.ret-bloqueo p{margin:6px 0 0;line-height:1.5}.ret-subida{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.ret-nota{font-size:11px;margin-top:4px;line-height:1.45}.ret-nota.ok{color:var(--good)}.ret-nota.warn{color:var(--warn)}.ret-checks{display:flex;gap:20px;flex-wrap:wrap}.ret-checks label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);margin:0}.ret-checks input{width:auto}.ret-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:13px}.ret-total{font-size:19px;font-weight:650;font-variant-numeric:tabular-nums}.ret-motivos{list-style:none;margin:10px 0 0;padding:0;font-size:11.5px;color:var(--text-secondary)}.ret-motivos li{padding:3px 0;line-height:1.45}.ret-neto{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--surface-2);border-radius:10px;padding:14px 16px;margin-top:14px}.ret-retenido{font-size:19px;font-weight:650;color:var(--bad);font-variant-numeric:tabular-nums}.ret-neto-valor{font-size:25px;font-weight:700;color:var(--good);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ag-grid-pinned-bottom-rows{border-top:2px solid var(--border)}.ag-row-pinned{background:var(--surface-2)!important}.ag-row-pinned .ag-cell{font-weight:700;font-variant-numeric:tabular-nums}.ret-docs{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ret-docs label{font-size:11px;color:var(--text-muted);display:block;margin-bottom:5px}.ret-docs input[type=file]{width:100%}.ret-correcciones{margin-top:16px}.ret-correcciones summary{font-size:12px;color:var(--text-secondary);cursor:pointer}.ret-correcciones summary:hover{color:var(--text-primary)}.ret-doc-tabs{display:flex;gap:6px;margin-bottom:8px}.ret-doc-tabs .btn{font-size:12px;padding:5px 10px}.linkbtn.danger{color:var(--bad)}.zona-archivo{border:2px dashed var(--border);border-radius:12px;background:var(--surface);padding:16px 14px;cursor:pointer;transition:border-color .12s,background .12s;display:flex;align-items:center;min-height:84px}.zona-archivo:hover{border-color:var(--accent);background:var(--surface-2)}.zona-archivo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.zona-archivo.encima{border-color:var(--accent);border-style:solid;background:var(--hoy-bg)}.zona-archivo.con-archivo{border-style:solid;border-color:var(--good)}.zona-archivo.inhabilitada{opacity:.55;cursor:default}.zona-archivo input[type=file]{display:none}.zona-archivo-vacia,.zona-archivo-puesto{display:flex;align-items:center;gap:12px;width:100%}.zona-archivo-icono{font-size:22px;line-height:1;flex:none;opacity:.8}.zona-archivo-txt{display:flex;flex-direction:column;min-width:0;flex:1}.zona-archivo-txt strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zona-archivo-txt small{font-size:11px;color:var(--text-muted)}.tabla-ret tbody{border-bottom:1px solid var(--grid)}.tabla-ret tbody:last-child{border-bottom:none}.tabla-ret tbody tr:hover{background:none}.tabla-ret tbody:hover{background:var(--surface-2)}.tabla-ret .tabla-ret-motivo td{padding-top:0;padding-bottom:10px;font-size:11.5px;color:var(--text-secondary);line-height:1.45;white-space:normal}.ventana-meses{display:inline-flex;align-items:center;gap:6px}.ventana-meses>span{font-size:12px;margin-right:2px}.ventana-meses .btn{padding:6px 10px}.saldo-banco-campo{display:flex;gap:8px;align-items:center;margin:6px 0 4px}.saldo-banco-campo input{flex:1;min-width:0;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.saldo-banco .kpi-foot{margin-top:2px}.balance-negativo{color:var(--bad);font-weight:650}.flujo-tablero{display:grid;gap:16px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(560px,760px)}@media (max-width: 1280px){.flujo-tablero{grid-template-columns:minmax(0,1fr)}}.kpis-compacto{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.kpis-compacto .card{padding:9px 13px}.kpis-compacto .kpi-label{font-size:11px}.kpis-compacto .kpi-value{font-size:18px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpis-compacto .kpi-foot{font-size:10px;margin-top:1px}.kpis-compacto .saldo-banco-campo{margin:3px 0 2px}.kpis-compacto .saldo-banco-campo input{font-size:16px;padding:5px 8px}.kpis-compacto .saldo-banco-campo .btn{padding:5px 10px;font-size:12px}@media (max-width: 1100px){.kpis-compacto{grid-template-columns:repeat(2,1fr)}}.banner-compacto{padding:7px 12px;margin-bottom:12px;font-size:12px;line-height:1.45}.col-centrada .ag-header-cell-label{justify-content:center}.flujo-controles{display:flex;align-items:center;gap:8px;flex:none}.ventana-select{padding:6px 10px;font-size:12px;cursor:pointer}.guardado-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;white-space:nowrap;background:var(--surface-2);color:var(--text-secondary)}.guardado-chip.ok{background:var(--good-bg);color:var(--good)}.guardado-chip.error{background:var(--bad-bg);color:var(--bad);white-space:normal}.guardado-chip .search-clear{margin-left:2px}.girando{animation:girar .9s linear infinite;transform-origin:50% 50%}@keyframes girar{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.girando{animation:none}}.form-aviso{display:flex;align-items:center;gap:8px;background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:10px 12px;margin:10px 0;font-size:13px}.fila-captura{background:var(--hoy-bg)!important;box-shadow:inset 3px 0 0 0 var(--accent)}.fila-captura .ag-cell{border-color:transparent}.icon-btn.ok:hover{color:var(--good);border-color:var(--good)}.fila-captura .ag-cell:has(.ag-cell-value:empty):before{position:absolute;top:0;bottom:0;display:flex;align-items:center;color:var(--text-muted);font-style:italic;white-space:nowrap;pointer-events:none}.fila-captura .ag-cell[col-id=concepto]:has(.ag-cell-value:empty):before{content:"Escribe aquí un registro nuevo, o pega un bloque de Excel con Ctrl+V"}.fila-captura .ag-cell[col-id=valor]:has(.ag-cell-value:empty):before{content:"valor"}.editor-sugerido{width:100%;height:100%;display:flex;align-items:center}.editor-sugerido input{width:100%}.pegar-cuenta{margin:0 0 12px;font-size:14px}.pegar-sub{margin:16px 0 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.pegar-problemas{margin:6px 0 0;padding-left:18px}.pegar-problemas code{background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:12px}.kpis-cartera{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.kpis-cartera{grid-template-columns:repeat(2,1fr)}}@media (max-width: 520px){.kpis-cartera{grid-template-columns:1fr}}.card-nota{color:var(--text-muted);font-size:11px;line-height:1.45;margin-top:10px}table.data.pivot.edades .edades-total{font-weight:700;border-left:1px solid var(--border)}table.data.pivot.edades tbody tr.sel .pivot-mes{box-shadow:inset 3px 0 0 var(--accent)}.edades .dot,.rango-celda .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:middle}.celda-btn{background:none;border:none;padding:2px 6px;margin:-2px -6px;border-radius:6px;font:inherit;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums}.celda-btn:hover{background:var(--surface-2);color:var(--accent)}.celda-btn.sel{background:var(--accent);color:#fff}.plazo-atipico{color:var(--warn);font-weight:600}.dias-vencida{color:var(--bad);font-weight:600}.recordatorio-opciones{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:14px}.recordatorio-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.recordatorio-etiqueta{display:block;font-size:11px;color:var(--text-muted);margin:10px 0 3px}.recordatorio-asunto{display:flex;gap:8px}.recordatorio-asunto input{flex:1;min-width:0}.recordatorio-mensaje{background:#fff;color:#000;border:1px solid var(--border);border-radius:8px;padding:16px 18px 4px;max-height:46vh;overflow:auto}.recordatorio-grupo input{padding:3px 8px;width:210px}.campo-formula{margin-top:4px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.campo-formula.invalida{color:var(--bad)}.editor-monto{background:var(--surface, #fff);padding:4px 6px;min-width:180px}.editor-monto input{width:100%;text-align:right}.editor-monto .campo-formula{text-align:right}.celda-formula:before{content:"ƒx";float:left;font-size:10px;font-style:italic;color:var(--text-muted)}
