/* ============================================================================
 * driver-cloud-access.css
 *
 * Estilo canónico unificado para el bloque "Acceso por email a la nube"
 * (login con magic link + checkbox de privacidad + estado + nota legal)
 * que aparece al pie de Driver Tacho, Driver Fleet, Driver Lex,
 * Driver Docs, Driver Tax y Driver Labor.
 *
 * Fuente de verdad: bloque "Acceso a Driver Tax" / "Acceso a Driver Labor".
 * Cualquier cambio visual hecho aquí afecta a las 6 herramientas a la vez.
 *
 * Las páginas usan la clase `body.ds-app` en el <body>, por eso el scope
 * está anclado a ella.  Los IDs (#dt-archive-email, #df-archive-email,
 * #dl-archive-email, #dd-archive-email, #dtax-account-email,
 * #dlabor-account-email) son responsabilidad del JS de cada herramienta y
 * NO se tocan aquí.
 *
 * Usamos `!important` en las propiedades críticas (tarjeta blanca, layout
 * del campo, layout del consent y del botón) porque Driver Lex y Driver
 * Docs cargan también escritos-laborales.css y herramientas.css que
 * imponen reglas globales a `label`, `input` y `display:grid` sobre los
 * formularios.  Sin override forzado el bloque se renderiza sin tarjeta y
 * con el checkbox roto en columna.
 * ============================================================================ */

body.ds-app .dtax-account-section {
  margin: 18px 0 !important;
}

/* En Tacho/Fleet el <main> es full-bleed y el bloque de la nube conserva la
   clase `ds-container` para auto-limitar su ancho (min(100% - 32px, --ds-max)).
   Sin centrarlo quedaba pegado a la izquierda, 16px desalineado respecto al
   hero y al bloque "Así funciona". Lo centramos para que coincida exactamente.
   En Lex/Docs/Tax/Labor el bloque NO lleva `ds-container` (llena el 100% del
   <main> ya limitado), así que esta regla no le aplica. */
body.ds-app .dtax-account-section.ds-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ds-app .dtax-account-card {
  display: block !important;
  padding: 22px 24px !important;
  background: #ffffff !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-radius: var(--ds-radius-md, 12px) !important;
  box-shadow: var(--ds-shadow-sm, 0 2px 8px rgba(11,22,40,.04)) !important;
  grid-column: auto !important;
}

body.ds-app .dtax-account-header {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid var(--ds-line, #e5e7eb) !important;
  background: transparent !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
}

body.ds-app .dtax-account-title {
  margin: 0 0 6px !important;
  color: var(--ds-navy, #0b4f9f) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

body.ds-app .dtax-account-sub {
  margin: 0 !important;
  color: var(--ds-muted, #6b7280) !important;
  font-size: .9rem !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

body.ds-app .dtax-account-login {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.ds-app .dtax-account-login[hidden] {
  display: none !important;
}

body.ds-app .dtax-account-field {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
}

body.ds-app .dtax-account-field > span {
  display: block !important;
  font-weight: 600 !important;
  font-size: .9rem !important;
  color: var(--ds-ink, #1f2937) !important;
  line-height: 1.4 !important;
}

body.ds-app .dtax-account-field input {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  font: inherit !important;
  font-size: .95rem !important;
  background: #ffffff !important;
  color: var(--ds-ink, #1f2937) !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-radius: var(--ds-radius-xs, 6px) !important;
}

body.ds-app .dtax-account-field input:focus {
  outline: 2px solid var(--ds-blue, #006cff) !important;
  outline-offset: -1px !important;
  border-color: var(--ds-blue, #006cff) !important;
}

body.ds-app .dtax-account-consent {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  width: auto !important;
  font-size: .85rem !important;
  color: var(--ds-ink, #1f2937) !important;
  line-height: 1.5 !important;
}

body.ds-app .dtax-account-consent > input,
body.ds-app .dtax-account-consent > input[type="checkbox"] {
  width: auto !important;
  min-width: 0 !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

body.ds-app .dtax-account-consent > span {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.ds-app .dtax-account-consent a {
  color: var(--ds-blue, #006cff) !important;
  text-decoration: underline !important;
}

body.ds-app .dtax-account-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ds-app .dtax-account-status {
  margin: 0 !important;
  min-height: 1.2em !important;
  font-size: .88rem !important;
  color: var(--ds-muted, #6b7280) !important;
  font-weight: 400 !important;
}

body.ds-app .dtax-account-status[data-tone="error"] {
  color: var(--ds-danger, #b3261e) !important;
  font-weight: 600 !important;
}

body.ds-app .dtax-account-status[data-tone="success"] {
  color: var(--ds-success, #0b7a3b) !important;
  font-weight: 600 !important;
}

body.ds-app .dtax-account-foot-note {
  margin: 0 !important;
  padding: 10px 12px !important;
  background: #f4f8ff !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-left: 3px solid var(--ds-blue, #006cff) !important;
  border-radius: var(--ds-radius-xs, 6px) !important;
  font-size: .8rem !important;
  color: var(--ds-ink, #1f2937) !important;
  line-height: 1.5 !important;
}

/* Vista logueado: usado por driver-tacho, driver-fleet, driver-lex, driver-docs
 * (que muestran lista de items guardados).  driver-tax / driver-labor lo
 * usan para el banner "Conectado como X" antes del perfil fiscal/empresa. */
body.ds-app .dtax-account-welcome {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 12px 14px !important;
  background: #f4f8ff !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-radius: var(--ds-radius-xs, 6px) !important;
  font-size: .9rem !important;
}

body.ds-app .dtax-account-welcome[hidden] {
  display: none !important;
}

body.ds-app .dtax-account-welcome p {
  margin: 0 !important;
  color: var(--ds-ink, #1f2937) !important;
}

body.ds-app .dtax-account-welcome p strong {
  color: var(--ds-blue-600, #0855c4) !important;
}

body.ds-app .dtax-account-welcome-actions {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body.ds-app .dtax-account-welcome-actions .ds-btn {
  min-height: 34px !important;
  padding: 0 14px !important;
  font-size: .78rem !important;
}

/* ============================================================================
 * Vista logueada con LISTA de items guardados.
 *
 * Fuente de verdad canónica del bloque "Mi archivo en la nube" de Driver
 * Tacho.  Reunificado aquí para que Driver Lex, Driver Docs, Driver Fleet,
 * Driver Tax y Driver Labor pinten su lista de items (consultas, documentos,
 * vehículos, asientos, facturas, nóminas) EXACTAMENTE igual: cada fila con
 * su metadato + botones "Descargar" / "Borrar" individuales.
 *
 * `!important` + scope `body.ds-app` porque Lex y Docs cargan también
 * escritos-laborales.css / herramientas.css con reglas globales sobre
 * `ul`, `li` y `button` que romperían la lista sin override forzado.
 * ============================================================================ */
body.ds-app .dt-archive-loggedin {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
body.ds-app .dt-archive-loggedin[hidden] { display: none !important; }

body.ds-app .dt-archive-list-wrapper { min-height: 30px !important; }

body.ds-app .dt-archive-list-title {
  margin: 0 0 8px !important;
  font-size: .92rem !important;
  font-weight: 700 !important;
  color: var(--ds-ink, #1f2937) !important;
}

body.ds-app .dt-archive-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

body.ds-app .dt-archive-list li {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-radius: var(--ds-radius-xs, 6px) !important;
  font-size: .88rem !important;
}

body.ds-app .dt-archive-list li .dt-meta {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  flex: 1 1 200px !important;
}
body.ds-app .dt-archive-list li .dt-meta strong {
  color: var(--ds-ink, #1f2937) !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  font-size: .88rem !important;
}
body.ds-app .dt-archive-list li .dt-meta small {
  color: var(--ds-muted, #6b7280) !important;
  font-size: .74rem !important;
  margin-top: 1px !important;
}

body.ds-app .dt-archive-list li .dt-actions {
  display: flex !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  flex-wrap: wrap !important;
}

/* Botones de acción inline — propios del bloque, NO usan .ds-btn (reservado
 * a los CTA grandes del hero). */
body.ds-app .dt-archive-list .dt-archive-action {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  font: inherit !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  border: 1px solid var(--ds-line, #e5e7eb) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: var(--ds-ink, #1f2937) !important;
  cursor: pointer !important;
  transition: background .15s, border-color .15s, color .15s !important;
}
body.ds-app .dt-archive-list .dt-archive-action .ds-ico {
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
}
body.ds-app .dt-archive-list .dt-archive-action--soft:hover {
  background: #f3f4f6 !important;
  border-color: #cbd5e1 !important;
}
body.ds-app .dt-archive-list .dt-archive-action--danger {
  color: var(--ds-danger, #b3261e) !important;
  border-color: #fecaca !important;
}
body.ds-app .dt-archive-list .dt-archive-action--danger:hover {
  background: #fff5f5 !important;
  border-color: #fca5a5 !important;
  color: #991b1b !important;
}

body.ds-app .dt-archive-empty {
  margin: 0 !important;
  color: var(--ds-muted, #6b7280) !important;
  font-style: italic !important;
  font-size: .82rem !important;
}
