.registration-consents{border:0;margin:28px 0 0;padding:0;min-width:0}
.registration-consents legend{float:none;width:100%;font:600 18px/1.4 Onest,Arial,sans-serif;margin:0 0 8px;padding:22px 0 0;border-top:1px solid #d6dce7}
.consent-hint{font-size:13px;line-height:1.5;color:#5f6a83;margin:8px 0 12px}
.consent-choices{display:grid;gap:10px;margin-top:18px}
.consent-row{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #d6dce7;border-radius:10px;background:#fff;transition:border-color .15s,background-color .15s}
.consent-row:hover{border-color:#9ca9c1}
.consent-row:has(input:checked){background:#f1f5ff;border-color:#b9c9ff}
.consent-row label{display:flex;align-items:flex-start;gap:12px;margin:0;font:400 15px/1.55 Onest,Arial,sans-serif;color:#0b1530;cursor:pointer;min-width:0}
.consent-row label>span{min-width:0}
.consent-row input[type=checkbox]{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#1e50e6}
.consent-row input:focus-visible{outline:2px solid #1e50e6;outline-offset:3px}
.consent-row label a,.consent-text-link{color:#1e50e6;font:inherit;text-decoration:underline;text-decoration-color:#b9c9ff;text-underline-offset:3px}
.consent-text-link{display:inline;margin:0;border:0;padding:0;background:transparent;cursor:pointer;text-align:left;white-space:normal}
.consent-row label a:hover,.consent-text-link:hover{text-decoration-color:currentColor;color:#1840bd}
.consent-text-link:focus-visible{outline:2px solid #1e50e6;outline-offset:3px;border-radius:2px}
.consent-row .text-danger{font-size:13px;margin-left:32px}
.consent-row .field-validation-valid{display:none}
.parent-consent{margin-top:28px;border:1px solid #cbd8ff;border-radius:12px;padding:22px;background:#f8faff;font:400 14px/1.6 Onest,Arial,sans-serif;color:#4f5a70}
.parent-consent[hidden]{display:none}
.parent-consent__heading{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.parent-consent__badge{padding:3px 8px;border-radius:5px;background:#e8eeff;color:#1638b0;font:600 11px/1.5 Onest,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.parent-consent h3{font:600 18px/1.4 Onest,Arial,sans-serif;color:#0b1530;margin:0}
.parent-consent p{margin:10px 0 16px}
.parent-consent__template{display:inline-flex;align-items:center;gap:8px;color:#1e50e6;text-decoration:none;font:600 14px/1.4 Onest,Arial,sans-serif}
.parent-consent__template:hover{color:#1840bd;text-decoration:underline;text-underline-offset:3px}
.parent-consent__template svg{flex:none}
.parent-consent__upload{position:relative;margin-top:20px}
.parent-consent__file{position:absolute;top:50%;left:50%;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.parent-consent__upload-label{display:flex;align-items:center;gap:12px;margin:0;padding:18px 14px;border:1px dashed #a6b9ed;border-radius:10px;background:#fff;cursor:pointer;color:#1e50e6;min-width:0}
.parent-consent__upload-label:hover{border-color:#1e50e6;background:#f1f5ff}
.parent-consent__file:focus-visible+.parent-consent__upload-label{outline:2px solid #1e50e6;outline-offset:3px}
.parent-consent__upload-label>svg{flex:none}
.parent-consent__file-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.parent-consent__file-copy strong{font:500 14px/1.4 Onest,Arial,sans-serif;color:#0b1530;overflow-wrap:anywhere}
.parent-consent__file-copy>span{font:400 12px/1.4 Onest,Arial,sans-serif;color:#5f6a83}
.parent-consent__browse{flex:none;padding:7px 10px;background:#e8eeff;border-radius:6px;font:600 12px/1.4 Onest,Arial,sans-serif;color:#1638b0}
.parent-consent .consent-hint{margin:8px 0 0;font-size:12px}
.parent-consent>.text-danger.field-validation-valid{display:none}
.parent-consent details{border-top:1px solid #dbe3f4;margin-top:18px;padding-top:14px}
.parent-consent summary{color:#4f5a70;font-size:13px;cursor:pointer}
.parent-consent details p{font-size:13px;margin-bottom:0}
.consent-dialog{width:min(760px,calc(100% - 32px));max-width:760px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #d6dce7;border-radius:16px;color:#0b1530;background:#fff;font-family:Onest,Arial,sans-serif;box-shadow:0 24px 80px #0b15304d;overflow:hidden}
.consent-dialog[open]{display:flex;flex-direction:column}
.consent-dialog::backdrop{background:#0b153099}
body:has(.consent-dialog[open]){overflow:hidden}
.consent-dialog__header{flex:none;display:flex;align-items:flex-start;gap:16px;padding:22px 24px;border-bottom:1px solid #d6dce7;background:#f8faff}
.consent-dialog__header h2{margin:0;font:600 21px/1.35 Onest,Arial,sans-serif}
.consent-dialog__close{flex:none;margin-left:auto;border:0;background:transparent;font:400 28px/1 Arial;min-width:36px;min-height:36px;border-radius:6px;cursor:pointer;color:#4f5a70}
.consent-dialog__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;font-size:15px;line-height:1.65}
.consent-dialog__body h3{font-size:17px;font-weight:600;margin:20px 0 12px}
.consent-dialog__body h3:first-child{margin-top:0}
.consent-dialog__body p{margin:0 0 14px}
.consent-dialog__body a{color:#1e50e6;overflow-wrap:anywhere}
.consent-dialog__body:focus-visible{outline:2px solid #1e50e6;outline-offset:-3px}
.consent-dialog__footer{flex:none;padding:16px 24px 22px;border-top:1px solid #d6dce7}
.consent-dialog__footer .consent-hint{margin:0 0 12px}
.consent-dialog__actions{display:flex;gap:12px;justify-content:flex-end}
.consent-dialog__actions button{min-height:44px;border-radius:8px;padding:12px 20px;font:600 15px/1.3 Onest,Arial,sans-serif;cursor:pointer}
.consent-dialog__accept{background:#1e50e6;color:#fff;border:1px solid #1e50e6}
.consent-dialog__accept:disabled{background:#e4e9f1;border-color:#d6dce7;color:#5f6a83;cursor:not-allowed}
.consent-dialog__decline{background:#fff;border:1px solid #c5cddb;color:#0b1530}
.consent-dialog__accept:not(:disabled):hover{background:#1840bd;border-color:#1840bd}
.consent-dialog__decline:hover,.consent-dialog__close:hover{background:#f1f5ff}
.consent-dialog button:focus-visible{outline:2px solid #1e50e6;outline-offset:3px}
.registration-date{position:relative;min-width:0}
.portal-auth .registration-date>.input{padding-right:52px}
.registration-date__button{position:absolute;top:7px;right:7px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:7px;background:transparent;color:#5f6a83;cursor:pointer}
.registration-date__button:hover{background:#e8eeff;color:#1e50e6}
.registration-date__button:focus-visible{outline:2px solid #1e50e6;outline-offset:2px}
.registration-date__native{position:absolute;top:50%;right:24px;width:1px;height:1px;opacity:0;pointer-events:none}
.portal-auth .form-field>.consent-hint{margin:0;font-size:12px}
.portal-auth--register .form-field:has(>input.input,>.input-wrap,>.registration-date,>.registration-gender,>select.select:not(.select-multi)){position:relative;padding-top:10px}
.portal-auth--register .form-field:has(>input.input,>.input-wrap,>.registration-date,>.registration-gender,>select.select:not(.select-multi))>.form-label{position:absolute;z-index:2;top:0;left:10px;width:auto;max-width:calc(100% - 28px);padding:0 6px;background:#fff;line-height:20px}
.portal-auth--register .registration-gender{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:50px;padding:6px;border:1px solid #c5cddb;border-radius:10px;background:#fff}
.portal-auth--register .registration-gender>.radio{left:0;top:0;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.portal-auth--register .registration-gender>.radio-pill{min-height:40px;margin:0;padding:8px 12px;border:0;border-radius:4px;font:400 15px/1.3 Onest,sans-serif;color:#0b1530;box-shadow:none;z-index: 2;}
.portal-auth--register .registration-gender>.radio:not(:checked)+.radio-pill:hover{background:#e8eeff}
.portal-auth--register .registration-gender>.radio:checked+.radio-pill{color:#fff;background:#1e50e6}
.portal-auth--register .registration-gender>.radio:focus-visible+.radio-pill{outline:2px solid #1e50e6;outline-offset:1px}
.portal-auth--register #BirthDate[aria-invalid=true],.portal-auth--register .registration-gender[aria-invalid=true]{border-color:#dc2626}
.portal-auth--register #BirthDate[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.portal-auth--register .form-field:has(#BirthDate[aria-invalid=true],.registration-gender[aria-invalid=true])>.form-label{color:#dc2626}
.portal-auth--register #birthDateError.field-validation-valid,.portal-auth--register #genderError.field-validation-valid{display:none}
.portal-auth--register .required-star{color:#dc2626}
.portal-auth--register .form-field>.field-validation-valid{display:none}
.portal-auth--register .form-field .input[aria-invalid=true],.portal-auth--register .form-field .select[aria-invalid=true]{border-color:#dc2626}
.portal-auth--register .form-field .input[aria-invalid=true]:focus,.portal-auth--register .form-field .select[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(220,38,38,.12)}
.portal-auth--register .form-field:has([aria-invalid=true])>.form-label{color:#dc2626}
.portal-auth--register .profile-options[aria-invalid=true] label,.portal-auth--register .consent-row:has(input[aria-invalid=true]){border-color:#dc2626}
.portal-auth--register .parent-consent__file[aria-invalid=true]+label{border-color:#dc2626}
@media(max-width:600px){.consent-dialog__header,.consent-dialog__body{padding:18px}.consent-dialog__header h2{font-size:18px}.consent-dialog__footer{padding:14px 18px 18px}.consent-dialog__actions button{flex:1;padding:12px}.parent-consent{padding:18px 16px}.consent-row{padding:14px 12px}.consent-row label{font-size:14px}.parent-consent__upload-label{padding:16px 12px;gap:10px}.parent-consent__browse{display:none}}
