/* Onboarding — inline source configuration panels (Gmail + Photos) */

.ob-inline-config { margin: 1.5rem 0; animation: obFadeIn 0.25s ease; }
.ob-inline-config--hidden { display: none; }
.ob-config-inner { background: var(--card-bg); border: 1px solid var(--warm-border); border-radius: 2px; padding: 1.75rem 2rem; }
.ob-config-title { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 600; color: var(--ink); margin-bottom: 0.5rem; }
.ob-config-desc { font-size: 0.8rem; color: var(--ink-soft); font-weight: 300; line-height: 1.55; margin-bottom: 1.5rem; }
.ob-link { color: var(--amber); text-decoration: none; }
.ob-link:hover { text-decoration: underline; }

.ob-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
.ob-form-row--check { grid-template-columns: 1fr; margin-bottom: 1rem; }
.ob-form-group { display: flex; flex-direction: column; }
.ob-form-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 0.4rem; }

.ob-form-input,
.ob-form-select {
  padding: 0.7rem 0.9rem;
  background: var(--bg);
  border: 1px solid var(--warm-border);
  border-radius: 2px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 0.88rem;
  color: var(--ink);
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.ob-form-input:focus, .ob-form-select:focus { outline: none; border-color: var(--amber); background: var(--bg); }
.ob-form-input::placeholder { color: var(--ink-soft); opacity: 0.5; }

.ob-date-pair { display: flex; align-items: center; gap: 0.5rem; }
.ob-date-sep { color: var(--ink-soft); font-size: 0.8rem; }

.ob-config-status { margin: 1rem 0; padding: 0.85rem 1rem; border-radius: 2px; font-size: 0.82rem; display: none; }
.ob-config-status.is-loading { display: flex; align-items: center; gap: 0.7rem; background: var(--card-bg); border: 1px solid var(--warm-border); color: var(--ink-soft); }
.ob-config-status.is-success { display: block; background: var(--success-dim); border: 1px solid var(--success-border); color: var(--success); }
.ob-config-status.is-error { display: block; background: var(--error-dim); border: 1px solid var(--error-border); color: var(--error); }
.ob-config-actions { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.5rem; }
.ob-btn-sm { padding: 0.65rem 1.5rem; font-size: 0.82rem; min-height: 40px; }

.ob-photo-drop {
  border: 2px dashed var(--warm-border);
  border-radius: 2px;
  padding: 2.5rem 2rem;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  margin-bottom: 1rem;
}
.ob-photo-drop:hover, .ob-photo-drop.drag-over { border-color: var(--amber); background: var(--amber-dim); }
.ob-photo-drop svg { color: var(--amber); margin-bottom: 0.75rem; display: block; }
.ob-photo-drop p { font-size: 0.9rem; color: var(--ink); font-weight: 500; margin-bottom: 0.25rem; }
.ob-photo-drop span { font-size: 0.75rem; color: var(--ink-soft); font-weight: 300; }

.ob-photo-file-list { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; max-height: 160px; overflow-y: auto; }
.ob-photo-file-item { display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.85rem; background: var(--bg); border: 1px solid var(--warm-border); border-radius: 2px; font-size: 0.78rem; }
.ob-photo-file-item .file-name { flex: 1; color: var(--ink); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ob-photo-file-item .file-size { color: var(--ink-soft); font-weight: 300; }
.ob-photo-remove { background: none; border: none; cursor: pointer; color: var(--ink-soft); padding: 0; display: flex; align-items: center; transition: color 0.2s; }
.ob-photo-remove:hover { color: var(--error); }

.ob-toggle-label { display: flex; align-items: center; gap: 0.65rem; font-size: 0.82rem; color: var(--ink-soft); cursor: pointer; }
.ob-toggle-label input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--amber); }

@media (max-width: 768px) {
  .ob-form-row { grid-template-columns: 1fr; }
}