/* 瀚迪统一登录：深色数字品牌面 + 温暖浅色登录面。 */
html{-webkit-text-size-adjust:100%}
.login-page{--login-orange:#f15a24;--login-ink:#55575a;--login-muted:#a4a0a0;--login-line:#e4dfd8;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,55fr) minmax(430px,45fr);align-items:stretch;padding:0;background:#f4f0e9;color:var(--login-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei','PingFang SC',sans-serif;overflow:hidden}
.login-visual{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;background:#050b10 url('/platform/login-globe.png') center/cover no-repeat;color:#fff;overflow:hidden}
.login-visual:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(2,7,11,.44),rgba(2,7,11,.05) 72%),linear-gradient(0deg,rgba(2,7,11,.22),transparent 45%)}
.login-brand-logo{position:absolute;top:clamp(30px,4.7vh,60px);left:clamp(38px,5vw,90px);width:clamp(96px,7.5vw,132px);height:auto;object-fit:contain}
.login-slogan{position:absolute;left:50%;top:50%;width:min(90%,760px);transform:translate(-50%,-49%);text-align:center}
.login-slogan h1{margin:0;white-space:nowrap;font-size:clamp(54px,4.7vw,92px);line-height:1.12;letter-spacing:-.058em;font-weight:740;color:#f2f3f3;text-shadow:0 2px 22px rgba(0,0,0,.34)}
.login-slogan h1 em{font-style:normal;color:var(--login-orange)}
.login-slogan h1 i{font-style:normal;color:#8e969d;font-weight:300;margin:0 .12em}
.login-slogan p{margin:30px 0 0;font-size:clamp(7px,.56vw,10px);letter-spacing:.23em;color:rgba(230,235,238,.46)}
.login-visual-foot{position:absolute;left:clamp(38px,5vw,90px);bottom:clamp(27px,4vh,52px);font-size:8px;letter-spacing:.27em;color:rgba(230,235,238,.37)}
.login-access{min-height:100vh;min-height:100dvh;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 45% 43%,#fffdfa 0,#f6f2ec 58%,#eee8e0 100%);padding:70px clamp(34px,5.5vw,92px) 82px}
.login-card{width:min(100%,420px);max-width:420px;background:rgba(255,253,249,.86);border:1px solid rgba(216,208,198,.9);border-radius:14px;padding:40px 39px 32px;box-shadow:0 26px 76px rgba(77,63,49,.11);backdrop-filter:blur(8px)}
.login-card-kicker{display:block;font-size:7px;letter-spacing:.24em;color:#c3bdb7}
.login-card h2{font-size:26px;font-weight:620;letter-spacing:-.035em;color:#737477;margin:12px 0 8px}
.login-card>p{font-size:9px;color:#bbb6b2;line-height:1.75;margin:0 0 24px}
.login-card .field{margin:15px 0}
.login-card .field>span{font-size:9px;font-weight:520;color:#a29d99;margin-bottom:7px}
.login-card .field input{height:46px;border:1px solid #ded8d0;border-radius:7px;background:rgba(255,255,255,.74);padding:11px 13px;color:#66676a;box-shadow:none}
.login-card .field input::placeholder{color:#bbb5b0}
.login-card .btn{width:100%;height:47px;margin-top:9px;border:0;border-radius:7px;background:var(--login-orange);color:#fff;font-size:12px;font-weight:650;justify-content:space-between;padding:0 17px;box-shadow:0 9px 22px rgba(241,90,36,.18)}
.login-card .btn:hover{background:#df4e1a}.login-card .btn:disabled{background:#d6a48f}
.login-message{border-top:1px solid #e8e2da;margin-top:24px;padding-top:17px;display:flex;flex-direction:column;gap:5px}
.login-message b{font-size:9px;font-weight:540;color:#9b9a9a}.login-message span{font-size:8px;color:#beb9b5;line-height:1.7}
.login-error{font-size:11px;line-height:1.6;color:#a34c35;background:#fff0e7;padding:9px;border-radius:5px;margin:10px 0}.login-error:empty{display:none}
.login-foot{position:absolute;left:clamp(34px,5.5vw,92px);right:clamp(34px,5.5vw,92px);bottom:25px;display:flex;justify-content:space-between;gap:20px;color:#c2bcb5;font-size:7px;letter-spacing:.07em}
@media(min-width:1800px){.login-card{max-width:450px;padding:44px 43px 35px}.login-card h2{font-size:28px}.login-slogan{width:min(88%,860px)}}
@media(max-width:980px){.login-page{grid-template-columns:minmax(0,1fr) minmax(390px,45fr)}.login-slogan h1{font-size:clamp(39px,5vw,55px)}.login-brand-logo{left:34px}.login-visual-foot{left:34px}.login-access{padding-left:30px;padding-right:30px}.login-card{padding:35px 30px 29px}}
@media(max-width:700px){.login-page{display:block;min-height:100dvh;overflow:auto;background:#f5f1ea}.login-visual{min-height:35vh;min-height:35dvh;background-position:center 46%}.login-visual:after{background:linear-gradient(90deg,rgba(2,7,11,.46),rgba(2,7,11,.08)),linear-gradient(0deg,rgba(2,7,11,.25),transparent)}.login-brand-logo{top:max(20px,env(safe-area-inset-top));left:22px;width:104px}.login-slogan{top:59%;width:94%}.login-slogan h1{font-size:clamp(32px,9.2vw,48px);letter-spacing:-.06em}.login-slogan p{margin-top:14px;font-size:7px;letter-spacing:.2em}.login-visual-foot{display:none}.login-access{min-height:65vh;min-height:65dvh;display:block;padding:28px 18px calc(56px + env(safe-area-inset-bottom))}.login-card{margin:0 auto;width:100%;max-width:430px;padding:29px 24px 25px;border-radius:12px;box-shadow:0 18px 55px rgba(77,63,49,.09)}.login-card h2{font-size:23px}.login-card>p{font-size:9px;margin-bottom:20px}.login-card .field input{font-size:16px}.login-card .btn{font-size:13px}.login-foot{position:static;max-width:430px;margin:20px auto 0;line-height:1.6}.login-foot span:last-child{display:none}}
@media(max-width:390px){.login-visual{min-height:31vh;min-height:31dvh}.login-access{min-height:69vh;min-height:69dvh;padding-top:22px}.login-slogan h1{font-size:31px}.login-card{padding:24px 20px 22px}.login-message{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.login-card .btn{transition:none}}
