@font-face{font-family:Manrope;src:url(/fonts/manrope-variable.woff2)format("woff2");font-weight:400 800;font-style:normal;font-display:swap}:root{--bg:#f3f4f7;--surface:#fff;--surface-2:#edf0f4;--surface-hover:#f7f8fa;--border:#d7dce4;--text:#161d29;--text-muted:#667085;--text-faint:#98a1b0;--grid-line:#161d2909;--accent:#b4630e;--accent-strong:#954f09;--accent-soft:#f7e7d3;--accent-contrast:#fff8f0;--danger:#c0392b;--danger-soft:#fbe6e2;--danger-strong:#a3291c;--radius-sm:0px;--radius:0px;--radius-lg:0px;--radius-tag:2px;--shadow-sm:0 1px 2px #171e2b0f;--shadow:0 1px 2px #171e2b0a, 0 8px 24px -8px #171e2b1f;--shadow-lg:0 4px 8px #171e2b0a, 0 16px 40px -12px #171e2b2e;--font:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--chart-grid:#e1e0d9;--chart-baseline:#c3c2b7;--status-critical:#d03b3b;--status-warning:#c1830a;--status-good:#0d8f0d}@media (prefers-color-scheme:dark){:root{--bg:#0c1017;--surface:#141b26;--surface-2:#1b2432;--surface-hover:#1f2937;--border:#323b4c;--text:#eef1f6;--text-muted:#93a0b4;--text-faint:#5c6779;--grid-line:#eef1f60b;--accent:#f2a54c;--accent-strong:#ffbd6e;--accent-soft:#f2a54c26;--accent-contrast:#1f1204;--danger:#e8776a;--danger-soft:#e8776a24;--danger-strong:#f0968b;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #00000059, 0 8px 24px -8px #00000080;--shadow-lg:0 4px 8px #0000004d, 0 20px 48px -12px #0009;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--chart-grid:#2c2c2a;--chart-baseline:#383835;--status-critical:#e66767;--status-warning:#e0ab3f;--status-good:#35b855}}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--bg);background-image:repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 26px), repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 26px);color:var(--text);font-family:var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}#root{min-height:100vh}a{color:inherit}h1,h2,h3{letter-spacing:-.01em;font-weight:800}.app-header{z-index:10;background:var(--surface);border-bottom:3px solid var(--accent);justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex;position:sticky;top:0}.app-header .brand{letter-spacing:-.01em;align-items:center;gap:9px;font-size:18.5px;font-weight:800;text-decoration:none;display:flex}.app-header .brand .brand-icon{color:var(--accent);flex:none}.app-header .brand .dot{color:var(--accent)}.header-user{color:var(--text-muted);align-items:center;gap:10px;font-size:13.5px;display:flex}.header-user button{gap:6px}.container{max-width:900px;margin:0 auto;padding:28px 20px 72px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-head h1{margin:0;font-size:25px}.page-head p.subtitle{color:var(--text-muted);margin:5px 0 0;font-size:14.5px;font-weight:500}button,.btn{font:inherit;border:1.5px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:9px 15px;font-weight:650;text-decoration:none;transition:border-color .12s,background .12s,transform .12s,box-shadow .12s;display:inline-flex}button:hover,.btn:hover{border-color:var(--text-faint);background:var(--surface-hover)}button:active,.btn:active{transform:translateY(1px)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);font-weight:750}button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:3px 3px 0 var(--text);transform:translate(-2px,-2px)}button.primary:active{box-shadow:none;transform:translate(0)}button.ghost{color:var(--text-muted);background:0 0;border-color:#0000;padding:8px 11px}button.ghost:hover{background:var(--surface-2);color:var(--text)}button.danger{color:var(--danger)}button.danger:hover{background:var(--danger-soft);color:var(--danger-strong)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg)}.vehicle-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.vehicle-card{color:inherit;border-top:3px solid var(--text);flex-direction:column;gap:12px;padding:18px 20px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.vehicle-card:hover{border-color:var(--accent);border-top-color:var(--accent);box-shadow:5px 5px 0 var(--accent);transform:translate(-3px,-3px)}.vehicle-card h3{margin:0;font-size:17.5px}.vehicle-card .meta{color:var(--text-muted);margin-top:-6px;font-size:13px;font-weight:600}.vehicle-card .kpis{gap:22px;margin-top:2px;display:flex}.vehicle-card .kpi .value{letter-spacing:-.02em;font-size:18px;font-weight:800}.vehicle-card .kpi .label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-size:11px;font-weight:700}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:10px;padding:44px 20px;font-weight:550;display:flex}.empty-state .empty-icon{color:var(--text-faint);margin-bottom:4px}.stats-grid{background:var(--border);border:1.5px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1.5px;margin-bottom:28px;display:grid}.stat-tile{border:none;padding:15px 17px}.stat-tile .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:11px;font-weight:700}.stat-tile .value{letter-spacing:-.02em;margin-top:6px;font-size:24px;font-weight:800}.stat-tile .unit{color:var(--text-muted);margin-left:3px;font-size:13px;font-weight:600}form.stack{flex-direction:column;gap:15px;display:flex}.field-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;display:flex}input,select,textarea{font:inherit;text-transform:none;letter-spacing:normal;color:var(--text);border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);padding:10px 12px;font-size:15px;font-weight:600;transition:border-color .15s,background .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--surface);outline:none}label.checkbox{text-transform:none;letter-spacing:normal;color:var(--text);flex-direction:row;align-items:center;gap:9px;font-size:14px;font-weight:600}label.checkbox input{width:18px;height:18px;accent-color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);border-bottom:1.5px solid var(--border);padding:11px 14px;font-size:11px;font-weight:700}tbody td{border-bottom:1px solid var(--border);padding:11px 14px;font-weight:550}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover{background:var(--surface-2)}.table-wrap{overflow-x:auto}.tag{border-radius:var(--radius-tag);background:var(--accent-soft);color:var(--accent-strong);padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.section-title{margin:30px 0 12px;font-size:15.5px;font-weight:800}.back-link{color:var(--text-muted);align-items:center;gap:5px;margin-bottom:10px;font-size:13.5px;font-weight:650;text-decoration:none;transition:color .15s,gap .15s;display:inline-flex}.back-link:hover{color:var(--accent);gap:8px}.error-banner{background:var(--danger-soft);color:var(--danger-strong);border-radius:var(--radius-sm);border-left:3px solid var(--danger-strong);margin-bottom:14px;padding:11px 15px;font-size:13.5px;font-weight:650}.helper-text{color:var(--text-muted);font-size:12.5px;font-weight:550;line-height:1.5}.login-screen{background:repeating-linear-gradient(0deg, var(--grid-line) 0 1px, transparent 1px 26px), repeating-linear-gradient(90deg, var(--grid-line) 0 1px, transparent 1px 26px), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1.5px solid var(--border);border-top:4px solid var(--accent);width:100%;max-width:360px;box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:32px 28px 28px;display:flex}.login-brand{letter-spacing:-.01em;font-size:24px;font-weight:800}.login-brand .dot{color:var(--accent)}.login-subtitle{color:var(--text-muted);margin:-10px 0 4px;font-size:14px;font-weight:550}.login-card button.primary{justify-content:center;margin-top:4px;padding:11px 15px}.vehicle-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;display:flex}.odo-widget{align-items:center;gap:8px;display:flex}.odo-widget input{width:110px}.tabs{border-bottom:1.5px solid var(--border);gap:2px;margin:22px 0 26px;display:flex;overflow-x:auto}.tabs a{color:var(--text-muted);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:6px;margin-right:20px;padding:10px 6px;font-size:14px;font-weight:650;text-decoration:none;transition:color .15s;display:inline-flex}.tabs a:hover{color:var(--text)}.tabs a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:750}.badge{border-radius:var(--radius-tag);align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.severity-critica{color:var(--status-critical);background:color-mix(in srgb, var(--status-critical) 14%, transparent)}.badge.severity-normal{color:var(--text-muted);background:var(--surface-2)}.badge.severity-leve{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 14%, transparent)}.badge.status-pendiente{color:var(--status-warning);background:color-mix(in srgb, var(--status-warning) 18%, transparent)}.badge.status-hecho,.badge.status-en_curso{color:var(--status-good);background:color-mix(in srgb, var(--status-good) 14%, transparent)}.row-list{flex-direction:column;display:flex}.row-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:15px 18px;transition:background .1s;display:flex}.row-list .row-item:hover{background:var(--surface-2)}.row-item:last-child{border-bottom:none}.row-item .main{flex:1;min-width:0}.row-item .title-line{align-items:center;gap:8px;font-size:14.5px;font-weight:700;display:flex}.row-item .meta-line{color:var(--text-muted);margin-top:3px;font-size:13px;font-weight:550}.row-item .amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.row-item .actions{gap:2px;display:flex}.section-block{margin-bottom:32px}.section-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-block-head h2{margin:0;font-size:16px}.chart-card{padding:18px 20px 12px}.chart-card .chart-title{margin-bottom:2px;font-size:13.5px;font-weight:700}.chart-card .chart-subtitle{color:var(--text-muted);margin-bottom:12px;font-size:12.5px;font-weight:600}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:12.5px;font-weight:600;display:flex}.chart-legend .key{align-items:center;gap:6px;display:inline-flex}.chart-legend .swatch{width:9px;height:9px}.chart-empty{color:var(--text-muted);padding:22px 4px;font-size:13.5px;font-weight:550}.chart-tooltip{pointer-events:none;background:var(--text);color:var(--surface);white-space:nowrap;box-shadow:var(--shadow-lg);z-index:5;padding:7px 10px;font-size:12px;font-weight:650;position:absolute;transform:translate(-50%,-112%)}@media (width<=640px){.container{padding:20px 14px 60px}.app-header{padding:12px 16px}}
