:root{--navy:#102b3b;--deep:#0a202d;--lime:#d6f368;--ink:#142f3c;--muted:#657780;--line:#dce4e7;--surface:#f7fafb;--error:#b63c42;--radius:10px;color-scheme:light;font-size:16px}
*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;flex-direction:column;background:#edf3f5;color:var(--ink);font-family:"Manrope","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:1rem;line-height:1.6}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,figure{margin:0}img{display:block;max-width:100%}button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #80b4d0;outline-offset:4px}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.skip-link{position:absolute;left:20px;top:-100px;padding:10px 20px;background:var(--lime);z-index:20;border-radius:6px}.skip-link:focus{top:14px}
.page-header{width:calc(100% - 64px);max-width:1040px;margin:0 auto;padding:28px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{height:46px;width:46px;flex:none}.brand-copy{display:flex;flex-direction:column;gap:6px;line-height:1}.brand-copy strong{font-family:Arial,sans-serif;font-size:23px;font-weight:800;letter-spacing:.1em}.brand-copy>span{font-size:12px;color:#516770;letter-spacing:.07em}.header-meta{display:flex;align-items:center;gap:20px;color:#687d86;font-size:14px}.preview-badge{border:1px solid #cad8de;padding:4px 10px;border-radius:5px;font-size:12px;color:#4e6671;background:#f5f8fa}.page-main{padding:16px 32px;min-height:0;flex:1;display:flex;align-items:center;justify-content:center}.login-shell{width:1040px;max-width:100%;display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:580px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 24px 75px -28px #13374c35,0 1px 0 #fff9;border:1px solid #fff9}.brand-panel{position:relative;isolation:isolate;background:var(--navy);color:#fff;overflow:hidden;min-width:0}.brand-backdrop{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:56% center;z-index:-2;opacity:.58}.brand-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,32,45,.48) 0%,rgba(10,32,45,.70) 28%,#102b3bf5 65%,#102b3b 100%)}.brand-content{height:100%;padding:36px 40px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;position:relative}.origin-label{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.13em;font-weight:600;color:#e2eee7;line-height:1.5}.label-line{height:2px;width:22px;background:var(--lime);flex:none}.brand-intro{margin-top:28px}.system-kicker{font-size:12px;letter-spacing:.17em;color:#becfd0;margin-bottom:13px}.brand-intro h1{font-size:clamp(2rem,3.2vw,2.56rem);font-weight:700;letter-spacing:.015em;line-height:1.32}.brand-intro h1 em{font-style:normal;color:var(--lime)}.brand-tagline{margin-top:15px;font-size:16px;color:#e0ecdf;font-weight:500;letter-spacing:.04em}.brand-description{margin-top:12px;font-size:14px;color:#c4d3d5;line-height:1.95}.module-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.module-list li{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid #c3d8d52b;border-radius:7px;background:#ffffff08;font-size:13px;line-height:1.4;color:#d8e6e7;white-space:nowrap}.module-list .icon{width:16px;height:16px;stroke-width:1.6;color:#d6f368}.brand-matrix{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:28px;padding-top:0}.brand-matrix>div{height:48px;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#fff;padding:9px 13px}.brand-matrix img{height:auto;width:auto;max-width:100%;max-height:100%;object-fit:contain}.brand-panel-footer{margin-top:0;padding-top:20px;display:flex;justify-content:space-between;gap:16px;font-size:11px;letter-spacing:.08em;color:#aac0c4}.brand-panel-footer span:last-child{color:#cedcd6;letter-spacing:.1em}
.form-panel{min-width:0;display:flex;align-items:center;justify-content:center;padding:32px 46px;background:#fff}.form-content{width:100%;max-width:378px}.form-eyebrow{font-family:Arial,sans-serif;font-size:11px;line-height:1.4;font-weight:700;letter-spacing:.17em;color:#658378;margin-bottom:6px}.form-heading h2{font-size:28px;line-height:1.3;font-weight:700;letter-spacing:.015em}.form-heading>p:last-child{font-size:14px;line-height:1.6;color:var(--muted);margin-top:7px}.form-heading{margin-bottom:20px}.field-group{margin-bottom:14px}.field-group>label{display:block;font-size:14px;line-height:1.4;color:#344e5b;font-weight:500;margin-bottom:6px}.input-wrap{position:relative}.input-wrap input{width:100%;height:50px;border:1px solid var(--line);background:#f9fbfc;border-radius:var(--radius);padding:0 45px;font-size:15px;color:var(--ink);transition:border-color .18s,box-shadow .18s,background .18s}.input-wrap input::placeholder{color:#8b9ca5;font-size:14px}.input-wrap input:hover{border-color:#a9bec6}.input-wrap input:focus{background:#fff;border-color:#497c8a;box-shadow:0 0 0 3px #548b9414;outline:none}.input-wrap input[aria-invalid="true"]{border-color:var(--error);background:#fffbfb}.field-icon{position:absolute;top:15px;left:16px;pointer-events:none;color:#82969f;width:19px;height:19px}.password-toggle{position:absolute;right:4px;top:4px;width:43px;height:43px;background:transparent;border:0;color:#7d939c;display:grid;place-items:center;border-radius:7px}.password-toggle:hover{background:#e9f0f3;color:var(--navy)}.password-toggle .icon{width:19px;height:19px}.field-error{display:block;color:var(--error);font-size:13px;line-height:1.5}.field-error:not(:empty){margin-top:6px}.form-options{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:14px 0 16px;font-size:14px}.remember-label{display:flex;align-items:center;gap:8px;color:#617780;cursor:pointer;min-height:24px}.remember-label input{width:16px;height:16px;margin:0;accent-color:var(--navy);cursor:pointer}.text-button{border:0;background:none;font-size:14px;color:#416e78;padding:2px 0}.text-button:hover{color:var(--deep);text-decoration:underline;text-underline-offset:4px}.submit-button{width:100%;min-height:50px;padding:11px 20px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:var(--radius);display:flex;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:600;letter-spacing:.05em;transition:background .18s,box-shadow .18s}.submit-button:hover:not(:disabled){background:#1c4659;box-shadow:0 5px 16px #17374c18}.submit-button:active:not(:disabled){background:#0a202d}.submit-button:disabled{cursor:wait;opacity:.75}.role-note{display:flex;justify-content:center;align-items:flex-start;gap:6px;font-size:12px;line-height:1.6;color:#81939b;margin-top:13px}.role-note .icon{width:16px;height:16px;margin-top:2px;color:#76928b}.form-status{margin-top:15px;padding:10px 13px;border:1px solid #cadbd9;background:#f0f7f4;color:#345f58;font-size:13px;border-radius:7px;line-height:1.7}.form-status.error{border-color:#ebc7c9;background:#fff7f7;color:var(--error)}.preview-notice{margin-top:20px;padding-top:16px;border-top:1px solid #e8edef;display:flex;align-items:flex-start;gap:11px}.notice-label{font-size:11px;line-height:1.6;background:#eef4df;color:#557040;padding:3px 7px;border-radius:4px;white-space:nowrap;margin-top:1px}.preview-notice p{font-size:12px;color:#82959d;line-height:1.7}.button-spinner{height:17px;width:17px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mobile-origin{display:none}
.page-footer{width:calc(100% - 64px);max-width:1040px;margin:0 auto;padding:20px 0 24px;color:#82949c;font-size:12px;display:flex;justify-content:space-between;gap:20px}.page-footer>div{display:flex;align-items:center;gap:15px}.footer-divider{width:1px;height:12px;background:#cbd8dd}.page-footer a{color:#597582}.page-footer a:hover{text-decoration:underline;text-underline-offset:4px}.help-dialog{border:0;border-radius:18px;padding:34px;width:390px;max-width:calc(100% - 40px);color:var(--ink);box-shadow:0 24px 100px #0a202d45}.help-dialog::backdrop{background:#0a202d80;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:14px;border:0;background:#f0f4f6;border-radius:7px;color:#607983;width:34px;height:34px;font-size:24px;line-height:1}.dialog-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#eff4e1;color:#46644d;margin-bottom:20px}.help-dialog h2{font-size:23px;line-height:1.45}.help-dialog p{margin:14px 0 25px;color:var(--muted);font-size:15px;line-height:1.8}
@media(max-width:1270px){.page-header,.page-footer{margin-inline:auto}.brand-content{padding-inline:34px}.form-panel{padding-inline:37px}.brand-intro h1{font-size:39px}.module-list{gap:10px 13px}.module-list li{font-size:12px}.desktop-break{display:none}}
@media(max-width:960px){.page-header{padding-top:25px;padding-bottom:24px}.header-meta>span:first-child{display:none}.page-main{min-height:0;padding-inline:24px}.page-header,.page-footer{width:calc(100% - 48px);margin-inline:auto}.login-shell{grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:580px}.brand-content{padding:30px 27px}.origin-label{font-size:10px;letter-spacing:.06em;gap:8px}.brand-intro h1{font-size:32px}.brand-tagline{font-size:15px}.brand-description{font-size:13px}.module-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.brand-matrix{gap:7px}.brand-matrix>div{height:45px;padding:8px}.brand-panel-footer{font-size:10px;letter-spacing:0}.form-panel{padding:36px 29px}.form-heading h2{font-size:27px}.form-heading>p:last-child{font-size:13px}.form-heading{margin-bottom:20px}.preview-notice{gap:8px}.preview-notice p{font-size:11px}.role-note{font-size:11px}.page-footer{font-size:11px;gap:14px}.page-footer>div{gap:10px}}
@media(max-width:760px){body{background:#eef3f5}.page-header{width:calc(100% - 44px);padding:25px 0 23px;margin-inline:auto}.brand-mark{width:42px;height:42px}.brand-copy strong{font-size:21px}.brand-copy>span{font-size:11px}.preview-badge{font-size:10px;padding:3px 7px}.page-main{padding:0 20px;min-height:0;align-items:flex-start}.login-shell{display:block;max-width:450px;min-height:0;border-radius:17px}.brand-panel{display:none}.form-panel{display:block;padding:0}.mobile-origin{height:88px;position:relative;overflow:hidden;display:flex;align-items:center;padding:0 29px;background:var(--navy);color:#fff}.mobile-origin:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102b3bd9,#102b3b6b)}.mobile-origin img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;opacity:.68}.mobile-origin span{position:relative;z-index:1;font-size:14px;font-weight:500;letter-spacing:.06em}.form-content{padding:29px 28px 28px;max-width:100%}.form-heading h2{font-size:27px}.form-heading>p:last-child{font-size:14px}.form-eyebrow{margin-bottom:8px;font-size:10px}.form-heading{margin-bottom:24px}.field-group{margin-bottom:14px}.input-wrap input{height:52px;font-size:16px}.form-options{margin-top:21px;margin-bottom:22px}.role-note{font-size:12px}.preview-notice{margin-top:25px;padding-top:18px}.preview-notice p{font-size:11px}.page-footer{width:100%;margin:0 auto;max-width:450px;padding:24px 25px 25px;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:11px}.page-footer>div{justify-content:center}.footer-divider{height:10px}}
@media(max-width:359px){.page-header{width:calc(100% - 34px);margin-inline:auto}.brand-copy>span{font-size:10px}.header-meta{gap:0}.brand-copy strong{font-size:19px}.brand{gap:9px}.page-main{padding-inline:14px}.form-content{padding-inline:23px}.preview-notice{flex-direction:column;gap:7px}.role-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.captcha-row{display:flex;gap:8px;align-items:center}.captcha-row .input-wrap{flex:1;min-width:0}.captcha-row .input-wrap input{padding-right:14px}.captcha-img{height:50px;width:120px;flex:none;border:1px solid var(--line);border-radius:var(--radius);background:#f9fbfc;cursor:pointer;object-fit:contain}#errtips{margin:0 0 12px;color:var(--error);font-size:13px;line-height:1.6}#errtips:empty,#errtips.hide{display:none}
