/* Bright Passport V1 - scoped login/register/findpwd pages */
html,body{min-height:100%;}
body.vr-passport-body{
  margin:0;
  color:#183449;
  background:linear-gradient(180deg,#f8fcff 0%,#eef8fd 46%,#f8fcf3 100%);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",Arial,sans-serif;
}
body.vr-passport-body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:linear-gradient(rgba(45,140,200,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(45,140,200,.045) 1px,transparent 1px);
  background-size:30px 30px;
  -webkit-mask-image:linear-gradient(#000,rgba(0,0,0,.06));
  mask-image:linear-gradient(#000,rgba(0,0,0,.06));
}
.vr-passport-page{min-height:100vh;overflow:hidden;color:#183449;background:linear-gradient(180deg,#f8fcff 0%,#eef8fd 46%,#f8fcf3 100%);}
.vr-passport-page *{box-sizing:border-box;}
.vr-passport-topnav{height:76px;display:flex;align-items:center;justify-content:center;position:relative;z-index:10;background:rgba(255,255,255,.86);border-bottom:1px solid #d5e9f2;backdrop-filter:blur(18px);box-shadow:0 10px 30px rgba(30,76,112,.08);}
.vr-passport-navinner{width:min(1200px,calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;gap:18px;}
.vr-passport-brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:21px;color:#17364b!important;text-decoration:none!important;white-space:nowrap;}
.vr-passport-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#fff,#dff1f8);border:1px solid #b8dbe9;display:grid;place-items:center;box-shadow:0 10px 20px rgba(45,140,200,.12);position:relative;flex:0 0 auto;}
.vr-passport-mark:before{content:"";width:22px;height:22px;border:3px solid #2d8cc8;border-radius:50%;border-right-color:#f5a23b;display:block;}
.vr-passport-links{display:flex;align-items:center;gap:28px;font-size:15px;color:#315b73;font-weight:700;}
.vr-passport-links a{color:#315b73!important;text-decoration:none!important;white-space:nowrap;}.vr-passport-links a.active{color:#2d8cc8!important;}
.vr-passport-actions{display:flex;align-items:center;gap:10px;white-space:nowrap;}.vr-passport-navbtn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 16px;border:1px solid #b8d8e7;background:#fff;color:#24516c!important;text-decoration:none!important;font-weight:800;box-shadow:0 8px 18px rgba(45,140,200,.08);transition:.22s;}.vr-passport-navbtn.primary{border:0;color:#fff!important;background:linear-gradient(135deg,#2d8cc8,#68b7e8);box-shadow:0 14px 28px rgba(45,140,200,.22);}.vr-passport-navbtn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(45,140,200,.16);}
.vr-passport-shell{width:min(1200px,calc(100% - 48px));min-height:calc(100vh - 116px);margin:34px auto 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;}
.vr-passport-visual{min-height:620px;border-radius:38px;position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(226,244,250,.78));border:1px solid rgba(184,219,233,.92);box-shadow:0 30px 80px rgba(30,76,112,.14);padding:62px 58px;}
.vr-passport-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(245,162,59,.24),transparent 20%),radial-gradient(circle at 85% 72%,rgba(168,215,184,.36),transparent 28%),linear-gradient(110deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.88) 45%,rgba(234,247,252,.52) 46%,rgba(234,247,252,.38) 100%);}
.vr-passport-copy,.vr-passport-scene{position:relative;z-index:2;}
.vr-passport-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #c2e1ec;color:#2f7197;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;box-shadow:0 8px 18px rgba(45,140,200,.08);}
.vr-passport-copy h1{font-size:58px;letter-spacing:-1.7px;line-height:1.06;margin:22px 0 18px;color:#153246;font-weight:900;}.vr-passport-copy h1 span{color:#2d8cc8;}
.vr-passport-copy p{font-size:18px;color:#607b8e;line-height:1.9;max-width:560px;margin:0 0 28px;}
.vr-passport-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:520px;margin-bottom:36px;}.vr-passport-metric{background:rgba(255,255,255,.82);border:1px solid #cfe4ed;border-radius:20px;padding:15px 16px;box-shadow:0 12px 26px rgba(45,140,200,.09);}.vr-passport-metric b{font-size:25px;color:#2d8cc8;display:block;line-height:1.2;}.vr-passport-metric small{font-size:12px;color:#6f8797;}
.vr-passport-scene{height:240px;margin-top:10px;position:relative;}.vr-passport-sun{position:absolute;right:80px;top:0;width:104px;height:104px;border-radius:999px;background:linear-gradient(180deg,#ffbc58,#ff9d2d);box-shadow:0 18px 38px rgba(245,162,59,.22);}.vr-passport-plane{position:absolute;right:130px;top:36px;font-size:44px;transform:rotate(-7deg);animation:vrPassportFly 5s ease-in-out infinite;}.vr-passport-svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:220px;}.vr-passport-float{position:absolute;right:0;bottom:22px;width:245px;background:rgba(255,255,255,.82);border:1px solid #cfe4ed;border-radius:22px;padding:16px;box-shadow:0 18px 36px rgba(30,76,112,.12);backdrop-filter:blur(12px);}.vr-passport-float strong{display:block;color:#183449;font-size:15px;}.vr-passport-float p{margin:6px 0 0;color:#6f8797;font-size:13px;line-height:1.6;}
.vr-passport-card{border-radius:34px;background:rgba(255,255,255,.88);border:1px solid rgba(184,219,233,.95);box-shadow:0 26px 72px rgba(30,76,112,.14);padding:38px 38px 34px;backdrop-filter:blur(18px);position:relative;overflow:hidden;}.vr-passport-card:before{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(104,183,232,.22),transparent 68%);}.vr-passport-card>*{position:relative;z-index:1;}
.vr-passport-card h2,.vr-passport-card h1,.vr-passport-card .title{margin:0 0 10px!important;color:#183449!important;font-size:34px!important;line-height:1.2!important;font-weight:900!important;text-align:left!important;}.vr-passport-card .description,.vr-passport-subtitle{color:#6f8797;font-size:15px;line-height:1.6;margin-bottom:26px;}.vr-passport-card a{color:#2d8cc8;text-decoration:none;}.vr-passport-card form{margin:0;}.vr-passport-field,.vr-passport-card .wrap-input,.vr-passport-card .input-group{margin:0 0 14px!important;width:100%!important;display:block!important;float:none!important;clear:both!important;}.vr-passport-card input[type=text],.vr-passport-card input[type=password],.vr-passport-card input[type=email],.vr-passport-card .shuru,.vr-passport-card .shuru2,.vr-passport-card .form-control{width:100%!important;height:48px!important;border:1px solid #c7e0eb!important;border-radius:16px!important;background:#fff!important;color:#183449!important;padding:0 15px!important;font-size:15px!important;box-shadow:0 8px 18px rgba(45,140,200,.06)!important;outline:none!important;float:none!important;}.vr-passport-card input:focus,.vr-passport-card .form-control:focus{border-color:#68b7e8!important;box-shadow:0 0 0 4px rgba(104,183,232,.18)!important;}.vr-passport-card input::placeholder{color:#8aa0ad;}
.vr-passport-card .input-group-addon{border:1px solid #c7e0eb!important;background:#eef8fd!important;color:#315b73!important;border-radius:14px 0 0 14px!important;}.vr-passport-card .input-group-btn .btn,.vr-passport-card #send_btn{height:48px!important;border-radius:0 16px 16px 0!important;background:linear-gradient(135deg,#2d8cc8,#68b7e8)!important;color:#fff!important;border:0!important;padding:0 16px!important;font-weight:800!important;}.vr-passport-card img#captcha_img{border-radius:12px;border:1px solid #c7e0eb;background:#fff;}
.vr-passport-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 18px;color:#607b8e;font-size:14px;}.vr-passport-row label{display:flex;align-items:center;gap:7px;font-weight:500;}.vr-passport-card input[type=checkbox],.vr-passport-card input[type=radio]{accent-color:#2d8cc8;}
.vr-passport-card .form-submit,.vr-passport-card input[type=submit],.vr-passport-card .btn-primary,.vr-passport-card #login_btn,.vr-passport-card #reg_btn,.vr-passport-card #find_btn{width:100%!important;height:50px!important;line-height:50px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#2d8cc8,#68b7e8)!important;color:#fff!important;font-size:16px!important;font-weight:900!important;text-align:center!important;box-shadow:0 16px 34px rgba(45,140,200,.22)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;padding:0 18px!important;float:none!important;}.vr-passport-card .btn-small{width:auto!important;height:auto!important;line-height:1!important;border-radius:999px!important;background:#fff!important;color:#24516c!important;border:1px solid #b8d8e7!important;box-shadow:0 8px 18px rgba(45,140,200,.08)!important;padding:10px 15px!important;margin:0 6px 6px 0!important;}.vr-passport-extra{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px;padding-top:20px;border-top:1px solid #dbeaf0;color:#6f8797;}.vr-passport-extra .btn-small{font-size:14px!important;}.vr-passport-card .login_weixin{display:inline-flex;width:42px;height:42px;border-radius:50%;background:#e8f7ee!important;border:1px solid #bde3c7;box-shadow:0 10px 20px rgba(40,150,80,.08);}
.vr-passport-card .row{margin-left:0!important;margin-right:0!important;}.vr-passport-card [class*="col-"]{float:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;}.vr-passport-tabs{display:flex;gap:12px;margin:0 0 16px;}.vr-passport-tabs label{display:inline-flex!important;align-items:center;gap:7px;padding:9px 12px;border:1px solid #c7e0eb;border-radius:999px;background:#fff;color:#315b73;font-weight:700;}
@keyframes vrPassportFly{0%,100%{transform:translate(0,0) rotate(-7deg)}50%{transform:translate(18px,-10px) rotate(-3deg)}}
@media(max-width:980px){.vr-passport-links{display:none}.vr-passport-shell{grid-template-columns:1fr;width:min(720px,calc(100% - 28px));}.vr-passport-visual{min-height:auto;padding:38px 28px}.vr-passport-copy h1{font-size:42px}.vr-passport-scene{height:210px}.vr-passport-card{padding:28px 22px}.vr-passport-metrics{grid-template-columns:1fr 1fr 1fr}.vr-passport-actions .vr-passport-navbtn:first-child{display:none}}
@media(max-width:620px){.vr-passport-navinner{width:calc(100% - 24px)}.vr-passport-brand span:last-child{display:none}.vr-passport-shell{width:calc(100% - 22px);margin-top:18px}.vr-passport-visual{display:none}.vr-passport-card h2,.vr-passport-card h1,.vr-passport-card .title{font-size:28px!important}.vr-passport-card{border-radius:26px}.vr-passport-metrics{grid-template-columns:1fr}.vr-passport-actions{gap:6px}.vr-passport-navbtn{padding:9px 12px}}


/* v1.1 nav: add 3D object and article links, keep compact spacing */
.vr-passport-links{gap:20px!important;}
.vr-passport-navinner{width:min(1280px,calc(100% - 36px))!important;}
@media(max-width:1120px){.vr-passport-links{gap:14px!important;font-size:14px!important}.vr-passport-actions{gap:8px!important}.vr-passport-navbtn{padding:9px 13px!important}}


/* v1.2 register/findpwd: unified bright passport UI */
.vr-passport-register .vr-passport-shell,
.vr-passport-findpwd .vr-passport-shell{
  align-items:start;
}
.vr-passport-card-register,
.vr-passport-card-findpwd{
  margin-top:0;
}
.vr-passport-card-register .vr-passport-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
}
.vr-passport-card-register .vr-passport-tabs label{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid #c7e0eb;
  border-radius:999px;
  background:#fff;
  color:#315b73;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(45,140,200,.06);
}
.vr-passport-card .vr-passport-captcha-row,
.vr-passport-card .vr-passport-code-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 126px;
  gap:10px;
  align-items:center;
  margin:0 0 14px!important;
  width:100%!important;
  clear:both!important;
}
.vr-passport-card .vr-passport-captcha-row input,
.vr-passport-card .vr-passport-code-row input{
  margin:0!important;
}
.vr-passport-card .vr-passport-captcha-row img#captcha_img{
  width:126px!important;
  height:48px!important;
  object-fit:cover;
  cursor:pointer;
  border-radius:16px!important;
  border:1px solid #c7e0eb!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(45,140,200,.06)!important;
}
.vr-passport-card .vr-passport-code-row #send_btn{
  width:126px!important;
  height:48px!important;
  line-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#2d8cc8,#68b7e8)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 12px 26px rgba(45,140,200,.18)!important;
  padding:0!important;
  white-space:nowrap!important;
}
.vr-passport-register .vr-passport-field,
.vr-passport-findpwd .vr-passport-field{
  margin-bottom:14px!important;
}
.vr-passport-register .form-submit,
.vr-passport-findpwd #find_btn{
  margin-top:4px!important;
}
.vr-passport-steps{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 18px;
}
.vr-passport-steps>div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border:1px solid #cfe4ed;
  border-radius:18px;
  background:#fff;
  color:#6f8797;
  box-shadow:0 8px 18px rgba(45,140,200,.06);
}
.vr-passport-steps>div span{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#eef8fd;
  color:#2d8cc8;
  font-weight:900;
}
.vr-passport-steps>div strong{
  font-size:14px;
}
.vr-passport-steps>div.active{
  border-color:#8ccced;
  background:linear-gradient(135deg,#f8fcff,#edf8fe);
  color:#183449;
}
.vr-passport-steps>div.active span{
  background:linear-gradient(135deg,#2d8cc8,#68b7e8);
  color:#fff;
}
.vr-passport-register .vr-passport-extra,
.vr-passport-findpwd .vr-passport-extra{
  justify-content:space-between;
}
.vr-passport-register .email_show[style*="display:none"]{
  display:none!important;
}
@media(max-width:980px){
  .vr-passport-register .vr-passport-shell,
  .vr-passport-findpwd .vr-passport-shell{align-items:stretch;}
}
@media(max-width:620px){
  .vr-passport-card .vr-passport-captcha-row,
  .vr-passport-card .vr-passport-code-row{grid-template-columns:1fr;}
  .vr-passport-card .vr-passport-captcha-row img#captcha_img,
  .vr-passport-card .vr-passport-code-row #send_btn{width:100%!important;}
  .vr-passport-steps{grid-template-columns:1fr;}
}
