/* NeedsDoctor public sign-in system: patient, doctor, hospital and manager. */
:root{--nl-navy:#082a47;--nl-navy-2:#0e3a5b;--nl-teal:#087f7a;--nl-teal-soft:#e7f5f3;--nl-coral:#f26854;--nl-ink:#142b3e;--nl-muted:#647987;--nl-line:#d7e4e8;--nl-surface:#f5f9f8}
body.nd-login{min-height:100svh;margin:0;background:#fff;color:var(--nl-ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
body.nd-login *,body.nd-login *:before,body.nd-login *:after{box-sizing:border-box}

/* Full-height two-plane composition across all four legacy structures. */
.nd-login--patient .login-wrap,.nd-login--hospital .login-wrap,.nd-login--doctor .auth-shell,.nd-login--manager .premium-shell{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(420px,.82fr)!important;width:100%!important;max-width:none!important;min-height:100svh!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:hidden!important}
.nd-login--doctor .auth-wrap,.nd-login--manager .login-wrap{display:block!important;min-height:100svh!important;padding:0!important;margin:0!important;background:#fff!important}

.nd-login .login-left,.nd-login .brand-panel{position:relative!important;isolation:isolate;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;align-items:flex-start!important;min-height:100svh!important;padding:clamp(42px,6vw,88px)!important;color:#fff!important;background-color:var(--nl-navy)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:cover!important;overflow:hidden!important;text-align:left!important}
.nd-login--patient .login-left{background-image:linear-gradient(180deg,rgba(5,31,50,.12) 18%,rgba(5,31,50,.92) 92%),url("../../../images/campaigns/patient/patient-healthcare-options.webp")!important}
.nd-login--doctor .brand-panel{background-image:linear-gradient(180deg,rgba(5,31,50,.14) 14%,rgba(5,31,50,.94) 92%),url("../../../images/campaigns/doctor/doctor-clinic-preparation.webp")!important}
.nd-login--hospital .login-left{background-image:linear-gradient(180deg,rgba(5,31,50,.12) 14%,rgba(5,31,50,.95) 92%),url("../../../images/campaigns/hospital-management-decision.webp")!important}
.nd-login--manager .brand-panel{background-image:linear-gradient(180deg,rgba(5,31,50,.12) 14%,rgba(5,31,50,.95) 92%),url("../../../images/campaigns/manager/provider-onboarding-meeting.webp")!important}
.nd-login .login-left:before,.nd-login .login-left:after,.nd-login .brand-panel:before,.nd-login .brand-panel:after{content:none!important}
.nd-login .login-left>*,.nd-login .brand-panel>*{position:relative;z-index:1;max-width:560px}
.nd-login .ll-circle-inner{display:none!important}
.nd-login .ll-logo,.nd-login .brand-logo{margin:0 0 auto!important;color:#fff!important;text-decoration:none}.nd-login .ll-logo img{width:42px;height:42px;object-fit:contain}.nd-login .ll-logo span,.nd-login .brand-logo{color:#fff!important}
.nd-login .ll-logo-icon{background:rgba(255,255,255,.15)!important;border:1px solid rgba(255,255,255,.22)!important;backdrop-filter:blur(8px)}
.nd-login .ll-tagline,.nd-login .brand-panel h1,.nd-login .ll-heading,.nd-login .brand-title{font-size:clamp(2.2rem,4.4vw,5rem)!important;line-height:1!important;letter-spacing:-.05em!important;font-weight:800!important;margin:0 0 20px!important;color:#fff!important}
.nd-login--hospital .ll-tagline{font-size:.75rem!important;line-height:1.2!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin:4px 0 0!important;color:rgba(255,255,255,.72)!important}
.nd-login--hospital .ll-heading{margin-top:clamp(80px,16vh,180px)!important}
.nd-login .ll-sub,.nd-login .brand-panel>p,.nd-login .brand-sub{max-width:500px!important;margin:0 0 28px!important;color:rgba(255,255,255,.82)!important;font-size:clamp(.95rem,1.15vw,1.08rem)!important;line-height:1.7!important}
.nd-login .brand-feats,.nd-login .ll-bullets,.nd-login .brand-bullets{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px!important;max-width:620px!important;margin:4px 0 0!important;padding:24px 0 0!important;border-top:1px solid rgba(255,255,255,.22)!important;list-style:none!important}
.nd-login .brand-feats li,.nd-login .ll-bullets li,.nd-login .brand-bullets li{display:flex!important;align-items:flex-start!important;gap:9px!important;margin:0!important;color:rgba(255,255,255,.86)!important;font-size:.82rem!important;line-height:1.45!important}
.nd-login .brand-feats i,.nd-login .bullet-icon{display:grid!important;place-items:center!important;flex:0 0 24px!important;width:24px!important;height:24px!important;border-radius:50%!important;background:rgba(105,216,207,.18)!important;color:#8be6dd!important}
.nd-login .ll-links{margin-top:2px}.nd-login .ll-btn{min-height:44px;border-radius:5px!important;padding:0 16px!important}.nd-login .ll-btn-solid{background:var(--nl-coral)!important;border-color:var(--nl-coral)!important}

/* Calm, focused form plane. */
.nd-login .login-right,.nd-login .form-panel{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:100svh!important;padding:clamp(34px,6vw,86px)!important;background:var(--nl-surface)!important}
.nd-login .login-right-inner,.nd-login .login-card,.nd-login .form-panel>form,.nd-login .form-panel>.form-head,.nd-login .form-panel>.flash,.nd-login .form-panel>.alt-links,.nd-login .form-panel>.back-home,.nd-login .form-panel>.alert{width:100%;max-width:460px;margin-left:auto;margin-right:auto}
.nd-login--doctor .form-panel>h2,.nd-login--doctor .form-panel>.sub{width:100%;max-width:460px;margin-left:auto;margin-right:auto}
.nd-login .login-card-title,.nd-login .form-panel h2,.nd-login .form-head h4{font-size:clamp(1.65rem,2.2vw,2.25rem)!important;line-height:1.1!important;letter-spacing:-.035em!important;font-weight:800!important;color:var(--nl-ink)!important;margin:0 0 8px!important}
.nd-login .login-card-sub,.nd-login .form-panel .sub,.nd-login .form-head p{color:var(--nl-muted)!important;font-size:.93rem!important;line-height:1.6!important;margin:0 0 28px!important}
.nd-login .back-to-site{top:24px!important;right:28px!important;color:var(--nl-muted)!important}

/* Patient partial remains reusable elsewhere; only this full-page shell is flattened. */
.nd-login .plb-card{max-width:460px!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--nl-ink)!important}
.nd-login .plb-head{align-items:flex-start!important;gap:14px!important;margin:0 0 26px!important}.nd-login .plb-icon{width:44px!important;height:44px!important;border-radius:50%!important;background:var(--nl-teal-soft)!important;color:var(--nl-teal)!important;font-size:22px!important}.nd-login .plb-title{font-size:clamp(1.65rem,2.2vw,2.25rem)!important;letter-spacing:-.035em!important;color:var(--nl-ink)!important}.nd-login .plb-sub{color:var(--nl-muted)!important;font-size:.9rem!important;line-height:1.55!important}
.nd-login .plb-foot{border-top:1px solid var(--nl-line);margin-top:24px;padding-top:18px}.nd-login .plb-muted{color:var(--nl-muted)!important}

/* Unified fields, alerts and actions. */
.nd-login .field,.nd-login .plb-field,.nd-login .mb-3,.nd-login .mb-4{margin-bottom:18px!important}.nd-login .field label,.nd-login .plb-field>label,.nd-login .form-label{display:block;color:var(--nl-ink)!important;font-size:.82rem!important;font-weight:750!important;margin:0 0 7px!important}
.nd-login .control,.nd-login .plb-input,.nd-login .input-group{position:relative}.nd-login .control input,.nd-login .plb-input,.nd-login .form-control{width:100%!important;min-height:50px!important;border:1px solid var(--nl-line)!important;border-radius:6px!important;background:#fff!important;color:var(--nl-ink)!important;font:500 .93rem/1.3 Inter,system-ui,sans-serif!important;box-shadow:none!important;transition:border-color .18s,box-shadow .18s,background .18s!important}
.nd-login .control input,.nd-login .form-control{padding:0 14px!important}.nd-login .plb-input{display:flex!important;align-items:center!important;gap:10px!important;padding:0 13px!important}.nd-login .plb-input input{font:inherit!important;color:inherit!important}.nd-login .control input:focus,.nd-login .plb-input:focus-within,.nd-login .form-control:focus{outline:0!important;border-color:var(--nl-teal)!important;box-shadow:0 0 0 4px rgba(8,127,122,.11)!important}
.nd-login .pw-toggle,.nd-login .plb-eye,.nd-login .btn-toggle-pw,.nd-login .input-group-text{display:grid!important;place-items:center!important;min-width:46px!important;border:0!important;background:transparent!important;color:var(--nl-muted)!important;cursor:pointer!important}.nd-login .input-group .form-control{padding-right:48px!important}.nd-login .btn-toggle-pw,.nd-login .input-group-text{position:absolute!important;right:3px!important;top:3px!important;bottom:3px!important;z-index:4!important}
.nd-login .row-links,.nd-login .plb-row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:14px!important;margin:8px 0 20px!important}.nd-login .row-links a,.nd-login .plb-link,.nd-login .help-link,.nd-login .auth-links a,.nd-login .alt-links a{color:var(--nl-teal)!important;font-weight:700!important;text-decoration:none!important}.nd-login .row-links a:hover,.nd-login .plb-link:hover,.nd-login .help-link:hover,.nd-login .auth-links a:hover,.nd-login .alt-links a:hover{text-decoration:underline!important}
.nd-login .plb-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.nd-login .btn-submit,.nd-login .plb-btn,.nd-login .btn-brand-login,.nd-login .btn-login{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;margin:0!important;padding:0 20px!important;border:0!important;border-radius:6px!important;background:var(--nl-navy)!important;color:#fff!important;font:800 .92rem/1 Inter,system-ui,sans-serif!important;box-shadow:0 12px 26px rgba(8,42,71,.16)!important;transition:transform .18s,background .18s!important}.nd-login .btn-submit:hover,.nd-login .plb-btn:hover,.nd-login .btn-brand-login:hover,.nd-login .btn-login:hover{background:var(--nl-teal)!important;transform:translateY(-1px)}
.nd-login .plb-ghost{justify-content:center!important;min-height:48px!important;border:1px solid var(--nl-line)!important;border-radius:6px!important;background:#fff!important;color:var(--nl-ink)!important;font-weight:700!important}.nd-login .auth-links,.nd-login .alt-links{text-align:center!important;margin-top:20px!important;color:var(--nl-muted)!important;font-size:.84rem!important}.nd-login .auth-links{display:flex!important;justify-content:center!important;gap:20px!important}
.nd-login .flash,.nd-login .plb-alert,.nd-login .nd-alert-danger,.nd-login .nd-alert-success,.nd-login .alert{max-width:460px!important;border-radius:5px!important;padding:12px 14px!important;font-size:.86rem!important;box-shadow:none!important}.nd-login .flash.error,.nd-login .plb-alert,.nd-login .nd-alert-danger,.nd-login .alert-danger{background:#fff1ef!important;border:1px solid #f4c2ba!important;color:#962f24!important}.nd-login .flash.success,.nd-login .plb-alert-ok,.nd-login .nd-alert-success,.nd-login .alert-success{background:#edf8f4!important;border:1px solid #addfd2!important;color:#17685f!important}
.nd-login .plb-hint,.nd-login .tiny-muted{color:var(--nl-muted)!important}.nd-login .back-home{margin-top:26px!important;text-align:center!important}.nd-login .back-home a{color:var(--nl-muted)!important}

@keyframes nlMediaIn{from{opacity:.86;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes nlFormIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.nd-login .login-left,.nd-login .brand-panel{animation:nlMediaIn .9s ease-out both}.nd-login .login-right>*:not(.back-to-site),.nd-login .form-panel>*{animation:nlFormIn .55s ease-out both}

@media(max-width:860px){.nd-login--patient .login-wrap,.nd-login--hospital .login-wrap,.nd-login--doctor .auth-shell,.nd-login--manager .premium-shell{grid-template-columns:1fr!important}.nd-login .login-left,.nd-login .brand-panel{min-height:320px!important;padding:32px 24px!important}.nd-login .ll-logo,.nd-login .brand-logo{margin-bottom:80px!important}.nd-login .ll-tagline,.nd-login .brand-panel h1,.nd-login .ll-heading,.nd-login .brand-title{font-size:clamp(2rem,9vw,3.6rem)!important}.nd-login .brand-feats,.nd-login .ll-bullets,.nd-login .brand-bullets{display:none!important}.nd-login .login-right,.nd-login .form-panel{min-height:auto!important;padding:64px 22px!important}.nd-login .back-to-site{top:18px!important;right:20px!important}}
@media(max-width:480px){.nd-login .login-left,.nd-login .brand-panel{min-height:270px!important}.nd-login .ll-logo,.nd-login .brand-logo{margin-bottom:52px!important}.nd-login .ll-sub,.nd-login .brand-panel>p,.nd-login .brand-sub{margin-bottom:0!important}.nd-login .ll-links{display:none!important}.nd-login .login-right,.nd-login .form-panel{padding:56px 18px 44px!important}.nd-login .plb-row{align-items:flex-start!important;flex-direction:column!important}.nd-login .auth-links{flex-direction:column!important;gap:8px!important}}
@media(prefers-reduced-motion:reduce){.nd-login .login-left,.nd-login .brand-panel,.nd-login .login-right>*,.nd-login .form-panel>*{animation:none!important;transition:none!important}}
/* Always-visible route back to the public home page. */
.nd-login .nd-login-home,.nd-login .back-home,.nd-login .back-to-site{position:absolute!important;z-index:6!important;top:24px!important;right:28px!important;margin:0!important;width:auto!important;max-width:none!important;text-align:left!important}
.nd-login .nd-login-home,.nd-login .back-home a,.nd-login .back-to-site{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:0 13px!important;border:1px solid var(--nl-line)!important;border-radius:999px!important;background:rgba(255,255,255,.82)!important;color:var(--nl-ink)!important;font:700 .78rem/1 Inter,system-ui,sans-serif!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(8,42,71,.07)!important;backdrop-filter:blur(10px)!important;transition:transform .18s,border-color .18s,background .18s!important}
.nd-login .nd-login-home:hover,.nd-login .back-home a:hover,.nd-login .back-to-site:hover{transform:translateX(-2px)!important;border-color:#afd6d1!important;background:#fff!important;color:var(--nl-teal)!important;text-decoration:none!important}
.nd-login .nd-login-home:focus-visible,.nd-login .back-home a:focus-visible,.nd-login .back-to-site:focus-visible{outline:3px solid rgba(8,127,122,.24)!important;outline-offset:3px!important}
@media(max-width:860px){.nd-login .nd-login-home,.nd-login .back-home,.nd-login .back-to-site{top:16px!important;right:18px!important}}
