/*
 * Rezvan Khadem Login - Responsive glass login UI
 * Project Lead: Mohamad khodabakhshi
 */
html body:has(.rzv-login-shell){
  margin:0!important;
  background:#06100d!important;
  overflow-x:hidden!important;
}
.rzv-login-shell,.rzv-login-shell *{
  box-sizing:border-box;
  font-family:IRANYekan,Tahoma,Arial,sans-serif!important;
}
.rzv-login-shell{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  width:100vw;
  margin-right:calc(50% - 50vw);
  margin-left:calc(50% - 50vw);
  direction:rtl;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vh,48px) 16px;
  color:#fff;
  overflow:hidden;
  isolation:isolate;
  background:#06100d;
}
.rzv-login-bg{
  position:absolute;
  inset:0;
  background-image:url('../images/bg-login.jpg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  filter:saturate(1.16) contrast(1.04) brightness(1.08);
  transform:scale(1.012);
  z-index:0;
}
.rzv-login-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 50% 46%,rgba(255,220,125,.10),transparent 26%),
    radial-gradient(circle at 50% 57%,rgba(7,92,75,.08),transparent 34%),
    linear-gradient(90deg,rgba(0,10,8,.34) 0%,rgba(0,0,0,.06) 28%,rgba(0,0,0,.04) 72%,rgba(0,10,8,.34) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,19,16,.18));
  pointer-events:none;
}
.rzv-login-shell:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 30% 15%,rgba(255,223,132,.16),transparent 18%),
    radial-gradient(circle at 66% 18%,rgba(255,223,132,.10),transparent 20%);
  opacity:.55;
  pointer-events:none;
  animation:rzvGlow 5.5s ease-in-out infinite alternate;
}
.rzv-login-card{
  position:relative;
  z-index:2;
  width:min(500px,92vw);
  min-height:380px;
  border-radius:34px;
  padding:46px 42px 42px;
  background:linear-gradient(180deg,rgba(195,222,233,.20),rgba(93,119,119,.13));
  border:1px solid rgba(255,228,157,.46);
  box-shadow:
    0 34px 95px rgba(0,0,0,.27),
    0 0 70px rgba(230,190,83,.10),
    inset 0 0 0 1px rgba(255,255,255,.13),
    inset 0 0 55px rgba(255,255,255,.045);
  backdrop-filter:blur(9px) saturate(1.1);
  -webkit-backdrop-filter:blur(9px) saturate(1.1);
  text-align:center;
  overflow:hidden;
}
.rzv-login-card:before{
  content:"";
  position:absolute;
  inset:12px;
  border:1px solid rgba(255,235,170,.22);
  border-radius:26px;
  pointer-events:none;
}
.rzv-login-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),transparent 28%,rgba(255,214,116,.08) 100%);
  pointer-events:none;
}
.rzv-login-form{position:relative;z-index:3}.rzv-login-step{display:none;animation:rzvFade .28s ease both}.rzv-login-step.is-active{display:block}.rzv-field-label{display:block;font-size:20px;font-weight:900;color:#fff4d8;margin-bottom:17px;text-shadow:0 2px 16px rgba(0,0,0,.35)}.rzv-input{width:100%;height:58px;border-radius:18px;border:1px solid rgba(255,244,210,.50);background:rgba(12,41,36,.24);color:#fff;font-size:20px;font-weight:800;text-align:center;outline:none;box-shadow:inset 0 0 28px rgba(0,0,0,.16);transition:.18s;margin-bottom:18px;letter-spacing:.5px}.rzv-input::placeholder{color:rgba(255,255,255,.70);font-weight:700}.rzv-input:focus{border-color:#f6d77b;box-shadow:0 0 0 4px rgba(245,212,122,.13),0 0 22px rgba(245,212,122,.13),inset 0 0 24px rgba(0,0,0,.12);background:rgba(8,40,35,.31)}.rzv-btn{width:100%;min-height:58px;border:0;border-radius:18px;cursor:pointer;font-size:18px;font-weight:950;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s;box-shadow:0 12px 26px rgba(0,0,0,.18);position:relative;overflow:hidden}.rzv-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent,rgba(255,255,255,.25),transparent);transform:translateX(110%);transition:.5s}.rzv-btn:hover:before{transform:translateX(-110%)}.rzv-btn:disabled{opacity:.64;cursor:not-allowed}.rzv-btn-gold{background:linear-gradient(180deg,#fff0b8,#d5a323 58%,#a9780c);color:#171307;border:1px solid rgba(255,235,170,.72)}.rzv-btn-gold:hover{transform:translateY(-1px);filter:brightness(1.04)}.rzv-btn-green{background:linear-gradient(180deg,#08765b,#034435);color:#fff;border:1px solid rgba(119,231,183,.38)}.rzv-btn-green:hover{transform:translateY(-1px);filter:brightness(1.08)}.rzv-link-btn{margin-top:12px;background:transparent;border:0;color:#fff0c4;font-weight:900;cursor:pointer;font-size:14px;text-shadow:0 2px 10px rgba(0,0,0,.28)}.rzv-login-message{min-height:32px;margin-top:18px;color:#fff7dc;font-size:14px;font-weight:800;line-height:1.9;text-shadow:0 2px 10px rgba(0,0,0,.30)}.rzv-login-message.is-error{color:#ffd3d3}.rzv-login-message.is-ok{color:#d8ffd7}.rzv-login-already{font-size:18px;color:#fff4d8;margin:0 0 18px;font-weight:800}.rzv-login-card-small{min-height:auto;padding:38px 34px}.rzv-demo-payment-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:14px;background:linear-gradient(180deg,#0c684f,#064233);color:#fff!important;text-decoration:none;font-weight:900;border:1px solid rgba(119,231,183,.35)}
.rzv-login-shell.is-busy .rzv-login-card{transform:scale(.995);opacity:.96}.rzv-login-shell.is-otp .rzv-login-card{box-shadow:0 34px 95px rgba(0,0,0,.27),0 0 90px rgba(8,118,91,.14),inset 0 0 0 1px rgba(255,255,255,.13)}
@keyframes rzvFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rzvGlow{from{opacity:.35}to{opacity:.72}}
@media(max-width:1024px){.rzv-login-bg{background-position:center center}.rzv-login-card{width:min(480px,92vw)}}
@media(max-width:640px){
  .rzv-login-shell{align-items:flex-start;padding:18vh 12px 22px;min-height:100dvh}
  .rzv-login-bg{background-size:cover;background-position:center top;transform:scale(1.01);filter:saturate(1.16) contrast(1.03) brightness(1.05)}
  .rzv-login-shade{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,20,17,.16)),linear-gradient(90deg,rgba(0,8,6,.20),transparent 26%,transparent 74%,rgba(0,8,6,.20))}
  .rzv-login-card{width:94vw;min-height:340px;border-radius:28px;padding:34px 22px 32px;background:linear-gradient(180deg,rgba(196,224,235,.18),rgba(88,116,116,.12));backdrop-filter:blur(7px) saturate(1.1);-webkit-backdrop-filter:blur(7px) saturate(1.1)}
  .rzv-login-card:before{border-radius:21px;inset:10px}.rzv-field-label{font-size:18px;margin-bottom:14px}.rzv-input,.rzv-btn{height:54px;min-height:54px;font-size:16px;border-radius:16px}.rzv-login-message{font-size:12px}
}
@media(max-width:390px){.rzv-login-shell{padding-top:15vh}.rzv-login-card{padding:30px 17px 28px}.rzv-input,.rzv-btn{height:52px;min-height:52px}}

/* Phase 7.5.2 — selectable authentication methods and local security */
.rzv-auth-method-tabs{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-14px 0 24px;padding:6px;border-radius:17px;background:rgba(3,38,31,.24);border:1px solid rgba(255,238,185,.25)}
.rzv-auth-method-tabs button{min-height:42px;border:0;border-radius:12px;background:transparent;color:rgba(255,255,255,.78);font-weight:900;cursor:pointer;transition:.18s}
.rzv-auth-method-tabs button.is-active{color:#1d1808;background:linear-gradient(180deg,#fff0b8,#d9aa32);box-shadow:0 8px 22px rgba(0,0,0,.16)}
.rzv-auth-panel{display:none;animation:rzvFade .25s ease both}.rzv-auth-panel.is-active{display:block}
.rzv-captcha-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:11px 14px;border-radius:15px;background:rgba(7,55,46,.28);border:1px solid rgba(255,239,191,.35);text-align:right}
.rzv-captcha-box div{display:flex;flex-direction:column;gap:3px}.rzv-captcha-box span{font-size:11px;color:rgba(255,255,255,.72)}.rzv-captcha-box strong{color:#fff2c4;font-size:16px}
.rzv-captcha-box button{width:42px;height:42px;flex:0 0 42px;border-radius:12px;border:1px solid rgba(255,232,165,.4);background:rgba(255,255,255,.09);color:#fff0bd;font-size:22px;cursor:pointer}
.rzv-local-help{margin:12px 0 0;color:rgba(255,255,255,.75);font-size:12px;line-height:1.9}
.rzv-auth-unavailable{position:relative;z-index:3;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:18px;background:rgba(116,48,36,.28);border:1px solid rgba(255,179,151,.42);line-height:1.9}.rzv-auth-unavailable strong{color:#ffe2d4}.rzv-auth-unavailable span{color:#fff}
.rzv-local-settings{position:relative;z-index:3;margin-top:16px;padding:12px 14px;border:1px solid rgba(255,238,183,.28);border-radius:16px;background:rgba(2,38,31,.22);text-align:right}
.rzv-local-settings summary{cursor:pointer;color:#fff1bf;font-weight:900;text-align:center;list-style:none}.rzv-local-settings summary::-webkit-details-marker{display:none}
.rzv-local-settings-form{padding-top:14px}.rzv-local-settings-form p{margin:0 0 12px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.8;text-align:center}
.rzv-local-settings-form .rzv-input{height:48px;min-height:48px;margin-bottom:10px;font-size:15px}.rzv-local-settings-form .rzv-btn{min-height:48px;font-size:14px}
.rzv-local-settings-message{min-height:22px;margin-top:10px;text-align:center;font-size:12px;font-weight:800}.rzv-local-settings-message.is-error{color:#ffd1d1}.rzv-local-settings-message.is-ok{color:#d7ffd6}
.rzv-local-settings-notice{padding:14px 16px;border-radius:14px;background:#fff5d6;color:#194637;border:1px solid #d6b451;font-weight:800}
.rzv-login-card-small .rzv-login-panel-link{margin-bottom:4px}
@media(max-width:640px){.rzv-auth-method-tabs{margin-top:-8px}.rzv-captcha-box strong{font-size:14px}.rzv-login-card:has(.rzv-auth-method-tabs){min-height:410px}}
