/* Oaxaca Renta · panel de empresas
   Como el modo anfitrión de airbnb.mx (28-oct-2026): encabezado de 80 px con las secciones al centro y la
   activa subrayada, «Hoy» con fichas de filtro en píldora y tarjetas de 12 px de radio, tablas sin bordes
   verticales y textos de 14 px. En teléfono, barra inferior con las cuatro secciones. */

body[data-pagina="panel"] { background: var(--blanco); }

/* ---------- Encabezado ---------- */

.panel-enc {
  position: sticky; top: 0; z-index: 40;
  background: var(--blanco); border-bottom: 1px solid var(--borde-2);
}
.panel-enc__fila {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px;
  height: 80px; padding: 0 var(--margen); max-width: 1440px; margin: 0 auto;
}
.panel-enc__marca { display: flex; align-items: center; gap: 10px; }
.panel-enc .logo { position: static; }
.panel-enc__etiqueta {
  padding: 3px 8px; border-radius: 6px; background: var(--gris-2);
  font-size: 12px; font-weight: 700; color: var(--texto-2);
}
.panel-enc__fila > .enlace-pildora { justify-self: end; grid-column: 3; }
.panel-nav { display: flex; gap: 8px; }
.panel-nav__item {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  height: 40px; padding: 0 14px; border-radius: var(--r-pildora);
  font-size: 14px; font-weight: 500; color: var(--texto-2);
  transition: background-color var(--dur-fast) ease, color var(--dur-fast) ease;
}
.panel-nav__item[aria-current="page"] { color: var(--texto); font-weight: 600; }
.panel-nav__item[aria-current="page"]::after {
  content: ''; position: absolute; left: 14px; right: 14px; bottom: -20px; height: 2px; border-radius: 1px; background: var(--texto);
}
.panel-nav__cuenta {
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px;
  display: inline-grid; place-items: center;
  background: var(--acento); color: var(--blanco); font-size: 11px; font-weight: 700;
}
@media (hover: hover) and (pointer: fine) { .panel-nav__item:hover { background: var(--gris-1); color: var(--texto); } }
.panel-enc__acciones { position: relative; justify-self: end; display: flex; align-items: center; gap: 8px; }

/* ---------- Contenido ---------- */

.panel-cuerpo {
  width: 100%; max-width: calc(1120px + 2 * var(--margen)); margin: 0 auto;
  padding: 40px var(--margen) 96px; outline: none;
}
.panel__titulo { font-size: 32px; line-height: 36px; font-weight: 600; letter-spacing: -.02em; }
.panel__sub { margin: 8px 0 0; font-size: 16px; color: var(--texto-2); max-width: 720px; }
.panel__seccion { margin-top: 40px; }
.panel__seccion h2, .panel-perfil__lado h2 { font-size: 22px; line-height: 26px; font-weight: 600; letter-spacing: -.01em; }
.panel__seccion-cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.panel__maqueta { margin-top: 40px; }
.panel-vacio { margin: 24px 0 0; padding: 32px 0; color: var(--texto-2); font-size: 16px; }
.panel-vacio--grande { padding: 64px 0; }
.panel-vacio--grande h1 { font-size: 26px; font-weight: 600; color: var(--texto); }
.panel-vacio--grande p { margin: 8px 0 24px; }
.solo-movil { display: none; }

.alerta-panel {
  display: flex; align-items: center; gap: 16px; margin-top: 24px;
  padding: 20px 24px; border-radius: var(--r-16); background: #FFF4E0;
}
.alerta-panel__icono { width: 28px; height: 28px; flex: none; color: #8A5300; }
.alerta-panel > div { flex: 1; min-width: 0; }
.alerta-panel strong { font-size: 16px; font-weight: 600; }
.alerta-panel p { margin: 2px 0 0; color: #6B4300; }

.chips-panel { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.chip-panel {
  height: 36px; padding: 0 16px; border-radius: var(--r-pildora);
  border: 1px solid var(--borde); font-size: 14px; font-weight: 500;
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-press) var(--ease-out);
}
.chip-panel:active { transform: scale(.97); }
.chip-panel[aria-pressed="true"] { border-color: var(--texto); box-shadow: inset 0 0 0 1px var(--texto); font-weight: 600; }
@media (hover: hover) and (pointer: fine) { .chip-panel:hover { border-color: var(--texto); } }

/* Tarjetas de Hoy */
.tarjetas-hoy { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin: 20px 0 16px; padding: 0; list-style: none; }
.tarjeta-hoy {
  display: flex; flex-direction: column; gap: 12px; height: 100%;
  padding: 16px; border: 1px solid var(--borde); border-radius: var(--r-12);
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
@media (hover: hover) and (pointer: fine) { .tarjeta-hoy:hover { border-color: var(--texto); box-shadow: 0 6px 16px rgb(0 0 0 / .08); } }
.tarjeta-hoy__estado { font-size: 13px; font-weight: 700; color: var(--texto-2); }
.tarjeta-hoy__estado[data-tono="pendiente"] { color: #8A5300; }
.tarjeta-hoy__estado[data-tono="hoy"] { color: var(--acento); }
.tarjeta-hoy__estado[data-tono="renta"] { color: #2D4F9E; }
.tarjeta-hoy__cuerpo { display: flex; justify-content: space-between; gap: 12px; }
.tarjeta-hoy__texto { display: flex; flex-direction: column; min-width: 0; }
.tarjeta-hoy__texto strong { font-size: 16px; font-weight: 600; }
.tarjeta-hoy__texto span { color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tarjeta-hoy__avatar {
  width: 40px; height: 40px; flex: none; border-radius: 50%; display: grid; place-items: center;
  background: var(--texto); color: var(--blanco); font-weight: 700;
}
.tarjeta-hoy__pie { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--borde-2); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* Cifras del mes */
.cifras { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 16px 0 0; }
.cifras > div { padding: 16px 20px; border: 1px solid var(--borde); border-radius: var(--r-12); }
.cifras dt { font-size: 13px; color: var(--texto-2); }
.cifras dd { margin: 4px 0 0; font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }

/* Lista de apartados */
.filas-cabeza, .fila-apartado {
  display: grid; grid-template-columns: 170px minmax(150px, 1.2fr) minmax(150px, 1.3fr) 130px 130px 110px;
  gap: 16px; align-items: center;
}
.filas-cabeza { margin-top: 24px; padding: 0 12px 10px; border-bottom: 1px solid var(--borde); font-size: 12px; font-weight: 600; color: var(--texto-2); }
.filas-cabeza span:last-child, .fila-apartado__total { text-align: right; }
.filas-apartados { margin: 0; padding: 0; list-style: none; }
.filas-apartados li { border-bottom: 1px solid var(--borde-2); }
.fila-apartado { padding: 16px 12px; margin: 0; border-radius: 8px; transition: background-color var(--dur-fast) ease; }
@media (hover: hover) and (pointer: fine) { .fila-apartado:hover { background: var(--gris-1); } }
.fila-apartado small { display: block; font-size: 12px; color: var(--texto-2); }
.fila-apartado__estado { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.fila-apartado__cliente strong { font-weight: 600; }
.fila-apartado__total { font-weight: 600; font-variant-numeric: tabular-nums; }

/* Detalle de un apartado */
.panel-apartado__cabeza { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.panel-apartado__cabeza p { margin: 6px 0 0; font-size: 16px; color: var(--texto-2); }
.etiqueta-ejemplo { padding: 1px 6px; border-radius: 6px; background: var(--gris-2); font-size: 12px; font-weight: 600; }
.accion-panel {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px;
  padding: 24px; border: 1px solid var(--borde); border-radius: var(--r-16);
}
.accion-panel h2 { font-size: 20px; line-height: 24px; font-weight: 600; }
.accion-panel p { margin: 4px 0 0; color: var(--texto-2); }
.accion-panel--pendiente { border-color: transparent; background: #FFF4E0; }
.accion-panel--pendiente p { color: #6B4300; }
.accion-panel--cerrado { background: var(--gris-1); border-color: transparent; }
.accion-panel__botones { display: flex; gap: 12px; flex: none; }
.accion-panel__botones .boton-reservar { width: auto; margin: 0; padding: 0 24px; }
.panel-apartado__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 0 clamp(40px, 6vw, 80px); align-items: start; }
.panel-apartado__lado { position: sticky; top: 104px; padding-top: 32px; }
.panel-apartado__cuerpo .apartado__info > section { padding: 32px 0; border-bottom: 1px solid var(--borde); }
.panel-apartado__cuerpo .apartado__info > section:last-child { border-bottom: 0; }
.panel-apartado__cuerpo .apartado__info h2 { font-size: 22px; line-height: 26px; font-weight: 600; margin-bottom: 20px; }
.datos q { font-style: italic; }
.empresa-ficha__botones--uno { grid-template-columns: 1fr; }
.mensaje-burbuja {
  margin: 0; padding: 14px 16px; border-radius: 4px 16px 16px 16px; background: var(--gris-1);
  white-space: pre-wrap; line-height: 21px;
}

/* Diálogos del panel */
.panel-dialogo { width: min(560px, calc(100vw - 48px)); }
.form-dialogo { display: flex; flex-direction: column; gap: 14px; }
.form-dialogo .confirmar__texto { margin: 0; }
.form-dialogo .confirmar__botones { margin-top: 8px; }
.form-dialogo textarea {
  width: 100%; padding: 0; border: 0; outline: none; resize: vertical; background: transparent;
  font: inherit; font-size: 15px; line-height: 21px; color: var(--texto);
}
.form-dialogo .opciones-radio { gap: 8px; }
.form-dialogo .opcion-radio { padding: 12px 14px; }
.form-dialogo .opcion-radio strong { font-size: 15px; font-weight: 500; }
.campos--suelto { margin: 0; }

/* Autos */
.autos-panel { display: grid; gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.auto-panel {
  display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 20px; align-items: center;
  padding: 16px; border: 1px solid var(--borde); border-radius: var(--r-16);
  transition: border-color var(--dur-fast) ease;
}
.auto-panel__foto { width: 120px; height: 84px; display: grid; place-items: center; padding: 10px; border-radius: var(--r-12); background: #EFEFEF; }
.auto-panel__info { display: flex; flex-direction: column; min-width: 0; }
.auto-panel__info strong { font-size: 16px; font-weight: 600; }
.auto-panel__info strong span { font-weight: 400; color: var(--texto-2); }
.auto-panel__info > span { color: var(--texto-2); }
.auto-panel__info .enlace-sub { align-self: flex-start; margin-top: 6px; font-size: 13px; }
.auto-panel__controles { display: flex; align-items: center; gap: 24px; }
.auto-panel[data-pausado] .auto-panel__foto, .auto-panel[data-pausado] .auto-panel__info strong, .auto-panel[data-pausado] .precio-campo { opacity: .5; }
.auto-panel__visible { min-width: 120px; }
.precio-campo { display: flex; flex-direction: column; gap: 4px; }
.precio-campo__etiqueta { font-size: 12px; color: var(--texto-2); }
.precio-campo__caja {
  display: flex; align-items: center; gap: 4px; width: 140px; height: 44px; padding: 0 12px;
  border: 1px solid #B0B0B0; border-radius: 8px; font-size: 16px; font-weight: 600;
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
.precio-campo__caja:focus-within { border-color: var(--texto); box-shadow: inset 0 0 0 1px var(--texto); }
.precio-campo__caja input {
  width: 100%; min-width: 0; border: 0; outline: none; background: transparent;
  font: inherit; font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
.precio-campo__caja input::-webkit-inner-spin-button, .precio-campo__caja input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.precio-campo small { font-size: 12px; color: var(--texto-2); }

/* Perfil */
.panel-perfil { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 clamp(40px, 6vw, 80px); align-items: start; margin-top: 8px; }
.perfil__bloque { padding: 28px 0; border-bottom: 1px solid var(--borde); }
.perfil__bloque h2 { font-size: 18px; line-height: 22px; font-weight: 600; margin-bottom: 14px; }
.perfil__bloque .campos--suelto, .perfil__fila { margin-top: 12px; }
.perfil__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.perfil textarea {
  width: 100%; padding: 0; border: 0; outline: none; resize: vertical; background: transparent;
  font: inherit; font-size: 16px; line-height: 22px; color: var(--texto);
}
.perfil__interruptor { justify-content: space-between; gap: 16px; }
.perfil__interruptor > span { display: flex; flex-direction: column; }
.perfil__interruptor small { color: var(--texto-2); font-size: 13px; }
.perfil__bloque .chips-panel { margin-top: 0; }
.perfil__pie {
  position: sticky; bottom: 0; z-index: 2;
  display: flex; justify-content: flex-end; padding: 16px 0; background: var(--blanco); border-top: 1px solid var(--borde-2);
}
.panel-perfil__lado { position: sticky; top: 104px; padding-top: 28px; }
.panel-perfil__lado h2 { margin-bottom: 16px; }

/* Entrar */
.panel-entrada { max-width: 520px; margin: 32px auto 0; }
.panel-entrada h1 { font-size: 32px; line-height: 36px; font-weight: 600; letter-spacing: -.02em; }
.panel-entrada__texto { margin: 8px 0 24px; font-size: 16px; color: var(--texto-2); }
.panel-entrada__lista { display: grid; gap: 12px; }
.panel-entrada__empresa {
  display: flex; align-items: center; gap: 16px; padding: 16px; text-align: left;
  border: 1px solid var(--borde); border-radius: var(--r-16);
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, transform var(--dur-press) var(--ease-out);
}
.panel-entrada__empresa:active { transform: scale(.99); }
@media (hover: hover) and (pointer: fine) { .panel-entrada__empresa:hover { border-color: var(--texto); box-shadow: 0 6px 16px rgb(0 0 0 / .08); } }
.panel-entrada__empresa > span:nth-child(2) { display: flex; flex-direction: column; flex: 1; }
.panel-entrada__empresa strong { font-size: 16px; font-weight: 600; }
.panel-entrada__empresa small { color: var(--texto-2); font-size: 14px; }
.panel-entrada__flecha { width: 12px; height: 12px; color: var(--texto-3); }
.panel-entrada .acceso__pista { margin-top: 16px; }
.panel-entrada__alta { margin: 24px 0 0; color: var(--texto-2); }

/* Barra inferior (teléfono) */
.panel-barra { display: none; }

/* ---------- Tableta ---------- */
@media (max-width: 1127px) {
  .panel-enc__fila { grid-template-columns: auto 1fr auto; }
  .panel-nav { justify-self: center; }
  .panel-enc__acciones .enlace-pildora { display: none; }
  .filas-cabeza, .fila-apartado { grid-template-columns: 150px minmax(130px, 1fr) minmax(130px, 1fr) 120px 110px; }
  .filas-cabeza span:nth-child(5), .fila-apartado > span:nth-child(5) { display: none; }
  .panel-apartado__cuerpo { grid-template-columns: minmax(0, 1fr) 300px; gap: 0 32px; }
  .panel-perfil { grid-template-columns: minmax(0, 1fr) 300px; gap: 0 32px; }
  .cifras { grid-template-columns: repeat(2, 1fr); }
  .auto-panel { grid-template-columns: 100px minmax(0, 1fr); }
  .auto-panel__foto { width: 100px; height: 72px; }
  .auto-panel__controles { grid-column: 1 / -1; justify-content: space-between; padding-top: 12px; border-top: 1px solid var(--borde-2); }
}

/* ---------- Teléfono ---------- */
@media (max-width: 743px) {
  .panel-enc__fila { height: 64px; grid-template-columns: 1fr auto; }
  .panel-nav { display: none; }
  .panel-cuerpo { padding: 24px var(--margen) calc(96px + env(safe-area-inset-bottom)); }
  .panel__titulo { font-size: 26px; line-height: 30px; }
  .alerta-panel { flex-wrap: wrap; padding: 16px; }
  .alerta-panel .boton-oscuro { width: 100%; }
  .tarjetas-hoy { grid-template-columns: 1fr; }
  .panel__seccion .chips-panel {
    flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
    margin-left: calc(-1 * var(--margen)); margin-right: calc(-1 * var(--margen)); padding: 0 var(--margen) 2px;
  }
  .panel__seccion .chips-panel::-webkit-scrollbar { display: none; }
  .chip-panel { flex: none; }
  .pestanas { margin-left: calc(-1 * var(--margen)); margin-right: calc(-1 * var(--margen)); padding: 0 var(--margen); gap: 24px; }
  .cifras dd { font-size: 18px; }

  .filas-cabeza { display: none; }
  .fila-apartado { grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 16px 4px; }
  .fila-apartado__estado { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 8px; }
  .fila-apartado__cliente { grid-column: 1; }
  .fila-apartado__total { grid-column: 2; grid-row: 2; align-self: start; }
  .fila-apartado__auto { grid-column: 1 / -1; }
  .fila-apartado__fecha { grid-column: 1 / -1; color: var(--texto-2); font-size: 13px; }
  .fila-apartado > span:nth-child(5) { display: block; }
  .solo-movil { display: inline; }

  .accion-panel { flex-direction: column; align-items: stretch; padding: 20px; }
  .accion-panel__botones { flex-direction: column; }
  .accion-panel__botones .boton-reservar, .accion-panel__botones .boton-borde, .accion-panel__botones .boton-oscuro { width: 100%; }
  .panel-apartado__cuerpo, .panel-perfil { display: flex; flex-direction: column; }
  .panel-apartado__lado { position: static; order: -1; padding-top: 24px; }
  .panel-perfil__lado { position: static; }
  .perfil__fila { grid-template-columns: 1fr; }
  .perfil__pie { bottom: calc(64px + env(safe-area-inset-bottom)); }
  .auto-panel__controles { flex-wrap: wrap; gap: 16px; }

  .panel-barra {
    display: flex; justify-content: space-around;
    position: fixed; inset: auto 0 0 0; z-index: 30;
    height: calc(64px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
    background: var(--blanco); border-top: 1px solid var(--borde-2);
  }
  /* Cuenta sin empresa: no hay secciones (producción, 29-oct-2026). */
  .panel-barra:empty { display: none; }
  .panel-barra a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
    min-width: 64px; font-size: 10px; font-weight: 600; color: var(--texto-2);
  }
  .panel-barra a[aria-current="page"] { color: var(--acento); }
  .panel-barra__icono { position: relative; width: 24px; height: 24px; }
  .panel-barra__punto {
    position: absolute; top: -4px; right: -10px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
    display: grid; place-items: center; background: var(--acento); color: var(--blanco); font-size: 10px; font-weight: 700;
    box-shadow: 0 0 0 2px var(--blanco);
  }
  .avisos { bottom: calc(76px + env(safe-area-inset-bottom)); }
}

/* =========================================================================
   Registro, autos, calendario y ajustes (28-oct-2026, noche)
   ========================================================================= */

.boton-icono { width: 16px; height: 16px; display: inline-flex; }
.boton-icono svg { width: 16px; height: 16px; }
.boton-oscuro > span:not(.boton-icono), .boton-borde > span { display: inline-flex; }
.panel__titulo-fila { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* Aviso de revisión y primeros pasos */
.alerta-panel--revision { margin: 0 0 28px; background: #E8EEF9; }
.alerta-panel--revision .alerta-panel__icono { color: #2D4F9E; }
.alerta-panel--revision p { color: #2D4F9E; }
.primeros-pasos { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; max-width: 560px; }
.primeros-pasos li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--borde-2); font-size: 16px; }
.primeros-pasos a { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.primeros-pasos li[data-listo] span:last-child { color: var(--texto-2); text-decoration: line-through; }
.primeros-pasos__marca { width: 24px; height: 24px; flex: none; border-radius: 50%; border: 2px solid var(--borde); display: grid; place-items: center; }
.primeros-pasos li[data-listo] .primeros-pasos__marca { background: #1E6B45; border-color: #1E6B45; color: var(--blanco); }
.primeros-pasos__marca svg { width: 12px; height: 12px; }

/* Choque al confirmar */
.accion-panel--choque { background: #FDECEA; border-color: transparent; }
.accion-panel--choque p { color: #7A2616; }

/* Entrada */
.panel-entrada__h2 { margin: 28px 0 12px; font-size: 16px; font-weight: 600; color: var(--texto-2); }
.panel-entrada__cuenta { width: 100%; margin-bottom: 12px; }
.panel-entrada__registro {
  display: flex; align-items: center; gap: 16px; padding: 18px 16px; margin-top: 12px;
  border-radius: var(--r-16); background: var(--gris-1);
  transition: background-color var(--dur-fast) ease;
}
@media (hover: hover) and (pointer: fine) { .panel-entrada__registro:hover { background: var(--gris-2); } }
.panel-entrada__registro-icono { width: 28px; height: 28px; flex: none; }
.panel-entrada__registro > span:nth-child(2) { display: flex; flex-direction: column; flex: 1; }
.panel-entrada__registro strong { font-size: 16px; font-weight: 600; }
.panel-entrada__registro small { color: var(--texto-2); font-size: 14px; }

/* Menú como pantalla (teléfono) */
.menu-pantalla { display: flex; flex-direction: column; margin-top: 16px; }
.menu-pantalla a, .menu-pantalla button { display: block; padding: 16px 0; border-bottom: 1px solid var(--borde-2); font-size: 16px; text-align: left; }
.menu-pantalla hr { display: none; }

/* Lista de autos */
.autos-herramientas { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
.autos-herramientas .chips-panel { margin-top: 0; }
.campo-buscar {
  display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 14px; min-width: min(320px, 100%);
  border: 1px solid #B0B0B0; border-radius: var(--r-pildora);
  transition: border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
.campo-buscar:focus-within { border-color: var(--texto); box-shadow: inset 0 0 0 1px var(--texto); }
.campo-buscar > span { width: 16px; height: 16px; flex: none; color: var(--texto-2); }
.campo-buscar input { flex: 1; min-width: 0; border: 0; outline: none; background: transparent; font: inherit; font-size: 15px; }
.auto-panel__origen { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 12px; font-weight: 600; color: var(--texto-2); }
.auto-panel__origen svg { width: 12px; height: 12px; }
.auto-panel__enlaces { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 6px; }
.auto-panel__enlaces .enlace-sub { font-size: 13px; }
.auto-panel__info .enlace-sub { margin-top: 0; }
.auto-panel.destello { animation: destello 1100ms var(--ease-out); }

/* Alta de un auto */
body[data-alta-auto] .panel-barra { display: none; }
.alta-auto { max-width: 630px; margin: 0 auto; padding-bottom: 120px; }
.alta-auto h1 { font-size: 32px; line-height: 36px; font-weight: 600; letter-spacing: -.02em; }
.alta-pie--panel { z-index: 35; }
.alta-progreso--uno { grid-template-columns: 1fr; }
.alta-pie__paso { font-size: 13px; color: var(--texto-2); }
.alta__h2--primero { margin-top: 0; }
.tipos--alta { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.tipos--alta .tipo { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; min-height: 120px; }
.tipos--alta .tipo__icono { width: 84px; height: 56px; }
.fila-control { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--borde-2); }
.fila-control__titulo { font-weight: 600; }
.fila-control--interruptor > span { display: flex; flex-direction: column; }
.fila-control--interruptor small { color: var(--texto-2); font-size: 13px; }
.contador { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--borde-2); }
.contador__etiqueta { font-weight: 600; }
.contador__botones { display: flex; align-items: center; gap: 14px; }
.contador__botones output { min-width: 24px; text-align: center; font-size: 16px; font-variant-numeric: tabular-nums; }
.contador__boton {
  width: 32px; height: 32px; border-radius: 50%; border: 1px solid #B0B0B0; font-size: 18px; line-height: 1;
  display: grid; place-items: center; color: var(--texto-2);
  transition: border-color var(--dur-fast) ease, transform var(--dur-press) var(--ease-out);
}
.contador__boton:active { transform: scale(.92); }
.contador__boton:disabled { opacity: .3; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) { .contador__boton:not(:disabled):hover { border-color: var(--texto); color: var(--texto); } }
.alta-auto .alta-tarjetas + .contador { margin-top: 12px; }

.fotos-subir {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 40px 24px;
  border: 1.5px dashed #B0B0B0; border-radius: var(--r-16); text-align: center; cursor: pointer;
  transition: border-color var(--dur-fast) ease, background-color var(--dur-fast) ease;
}
.fotos-subir:focus-within { outline: 2px solid var(--texto); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .fotos-subir:hover { border-color: var(--texto); background: var(--gris-1); } }
.fotos-subir__icono { width: 40px; height: 40px; margin-bottom: 4px; }
.fotos-subir strong { font-size: 18px; font-weight: 600; }
.fotos-subir small { color: var(--texto-2); }
.fotos-subir .boton-borde { margin-top: 12px; }
.fotos-vista { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin: 16px 0 0; padding: 0; list-style: none; }
.fotos-vista li { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-12); overflow: hidden; background: #EFEFEF; }
.fotos-vista img { width: 100%; height: 100%; object-fit: cover; }
.fotos-vista .circulo { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; }
.fotos-vista .circulo svg { width: 10px; height: 10px; }

.precio-grande { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 16px; font-size: 64px; font-weight: 700; letter-spacing: -.03em; }
.precio-grande input {
  width: 4.2ch; border: 0; outline: none; background: transparent; text-align: left;
  font: inherit; font-variant-numeric: tabular-nums; color: var(--texto); -moz-appearance: textfield;
}
.precio-grande input::-webkit-inner-spin-button, .precio-grande input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.precio-grande input::placeholder { color: var(--apagado); }
.precio-grande__nota { margin: 4px 0 0; text-align: center; color: var(--texto-2); font-size: 16px; }
.referencia-precio { display: flex; gap: 14px; margin-top: 32px; padding: 18px 20px; border-radius: var(--r-16); background: var(--gris-1); }
.referencia-precio > span { width: 22px; height: 22px; flex: none; color: #1E6B45; }
.referencia-precio strong { font-weight: 600; }
.referencia-precio p { margin: 4px 0 0; color: var(--texto-2); line-height: 20px; }

.vista-auto { display: flex; flex-direction: column; gap: 12px; max-width: 360px; margin-bottom: 24px; }
.vista-auto__foto { aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 18%; border-radius: 20px; background: #EFEFEF; overflow: hidden; }
.vista-auto__foto img:not(.foto-modelo) { width: 100%; height: 100%; object-fit: cover; }
.vista-auto__foto:has(img:not(.auto-3d):not(.foto-modelo)) { padding: 0; }
.vista-auto__texto { display: flex; flex-direction: column; }
.vista-auto__texto strong { font-size: 16px; font-weight: 600; }
.vista-auto__texto strong span { font-weight: 400; color: var(--texto-2); }
.vista-auto__texto > span { color: var(--texto-2); }
.vista-auto__texto .vista-auto__precio { margin-top: 4px; color: var(--texto); }
.vista-auto__precio strong { text-decoration: underline; text-underline-offset: 2px; }
.panel-perfil .perfil__pie { justify-content: space-between; gap: 12px; }
.panel-perfil__lado .acciones-apartado { margin-top: 4px; }

/* Calendario */
.panel-cuerpo[data-seccion="calendario"] { max-width: calc(1440px + 2 * var(--margen)); }
.cal-panel { display: grid; grid-template-columns: 260px minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.cal-panel__autos { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 12px; max-height: calc(100dvh - 128px); }
.cal-panel__autos .campo-buscar { min-width: 0; }
.cal-autos__lista { margin: 0; padding: 0; list-style: none; overflow-y: auto; overscroll-behavior: contain; }
.cal-auto { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: var(--r-12); transition: background-color var(--dur-fast) ease; }
.cal-auto[aria-current="true"] { background: var(--gris-1); box-shadow: inset 0 0 0 1px var(--texto); }
@media (hover: hover) and (pointer: fine) { .cal-auto:hover { background: var(--gris-1); } }
.cal-auto__foto { width: 56px; height: 40px; flex: none; display: grid; place-items: center; padding: 4px; border-radius: 8px; background: #EFEFEF; }
.cal-auto > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.cal-auto strong { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-auto small { font-size: 12px; color: var(--texto-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-panel__cabeza { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.cal-panel__cabeza .panel__titulo { font-size: 26px; line-height: 30px; }
.cal-panel__elegir { display: none; }
.cal-mes__nav { display: flex; align-items: center; justify-content: space-between; margin: 24px 0 12px; }
.cal-mes__nav h2 { font-size: 22px; font-weight: 600; }
.cal-mes__nav > div { display: flex; align-items: center; gap: 8px; }
.cal-mes__nav .circulo { width: 32px; height: 32px; }
.cal-mes__nav .circulo svg { width: 12px; height: 12px; }
.cal-mes__nav .circulo:disabled { opacity: .3; cursor: not-allowed; }
.cal-mes__semana, .cal-mes__dias { display: grid; grid-template-columns: repeat(7, 1fr); }
.cal-mes__semana { padding-bottom: 8px; font-size: 12px; font-weight: 600; color: var(--texto-2); text-align: center; }
.cal-mes__dias { border-top: 1px solid var(--borde); border-left: 1px solid var(--borde); }
.cdia {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  min-height: 96px; padding: 8px; text-align: left;
  border-right: 1px solid var(--borde); border-bottom: 1px solid var(--borde); background: var(--blanco);
  transition: background-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
.cdia--vacio { background: var(--gris-1); }
.cdia__num { font-size: 14px; font-weight: 600; }
.cdia__precio { font-size: 12px; color: var(--texto-2); font-variant-numeric: tabular-nums; }
.cdia__quedan { font-size: 11px; color: #1E6B45; font-weight: 600; }
.cdia__cerrado { font-size: 11px; font-weight: 600; color: var(--texto-2); }
.cdia[data-estado="pasado"] { background: var(--gris-1); color: var(--texto-3); cursor: default; }
.cdia[data-estado="cerrado"] { background: repeating-linear-gradient(-45deg, var(--blanco) 0 6px, var(--gris-1) 6px 12px); }
.cdia[data-seleccion] { box-shadow: inset 0 0 0 2px var(--texto); z-index: 1; }
@media (hover: hover) and (pointer: fine) { .cdia:not(:disabled):not([data-seleccion]):hover { box-shadow: inset 0 0 0 1px var(--texto); } }
.cdia__barra {
  position: absolute; left: 0; right: 0; bottom: 8px; height: 22px; padding: 0 8px;
  display: flex; align-items: center; font-size: 11px; font-weight: 700; white-space: nowrap; overflow: hidden;
  background: var(--texto); color: var(--blanco);
}
.cdia__barra[data-tipo="renta"] { background: #2D4F9E; }
.cdia__barra[data-tipo="pendiente"] { left: 4px; right: 4px; background: #FFF4E0; color: #8A5300; border: 1.5px dashed #D9A443; border-radius: 6px; }
.cal-lado { padding: 20px; border: 1px solid var(--borde); border-radius: var(--r-16); }
.cal-panel__lado { position: sticky; top: 104px; }
.cal-lado h2 { font-size: 20px; line-height: 24px; font-weight: 600; }
.cal-lado__cabeza { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cal-lado__sub { margin: 4px 0 16px; color: var(--texto-2); }
.cal-lado .campos { margin-bottom: 12px; }
.cal-lado__boton { width: 100%; margin-bottom: 8px; }
.cal-lado .enlace-sub { display: block; margin: 4px auto 0; font-size: 14px; }
.cal-lado__apartados { margin: 0 0 16px; padding: 0; list-style: none; }
.cal-lado__apartados a { display: flex; flex-direction: column; padding: 10px 0; border-bottom: 1px solid var(--borde-2); }
.cal-lado__apartados strong { font-weight: 600; }
.cal-lado__apartados span { font-size: 13px; color: var(--texto-2); }
.cifras--lado { grid-template-columns: 1fr; gap: 8px; margin: 12px 0 16px; }
.cifras--lado > div { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 14px; }
.cifras--lado dd { margin: 0; font-size: 16px; }
.cal-leyenda { display: grid; gap: 8px; margin: 0 0 12px; padding: 0; list-style: none; font-size: 13px; }
.cal-leyenda li { display: flex; align-items: center; gap: 10px; }
.cal-leyenda span { width: 22px; height: 14px; flex: none; border-radius: 3px; border: 1px solid var(--borde); }
.cal-leyenda [data-tipo="apartado"] { background: var(--texto); border-color: var(--texto); }
.cal-leyenda [data-tipo="renta"] { background: #2D4F9E; border-color: #2D4F9E; }
.cal-leyenda [data-tipo="pendiente"] { background: #FFF4E0; border: 1.5px dashed #D9A443; }
.cal-leyenda [data-tipo="cerrado"] { background: repeating-linear-gradient(-45deg, var(--blanco) 0 4px, var(--gris-2) 4px 8px); }

/* Ajustes */
.ajustes { display: grid; gap: 0; margin-top: 16px; max-width: 820px; }
.ajuste { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; padding: 32px 0; border-bottom: 1px solid var(--borde); }
.ajuste:last-child { border-bottom: 0; }
.ajuste__cabeza h2 { font-size: 18px; line-height: 22px; font-weight: 600; }
.ajuste__cabeza p { margin: 6px 0 0; color: var(--texto-2); line-height: 20px; }
.ajuste__cuerpo .perfil__fila { margin-top: 12px; }
.ajuste__cuerpo > .fila-control:first-child { padding-top: 0; }
.ajuste__estado { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--texto-2); }
.ajuste .documentos { margin-top: 16px; }
.equipo { margin: 0 0 20px; padding: 0; list-style: none; }
.equipo__fila { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--borde-2); }
.equipo__fila > div { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.equipo__fila strong { font-weight: 600; }
.equipo__fila small { color: var(--texto-2); font-size: 13px; }
.equipo__avatar { width: 36px; height: 36px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--texto); color: var(--blanco); font-weight: 700; }
.equipo__nuevo { display: flex; flex-direction: column; gap: 10px; }
.equipo__nuevo .boton-borde { align-self: flex-start; }

@media (max-width: 1127px) {
  .cal-panel { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .cal-panel__autos { display: none; }
  .cal-panel__elegir { display: flex; min-width: 220px; border: 1px solid #B0B0B0; border-radius: 8px; }
  .cal-panel__lado { position: static; }
  .ajuste { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 743px) {
  .alta-auto h1 { font-size: 26px; line-height: 30px; }
  .cal-panel__cabeza { flex-direction: column; align-items: stretch; }
  .cal-panel__elegir { min-width: 0; }
  .cdia { min-height: 64px; padding: 6px 4px; }
  .cdia__precio, .cdia__quedan, .cdia__cerrado { display: none; }
  .cdia__barra { height: 14px; bottom: 6px; font-size: 0; }
  .precio-grande { font-size: 48px; }
  .panel__titulo-fila .boton-oscuro { width: 100%; }
  .autos-herramientas { flex-direction: column; align-items: stretch; }
}
.cal-panel__elegir { position: relative; padding: 6px 40px 6px 12px; }
.cal-panel__elegir select {
  width: 100%; padding: 0; border: 0; outline: none; background: transparent;
  font: inherit; font-size: 16px; line-height: 22px; color: var(--texto); appearance: none; -webkit-appearance: none;
}
.cal-panel__elegir:focus-within { box-shadow: 0 0 0 2px var(--texto); }
@media (max-width: 743px) {
  .tipos--alta { grid-template-columns: 1fr 1fr; }
  .tipos--alta .tipo { min-height: 104px; }
  .tipos--alta .tipo__icono { width: 72px; height: 48px; }
}

/* Plan de la empresa a la vista (2026-11-02, pedido de Julian): la etiqueta en el encabezado, «Tu plan» en Hoy,
   Ajustes y Planes, y los avisos de una empresa con algo que corregir o suspendida. */
.panel-enc .plan-chip { height: 28px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
.plan-chip__icono { display: inline-flex; }
.plan-chip__icono svg { width: 13px; height: 13px; }
.plan-chip[data-plan-tono="gratis"] { background: var(--gris-1); color: var(--texto); box-shadow: inset 0 0 0 1px var(--borde); }
.plan-chip[data-plan-tono="pago"] { background: var(--degradado-marca); color: #fff; }
.plan-chip[data-plan-tono="pago"]:hover { background: var(--degradado-marca); filter: brightness(1.08); }
.plan-chip[data-plan-tono="aviso"] { background: var(--alerta-fondo); color: var(--alerta); box-shadow: inset 0 0 0 1px var(--alerta-borde); }
@media (max-width: 1127px) { .panel-enc .plan-chip__extra { display: none; } }
@media (max-width: 743px) { .panel-enc__marca .plan-chip { display: none; } }
.menu-pantalla__plan { margin: 0 0 8px; }
.menu-pantalla .menu-pantalla__plan .plan-chip { display: inline-flex; width: auto; height: 32px; padding: 0 12px; border-bottom: 0; font-size: 13px; }
.tu-plan__cabeza .boton-borde { flex: none; white-space: nowrap; }

.tu-plan {
  padding: 20px 24px; border: 1px solid var(--borde); border-radius: var(--r-16); background: var(--blanco);
  max-width: 640px;
}
.tu-plan[data-plan-tono="pago"] { border-color: var(--tema-borde); background: linear-gradient(180deg, var(--tema-fondo), var(--blanco) 70%); }
.tu-plan[data-plan-tono="aviso"] { border-color: var(--alerta-borde); background: var(--alerta-fondo); }
.tu-plan__cabeza { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.tu-plan__antetitulo { margin: 0 0 2px; font-size: 13px; font-weight: 600; color: var(--texto-2); }
.tu-plan h2 { margin: 0; font-size: 22px; font-weight: 800; letter-spacing: -0.01em; }
.tu-plan__precio { margin-left: 6px; font-size: 15px; font-weight: 600; color: var(--texto-2); }
.tu-plan__vigencia { margin: 4px 0 0; font-size: 14px; color: var(--texto-2); }
.tu-plan[data-plan-tono="aviso"] .tu-plan__vigencia { color: var(--alerta); font-weight: 600; }
.tu-plan__texto { margin: 14px 0 0; font-size: 15px; line-height: 1.5; }
.tu-plan__usos { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 14px; }
.tu-plan__usos li { display: inline-flex; align-items: center; gap: 6px; }
.tu-plan__usos span { display: inline-flex; color: var(--texto-2); }
.tu-plan__usos svg { width: 16px; height: 16px; }
.tu-plan__lleno { margin-left: 4px; padding: 1px 6px; border-radius: 6px; background: var(--alerta-fondo); color: var(--alerta); font-size: 11px; }
.tu-plan__pedido { display: flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 10px 12px; border-radius: var(--r-12);
  background: var(--gris-1); font-size: 14px; }
.tu-plan__pedido span { display: inline-flex; }
.tu-plan__pedido svg { width: 16px; height: 16px; }

.planes__arriba { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin: 24px 0 8px; align-items: start; }
.planes__arriba .tu-plan { max-width: none; }
.planes-cobro { padding: 20px 24px; border-radius: var(--r-16); background: var(--gris-1); }
.planes-cobro h2 { margin: 0 0 10px; font-size: 18px; font-weight: 700; }
.planes-cobro ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.planes-cobro li { display: flex; gap: 8px; font-size: 14px; line-height: 1.45; }
.planes-cobro li span { flex: none; display: inline-flex; margin-top: 2px; color: var(--bien); }
.planes-cobro li svg { width: 15px; height: 15px; }
.planes-cobro__pie { margin: 12px 0 0; font-size: 13px; color: var(--texto-2); }
.planes-cobro__pie a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 1127px) { .planes__arriba { grid-template-columns: 1fr; } }

.alerta-panel--aviso { margin: 0 0 28px; background: var(--alerta-fondo); }
.alerta-panel--aviso .alerta-panel__icono { color: var(--alerta); }
.alerta-panel--aviso p { color: var(--texto); }
.alerta-panel--aviso a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.ajuste__estado { flex-wrap: wrap; margin-bottom: 16px; }
.ajuste__estado-ayuda { font-size: 14px; }

/* Contacto de Oaxaca Renta para las rentadoras (2026-11-02): Planes, avisos del panel y registro. */
.contacto-empresas { margin: 12px 0 0; font-size: 14px; line-height: 1.5; color: var(--texto-2); }
.contacto-empresas a, .alerta-panel a[href^="https://wa.me"], .alerta-panel a[href^="mailto:"] { color: var(--texto); text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.alta-listo .contacto-empresas { margin-top: 24px; }
