:root{color-scheme:light;--ink:#172b46;--muted:#687a90;--line:#e4eaf1;--blue:#2563eb}*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:var(--ink);font:14px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}a{color:var(--blue)}button,a,input,select{outline-offset:4px}button{cursor:pointer}.topbar{background:#fff;border-bottom:1px solid var(--line);padding:18px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-weight:750;font-size:16px}.brand-icon{background:var(--blue);color:white;border-radius:12px;padding:10px;font-size:14px}.brand small{display:block;color:var(--muted);font-size:11px;font-weight:500}nav{display:flex;gap:8px}nav a{text-decoration:none;color:var(--muted);padding:9px 16px;border-radius:8px}nav a.active{background:#edf3ff;color:var(--blue);font-weight:650}main{max-width:1800px;margin:auto;padding:36px 4%}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:750;color:var(--blue);margin:0 0 8px}h1{font-size:30px;letter-spacing:-1px;margin:0}h2{font-size:18px;margin:0}.subtitle{color:var(--muted);margin:8px 0 0}.heading-actions{display:flex;align-items:center;gap:16px}.connection{font-size:12px;color:var(--muted)}.connection.live{color:#15805b}.connection.live:before{content:'';display:inline-block;width:7px;height:7px;background:#21a675;border-radius:50%;margin-right:7px}.button{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-weight:600;color:var(--ink)}.button:hover{background:#edf3ff}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}button:disabled{opacity:.55;cursor:wait}.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:26px}.metric{background:white;border:1px solid var(--line);border-radius:14px;padding:21px;position:relative;overflow:hidden}.metric:before{content:'';position:absolute;top:0;left:0;height:3px;width:100%;background:#9cacc0}.metric span{color:var(--muted);font-weight:600;font-size:12px}.metric strong{display:block;font-size:34px;letter-spacing:-1px;margin:8px 0}.metric small{color:var(--muted);font-size:11px}.pending:before{background:#e6a527}.running:before{background:var(--blue)}.completed:before{background:#21a675}.incidents:before{background:#e45e67}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 20px #172b4604}.panel-heading{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading p{margin:5px 0 0;font-size:12px;color:var(--muted)}.toolbar{display:flex;align-items:flex-end;gap:18px;padding:0 24px 24px}.toolbar label>span{display:block;font-size:11px;font-weight:650;margin-bottom:6px;color:var(--muted)}.search{flex:1}.toolbar input[type=search],select{width:100%;border:1px solid #dce3ed;border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink)}.checkbox{display:flex;gap:8px;align-items:center;min-height:42px;white-space:nowrap;font-size:12px}.checkbox input{accent-color:var(--blue);width:16px;height:16px}.table-scroll{overflow:auto;max-height:65vh}table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}th{background:#f7f9fc;color:var(--muted);font-weight:650;text-align:left;padding:14px 16px;white-space:nowrap;position:sticky;top:0;z-index:1;border-block:1px solid var(--line)}td{padding:16px;border-bottom:1px solid #edf1f6;vertical-align:middle}td:first-child{font-weight:700;white-space:nowrap}td:nth-child(3){min-width:210px}tbody tr:hover{background:#f8faff}table a{text-decoration:none}table a:hover{text-decoration:underline}.estado-pendiente,.estado-curso,.estado-finalizado{white-space:nowrap;font-weight:650}.state-badge{display:inline-block;padding:5px 10px;border-radius:20px;font-size:11px}.estado-pendiente .state-badge{background:#fff4dd;color:#9b6509}.estado-curso .state-badge{background:#eaf1ff;color:#2563eb}.estado-finalizado .state-badge{background:#e4f6ed;color:#15805b}.incidente-cell{text-align:center}.incidente-activo{background:#fff7f7}.panel-footer{display:flex;justify-content:space-between;gap:12px;padding:16px 24px;color:var(--muted);font-size:11px}.placeholder{text-align:center;padding:50px 24px;color:var(--muted)}[hidden]{display:none!important}#feedback{margin:0 24px 18px;padding:12px 16px;border-radius:8px;background:#fff4dd;color:#865810}.text-button{border:0;background:none;color:var(--blue);font-weight:600}dialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:440px;max-width:100%;border:0;padding:28px;color:var(--ink);box-shadow:-10px 0 50px #172b4626}dialog::backdrop{background:#172b4670}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:24px}.close-button{background:#f3f6fa;border:0;border-radius:8px;width:36px;height:36px;font-size:24px}.vehicle-details{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px;margin:28px 0}.vehicle-details dt{font-size:11px;color:var(--muted);margin-bottom:6px}.vehicle-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}.full{grid-column:1/-1}#v-evidencia-box img{width:100%;border-radius:12px}#v-evidencia-box p{color:var(--muted)}@media(max-width:1000px){.metrics{grid-template-columns:repeat(3,1fr)}.toolbar{flex-wrap:wrap}.search{min-width:240px}.heading-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:600px){.topbar{align-items:flex-start;flex-direction:column;padding:16px 20px}nav{width:100%;gap:4px}nav a{padding:8px 10px;font-size:12px}main{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}h1{font-size:26px}.heading-actions{justify-content:flex-start;width:100%}.metrics{grid-template-columns:repeat(2,1fr);gap:10px}.metric{padding:16px}.metric strong{font-size:28px}.metric:last-child{grid-column:1/-1}.panel-heading,.toolbar{padding:18px}.toolbar{padding-top:0;gap:12px}.search{min-width:100%}.panel-heading .button{font-size:11px;padding:9px}.panel-footer{padding:14px 18px;flex-direction:column}}
