/* ─── 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-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;
}

/* 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;
}
