.login-page{--login-blue:#2479d1;--login-blue-2:#54a8e8;--login-blue-deep:#0b3d7a;--login-ink:#25364a;--login-mute:#8493a5;--login-card:#fff;min-height:100dvh;color:var(--login-ink);font-family:var(--font-cn), var(--font-sans);background:radial-gradient(1200px 600px at 12% 18%,#54a8e847,#0000 60%),radial-gradient(900px 500px at 88% 12%,#2479d12e,#0000 55%),linear-gradient(135deg,#e8f3fc 0%,#f5f9fd 42%,#eef4fb 100%);position:relative;overflow:hidden}.login-page *{box-sizing:border-box}.login-ambient{pointer-events:none;background-image:linear-gradient(#2479d10a 1px,#0000 1px),linear-gradient(90deg,#2479d10a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 40% 40%,#000 30%,#0000 75%);mask-image:radial-gradient(at 40% 40%,#000 30%,#0000 75%)}.login-shell{z-index:1;grid-template-rows:auto 1fr auto;min-height:100dvh;padding:28px 40px 20px;display:grid;position:relative}.login-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand-mark{color:#fff;background:linear-gradient(145deg, var(--login-blue) 0%, #1a5fad 100%);border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px #2479d159}.login-brand-copy strong{letter-spacing:.02em;color:var(--login-ink);font-size:16px;font-weight:700;display:block}.login-brand-copy span{letter-spacing:.08em;text-transform:uppercase;color:var(--login-mute);margin-top:2px;font-size:11px;display:block}.login-top-meta{color:var(--login-mute);white-space:nowrap;font-size:13px}.login-top-meta b{color:var(--login-blue);font-weight:600}.login-main{grid-template-columns:minmax(0,1.45fr) minmax(360px,.9fr);align-items:center;gap:36px;padding:24px 0 16px;display:grid}.login-showcase{min-height:520px;padding:8px 8px 8px 4px;position:relative}.login-headline h1{letter-spacing:.01em;max-width:16em;color:var(--login-ink);font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.25}.login-headline p{max-width:36em;color:var(--login-mute);margin-top:14px;font-size:14px;line-height:1.75}.login-visual{background:linear-gradient(160deg,#0b3d7aeb 0%,#2479d1d9 48%,#54a8e8c7 100%);border:1px solid #2479d129;border-radius:18px;height:280px;margin-top:28px;position:relative;overflow:hidden;box-shadow:0 20px 48px #0f376e38,inset 0 1px #ffffff2e}.login-visual-grid{opacity:.35;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:36px 36px;animation:18s linear infinite login-grid-drift;position:absolute;inset:0}.login-visual-glow{filter:blur(40px);background:#78d2ff73;border-radius:50%;width:220px;height:220px;animation:5s ease-in-out infinite login-pulse;position:absolute;top:-40px;right:10%}.login-visual-glow.alt{background:#2479d18c;width:160px;height:160px;animation-delay:-2s;inset:auto auto -30px 8%}.login-visual-svg{width:100%;height:100%;position:absolute;inset:0}.login-visual-caption{z-index:2;color:#eaf4ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#081e3c73;border:1px solid #ffffff24;border-radius:999px;padding:8px 12px;font-size:12px;position:absolute;bottom:16px;left:18px}.login-caps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;display:grid}.login-cap{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border:1px solid #2479d11a;border-radius:14px;align-items:flex-start;gap:12px;padding:14px 14px 14px 12px;transition:transform .25s,box-shadow .25s;display:flex;box-shadow:0 4px 14px #0f376e0a}.login-cap:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f376e14}.login-cap-icon{width:36px;height:36px;color:var(--login-blue);background:linear-gradient(145deg,#e8f3fc,#d6e9fa);border-radius:10px;flex:none;place-items:center;display:grid}.login-cap strong{color:var(--login-ink);font-size:13px;font-weight:650;display:block}.login-cap span{color:var(--login-mute);margin-top:4px;font-size:12px;line-height:1.5;display:block}.login-panel{justify-content:center;align-items:center;display:flex}.login-card{background:var(--login-card);border:1px solid #2479d11a;border-radius:16px;width:min(100%,420px);padding:36px 34px 30px;animation:.55s both login-card-in;box-shadow:0 18px 48px #0f376e1a,0 2px 8px #0f376e0a}.login-card-head{margin-bottom:26px}.login-card-head h2{color:var(--login-ink);font-size:24px;font-weight:700}.login-card-head p{color:var(--login-mute);margin-top:8px;font-size:13px}.login-form{flex-direction:column;gap:16px;display:flex}.login-field label{color:var(--login-ink);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.login-input-wrap{align-items:center;display:flex;position:relative}.login-input-wrap .login-input-icon{color:var(--login-mute);pointer-events:none;position:absolute;left:14px}.login-input-wrap input{width:100%;height:50px;color:var(--login-ink);background:#f8fbfe;border:1px solid #8493a559;border-radius:12px;outline:none;padding:0 44px 0 42px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.login-input-wrap input::placeholder{color:#a8b4c3}.login-input-wrap input:hover{border-color:#2479d159}.login-input-wrap input:focus{border-color:var(--login-blue);background:#fff;box-shadow:0 0 0 3px #2479d126}.login-toggle-pass{width:36px;height:36px;color:var(--login-mute);border-radius:8px;place-items:center;display:grid;position:absolute;right:8px}.login-toggle-pass:hover{color:var(--login-blue);background:#2479d114}.login-row{justify-content:space-between;align-items:center;gap:12px;margin-top:2px;display:flex}.login-check{color:var(--login-mute);-webkit-user-select:none;user-select:none;cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.login-check input{width:15px;height:15px;accent-color:var(--login-blue);cursor:pointer}.login-hint{color:#a0adbd;font-size:12px}.login-error{color:#e11d48;min-height:20px;font-size:13px}.login-submit{color:#fff;letter-spacing:.18em;text-indent:.18em;background:linear-gradient(135deg, var(--login-blue) 0%, #1a66b8 100%);border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;height:50px;margin-top:4px;font-size:15px;font-weight:650;transition:filter .2s,transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 24px #2479d152}.login-submit:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 14px 28px #2479d161}.login-submit:disabled{cursor:wait;opacity:.85}.login-submit.is-loading{letter-spacing:.06em;text-indent:0}.login-spin{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite login-spin}.login-foot-note{color:var(--login-mute);text-align:center;border-top:1px solid #8493a52e;margin-top:18px;padding-top:16px;font-size:12px;line-height:1.6}.login-bottom{text-align:center;color:var(--login-mute);flex-direction:column;align-items:center;gap:6px;padding-top:8px;font-size:12px;display:flex}.login-bottom strong{color:#5f7085;font-weight:600}@keyframes login-card-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes login-spin{to{transform:rotate(360deg)}}@keyframes login-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@keyframes login-grid-drift{0%{transform:translateY(0)}to{transform:translateY(36px)}}@keyframes login-flow{0%{stroke-dashoffset:120px}to{stroke-dashoffset:0}}.login-flow-line{stroke-dasharray:6 10;animation:2.8s linear infinite login-flow}@media (max-width:1100px){.login-shell{padding:22px 24px 16px}.login-main{grid-template-columns:1fr;gap:20px}.login-showcase{min-height:auto}.login-visual{height:220px}.login-panel{order:-1}}@media (max-width:640px){.login-shell{padding:16px 14px 12px}.login-top-meta{display:none}.login-card{padding:28px 20px 22px}.login-caps{grid-template-columns:1fr}.login-headline h1{font-size:24px}}
