.tec-form{container-type:inline-size;max-width:var(--tec-form-width);margin:32px auto;padding:clamp(20px,4vw,var(--tec-card-padding));background:var(--tec-background);border-radius:var(--tec-card-radius);box-shadow:var(--tec-card-shadow)}
.tec-form .tec-progress{margin-bottom:38px}
.tec-form .tec-progress-text{display:block;margin-bottom:14px;color:var(--tec-text-muted);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.tec-form .tec-form-step{padding:0;margin:0;border:0;min-width:0}
.tec-form .tec-form-step-header{margin-bottom:32px}
.tec-form .tec-form-step-title{margin:0 0 16px;font-size:clamp(30px,4.5vw,42px);font-weight:600}
.tec-form .tec-form-step-description{max-width:62ch;margin:0;color:var(--tec-text-muted);font-size:16px;line-height:1.7}
.tec-form .tec-fields-grid,.tec-form .tec-conditional-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tec-field-gap) 24px}
.tec-form .tec-field-wide{grid-column:1/-1}
.tec-form .tec-group-title{padding-top:22px;border-top:1px solid var(--tec-border);margin:8px 0 0;font-size:21px;font-weight:600}
.tec-form .tec-button--next{margin-left:auto}
.tec-form .tec-upload{display:grid;gap:8px;padding:24px;border:1px dashed var(--tec-border);border-radius:var(--tec-input-radius);background:var(--tec-surface)}
.tec-form .tec-upload .tec-field-label{margin:0;color:var(--tec-primary)}
.tec-form .tec-upload .tec-field-help{margin:0}
.tec-form .tec-upload input[type=file]{width:100%;min-width:0;padding:4px 0;font:inherit;font-size:var(--tec-help-size);color:var(--tec-text-muted);background:transparent;border:0}
.tec-form .tec-upload input::file-selector-button{padding:8px 12px;margin-right:12px;border:1px solid var(--tec-border);border-radius:var(--tec-input-radius);color:var(--tec-text);background:var(--tec-input-background);font:inherit;cursor:pointer}
.tec-form .tec-upload-name{font-size:var(--tec-help-size);overflow-wrap:anywhere;color:var(--tec-text)}
.tec-form .tec-upload-name:empty{display:none}
.tec-form .tec-field--check label{display:flex;align-items:flex-start;gap:12px;font-size:var(--tec-label-size);font-weight:400;cursor:pointer}
.tec-form .tec-field--check input{flex:0 0 20px;width:20px;height:20px;margin:3px 0 0;accent-color:var(--tec-primary)}
.tec-form .tec-privacy-link{display:inline-block;margin:4px 0 0 32px;font-size:var(--tec-help-size)}
.tec-form .tec-skip-dialog{max-width:min(520px,calc(100vw - 32px));padding:28px;color:var(--tec-text);background:var(--tec-background);border:1px solid var(--tec-border);border-radius:var(--tec-card-radius)}
.tec-form .tec-skip-dialog::backdrop{background:rgba(17,35,27,.4)}
.tec-form .tec-skip-dialog h2{font-size:25px;margin:0 0 16px}
.tec-form .tec-skip-dialog .tec-form-actions{margin-top:20px}
@container(min-width:580px){.tec-form .tec-fields-grid,.tec-form .tec-conditional-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:579px){.tec-form .tec-form-actions{flex-direction:column;align-items:stretch}.tec-form .tec-form-actions .tec-button{width:100%;margin-left:0}}
@media(max-width:480px){.tec-form{margin:12px auto;padding:20px 16px}.tec-form .tec-form-step-title{font-size:30px}}

.tec-form .tec-validation-status:empty{display:none}
.tec-form .tec-validation-status{min-height:20px;margin:0 0 12px}

/* Real submission feedback; never a simulated percentage or a form replacement. */
.tec-registration-processing{box-sizing:border-box;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:clamp(24px,5vw,36px);border:1px solid var(--tec-border);border-radius:var(--tec-card-radius);background:var(--tec-background);color:var(--tec-text);font-family:var(--tec-font);text-align:center}
.tec-registration-processing::backdrop{background:rgba(0,0,0,.35)}
.tec-registration-processing h2{font-family:inherit;font-weight:600;font-size:1.35rem;line-height:1.35;margin:1rem 0 .75rem;color:var(--tec-text)}
.tec-registration-processing p{font-size:1rem;line-height:1.6;margin:.75rem 0}.tec-registration-processing .tec-field-help{font-size:.875rem;color:var(--tec-text-muted)}
.tec-processing-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--tec-border);border-top-color:var(--tec-primary);border-radius:50%;animation:tec-processing-turn .85s linear infinite}
@keyframes tec-processing-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tec-processing-spinner{animation:none}}

/* Semantic reference groups retain the editor order without mixing two references in a row. */
.tec-form .tec-registration-group{min-width:0;margin:0;padding:0;border:0}
.tec-form .tec-registration-group>.tec-group-title{margin-bottom:20px}
.tec-form .tec-registration-group>.tec-fields-grid{width:100%}
