/* ============================================================================
   v2-auth.css — V2 facelift for the login + related auth pages.
   Loaded by Views/Auth/v2/_AuthLayoutV2.cshtml (standalone; NOT the app shell).
   Uses the shared v2.css tokens (--v2-primary etc., set by [data-v2-color]).
   All classes are v2-auth-* per the V2 CSS-scoping rule.
   ============================================================================ */

/* theme-v2 sets body{overflow:hidden} for the app shell — the auth page must scroll. */
body.theme-v2.v2-auth-page{
  overflow:auto;
  min-height:100vh;               /* fallback */
  min-height:100dvh;              /* real mobile viewport */
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
  background:#141e30;              /* fallback behind the photo */
}

/* Full-bleed background photo + dark scrim for legibility. Host-selected class. */
.v2-auth-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  background:linear-gradient(rgba(15,22,35,.42),rgba(15,22,35,.58)),
            #141e30 center/cover no-repeat;
}
.v2-auth-page.v2-auth-us::before{
  background:linear-gradient(rgba(15,22,35,.42),rgba(15,22,35,.58)),
            url("/Views/Auth/img/login-min.jpg") center/cover no-repeat;
}
.v2-auth-page.v2-auth-il::before{
  background:linear-gradient(rgba(15,22,35,.42),rgba(15,22,35,.58)),
            url("/Views/Auth/img/login-israel.jpg") center/cover no-repeat;
}

/* Card */
.v2-auth-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:400px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 12px 44px rgba(20,30,50,.22), 0 2px 8px rgba(20,30,50,.08);
  overflow:hidden;
}
.v2-auth-pad{ padding:28px 26px 26px; }

.v2-auth-logo{ margin-bottom:20px; }
.v2-auth-logo img{ height:30px; width:auto; display:block; }

.v2-auth-title{ font-size:20px; font-weight:700; color:var(--v2-ink,#1a1d22); margin:2px 0 2px; }
.v2-auth-sub{ color:var(--v2-ink-2,#5b6270); font-size:13.5px; margin:0 0 18px; }

/* Fields (the V2 .form-control look, scoped to the auth page) */
.v2-auth-page .v2-auth-field{ display:block; margin-bottom:14px; }
/* two fields side by side (e.g. first + last name); collapses to one column on phones */
.v2-auth-page .v2-auth-row{ display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
@media (max-width:480px){ .v2-auth-page .v2-auth-row{ grid-template-columns:1fr; gap:0; } }
.v2-auth-page .v2-auth-field > span{
  display:block; font-size:12.5px; font-weight:600; color:var(--v2-ink,#39424f); margin-bottom:5px;
}
.v2-auth-page .form-control{
  width:100%; height:44px;
  border:1.5px solid var(--v2-line-strong,#bcc3cc);
  background:var(--v2-field-bg,#fff);
  border-radius:var(--v2-btn-radius,8px);
  padding:0 12px; font-size:14.5px; color:var(--v2-ink,#1a1d22);
}
.v2-auth-page .form-control:focus{
  outline:none;
  border-color:var(--v2-primary,#4a90d9);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--v2-primary,#4a90d9) 25%, transparent);
}

/* password field with show/hide toggle */
.v2-auth-pw{ position:relative; }
.v2-auth-pw .form-control{ padding-right:58px; }
.v2-auth-pw .v2-auth-toggle{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  border:0; background:transparent; color:var(--v2-ink-3,#8a909c);
  font-size:12px; cursor:pointer; padding:8px; min-height:40px;
}

.v2-auth-fldrow{ display:flex; justify-content:flex-end; margin:-4px 0 18px; }
.v2-auth-link{
  color:var(--v2-primary,#4a90d9); text-decoration:none; font-size:13px; font-weight:600;
  background:none; border:0; cursor:pointer; padding:6px 2px; min-height:40px;
}
.v2-auth-link:hover{ text-decoration:underline; }

/* buttons: use .btn.btn-primary / .btn.btn-outline-secondary (themed by theme-v2) + full width */
.v2-auth-btn{ width:100%; height:46px; font-size:15px; font-weight:600; }
.v2-auth-btn + .v2-auth-btn{ margin-top:9px; }

/* validation / error summary */
.v2-auth-err{
  background:#fdecee; border:1px solid #f4c7cc; color:#a8323a;
  border-radius:9px; padding:9px 12px; font-size:13px; margin-bottom:15px;
}
.v2-auth-err[hidden]{ display:none; }

/* result/message pages */
.v2-auth-center{ text-align:center; }
.v2-auth-msg-icon{
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; margin:6px auto 14px;
  background:var(--v2-primary-soft,#eaf2fb); color:var(--v2-primary,#4a90d9); font-size:26px;
}

/* 2FA / device code entry */
.v2-auth-codelbl{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--v2-ink,#39424f); cursor:pointer; margin-bottom:16px; }
.v2-auth-codelbl input{ width:16px; height:16px; accent-color:var(--v2-primary,#4a90d9); }

/* IE / unsupported browser banner */
.v2-auth-banner{
  background:#fdecee; border:1px solid #f4c7cc; color:#a8323a;
  border-radius:9px; padding:10px 12px; font-size:13px; margin-bottom:14px;
}

@media (max-width:400px){
  .v2-auth-pad{ padding:22px 18px 20px; }
}
