/* منصة نماء — صفحة الدخول. ألوان الشعار: كحلي، أخضر النمو، أحمر الحركة. */
:root{
  --nm-navy:#0a2e5c;--nm-deep:#071f40;--nm-blue:#1552a0;--nm-sky:#e8f0fa;
  --nm-green:#4e9a16;--nm-leaf:#7cbf3c;--nm-mint:#eef7e6;
  --nm-red:#c1121f;--nm-rose:#fdecee;
  --nm-ink:#13233a;--nm-muted:#5d6b7e;--nm-line:#dde5ef;--nm-bg:#f5f8fc;
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body.nl{font-family:Cairo,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--nm-ink);background:var(--nm-bg);-webkit-font-smoothing:antialiased}
.nl-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}

/* ── المشهد ── */
.nl-stage{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 50% 35%,#134c92 0%,#0a2e5c 55%,#061b38 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px 0;min-height:100vh;min-height:100dvh}
.nl-waves{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.nl-rings circle{transform-origin:400px 380px;animation:nl-breathe 9s ease-in-out infinite}
.nl-rings circle:nth-child(2){animation-delay:-2s}.nl-rings circle:nth-child(3){animation-delay:-4s}.nl-rings circle:nth-child(4){animation-delay:-6s}
.nl-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.9;z-index:-1}
.nl-orb--b{width:150px;height:150px;background:radial-gradient(circle at 35% 35%,#4f86d1,#1552a0 70%);top:12%;right:10%;animation:nl-float 11s ease-in-out infinite}
.nl-orb--g{width:110px;height:110px;background:radial-gradient(circle at 35% 35%,#a7dd6d,#4e9a16 70%);bottom:24%;left:9%;animation:nl-float 13s ease-in-out infinite -3s}
.nl-orb--r{width:64px;height:64px;background:radial-gradient(circle at 35% 35%,#f06a73,#c1121f 70%);top:22%;left:20%;animation:nl-float 9s ease-in-out infinite -5s}
.nl-emblem{position:relative;width:min(340px,58vw);aspect-ratio:1;display:grid;place-items:center;margin-top:-4vh}
.nl-halo{position:absolute;inset:6%;border-radius:50%;background:#fff;box-shadow:0 30px 80px rgba(3,14,32,.45),0 0 0 14px rgba(255,255,255,.06),0 0 0 32px rgba(255,255,255,.035);animation:nl-pulse 6s ease-in-out infinite}
.nl-emblem img{position:relative;width:78%;height:auto;animation:nl-rise 1.2s cubic-bezier(.2,.8,.2,1) both}
.nl-sprouts{position:absolute;bottom:0;left:0;width:100%;height:150px;fill:none}
.nl-stem{stroke:#7cbf3c;stroke-width:5;stroke-linecap:round;stroke-dasharray:140;stroke-dashoffset:140;animation:nl-draw 1.6s ease-out .5s forwards}
.nl-stem--2{animation-delay:.8s}.nl-stem--3{animation-delay:1.1s}
.nl-leaf{fill:#4e9a16;transform-box:fill-box;transform-origin:0 100%;transform:scale(0);animation:nl-leaf .9s cubic-bezier(.2,.9,.3,1.3) 1.7s forwards}
.nl-leaf--2{fill:#7cbf3c;animation-delay:2s;transform-origin:100% 100%}.nl-leaf--3{animation-delay:2.3s}
.nl-brand{position:relative;margin:36px 0 160px;text-align:center;color:#fff;display:grid;gap:12px;justify-items:center}
.nl-word{height:40px;width:auto;filter:brightness(0) invert(1);opacity:.96}
.nl-brand strong{font-size:18px;font-weight:700;letter-spacing:.2px;color:#cfe0f5}

/* ── لوحة الدخول ── */
.nl-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px 24px;background:
  radial-gradient(600px 300px at 100% 0,rgba(124,191,60,.10),transparent 60%),
  radial-gradient(500px 280px at 0 100%,rgba(21,82,160,.08),transparent 60%),var(--nm-bg)}
.nl-card{width:100%;max-width:420px;background:#fff;border:1px solid var(--nm-line);border-radius:28px;padding:34px 32px 30px;box-shadow:0 1px 0 #fff inset,0 24px 60px -24px rgba(10,46,92,.28),0 4px 14px -6px rgba(10,46,92,.10);position:relative}
.nl-card::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,var(--nm-red) 0 18%,var(--nm-green) 18% 58%,var(--nm-blue) 58%)}
.nl-logo{display:block;height:96px;width:auto;margin:4px auto 14px}
.nl-card h1{font-size:28px;font-weight:900;color:var(--nm-navy);text-align:center;line-height:1.3}
.nl-sub{text-align:center;color:var(--nm-muted);font-size:15px;font-weight:600;margin:4px 0 22px}
.nl-alert{display:flex;gap:10px;align-items:flex-start;background:var(--nm-rose);color:#8f0d17;border:1px solid #f6c5ca;border-radius:14px;padding:11px 14px;font-size:14px;font-weight:700;margin-bottom:16px;line-height:1.6}
.nl-alert svg{width:20px;height:20px;flex:none;fill:currentColor;margin-top:1px}
.nl-note{background:var(--nm-mint);color:#2f6b0c;border:1px solid #cfe8b6;border-radius:14px;padding:10px 14px;font-size:14px;font-weight:700;margin-bottom:16px}
.nl-form{display:grid;gap:16px}
.nl-field{display:grid;gap:7px}
.nl-label{font-size:14px;font-weight:800;color:var(--nm-navy)}
.nl-input{position:relative;display:flex;align-items:center;background:#f8fafd;border:1.5px solid var(--nm-line);border-radius:16px;transition:border-color .2s,box-shadow .2s,background .2s}
.nl-input>svg{width:21px;height:21px;fill:#8a9ab0;flex:none;margin-inline:14px 4px;transition:fill .2s}
.nl-input input{flex:1;min-width:0;height:54px;border:0;background:transparent;font:700 16px Cairo,sans-serif;color:var(--nm-ink);padding:0 8px 0 14px;outline:none}
.nl-input:focus-within{border-color:var(--nm-green);background:#fff;box-shadow:0 0 0 4px rgba(78,154,22,.14)}
.nl-input:focus-within>svg{fill:var(--nm-green)}
.nl-input input[aria-invalid=true]{color:#8f0d17}
.nl-eye{width:44px;height:44px;margin-inline-end:6px;border:0;border-radius:12px;background:transparent;display:grid;place-items:center;cursor:pointer;color:#8a9ab0}
.nl-eye svg{width:22px;height:22px;fill:currentColor}
.nl-eye:hover,.nl-eye[aria-pressed=true]{background:var(--nm-sky);color:var(--nm-blue)}
.nl-eye:focus-visible{outline:3px solid rgba(21,82,160,.35);outline-offset:1px}
.nl-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:-2px}
.nl-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--nm-ink);cursor:pointer;user-select:none}
.nl-check input{width:19px;height:19px;accent-color:var(--nm-green);cursor:pointer}
.nl-hint{font-size:12.5px;color:var(--nm-muted);font-weight:600}
.nl-btn{margin-top:6px;height:56px;border:0;border-radius:16px;cursor:pointer;color:#fff;font:800 17px Cairo,sans-serif;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#1552a0 0%,#0a2e5c 100%);box-shadow:0 14px 30px -12px rgba(10,46,92,.55);position:relative;overflow:hidden;transition:transform .15s,box-shadow .2s}
.nl-btn::after{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--nm-red) 0 18%,var(--nm-green) 18% 58%,#5b93d8 58%)}
.nl-btn svg{width:22px;height:22px;fill:currentColor;transition:transform .2s}
.nl-btn:hover{box-shadow:0 18px 36px -12px rgba(10,46,92,.6)}.nl-btn:hover svg{transform:translateX(-4px)}
.nl-btn:active{transform:translateY(1px)}
.nl-btn:focus-visible{outline:3px solid rgba(78,154,22,.45);outline-offset:3px}
.nl-btn.is-busy{opacity:.85;cursor:progress}
.nl-foot{margin-top:22px;font-size:13px;color:#8a98ab;font-weight:600}

/* ── الحركة ── */
@keyframes nl-float{0%,100%{transform:translate(0,0)}50%{transform:translate(10px,-18px)}}
@keyframes nl-breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.6}}
@keyframes nl-pulse{0%,100%{box-shadow:0 30px 80px rgba(3,14,32,.45),0 0 0 14px rgba(255,255,255,.06),0 0 0 32px rgba(255,255,255,.035)}50%{box-shadow:0 30px 80px rgba(3,14,32,.45),0 0 0 20px rgba(255,255,255,.08),0 0 0 44px rgba(255,255,255,.03)}}
@keyframes nl-rise{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
@keyframes nl-draw{to{stroke-dashoffset:0}}
@keyframes nl-leaf{to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.nl-stem{stroke-dashoffset:0}.nl-leaf{transform:none}}

/* ── الشاشات الصغيرة ── */
@media (max-width:980px){
  .nl-shell{grid-template-columns:1fr}
  .nl-stage{min-height:auto;padding:28px 20px 0;height:300px}
  .nl-emblem{width:170px;margin-top:0}
  .nl-brand{margin:14px 0 0}.nl-brand strong{display:none}.nl-word{height:26px}
  .nl-sprouts{display:none}
  .nl-orb--b{width:90px;height:90px;top:8%;right:6%}.nl-orb--g{width:70px;height:70px;bottom:18%;left:6%}.nl-orb--r{width:40px;height:40px;top:14%;left:16%}
  .nl-panel{padding:0 16px 22px;margin-top:-34px;background:transparent}
  .nl-logo{display:none}
  .nl-card{padding:28px 20px 24px;border-radius:24px}
  .nl-card::before{border-radius:24px 24px 0 0}
}
@media (max-width:380px){.nl-card h1{font-size:24px}.nl-hint{font-size:12px}}
