.wa-public-signup {
    max-width: 720px;
    margin: 20px auto 0;
    border: 1px solid rgba(18, 140, 126, 0.28);
    border-radius: 16px;
    background: #effaf7;
    color: #172033;
    padding: 20px;
}
.wa-public-signup-divider { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; color: #64748b; font-weight: 800; }
.wa-public-signup-divider::before, .wa-public-signup-divider::after { flex: 1; height: 1px; background: #bdcec9; content: ""; }
.wa-public-signup-kicker { margin: 0; color: #0f766e; font-size: 0.9rem; font-weight: 500; }
.wa-public-signup h3 { margin: 4px 0 6px; color: #172033; }
.wa-public-signup-copy > p:last-child { margin: 0 0 16px; color: #475569; }
.has-signup-channel-choices .wa-public-signup h3 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wa-public-signup fieldset > p { margin: 0 0 10px; color: #475569; font-size: 0.9rem; }
.wa-public-consent { margin: 16px 0 8px; font-size: 0.88rem; line-height: 1.5; color: #334155; }
.wa-public-details { color: #475569; font-size: 0.85rem; line-height: 1.5; }
.wa-public-details summary { cursor: pointer; min-height: 44px; display: list-item; align-content: center; color: #075e54; font-weight: 650; }
.wa-public-details p { margin: 6px 0 10px; }
.wa-public-signup-test { border-radius: 9px; background: #fff5d6; color: #6a4800 !important; padding: 10px; }
.wa-public-signup fieldset { margin: 0; border: 0; padding: 0; }
.wa-public-signup legend { margin-bottom: 8px; font-weight: 800; }
.wa-public-year-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.wa-public-year-options label { display: flex; gap: 9px; align-items: flex-start; min-height: 44px; border: 1px solid #bdcec9; border-radius: 9px; background: white; padding: 10px; color: #172033; font-weight: 650; }
.wa-public-year-options input { width: 18px; height: 18px; margin: 2px 0 0; flex: 0 0 auto; }
.wa-public-submit { width: 100%; min-height: 48px; margin-top: 14px; border: 0; border-radius: 10px; background: #075e54; color: white; font: inherit; font-weight: 850; padding: 11px 16px; }
.wa-public-legal { margin: 10px 0 0; color: #64748b; font-size: 0.8rem; line-height: 1.5; }
.wa-public-next-step { color: #475569; font-size: 0.9rem; margin: 8px 0 0; text-align: center; }
.signup-channel-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.signup-channel-choices[hidden],
.has-signup-channel-choices form[hidden],
.has-signup-channel-choices #school-whatsapp-signup[hidden],
.has-signup-channel-choices .school-conversion-signup-description[hidden] { display: none !important; }
.signup-channel-choice { min-width: 0; min-height: 76px; border: 2px solid #cbd5e1; border-radius: 12px; background: #fff; color: #172033; cursor: pointer; padding: 12px 8px; font: inherit; text-align: center; }
.signup-channel-choice strong, .signup-channel-choice span { display: block; }
.signup-channel-choice strong { font-size: 1rem; }
.signup-channel-choice span { margin-top: 4px; color: #475569; font-size: 0.8rem; line-height: 1.4; }
.signup-channel-choice[aria-checked="true"] { border-color: #1d4ed8; background: #eff6ff; }
.signup-channel-choice-whatsapp[aria-checked="true"] { border-color: #075e54; background: #edf8f2; }
.signup-channel-choice:focus-visible { outline: 3px solid #172033; outline-offset: 3px; }
.has-signup-channel-choices .wa-public-signup { margin-top: 0; padding: 0; border: 0; background: transparent; }
.has-signup-channel-choices .wa-public-signup-divider { display: none; }

@media (max-width: 520px) {
    .wa-public-year-options { grid-template-columns: 1fr; }
    .has-signup-channel-choices .wa-public-year-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.signup-email-panel > [hidden] { display: none !important; }

@media (min-width: 380px) {
    .wa-public-year-options, .has-signup-channel-choices .wa-public-year-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
