.nh-login-page{--login-ink:var(--ds-text);--login-muted:var(--ds-text-2);--login-gold:var(--ds-primary);min-height:100svh;width:100%;display:grid;grid-template-columns:minmax(380px,.95fr) minmax(400px,1.15fr);background:var(--ds-bg-2);color:var(--login-ink);font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;position:relative;isolation:isolate}
.nh-login-page *{box-sizing:border-box}.nh-login-page a{text-decoration:none;color:inherit}.nh-login-access{padding:40px clamp(30px,6vw,108px) 28px;display:flex;flex-direction:column;background:color-mix(in srgb,var(--ds-bg) 96%,transparent);border-right:1px solid #ffffff0e}.nh-login-home{font-size:19px;font-weight:600;letter-spacing:3px;display:block;width:max-content}.nh-login-home span{display:block;font-size:9px;letter-spacing:2.5px;color:var(--login-muted);margin-top:3px}.nh-login-form-wrap{width:100%;max-width:390px;margin:auto 0;padding:42px 0}.nh-login-eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--login-gold);margin:0 0 20px}.nh-login-page h1{font-family:inherit!important;font-size:clamp(32px,3.4vw,48px);font-weight:400;line-height:1.13;letter-spacing:-1.6px;color:var(--login-ink);margin:0 0 18px}.nh-login-intro{font-size:13px;color:var(--ds-text-2);line-height:1.7;margin-bottom:28px}.nh-login-page label{display:block;font-size:11px;letter-spacing:.2px;margin:20px 0 8px;color:var(--ds-text-2)}.nh-login-page .inp{display:block;width:100%;height:46px;background:var(--ds-bg-2);border:1px solid var(--ds-border);border-radius:3px;padding:12px 14px;color:var(--ds-text);font-size:13px;font-family:inherit}.nh-login-page .inp::placeholder{color:var(--ds-text-3)}.nh-login-page .inp:focus{outline:2px solid var(--ds-primary);outline-offset:2px;border-color:var(--ds-primary)}.nh-login-page #nh-login-error{font-size:12px;color:var(--ds-error);min-height:16px;margin:12px 0}.nh-login-submit{width:100%;height:46px;display:flex;justify-content:space-between;align-items:center;border-radius:3px!important;background:var(--ds-primary)!important;color:var(--ds-bg-2)!important;border:0!important;font-family:inherit;font-size:13px;font-weight:600;padding:0 16px}.nh-login-submit:hover{background:var(--ds-primary)!important}.nh-login-submit:disabled{opacity:.6}.nh-login-demo button{background:none;border:0;color:var(--ds-text-2);width:100%;text-align:center;font:12px "Segoe UI",Arial,sans-serif;padding:19px 0;cursor:pointer}.nh-login-demo button:hover{color:var(--ds-primary)}.nh-login-contact{border-top:1px solid #ffffff13;margin-top:18px;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:12px}.nh-login-contact a{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ds-text-2)}.nh-login-contact a:hover{color:var(--ds-primary)}.nh-login-contact svg{width:17px;height:17px}.nh-login-socials{display:flex;gap:13px;color:var(--ds-text-2)}.nh-login-social{display:inline-flex}.nh-login-social svg{width:16px;height:16px}.nh-login-access-note{font-size:9px;letter-spacing:2px;color:var(--ds-text-3);margin:0}.nh-login-identity{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:70px 30px 145px;background:radial-gradient(ellipse at 55% 40%,color-mix(in srgb,var(--ds-border) 25%,transparent),transparent 58%),radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--ds-border) 20%,transparent),transparent 55%),var(--ds-bg-2)}.nh-login-brand{width:min(100%,480px);position:relative;text-align:center;animation:nh-login-enter 1.2s ease-out both}.nh-login-brand img{display:block;width:100%;height:auto;filter:drop-shadow(0 20px 45px #0007);animation:nh-login-float 8s ease-in-out infinite}.nh-login-brand p{font-size:17px;font-weight:400;letter-spacing:.7px;color:var(--ds-text-2);margin:-12px 0 12px}.nh-login-brand>span{font-size:10px;letter-spacing:1.2px;color:var(--ds-text-2)}.nh-login-orbits{position:absolute;width:680px;height:680px;top:50%;left:50%;transform:translate(-50%,-55%);pointer-events:none}.nh-login-orbits i{position:absolute;inset:10%;border:1px solid color-mix(in srgb,var(--ds-primary) 7%,transparent);border-radius:50%;transform:rotate(-25deg) scaleX(.9)}.nh-login-orbits i:nth-child(2){inset:3%;border-style:dashed;animation:nh-login-orbit 70s linear infinite}.nh-login-orbits i:nth-child(3){inset:18%;border-color:color-mix(in srgb,var(--ds-secondary) 6%,transparent);transform:rotate(35deg) scaleX(.86)}.nh-login-footer{position:absolute;bottom:28px;right:38px;text-align:right;display:flex;flex-direction:column;gap:22px}.nh-login-site{font-size:11px;border-bottom:1px solid var(--ds-text-3);padding-bottom:7px;width:max-content;margin-left:auto;letter-spacing:.3px}.nh-login-site span{margin-left:18px;color:var(--ds-primary)}.nh-login-footer p{margin:0;font-size:10px;color:var(--ds-text-3);line-height:1.7}.nh-login-page a:focus-visible,.nh-login-page button:focus-visible{outline:2px solid var(--ds-primary);outline-offset:4px}@keyframes nh-login-float{50%{transform:translateY(-10px)}}@keyframes nh-login-orbit{to{transform:rotate(335deg) scaleX(.9)}}@keyframes nh-login-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(max-width:780px){.nh-login-page{grid-template-columns:1fr}.nh-login-access{padding:28px;border-right:0}.nh-login-form-wrap{margin:0 auto;padding:35px 0}.nh-login-identity{min-height:440px;padding:20px 24px 115px}.nh-login-brand{max-width:300px}.nh-login-footer{right:28px;bottom:24px}.nh-login-brand p{font-size:14px}.nh-login-access-note{text-align:center}}@media(prefers-reduced-motion:reduce){.nh-login-brand,.nh-login-brand img,.nh-login-orbits i{animation:none!important}}

body:has(.nh-login-page) #nh-background-control{display:none!important}.nh-login-footer{bottom:86px}@media(max-width:780px){.nh-login-identity{min-height:520px;padding-bottom:190px}.nh-login-footer{bottom:86px}}

.nh-login-page .nh-login-remember{display:flex;align-items:center;gap:10px;margin:18px 0 7px;cursor:pointer;font-size:10px;letter-spacing:.5px}.nh-login-remember input{width:17px;height:17px;margin:0;accent-color:var(--ds-primary);flex-shrink:0}.nh-remember-help{display:block;font-size:10px;line-height:1.6;color:var(--ds-text-2)}.nh-login-remember input:focus-visible{outline:2px solid var(--ds-primary);outline-offset:3px}

/* Marca no alto da página; os créditos continuam no rodapé. */
.nh-login-identity{align-items:flex-start;padding-top:32px}
.nh-login-orbits{top:260px}
@media(max-width:780px){
  .nh-login-identity{grid-row:1;position:static;min-height:0;padding:24px 24px 30px}
  .nh-login-brand{max-width:240px}
  .nh-login-orbits{width:380px;height:380px;top:130px;z-index:-1}
  .nh-login-access{padding-bottom:220px}
  .nh-login-footer{right:28px;bottom:86px}
}
/* Paleta do guia de marca: azul noite, azul real, roxo e dourado. */
.nh-login-page{--login-gold:var(--ds-primary);background:var(--ds-bg-2)}
.nh-login-access{background:color-mix(in srgb,var(--ds-bg-2) 96%,transparent);border-right-color:color-mix(in srgb,var(--ds-primary) 15%,transparent)}
.nh-login-identity{background:radial-gradient(ellipse at 45% 28%,color-mix(in srgb,var(--ds-primary) 14%,transparent),transparent 62%),radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--ds-secondary) 13%,transparent),transparent 60%),var(--ds-bg-2)}
.nh-login-page .inp{background:var(--ds-surface);border-color:color-mix(in srgb,var(--ds-primary) 28%,var(--ds-surface))}
.nh-login-submit{background:linear-gradient(110deg,var(--ds-primary),var(--ds-primary))!important;color:var(--ds-text)!important}
.nh-login-submit:hover{background:linear-gradient(110deg,var(--ds-primary),var(--ds-primary))!important}
.nh-login-brand{width:min(100%,590px)}
.nh-login-brand p{margin:16px 0 12px}
.nh-login-orbits i{border-color:color-mix(in srgb,var(--ds-primary) 14%,transparent)}.nh-login-orbits i:nth-child(3){border-color:color-mix(in srgb,var(--ds-secondary) 13%,transparent)}
@media(max-width:780px){.nh-login-brand{max-width:310px}}
/* Consolida os ajustes de acesso na versão principal. */
.nh-login-page{background:linear-gradient(150deg,var(--ds-bg) 0%,var(--ds-surface) 48%,color-mix(in srgb,var(--ds-primary) 28%,var(--ds-surface)) 100%);--login-ink:var(--ds-text);--login-muted:var(--ds-text-2)}
.nh-login-access{border-right:0;background:linear-gradient(170deg,color-mix(in srgb,var(--ds-bg-2) 94%,transparent),color-mix(in srgb,var(--ds-surface) 85%,transparent))}
.nh-login-identity{background:radial-gradient(ellipse at 45% 28%,color-mix(in srgb,var(--ds-primary) 17%,transparent),transparent 64%),radial-gradient(ellipse at 90% 5%,color-mix(in srgb,var(--ds-secondary) 15%,transparent),transparent 65%),linear-gradient(170deg,var(--ds-bg-2),color-mix(in srgb,var(--ds-primary) 28%,var(--ds-surface)))}
.nh-login-page label,.nh-login-intro,.nh-login-contact a,.nh-login-brand>span,.nh-login-footer p,.nh-remember-help{color:var(--ds-text)}
.nh-login-orbits i{border-color:color-mix(in srgb,var(--ds-primary) 14%,transparent)}.nh-login-orbits i:nth-child(3){border-color:color-mix(in srgb,var(--ds-secondary) 14%,transparent)}
/* Login creme quente; atrás da logo oficial, um degradê parte do mesmo creme da arte e se dissolve no fundo da página. */
.nh-login-page{color-scheme:light;--ds-primary:#0B3BC4;--ds-primary-hover:#0930A3;--ds-primary-pressed:#072682;--ds-on-primary:#FFFFFF;--ds-secondary:#4A1FA8;--ds-accent:#7A5310;--ds-accent-fill:#E2AE57;--ds-on-accent:#2A1B00;--ds-bg:#F3EBDC;--ds-bg-2:#ECE2D0;--ds-surface:#FDF9F2;--ds-raised:#F8F1E5;--ds-border:#DCCFB7;--ds-text:#12172B;--ds-text-2:#4A4F62;--ds-text-3:#5E6376;--ds-focus:rgba(11,59,196,.35);--ds-active-bg:#E4EAFB;--ds-success:#167A48;--ds-error:#C2353B;--ds-warning:#9A6200;--ds-info:#1F63C9;--login-ink:#12172B;--login-muted:#4A4F62;--login-gold:#7A5310;background:#F3EBDC!important;color:var(--ds-text)}
body:has(.nh-login-page){background:#F3EBDC}
body:has(.nh-login-page) :is(#nh-background,#nh-background-control#nh-background-control){display:none!important}
.nh-login-brand img.nh-logo-oficial{filter:none;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 86%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 16%,#000 84%,transparent),linear-gradient(to bottom,transparent,#000 16%,#000 86%,transparent);mask-composite:intersect}
.nh-login-brand{isolation:isolate}
.nh-login-brand::before{content:"";position:absolute;left:-12%;right:-12%;top:-30%;height:140%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#FCF8EF 0%,#FBF6EC 40%,color-mix(in srgb,#FBF6EC 50%,#F3EBDC) 70%,transparent 100%)}
/* Lema em volta da logo: 'Disciplina hoje.' acima e 'Resultados amanhã.' abaixo, à mesma distância; um some enquanto o outro aparece. */
.nh-login-page .nh-login-brand .nh-login-motto{display:block;margin:0;font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-size:clamp(19px,1.7vw,23px);font-weight:500;font-style:normal;letter-spacing:-.6px;line-height:1.2;text-transform:none;color:var(--ds-text)}
.nh-login-page .nh-login-brand .nh-motto-top{margin:18px 0 10px}
.nh-login-page .nh-login-brand .nh-motto-bottom{margin:10px 0 18px}
.nh-login-motto :is(.nh-motto-a,.nh-motto-b){display:inline-block;opacity:0;animation:nh-login-motto-swap 8s cubic-bezier(.22,1,.36,1) infinite}
.nh-login-motto .nh-motto-b{animation-delay:4s}
@keyframes nh-login-motto-swap{0%{opacity:0;transform:translateY(8px)}8%,42%{opacity:1;transform:translateY(0)}50%,100%{opacity:0;transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.nh-login-motto :is(.nh-motto-a,.nh-motto-b){animation:none!important;opacity:1!important}}
/* Só o título e o botão principal ficam centralizados. */
.nh-login-page .nh-login-form-wrap>h1{text-align:center}
.nh-login-page .nh-login-submit{justify-content:center!important;gap:10px}
@media(max-width:780px){.nh-login-page .nh-login-brand .nh-login-motto{font-size:18px}}
/* Logo maior no desktop: quadro quadrado na altura disponível; corta só as margens creme laterais (o NH fica inteiro). */
@media(min-width:781px){
 .nh-login-page .nh-login-identity{padding:16px 12px 84px;align-items:center!important}
 .nh-login-page .nh-login-brand{width:min(100%,calc(100vh - 170px))!important;max-width:none!important}
 .nh-login-page .nh-login-brand img.nh-logo-oficial{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
 /* A arte tem ~23% de creme acima do NH e ~20% abaixo da frase: as frases entram nessa margem, à mesma distância. */
 .nh-login-page .nh-login-brand .nh-motto-top{position:relative;z-index:1;margin:8px 0 -17.8%}
 .nh-login-page .nh-login-brand .nh-motto-bottom{position:relative;z-index:1;margin:-13.6% 0 8px}
}
/* Logo do login multiplicada com o creme da página: sem halo nem área mais clara em volta. */
.nh-login-page .nh-login-brand{isolation:auto;background:transparent;animation:none!important;transform:none!important;opacity:1!important;filter:none!important}
.nh-login-page .nh-login-brand::before{display:none}
.nh-login-page .nh-login-brand img.nh-logo-oficial{mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.nh-login-page .nh-login-identity{background:transparent!important}
/* Morph do botão de login: encolhe até um círculo com anel girando e desenha o check (1,1 s no total). */
.nh-login-page .nh-login-submit{position:relative;overflow:hidden;transition:width .45s cubic-bezier(.65,0,.35,1),margin-left .45s cubic-bezier(.65,0,.35,1),border-radius .45s cubic-bezier(.65,0,.35,1),color .18s ease,background-color .3s ease}
.nh-login-page .nh-login-submit .nh-morph{position:absolute;inset:0;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .2s ease .25s}
.nh-login-page .nh-login-submit .nh-morph svg{width:calc(var(--nh-h,48px)*.5);height:calc(var(--nh-h,48px)*.5);fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.nh-login-page .nh-login-submit.is-morph{width:var(--nh-h)!important;min-width:0!important;margin-left:calc((var(--nh-w) - var(--nh-h))/2)!important;padding:0!important;border-radius:999px!important;color:transparent!important}
.nh-login-page .nh-login-submit.is-morph>:not(.nh-morph){opacity:0}
.nh-login-page .nh-login-submit.is-morph .nh-morph{opacity:1;color:#fff}
.nh-morph-ring{stroke-dasharray:42 57;transform-origin:12px 12px;animation:nh-morph-spin .7s linear infinite;opacity:.9;transition:stroke-dasharray .3s ease,opacity .25s ease}
.nh-morph-tick{stroke-dasharray:18;stroke-dashoffset:18}
.nh-login-submit.is-done .nh-morph-ring{animation:none;stroke-dasharray:57 0;opacity:.35}
.nh-login-submit.is-done .nh-morph-tick{transition:stroke-dashoffset .4s cubic-bezier(.65,0,.35,1) .15s;stroke-dashoffset:0}
.nh-login-submit.is-done{transform:scale(1);animation:nh-morph-pop .45s cubic-bezier(.34,1.56,.64,1) .05s}
.nh-login-submit.is-shake{animation:nh-morph-shake .4s ease}
@keyframes nh-morph-spin{to{transform:rotate(360deg)}}
@keyframes nh-morph-pop{40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes nh-morph-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
@media (prefers-reduced-motion:reduce){.nh-login-page .nh-login-submit,.nh-morph-ring,.nh-login-submit.is-done,.nh-login-submit.is-shake{animation:none!important;transition-duration:.01s!important}}

/* Assinatura YNdev fornecida pelo autor, integrada sem cartão ou fundo próprio. */
.nh-login-dev-brand{width:min(240px,70%);margin:0 auto;flex:0 0 auto;line-height:0;isolation:isolate}
.nh-login-dev-brand img{display:block;width:100%;height:auto;mix-blend-mode:multiply;filter:drop-shadow(0 10px 18px rgba(62,35,17,.16))}
@media(max-width:780px){.nh-login-dev-brand{width:min(220px,72%);margin-top:12px}}
@media(prefers-reduced-motion:reduce){.nh-login-dev-brand img{animation:none!important}}
