:root {
  --ink: #123b32;
  --muted: #60706a;
  --brand: #005040;
  --accent: #f8a018;
  --paper: #ffffff;
  --line: #d7e3de;
}
body { background: #f1f7f4; }
.brand-panel { background: linear-gradient(145deg, #003c31, #08705b); }
.brand-panel p { color: #d7e9e2; }
.card { box-shadow: 0 18px 50px #00504018; }
button { background: #005040; }
button:hover { background: #08705b; }
.status { background: #dff2ea; color: #005040; }
.app-logo { width: 82px; height: 82px; object-fit: contain; margin-bottom: 1.5rem; }
.app-logo.small { width: 34px; height: 34px; margin: 0 .7rem 0 0; vertical-align: middle; }
.app-logo.color { width: 62px; height: 62px; margin-bottom: 1rem; }
.card-link { color: var(--brand); font-weight: 800; text-decoration: none; }
.card-link:hover { color: #08705b; text-decoration: underline; }
.dashboard .grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.signup-fields.compact { grid-template-columns: 1fr; }
.setup-note { margin: -.25rem 0 1rem; line-height: 1.55; }
.onboarding-card { max-width: 820px; margin-top: 2rem; padding: clamp(1.4rem, 4vw, 2.5rem); }
.onboarding-card h2 { margin-bottom: .5rem; }
.onboarding-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.onboarding-form .form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.onboarding-form fieldset { margin: 0; }
.onboarding-form button { justify-self: start; }
.form-message { min-height: 1.5rem; color: #9b2c2c; margin: 0; }
@media (max-width: 620px) { .onboarding-form .form-pair { grid-template-columns: 1fr; } }
