:root {
  color-scheme: dark;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #081019;
  color: #f5f8fb;
}
* { box-sizing: border-box; }
body {
  min-height: 100vh;
  margin: 0;
  background: radial-gradient(circle at 80% 12%, #0d4166 0, transparent 35%), #081019;
}
.shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.card {
  width: min(100%, 520px);
  padding: clamp(28px, 6vw, 48px);
  border: 1px solid #24455e;
  border-radius: 20px;
  background: #101d29;
  box-shadow: 0 24px 80px #0008;
}
.brand { font-size: 24px; font-weight: 900; letter-spacing: .18em; }
.brand-dot { color: #14a9ee; }
.eyebrow { margin-top: 40px; color: #74caff; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
h1 { font-size: clamp(30px, 6vw, 42px); line-height: 1.12; }
#status { line-height: 1.6; color: #d5e2eb; }
.actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
button {
  appearance: none;
  border: 0;
  border-radius: 10px;
  padding: 14px 18px;
  background: #14a9ee;
  color: #05111a;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
button.secondary { background: transparent; color: #cbeafa; border: 1px solid #4986a8; }
button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.help { margin-top: 28px; color: #9aafbd; font-size: 13px; line-height: 1.55; }

.account { margin-top: 28px; padding: 20px; border: 1px solid #24455e; border-radius: 12px; }
.account h2 { margin: 0 0 12px; font-size: 18px; }
.account p { margin: 0; line-height: 1.55; color: #d5e2eb; }

.profiles-list { display: grid; gap: 12px; margin: 16px 0; }
.profile-row, .profiles-form { display: grid; gap: 10px; padding: 16px 0; border-top: 1px solid #24455e; }
.profile-row input[type="text"], .profiles-form input[type="text"],
.profile-row select, .profiles-form select {
  width: 100%; min-width: 0; padding: 12px; border: 1px solid #4986a8;
  border-radius: 8px; background: #081019; color: #f5f8fb; font: inherit;
}
.profile-row button, .profiles-form button { justify-self: start; }
.profile-note { margin-top: 12px !important; color: #9aafbd !important; font-size: 13px; }

#progress-check .profiles-form { margin: 16px 0; }
#progress-check select, #progress-check input[type="number"] {
  width: 100%; min-width: 0; padding: 12px; border: 1px solid #4986a8;
  border-radius: 8px; background: #081019; color: #f5f8fb; font: inherit;
}
#progress-check .progress-title { margin-top: 14px; font-weight: 700; }
button:disabled { opacity: .55; cursor: not-allowed; }
