.signup-shell { max-width: 760px; padding-top: 34px; }
.signup-shell h1 { margin-top: 12px; font-size: clamp(1.9rem, 4vw, 2.6rem); }
.signup-shell .intro-copy { margin-top: 16px; }
.signup-form { margin-top: 34px; }
.signup-form fieldset { margin-top: 26px; padding: 24px; border: 1px solid var(--line); background: rgba(255,255,255,.8); }
.signup-form legend { padding: 0 8px; color: var(--accent); font: 700 .78rem Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.signup-form label { margin-top: 16px; }
.signup-form label:first-of-type { margin-top: 0; }
.signup-form .schedule-grid { display: grid; grid-template-columns: minmax(110px, 1fr) repeat(2, minmax(110px, .8fr)); align-items: center; gap: 8px 12px; }
.signup-form .schedule-grid > span { color: var(--muted); font: 700 .72rem Arial, sans-serif; }
.signup-form .schedule-grid label { display: flex; align-items: center; gap: 8px; margin: 0; min-height: 42px; font: inherit; }
.signup-form .schedule-grid label input { width: 19px; height: 19px; margin: 0; accent-color: var(--accent); }
.signup-form .schedule-grid > input { min-width: 0; padding: 9px; }
.signup-form .schedule-grid > input:disabled { opacity: .45; }
.signup-form > button { max-width: 320px; }

@media (max-width: 620px) {
  .signup-form .schedule-grid { grid-template-columns: minmax(84px, .9fr) repeat(2, minmax(92px, 1fr)); gap: 8px; }
  .signup-form > button { max-width: none; }
}
