/* Nefhm – authentication pages (admin + doctor): modern split layout */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&family=Tajawal:wght@400;500;700;800&display=swap');
:root{--nf-teal:#0E7C6B;--nf-teal-dark:#0A5C50;--nf-teal-soft:#E7F3F0;--nf-mint:#9FD9CC;--nf-ink:#10272B;--nf-muted:#5B6B6E;--nf-line:#E4E8E6;--nf-bg:#F4F7F6}
html[lang="ar"] body,html[lang="ar"] .form-control,html[lang="ar"] .btn,html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{font-family:"Tajawal","Manrope",system-ui,sans-serif!important}
html[lang="en"] body,html[lang="en"] .form-control,html[lang="en"] .btn,html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] h4{font-family:"Manrope","Tajawal",system-ui,sans-serif!important}
body{background:var(--nf-bg)!important;color:var(--nf-ink)}
.navbar .language-toggle::after{display:none}
.navbar.bg-white{padding:10px 0!important;border-bottom:1px solid var(--nf-line);box-shadow:none!important}
.navbar .navbar-brand img{height:52px;width:auto!important;max-width:none!important}
.navbar .language-toggle{border:1.5px solid var(--nf-teal-soft);border-radius:999px;padding:6px 14px!important;color:var(--nf-teal)!important;font-weight:700;background:#fff}
@media(max-width:576px){.navbar .navbar-brand img{height:42px}}
.auth-box{height:auto!important;min-height:calc(100vh - 150px);display:flex;align-items:center;padding:28px 0}
.auth-box-row{height:auto!important;border-radius:28px!important;box-shadow:0 24px 60px rgba(16,39,43,.10)!important;border:1px solid var(--nf-line);min-height:640px;width:100%}
.auth-form{display:flex;align-items:center}
.auth-form>div{width:100%;padding:56px 48px!important;height:auto!important}
.auth-form h4{font-size:1.9rem;font-weight:800!important;letter-spacing:-.01em;margin-bottom:8px!important;color:var(--nf-ink)!important}
.auth-form p.mb-4{color:var(--nf-muted)!important;font-size:1.02rem}
@media(max-width:767px){.auth-form>div{padding:32px 22px!important}.auth-box{padding:14px 0;min-height:0}.auth-box-row{min-height:0}}
.auth-img{display:flex}
.nf-side{position:relative;overflow:hidden;width:100%;min-height:100%;background:linear-gradient(160deg,var(--nf-teal),var(--nf-teal-dark));color:#fff;padding:48px 44px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.nf-side::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.3px,transparent 1.5px);background-size:24px 24px;opacity:.55}
.nf-side::after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.07);right:-140px;bottom:-160px;animation:nfBlob 10s ease-in-out infinite}
.nf-side>*{position:relative;z-index:1}
.nf-side .nf-logo{height:64px;width:auto}
.nf-side h2{color:#fff;font-size:1.75rem;font-weight:800;line-height:1.3;margin:0 0 10px}
.nf-side p{color:rgba(255,255,255,.82);font-size:1.02rem;margin:0}
.nf-side ul{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}
.nf-side li{display:flex;align-items:center;gap:12px;font-weight:600}
.nf-side li i{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.16);display:grid;place-items:center;font-size:1.1rem;flex:none}
.nf-side .nf-art{border-radius:22px;box-shadow:0 30px 60px rgba(0,0,0,.28);width:100%;object-fit:cover;aspect-ratio:3/2;animation:nfFloat 7s ease-in-out infinite}
@keyframes nfFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes nfBlob{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,-20px)}}
@media(max-width:991px){.nf-side{padding:30px 26px}.nf-side .nf-art{display:none}.nf-side h2{font-size:1.35rem}}
@media(max-width:767px){.auth-box .auth-img{order:0}.auth-box .auth-form{order:1}.nf-side ul{display:none}.nf-side{padding:22px 20px;gap:12px}.nf-side .nf-logo{height:44px}}
.auth-form .form-label{font-weight:700!important;color:var(--nf-ink)!important;margin-bottom:6px;text-transform:none!important}
.auth-form .form-control,.auth-form .form-select{min-height:52px;border-radius:12px!important;border:1.5px solid var(--nf-line)!important;background:#fff;font-size:1rem;padding:10px 16px;box-shadow:none!important;transition:.2s}
.auth-form .form-control:focus,.auth-form .form-select:focus{border-color:var(--nf-teal)!important;box-shadow:0 0 0 4px var(--nf-teal-soft)!important}
.auth-form .input-group-merge .form-control{border-radius:12px!important}
.auth-form .input-group-text{border:1.5px solid var(--nf-line)!important;background:#F6F8F7;border-radius:12px!important;color:var(--nf-muted);min-height:52px}
.auth-form .input-group:focus-within .input-group-text{border-color:var(--nf-teal)!important;color:var(--nf-teal)}
.input-group:has(#country_code){direction:ltr!important;flex-direction:row!important;flex-wrap:nowrap}
.input-group:has(#country_code) #country_code{order:0;border-radius:12px 0 0 12px!important;border-right:0!important;font-weight:700;color:var(--nf-teal);background:var(--nf-teal-soft);padding-inline:14px}
.input-group:has(#country_code) .form-control{order:1;border-radius:0 12px 12px 0!important;text-align:left!important;direction:ltr}
html[lang="ar"] .input-group:has(#country_code) .form-control::placeholder{text-align:right;direction:rtl}
.auth-form .form-password-toggle .form-control{border-inline-end:0!important}
.auth-form .form-password-toggle .input-group-text{cursor:pointer}
.auth-form .btn-primary{min-height:52px;border-radius:12px!important;font-weight:700!important;font-size:1.05rem;background:var(--nf-teal)!important;border-color:var(--nf-teal)!important;box-shadow:0 10px 24px rgba(14,124,107,.25)!important;transition:.2s}
.auth-form .btn-primary:hover{background:var(--nf-teal-dark)!important;transform:translateY(-1px)}
.auth-form .btn-primary:active{transform:translateY(1px)}
.auth-form .btn-outline-primary{min-height:48px;border-radius:12px!important;border-color:var(--nf-teal)!important;color:var(--nf-teal)!important}
.auth-form a,.auth-form .text-primary2{color:var(--nf-teal)!important;font-weight:700}
.auth-form .form-check-input:checked{background-color:var(--nf-teal)!important;border-color:var(--nf-teal)!important}
.auth-form .form-check-input{width:1.2em;height:1.2em;border-radius:6px!important}
.auth-form .invalid-feedback,.auth-form .text-danger{font-weight:600}
.auth-form .alert{border-radius:12px}
label.form-label{text-transform:none}
.otp-input{width:60px;height:62px;font-size:1.6rem;font-weight:800;border:1.5px solid var(--nf-line)!important;border-radius:14px!important;text-align:center;color:var(--nf-teal);transition:.2s}
.otp-input:focus{border-color:var(--nf-teal)!important;box-shadow:0 0 0 4px var(--nf-teal-soft)!important;outline:none}
@media(max-width:400px){.otp-input{width:48px;height:54px;font-size:1.3rem}}
.success-img{opacity:0;transform:scale(.5);animation:popIn .5s ease forwards,bounce .5s .5s ease}
@keyframes popIn{to{opacity:1;transform:scale(1)}}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
div:where(.swal2-container) h2:where(.swal2-title){font-size:1em!important}
.doctor-auth-form .upload-zone{border:2px dashed #CFE0DB;border-radius:16px;background:#F6FBF9;padding:26px 16px;text-align:center;position:relative;transition:.25s;cursor:pointer;overflow:hidden}
.doctor-auth-form .upload-zone:hover{border-color:var(--nf-teal);background:var(--nf-teal-soft)}
.doctor-auth-form .upload-zone input[type="file"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.doctor-auth-form .upload-icon{font-size:1.6rem;color:var(--nf-teal);margin-bottom:8px;width:52px;height:52px;border-radius:14px;background:#fff;display:inline-grid;place-items:center;box-shadow:0 6px 16px rgba(16,39,43,.08)}
.doctor-auth-form .file-card{background:#fff;border:1px solid var(--nf-line);border-radius:12px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;transition:.2s}
.doctor-auth-form .file-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(16,39,43,.08)}
.doctor-auth-form .file-name-text{font-size:13px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doctor-auth-form .select2-container--default .select2-selection--single,.doctor-auth-form .select2-container--default .select2-selection--multiple{min-height:52px;border:1.5px solid var(--nf-line)!important;border-radius:12px!important;padding:8px 10px}
.doctor-auth-form .select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.modal-content{border-radius:20px;border:0}
.auth-box-row{animation:nfIn .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes nfIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.navbar .navbar-collapse{display:flex!important;flex-basis:auto;flex-grow:0}
.navbar .navbar-nav{flex-direction:row;margin:0!important}
.navbar .language-toggle span{display:inline!important}
