/* V4.8.4 SCREEN_FIT: 登录页全屏氛围背景（光晕渐变），任意分辨率下视觉饱满无黑边 */
body.auth-page{min-height:100dvh;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));background:radial-gradient(1400px 640px at 14% -10%,rgba(96,80,205,.22),transparent 62%),radial-gradient(1100px 560px at 90% 112%,rgba(48,92,158,.18),transparent 60%),radial-gradient(800px 460px at 50% 122%,rgba(128,96,64,.10),transparent 65%),var(--bg,#0b0c10)}
.auth-shell{width:min(100%,460px)}.auth-card{background:var(--panel,#15171d);border:1px solid var(--line,#2a2d36);border-radius:24px;padding:28px;box-shadow:0 24px 80px #0006}.auth-card h1{margin:14px 0 6px}.auth-sub{margin:0 0 18px;color:var(--muted,#9aa0ad);line-height:1.6}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#0003;border-radius:12px;margin-bottom:18px}.auth-tabs button{border:0;background:transparent;color:inherit;padding:11px;border-radius:9px}.auth-tabs button.active{background:#ffffff12}.auth-form{display:grid;gap:14px}.auth-form label,.admin-card label,.form-grid label{display:grid;gap:7px;font-size:13px}.auth-form input,.admin-card input,.admin-card select,.issued-box textarea{width:100%;box-sizing:border-box}.auth-form.hidden{display:none!important}
.redeem-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:18px}.redeem-box label{display:grid;gap:6px}.redeem-box .small-text{grid-column:1/-1}
.admin-main{width:100%;max-width:100%;margin:24px auto 60px;padding:0 clamp(16px,2.4vw,56px);box-sizing:border-box}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-card{background:var(--panel,#15171d);border:1px solid var(--line,#2a2d36);border-radius:18px;padding:20px;min-width:0}.admin-card h2{margin:0 0 8px;font-size:18px}.admin-wide{grid-column:1/-1}.admin-actions,.admin-section-head,.issued-head{display:flex;gap:10px;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.admin-users,.cards-list{display:grid;gap:8px;margin-top:14px;max-height:520px;overflow:auto}.admin-user-row,.card-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line,#2a2d36);border-radius:12px}.admin-user-row small,.card-row small{display:block;color:var(--muted,#9aa0ad);margin-top:4px}.issued-box{margin-top:14px}.issued-box textarea{min-height:220px;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.admin-stats{font-weight:700;margin-top:10px}
@media(max-width:760px){.auth-card{padding:20px;border-radius:18px}.admin-main{width:min(100% - 20px,720px);margin-top:12px}.admin-grid{grid-template-columns:1fr}.admin-wide{grid-column:auto}.form-grid{grid-template-columns:1fr}.admin-user-row,.card-row{grid-template-columns:1fr}.admin-actions{flex-wrap:wrap}.redeem-box{grid-template-columns:1fr}.redeem-box .small-text{grid-column:auto}}

/* V4.6.1 redeem emphasis + admin security summary */
.redeem-highlight{margin:16px 0 18px;padding:16px 18px;border:1px solid var(--line,#2a2d36);border-radius:16px;background:linear-gradient(180deg,#ffffff08,#ffffff03);display:grid;grid-template-columns:minmax(180px,.8fr) minmax(320px,1.2fr);gap:12px 18px;align-items:center;box-shadow:0 10px 30px #0002}.redeem-copy{display:grid;gap:5px}.redeem-copy b{font-size:16px}.redeem-copy small{color:var(--muted,#9aa0ad);line-height:1.5}.redeem-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.redeem-controls input{width:100%;box-sizing:border-box;min-height:42px}.redeem-highlight>.small-text{grid-column:1/-1;min-height:18px}
.security-panel{margin:0 0 18px;padding:14px 16px;border:1px solid var(--line,#2a2d36);border-radius:14px;background:var(--panel,#15171d)}.security-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.security-panel-head>div{display:flex;align-items:center;gap:9px}.security-badge{font-size:12px;padding:3px 8px;border:1px solid var(--line,#2a2d36);border-radius:999px;color:var(--muted,#9aa0ad)}.security-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.security-metrics span{padding:8px 10px;border:1px solid #ffffff0c;border-radius:10px;font-size:12px;color:var(--muted,#9aa0ad)}.security-metrics strong{display:block;margin-top:3px;color:inherit;font-size:15px}.security-panel.security-watch{border-style:dashed}.security-panel.security-locked{border-width:1.5px}.risk-details{margin-top:8px}.risk-details summary{cursor:pointer;font-size:12px;color:var(--muted,#9aa0ad);user-select:none}.risk-list{display:grid;gap:6px;margin-top:8px}.risk-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:7px 8px;border:1px solid #ffffff0b;border-radius:9px}.risk-row b{font-size:12px}.risk-row small{display:block;margin-top:2px;color:var(--muted,#9aa0ad);font-size:11px}.risk-level{font-size:10px;text-transform:uppercase;border:1px solid var(--line,#2a2d36);border-radius:999px;padding:2px 6px;color:var(--muted,#9aa0ad)}
@media(max-width:760px){.redeem-highlight{grid-template-columns:1fr;padding:14px}.redeem-controls{grid-template-columns:1fr}.redeem-highlight>.small-text{grid-column:auto}.security-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V4.7.0 readable form controls */
.auth-page input,.admin-page input,.admin-page textarea,.admin-page select,.dashboard-page input,.home-page input,.simple-page input,.simple-page textarea,.simple-page select{background:#0d1118!important;color:#f2f4f8!important;border:1px solid #343b4a!important;border-radius:10px;padding:11px 12px;outline:none;caret-color:#fff}
.auth-page input::placeholder,.admin-page input::placeholder,.dashboard-page input::placeholder,.home-page input::placeholder,.simple-page input::placeholder,.simple-page textarea::placeholder{color:#7f8798!important;opacity:1}
.auth-page input:focus,.admin-page input:focus,.admin-page textarea:focus,.admin-page select:focus,.dashboard-page input:focus,.home-page input:focus,.simple-page input:focus,.simple-page textarea:focus,.simple-page select:focus{border-color:#766cff!important;box-shadow:0 0 0 3px #6f63ff20}
.admin-showcase-grid{display:grid;gap:8px;margin-top:14px}.admin-showcase-item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px;border:1px solid var(--line,#2a2d36);border-radius:12px}.admin-showcase-item img{width:72px;height:54px;object-fit:cover;border-radius:8px;background:#0b0e14}.admin-showcase-item b,.admin-showcase-item small{display:block}.admin-showcase-item small{margin-top:4px;color:var(--muted,#9aa0ad);font-size:11px}
@media(max-width:620px){.admin-showcase-item{grid-template-columns:64px minmax(0,1fr) auto}.admin-showcase-item img{width:64px;height:50px}}

/* ===== V4.8.1 三端登录页操作优化 ===== */
.auth-form .field{display:grid;gap:7px;font-size:13px}
.field-label{color:#b8becc;font-size:13px;line-height:1.4}
.pwd-wrap{position:relative;display:block}
.pwd-wrap input{padding-right:48px!important}
.pwd-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;min-width:0!important;min-height:0!important;display:grid;place-items:center;background:transparent;border:0;border-radius:10px;color:#8f97a8;padding:0;cursor:pointer}
.pwd-toggle:hover{color:#e7eaf0;background:#ffffff0d}
.pwd-toggle:active{transform:translateY(-50%) scale(.94)}
.pwd-toggle svg{width:20px;height:20px;pointer-events:none}
.pwd-toggle .icon-off{display:none}
.pwd-toggle.visible .icon-on{display:none}
.pwd-toggle.visible .icon-off{display:block}
.caps-hint{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffb36a;line-height:1.4}
.field-err{display:none;font-size:12px;color:#ff8998;line-height:1.4}
.field-err.show{display:block}
.auth-form .field.invalid input{border-color:#ff7182!important;box-shadow:0 0 0 3px #ff71821f!important}
.auth-form .field.valid input{border-color:#58d7a7!important}
.strength{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;align-items:center}
.strength[hidden]{display:none}
.strength i{height:4px;border-radius:99px;background:#ffffff14;transition:background .15s ease}
.strength[data-v="1"] i:nth-child(-n+1){background:#ff7182}
.strength[data-v="2"] i:nth-child(-n+2){background:#ffb36a}
.strength[data-v="3"] i:nth-child(-n+3){background:#7d72ff}
.strength[data-v="4"] i:nth-child(-n+4){background:#58d7a7}
.strength em{font-style:normal;font-size:12px;color:#8f97a8;grid-column:1/-1}
.form-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.remember{display:flex!important;align-items:center;gap:8px;font-size:13px;color:#b8becc;cursor:pointer;user-select:none}
.remember input{width:17px!important;height:17px;min-width:17px!important;max-width:17px!important;flex:0 0 17px;margin:0;accent-color:#695cff;cursor:pointer}
.auth-form button[type="submit"]{margin-top:2px}
@media(max-width:420px){
  .auth-card{padding:22px 18px}
  .pwd-toggle{width:44px;height:44px;right:2px}
}

/* ===== V6.3.0 EMAIL AUTH / SCI-FI LOGIN ===== */
.auth-page-v630{display:block!important;position:relative;overflow:hidden;padding:0!important;background:#060810!important;color:#edf2ff;min-height:100dvh}
.auth-page-v630:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(900px 520px at 17% 18%,rgba(92,75,255,.18),transparent 66%),radial-gradient(760px 500px at 82% 74%,rgba(0,205,255,.10),transparent 68%),linear-gradient(135deg,#060810,#090c16 46%,#05070d);z-index:-4}
.auth-cosmos{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-3}.auth-cosmos>i{position:absolute;border-radius:50%;filter:blur(12px);opacity:.55}.auth-cosmos>i:nth-child(1){width:42vw;height:42vw;left:-20vw;top:8vh;background:radial-gradient(circle,#675aff44,transparent 68%);animation:authFloatA 13s ease-in-out infinite alternate}.auth-cosmos>i:nth-child(2){width:34vw;height:34vw;right:-12vw;bottom:-8vh;background:radial-gradient(circle,#00c9ff2c,transparent 70%);animation:authFloatB 16s ease-in-out infinite alternate}.auth-cosmos>i:nth-child(3){width:18vw;height:18vw;right:32vw;top:-8vw;background:radial-gradient(circle,#c263ff22,transparent 70%)}.auth-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(139,149,190,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(139,149,190,.055) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 78%);transform:perspective(700px) rotateX(61deg) scale(1.35) translateY(31%);transform-origin:center bottom}
.auth-experience{width:min(1500px,100%);min-height:100dvh;margin:auto;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.8fr);align-items:center;gap:clamp(28px,5vw,90px);padding:clamp(32px,5vw,80px);box-sizing:border-box}.auth-visual-panel{min-height:650px;position:relative;display:flex;flex-direction:column;justify-content:center;gap:34px;padding:clamp(24px,3vw,54px);box-sizing:border-box}.auth-live-badge{position:absolute;top:18px;left:clamp(24px,3vw,54px);display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.2em;color:#98a4c0}.auth-live-badge span{width:7px;height:7px;border-radius:50%;background:#7df5c8;box-shadow:0 0 0 7px #7df5c816,0 0 24px #7df5c8}.auth-holo-core{position:absolute;right:5%;top:18%;width:280px;height:280px;display:grid;place-items:center;perspective:800px;opacity:.86}.auth-holo-core .ring{position:absolute;border:1px solid rgba(128,118,255,.35);border-radius:50%;box-shadow:0 0 40px rgba(99,86,255,.12) inset}.auth-holo-core .r1{inset:0;animation:holoSpin 16s linear infinite}.auth-holo-core .r2{inset:38px;transform:rotateX(66deg);border-color:rgba(66,214,255,.4);animation:holoSpinReverse 10s linear infinite}.auth-holo-core .r3{inset:76px;border-style:dashed;animation:holoSpin 7s linear infinite}.core-mark{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;font-size:34px;font-weight:900;color:#fff;background:linear-gradient(145deg,#7f70ff,#4b3ec4);box-shadow:0 20px 70px #6858ff59,0 0 36px #63dbff26 inset}.auth-visual-copy{position:relative;z-index:2;max-width:760px;margin-top:210px}.auth-visual-copy>span,.auth-card-head .eyebrow{font-size:10px;letter-spacing:.22em;color:#8f86ff}.auth-visual-copy h1{font-size:clamp(46px,5.6vw,86px);line-height:.98;letter-spacing:-.055em;margin:14px 0 22px;background:linear-gradient(110deg,#fff 8%,#bcb7ff 48%,#81e4ff 96%);-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}.auth-visual-copy p{max-width:630px;color:#919bb1;line-height:1.8;font-size:14px}.auth-status-row{display:flex;gap:10px;flex-wrap:wrap}.auth-status-row span{min-width:142px;padding:12px 14px;border:1px solid #262d3e;border-radius:14px;background:rgba(10,14,24,.52);backdrop-filter:blur(14px)}.auth-status-row b,.auth-status-row small{display:block}.auth-status-row b{font-size:10px;letter-spacing:.14em;color:#d7dcf0}.auth-status-row small{font-size:9px;color:#6f7b92;margin-top:4px}
.auth-shell-v630{width:100%!important;max-width:540px;justify-self:end}.auth-card-v630{position:relative;padding:clamp(24px,3vw,38px)!important;border-radius:30px!important;background:linear-gradient(150deg,rgba(18,23,35,.88),rgba(9,12,20,.9))!important;border:1px solid rgba(139,128,255,.22)!important;box-shadow:0 34px 100px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025) inset!important;backdrop-filter:blur(26px);overflow:hidden}.auth-card-v630:before{content:"";position:absolute;inset:-1px;pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,rgba(145,132,255,.15),transparent 28%,transparent 72%,rgba(63,211,255,.09));mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);padding:1px;mask-composite:exclude}.auth-card-head{display:flex;align-items:center;gap:14px;margin-bottom:10px}.auth-card-head .brand-mark{margin:0;width:50px;height:50px;border-radius:17px;box-shadow:0 14px 42px #6657ff42}.auth-card-head h2{font-size:24px;letter-spacing:-.025em;margin:4px 0 0}.auth-card-v630 .auth-sub{font-size:12px;color:#818ba0;margin:0 0 22px 64px}.auth-card-v630 .auth-tabs{background:#070a11;border:1px solid #22283a;border-radius:15px;padding:5px;margin-bottom:20px}.auth-card-v630 .auth-tabs button{font-size:12px;color:#778298;transition:.22s ease}.auth-card-v630 .auth-tabs button.active{color:#f5f6ff;background:linear-gradient(145deg,#23283a,#181c29);box-shadow:0 6px 20px #0005}.auth-card-v630 .auth-form{gap:15px}.auth-card-v630 .field-label{font-size:11px;letter-spacing:.03em;color:#9da7bb}.auth-card-v630 input{min-height:48px!important;border-radius:14px!important;background:#080c14!important;border-color:#293144!important;padding:12px 14px!important}.auth-card-v630 input:focus{border-color:#7c70ff!important;box-shadow:0 0 0 3px #7668ff1f,0 12px 32px #0002!important}.email-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.email-code-btn{min-width:112px;white-space:nowrap;border-radius:13px!important}.field-help{font-size:10px;color:#667188}.auth-admin-note{font-size:9px;color:#667188;text-align:right}.auth-submit{display:flex!important;align-items:center;justify-content:space-between!important;min-height:50px;border-radius:15px!important;padding:0 18px!important;background:linear-gradient(110deg,#6558e8,#7d68ff 52%,#3e9bdb)!important;box-shadow:0 14px 34px rgba(89,74,220,.27)}.auth-submit i{font-style:normal;font-size:18px}.security-note{display:grid;gap:4px!important;padding:12px 13px;border-radius:13px;border:1px solid #263044;background:linear-gradient(145deg,#0b111b,#0a0e16);font-size:10px!important;color:#76839a!important}.security-note b{font-size:10px;color:#bfc8da}.auth-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid #202638;font-size:9px;color:#5e697f}.auth-card-foot span:first-child{display:flex;align-items:center;gap:7px}.auth-card-foot i{width:6px;height:6px;border-radius:50%;background:#6fe3b8;box-shadow:0 0 12px #6fe3b8}
html[data-theme="light"] .auth-page-v630{background:#eef1f7!important;color:#202534}html[data-theme="light"] .auth-page-v630:before{background:radial-gradient(900px 520px at 17% 18%,rgba(105,91,224,.13),transparent 66%),radial-gradient(760px 500px at 82% 74%,rgba(0,155,210,.09),transparent 68%),linear-gradient(135deg,#f7f8fb,#edf1f7)}html[data-theme="light"] .auth-card-v630{background:rgba(255,255,255,.86)!important;border-color:#d9d6ee!important;box-shadow:0 34px 90px rgba(50,59,79,.16)!important}html[data-theme="light"] .auth-card-v630 input{background:#f8f9fc!important;color:#222936!important;border-color:#d8dee8!important}html[data-theme="light"] .auth-card-v630 .auth-tabs{background:#eef1f5;border-color:#dce1e9}html[data-theme="light"] .auth-card-v630 .auth-tabs button.active{background:#fff;color:#242a36}html[data-theme="light"] .security-note{background:#f6f8fb;border-color:#dde3ec;color:#6b7280!important}html[data-theme="light"] .security-note b{color:#364152}html[data-theme="light"] .auth-card-foot{border-color:#e0e4eb}
@media(max-width:1050px){.auth-experience{grid-template-columns:minmax(300px,.8fr) minmax(410px,1fr);gap:22px;padding:28px}.auth-visual-panel{min-height:610px;padding:26px}.auth-holo-core{width:210px;height:210px;right:1%;top:17%}.auth-visual-copy{margin-top:190px}.auth-visual-copy h1{font-size:clamp(40px,5.8vw,62px)}}
@media(max-width:820px){.auth-page-v630{overflow:auto}.auth-experience{min-height:100dvh;grid-template-columns:1fr;align-content:center;padding:max(24px,env(safe-area-inset-top)) 22px max(30px,env(safe-area-inset-bottom))}.auth-visual-panel{min-height:180px;padding:12px 6px 0;justify-content:flex-end}.auth-live-badge{top:4px;left:6px}.auth-holo-core{width:150px;height:150px;right:3%;top:-12px}.auth-holo-core .r2{inset:24px}.auth-holo-core .r3{inset:46px}.core-mark{width:56px;height:56px;border-radius:19px;font-size:22px}.auth-visual-copy{margin-top:66px;max-width:68%}.auth-visual-copy h1{font-size:clamp(32px,7vw,52px);margin:10px 0}.auth-visual-copy p{display:none}.auth-status-row{display:none}.auth-shell-v630{max-width:650px;justify-self:center}.auth-card-v630 .auth-sub{margin-left:0}.auth-card-v630{border-radius:26px!important}}
@media(max-width:560px){.auth-experience{padding:18px 14px 28px;gap:12px}.auth-visual-panel{min-height:122px}.auth-holo-core{width:106px;height:106px}.auth-holo-core .r2{inset:18px}.auth-holo-core .r3{inset:34px}.core-mark{width:42px;height:42px;border-radius:15px;font-size:18px}.auth-visual-copy{margin-top:46px;max-width:75%}.auth-visual-copy h1{font-size:29px}.auth-live-badge{font-size:8px}.auth-card-v630{padding:20px 17px!important;border-radius:22px!important}.auth-card-head h2{font-size:20px}.auth-card-head .brand-mark{width:44px;height:44px}.auth-card-v630 .auth-tabs{margin-bottom:16px}.email-code-row{grid-template-columns:1fr}.email-code-btn{min-height:44px}.form-meta{align-items:flex-start}.auth-admin-note{max-width:150px}.auth-card-foot{font-size:8px}}
@keyframes authFloatA{to{transform:translate(9vw,6vh) scale(1.08)}}@keyframes authFloatB{to{transform:translate(-8vw,-7vh) scale(1.12)}}@keyframes holoSpin{to{transform:rotate(360deg)}}@keyframes holoSpinReverse{to{transform:rotateX(66deg) rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.auth-cosmos>i,.auth-holo-core .ring{animation:none!important}}

/* V6.6.13 admin user presence */
.admin-user-identity{min-width:0}
.admin-user-presence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px}
.presence-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid #343b49;background:#171b24;color:#9da5b5;font-size:11px;font-weight:800;line-height:1}
.presence-badge i{width:8px;height:8px;border-radius:50%;background:#697386;box-shadow:0 0 0 3px rgba(105,115,134,.12)}
.presence-badge.is-online{color:#8ce6bf;border-color:rgba(78,205,145,.42);background:rgba(20,84,58,.22)}
.presence-badge.is-online i{background:#46d995;box-shadow:0 0 0 3px rgba(70,217,149,.14),0 0 12px rgba(70,217,149,.38)}
.presence-badge.is-offline{color:#a4acba}
.presence-last-seen{margin:0!important;color:var(--muted,#8d96a7)!important;font-size:10px!important}
.account-state-line{margin-top:6px!important}
.admin-user-credit{font-variant-numeric:tabular-nums;color:#c7cdd8;font-size:12px}
.admin-stats{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-stats .presence-summary{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:11px;border:1px solid #343b49}
.admin-stats .presence-summary.online{color:#82dfb7;border-color:rgba(70,217,149,.34);background:rgba(20,84,58,.16)}
.admin-stats .presence-summary.offline{color:#aab1bf;background:rgba(89,99,118,.09)}
.admin-stats>small{font-weight:500;color:var(--muted,#8d96a7)}
@media(max-width:820px){.admin-user-presence{gap:6px}.admin-user-credit{font-size:11px}.presence-last-seen{flex-basis:100%}}
