/* Settings: the DART brand system applied to a focused, native-feeling preference surface. */
.settings-hero{
  position:relative;
  min-height:230px;
  margin:0 calc(var(--content-pad, 40px) * -1);
  overflow:hidden;
  background:#073f32 url('./assets/progress-course-hero.jpg') center 58%/cover no-repeat;
  color:#fff;
}
.settings-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,40,30,.88) 0%,rgba(0,49,37,.7) 48%,rgba(0,37,29,.38) 100%);
}
.settings-hero-copy{
  position:relative;
  z-index:1;
  max-width:1180px;
  margin:0 auto;
  padding:58px var(--content-pad,40px) 72px;
}
.settings-hero h1{
  margin:0;
  font-family:var(--font-sans,"Instrument Sans",sans-serif);
  font-size:clamp(42px,5vw,66px);
  font-weight:700;
  letter-spacing:-.055em;
  line-height:.96;
}
.settings-hero p{
  margin:13px 0 0;
  color:rgba(255,255,255,.82);
  font-size:18px;
  line-height:1.4;
}
.settings-sheet{
  position:relative;
  z-index:2;
  max-width:1060px;
  margin:-44px auto 36px;
  padding:18px;
  overflow:visible;
  border:1px solid rgba(0,61,43,.1);
  border-radius:32px;
  background:rgba(242,247,244,.96);
  box-shadow:0 20px 50px rgba(0,45,33,.13);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.settings-group,.settings-links{display:grid;gap:12px;padding:0}
.settings-group{margin-top:12px}
.settings-links{margin-top:12px}
.setting-card,.setting-disclosure{
  overflow:visible;
  border:1px solid rgba(0,61,43,.07);
  border-radius:22px;
  background:rgba(255,255,255,.9);
  box-shadow:0 7px 18px rgba(2,52,40,.04);
}
.setting-card{padding:18px}
.setting-heading,.setting-disclosure summary{
  display:flex;
  align-items:center;
  gap:15px;
}
.setting-disclosure summary{
  min-height:82px;
  padding:15px 18px;
  list-style:none;
  cursor:pointer;
}
.setting-disclosure summary::-webkit-details-marker{display:none}
.setting-icon{
  display:grid;
  flex:0 0 48px;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:16px;
  background:#edf5f1;
  color:#005c47;
}
.setting-icon .icon{width:27px;height:27px}
.setting-icon-profile{
  width:68px;
  height:68px;
  flex-basis:68px;
  border-radius:50%;
  background:linear-gradient(145deg,#00654d,#003d2b);
  color:#fff;
}
.setting-icon-profile .icon{width:33px;height:33px}
.setting-copy{min-width:0;flex:1}
.setting-copy strong{
  display:block;
  color:#062f27;
  font-size:17px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
}
.setting-copy span{
  display:block;
  margin-top:4px;
  color:#697c77;
  font-size:14px;
  line-height:1.35;
}
.setting-chevron{
  color:#697c77;
  font-size:32px;
  font-weight:300;
  line-height:1;
  transition:transform .22s ease;
}
.setting-disclosure[open] .setting-chevron{transform:rotate(90deg)}
.setting-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  width:100%;
  margin-top:16px;
  padding:4px;
  border:0;
  border-radius:15px;
  background:#f0f1ef;
}
.setting-actions button{
  min-height:46px;
  padding:10px 14px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#53645f;
  font:600 15px/1 var(--font-sans,"Instrument Sans",sans-serif);
  cursor:pointer;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.setting-actions button:hover{color:#003d2b}
.setting-actions button:active{transform:scale(.985)}
.setting-actions button.active{
  background:#005c47;
  color:#fff;
  box-shadow:0 5px 13px rgba(0,73,55,.18);
}
.setting-actions button:focus-visible,.setting-disclosure summary:focus-visible{
  outline:3px solid rgba(36,220,174,.42);
  outline-offset:3px;
}
.setting-detail{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 18px 18px 81px;
  padding-top:15px;
  border-top:1px solid rgba(0,61,43,.1);
  color:#50625d;
  font-size:14px;
  line-height:1.45;
}
.setting-detail .benchmark-picker{z-index:8}
.setting-detail small{color:#778984;font-size:13px}
.setting-status span{display:flex;align-items:center;gap:8px;color:#154a3d;font-weight:600}
.setting-status i{width:8px;height:8px;border-radius:50%;background:#2db88e;box-shadow:0 0 0 4px rgba(45,184,142,.12)}
.desktop-more.active{color:var(--mint,#65efca)}

@media(min-width:820px){
  .settings-group{grid-template-columns:repeat(3,minmax(0,1fr))}
  .settings-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .setting-card{display:flex;min-height:188px;flex-direction:column}
  .setting-card .setting-actions{margin-top:auto}
}
@media(max-width:819px){
  .settings-hero{min-height:214px;margin:0 -20px}
  .settings-hero-copy{padding:48px 20px 70px}
  .settings-hero h1{font-size:48px}
  .settings-sheet{margin:-42px 0 28px;padding:12px;border-radius:28px}
}
@media(max-width:560px){
  .settings-hero{min-height:204px;margin:0 -12px;background-position:center 58%}
  .settings-hero-copy{padding:43px 20px 66px}
  .settings-hero h1{font-size:44px}
  .settings-hero p{font-size:16px}
  .settings-sheet{margin:-40px 0 24px;padding:10px;border-radius:26px}
  .setting-card,.setting-disclosure{border-radius:20px}
  .setting-card{padding:16px}
  .setting-disclosure summary{min-height:76px;padding:13px 15px}
  .setting-icon{width:44px;height:44px;flex-basis:44px;border-radius:15px}
  .setting-icon-profile{width:60px;height:60px;flex-basis:60px;border-radius:50%}
  .setting-copy strong{font-size:16px}
  .setting-copy span{font-size:13px}
  .setting-actions{margin-top:14px}
  .setting-actions button{min-height:44px;font-size:14px}
  .setting-detail{align-items:flex-start;flex-direction:column;margin:0 15px 15px 74px}
}

/* Account identity and session controls */
.dart-profile-avatar{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.setting-account-card{
  position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;
  padding:18px;border:1px solid rgba(0,61,43,.07);border-radius:24px;background:rgba(255,255,255,.94);
  box-shadow:0 7px 18px rgba(2,52,40,.04)
}
.setting-account-avatar{position:relative;width:72px;height:72px;border-radius:50%;overflow:visible;background:linear-gradient(145deg,#00654d,#003d2b);color:#fff}
.setting-account-avatar>img,.setting-account-avatar>.icon{width:100%;height:100%;border-radius:50%;object-fit:cover}
.setting-account-avatar>.icon{padding:19px}
.setting-account-avatar>button{
  position:absolute;right:-3px;bottom:-3px;display:grid;width:30px;height:30px;place-items:center;border:3px solid #fff;
  border-radius:50%;background:#00a77c;color:#fff;cursor:pointer
}
.setting-account-avatar>button .icon{width:15px;height:15px}
.setting-account-copy>span{color:#71817d;font-size:11px;font-weight:700;letter-spacing:.16em}
.setting-account-copy h2{margin:3px 0 0;color:#062f27;font-size:21px;line-height:1.1;letter-spacing:-.03em}
.setting-account-copy p{margin:5px 0 0;color:#697c77;font-size:13px}
.setting-photo-button,.setting-session-actions button{
  min-height:44px;padding:0 17px;border:1px solid rgba(0,92,71,.2);border-radius:14px;background:#edf7f3;
  color:#005c47;font:700 14px/1 var(--font-sans,"Instrument Sans",sans-serif);cursor:pointer
}
.setting-photo-button:active,.setting-session-actions button:active{transform:scale(.98)}
.setting-account-status{grid-column:2/-1;min-height:0;margin:0;color:#28735f;font-size:13px}
.setting-account-status:empty{display:none}
.setting-account-benchmark{
  grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:16px;
  border-top:1px solid rgba(0,61,43,.1);color:#50625d;font-size:14px
}
.setting-account-benchmark .benchmark-picker{z-index:9}
.setting-session-card{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:18px;
  border:1px solid rgba(0,61,43,.07);border-radius:22px;background:rgba(255,255,255,.9)
}
.setting-session-card>div:first-child strong{display:block;color:#062f27;font-size:17px}
.setting-session-card>div:first-child span{display:block;margin-top:4px;color:#697c77;font-size:14px}
.setting-session-actions{display:flex;gap:8px}
.setting-session-actions .setting-signout{border-color:rgba(193,62,54,.18);background:#fff3f1;color:#b53b35}
.setting-session-card>p{display:none}
@media(max-width:560px){
  .setting-account-card{grid-template-columns:auto minmax(0,1fr);padding:15px}
  .setting-account-avatar{width:64px;height:64px}
  .setting-photo-button{grid-column:1/-1;width:100%}
  .setting-account-status{grid-column:1/-1}
  .setting-account-benchmark{align-items:flex-start;flex-direction:column}
  .setting-session-card{align-items:stretch;flex-direction:column}
  .setting-session-actions{display:grid;grid-template-columns:1fr 1fr}
}

/* The same circular avatar token is used anywhere a person is represented. */
.dart-profile-button{
  aspect-ratio:1 / 1;
  min-width:44px;
  min-height:44px;
  overflow:hidden;
  line-height:0;
}
.dart-profile-button .dart-profile-avatar{
  width:100%!important;
  height:100%!important;
  min-width:0;
  min-height:0;
  border-radius:50%;
  object-fit:cover;
}
.setting-account-avatar{overflow:hidden}
.setting-account-avatar>button{display:none}


/* Exact approved web Settings typography and control geometry.
   Scope: Measurement Units and Short Distance Units only.
   Native app and other Settings sections are intentionally excluded. */
.setting-measurement-units,
.setting-short-distance-units {
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(0,61,43,.07);
  background: rgba(255,255,255,.9);
}
.setting-measurement-units .setting-heading,
.setting-short-distance-units .setting-heading {
  gap: 15px;
}
.setting-measurement-units .setting-icon,
.setting-short-distance-units .setting-icon {
  width: 44px;
  height: 44px;
  flex-basis: 44px;
  border-radius: 15px;
  background: #edf5f1;
  color: #005c47;
}
.setting-measurement-units .setting-icon .icon,
.setting-short-distance-units .setting-icon .icon {
  width: 27px;
  height: 27px;
}
.setting-measurement-units .setting-copy strong,
.setting-short-distance-units .setting-copy strong {
  font-family: var(--font-sans,"Instrument Sans",sans-serif);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.2;
  color: #062f27;
  text-align: left;
}
.setting-measurement-units .setting-copy span,
.setting-short-distance-units .setting-copy span {
  font-family: var(--font-sans,"Instrument Sans",sans-serif);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.35;
  margin-top: 4px;
  color: #697c77;
}
.setting-measurement-units .setting-actions,
.setting-short-distance-units .setting-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 4px;
  padding: 4px;
  margin-top: 14px;
  border-radius: 15px;
  background: #f0f1ef;
}
.setting-measurement-units .setting-actions button,
.setting-short-distance-units .setting-actions button {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 12px;
  font-family: var(--font-sans,"Instrument Sans",sans-serif);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: normal;
  text-align: center;
  background: transparent;
  color: #53645f;
}
.setting-measurement-units .setting-actions button.active,
.setting-short-distance-units .setting-actions button.active {
  background: #005c47;
  color: #ffffff;
  box-shadow: 0 5px 13px rgba(0,73,55,.18);
}
/* Existing data-dart-theme="dark" overrides remain authoritative, so
   dark-mode legibility and selected/unselected states are preserved. */

/* Wind units share one row at every screen size. */
.setting-wind-units .setting-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.setting-wind-units .setting-actions button{
  min-width:0;
  padding-inline:6px;
  white-space:nowrap;
}

