/* ─── Settings module CSS ────────────────────────────────────────
   Agregar al final de css/styles.css
   ─────────────────────────────────────────────────────────────── */

.settings-sections {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
}

.settings-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
}

.settings-card-header {
  display: flex;
  align-items: center;
  gap: .875rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--border);
}

.settings-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: #f0f4ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.settings-card-icon--gray {
  background: var(--bg);
}

.settings-card-info {
  flex: 1;
}

.settings-card-title {
  font-size: .825rem;
  font-weight: 600;
  color: var(--text);
}

.settings-card-desc {
  font-size: .75rem;
  color: var(--text3);
  margin-top: 1px;
}

.settings-card-status {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .72rem;
  color: var(--text3);
}

.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.status-dot.connected    { background: #22c55e; }
.status-dot.disconnected { background: var(--border2); }
.status-dot.unread       { background: var(--blue); }

.status-label { font-size: .72rem; }

.settings-card-body {
  padding: 1.25rem;
}

.settings-hint {
  font-size: .78rem;
  color: var(--text2);
  margin-bottom: 1rem;
  line-height: 1.6;
}

/* BOM Types row (Company Config) — reflow por grupos en vez de
   cortarse o generar scroll horizontal (docs/fix-responsive-bom-
   types.txt). Clase NUEVA, aparte de .opt-row (compartida por otras 6
   filas de Settings que no se tocan acá — blast radius acotado).
   Fix 2026-08-11 (docs/fix-bom-types-layout.txt): antes .bomtype-
   toggles competía por ancho horizontal con .bomtype-identity en la
   MISMA línea (solo bajaba de línea si el flex-wrap automático lo
   forzaba, dependiendo del ancho disponible) — con poco ancho de
   card eso terminaba apretando/solapando los pares label+switch
   ("Extract"/"Active" ilegibles). Ahora flex-basis:100% fuerza a
   .bomtype-toggles a ocupar SIEMPRE su propia línea completa debajo
   de .bomtype-identity, sin importar el ancho de la card — así nunca
   compite por espacio con el bloque de arriba. */
.bomtype-row{
  display:flex;flex-wrap:wrap;align-items:center;
  gap:.5rem;row-gap:.6rem;padding:.55rem 0;
}
.bomtype-identity{
  display:flex;align-items:center;gap:.5rem;
  flex:1 1 220px;min-width:220px;
}
.bomtype-toggles{
  display:flex;align-items:center;flex-wrap:wrap;
  gap:.6rem;row-gap:.5rem;flex-basis:100%;
}
.bomtype-toggle-pair{
  display:inline-flex;align-items:center;gap:.35rem;
  flex-shrink:0;white-space:nowrap;
}

/* Connect Google button */
.btn-connect-google {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  height: 36px;
  padding: 0 1rem;
  background: var(--blue);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 500;
  cursor: pointer;
  transition: background .15s, box-shadow .15s;
}

.btn-connect-google:hover {
  background: #0049d6;
  box-shadow: 0 4px 12px rgba(0,87,255,.25);
}

/* Connected user row */
.drive-user-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .875rem;
}

.drive-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--border);
}

.drive-user-info { flex: 1; }

.drive-user-name {
  font-size: .8rem;
  font-weight: 500;
  color: var(--text);
}

.drive-user-email {
  font-size: .72rem;
  color: var(--text3);
}

.btn-disconnect {
  height: 28px;
  padding: 0 .75rem;
  background: none;
  border: 1px solid var(--border2);
  border-radius: 6px;
  font-family: inherit;
  font-size: .72rem;
  color: var(--text2);
  cursor: pointer;
  transition: border-color .15s, color .15s;
}

.btn-disconnect:hover {
  border-color: #dc2626;
  color: #dc2626;
}

.drive-folder-row {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  color: var(--text3);
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: .5rem .75rem;
}

/* Logout button */
.btn-logout {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  height: 32px;
  padding: 0 .875rem;
  background: none;
  border: 1px solid var(--border2);
  border-radius: 7px;
  font-family: inherit;
  font-size: .75rem;
  color: var(--text2);
  cursor: pointer;
  transition: border-color .15s, color .15s;
}

.btn-logout:hover {
  border-color: #dc2626;
  color: #dc2626;
}
