@import url("./theme.css?v=20260512");
:root{--bg:var(--wf-login-bg-base,#e8f0ff);--panel:var(--wf-login-panel-bg,#ffffff);--txt:var(--wf-text,#123056);--muted:var(--wf-text-muted,#5a7097);--line:var(--wf-border,#d2dcf0);--brand:var(--wf-primary-strong,#0f3b7a);--brand-soft:var(--wf-primary-soft,#edf3ff)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:"Segoe UI",Tahoma,sans-serif;color:var(--txt);background:radial-gradient(circle at 10% 10%,var(--wf-login-bg-light,#f7fbff) 0,var(--wf-login-bg-base,#e8f0ff) 44%,var(--wf-login-bg-dark,#dbe8ff) 100%)}
.wrap{min-height:100vh;display:grid;place-items:center;padding:22px}
.shell{width:min(1260px,100%);border-radius:28px;overflow:hidden;background:var(--panel);box-shadow:0 20px 56px rgba(13,45,92,.18);display:grid;grid-template-columns:minmax(420px,1fr) 1.15fr}
.auth{padding:42px 36px 34px}
.logo{display:block;width:270px;max-width:100%;height:auto;margin:0 auto 30px}
.box{max-width:430px}
.box h2{margin:0 0 4px;font-size:38px;font-weight:700;letter-spacing:-.2px;color:var(--wf-login-title,#17315b)}
.muted{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.4}
.error{background:#fff1f2;border:1px solid #fecdd3;color:#b91c1c;border-radius:12px;padding:10px 12px;font-weight:700;font-size:13px;margin-bottom:12px}
.label{display:block;font-size:14px;font-weight:600;margin:10px 0 8px;color:#26406a}
.control{width:100%;height:50px;border-radius:12px;border:1px solid #b9cce9;background:#f7faff;padding:0 14px;font-size:16px;color:#1a335a}
.control:focus{outline:none;border-color:#5c8ed8;box-shadow:0 0 0 3px rgba(57,113,198,.18)}
.captcha-box{margin-top:14px;padding:14px;border:1px solid #c3d8f5;border-radius:18px;background:linear-gradient(180deg,#fbfdff 0%,#eef6ff 100%);box-shadow:0 10px 28px rgba(29,78,139,.08)}
.captcha-box .label{margin:0 0 2px;color:#173b70}
.captcha-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.captcha-box small{display:block;color:#60789f;font-size:12px}
.captcha-badge{flex:0 0 auto;border-radius:999px;padding:5px 9px;background:#e9f8ef;border:1px solid #b7ebc6;color:#166534;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.35px}
.captcha-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:12px}
.captcha-art{width:160px;height:62px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 8px 18px rgba(15,59,122,.12)}
.captcha-svg{display:block;width:160px;height:62px}
.captcha-input{height:48px;text-transform:uppercase;font-weight:800;letter-spacing:2px;text-align:center}
.btn{width:100%;margin-top:16px;height:50px;border:0;border-radius:999px;background:var(--brand);color:#fff;font-size:16px;font-weight:700;letter-spacing:.2px;cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.foot{margin-top:14px;text-align:center;color:#6a7f9f;font-size:13px}
.hero{position:relative;display:flex;align-items:flex-start;justify-content:center;padding:26px 32px 32px;background:linear-gradient(145deg,var(--wf-login-hero-start,#0b3b7f) 0%,var(--wf-login-hero-mid,#1d58a6) 40%,var(--wf-login-hero-end,#84aee8) 100%)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 18%,rgba(255,255,255,.35),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.22))}
.hero-card{position:relative;z-index:1;max-width:560px;margin-top:10px;background:var(--wf-login-hero-card-bg,rgba(7,23,49,.68));border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(2px);border-radius:24px;padding:24px 24px 20px;color:#f1f7ff}
.chip{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.8px;border-radius:999px;padding:6px 10px;background:#e6f0ff;color:#16407b}
.hero h1{margin:12px 0 8px;font-size:36px;line-height:1.14;font-weight:700}
.hero p{margin:0;font-size:16px;line-height:1.45;color:#d8e6ff}
.list{margin:14px 0 0;padding-left:18px}
.list li{font-size:14px;line-height:1.5;color:#e6efff;margin-bottom:6px}
.login-loading{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:var(--wf-overlay-dark,rgba(8,24,48,.48));backdrop-filter:blur(2px);z-index:9999}
.login-loading.is-visible{display:flex}
.login-loading-card{min-width:250px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 24px;border-radius:18px;border:1px solid rgba(255,255,255,.35);background:rgba(8,29,60,.86);box-shadow:0 18px 46px rgba(6,20,41,.45)}
.login-loading-card p{margin:0;color:#eaf2ff;font-size:14px;font-weight:600;letter-spacing:.2px}
.login-loading-card .wf-n-loader{position:relative;width:84px;height:84px;display:grid;place-items:center}
.login-loading-card .wf-n-main{font-size:62px;line-height:1;font-weight:900;font-style:italic;background:linear-gradient(115deg,#1790c8 0%,#0b5d95 42%,#f2a33b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:wfNPulse 1.05s ease-in-out infinite}
.login-loading-card .wf-n-glow{position:absolute;inset:4px;border-radius:999px;border:3px solid #1c76be;border-top-color:#f2a33b;opacity:.92;animation:wfNSpin .85s linear infinite}
@keyframes wfNSpin{to{transform:rotate(360deg)}}
@keyframes wfNPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,255,255,.08))}
  50%{transform:scale(1.07);filter:drop-shadow(0 2px 8px rgba(139,188,255,.38))}
}
@media (max-width: 1060px){
  .shell{grid-template-columns:1fr}
  .hero{min-height:280px}
}
@media (max-width: 820px){
  .auth{padding:28px 24px}
  .logo{width:250px;margin-bottom:22px}
  .box h2{font-size:32px}
  .muted{font-size:14px}
  .hero-card{padding:18px}
  .hero h1{font-size:30px}
  .hero p{font-size:15px}
}
@media (max-width: 640px){
  .wrap{padding:12px}
  .auth{padding:24px 18px}
  .box h2{font-size:30px}
  .logo{width:240px}
  .captcha-head{flex-direction:column}
  .captcha-row{grid-template-columns:1fr}
  .captcha-art,.captcha-svg{width:100%;height:auto;min-height:58px}
  .btn{width:100%}
  .hero{padding:16px}
  .hero h1{font-size:28px}
}
