* { box-sizing: border-box; }

body {
  margin: 0;
  background: #EDEFEA;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, sans-serif;
  color: #1E2A2C;
  display: flex;
  justify-content: center;
  padding: 32px 16px;
}

.shell { width: 100%; max-width: 560px; }

.brand {
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5B6B6D;
  font-weight: 600;
  margin-bottom: 18px;
}

.card {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 1px 2px rgba(30,42,44,0.06), 0 8px 24px rgba(30,42,44,0.06);
  border: 1px solid #DDE3DF;
}

h1 { font-size: 28px; margin: 0 0 14px; }
h2 { font-size: 22px; margin: 0 0 16px; }
p.lead { font-size: 15px; color: #5B6B6D; line-height: 1.6; margin: 0 0 22px; }

label { display: block; font-size: 13px; color: #5B6B6D; margin: 14px 0 6px; }
input[type="text"], input[type="number"], input[type="password"] {
  width: 100%;
  padding: 10px 12px;
  border-radius: 8px;
  border: 1px solid #DDE3DF;
  font-size: 14px;
}

.checkbox-row { display: flex; align-items: flex-start; gap: 8px; margin: 18px 0; font-size: 13px; color: #333; }

button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #2F6F62;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 8px;
}
button.primary:disabled { opacity: .5; cursor: not-allowed; }

button.secondary {
  background: #E4EFEC;
  color: #2F6F62;
  border: 1px solid rgba(47,111,98,0.2);
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.progress-track { height: 4px; background: #DDE3DF; border-radius: 4px; margin-bottom: 16px; overflow: hidden; }
.progress-fill { height: 100%; background: #2F6F62; transition: width .2s; }

.q-count { font-size: 12px; color: #5B6B6D; margin: 0 0 8px; }
.q-text { font-size: 19px; margin: 0 0 22px; line-height: 1.35; }

.scale-grid { display: flex; flex-direction: column; gap: 8px; }
.scale-btn {
  text-align: left;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #DDE3DF;
  background: #fff;
  font-size: 14px;
  cursor: pointer;
}
.scale-btn.active { background: #E4EFEC; border-color: #2F6F62; font-weight: 600; }

.score-row { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.score-label { font-size: 12px; color: #5B6B6D; width: 160px; flex-shrink: 0; }
.score-track { flex: 1; height: 8px; background: #DDE3DF; border-radius: 8px; overflow: hidden; }
.score-fill { height: 100%; background: #2F6F62; }
.score-pct { font-size: 12px; width: 34px; text-align: right; }

.disclaimer {
  display: flex;
  gap: 8px;
  font-size: 12px;
  color: #8A5A1E;
  background: #FBF1E1;
  border: 1px solid #F0D9AE;
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 14px;
}

.draft-card {
  background: #FAFAF7;
  border: 1px solid #DDE3DF;
  border-radius: 12px;
  padding: 16px;
  margin: 14px 0;
}

.error-text { color: #B5542E; font-size: 13px; }
.muted { color: #5B6B6D; font-size: 13px; }
