/* Registration layout only; existing NDS components and tokens remain authoritative. */
.fr-page{margin:0;background:var(--colors-neutral-100,#f3f4f6);color:var(--text-default,#1f2a37);min-block-size:100vh;display:flex;flex-direction:column}
.fr-page *{box-sizing:border-box}.fr-page [hidden]{display:none!important}
.fr-header{block-size:64px;background:var(--colors-primary-900,#104631);padding:8px 24px;display:flex;align-items:center}.fr-header img{block-size:52px;inline-size:auto}
.fr-main{inline-size:min(100% - 32px,760px);margin:28px auto 32px;flex:1}
.fr-breadcrumb{display:flex;gap:12px;align-items:center;color:var(--text-secondary-paragraph,#6c737f);font-size:14px;flex-wrap:wrap;margin-block-end:12px}
.fr-breadcrumb a,.fr-alert a,.fr-terms-link,.fr-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.fr-main h1{font-size:26px;line-height:1.5;margin:0 0 8px;font-weight:700}.fr-intro{font-size:15px;line-height:1.7;margin:0 0 24px;color:var(--text-secondary-paragraph,#6c737f)}
.fr-alert{border:1px solid var(--border-neutral-primary,#d2d6db);border-inline-start:6px solid var(--border-warning,#ee964b);border-radius:8px;background:var(--background-default,#fff);padding:16px;display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:1.7;margin-block-end:20px}.fr-alert>.nds-icon{color:var(--icon-warning,#b54708);font-size:22px}.fr-alert p{margin:4px 0 0;color:var(--text-secondary-paragraph,#6c737f)}.fr-alert a{font-weight:600}.fr-student{margin:0;border-inline-start-color:var(--border-info,#5798ff)}.fr-student a{display:inline-block;margin-block-start:10px;color:var(--colors-primary-600,#1b8354)}.fr-server-message{margin:20px;border-inline-start-color:var(--text-error,#d92d20)}
.fr-card{background:var(--background-default,#fff);border:1px solid var(--border-neutral-primary,#d2d6db);border-radius:16px;min-inline-size:0}
.fr-tabs{display:flex;gap:20px;padding:0 20px;border-block-end:1px solid var(--colors-neutral-200,#e5e7eb);border-radius:16px 16px 0 0}.fr-tabs a{padding:14px 0 12px;text-decoration:none;position:relative;color:inherit;font-size:14px;font-weight:600}.fr-tabs [aria-current]{color:var(--colors-primary-600,#1b8354)}.fr-tabs [aria-current]:after{content:"";position:absolute;inset-inline:0;inset-block-end:3px;block-size:3px;border-radius:3px;background:var(--text-default,#1f2a37)}
.fr-section{padding:24px 20px 20px;border-block-end:1px solid var(--colors-neutral-200,#e5e7eb);display:flex;flex-direction:column;gap:18px}.fr-section h2{font-size:16px;line-height:1.5;font-weight:600;margin:0 0 4px;display:flex;align-items:center;gap:10px}.fr-section h2 .fr-icon{font-size:22px;color:var(--colors-primary-600,#1b8354)}
.fr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-items:start}.fr-grid>*,.fr-stack{min-inline-size:0}.fr-stack{display:flex;flex-direction:column;gap:16px}
.fr-page .nds-form-container{min-inline-size:0;margin:0}.fr-page .nds-form-header .nds-info{display:block;font-size:13px;line-height:1.6;color:var(--text-secondary-paragraph,#6c737f)}.fr-page .nds-form-control{min-inline-size:0}.fr-page .nds-input{inline-size:100%;min-inline-size:0}.fr-page .nds-form-footer:has([hidden]){margin:0}.fr-page .nds-feedback{line-height:1.6}
.fr-page .nds-select-dropdown{max-block-size:min(320px,45vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;z-index:30}.fr-page .nds-select-options{max-block-size:none;overflow:visible}.fr-page .nds-select-option{white-space:normal;text-align:start;min-block-size:40px}
.fr-group{border:0;padding:0;margin:0;min-inline-size:0}.fr-group legend{font-size:16px;font-weight:600;margin-block-end:10px}.fr-choices{display:flex;gap:12px 28px;flex-wrap:wrap}.fr-required{color:var(--text-error,#b42318)}
.fr-page .nds-check-container,.fr-page .nds-radio-container{align-items:start}.fr-page .nds-check-container .nds-label{line-height:1.7}.fr-information{background:var(--colors-primary-50,#f3fcf6);padding:14px 16px;border-radius:8px;line-height:1.8;font-size:14px;margin:0;color:var(--text-secondary-paragraph,#4d5761)}.fr-muted{margin:0;font-size:14px;color:var(--text-secondary-paragraph,#6c737f);line-height:1.7}.fr-terms-link{font-size:14px;align-self:flex-start}
.fr-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center;padding:16px 20px;background:var(--colors-neutral-50,#f9fafb);border-radius:0 0 16px 16px;flex-wrap:wrap}.fr-actions .fr-submit-status{order:-1;margin-inline-end:auto;font-size:14px}.fr-actions .nds-btn{min-block-size:40px;inline-size:auto}.fr-page button:disabled{cursor:wait;opacity:.65}
.fr-footer{background:var(--background-default,#fff);border-block-start:1px solid var(--colors-neutral-200,#e5e7eb);padding:20px 24px;display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:12px;color:var(--text-secondary-paragraph,#6c737f)}.fr-footer nav{display:flex;gap:24px;flex-wrap:wrap}
.fr-skip{position:absolute;inset-block-start:-100px;background:white;padding:12px;z-index:100}.fr-skip:focus{inset-block-start:4px}.fr-page :focus-visible{outline:3px solid var(--text-default,#1f2a37);outline-offset:3px}
@media(max-width:767px){.fr-main{inline-size:calc(100% - 24px);margin-block-start:20px}.fr-main h1{font-size:24px}.fr-grid{grid-template-columns:1fr}.fr-section{padding:20px 16px;gap:18px}.fr-tabs{padding-inline:16px}.fr-header{padding-inline:16px}.fr-page .nds-input{font-size:16px;min-block-size:44px}.fr-page .nds-select-option{min-block-size:44px}.fr-actions{padding:16px;justify-content:stretch}.fr-actions .nds-btn{flex:1;min-block-size:44px}.fr-actions .fr-submit-status{flex-basis:100%}.fr-actions .fr-submit-status:empty{display:none}.fr-footer{padding:20px 16px;line-height:1.7}.fr-footer nav{gap:16px}.fr-choices{gap:16px 24px}}

.fr-icon{flex-shrink:0}.fr-page [data-reg-password]{inline-size:32px;block-size:32px}.fr-grid:has(>.nds-form-container)>.nds-form-container .nds-form-header{min-block-size:48px}

@media(max-width:1023px){.fr-page .fs-masthead .nds-topbar-info{display:none}}

.fr-page .nds-radio-container input[type=radio]:not(:checked){--radio-tile-bg:var(--background-default);--radio-tile-border:var(--controls-border)}
.fr-page .nds-topbar-info{white-space:nowrap;flex-shrink:0}
/* Use the shared stamp alignment while keeping the public form header in normal flow. */
.fr-page .fs-masthead{position:relative}
