:root {
    --wvg-navy:#071b2c; --wvg-navy-2:#0d2b40; --wvg-teal:#0f8f86; --wvg-teal-d:#08756f;
    --wvg-gold:#c9a45c; --wvg-ink:#102536; --wvg-muted:#667785; --wvg-bg:#f4f7f6; --wvg-line:#dce5e3;
    --wvg-white:#fff; --wvg-soft:#eaf4f2; --wvg-danger:#a4262c; --wvg-radius:18px;
}
* { box-sizing:border-box; }
html,body { min-height:100%; }
body.wvg-auth { margin:0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--wvg-ink); background:var(--wvg-bg); }
a { text-underline-offset:3px; }
.auth-wrap { min-height:100vh; display:grid; grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr); }
.auth-brand { position:relative; isolation:isolate; overflow:hidden; color:#fff; padding:clamp(42px,5vw,78px); display:flex; flex-direction:column; justify-content:space-between; gap:42px; background:linear-gradient(145deg,var(--wvg-navy) 0%,var(--wvg-navy-2) 62%,#0b4f51 100%); }
.auth-brand::before,.auth-brand::after { content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.auth-brand::before { width:560px;height:560px;top:-250px;right:-220px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02); }
.auth-brand::after { width:360px;height:360px;bottom:-180px;left:-100px;background:radial-gradient(circle,rgba(15,143,134,.46),rgba(15,143,134,0) 68%); }
.auth-brand .inner,.quote-box { position:relative; z-index:1; }
.wordmark { display:inline-flex; align-items:center; color:#fff; font-weight:800; font-size:1.45rem; letter-spacing:-.02em; text-decoration:none; }
.wordmark:hover { color:#fff; text-decoration:none; }
.wordmark span { color:var(--wvg-gold); }
.wordmark .brand-logo-img { height:48px; width:auto; max-width:230px; object-fit:contain; }
.auth-brand h1 { max-width:600px; margin:clamp(44px,8vh,92px) 0 18px; font-size:clamp(2.35rem,4.5vw,4.7rem); line-height:1.01; letter-spacing:-.055em; font-weight:780; text-wrap:balance; }
.auth-brand p.sub { margin:0; max-width:560px; color:rgba(255,255,255,.72); font-size:1.02rem; line-height:1.75; }
.feat-list { list-style:none; padding:0; margin:34px 0 0; max-width:560px; }
.feat-list li { display:flex; align-items:center; gap:12px; padding:9px 0; color:rgba(255,255,255,.88); font-size:.95rem; }
.feat-list .tick { width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:rgba(15,143,134,.24);border:1px solid rgba(255,255,255,.16);color:#d8f5f1;font-weight:800; }
.quote-box { max-width:560px; padding:19px 21px; border-radius:18px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(14px); }
.quote-box p { margin:5px 0 12px; color:rgba(255,255,255,.82); font-size:.92rem; line-height:1.65; }
.quote-box .who { color:#fff; font-weight:700; font-size:.84rem; }
.quote-box .role { color:rgba(255,255,255,.57); font-size:.76rem; margin-top:2px; }
.stars { color:var(--wvg-gold); letter-spacing:2px; font-size:.73rem; }
.auth-form-side { position:relative; display:flex; align-items:center; justify-content:center; padding:clamp(72px,8vw,120px) clamp(24px,6vw,90px) 52px; overflow-y:auto; background:radial-gradient(circle at 90% 5%,rgba(15,143,134,.07),transparent 28%),var(--wvg-bg); }
.auth-home-link { position:absolute; top:28px; inset-inline-start:clamp(24px,6vw,90px); display:inline-flex; gap:8px; align-items:center; color:var(--wvg-muted); font-size:.82rem; font-weight:650; text-decoration:none; }
.auth-home-link:hover { color:var(--wvg-teal-d); text-decoration:none; }
.auth-card { width:100%; max-width:450px; padding:clamp(28px,4vw,44px); border:1px solid var(--wvg-line); border-radius:26px; background:rgba(255,255,255,.94); box-shadow:0 28px 70px rgba(7,27,44,.09); }
.auth-card.wide { max-width:580px; }
.auth-card .top-link { text-align:end; color:var(--wvg-muted); font-size:.84rem; margin-bottom:30px; }
.auth-card .top-link a,.signup-line a,.forgot { color:var(--wvg-teal-d); font-weight:700; }
.auth-card h2 { margin:0 0 7px; color:var(--wvg-ink); font-size:clamp(1.75rem,3vw,2.2rem); line-height:1.12; letter-spacing:-.035em; font-weight:790; }
.auth-card .lead-sm { margin:0 0 28px; color:var(--wvg-muted); font-size:.93rem; line-height:1.6; }
.form-group { margin-bottom:18px; }
.form-label { display:block; margin-bottom:7px; color:#2d4453; font-size:.82rem; font-weight:700; }
.form-control { width:100%; height:50px; padding:0 14px; border:1.5px solid var(--wvg-line); border-radius:12px; background:#fff; color:var(--wvg-ink); font-size:.94rem; transition:border-color .18s ease,box-shadow .18s ease; }
textarea.form-control { height:auto; min-height:110px; padding-top:12px; }
.form-control:focus { border-color:var(--wvg-teal); box-shadow:0 0 0 3px rgba(15,143,134,.12); outline:0; }
select.form-control { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23667785' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
[dir="rtl"] select.form-control { background-position:left 14px center; padding-left:36px; padding-right:14px; }
.input-wrap { position:relative; }
.input-wrap .toggle { position:absolute; top:50%; inset-inline-end:13px; transform:translateY(-50%); color:var(--wvg-muted); cursor:pointer; font-size:.78rem; font-weight:650; user-select:none; }
.input-wrap .form-control { padding-inline-end:68px; }
.btn-blue { width:100%; min-height:50px; padding:0 18px; border:0; border-radius:12px; background:linear-gradient(135deg,var(--wvg-teal),var(--wvg-teal-d)); color:#fff; font-size:.94rem; font-weight:760; box-shadow:0 10px 24px rgba(15,143,134,.18); transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.btn-blue:hover { color:#fff; transform:translateY(-1px); box-shadow:0 14px 30px rgba(15,143,134,.23); filter:saturate(1.08); }
.btn-blue:focus-visible,.auth-card a:focus-visible,.auth-home-link:focus-visible,.form-control:focus-visible { outline:3px solid rgba(201,164,92,.42); outline-offset:2px; }
.row-between { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.forgot { font-size:.8rem; text-decoration:none; }
.remember { color:#536673; font-size:.84rem; }
.divider { position:relative; margin:25px 0; text-align:center; color:#91a0aa; font-size:.76rem; }
.divider::before,.divider::after { content:""; position:absolute; top:50%; width:40%; height:1px; background:var(--wvg-line); }
.divider::before { inset-inline-start:0; } .divider::after { inset-inline-end:0; }
.signup-line { text-align:center; color:var(--wvg-muted); font-size:.86rem; }
.text-danger.small,small.text-danger { display:block; margin-top:6px; font-size:.76rem; }
.admin-hint { margin-top:18px; text-align:center; font-size:.76rem; }
.admin-hint a { color:#91a0aa; }
.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.auth-flash { border-radius:12px!important; padding:12px 14px!important; margin-bottom:18px!important; font-size:.83rem!important; }
.demo-logins { margin-top:20px; padding-top:18px; border-top:1px dashed var(--wvg-line); }
.demo-logins__label { margin-bottom:10px; color:#91a0aa; text-align:center; text-transform:uppercase; letter-spacing:.08em; font-size:.67rem; font-weight:750; }
.demo-logins__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.demo-chip { padding:9px 10px; border:1px solid var(--wvg-line); border-radius:10px; background:#f7faf9; color:var(--wvg-ink); cursor:pointer; font-size:.79rem; font-weight:650; transition:.18s ease; }
.demo-chip:hover { border-color:rgba(15,143,134,.35); background:var(--wvg-soft); color:var(--wvg-teal-d); }
.demo-logins__hint { margin-top:10px; color:#91a0aa; text-align:center; font-size:.7rem; }
@media (max-width:980px) { .auth-wrap{grid-template-columns:minmax(0,1fr);} .auth-brand{display:none;} .auth-form-side{min-width:0;width:100%;min-height:100vh;padding-top:84px;} .auth-card{min-width:0;max-width:100%;} }
@media (max-width:560px) { .auth-form-side{padding:76px 16px 28px;} .auth-home-link{top:24px;inset-inline-start:18px;} .auth-card{width:100%;max-width:100%;padding:25px 20px;border-radius:20px;} .grid-2{grid-template-columns:1fr;} .row-between{flex-wrap:wrap;} .auth-card .top-link{text-align:start;margin-bottom:24px;} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;} }

/* WVG AUTH V2 — approved WVG Group identity */
:root{
  --wvg-navy:#08338F!important;
  --wvg-navy-2:#0B46B5!important;
  --wvg-teal:#62BEFF!important;
  --wvg-teal-d:#0B62BD!important;
  --wvg-gold:#F4C542!important;
  --wvg-ink:#071B3C!important;
  --wvg-muted:#64748B!important;
  --wvg-bg:#F5FAFF!important;
  --wvg-line:#DCE6F1!important;
  --wvg-white:#FFFFFF!important;
  --wvg-soft:#EAF6FF!important;
}
body.wvg-auth{background:#F5FAFF!important;color:#071B3C!important}
.auth-brand{
  background:
    radial-gradient(circle at 88% 10%,rgba(244,197,66,.13),transparent 28%),
    radial-gradient(circle at 10% 90%,rgba(98,190,255,.18),transparent 32%),
    linear-gradient(145deg,#061D4F 0%,#08338F 55%,#0B46B5 100%)!important;
}
.auth-brand::after{background:radial-gradient(circle,rgba(98,190,255,.22),rgba(98,190,255,0) 68%)!important}
.wordmark span,.stars{color:#F4C542!important}
.feat-list .tick{background:#F4C542!important;border-color:#F4C542!important;color:#08338F!important}
.auth-form-side{background:radial-gradient(circle at 92% 5%,rgba(244,197,66,.10),transparent 26%),#F5FAFF!important}
.auth-home-link:hover,.auth-card .top-link a,.signup-line a,.forgot{color:#08338F!important}
.auth-card{border-color:#DCE6F1!important;background:rgba(255,255,255,.97)!important;box-shadow:0 28px 70px rgba(8,51,143,.10)!important}
.form-label{color:#08338F!important}
.form-control{border-color:#DCE6F1!important;color:#071B3C!important;background:#fff!important}
.form-control:focus{border-color:#0B62BD!important;box-shadow:0 0 0 3px rgba(98,190,255,.18)!important}
.btn-blue{background:#F4C542!important;color:#08338F!important;box-shadow:0 10px 24px rgba(244,197,66,.22)!important}
.btn-blue:hover{background:#fff!important;color:#08338F!important;box-shadow:0 14px 30px rgba(8,51,143,.16)!important;outline:1px solid #08338F!important}
.btn-blue:focus-visible,.auth-card a:focus-visible,.auth-home-link:focus-visible,.form-control:focus-visible{outline:3px solid rgba(98,190,255,.34)!important}
.demo-chip{background:#fff!important;border-color:#DCE6F1!important;color:#071B3C!important}
.demo-chip:hover{background:#F4C542!important;border-color:#F4C542!important;color:#08338F!important}
