:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#334155;font-size:14px;line-height:1.6;background:#f6f8fc;--login-viewport-height:100vh}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 9% 48%,#eaf0fd88,transparent 56%),#f6f8fc}button,input{font:inherit}button,a,input{touch-action:manipulation}[hidden]{display:none!important}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a,button,input{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #a6bfff;outline-offset:3px}.login-header{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1320px;align-self:center;padding:calc(30px + env(safe-area-inset-top,0px)) calc(46px + env(safe-area-inset-right,0px)) 18px calc(46px + env(safe-area-inset-left,0px))}.login-brand{display:flex;align-items:center;gap:11px;color:#22334f;font-size:24px;font-weight:720;letter-spacing:-.8px;text-decoration:none;min-height:44px}.login-brand-mark{display:flex;align-items:center;justify-content:center;width:41px;height:43px;background:#223149;color:#fff;border-radius:12px;font-size:25px;letter-spacing:-3px;padding-right:3px}.login-brand>span:last-child>span{display:block;font-size:8px;letter-spacing:2.8px;color:#64748b;font-weight:600;line-height:1.1;margin-top:2px}.header-tag{font-size:12px;color:#64748b;border:1px solid #e0e7f1;background:#ffffffc9;padding:7px 11px;border-radius:7px}.login-layout{width:100%;max-width:1110px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,438px);gap:74px;align-items:center;padding:46px 45px 50px;min-width:0}.welcome-panel{min-width:0;padding:17px 0}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;color:#6c82a6}.welcome-panel h1{margin:15px 0 18px;font-size:43px;line-height:1.3;letter-spacing:-1.8px;color:#253956;font-weight:690}.welcome-intro{font-size:14px;line-height:1.9;color:#64748b;margin:0}.welcome-decoration{position:relative;height:211px;margin:31px 0 24px;max-width:380px}.decoration-grid{position:absolute;inset:0 -15px 0 -20px;background-image:linear-gradient(#dce5f14d 1px,transparent 1px),linear-gradient(90deg,#dce5f14d 1px,transparent 1px);background-size:28px 28px;border-radius:22px;mask-image:radial-gradient(ellipse,#000 26%,transparent 75%)}.decoration-card{position:absolute;display:flex;align-items:center;gap:13px;padding:17px 19px;border:1px solid #e4ebf7;background:#ffffffee;border-radius:12px;box-shadow:0 10px 25px #2c4d8510;width:290px}.decoration-card-one{top:20px;left:1px;transform:rotate(-4deg)}.decoration-card-two{top:112px;left:38px;transform:rotate(3deg)}.decoration-card>span{display:flex;width:36px;height:36px;background:#edf3ff;border-radius:9px;align-items:center;justify-content:center;color:#567bc4;font-size:24px;flex:none}.decoration-card strong{display:block;font-size:13px;font-weight:600;color:#536b90}.decoration-card small{display:block;font-size:11px;color:#7b8ca5;margin-top:3px}.decoration-card i{font-size:13px;font-style:normal;color:#4b9d7c;background:#edf8f2;border-radius:50%;width:21px;height:21px;display:flex;align-items:center;justify-content:center;margin-left:auto;flex:none}.welcome-note{display:flex;gap:9px;align-items:flex-start;color:#64748b;font-size:12px;line-height:1.9}.welcome-note>span{font-size:19px;line-height:1.5;color:#718aac}.welcome-note p{margin:0}.login-card{padding:31px 32px 21px;background:#fff;border:1px solid #e2e9f4;border-radius:16px;box-shadow:0 12px 40px #284a7e08;min-width:0}.card-heading{display:flex;gap:12px;align-items:flex-start;margin-bottom:29px}.login-lock{width:40px;height:42px;display:flex;align-items:center;justify-content:center;flex:none;background:#eff4ff;border:1px solid #e6edfb;border-radius:10px;font-size:24px;color:#6b8ac7}.card-heading h2{font-size:21px;letter-spacing:-.4px;line-height:1.4;margin:1px 0 6px;color:#293b58;font-weight:660}.card-heading p{font-size:12px;color:#64748b;line-height:1.8;margin:0}.login-field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#526179;margin-bottom:20px;min-width:0}.login-field>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:550}.login-field small{font-size:11px;font-weight:400;color:#74849c;line-height:1.7}.login-field>small{margin-top:-2px}.login-field input{width:100%;min-width:0;height:46px;border:1px solid #dce4f0;border-radius:8px;padding:0 13px;color:#334155;background:#fff;outline:0;transition:border-color .15s,box-shadow .15s;font-size:14px}.login-field input::placeholder{color:#9ba8bd;font-size:12px}.login-field input:focus{border-color:#83a5ef;box-shadow:0 0 0 3px #3a70ec0c}.password-wrap{display:flex;align-items:center;position:relative;width:100%;min-width:0}.password-wrap input{padding-right:66px}.password-toggle{position:absolute;right:2px;top:1px;height:44px;min-width:54px;border:0;background:transparent;color:#6480ad;font-size:12px;border-radius:6px}.password-toggle:hover{background:#f7faff;color:#3b64aa}#code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:9px;font-size:19px}#code::placeholder{font-size:19px;color:#adb9cc}.login-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:46px;border:1px solid transparent;background:#2f63ed;color:white;font-size:14px;font-weight:600;border-radius:8px;box-shadow:0 3px 9px #2f63ed13;margin-top:7px}.login-button:hover:not(:disabled){background:#2757d7}.login-button>span{font-size:18px;font-weight:400}.form-note{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.8;color:#7b8aa1;margin:13px 0 0;justify-content:center}.form-note>span{font-size:15px}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #edf1f7;padding-top:18px;margin-top:26px;color:#8b99af;font-size:10px}.login-state{display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px;line-height:1.8;padding:27px 5px;color:#64748b}.loading-dot{width:7px;height:7px;background:#86a5de;border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.login-message{padding:12px 13px;border:1px solid #efdce2;border-radius:8px;background:#fff5f6;color:#b04455;font-size:12px;line-height:1.9;margin-bottom:21px;overflow-wrap:anywhere}.login-message.warning{background:#fff9ee;border-color:#f0e2c5;color:#87601f}.login-message.success{background:#edf8f2;border-color:#dceee3;color:#247252}.refresh-button{width:100%;min-height:44px;border:1px solid #dce5f2;background:#f8faff;border-radius:8px;font-size:13px;color:#5573a4;margin-top:8px}.refresh-button:hover{background:#f0f5ff}.setup-required h3{font-size:16px;color:#465d80;margin:0 0 11px}.setup-required p{font-size:12px;color:#64748b;line-height:1.9;overflow-wrap:anywhere;margin:9px 0}.setup-command{padding:12px 13px;margin:14px 0;background:#f6f8fc;border:1px solid #e6ecf5;border-radius:8px;min-width:0}.setup-command>span{font-size:10px;color:#7184a4;display:block;margin-bottom:6px}.setup-command code{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;color:#486389;font-size:11px;line-height:1.9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.login-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1320px;width:100%;align-self:center;padding:20px calc(46px + env(safe-area-inset-right,0px)) calc(26px + env(safe-area-inset-bottom,0px)) calc(46px + env(safe-area-inset-left,0px));font-size:11px;color:#8290a7;line-height:1.8}@keyframes pulse{50%{opacity:.35}}@media(max-width:1100px){.login-layout{gap:45px;max-width:980px;padding:37px 35px 45px;grid-template-columns:minmax(0,1fr) minmax(0,410px)}.welcome-panel h1{font-size:36px}.login-header{padding-left:calc(30px + env(safe-area-inset-left,0px));padding-right:calc(30px + env(safe-area-inset-right,0px))}.welcome-decoration{height:190px;max-width:310px}.decoration-card{width:252px;padding:16px}.decoration-card-two{left:15px;top:107px}.welcome-note{font-size:12px;color:#526179}.welcome-intro{font-size:14px;color:#526179}.login-card{padding:28px}.login-field input{font-size:16px;min-height:48px}.login-field input::placeholder{font-size:14px}.login-field{font-size:14px}.login-field small{font-size:12px;color:#526179}.card-heading p{font-size:13px;color:#526179}.form-note{font-size:12px;color:#526179}.card-footer{font-size:12px;color:#64748b}.login-message{font-size:13px}.login-footer{font-size:12px;padding-left:calc(30px + env(safe-area-inset-left,0px));padding-right:calc(30px + env(safe-area-inset-right,0px));color:#64748b}.header-tag{font-size:12px;color:#526179}.setup-required p{font-size:13px;color:#526179}.setup-command>span,.setup-command code{font-size:12px}.password-toggle{font-size:13px;min-height:46px;min-width:58px}.login-button{min-height:48px;font-size:15px}.refresh-button{min-height:46px;font-size:14px}.card-heading h2{font-size:22px}}
@media(max-width:850px){.login-layout{grid-template-columns:minmax(0,1fr);max-width:530px;gap:0;padding:20px 30px 35px}.welcome-panel{padding:0 0 25px}.welcome-panel h1{font-size:30px;letter-spacing:-1px;margin:10px 0 11px}.welcome-panel h1 br{display:none}.welcome-intro{font-size:13px;line-height:1.9}.welcome-intro br{display:none}.welcome-decoration,.welcome-note{display:none}.eyebrow{font-size:10px}.login-header{padding-top:calc(21px + env(safe-area-inset-top,0px));padding-bottom:20px}.login-card{padding:28px 27px 22px}.card-heading{margin-bottom:25px}.login-footer{justify-content:center;flex-wrap:wrap;gap:4px 18px}.login-header{gap:15px}.login-brand{font-size:23px}.header-tag{font-size:11px;padding:6px 9px}}
@media(max-width:599px){.login-header{padding:calc(17px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) 19px calc(20px + env(safe-area-inset-left,0px))}.login-brand{font-size:22px;gap:9px}.login-brand-mark{width:35px;height:38px;font-size:23px;border-radius:10px}.login-brand>span:last-child>span{font-size:7px;letter-spacing:2.5px}.header-tag{font-size:10px;line-height:1.7;max-width:130px}.login-layout{max-width:490px;padding:16px calc(17px + env(safe-area-inset-right,0px)) 30px calc(17px + env(safe-area-inset-left,0px))}.welcome-panel{padding-bottom:23px}.welcome-panel h1{font-size:28px}.welcome-intro{font-size:13px}.login-card{padding:24px 20px 21px;border-radius:13px}.card-heading{gap:10px;margin-bottom:24px}.card-heading h2{font-size:21px}.card-heading p{font-size:12px}.login-lock{width:37px;height:40px;font-size:23px}.login-field{gap:9px;margin-bottom:20px}.login-field input{height:49px;font-size:16px;padding:0 12px}.password-wrap input{padding-right:65px}.password-toggle{height:47px}.login-field small{font-size:12px}.login-message{font-size:13px;padding:11px 12px}.login-button{min-height:49px;font-size:15px}.form-note{font-size:11px;line-height:1.9;align-items:flex-start;margin-top:15px}.form-note>span{flex:none;line-height:1.5}.card-footer{font-size:11px;padding-top:17px;margin-top:23px}.login-footer{font-size:11px;padding:14px calc(20px + env(safe-area-inset-right,0px)) calc(22px + env(safe-area-inset-bottom,0px)) calc(20px + env(safe-area-inset-left,0px));text-align:center}.setup-required p{font-size:13px}.setup-command{padding:11px 12px}.setup-command code{font-size:12px}.welcome-panel .eyebrow{font-size:9px;letter-spacing:1.4px}}
@media(pointer:coarse){button,a{min-height:44px}.login-field input{font-size:16px;min-height:48px}.login-button,.refresh-button{min-height:48px}.password-toggle{min-height:46px;min-width:58px}.login-brand{min-height:44px}}
@media(orientation:landscape) and (max-height:650px){.login-header{padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:12px}.login-layout{margin:0 auto;padding-top:12px;padding-bottom:24px;gap:22px;max-width:980px;grid-template-columns:minmax(0,1fr) minmax(0,420px)}.welcome-panel h1{font-size:29px}.welcome-panel h1 br{display:block}.welcome-panel{align-self:start;padding-top:25px}.welcome-intro{font-size:13px}.welcome-decoration,.welcome-note{display:none}.login-card{padding:23px}.login-footer{padding-top:10px;padding-bottom:calc(15px + env(safe-area-inset-bottom,0px))}.card-heading{margin-bottom:23px}}
@media(max-width:650px) and (orientation:landscape) and (max-height:650px){.login-layout{grid-template-columns:minmax(0,1fr);max-width:490px;gap:0}.welcome-panel{padding-top:0;padding-bottom:18px}.welcome-panel h1 br{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.login-fixture-banner{position:sticky;top:0;z-index:1000;width:100%;padding:calc(12px + env(safe-area-inset-top,0px)) calc(20px + env(safe-area-inset-right,0px)) 12px calc(20px + env(safe-area-inset-left,0px));display:flex;align-items:center;justify-content:center;gap:8px 16px;flex-wrap:wrap;background:#fff0bd;border-bottom:2px solid #db8a09;color:#743d00;font-size:13px;line-height:1.8}.login-fixture-banner strong{font-size:15px;color:#903600}.login-fixture-banner span{overflow-wrap:anywhere}@media(max-width:599px){.login-fixture-banner{align-items:flex-start;justify-content:flex-start;flex-direction:column;font-size:12px;gap:2px}.login-fixture-banner strong{font-size:14px}}
