:root{--bg:#f7f3ee;--panel:#fff;--panel2:#f1e9dc;--border:#e3d7c4;--text:#2b211a;--muted:#8a7a68;--input:#fffdfa;--brand:#fcb316;--brand-dark:#623c2e;--accent:var(--brand-dark);--accent2:var(--brand-dark);--ok:#3f8f5f;--warn:#b8860b;--err:#b3382c;--frio:#4cc9f0;--sidebar-bg:#623c2e;--sidebar-text:#f5ead9;--sidebar-muted:#c9ac97;--sidebar-hover:#ffffff17;--sidebar-active-bg:#fcb316;--sidebar-active-text:#3d2318;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--th-bg:#f8f4f0}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg:#0f1720;--panel:#17212e;--panel2:#1e2a3a;--border:#2a3a4d;--text:#e7edf2;--muted:#8fa0b3;--input:#0c141d;--accent:#caa079;--ok:#4caf7d;--warn:#e0a92e;--err:#e5645a;--frio:#4cc9f0;--th-bg:#1b2634}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.45}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--accent) 40%, transparent) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 40%, transparent);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--accent) 70%, transparent)}#root{min-height:100vh}button,a.boton{background:var(--accent2);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;display:inline-block}button:hover,a.boton:hover{filter:brightness(.92)}button.secondary,a.boton.secondary{background:var(--panel);border:1px solid var(--border);color:var(--text);filter:none}button.secondary:hover,a.boton.secondary:hover{background:var(--panel2);filter:none}button.danger{background:var(--err)}button.small,a.boton.small{padding:4px 8px;font-size:12px}button:disabled{opacity:.5;cursor:not-allowed;filter:none}main{padding:18px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;padding:13px;box-shadow:0 1px 3px #623c2e12,0 1px 2px #623c2e0a}:root[data-theme=dark] .card{box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.card h2{font-family:var(--font-display);color:var(--brand-dark);text-transform:uppercase;letter-spacing:.03em;margin:0 0 10px;font-size:16px;font-weight:600}:root[data-theme=dark] .card h2{color:var(--accent)}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.field{flex-direction:column;gap:3px;min-width:130px;display:flex}.field label{color:var(--muted);font-size:11px}input,select{background:var(--input);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 8px;font-family:inherit;font-size:13px}input:focus,select:focus{outline:1px solid var(--accent)}input[type=checkbox]{width:16px;height:16px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.stat{background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.stat .lbl{color:var(--muted);text-transform:uppercase;font-size:11px}.stat .val{margin-top:2px;font-size:18px;font-weight:600}.stat.saldo-pos .val{color:var(--ok)}.stat.saldo-neg .val{color:var(--err)}.summary-grid-compact{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.summary-grid-compact .stat{padding:7px 9px}.summary-grid-compact .stat .lbl{font-size:10px}.summary-grid-compact .stat .val{margin-top:1px;font-size:14px}.bar-chart-legend{color:var(--muted);gap:16px;margin-bottom:10px;font-size:11.5px;display:flex}.bar-chart-legend span{align-items:center;gap:5px;display:inline-flex}.bar-chart-legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.bar-chart{gap:8px;margin-bottom:22px;display:flex}.bar-chart-axis{height:160px;color:var(--muted);text-align:right;white-space:nowrap;flex-direction:column;justify-content:space-between;padding-bottom:2px;font-size:10px;display:flex}.bar-chart-bars{border-bottom:1px solid var(--border);flex:1;align-items:flex-end;gap:3px;height:160px;padding-bottom:2px;display:flex}.bar-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:6px;height:100%;display:flex;position:relative}.bar-chart-stack{border-radius:3px 3px 0 0;flex-direction:column-reverse;width:100%;min-height:2px;display:flex;overflow:hidden}.bar-chart-seg{width:100%}.bar-chart-seg+.bar-chart-seg{border-top:2px solid var(--panel)}.bar-chart-label{color:var(--muted);white-space:nowrap;font-size:9px;position:absolute;bottom:-18px}table{border-collapse:collapse;width:100%;font-size:12.5px;line-height:1.3}.cuadro-tarifario-export table{font-size:20px}.cuadro-tarifario-export th,.cuadro-tarifario-export td{padding:10px 12px}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 7px}th{color:var(--brand-dark);background:var(--th-bg);font-weight:600;position:sticky;top:0}:root[data-theme=dark] th{color:var(--accent)}tbody tr:hover{background:var(--panel2)}.table-wrap{max-height:60vh;overflow:auto}.items-table th,.items-table td{padding:10px 12px}.readonly-box{background:var(--panel2);border:1px solid var(--border);text-align:right;min-width:130px;color:var(--text);border-radius:8px;padding:7px 10px;display:inline-block}.flota-map{border:1px solid var(--border);border-radius:8px;height:460px;overflow:hidden}.num{text-align:right;font-variant-numeric:tabular-nums}.tabla-cheques{table-layout:fixed}.tabla-cheques td,.tabla-cheques th{text-overflow:ellipsis;overflow:hidden}.badge{background:var(--panel2);border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:2px 6px;font-size:10px}.badge.pending{color:var(--warn);border-color:var(--warn)}.badge.ok{color:var(--ok);border-color:var(--ok)}.actions-cell{white-space:nowrap}.actions-cell button+button{margin-left:4px}.expand-btn{border:1px solid var(--border);color:var(--muted);background:0 0;border-radius:6px;width:24px;height:24px;padding:0;font-size:12px;line-height:1}.expand-btn.open{color:var(--accent);border-color:var(--accent)}tr.detail-row{display:none}tr.detail-row.open{display:table-row}tr.detail-row td{background:var(--panel2);white-space:normal}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:10px 4px;display:grid}.detail-grid .d-item .lbl{color:var(--muted);text-transform:uppercase;font-size:11px}.detail-grid .d-item .val{margin-top:2px;font-size:13px}tr.inactivo td{opacity:.5}tr.inactivo td.admin-name{text-decoration:line-through}tr.row-ausente td{background:color-mix(in srgb, var(--err) 12%, var(--panel));font-weight:600}.tag{border-radius:20px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.tag-ausente{background:color-mix(in srgb, var(--err) 16%, var(--panel));color:var(--err)}.tag-extra{background:color-mix(in srgb, var(--warn) 18%, var(--panel));color:var(--warn)}.admin-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-top:6px;display:flex}.admin-toolbar input{flex:1;max-width:280px}.count-badge{background:var(--panel2);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px}tfoot td{border-top:2px solid var(--border);background:var(--panel2);border-bottom:none;font-weight:600}.toast-wrap{z-index:50;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel2);border:1px solid var(--border);border-radius:10px;max-width:340px;padding:10px 14px;font-size:13px;box-shadow:0 4px 14px #00000026}.toast.err{border-color:var(--err);color:var(--err)}.toast.ok{border-color:var(--ok);color:var(--ok)}.toast.warn{border-color:var(--warn);color:var(--warn)}.modal-bg{z-index:40;background:#0000008c;justify-content:center;align-items:flex-start;padding:30px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--border);border-radius:10px;width:100%;max-width:640px;padding:20px;box-shadow:0 8px 28px #00000040}.modal h3{font-family:var(--font-display);letter-spacing:.02em;color:var(--brand-dark);margin-top:0;font-weight:700}:root[data-theme=dark] .modal h3{color:var(--accent)}.modal .row{margin-bottom:10px}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=640px){.grid2{grid-template-columns:1fr}}.close-x{float:right;cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:18px}.hint{color:var(--muted);margin-top:6px;font-size:11px}fieldset{border:1px solid var(--border);border-radius:8px;margin:0 0 12px;padding:10px 12px}legend{color:var(--muted);text-transform:uppercase;padding:0 6px;font-size:11px}.empty{color:var(--muted);text-align:center;padding:20px}a.link{color:var(--accent);cursor:pointer}.login-wrap{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--brand);border-radius:10px;width:100%;max-width:380px;padding:36px 32px;box-shadow:0 8px 28px #623c2e1a,0 2px 8px #623c2e0f}:root[data-theme=dark] .login-card{box-shadow:0 8px 28px #00000059,0 2px 8px #0003}.login-card h1{font-family:var(--font-display);letter-spacing:.01em;color:var(--brand-dark);text-transform:uppercase;margin:0 0 6px;font-size:28px;font-weight:700}:root[data-theme=dark] .login-card h1{color:var(--accent)}.login-card p{color:var(--muted);margin:0 0 22px;font-size:13px}.login-card .field{margin-bottom:12px}.login-card button[type=submit]{width:100%;margin-top:6px}#app-layout{min-height:100vh;display:flex}#sidebar{background:var(--sidebar-bg);width:240px;color:var(--sidebar-text);z-index:30;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:2px 0 10px #0000001f}#sidebar .brand{border-bottom:1px solid #ffffff24;padding:20px 18px 16px}#sidebar .brand .name{font-family:var(--font-display);letter-spacing:.01em;color:var(--sidebar-text);text-transform:uppercase;font-size:21px;font-weight:700;line-height:1.1}#sidebar .brand .sub{color:var(--brand);letter-spacing:.03em;margin-top:4px;font-size:11px;font-weight:600}#sidebar-nav{flex:1;padding:14px 10px;overflow-y:auto}.nav-group-label{text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted);padding:16px 10px 6px;font-size:10px}.nav-item{cursor:pointer;color:var(--sidebar-text);text-align:left;background:0 0;border:none;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:9px;width:100%;margin-bottom:2px;padding:9px 10px;font-size:13px;text-decoration:none;display:flex}.nav-item:hover{background:var(--sidebar-hover);filter:none}.nav-item.active{border-left:3px solid var(--brand);color:var(--sidebar-text);background:#fcb31624;font-weight:600}.nav-sep{background:#ffffff24;height:1px;margin:12px 8px}#sidebar .sidebar-footer{border-top:1px solid #ffffff24;padding:12px 10px}.sidebar-user{color:var(--sidebar-muted);padding:6px 10px;font-size:12px;font-weight:600;display:block}#sidebar button.secondary{color:var(--sidebar-text);border-color:#ffffff59}#sidebar button.secondary:hover{background:var(--sidebar-hover)}#content-area{flex:1;min-width:0}.mobile-topbar{display:none}@media (width<=820px){#app-layout{display:block}#sidebar{height:100vh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 24px #0006}#sidebar.open{transform:translate(0)}.mobile-topbar{background:var(--panel);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:10px;padding:10px 14px;display:flex;position:sticky;top:0}}.status-banner{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:9px 20px;font-size:12.5px;display:flex}.status-banner.offline{color:#7a2c1e;background:#f6e2df}.status-banner.pending{color:#6b4d06;background:#faf0d7}:root[data-theme=dark] .status-banner.offline{color:#f3c9c0;background:#3a2420}:root[data-theme=dark] .status-banner.pending{color:#f0d98c;background:#3a3015}.status-banner button{padding:4px 10px;font-size:12px}.theme-toggle{cursor:pointer;color:var(--sidebar-text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;display:flex}.theme-toggle:hover{background:var(--sidebar-hover);filter:none}.theme-toggle svg{flex-shrink:0}.theme-toggle-fixed{background:var(--panel);border:1px solid var(--border);width:auto;color:var(--muted);border-radius:20px;padding:8px 12px;position:fixed;bottom:16px;left:16px;box-shadow:0 2px 10px #0000001f}.theme-toggle-fixed:hover{background:var(--panel2)}.inline-edit{color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px}.inline-edit:hover{border-color:var(--border);background:var(--input)}.inline-edit:focus{border-color:var(--accent);background:var(--input);outline:none}.bcra-link{cursor:pointer;font:inherit;font-weight:inherit;background:0 0;border:none;padding:0}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--panel2);color:var(--muted);border-radius:10px;padding:22px 20px;font-size:13px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.dragover{border-color:var(--brand);background:var(--panel)}.dropzone strong{color:var(--text);margin-bottom:4px;font-size:14px;display:block}.dropzone img{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:320px}.home-hero{padding:6px 2px 22px}.home-hero h1{font-family:var(--font-display);letter-spacing:.01em;color:var(--brand-dark);margin:0;font-size:34px;font-weight:700}:root[data-theme=dark] .home-hero h1{color:var(--accent)}.home-hero .hint{margin:6px 0 0;font-size:13.5px}.module-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.module-card{background:var(--panel);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:20px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:block}.module-card:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:0 8px 20px #623c2e1f}.module-card .label{font-family:var(--font-display);color:var(--text);font-size:20px;font-weight:700}.module-card .module-card-cta{color:var(--brand-dark);opacity:.75;margin-top:14px;font-size:12.5px;font-weight:600;transition:opacity .15s}:root[data-theme=dark] .module-card .module-card-cta{color:var(--accent)}.module-card:hover .module-card-cta{opacity:1}.module-checklist{flex-direction:column;gap:8px;margin:10px 0;display:flex}.module-checklist label{align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}#print-header{display:none}@media print{body{color:#000;background:#fff;font-size:11px}.table-wrap{max-height:none!important;overflow:visible!important}#sidebar,.mobile-topbar,.toast-wrap,.modal-bg,.actions-cell,.expand-btn,button{display:none!important}main{max-width:none;padding:0}.card{box-shadow:none;break-inside:avoid;background:#fff;border:1px solid #999}th{color:#000!important;background:#eee!important}tr.detail-row{display:table-row!important}#print-header{margin-bottom:14px;display:block!important}#print-header h1{margin:0 0 4px;font-size:18px}#print-header .sub{color:#333;font-size:12px}}#vale-imprimible{display:none}@media print{body.imprimiendo-vale *{visibility:hidden}body.imprimiendo-vale #vale-imprimible,body.imprimiendo-vale #vale-imprimible *{visibility:visible}body.imprimiendo-vale #vale-imprimible{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000;--panel2:#f1e9dc;--border:#e3d7c4;--brand-dark:#623c2e;--accent:#623c2e;--muted:#8a7a68;--warn:#b8860b;--th-bg:#f8f4f0;background:#fff;width:210mm;font-family:Arial,sans-serif;font-size:17px;position:absolute;top:0;left:0;display:block!important}}#vale-imprimible .copia-imprimible{box-sizing:border-box;width:210mm;height:148mm;padding:14mm}#vale-imprimible .copia-imprimible:first-child{page-break-after:always;break-after:page}#recibo-imprimible{display:none}@media print{body.imprimiendo-recibo *{visibility:hidden}body.imprimiendo-recibo #recibo-imprimible,body.imprimiendo-recibo #recibo-imprimible *{visibility:visible}body.imprimiendo-recibo #recibo-imprimible{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000;--panel2:#f1e9dc;--border:#e3d7c4;--brand-dark:#623c2e;--accent:#623c2e;--muted:#8a7a68;--warn:#b8860b;--th-bg:#f8f4f0;background:#fff;width:210mm;font-family:Arial,sans-serif;font-size:17px;position:absolute;top:0;left:0;display:block!important}}#recibo-imprimible .copia-imprimible{box-sizing:border-box;width:210mm;height:148mm;padding:14mm}#recibo-imprimible .copia-imprimible:first-child{page-break-after:always;break-after:page}#cotizacion-imprimible{display:none}@media print{body.imprimiendo-cotizacion *{visibility:hidden}body.imprimiendo-cotizacion #cotizacion-imprimible,body.imprimiendo-cotizacion #cotizacion-imprimible *{visibility:visible}body.imprimiendo-cotizacion #cotizacion-imprimible{box-sizing:border-box;-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000;--panel2:#f1e9dc;--border:#e3d7c4;--brand-dark:#623c2e;--accent:#623c2e;--muted:#8a7a68;--warn:#b8860b;--th-bg:#f8f4f0;background:#fff;width:210mm;min-height:297mm;padding:14mm;font-family:Arial,sans-serif;font-size:12px;position:absolute;top:0;left:0;display:block!important}}.page-loading{justify-content:center;padding:60px 20px;display:flex}.page-loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite page-loading-spin}@keyframes page-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.page-loading-spinner{animation:none}}.page-load-error{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:60px 20px;display:flex}.flota-icon{background:0 0;border:none}.flota-icon svg{display:block}
