.gni-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.gni-user-toolbar,.gni-quick-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gni-user-toolbar select,.gni-quick-controls button,.gni-access-menu>summary{border:0;background:var(--gni-tint);color:var(--gni-heading);padding:10px;border-radius:10px;font:inherit;cursor:pointer}.gni-profile-menu,.gni-access-menu{position:relative}.gni-profile-menu>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.gni-profile-menu>summary::-webkit-details-marker,.gni-access-menu>summary::-webkit-details-marker{display:none}.gni-avatar{width:42px;height:42px;display:grid;place-items:center;background:var(--gni-primary);color:var(--gni-on_primary);border-radius:50%;overflow:hidden;font-weight:700}.gni-avatar img{width:100%;height:100%;object-fit:cover}.gni-header-popover{position:absolute;right:0;top:calc(100% + 12px);width:260px;max-width:calc(100vw - 32px);padding:16px;border-radius:14px;background:var(--gni-surface);color:var(--gni-text);box-shadow:0 12px 40px rgba(0,0,0,.18);z-index:100}.gni-header-popover a,.gni-header-popover label{display:block;padding:10px;color:var(--gni-text)}.gni-header-popover select{display:block;width:100%;margin-top:6px}.gni-bell{display:flex;align-items:center;position:relative;color:var(--gni-heading);padding:10px;background:var(--gni-tint);border-radius:10px}.gni-bell svg{width:24px;height:24px}.gni-bell span{background:var(--gni-accent);color:var(--gni-on_accent);border-radius:20px;font-size:11px;padding:1px 6px;position:absolute;top:-4px;right:-4px}.gni-profile-photo-preview{width:100px;height:100px;object-fit:cover;border-radius:50%;margin:14px 0}.gni-profile-photo-preview[hidden]{display:none}.gni-mobile-nav-button{display:none}.gnix .gnix-hero{overflow:visible;position:relative;z-index:5}.gnix:not(.gni-signin){overflow:visible}.gnix[data-theme=dark]{--gni-background:#101b28;--gni-surface:#192b3d;--gni-text:#dae5ef;--gni-heading:#f4f7fa;--gni-muted:#afc0d0;--gni-tint:#243b50;--gni-tint-strong:#2a455e;color-scheme:dark}.gnix[data-theme=dark] .gni-stat,.gnix[data-theme=dark] .gni-signin-side,.gnix[data-theme=dark] .gni,.gnix[data-theme=dark] .gni-card{background:var(--gni-surface);color:var(--gni-text)}.gnix[data-theme=dark] input,.gnix[data-theme=dark] select,.gnix[data-theme=dark] textarea{background:var(--gni-background);color:var(--gni-text);border-color:#567084}.gnix[data-text-size=large]{--gni-font-size:19px}.gnix[data-contrast=high]{--gni-text:#071422;--gni-heading:#000;--gni-muted:#263c50;--gni-surface:#fff;--gni-background:#e6edf3}.gnix[data-theme=dark][data-contrast=high]{--gni-text:#fff;--gni-heading:#fff;--gni-muted:#e8eff5;--gni-surface:#000;--gni-background:#101010}.gnix[data-motion=off] *{animation:none!important;transition:none!important}.gnix a:focus-visible,.gnix button:focus-visible,.gnix summary:focus-visible,.gnix select:focus-visible{outline:3px solid var(--gni-accent);outline-offset:4px}
/* Floating school access card over one continuous photographic canvas. */
.gnix.gni-signin:not(.gni-account-support){display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;isolation:isolate;min-height:100svh;height:auto;padding:200px 24px 48px;background:var(--gni-primary)}.gni-signin:not(.gni-account-support)>.gni-signin-visual{position:absolute;inset:0;min-height:100%;z-index:-1;display:block!important}.gni-signin:not(.gni-account-support) .gni-signin-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gni-signin:not(.gni-account-support) .gni-signin-overlay{position:absolute;inset:0;background:rgba(8,30,48,.72)}.gni-signin:not(.gni-account-support) .gni-signin-caption{position:absolute;top:72px;left:50%;width:min(760px,90%);transform:translateX(-50%);text-align:center;padding:0;bottom:auto}.gni-signin:not(.gni-account-support) .gni-signin-caption h2{font-size:clamp(24px,3vw,38px);margin:10px 0;color:#fff}.gni-signin:not(.gni-account-support) .gni-signin-caption p{margin:0;color:#e7edf2}.gni-signin:not(.gni-account-support)>.gni-signin-side{position:relative;width:100%;max-width:520px;min-height:0;margin:0;border-radius:22px;background:var(--gni-surface);box-shadow:0 20px 70px rgba(0,0,0,.25);overflow:visible}.gni-signin:not(.gni-account-support) .gni-signin-brand{padding:24px 32px 12px}.gni-signin:not(.gni-account-support) .gni-signin-form{padding:22px 32px 28px}.gni-signin:not(.gni-account-support) .gni-signin-strip{margin:0 32px;padding:8px 12px;border-radius:8px}.gni-login-tools{position:absolute;top:20px;right:24px;z-index:10}.gni-login-tools .gni-quick-controls{--gni-tint:#fff;--gni-heading:#0f2a4a}.gni-account-support .gni-login-tools{position:fixed}.gni-signin-registration .gni-grid{grid-template-columns:1fr}.gni-signin-registration .gni{padding:12px!important}.gni-signin-registration .gni-grid>.gni-card:first-child{display:none}
@media(max-width:1000px){.gnix .gnix-hero{flex-wrap:wrap;gap:16px}.gni-user-toolbar{margin-left:auto}.gni-user-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:700px){.gnix[data-gni-ready=true] .gni-mobile-nav-button{display:inline-block;background:var(--gni-primary);color:var(--gni-on_primary);border:0;padding:10px 16px;border-radius:8px}.gnix .gnix-layout{grid-template-columns:1fr}.gnix[data-gni-ready=true] .gnix-nav{display:none}.gnix[data-nav-open=true] .gnix-nav{display:flex}.gnix .gnix-hero{padding:20px}.gnix .gnix-main{padding:20px}.gni-user-toolbar{width:100%;justify-content:space-between;gap:8px}.gni-user-name{display:none}.gni-profile-menu .gni-header-popover{right:0}.gni-access-menu .gni-header-popover{right:auto;left:0}.gni-signin:not(.gni-account-support) .gni-signin-caption{top:76px}.gnix.gni-signin:not(.gni-account-support){padding:210px 16px 32px}.gni-signin:not(.gni-account-support) .gni-signin-form,.gni-signin:not(.gni-account-support) .gni-signin-brand{padding-left:22px;padding-right:22px}.gni-login-tools{right:16px}.gni-signin:not(.gni-account-support) .gni-signin-strip{margin-inline:22px}}
@media(prefers-reduced-motion:reduce){.gnix *{animation:none!important;transition:none!important}}

.gnix[data-theme=dark] .gni h2,.gnix[data-theme=dark] .gni h3,.gnix[data-theme=dark] .gni-signin-form h2,.gnix[data-theme=dark] .gni-signin-brand{color:var(--gni-heading)}.gnix[data-theme=dark] .gni-signin-form p{color:var(--gni-muted)}
/* Reference-style access screen: dark left form, solid school-colour welcome panel. */
.gnix.gni-signin:not(.gni-account-support){display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:stretch;justify-content:normal;min-height:100svh;padding:0;background:#11151c;position:relative;isolation:isolate}.gni-signin:not(.gni-account-support)>.gni-signin-side{grid-column:1;grid-row:1;align-self:stretch;position:relative;max-width:none;width:100%;min-height:100svh;margin:0;padding:clamp(80px,10vh,130px) clamp(28px,6vw,100px) 50px;border-radius:0;box-shadow:none;background:#11151c;--gni-surface:#11151c;--gni-background:#1c2531;--gni-heading:#fff;--gni-text:#e4e9f1;--gni-muted:#aeb9c9;--gni-tint:#202b39;--gni-primary:#c8a951;--gni-on_primary:#11151c;color:var(--gni-text)}.gni-signin:not(.gni-account-support) .gni-signin-brand{padding:0 0 30px;max-width:420px;margin:auto;color:#fff;font-size:24px;line-height:1.25}.gni-signin:not(.gni-account-support) .gni-signin-brand img{height:88px;max-width:240px;object-fit:contain;background:#fff;padding:10px;border-radius:12px}.gni-signin:not(.gni-account-support) .gni-signin-strip{display:none}.gni-signin:not(.gni-account-support) .gni-signin-form{padding:0;max-width:420px;margin:auto;color:var(--gni-text)}.gni-signin:not(.gni-account-support) .gni-signin-form h2{font-size:32px;margin:0 0 10px;color:#fff}.gni-signin:not(.gni-account-support) .gni-signin-form p,.gni-signin:not(.gni-account-support) .gni-signin-form label{color:#bbc5d2}.gni-signin:not(.gni-account-support) .gni-signin-form input:not([type=checkbox]),.gni-signin:not(.gni-account-support) .gni-signin-form select,.gni-signin:not(.gni-account-support) .gni-signin-form textarea{background:#1c2531;color:#fff;border:1px solid #354456;border-radius:8px;padding:13px}.gni-signin:not(.gni-account-support) .gni-signin-form input[type=submit],.gni-signin:not(.gni-account-support) .gni-signin-form button{background:var(--gni-accent);color:#11151c;border:0;font-weight:700}.gni-signin:not(.gni-account-support) .gni-signin-form a,.gni-signin:not(.gni-account-support) .gni-signin-register>summary{color:var(--gni-accent)}.gni-signin:not(.gni-account-support) .gni-signin-registration .gni,.gni-signin:not(.gni-account-support) .gni-signin-registration .gni-card{background:#19222e;color:#fff}.gni-signin:not(.gni-account-support) .gni-signin-registration h2,.gni-signin:not(.gni-account-support) .gni-signin-registration h3{color:#fff}.gni-signin:not(.gni-account-support)>.gni-signin-visual{grid-column:2;grid-row:1;position:relative;inset:auto;min-height:100svh;z-index:0;overflow:hidden;background:var(--gni-primary);display:block!important}.gni-signin:not(.gni-account-support) .gni-signin-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.gni-signin:not(.gni-account-support) .gni-signin-overlay{position:absolute;inset:0;background:rgba(15,42,74,.38)}.gni-signin:not(.gni-account-support) .gni-signin-caption{position:absolute;top:clamp(110px,15vh,170px);left:clamp(32px,5vw,80px);right:32px;bottom:auto;width:auto;transform:none;text-align:left;padding:0;z-index:2}.gni-signin:not(.gni-account-support) .gni-signin-caption h2{font-size:clamp(34px,4vw,58px);max-width:570px;line-height:1.1;letter-spacing:-1.5px;margin:18px 0;color:#fff}.gni-signin:not(.gni-account-support) .gni-signin-caption>span{color:var(--gni-accent);font-size:12px}.gni-signin:not(.gni-account-support) .gni-signin-caption p{max-width:410px;font-size:17px;color:#edf2f7}.gni-login-tools{z-index:20}.gni-welcome-art{position:absolute;width:min(520px,85%);height:auto;bottom:5vh;left:50%;transform:translateX(-50%);color:#fff;opacity:.8}.gni-signin:not(.gni-account-support) .gni-home-link{margin-top:28px;font-size:13px}.gni-signin:not(.gni-account-support) input:focus-visible,.gni-signin:not(.gni-account-support) select:focus-visible{outline:3px solid var(--gni-accent);outline-offset:3px}
@media(max-width:900px){.gnix.gni-signin:not(.gni-account-support){grid-template-columns:minmax(300px,1fr) minmax(0,1fr)}.gni-signin:not(.gni-account-support)>.gni-signin-side{padding:100px 28px 40px}.gni-signin:not(.gni-account-support) .gni-signin-caption{left:28px;right:24px}.gni-signin:not(.gni-account-support) .gni-signin-caption h2{font-size:36px}}
@media(max-width:650px){.gnix.gni-signin:not(.gni-account-support){display:flex;flex-direction:column;padding:0}.gni-signin:not(.gni-account-support)>.gni-signin-visual{order:0;width:100%;min-height:270px;height:270px}.gni-signin:not(.gni-account-support)>.gni-signin-side{order:1;width:100%;min-height:0;padding:32px 24px 40px}.gni-signin:not(.gni-account-support) .gni-signin-caption{top:84px;left:24px;right:24px}.gni-signin:not(.gni-account-support) .gni-signin-caption h2{font-size:32px;margin:12px 0}.gni-signin:not(.gni-account-support) .gni-signin-caption p{font-size:14px;max-width:350px}.gni-signin:not(.gni-account-support) .gni-signin-brand{padding:0 0 24px}.gni-welcome-art{display:none}.gni-signin:not(.gni-account-support) .gni-signin-form h2{font-size:28px}}

/* Shared account styling, including password recovery. */
.gnix.gni-signin{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;isolation:isolate;min-height:100svh;height:auto;padding:200px 24px 48px;background:var(--gni-primary)}.gni-signin>.gni-signin-visual{position:absolute;inset:0;min-height:100%;z-index:-1;display:block!important}.gni-signin .gni-signin-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gni-signin .gni-signin-overlay{position:absolute;inset:0;background:rgba(8,30,48,.72)}.gni-signin .gni-signin-caption{position:absolute;top:72px;left:50%;width:min(760px,90%);transform:translateX(-50%);text-align:center;padding:0;bottom:auto}.gni-signin .gni-signin-caption h2{font-size:clamp(24px,3vw,38px);margin:10px 0;color:#fff}.gni-signin .gni-signin-caption p{margin:0;color:#e7edf2}.gni-signin>.gni-signin-side{position:relative;width:100%;max-width:520px;min-height:0;margin:0;border-radius:22px;background:var(--gni-surface);box-shadow:0 20px 70px rgba(0,0,0,.25);overflow:visible}.gni-signin .gni-signin-brand{padding:24px 32px 12px}.gni-signin .gni-signin-form{padding:22px 32px 28px}.gni-signin .gni-signin-strip{margin:0 32px;padding:8px 12px;border-radius:8px}.gni-login-tools{position:absolute;top:20px;right:24px;z-index:10}.gni-login-tools .gni-quick-controls{--gni-tint:#fff;--gni-heading:#0f2a4a}.gni-account-support .gni-login-tools{position:fixed}.gni-signin-registration .gni-grid{grid-template-columns:1fr}.gni-signin-registration .gni{padding:12px!important}.gni-signin-registration .gni-grid>.gni-card:first-child{display:none}
@media(max-width:1000px){.gnix .gnix-hero{flex-wrap:wrap;gap:16px}.gni-user-toolbar{margin-left:auto}.gni-user-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:700px){.gnix[data-gni-ready=true] .gni-mobile-nav-button{display:inline-block;background:var(--gni-primary);color:var(--gni-on_primary);border:0;padding:10px 16px;border-radius:8px}.gnix .gnix-layout{grid-template-columns:1fr}.gnix[data-gni-ready=true] .gnix-nav{display:none}.gnix[data-nav-open=true] .gnix-nav{display:flex}.gnix .gnix-hero{padding:20px}.gnix .gnix-main{padding:20px}.gni-user-toolbar{width:100%;justify-content:space-between;gap:8px}.gni-user-name{display:none}.gni-profile-menu .gni-header-popover{right:0}.gni-access-menu .gni-header-popover{right:auto;left:0}.gni-signin .gni-signin-caption{top:76px}.gnix.gni-signin{padding:210px 16px 32px}.gni-signin .gni-signin-form,.gni-signin .gni-signin-brand{padding-left:22px;padding-right:22px}.gni-login-tools{right:16px}.gni-signin .gni-signin-strip{margin-inline:22px}}
@media(prefers-reduced-motion:reduce){.gnix *{animation:none!important;transition:none!important}}

.gnix[data-theme=dark] .gni h2,.gnix[data-theme=dark] .gni h3,.gnix[data-theme=dark] .gni-signin-form h2,.gnix[data-theme=dark] .gni-signin-brand{color:var(--gni-heading)}.gnix[data-theme=dark] .gni-signin-form p{color:var(--gni-muted)}
/* Reference-style access screen: dark left form, solid school-colour welcome panel. */
.gnix.gni-signin{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);align-items:stretch;justify-content:normal;min-height:100svh;padding:0;background:#11151c;position:relative;isolation:isolate}.gni-signin>.gni-signin-side{grid-column:1;grid-row:1;align-self:stretch;position:relative;max-width:none;width:100%;min-height:100svh;margin:0;padding:clamp(80px,10vh,130px) clamp(28px,6vw,100px) 50px;border-radius:0;box-shadow:none;background:#11151c;--gni-surface:#11151c;--gni-background:#1c2531;--gni-heading:#fff;--gni-text:#e4e9f1;--gni-muted:#aeb9c9;--gni-tint:#202b39;--gni-primary:#c8a951;--gni-on_primary:#11151c;color:var(--gni-text)}.gni-signin .gni-signin-brand{padding:0 0 30px;max-width:420px;margin:auto;color:#fff;font-size:24px;line-height:1.25}.gni-signin .gni-signin-brand img{height:88px;max-width:240px;object-fit:contain;background:#fff;padding:10px;border-radius:12px}.gni-signin .gni-signin-strip{display:none}.gni-signin .gni-signin-form{padding:0;max-width:420px;margin:auto;color:var(--gni-text)}.gni-signin .gni-signin-form h2{font-size:32px;margin:0 0 10px;color:#fff}.gni-signin .gni-signin-form p,.gni-signin .gni-signin-form label{color:#bbc5d2}.gni-signin .gni-signin-form input:not([type=checkbox]),.gni-signin .gni-signin-form select,.gni-signin .gni-signin-form textarea{background:#1c2531;color:#fff;border:1px solid #354456;border-radius:8px;padding:13px}.gni-signin .gni-signin-form input[type=submit],.gni-signin .gni-signin-form button{background:var(--gni-accent);color:#11151c;border:0;font-weight:700}.gni-signin .gni-signin-form a,.gni-signin .gni-signin-register>summary{color:var(--gni-accent)}.gni-signin .gni-signin-registration .gni,.gni-signin .gni-signin-registration .gni-card{background:#19222e;color:#fff}.gni-signin .gni-signin-registration h2,.gni-signin .gni-signin-registration h3{color:#fff}.gni-signin>.gni-signin-visual{grid-column:2;grid-row:1;position:relative;inset:auto;min-height:100svh;z-index:0;overflow:hidden;background:var(--gni-primary);display:block!important}.gni-signin .gni-signin-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.gni-signin .gni-signin-overlay{position:absolute;inset:0;background:rgba(15,42,74,.38)}.gni-signin .gni-signin-caption{position:absolute;top:clamp(110px,15vh,170px);left:clamp(32px,5vw,80px);right:32px;bottom:auto;width:auto;transform:none;text-align:left;padding:0;z-index:2}.gni-signin .gni-signin-caption h2{font-size:clamp(34px,4vw,58px);max-width:570px;line-height:1.1;letter-spacing:-1.5px;margin:18px 0;color:#fff}.gni-signin .gni-signin-caption>span{color:var(--gni-accent);font-size:12px}.gni-signin .gni-signin-caption p{max-width:410px;font-size:17px;color:#edf2f7}.gni-login-tools{z-index:20}.gni-welcome-art{position:absolute;width:min(520px,85%);height:auto;bottom:5vh;left:50%;transform:translateX(-50%);color:#fff;opacity:.8}.gni-signin .gni-home-link{margin-top:28px;font-size:13px}.gni-signin input:focus-visible,.gni-signin select:focus-visible{outline:3px solid var(--gni-accent);outline-offset:3px}
@media(max-width:900px){.gnix.gni-signin{grid-template-columns:minmax(300px,1fr) minmax(0,1fr)}.gni-signin>.gni-signin-side{padding:100px 28px 40px}.gni-signin .gni-signin-caption{left:28px;right:24px}.gni-signin .gni-signin-caption h2{font-size:36px}}
@media(max-width:650px){.gnix.gni-signin{display:flex;flex-direction:column;padding:0}.gni-signin>.gni-signin-visual{order:0;width:100%;min-height:270px;height:270px}.gni-signin>.gni-signin-side{order:1;width:100%;min-height:0;padding:32px 24px 40px}.gni-signin .gni-signin-caption{top:84px;left:24px;right:24px}.gni-signin .gni-signin-caption h2{font-size:32px;margin:12px 0}.gni-signin .gni-signin-caption p{font-size:14px;max-width:350px}.gni-signin .gni-signin-brand{padding:0 0 24px}.gni-welcome-art{display:none}.gni-signin .gni-signin-form h2{font-size:28px}}

.gnix.gni-account-support{display:block;background:#11151c;padding:0;min-height:100svh}.gni-account-support>.gni-signin-visual{display:none!important}.gni-account-support>.gni-signin-side{min-height:100svh;width:100%;max-width:none;padding:100px 24px 60px;border-radius:0;box-shadow:none}.gni-signin .gni-signin-brand img{background:transparent;padding:0;border-radius:0;box-shadow:none}.gni-password-wrap{position:relative;display:block}.gni-signin .gni-password-wrap input{padding-right:76px!important}.gni-signin .gni-password-toggle{position:absolute;right:8px;top:8px;padding:8px 10px!important;font-size:12px;border-radius:6px;min-height:36px}.gni-account-expanding>.gni-signin-side{animation:gni-account-expand .32s ease-out}@keyframes gni-account-expand{from{width:42.5%}to{width:100%}}@media(prefers-reduced-motion:reduce){.gni-account-expanding>.gni-signin-side{animation:none}}.gni-signin[data-motion=off] .gni-signin-side{animation:none}

@media(max-width:650px){.gni-account-expanding>.gni-signin-side{animation:none}}

/* 4.8.8 centred recovery, icon-only password controls. */
.gnix.gni-account-support{display:flex;align-items:center;justify-content:center;background:#0b0d12;padding:100px 24px 48px;min-height:100svh}.gni-account-support>.gni-signin-side{display:block;flex:none;min-height:0;width:min(100%,520px);max-width:520px;padding:32px;background:transparent;margin:0 auto;animation:none!important}.gni-account-support .gni-signin-brand{width:100%;text-align:center;margin:0 auto 26px;padding:0}.gni-account-support .gni-signin-brand img{display:block;margin:auto}.gni-account-support .gni-signin-form{width:100%;max-width:420px;margin:0 auto}.gni-signin .gni-signin-form .gni-password-toggle{display:grid;place-items:center;background:transparent!important;color:#c8a951!important;width:44px;height:44px;top:3px;right:4px;padding:10px!important;border:0;box-shadow:none}.gni-password-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.gni-signin .gni-password-wrap input{padding-right:54px!important}.gni-password-toggle:focus-visible{outline:2px solid #c8a951;outline-offset:2px}.gni-social-signin{margin:24px 0}.gni-social-signin>p{font-size:12px;text-align:center}.gni-social-signin .nsl-container{width:100%}@media(max-width:650px){.gnix.gni-account-support{padding:90px 18px 36px}.gni-account-support>.gni-signin-side{padding:18px;min-height:0}}

.gni-portal-footer{padding:20px;text-align:center;background:#11151c;color:#bbc5d2;font:12px/1.6 system-ui}.gni-portal-footer a{color:#c8a951}
.gni-review-dialog{width:min(760px,calc(100% - 32px));max-height:88svh;padding:28px;border:0;border-radius:20px;background:#fff;color:#0f2a4a;box-shadow:0 20px 80px #0004;font:15px/1.6 system-ui}.gni-review-dialog::backdrop{background:#080f1dcc}.gni-review-dialog h2{margin:0 0 8px}.gni-review-body{max-height:55svh;overflow:auto;padding:18px;background:#f5f7fb;border-radius:12px}.gni-review-body dl{display:grid;grid-template-columns:1fr 2fr;gap:10px}.gni-review-body dd{margin:0;overflow-wrap:anywhere}.gni-review-body dt{font-weight:600}.gni-review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.gni-review-actions button,.gni-review-body .gni-export-actions a{padding:12px 18px;border:0;border-radius:8px;background:#0f2a4a;color:#fff;cursor:pointer}.gni-review-actions button:nth-last-child(2){background:#c8a951;color:#111}.gni-review-body details[open]{display:block}@media(max-width:600px){.gni-review-dialog{padding:18px}.gni-review-body dl{grid-template-columns:1fr}}

/* Login spacing controls, separate from desktop welcome layout. */
.gni-signin>.gni-signin-side{padding-left:var(--gni-login-padding,32px);padding-right:var(--gni-login-padding,32px)}.gni-signin .gni-signin-form form>button[type=submit],.gni-signin .gni-signin-form form>button:not([type]){display:block;width:100%;padding:14px 20px;margin:22px 0 var(--gni-login-button-gap,24px);min-height:48px}.gni-signin .gni-signin-form form+p{margin-top:var(--gni-login-button-gap,24px);line-height:1.7}.gni-signin .gni-signin-form label{margin-bottom:18px}.gni-signin .gni-signin-form form>p{margin:16px 0}.gni-signin .gni-password-wrap input{margin:0;width:100%}.gni-signin .gni-signin-form p:has(a){line-height:1.8}.gni-signin .gni-home-link{padding-top:8px}@media(max-width:650px){.gni-signin>.gni-signin-side{padding-left:min(var(--gni-login-padding,32px),32px);padding-right:min(var(--gni-login-padding,32px),32px)}}

/* School-blue authentication surfaces, shared by all portal credential and recovery screens. */
.gnix.gni-signin,.gnix.gni-account-support{background:#0f2a4a}.gni-signin>.gni-signin-side{background:#0f2a4a;--gni-surface:#0f2a4a;--gni-background:#163858;--gni-tint:#204563}.gni-account-support>.gni-signin-side{background:transparent}.gni-signin .gni-signin-form input:not([type=checkbox]),.gni-signin .gni-signin-form select,.gni-signin .gni-signin-form textarea{background:#163858;border-color:#53728f;color:#fff}.gni-signin .gni-signin-registration .gni,.gni-signin .gni-signin-registration .gni-card{background:#163858}#gni-login-main:has(.gni-signin)>.gni-portal-footer{background:#0f2a4a}
