/* V10.69 - modelo único das telas de login (Gestão, Portal e Painel Administrador), configurável pelo Painel Administrador. */
.nl-login{--nl-primary:var(--c-e76f51,#e76f51);--nl-hero-1:var(--c-1d3842,#1d3842);--nl-hero-2:var(--c-2a5562,#2a5562);position:fixed;inset:0;z-index:50;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr);background:var(--c-fbf6ef,#fbf6ef);font-family:Inter,"DM Sans","Segoe UI",Arial,sans-serif;color:var(--c-264653,#264653)}
.nl-login[hidden]{display:none!important}
.nl-hero{position:relative;display:flex;flex-direction:column;gap:26px;overflow:hidden;padding:44px 56px;background:radial-gradient(circle at 85% 12%,color-mix(in srgb,var(--nl-primary) 75%,#fff 0%) 0,transparent 45%),linear-gradient(160deg,var(--nl-hero-1),var(--nl-hero-2));color:#fff}
.nl-brand{display:flex;align-items:center;gap:12px}.nl-brand strong,.nl-brand small{display:block}.nl-brand strong{font-size:16px}.nl-brand small{margin-top:3px;color:var(--c-facdbd,#facdbd);font-size:9px;letter-spacing:.12em}
.nl-mark{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;overflow:hidden;border-radius:12px;background:#fff;color:var(--nl-hero-2);font-weight:800;font-size:20px}.nl-mark img{width:100%;height:100%;object-fit:contain}
.nl-copy{margin:auto 0 0}.nl-eyebrow{margin:0;color:var(--c-facebe,#facebe);font-size:11px;font-weight:800;letter-spacing:.11em}
.nl-copy h2{max-width:540px;margin:10px 0 12px;font-size:clamp(24px,2.6vw,32px);line-height:1.22}.nl-text{max-width:520px;margin:0 0 20px;color:var(--c-fce3da,#fce3da);font-size:14px;line-height:1.65}
.nl-highlights{display:grid;gap:12px;max-width:540px;margin:0;padding:0;list-style:none}.nl-highlights li{display:grid;gap:3px;padding:13px 16px;border:1px solid #ffffff22;border-radius:12px;background:#ffffff0d}.nl-highlights strong{font-size:14px}.nl-highlights span{color:var(--c-fad0c1,#fad0c1);font-size:12px;line-height:1.5}
.nl-banners{display:grid;gap:10px;max-width:540px;margin-bottom:auto}.nl-banners[hidden]{display:none}
.nl-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border-radius:14px;background:#fff;color:var(--c-264653,#264653);box-shadow:0 14px 36px color-mix(in srgb,var(--c-122228,#122228) 18%,transparent)}
.nl-banner img{width:84px;height:84px;border-radius:10px;object-fit:cover}.nl-banner.no-image{grid-template-columns:1fr}
.nl-banner small{display:block;margin-bottom:3px;color:var(--nl-primary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.nl-banner strong{display:block;font-size:14px}.nl-banner p{margin:4px 0 0;color:var(--c-536d77,#536d77);font-size:12px;line-height:1.5}.nl-banner a{display:inline-block;margin-top:8px;color:var(--nl-primary);font-size:12px;font-weight:800;text-decoration:none}
.nl-banner.destaque{background:linear-gradient(135deg,#fff,var(--c-fef3ef,#fef3ef));border:1px solid var(--c-fbdace,#fbdace)}.nl-banner.alerta{background:#fff8e8;border:1px solid #f3d9a4}.nl-banner.alerta small{color:#9b6b10}
.nl-dots{display:flex;gap:6px}.nl-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff55;cursor:pointer}.nl-dots button[aria-current="true"]{width:22px;border-radius:5px;background:#fff}
.nl-foot{margin:0;color:var(--c-eec4b9,#eec4b9);font-size:11px}
.nl-side{display:grid;place-items:center;padding:32px}
.nl-card{width:min(420px,100%);display:grid;gap:14px;padding:36px;border:1px solid var(--c-f0e9e0,#f0e9e0);border-radius:16px;background:#fff;box-shadow:0 20px 55px color-mix(in srgb,var(--c-192c32,#192c32) 9%,transparent)}
.nl-card .nl-mark{background:var(--nl-primary);color:#fff}.nl-card-eyebrow{margin:0;color:var(--nl-primary);font-size:11px;font-weight:800;letter-spacing:.11em}
.nl-card h1{margin:0;font-size:27px}.nl-muted{margin:0;color:var(--c-748c95,#748c95);font-size:14px;line-height:1.5}
.nl-card form{display:grid;gap:14px}.nl-card label{display:grid;gap:7px;color:var(--c-536d77,#536d77);font-size:12px;font-weight:700}
.nl-card input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--c-efe6da,#efe6da);border-radius:8px;background:#fff;color:var(--c-264653,#264653);font:inherit;outline:none}.nl-card input:focus{border-color:var(--nl-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--nl-primary) 15%,transparent)}
.nl-card button[type=submit],.nl-card .nl-primary{min-height:42px;padding:0 16px;border:0;border-radius:8px;background:var(--nl-primary);color:#fff;font:750 13px Inter,"DM Sans",Arial,sans-serif;cursor:pointer}.nl-card button[type=submit]:hover{filter:brightness(.92)}
.nl-card .nl-link{justify-self:start;padding:0;border:0;background:none;color:var(--nl-primary);font-size:12px;font-weight:700;cursor:pointer}
.nl-card .nl-note,.nl-card [role=status]{min-height:18px;margin:0;color:var(--c-7a8f97,#7a8f97);font-size:12px;line-height:1.5}
@media(max-width:900px){.nl-login{grid-template-columns:1fr;align-content:start}.nl-hero{gap:16px;padding:22px 20px}.nl-copy{margin:0}.nl-copy h2{font-size:22px}.nl-text,.nl-highlights,.nl-foot{display:none}.nl-banners{margin:0}.nl-side{padding:20px 16px 32px;place-items:start center}.nl-card{padding:26px 22px}}
@media(max-width:480px){.nl-banner{grid-template-columns:1fr}.nl-banner img{width:100%;height:120px}}
.nl-banner[hidden],.nl-highlights[hidden],.nl-login [data-login-text][hidden]{display:none!important}
.nl-card form>button[type=submit]{width:100%;margin:0}
/* Carregamento: a tela fica escondida até /api/login-tela responder (no máximo 1,5 s), sem piscar o texto padrão. */
.nl-carregando{visibility:hidden}
.nl-card [hidden],.nl-login [data-lt][hidden]{display:none!important}
.nl-login,.nl-login *,.nl-login *::before,.nl-login *::after{box-sizing:border-box}
