/* Nutreeze branded login — Milagro-style split screen, bilingual EN/AR.
   Scoped to .nz-login-page (added by nz_login.js only on /login) so it never
   affects other website pages. */

.nz-login-page {
  --nz-brown:#9c6b3c;
  --nz-brown-dark:#7c5430;
  --nz-brown-deep:#4a2f18;
  --nz-ink:#1f1a14;
  --nz-muted:#8a7a66;
  --nz-cream:#fbf7f1;
}

/* full-viewport, hide default Frappe web chrome on the login page */
html.nz-html, html.nz-html body.nz-login-page { height:100%; margin:0; background:#fff; }
.nz-login-page .navbar,
.nz-login-page header,
.nz-login-page .web-footer,
.nz-login-page footer,
.nz-login-page .footer,
.nz-login-page .page-card-head { display:none !important; }

/* split container */
.nz-login-page .nz-split{
  position:fixed; inset:0; display:flex; direction:ltr;
  font-family:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,"Noto Sans Arabic",sans-serif;
}

/* ---------- LEFT: login form on white ---------- */
.nz-login-page .nz-left{
  flex:1 1 48%; background:#fff; display:flex; flex-direction:column;
  justify-content:center; align-items:center; padding:40px 24px; overflow:auto;
}
.nz-login-page .nz-leftwrap{ width:100%; max-width:380px; }

.nz-login-page .nz-brand{ text-align:center; margin-bottom:26px; }
.nz-login-page .nz-brand img{ width:180px; height:auto; margin:0 auto 6px; display:block; }
.nz-login-page .nz-welcome{ font-size:26px; font-weight:800; color:var(--nz-ink); letter-spacing:-.01em; }
.nz-login-page .nz-welcome-ar{ font-size:18px; font-weight:700; color:var(--nz-brown); margin-top:2px; }
.nz-login-page .nz-sub{ font-size:13px; color:var(--nz-muted); margin-top:8px; }

/* neutralize Frappe's card so it sits flat in our panel */
.nz-login-page .nz-left .page-card,
.nz-login-page .nz-left .login-content{
  background:transparent !important; box-shadow:none !important; border:none !important;
  width:100% !important; max-width:100% !important; margin:0 !important; padding:0 !important;
}
.nz-login-page .nz-left section{ width:100%; }

/* inputs */
.nz-login-page .nz-left .form-control{
  height:48px; border-radius:11px; border:1.5px solid #e7ddcf; background:var(--nz-cream);
  font-size:14px; padding:10px 40px 10px 14px; box-shadow:none; transition:border-color .15s,background .15s;
}
.nz-login-page .nz-left .form-control:focus{
  border-color:var(--nz-brown); background:#fff; box-shadow:0 0 0 3px rgba(156,107,60,.15);
}
.nz-login-page .nz-left .form-group{ margin-bottom:16px; }
.nz-login-page .nz-left .field-icon{ color:var(--nz-brown); opacity:.7; }
.nz-login-page .nz-left .toggle-password{ color:var(--nz-brown); cursor:pointer; font-size:12px; }

/* primary button */
.nz-login-page .nz-left .btn-login,
.nz-login-page .nz-left .btn-primary,
.nz-login-page .nz-left .btn-forgot{
  height:48px; border-radius:11px; font-weight:700; font-size:15px;
  background:var(--nz-brown) !important; border:none !important; color:#fff !important;
  box-shadow:0 6px 16px rgba(156,107,60,.28); transition:background .15s,transform .05s;
}
.nz-login-page .nz-left .btn-login:hover,
.nz-login-page .nz-left .btn-primary:hover,
.nz-login-page .nz-left .btn-forgot:hover{ background:var(--nz-brown-dark) !important; }
.nz-login-page .nz-left .btn-login:active{ transform:translateY(1px); }

/* secondary buttons (email link / social) */
.nz-login-page .nz-left .btn-login-option{
  height:46px; border-radius:11px; border:1.5px solid #e7ddcf !important; font-weight:600;
  background:#fff !important; color:var(--nz-ink) !important;
}
.nz-login-page .nz-left .btn-login-option:hover{ border-color:var(--nz-brown) !important; color:var(--nz-brown) !important; }

.nz-login-page .nz-left a{ color:var(--nz-brown); font-weight:600; }
.nz-login-page .nz-left a:hover{ color:var(--nz-brown-dark); }
.nz-login-page .nz-left .login-divider{ font-size:12px; color:var(--nz-muted); margin:14px 0; }
.nz-login-page .nz-left .forgot-password-message{ text-align:right; font-size:13px; margin-top:-4px; }
.nz-login-page .nz-left .sign-up-message{ font-size:13px; color:var(--nz-muted); margin-top:16px; }

/* ---------- RIGHT: brand hero ---------- */
.nz-login-page .nz-right{
  flex:1 1 52%; position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(150deg,#a9784a 0%, var(--nz-brown) 38%, var(--nz-brown-deep) 100%);
  display:flex; flex-direction:column; justify-content:center; padding:64px;
}
.nz-login-page .nz-right::after{ /* warm vignette */
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 80% 15%, rgba(255,255,255,.12), transparent 55%);
}
.nz-login-page .nz-hero-mark{
  position:absolute; right:-90px; bottom:-90px; width:520px; height:520px; opacity:.10;
  background:no-repeat center/contain;
}
.nz-login-page .nz-hero-content{ position:relative; z-index:1; max-width:460px; }
.nz-login-page .nz-hero-content h1{ font-size:52px; line-height:1.05; font-weight:800; margin:0 0 4px; letter-spacing:-.02em; }
.nz-login-page .nz-hero-content .nz-h-ar{ font-size:30px; font-weight:700; opacity:.95; margin:0 0 22px; }
.nz-login-page .nz-hero-content p{ font-size:17px; line-height:1.6; opacity:.92; margin:0 0 8px; max-width:420px; }
.nz-login-page .nz-hero-content .nz-p-ar{ opacity:.85; }
.nz-login-page .nz-hero-foot{ position:absolute; left:64px; bottom:36px; z-index:1; font-size:12px; opacity:.7; letter-spacing:.03em; }

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .nz-login-page .nz-right{ display:none; }
  .nz-login-page .nz-left{ flex-basis:100%; }
}
