:root{
  --tinta:#1c1c1a; --tenue:#6b6b66; --linea:#dcdcd6;
  --fondo:#faf9f6; --panel:#fff; --acento:#1f5f4f; --error:#a32b1f;
}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}

/* --- acceso --- */
.pantalla-acceso{display:grid;place-items:center;min-height:100vh}
.tarjeta-acceso{background:var(--panel);border:1px solid var(--linea);
  border-radius:10px;padding:2rem;width:min(380px,92vw)}
.tarjeta-acceso h1{margin:0 0 1.25rem;font-size:1.25rem}
.pista{color:var(--tenue);font-size:.9rem;margin:-.75rem 0 1rem}
label{display:block;margin:.85rem 0 .3rem;font-size:.9rem;color:var(--tenue)}
input{width:100%;padding:.6rem;border:1px solid var(--linea);border-radius:6px;
  font-size:1rem;background:#fff}
input:focus{outline:2px solid var(--acento);outline-offset:1px}
button{width:100%;margin-top:1.2rem;padding:.7rem;border:0;border-radius:6px;
  background:var(--acento);color:#fff;font-size:1rem;cursor:pointer}
button+button{margin-top:.6rem}
.aviso-error{background:#fdecea;color:var(--error);padding:.6rem .8rem;
  border-radius:6px;font-size:.9rem;margin:0 0 .5rem}

/* --- aplicación --- */
.barra{display:flex;align-items:center;gap:1rem;padding:.7rem 1.2rem;
  background:var(--panel);border-bottom:1px solid var(--linea)}
.contexto{color:var(--tenue);font-size:.9rem;margin-left:auto}
.salir{color:var(--tenue);font-size:.9rem}
.contenido{padding:1.5rem 1.2rem;max-width:900px}
.comprobacion{color:var(--tenue);font-size:.9rem}

/* --- navegación --- */
.menu{display:flex;gap:1rem}
.menu a{color:var(--tinta);text-decoration:none;font-size:.95rem}
.menu a:hover{text-decoration:underline}

/* --- secciones --- */
.cabecera-seccion{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.cabecera-seccion h1{font-size:1.3rem;margin:0;flex:1}
.tenue{color:var(--tenue);font-size:.9rem}
.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem}
.vacio{color:var(--tenue);padding:1.5rem 0}
.req{color:var(--error)}

/* --- botones --- */
.boton{display:inline-block;padding:.5rem .9rem;background:var(--acento);
  color:#fff;border-radius:6px;text-decoration:none;font-size:.9rem}
.boton-mini{display:inline-block;padding:.28rem .55rem;margin:.1rem .15rem .1rem 0;
  background:#fff;border:1px solid var(--linea);border-radius:5px;
  color:var(--tinta);text-decoration:none;font-size:.82rem;cursor:pointer;width:auto}
.boton-mini:hover{border-color:var(--acento);color:var(--acento)}
.en-linea{display:inline}

/* --- buscador y formularios --- */
.buscador{display:flex;gap:.5rem;margin-bottom:1.2rem;max-width:520px}
.buscador input{flex:1}
.buscador button{width:auto;margin:0;padding:.6rem 1.2rem}
.formulario{max-width:620px;background:var(--panel);border:1px solid var(--linea);
  border-radius:10px;padding:1.4rem}
.formulario button{width:auto;padding:.65rem 1.4rem}
.campo{flex:1}
.campo.estrecho{max-width:190px}
.fila{display:flex;gap:1rem}
.pista{color:var(--tenue);font-size:.82rem;margin:.25rem 0 0}
.err{color:var(--error);font-size:.85rem;margin:.25rem 0 0}
.precargado{background:#fdf7e3}

/* --- avisos --- */
.aviso{background:#fdf7e3;border:1px solid #e8d9a0;padding:.7rem .9rem;
  border-radius:6px;margin-bottom:1rem;font-size:.92rem;max-width:620px}
.aviso-ok{background:#e8f5ef;border:1px solid #b6ddcb;padding:.7rem .9rem;
  border-radius:6px;margin-bottom:1rem;font-size:.92rem;max-width:620px}
.aviso-titular{font-size:.82rem;color:#8a6d1f;background:#fdf7e3;
  display:inline-block;padding:.1rem .4rem;border-radius:4px;margin-top:.2rem}
.etiqueta-roja{background:#fdecea;color:var(--error);font-size:.75rem;
  padding:.1rem .4rem;border-radius:4px;margin-left:.3rem}

/* --- tablas --- */
.tabla{width:100%;border-collapse:collapse;background:var(--panel);
  border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.tabla th{text-align:left;font-size:.82rem;color:var(--tenue);font-weight:600;
  padding:.6rem .8rem;border-bottom:1px solid var(--linea);background:#f4f3ef}
.tabla td{padding:.6rem .8rem;border-bottom:1px solid var(--linea);vertical-align:top}
.tabla tr:last-child td{border-bottom:0}
.tabla .excluido{opacity:.55}
.agenda .hora{font-weight:600;white-space:nowrap}
.agenda .acciones{white-space:normal;min-width:260px}
.estado{font-size:.85rem;background:#f0efea;padding:.15rem .5rem;border-radius:4px}

/* --- navegación de días --- */
.navega-dias{display:flex;align-items:center;gap:1.2rem;margin-bottom:1rem;
  font-size:.92rem}
.ficha-cliente{background:var(--panel);border:1px solid var(--linea);
  border-radius:8px;padding:.7rem .9rem;max-width:620px;margin-bottom:1rem}
.ficha-cliente .mono{margin-left:.6rem;color:var(--tenue)}

/* --- cola de llamadas --- */
.lead{background:var(--panel);border:1px solid var(--linea);border-radius:10px;
  padding:.9rem 1rem;margin-bottom:.7rem}
.lead-cab{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;
  margin-bottom:.7rem}
.lead-cab>div:first-child{flex:1;min-width:260px}
.lead-cab .mono{margin-left:.5rem}
.lead-meta{display:flex;gap:.5rem;align-items:baseline;font-size:.85rem}
.intentos{background:#fdf7e3;color:#8a6d1f;padding:.1rem .45rem;border-radius:4px;
  font-size:.8rem}
.lead-acciones{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.lead-acciones .boton{padding:.4rem .9rem}
.barra-resultado{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}
.grupo-dias{display:inline-flex;align-items:center;gap:.15rem;font-size:.82rem;
  color:var(--tenue);margin:0 .35rem}
.boton-mini.peligro{color:var(--error);border-color:#e8c4bf}
.boton-mini.peligro:hover{border-color:var(--error);color:var(--error)}
.compania{display:flex;align-items:center;gap:.5rem;margin-top:.7rem;
  padding-top:.7rem;border-top:1px solid var(--linea);font-size:.85rem;
  color:var(--tenue)}
.compania select{padding:.3rem .4rem;border:1px solid var(--linea);
  border-radius:5px;font-size:.85rem;background:#fff}
.compania a{margin-left:auto}
