:root{--online-gold:#d6ad56;--online-ink:#05090c;--online-panel:#0a1218;--online-line:rgba(214,173,86,.28);--online-text:#f4efe6;--online-muted:#9ba8af}
.online-locked{overflow:hidden}
.online-locked .app-shell,.online-locked .mobile-nav,.online-locked>.modal,.online-locked>.toast{display:none!important}
.online-auth{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;min-height:100dvh;padding:32px 22px 76px;background:radial-gradient(circle at 70% 16%,rgba(27,70,92,.2),transparent 35%),radial-gradient(circle at 20% 78%,rgba(177,127,35,.11),transparent 34%),linear-gradient(145deg,#020507,#091117 55%,#030608);color:var(--online-text);font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.online-auth::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,black,transparent 80%)}
.online-auth[hidden]{display:none!important}
.online-auth-card{position:relative;width:min(520px,100%);padding:44px 46px 38px;border:1px solid var(--online-line);background:linear-gradient(145deg,rgba(13,23,30,.98),rgba(5,10,14,.98));box-shadow:0 30px 90px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.035)}
.online-auth-card::before{content:"";position:absolute;left:-1px;top:36px;width:3px;height:78px;background:linear-gradient(var(--online-gold),#7f5c21)}
.online-auth-brand{display:flex;align-items:center;gap:15px;margin-bottom:38px}.online-auth-brand img{width:52px;height:52px;object-fit:contain;filter:grayscale(1) brightness(2.5)}.online-auth-brand div{display:grid;gap:4px}.online-auth-brand strong{font:700 20px/1.1 Arial,sans-serif;letter-spacing:.12em}.online-auth-brand span{color:#89979e;font:500 10px/1.2 Arial,sans-serif;letter-spacing:.14em}
.online-auth-kicker{margin:0 0 13px;color:var(--online-gold);font:600 12px/1.4 Arial,sans-serif;letter-spacing:.2em}.online-auth h1{margin:0 0 14px;font:600 34px/1.25 "Noto Serif SC","Songti SC",serif;letter-spacing:.04em}.online-auth-intro{margin:0 0 30px;color:var(--online-muted);font-size:15px;line-height:1.8}
.online-auth form{display:grid;gap:17px}.online-auth label{display:grid;gap:8px}.online-auth label span{color:#d8dde0;font-size:14px}.online-auth input{width:100%;height:52px;padding:0 16px;border:1px solid #2b3941;border-radius:2px;outline:none;background:#050a0e;color:#f8f5ef;font-size:17px;transition:border-color .2s,box-shadow .2s}.online-auth input:focus{border-color:var(--online-gold);box-shadow:0 0 0 3px rgba(214,173,86,.08)}
.online-auth button{height:52px;margin-top:4px;border:1px solid var(--online-gold);border-radius:2px;background:linear-gradient(135deg,#d6ad56,#a9792f);color:#090b0c;font-size:16px;font-weight:700;letter-spacing:.08em;cursor:pointer}.online-auth button:disabled{cursor:wait;opacity:.65}
.online-auth-message{min-height:22px;margin:0;color:#ff8075;font-size:14px;line-height:1.5}.online-auth-security{display:flex;align-items:center;gap:9px;margin-top:4px;color:#77858d;font-size:12px}.online-auth-security i{width:7px;height:7px;border-radius:50%;background:#50d7a1;box-shadow:0 0 10px rgba(80,215,161,.7)}
.online-auth-footer{position:fixed;left:0;right:0;bottom:20px;text-align:center}.online-auth-footer a{color:#65737a;font-size:12px;text-decoration:none}.online-auth-footer a:hover{color:#caa353}
.online-sync-state{display:block;margin-top:4px;color:#5ed6ae;font-size:11px;letter-spacing:.04em}.online-sync-state.syncing{color:#d6ad56}.online-sync-state.error{color:#ff8075}
.online-logout{margin-left:auto;border:1px solid rgba(214,173,86,.3);border-radius:2px;background:transparent;color:#b9b1a3;padding:7px 10px;font-size:12px;cursor:pointer}.online-logout:hover{border-color:#d6ad56;color:#e1bb68}
@media(max-width:720px){.online-auth{align-items:start;padding:9vh 16px 72px}.online-auth-card{padding:34px 25px 30px}.online-auth-brand{margin-bottom:30px}.online-auth-brand img{width:44px;height:44px}.online-auth h1{font-size:28px}.online-auth-intro{font-size:14px;margin-bottom:24px}.online-auth input{height:50px;font-size:16px}.online-auth button{height:50px}.online-logout{position:absolute;right:14px;bottom:18px}.sidebar-footer{position:relative}}
