/* Isola login re-skin — ISOLATED (scoped to #loginContainer, nl-* prefix).
   Pilot of the new design system on the live app. Does not affect the dashboard. */
#loginContainer.nl-root{font-family:'Cairo',system-ui,sans-serif;background:linear-gradient(180deg,#eef4fc 0%,#f7f9fc 60%);min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;}
#loginContainer.hidden{display:none !important;}
#loginContainer .nl-card-wrap{width:100%;max-width:400px;}
#loginContainer .nl-brand{text-align:center;margin-bottom:22px;}
#loginContainer .nl-logo{width:84px;height:84px;border-radius:24px;margin:0 auto 14px;overflow:hidden;box-shadow:0 12px 28px rgba(0,123,255,.28);background:linear-gradient(135deg,#3392ff,#004a99);}
#loginContainer .nl-logo img{width:100%;height:100%;object-fit:cover;display:block;}
#loginContainer .nl-name{font-size:21px;font-weight:800;color:#141922;}
#loginContainer .nl-sub{font-size:13px;color:#5d6776;margin-top:3px;}
#loginContainer .nl-card{background:#fff;border:1px solid #e3e8ef;border-radius:22px;padding:22px 20px;box-shadow:0 16px 40px rgba(16,30,54,.10);}
#loginContainer .nl-field{margin-bottom:15px;}
#loginContainer .nl-field label{display:block;font-size:13px;font-weight:700;color:#141922;margin-bottom:7px;}
#loginContainer .nl-control{display:flex;align-items:center;gap:10px;background:#f7f9fc;border:1px solid #e3e8ef;border-radius:13px;padding:0 14px;transition:.15s;}
#loginContainer .nl-control:focus-within{border-color:#3392ff;box-shadow:0 0 0 3px #e6f2ff;background:#fff;}
#loginContainer .nl-control i{color:#8893a3;font-size:20px;}
#loginContainer .nl-control input{flex:1;border:none;background:none;outline:none;font-family:inherit;font-size:15px;color:#141922;padding:13px 0;}
#loginContainer .nl-err{background:#fdecec;color:#c0353a;font-size:13px;font-weight:700;border-radius:11px;padding:11px 14px;margin-bottom:14px;text-align:center;}
#loginContainer .nl-btn{width:100%;border:none;border-radius:14px;padding:15px;font-family:inherit;font-size:16px;font-weight:800;color:#fff;background:linear-gradient(135deg,#3392ff,#0062cc);box-shadow:0 8px 20px rgba(0,123,255,.32);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;}
#loginContainer .nl-btn:active{transform:translateY(1px);}
#loginContainer .nl-forgot{display:block;text-align:center;margin-top:16px;color:#0062cc;font-size:14px;font-weight:700;text-decoration:none;}
@media (prefers-color-scheme:dark){
  #loginContainer.nl-root{background:linear-gradient(180deg,#0f1722 0%,#0d1117 60%);}
  #loginContainer .nl-name{color:#e7edf4;}
  #loginContainer .nl-sub{color:#9aa6b6;}
  #loginContainer .nl-card{background:#161c25;border-color:#26303c;box-shadow:0 16px 40px rgba(0,0,0,.5);}
  #loginContainer .nl-field label{color:#e7edf4;}
  #loginContainer .nl-control{background:#0f141b;border-color:#26303c;}
  #loginContainer .nl-control input{color:#e7edf4;}
  #loginContainer .nl-err{background:#2c1719;color:#f0676b;}
}
