/* Login is a single continuous canvas; business pages keep their own styles. */
.workspace-login{background:#090f19;color:#e7e8e9}
.workspace-login .app-shell{min-height:100svh}
.workspace-login .main{background:#090f19;min-height:100svh;display:flex;flex-direction:column}
.workspace-login .content{max-width:none;width:100%;margin:0;padding:0!important;flex:1;display:flex}
.workspace-login footer{display:none}
.login-scene{isolation:isolate;position:relative;display:flex;flex-direction:column;min-height:100svh;width:100%;overflow:hidden;background:#090f19}
.login-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 25% 60%,#182a402b,transparent 65%),linear-gradient(115deg,#0a111c,#0c1421 50%,#080e18)}
.login-halo{position:absolute;border-radius:50%;pointer-events:none}
.halo-blue{width:1100px;height:1100px;left:-250px;bottom:-650px;background:radial-gradient(ellipse,#344b6429,transparent 66%)}
.halo-warm{width:950px;height:950px;right:-480px;top:-350px;background:radial-gradient(ellipse,#64434a1a,transparent 65%)}
.login-sculpture{position:absolute;width:1220px;max-width:none;height:auto;left:-130px;bottom:-210px;opacity:.65;transform-origin:50% 60%;animation:sculpture-drift 24s ease-in-out infinite alternate}
.login-horizon{position:absolute;left:0;right:0;bottom:0;height:230px;background:linear-gradient(transparent,#090f19c2)}
.login-masthead,.login-stage,.login-bottom{width:min(1440px,calc(100% - 144px));margin-left:auto;margin-right:auto}
.login-masthead{display:flex;justify-content:space-between;align-items:center;padding:40px 0 20px;position:relative;z-index:1}
.login-wordmark{display:flex;align-items:center;gap:24px;color:#f3f1ed;font:400 44px/1.2 Georgia,'Times New Roman',serif;letter-spacing:3px}
.login-wordmark:hover{color:#fff}
.login-wordmark span{font:400 11px/1.7 'Microsoft YaHei',sans-serif;letter-spacing:4px;color:#909aa9;border-left:1px solid #e6e9ee24;padding-left:24px}
.login-edition{display:flex;align-items:center;gap:17px;color:#7f899a;font-size:9px;letter-spacing:2px}
.edition-line{width:35px;height:1px;background:#b5bfcb38}
.login-stage{display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:clamp(70px,10vw,180px);align-items:center;flex:1;padding:45px 0 65px;position:relative;z-index:1}
.login-editorial{padding-bottom:60px;animation:login-arrive .8s ease both}
.login-kicker{display:flex;align-items:center;gap:13px;color:#949eae;font-size:9px;letter-spacing:3px;margin-bottom:32px;white-space:nowrap}
.login-kicker>span{width:28px;height:1px;background:#b1a095}
.login-editorial h1{font-family:'Noto Serif SC','Source Han Serif SC','Songti SC','SimSun',serif;font-size:clamp(64px,5.7vw,102px);font-weight:400;letter-spacing:5px;line-height:1.45;margin:0 0 29px;color:#eeeae4}
.login-editorial h1 span{color:#b7bfc9}
.login-intro{font-size:14px;color:#8e99aa;line-height:2.1;letter-spacing:2px;margin:0 0 40px}
.login-modules{display:flex;align-items:center;gap:20px;color:#c0c7d2;font-size:11px;letter-spacing:1px}
.login-modules i{width:1px;height:12px;background:#e5e9f42b}
.login-panel{position:relative;padding:35px 38px 23px;border-radius:21px;background:linear-gradient(145deg,#202a38d9,#111b29e8);border:1px solid #d5deee24;box-shadow:0 35px 100px #00000042,inset 0 1px #ffffff08;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:login-arrive .8s .08s ease both}
.login-panel:before{content:'';position:absolute;left:38px;right:38px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#d5d8de75,transparent);pointer-events:none}
.login-panel-top{display:flex;justify-content:space-between;align-items:center;color:#8490a3;font-size:9px;letter-spacing:2.5px;margin-bottom:29px}
.login-panel-mark{font-size:22px;font-weight:300;color:#9da8b9;line-height:1;letter-spacing:0}
.login-panel h2{font-size:29px;letter-spacing:1px;color:#eeece8;font-weight:500;line-height:1.5;margin-bottom:9px}
.login-panel-intro{color:#8f9aad;font-size:12px;margin-bottom:27px;line-height:1.8}
.login-form{display:grid;gap:10px}
.login-form label{color:#b8c0cc;font-size:11px;letter-spacing:.5px;margin:9px 0 0;font-weight:400}
.login-input-wrap{position:relative}
.login-input-wrap>svg{width:18px;height:18px;position:absolute;left:15px;top:17px;color:#738095;pointer-events:none}
.login-panel .input{width:100%;background:#0a1321a3;border:1px solid #c9d4e41f;min-height:53px;border-radius:8px;color:#e3e7ee;font-size:13px;padding:13px 16px 13px 44px;transition:border-color .2s,box-shadow .2s}
.login-panel .input::placeholder{color:#626f84;font-size:12px}
.login-panel .input:focus{outline:none;border-color:#a3aec170;box-shadow:0 0 0 3px #b1c0dc09}
.login-panel #id_password{padding-right:58px}
.login-panel input:-webkit-autofill,.login-panel input:-webkit-autofill:hover,.login-panel input:-webkit-autofill:focus{-webkit-text-fill-color:#e3e7ee;box-shadow:0 0 0 1000px #141e2d inset;caret-color:#e3e7ee;border-color:#c9d4e433}
.login-reveal{position:absolute;right:8px;top:9px;height:35px;padding:0 8px;background:none;border:0;border-radius:5px;color:#8490a4;font-size:10px}
.login-reveal:hover{color:#e3e7ed;background:#ffffff06}
.login-reveal:focus-visible{outline:1px solid #b4c1d1}
.login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:51px;padding:13px 18px;margin-top:18px;border:1px solid #eeeae4;border-radius:8px;background:#e8e5df;color:#192230;font-size:12px;font-weight:600;letter-spacing:.5px;box-shadow:0 4px 16px #00000012;transition:background .2s,box-shadow .2s,transform .2s}
.login-submit svg{width:19px;height:19px;transition:transform .2s}
.login-submit:hover{background:#fbf8f2;border-color:#fbf8f2;box-shadow:0 5px 25px #e1dece16;transform:translateY(-1px)}
.login-submit:hover svg{transform:translateX(3px)}
.login-submit:active{transform:translateY(0)}
.login-submit:focus-visible{outline:2px solid #eae7e0;outline-offset:4px}
.login-assistance{font-size:10px;color:#768399;line-height:1.9;margin:22px 0 28px}
.login-assistance span{color:#98a4b6}
.login-panel-bottom{display:flex;align-items:center;gap:8px;font-size:9px;color:#6b7890;border-top:1px solid #c5cfdf13;padding-top:18px;letter-spacing:.4px}
.login-panel-bottom>span:last-child{margin-left:auto;font-size:9px;letter-spacing:2px;color:#7c889d}
.login-status-dot{width:4px;height:4px;border-radius:50%;background:#aaa99f;flex-shrink:0}
.login-error{padding:11px 13px;margin:0 0 12px;background:#b9636310;border:1px solid #cf858530;border-radius:7px;color:#e2b4b0;font-size:11px;line-height:1.8}
.login-bottom{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;border-top:1px solid #bcc7dc17;padding:20px 0 25px;font-size:9px;letter-spacing:2px;color:#647188}
@keyframes sculpture-drift{from{transform:translate3d(0,0,0) rotate(-2deg)}to{transform:translate3d(12px,-17px,0) rotate(1deg)}}
@keyframes login-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.login-stage{padding-top:65px;padding-bottom:80px}.login-panel{padding:42px 40px 26px}.login-editorial{padding-bottom:75px}.login-sculpture{width:1500px;left:-100px;bottom:-260px}.login-masthead{padding-top:46px}.login-bottom{padding-bottom:27px}}
@media(max-width:1150px){.login-masthead,.login-stage,.login-bottom{width:calc(100% - 88px)}.login-stage{grid-template-columns:minmax(0,1fr) 390px;gap:55px}.login-panel{padding:30px 30px 22px}.login-editorial h1{font-size:65px}.login-kicker{font-size:8px;letter-spacing:2px}.login-sculpture{left:-270px;bottom:-160px;width:1100px}.login-panel:before{left:30px;right:30px}}
@media(max-width:850px){.login-masthead,.login-stage,.login-bottom{width:calc(100% - 56px)}.login-masthead{padding-top:27px}.login-wordmark{font-size:35px;gap:17px}.login-wordmark span{padding-left:17px;font-size:10px;letter-spacing:3px}.login-edition{font-size:8px;letter-spacing:1px}.login-edition .edition-line,.login-edition{gap:10px}.login-stage{grid-template-columns:minmax(0,1fr) 350px;gap:28px;padding:40px 0 55px}.login-editorial h1{font-size:51px;letter-spacing:2px}.login-editorial{padding-bottom:30px}.login-kicker{font-size:7px;letter-spacing:1px;gap:8px}.login-kicker>span{width:15px}.login-modules{gap:10px;font-size:9px;letter-spacing:0}.login-intro{font-size:12px}.login-panel{padding:27px 26px 22px}.login-panel h2{font-size:25px}}
@media(max-width:690px){.login-scene{min-height:100svh}.login-masthead,.login-stage,.login-bottom{width:calc(100% - 44px)}.login-masthead{padding:25px 0 10px}.login-edition{display:none}.login-wordmark{font-size:32px;gap:15px}.login-wordmark span{padding-left:15px;font-size:9px;letter-spacing:3px}.login-stage{grid-template-columns:1fr;gap:28px;padding:35px 0 30px;max-width:440px}.login-editorial{padding-bottom:0}.login-kicker{font-size:7px;letter-spacing:2px;margin-bottom:16px}.login-editorial h1{font-size:clamp(28px,8.8vw,37px);line-height:1.4;letter-spacing:1.2px;margin-bottom:15px;white-space:nowrap}.login-editorial h1 br{display:none}.login-editorial h1 span{margin-left:3px}.login-intro{display:none}.login-modules{font-size:9px;gap:16px;letter-spacing:.5px;color:#8793a6}.login-modules i{height:9px}.login-panel{padding:25px 25px 20px;border-radius:17px;background:linear-gradient(145deg,#202a38d9,#111b29eb)}.login-panel-top{margin-bottom:20px;font-size:8px}.login-panel h2{font-size:25px}.login-panel-intro{font-size:11px;margin-bottom:19px}.login-panel .input{min-height:50px}.login-form{gap:8px}.login-input-wrap>svg{top:16px}.login-assistance{margin:19px 0 21px}.login-bottom{padding:15px 0 20px;font-size:8px;letter-spacing:.4px;gap:20px;max-width:440px}.login-sculpture{width:950px;left:-400px;bottom:120px;opacity:.32}.halo-warm{display:none}}
@media(max-width:370px){.login-masthead,.login-stage,.login-bottom{width:calc(100% - 34px)}.login-panel{padding:23px 21px 19px}.login-bottom{font-size:7px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.login-sculpture,.login-editorial,.login-panel{animation:none!important}.login-submit,.login-submit svg,.login-panel .input{transition:none!important}}
