/* Upco Fleet — estilos compartidos. Familia visual de Upco (azul marino + ámbar, Archivo + Manrope),
   con un acento propio: la "placa" de unidad en tipografía monoespaciada, que es el objeto central del producto. */
:root{
  --navy:#10284A; --navy-2:#1f4a80; --navy-950:#0a1c35; --tint:#E8EEF7;
  --amber:#F59E0B; --amber-2:#FBBF24; --amber-ink:#B45309; --amber-tint:#FEF3C7;
  --bg:#F5F7FB; --surface:#FFFFFF; --ink:#10284A; --ink-2:#3B5072; --muted:#6B7C96; --line:#DDE4EE;
  --good:#15803d; --good-tint:#DCFCE7; --warn:#B45309; --warn-tint:#FEF3C7; --bad:#dc2626; --bad-tint:#FEE2E2;
  --f-display:'Archivo','Segoe UI',Arial,sans-serif;
  --f-body:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:400 15px/1.55 var(--f-body);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--f-display);line-height:1.15;margin:0;text-wrap:balance}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--navy-2)}

.topbar{background:var(--navy);color:#fff;padding:12px 18px;padding-top:calc(12px + env(safe-area-inset-top,0px));display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:sticky;top:0;z-index:5}
.marca{display:flex;align-items:center;gap:10px;font:800 17px/1 var(--f-display);color:#fff;text-decoration:none}
.marca .chip{background:var(--amber);color:var(--navy);font:800 10.5px/1 var(--f-body);letter-spacing:.1em;text-transform:uppercase;padding:5px 7px;border-radius:6px}
.topbar .quien{font-size:13px;color:#C9D6EA;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.topbar .quien b{color:#fff;font-weight:700}

.contenedor{max-width:1040px;margin:0 auto;padding-inline:18px;padding-block:24px 64px;display:grid;gap:20px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:11px;padding:11px 16px;font:800 14px/1 var(--f-body);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:focus-visible,.campo input:focus-visible,.campo select:focus-visible{outline:3px solid var(--amber-2);outline-offset:2px}
.btn-primario{background:var(--amber);color:var(--navy)}
.btn-primario:hover{background:var(--amber-2)}
.btn-secundario{background:var(--surface);color:var(--ink);border:1.5px solid var(--line)}
.btn-secundario:hover{border-color:var(--navy-2)}
.btn-peligro{background:var(--bad);color:#fff}
.btn-texto{background:none;color:var(--navy-2);padding:6px 4px}
.btn-claro{background:rgba(255,255,255,.12);color:#fff}
.btn[disabled]{opacity:.55;cursor:default}

.tarjeta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;align-items:start}
.campo{display:grid;gap:6px;min-width:0}
.campo label{font:700 12px/1.2 var(--f-body);color:var(--ink-2);letter-spacing:.02em}
.campo label small{font-weight:500;color:var(--muted)}
.campo input,.campo select{width:100%;height:44px;border:1.5px solid var(--line);border-radius:10px;padding:0 12px;background:var(--surface);font-size:15px}
.campo .ayuda{font-size:12px;color:var(--muted)}
.mono{font-family:var(--f-mono)}

.aviso{border-radius:10px;padding:10px 12px;font-size:14px}
.aviso.error{background:var(--bad-tint);color:#7f1d1d}
.aviso.ok{background:var(--good-tint);color:#14532d}
.aviso.info{background:var(--tint);color:var(--ink)}

.pill{display:inline-block;border-radius:99px;padding:3px 10px;font:800 11.5px/1.4 var(--f-body);white-space:nowrap}
.pill.ok{background:var(--good-tint);color:var(--good)}
.pill.ruta{background:var(--tint);color:var(--navy-2)}
.pill.warn{background:var(--warn-tint);color:var(--warn)}
.pill.off{background:#EEF1F5;color:var(--muted)}

/* La placa: el objeto que identifica una unidad en todo el producto */
.placa{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--navy);border:2px solid var(--navy);border-radius:7px;padding:4px 10px;font:800 14px/1 var(--f-mono);letter-spacing:.1em;white-space:nowrap}
.placa small{font:800 9px/1 var(--f-body);letter-spacing:.1em;color:var(--muted)}

.vacio{text-align:center;padding:40px 20px;display:grid;gap:12px;justify-items:center}
.vacio p{max-width:46ch;color:var(--ink-2);margin:0}
