/* ============================================================================
   ScopeTrail — Practice settings
   Depends on ../assets/base.css (tokens, .btn, reset) and
   ../dashboard/dashboard.css (.dash-topbar, .dash-shell, .card, .page-intro,
   .section-heading, .state). This file only adds the settings-form pieces —
   same ivory ground, Newsreader headings, coral accent, restrained borders.
   ============================================================================ */

.set-shell{max-width:760px;}

/* ---- Top bar account cluster ---- */
.set-topbar__account{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
.set-topbar__link{
  font-size:.88rem;
  font-weight:500;
  color:var(--accent-ink);
  text-decoration:underline;
  text-underline-offset:2px;
  border-radius:3px;
}
.set-topbar__email{
  font-size:.85rem;
  color:var(--ink-soft);
  max-width:38ch;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* ---- Form ---- */
.set-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.set-field{display:flex;flex-direction:column;gap:6px;}
.set-field__label{
  font-size:.85rem;
  font-weight:600;
  color:var(--ink);
}
.set-field__control{
  font:inherit;
  font-size:.95rem;
  color:var(--ink);
  background:var(--bg);
  border:1px solid var(--border-strong);
  border-radius:var(--radius-sm);
  padding:12px 13px;
  min-height:46px;
  width:100%;
  max-width:100%;
}
.set-field__control:focus-visible{
  outline:2px solid var(--accent-strong);
  outline-offset:2px;
  border-color:var(--accent-strong);
}
.set-field__control[aria-invalid="true"]{
  border-color:var(--coral-deep);
  background:var(--coral-tint-soft);
}
.set-field__control[readonly],
.set-field__control:disabled{
  color:var(--ink-soft);
  background:var(--surface-2);
  cursor:not-allowed;
}
select.set-field__control{
  appearance:none;
  padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2378716a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 8px center;
}

.set-field__money{
  display:flex;
  align-items:stretch;
  gap:0;
}
.set-field__prefix{
  display:flex;
  align-items:center;
  padding:0 12px;
  font-size:.95rem;
  color:var(--ink-soft);
  background:var(--surface-2);
  border:1px solid var(--border-strong);
  border-right:0;
  border-radius:var(--radius-sm) 0 0 var(--radius-sm);
}
.set-field__control--money{
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}

.set-field__hint{
  margin:0;
  font-size:.8rem;
  color:var(--ink-faint);
  line-height:1.45;
}
.set-field__error{
  margin:0;
  font-size:.82rem;
  font-weight:500;
  color:var(--coral-deep);
  line-height:1.45;
}
:root[data-theme="dark"] .set-field__error,
:root:not([data-theme="light"]) .set-field__error{color:var(--accent-ink);}

.set-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ---- Inline save alert (mirrors the auth alert treatment) ---- */
.set-alert{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border-radius:var(--radius-sm);
  font-size:.88rem;
  line-height:1.5;
}
.set-alert[data-tone="success"]{
  background:var(--good-tint);
  border:1px solid var(--coral-tint);
  color:var(--good-ink);
}
.set-alert[data-tone="error"]{
  background:var(--warn-tint);
  border:1px solid rgba(198,136,27,.32);
  color:var(--warn-ink);
}
.set-alert__icon{flex:0 0 auto;font-weight:700;font-family:var(--font-display);}

/* ---- Read-only (non-owner) note ---- */
.set-readonly-note{
  margin:0 0 18px;
  padding:12px 14px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:.88rem;
  color:var(--ink-soft);
}

/* ---- Connections / Billing / Account copy ---- */
.set-card__copy{
  margin:0 0 10px;
  font-size:.9rem;
  color:var(--ink-soft);
  line-height:1.55;
  max-width:60ch;
}
.set-card__copy:last-of-type{margin-bottom:0;}
.set-card__copy a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;}
.set-card__actions{margin:16px 0 0;display:flex;gap:10px;flex-wrap:wrap;}

.set-defs{margin:0;}
.set-defs__row{display:flex;flex-direction:column;gap:2px;}
.set-defs__key{
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
.set-defs__val{
  margin:0;
  font-size:.95rem;
  color:var(--ink);
  word-break:break-word;
}

@media (max-width:560px){
  .set-topbar__account{width:100%;justify-content:flex-start;}
  .set-topbar__email{max-width:100%;white-space:normal;}
}
