.form-shell{max-width:960px}.form-section{margin-top:1.25rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid #d9e4dc;border-radius:16px;background:#fff}.form-section h2{margin:0 0 1rem;color:#165d36;font-size:1.3rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:flex;min-width:0;flex-direction:column;gap:.4rem;font-weight:750;color:#263d30}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #aebfb3;border-radius:10px;padding:.78rem .85rem;background:#fff;color:#17251c;font:inherit}.field textarea{resize:vertical}.field small,.field span{color:#68776d;font-size:.78rem;font-weight:500}.field:focus-within input,.field:focus-within select,.field:focus-within textarea{outline:3px solid rgba(8,120,63,.14);border-color:#08783f}.field[hidden],.conditional[hidden]{display:none}.field legend{margin-bottom:.45rem;font-weight:750}.choice-row{display:flex;flex-wrap:wrap;gap:1rem}.choice-row label{display:flex;align-items:center;gap:.4rem;font-weight:600}.choice-row input[type=radio]{width:1rem;height:1rem;flex:0 0 1rem;margin:.1rem 0 0;padding:0}.checks{display:grid;gap:.8rem}.checks>label{display:grid;grid-template-columns:1.15rem minmax(0,1fr);align-items:start;justify-content:start;gap:.65rem;width:100%;line-height:1.45;text-align:left}.checks input[type=checkbox]{width:1.15rem;height:1.15rem;min-width:1.15rem;margin:.18rem 0 0;padding:0;accent-color:#08783f}.submit-tce{border:0;font:inherit;cursor:pointer;width:max-content}.submit-tce:disabled{opacity:.6;cursor:wait}.form-message{min-height:1.5rem;margin:0;color:#a41922;font-weight:750}.form-message.success{padding:1rem;border-radius:10px;background:#e8f6ed;color:#075532}.privacy{font-size:.84rem;color:#5d6c62}.cf-turnstile,#turnstile-widget{min-height:65px;max-width:100%;overflow:hidden}.guardian-signature-notice{grid-column:1/-1;margin:0 0 .25rem}.form-shell,.form-section,.form-grid,.conditional,.field,.weekly-schedule,.weekday-grid,.weekday-row,.time-range,.checks,.checks>label{min-width:0;max-width:100%}fieldset.field{margin:0;padding:0;border:0}.field input,.field select,.field textarea,.time-range input{min-width:0}.cf-turnstile,#turnstile-widget,.cf-turnstile iframe,#turnstile-widget iframe{max-width:100%}@media(max-width:650px){.form-grid{grid-template-columns:minmax(0,1fr)}.field.full{grid-column:auto}.form-section{margin:.85rem 0;padding:1rem;border-radius:14px}.choice-row{gap:.7rem 1rem}.callout{margin:1rem 0}.guardian-signature-notice{padding:1rem}.submit-tce{width:100%}}
.weekly-schedule{padding:0;border:0}.schedule-warning{margin:.25rem 0 1rem;background:#fff5cf!important;border-left-color:#e5a900!important}.weekday-grid{display:grid;gap:.55rem}.weekday-row{display:grid;grid-template-columns:minmax(150px,1fr) auto;align-items:center;gap:1rem;padding:.7rem .8rem;border:1px solid #d9e4dc;border-radius:10px;background:#f8faf8}.weekday-row>label{display:flex;align-items:center;gap:.5rem;font-weight:750}.weekday-check{width:1.1rem!important;height:1.1rem;accent-color:#08783f}.time-range{display:flex;align-items:center;gap:.55rem}.time-range input{width:120px}.time-range input:disabled{background:#edf1ee;color:#89958d}.field-error{min-height:1.2rem;margin:.35rem 0 0;color:#a41922;font-size:.82rem;font-weight:750}@media(max-width:650px){.weekday-row{grid-template-columns:1fr}.time-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.4rem}.time-range input{width:100%;padding:.7rem .4rem}}
.form-message.success{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:1.2rem;border:2px solid #c62828;border-left-width:7px;border-radius:12px;background:#fff0f0;color:#86181d;box-shadow:0 8px 22px rgba(164,25,34,.09)}.form-message.success strong{font-weight:900}.form-message.success .protocol-number{display:block;padding:.55rem .75rem;border-radius:8px;background:#c62828;color:#fff;font-size:clamp(1rem,3vw,1.2rem);letter-spacing:.035em;overflow-wrap:anywhere}.form-message.success a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .85rem;border-radius:9px;background:#a41922;color:#fff;font-weight:900;text-decoration:none}.form-message.success a:hover{background:#7d1118}@media(max-width:650px){.form-message.success a{width:100%}}
.uppercase-name{text-transform:uppercase}
