:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: #eef5f2;
  color: #13231d;
}

* { box-sizing: border-box; }

body {
  min-height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 32px 18px;
  background:
    radial-gradient(circle at 12% 12%, rgba(31, 174, 111, .15), transparent 30%),
    radial-gradient(circle at 88% 86%, rgba(20, 98, 75, .12), transparent 32%),
    #eef5f2;
}

.setup-shell {
  width: min(980px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  overflow: hidden;
  border: 1px solid rgba(24, 79, 61, .12);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 30px 80px rgba(22, 58, 47, .15);
}

.setup-intro {
  padding: clamp(34px, 6vw, 72px);
  background: linear-gradient(145deg, #0f6b4c, #159766);
  color: white;
}

.product-pill {
  display: inline-flex;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

h1 { margin: 28px 0 14px; font-size: clamp(32px, 5vw, 50px); line-height: 1.04; letter-spacing: -.04em; }
.setup-intro > p { max-width: 48ch; color: rgba(255,255,255,.84); font-size: 17px; line-height: 1.65; }
.setup-intro ol { margin: 34px 0 0; padding-left: 24px; display: grid; gap: 14px; color: rgba(255,255,255,.92); }

.setup-card { padding: clamp(30px, 5vw, 58px); align-self: center; }
.setup-card-heading { display: flex; align-items: center; gap: 13px; }
.status-dot { width: 14px; height: 14px; border-radius: 50%; background: #20bd79; box-shadow: 0 0 0 7px rgba(32,189,121,.13); }
.eyebrow { margin: 0 0 4px; color: #4e7566; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
h2 { margin: 0; font-size: 26px; letter-spacing: -.025em; }
.clinic-address { margin: 22px 0; padding: 12px 14px; border-radius: 12px; background: #edf7f2; color: #28624d; overflow-wrap: anywhere; }

form { display: grid; gap: 17px; }
.is-hidden { display: none !important; }
label { display: grid; gap: 8px; color: #314b41; font-size: 14px; font-weight: 750; }
input { width: 100%; min-height: 48px; border: 1px solid #cbdcd5; border-radius: 12px; padding: 0 14px; font: inherit; color: #13231d; outline: none; }
input:focus { border-color: #159766; box-shadow: 0 0 0 4px rgba(21,151,102,.12); }
input:disabled { background: #f3f6f5; color: #6a7c75; }
small, .privacy-note { color: #71847c; font-size: 12px; font-weight: 500; }
button { min-height: 50px; border: 0; border-radius: 13px; background: #128b5e; color: #fff; font: inherit; font-weight: 800; cursor: pointer; box-shadow: 0 12px 25px rgba(18,139,94,.2); }
button:hover { background: #0f7952; }
.form-error { display: none; margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: #fff0f0; color: #a72d2d; }
.form-error.is-visible { display: block; }
.privacy-note { margin: 18px 0 0; line-height: 1.5; }
.entry-copy { color: #49645a; font-size: 15px; line-height: 1.65; }

@media (max-width: 760px) {
  body { padding: 0; place-items: stretch; }
  .setup-shell { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; }
  .setup-intro { padding: 34px 24px; }
  .setup-intro ol { display: none; }
  .setup-card { padding: 32px 24px 42px; }
}
