/* ═══════════════════════════════════════════════════════
   WHITE-LABEL TRANSPORT · Control Horario v2.0
   Para adaptar a otra empresa → edita solo el bloque
   CONFIG en js/config.js
   ═══════════════════════════════════════════════════════ */
*{box-sizing:border-box;margin:0;padding:0;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;}
:root{
  --primary:#1A2366;--primary-dk:#0F1540;
  --accent:#C9900A;--accent-lt:#FEF8E8;
  --ok:#1A7A4A;--ok-lt:#E8F5EE;
  --er:#C0392B;--er-lt:#FDECEA;
  --warn-c:#A67808;
  --lt:#EAECF8;--bg:#F3F4FA;--muted:#6270A0;
  --border:#DDE0F0;--ink:#0D1447;
  --shadow:0 4px 32px rgba(26,35,102,.22);
  --shadow-sm:0 1px 6px rgba(26,35,102,.10);
  --r:14px;--rs:9px;
}
body{background:#d8dbe8;display:flex;justify-content:center;align-items:flex-start;min-height:100vh;}
@media(min-width:460px){
  body{padding:24px 0;align-items:center;}
  #fa{min-height:auto;max-height:820px;border-radius:22px;overflow:hidden;}
}
#fa{width:100%;max-width:420px;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);box-shadow:var(--shadow);}
#fs{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}
#fn{flex-shrink:0;background:#fff;border-top:1.5px solid var(--border);display:none;flex-direction:row;}

/* Bottom Nav */
.nb{flex:1;border:none;background:none;cursor:pointer;padding:9px 2px 12px;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;}
.nb-line{position:absolute;top:0;left:50%;transform:translateX(-50%);height:2.5px;width:0;background:var(--accent);border-radius:0 0 4px 4px;transition:width .22s ease;}
.nb.act .nb-line{width:28px;}
.ni{font-size:19px;line-height:1;}
.nl{font-size:10px;font-weight:700;transition:color .15s;}

/* Cards & Layout */
.c{background:#fff;border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow-sm);margin-bottom:10px;}
.lb{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;display:block;margin-bottom:5px;}
input,select,textarea{width:100%;padding:10px 12px;border-radius:var(--rs);border:1.5px solid var(--border);font-size:14px;outline:none;color:var(--ink);background:#fff;font-family:inherit;display:block;transition:border-color .15s,box-shadow .15s;}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,35,102,.1);}
textarea{resize:vertical;}
.btn{border:none;border-radius:11px;padding:11px 18px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;transition:filter .15s,transform .1s;}
.btn:active{transform:scale(.97);}
.blg{padding:15px 22px;font-size:15px;border-radius:14px;}
.bsm{padding:7px 12px;font-size:12px;width:auto;}
.bdg{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;}
.dok{background:var(--ok-lt);color:var(--ok);}
.der{background:var(--er-lt);color:var(--er);}
.dwn{background:var(--accent-lt);color:var(--warn-c);}
.dpr{background:var(--lt);color:var(--primary);}

/* TopBar */
.tb{background:var(--primary);color:#fff;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.tb::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2.5px;background:var(--accent);}
.tt{font-weight:800;font-size:15px;letter-spacing:-.2px;}

/* Grid helpers */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.pd{padding:14px;}.mb14{margin-bottom:14px;}

/* Calendar */
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cd{aspect-ratio:1;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;background:var(--bg);border:none;transition:background .12s;}

/* Lists */
.sep{border-bottom:1px solid var(--border);padding:7px 0;display:flex;justify-content:space-between;align-items:center;}

/* Vehicle selector */
.vc{background:#fff;border-radius:12px;padding:13px 15px;border:2px solid var(--border);cursor:pointer;margin-bottom:8px;transition:border-color .18s,background .18s;}
.vc.sel{border-color:var(--accent);background:var(--accent-lt);}
.vc.dis{opacity:.42;cursor:not-allowed;pointer-events:none;}

/* Alerts */
.err-b{background:var(--er-lt);color:var(--er);padding:9px 12px;border-radius:8px;font-size:12px;font-weight:600;margin-top:8px;}
.warn-b{background:var(--accent-lt);color:var(--warn-c);padding:9px 12px;border-radius:8px;font-size:12px;font-weight:600;margin-bottom:10px;}

/* Scrollbar */
#fs::-webkit-scrollbar{width:4px;}
#fs::-webkit-scrollbar-track{background:transparent;}
#fs::-webkit-scrollbar-thumb{background:rgba(26,35,102,.15);border-radius:4px;}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.fu{animation:fadeUp .22s ease;}
@keyframes livePulse{0%,100%{opacity:1;}50%{opacity:.45;}}
.pulse{animation:livePulse 2s infinite;}
