/* Full-screen login workspace */
:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#172640;background:#fff;color-scheme:light;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100%}button,input{font:inherit}a{text-decoration:none;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}.login-shell{display:grid;grid-template-columns:55% 45%;min-height:100vh;min-height:100svh;width:100%;isolation:isolate}.intro{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;min-height:100svh;padding:clamp(30px,4.2vw,80px) clamp(32px,5vw,96px);color:#fff;background:radial-gradient(ellipse at 95% 10%,#2953a665,transparent 58%),radial-gradient(ellipse at 0 100%,#402e9c65,transparent 60%),linear-gradient(130deg,#0c1833,#122c54 70%,#173566)}.intro:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 97%,#ffffff04)}.ambient-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#b4d5ff06 1px,transparent 1px),linear-gradient(90deg,#b4d5ff06 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(135deg,transparent,#000 55%,transparent)}.visual-mark{position:absolute;width:clamp(300px,35vw,660px);right:-14%;top:28%;opacity:.12;transform:rotate(-13deg);pointer-events:none;filter:saturate(.8)}.visual-mark img{width:100%;height:auto;display:block}.wordmark,.intro-content,.intro-footer{position:relative;z-index:1}.wordmark{align-self:flex-start;display:flex;align-items:center;gap:15px;font-size:25px;font-weight:600;letter-spacing:3px}.logo{width:48px;height:48px;display:grid;place-items:center;flex-shrink:0}.logo img{display:block;width:48px;height:48px;object-fit:contain}.intro-content{margin:70px 0 90px;max-width:620px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:500;letter-spacing:2.3px;color:#9fb9df}.eyebrow:before{content:"";width:6px;height:6px;background:#62d7ff;box-shadow:0 0 15px #62d7ff60;flex-shrink:0}.intro h1{font-size:clamp(44px,4.2vw,80px);font-weight:650;line-height:1.3;letter-spacing:-1.5px;margin:30px 0 25px}.intro h1 span{background:linear-gradient(100deg,#a8d5ff,#d8d1ff);background-clip:text;-webkit-background-clip:text;color:transparent}.intro-content p{font-size:15px;line-height:2;color:#9fb3d1;margin:0}.intro-footer{display:flex;flex-wrap:wrap;align-items:center;gap:22px;justify-content:space-between;font-size:11px;color:#7f98bd}.feature-list{display:flex;gap:22px;color:#9fb3d1}.feature-list span{display:flex;align-items:center;gap:7px}.feature-list span:before{content:"";width:3px;height:3px;background:#668bbd}.login-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px clamp(32px,5vw,96px);background:#fff;min-width:0}.login-content{width:100%;max-width:400px;margin:auto 0;padding:48px 0}.panel-caption{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:#427cda;letter-spacing:1px}.panel-caption:before{content:"";width:18px;height:1px;background:currentColor}.login-panel h2{font-size:32px;line-height:1.4;margin:14px 0 12px;font-weight:650;letter-spacing:-.5px}.subtitle{color:#929aaa;font-size:13px;line-height:1.8;margin:0 0 42px}form label{display:block;font-size:13px;font-weight:500;color:#4a5770;margin:24px 0 10px}input{width:100%;height:54px;border:1px solid #e1e7ef;border-radius:9px;padding:0 16px;outline:none;background:#fafbfd;color:#22314d;font-size:14px;transition:border-color .18s,box-shadow .18s,background .18s}input:focus{border-color:#4c8bea;box-shadow:0 0 0 3px #408be910;background:#fff}input::placeholder{color:#a9b2c1;font-size:13px}.password-field{position:relative}.password-field input{padding-right:68px}.password-field button{position:absolute;right:10px;top:10px;height:34px;padding:0 8px;background:none;border:0;color:#8a96a9;cursor:pointer;font-size:12px}.password-field button:hover{color:#347de2}.submit{height:54px;width:100%;margin-top:32px;background:linear-gradient(100deg,#347fe3,#4265df);color:white;border:0;border-radius:9px;cursor:pointer;font-size:14px;font-weight:500;letter-spacing:2px;box-shadow:0 8px 20px #386de021;transition:filter .18s,box-shadow .18s}.submit:hover{filter:brightness(1.07);box-shadow:0 10px 25px #386de030}.submit:focus-visible,.password-field button:focus-visible,.wordmark:focus-visible{outline:2px solid #67a9ff;outline-offset:5px}.submit:disabled{opacity:.6;cursor:wait}.session-note{font-size:11px;color:#a0a8b5;text-align:center;line-height:1.8;margin-top:20px}.error{color:#bd4545;background:#fff3f3;border:1px solid #f5dede;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.6;margin-bottom:0}.login-panel footer{font-size:11px;letter-spacing:.5px;color:#a5adba;text-align:center;margin-top:24px}
@media(min-width:1600px){.login-content{max-width:420px}.login-panel h2{font-size:36px}.intro-content p{font-size:16px}}
@media(max-width:1000px){.login-shell{grid-template-columns:48% 52%}.intro{padding:40px 32px}.intro h1{font-size:44px}.intro-content p{font-size:13px}.eyebrow{font-size:8px;letter-spacing:1px}.feature-list{gap:15px}.intro-footer{gap:16px}.login-panel{padding:40px 36px}.login-panel h2{font-size:28px}}
@media(max-width:700px){.login-shell{grid-template-columns:1fr}.intro{min-height:0;padding:28px 26px 30px}.wordmark{font-size:20px;gap:11px}.logo,.logo img{width:37px;height:37px}.intro-content{margin:32px 0 0}.eyebrow{font-size:8px;letter-spacing:1.5px}.intro h1{font-size:36px;margin:18px 0 12px;line-height:1.25;letter-spacing:0}.intro h1 br{display:none}.intro h1 span{display:inline-block}.intro-content p{font-size:12px;line-height:1.8}.intro-content p br{display:none}.intro-footer{display:none}.visual-mark{width:260px;right:-70px;top:5px;opacity:.1}.login-panel{min-height:0;padding:32px 26px 24px}.login-content{max-width:440px;margin:0;padding:0}.login-panel h2{font-size:25px;margin:10px 0}.subtitle{margin-bottom:24px}.login-panel footer{margin-top:30px}form label{margin-top:20px}input,.submit{height:50px}.password-field button{top:8px}.submit{margin-top:26px}}
@media(prefers-reduced-motion:reduce){input,.submit{transition:none}}

.password-field button{width:38px;display:grid;place-items:center;border-radius:6px;padding:7px}.password-field button svg{width:21px;height:21px;display:block}.password-field button .eye-slash{display:none}.password-field button[aria-pressed="true"] .eye-slash{display:block}.password-field button:hover{background:#edf3fc}
