.profile__hero {
  display: grid;
  justify-items: center;
  gap: var(--sp-m);
  padding: var(--sp-xl) var(--sp-l);
  border-radius: var(--r-xl);
  background: var(--bg-surface);
  border: 1px solid var(--line-soft);
}

.profile__hero h2 {
  font-size: var(--fs-20);
  font-weight: var(--fw-bold);
}

.profile__stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-l);
  width: 100%;
}

.profile__stats > div {
  display: grid;
  justify-items: center;
  gap: 2px;
}

.profile__stats strong {
  font-size: var(--fs-17);
  font-weight: var(--fw-bold);
  color: var(--text-primary);
}

.profile__stats span {
  font-size: var(--fs-12);
  color: var(--text-tertiary);
}

.profile__section {
  font-size: var(--fs-13);
  font-weight: var(--fw-semibold);
  color: var(--text-secondary);
}

.profile__empty {
  display: grid;
  justify-items: center;
  gap: var(--sp-s);
  padding: var(--sp-xl) var(--sp-l);
  border-radius: var(--r-lg);
  background: var(--bg-surface);
  border: 1px dashed var(--line-soft);
  color: var(--text-tertiary);
  font-size: var(--fs-13);
}

.profile__startCta {
  min-height: 48px;
  border-radius: var(--r-pill);
}

.profile__settings {
  display: grid;
  gap: var(--sp-s);
  background: var(--bg-surface);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  padding: var(--sp-m);
}

.profile__settingRow {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: var(--sp-m);
  padding: var(--sp-s) 0;
}

.profile__settingCol {
  grid-template-columns: 1fr;
  gap: var(--sp-s);
}

.profile__settingLabel {
  color: var(--text-secondary);
  font-size: var(--fs-13);
  font-weight: var(--fw-semibold);
}

.profile__settingRow input {
  width: 100%;
  background: var(--bg-surface-2);
  border-color: var(--line-soft);
  border-radius: var(--r-sm);
  padding: 10px var(--sp-m);
  color: var(--text-primary);
  font-size: var(--fs-13);
  font-weight: var(--fw-regular);
}

.profile__settingActions {
  display: grid;
  grid-auto-flow: column;
  justify-content: end;
  gap: var(--sp-s);
}

.badge {
  display: inline-grid;
  align-items: center;
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background: var(--bg-surface-2);
  color: var(--text-tertiary);
  font-size: var(--fs-11);
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
}

.badge--ok {
  background: rgba(124, 242, 192, 0.16);
  color: var(--accent-primary);
}

.toggle {
  width: 44px;
  height: 26px;
  min-height: 26px;
  padding: 3px;
  border-radius: var(--r-pill);
  background: var(--bg-surface-2);
  border: 1px solid var(--line-soft);
  position: relative;
  display: inline-block;
}

.toggle__pin {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: var(--r-pill);
  background: var(--text-tertiary);
  transition: transform 0.18s ease, background 0.18s ease;
}

.toggle.is-on {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
}

.toggle.is-on .toggle__pin {
  transform: translateX(18px);
  background: var(--text-on-accent);
}

/* alerts */
.alerts__bucket {
  display: grid;
  gap: var(--sp-s);
}

.alerts__bucketTitle {
  font-size: var(--fs-12);
  font-weight: var(--fw-semibold);
  color: var(--text-tertiary);
  letter-spacing: 0.08em;
}

.alerts__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: var(--sp-m);
  align-items: center;
  padding: var(--sp-m);
  border-radius: var(--r-md);
  background: var(--bg-surface);
  border: 1px solid var(--line-soft);
}

.alerts__text {
  color: var(--text-primary);
  font-size: var(--fs-13);
  line-height: 1.4;
}

.alerts__time {
  color: var(--text-tertiary);
  font-size: var(--fs-12);
}

.alerts__empty {
  display: grid;
  justify-items: center;
  gap: var(--sp-m);
  padding: var(--sp-2xl) var(--sp-l);
  color: var(--text-tertiary);
}
