/* 驭长风登录页重设计样式 —— 作用域锁定在 .login-screen / .modal，不污染工作台/一点通系统 */
/* 变量只在登录页 + 弹窗内生效，不覆盖 styles.css 的全局 :root 主题 */
.login-screen, #forgotModal{
  --teal:#15b8a6; --teal-d:#0e9488; --blue:#3b82f6;
  --ink:#16242c; --muted:#5d6b78; --faint:#9aa7b2;
  --lgfont:"Noto Sans CJK",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
}

/* 登录区容器：背景/字体/overflow 都收在这里，app.js 把 loginScreen.hidden=true 后整页随之消失 */
.login-screen{position:fixed;inset:0;z-index:20;overflow:hidden;
  color:var(--ink);font-family:var(--lgfont);font-size:14px;
  background:linear-gradient(120deg,#eefcf8 0%,#eef4fd 55%,#f3f0fe 100%)}
.login-screen *{box-sizing:border-box}
.login-network-canvas{display:none}   /* 钩子保留，背景用风流线 */
/* 去掉 styles.css 的 ::after 白色遮罩——它把风流线背景洗淡、还在 52% 处形成明暗线盖住流线圆点；新版背景 blob+wind 直出无需柔化层 */
.login-screen::after,.workspace-screen::after{display:none}

.login-screen .blob{position:absolute;border-radius:50%;z-index:1;pointer-events:none;filter:blur(72px)}
.login-screen .blob.b1{width:420px;height:420px;background:rgba(45,212,191,.45);left:30%;top:13%}
.login-screen .blob.b2{width:400px;height:400px;background:rgba(99,168,255,.42);right:14%;top:24%}
.login-screen .blob.b3{width:330px;height:330px;background:rgba(167,243,208,.4);left:8%;bottom:6%}
.login-screen .blob.b4{width:270px;height:270px;background:rgba(147,197,253,.34);right:28%;bottom:10%}
.login-screen .wind{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
@keyframes lgflow{to{stroke-dashoffset:-260}}
.login-screen .wind .s1{animation:lgflow 5s linear infinite}.login-screen .wind .s2{animation:lgflow 7s linear infinite}.login-screen .wind .s3{animation:lgflow 9s linear infinite}
@keyframes lgnp{0%,100%{opacity:.28}50%{opacity:.5}}
.login-screen .wind .node{animation:lgnp 2.6s ease-in-out infinite;stroke:none}

.login-screen .seal{border-radius:15px;background:linear-gradient(140deg,#16c4ac,#2f9bff);display:grid;place-items:center;
  box-shadow:0 12px 26px -8px rgba(33,150,170,.55), inset 0 1px 0 rgba(255,255,255,.42)}
.login-screen .seal svg{fill:none;stroke-linecap:round;stroke-linejoin:round}
.login-screen .seal .lm{stroke:#fff;stroke-width:5}.login-screen .seal .ly{stroke:#dff8ef;stroke-width:4.2}.login-screen .seal .lw{stroke:rgba(255,255,255,.78);stroke-width:3}

.login-screen .brandtop{position:absolute;top:48px;left:56px;display:flex;align-items:center;gap:13px;z-index:6}
.login-screen .brandtop .seal{width:48px;height:48px}.login-screen .brandtop .seal svg{width:30px;height:30px}
.login-screen .brandtop b{font-size:21px;font-weight:800;letter-spacing:3px}

.login-screen .hero{position:absolute;left:6.5%;top:52%;transform:translateY(-50%);max-width:450px;z-index:4;opacity:0;transition:opacity .9s ease}
.login-screen .hero.on{opacity:1}
.login-screen .hero:not(.on){pointer-events:none}
.login-screen .hero[data-hero="0"] h1{margin-bottom:0}
.login-screen .hero h1{margin:0 0 26px;font-size:66px;line-height:1.1;font-weight:900;letter-spacing:6px;color:var(--ink)}
.login-screen .hero h1 em{font-style:normal;background:linear-gradient(110deg,var(--teal-d),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.login-screen .hero p{margin:0;font-size:16px;line-height:2.1;color:#52616e;max-width:392px;letter-spacing:.3px}
.login-screen .stats{display:flex;margin-top:38px}
.login-screen .stats div{padding:0 28px}.login-screen .stats div:first-child{padding-left:0}
.login-screen .stats div:not(:last-child){border-right:1px solid rgba(20,80,110,.13)}
.login-screen .stats div b{display:block;font-size:26px;font-weight:800;color:var(--teal-d);letter-spacing:1px}
.login-screen .stats div span{font-size:12.5px;color:var(--faint);margin-top:2px;display:block}

.login-screen .login{position:absolute;top:50%;right:21%;transform:translateY(-50%);z-index:5}
.login-screen .lcard,.login-screen .login-panel{position:relative;overflow:hidden;width:456px;max-width:93vw;padding:64px 46px 52px;border-radius:28px;
  background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.92);
  box-shadow:0 48px 100px -34px rgba(18,70,95,.5), inset 0 1px 0 rgba(255,255,255,.95);
  backdrop-filter:blur(40px) saturate(2);-webkit-backdrop-filter:blur(40px) saturate(2)}
.login-screen .lcard::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:360px;height:210px;background:radial-gradient(circle,rgba(45,212,191,.42),transparent 70%);filter:blur(22px);pointer-events:none}
.login-screen .login-panel{padding:48px 46px 44px}
.login-screen .lh{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:38px}
.login-screen .lh .seal{width:50px;height:50px;border-radius:14px}.login-screen .lh .seal svg{width:31px;height:31px}
.login-screen .lh h2{margin:0;font-size:24px;font-weight:800;letter-spacing:1px}
.login-screen .lh small,.login-screen .lh .sub{display:block;font-size:12.5px;color:var(--muted);margin-top:5px;font-weight:400}
.login-screen .fld{display:block;margin-bottom:18px}
.login-screen .fld>span{display:block;font-size:12px;font-weight:600;color:var(--muted);margin:0 0 7px 3px;letter-spacing:.5px}
.login-screen .ipt{display:flex;align-items:center;gap:11px;height:54px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.55);border:1.5px solid rgba(255,255,255,.85);transition:border-color .15s,background .15s,box-shadow .15s}
.login-screen .login-panel .ipt{margin-bottom:16px}
.login-screen .ipt svg{width:19px;height:19px;stroke:var(--faint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:stroke .15s}
.login-screen .ipt input{border:0;outline:0;background:transparent;flex:1;font-family:inherit;font-size:14.5px;color:var(--ink)}
.login-screen .ipt input::placeholder{color:var(--faint)}
.login-screen .ipt:focus-within{border-color:var(--teal);background:rgba(255,255,255,.92);box-shadow:0 0 0 4px rgba(20,184,166,.13)}
.login-screen .ipt:focus-within>svg:first-child{stroke:var(--teal)}
.login-screen .pweye{cursor:pointer;flex:none}
.login-screen .lrow{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);margin:6px 2px 38px}
.login-screen .lrow label{display:flex;align-items:center;gap:8px;cursor:pointer}
.login-screen .keep input{position:absolute;opacity:0;width:0;height:0}
.login-screen .ck{width:16px;height:16px;border-radius:5px;border:1.5px solid #cdd6de;background:#fff;display:grid;place-items:center;transition:background .15s,border-color .15s}
.login-screen .ck svg{width:10px;height:10px;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:0;transition:opacity .15s}
.login-screen .keep input:checked + .ck{background:linear-gradient(135deg,var(--teal),var(--blue));border-color:transparent}
.login-screen .keep input:checked + .ck svg{opacity:1}
.login-screen .lrow a{color:var(--teal-d);text-decoration:none;cursor:pointer}
.login-screen .enter{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;height:54px;border:0;border-radius:15px;cursor:pointer;font-family:inherit;font-size:16.5px;font-weight:800;letter-spacing:5px;color:#fff;background:linear-gradient(135deg,#13c4ab 0%,#2f9bff 100%);box-shadow:0 18px 34px -12px rgba(33,140,200,.55);transition:.15s}
.login-screen .enter svg{width:18px;height:18px;stroke:#fff;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.login-screen .enter:hover{filter:brightness(1.06)}
.login-screen .enter:hover svg{transform:translateX(3px)}
@keyframes lgshake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.login-screen .ipt.shake{animation:lgshake .32s;border-color:#f43f5e!important}
.login-screen .lfoot{margin-top:24px;text-align:center;font-size:12px;line-height:2;color:var(--faint)}
.login-screen .login-panel p.tip{margin:0 0 18px;color:var(--muted);font-size:12.5px;line-height:1.7}
.login-screen .login-panel .err{color:#d4380d;font-size:13px;min-height:18px;margin-bottom:6px;display:block}
.login-screen .backlink{display:block;text-align:center;margin-top:14px;color:var(--muted);font-size:13px;text-decoration:none;cursor:pointer}

/* 忘记密码弹窗（body 级，单独作用域） */
#forgotModal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;background:rgba(18,40,50,.34);backdrop-filter:blur(7px);font-family:var(--lgfont);color:var(--ink)}
#forgotModal.show{display:flex;animation:lgmfade .2s ease}
@keyframes lgmfade{from{opacity:0}to{opacity:1}}
#forgotModal *{box-sizing:border-box}
#forgotModal .modal-card{position:relative;width:444px;max-width:92vw;padding:34px 34px 28px;border-radius:28px;text-align:center;overflow:hidden;
  background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);
  box-shadow:0 50px 110px -34px rgba(18,70,95,.55), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:blur(32px) saturate(1.7);animation:lgmpop .25s ease}
@keyframes lgmpop{from{transform:translateY(14px) scale(.96);opacity:0}to{transform:none;opacity:1}}
#forgotModal .modal-card::before{content:"";position:absolute;top:-96px;left:50%;transform:translateX(-50%);width:300px;height:190px;background:radial-gradient(circle,rgba(45,212,191,.5),transparent 70%);filter:blur(16px);pointer-events:none}
#forgotModal .modal-close{position:absolute;top:15px;right:15px;z-index:2;width:32px;height:32px;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:rgba(20,80,110,.06);color:var(--muted)}
#forgotModal .modal-close svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
#forgotModal .mi{position:relative;width:64px;height:64px;border-radius:19px;margin:8px auto 16px;display:grid;place-items:center;background:linear-gradient(140deg,#16c4ac,#2f9bff);box-shadow:0 16px 30px -10px rgba(33,150,170,.5), inset 0 1px 0 rgba(255,255,255,.4)}
#forgotModal .mi svg{width:31px;height:31px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
#forgotModal h3{margin:0 0 8px;font-size:22px;font-weight:800;letter-spacing:.5px}
#forgotModal .msub{margin:0 0 22px;font-size:13.5px;line-height:1.75;color:var(--muted)}
#forgotModal .msub b{color:var(--teal-d)}
#forgotModal .mwho{display:flex;align-items:center;gap:13px;text-align:left;padding:13px 15px;border-radius:16px;margin-bottom:18px;background:linear-gradient(120deg,rgba(20,184,166,.1),rgba(59,130,246,.08));border:1px solid rgba(20,184,166,.2)}
#forgotModal .mwho .av{width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:800;background:linear-gradient(140deg,#16c4ac,#2f9bff)}
#forgotModal .mwho .tx{display:grid;gap:3px}#forgotModal .mwho .tx strong{font-size:15px;font-weight:800}#forgotModal .mwho .tx span{font-size:12px;color:var(--teal-d);font-weight:600}
#forgotModal .msteps{text-align:left;margin-bottom:24px;padding:2px 2px 0}
#forgotModal .mstep{position:relative;display:flex;gap:13px;align-items:flex-start;padding-bottom:15px}
#forgotModal .mstep:last-child{padding-bottom:0}
#forgotModal .mstep::before{content:"";position:absolute;left:11px;top:25px;bottom:-1px;width:2px;background:rgba(20,184,166,.22)}
#forgotModal .mstep:last-child::before{display:none}
#forgotModal .mstep .n{position:relative;z-index:1;width:24px;height:24px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
#forgotModal .mstep .s{font-size:13px;color:var(--ink);line-height:1.6;padding-top:2px}#forgotModal .mstep b{color:var(--teal-d);font-weight:700}
#forgotModal .modal-btn{width:100%;height:50px;border:0;border-radius:15px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;letter-spacing:2px;color:#fff;background:linear-gradient(135deg,#13c4ab,#2f9bff);box-shadow:0 14px 26px -10px rgba(33,140,200,.5)}

@media(max-width:1160px){.login-screen .hero{display:none}.login-screen .login{right:50%;transform:translate(50%,-50%)}}

/* ===== 工作台重设计：纯 CSS 玻璃化，作用域锁定 .workspace-screen ===== */
.workspace-screen{font-family:"Noto Sans CJK",-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:linear-gradient(120deg,#eefcf8 0%,#eef4fd 55%,#f3f0fe 100%) !important}
.workspace-screen .login-network-canvas{display:none}
.workspace-screen .workspace-user-text small{display:none}
.workspace-screen .workspace-user-panel{display:block}
.workspace-screen .workspace-user-pill{min-height:0;border-radius:999px;padding:5px 8px 5px 6px;gap:9px;border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.62);box-shadow:0 12px 30px -16px rgba(18,70,95,.34);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4)}
.workspace-screen .wsp-avatar{position:relative;display:grid;place-items:center;flex:none}
.workspace-screen .workspace-user-avatar{width:34px;height:34px;font-size:14px;font-weight:700;background:linear-gradient(140deg,#16c4ac,#2f9bff);box-shadow:0 5px 12px -5px rgba(33,150,170,.5)}
.workspace-screen .wsp-dot{position:absolute;right:0;bottom:0;width:9px;height:9px;border-radius:50%;background:#22c55e;border:1.6px solid #fff;box-shadow:0 0 0 1px rgba(34,197,94,.22)}
.workspace-screen .workspace-user-text{gap:1px;line-height:1.2;padding-right:1px}
.workspace-screen .workspace-user-text strong{font-size:13px;color:#16242c}
.workspace-screen .workspace-user-text em{font-size:11px;color:#5d6b78}
.workspace-screen .workspace-logout-button{width:30px;height:30px;min-width:0;min-height:0;padding:0;margin-left:1px;flex:none;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:rgba(20,80,110,.06);color:#5d6b78;box-shadow:none;transition:.15s}
.workspace-screen .workspace-logout-button svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.workspace-screen .workspace-logout-button:hover{background:rgba(239,68,68,.1);color:#ef4444}
.workspace-screen .workspace-intro h1{font-size:38px;font-weight:900;letter-spacing:2px;color:#16242c}
.workspace-screen .ai-chip{color:#0e9488;background:rgba(20,184,166,.1);border:1px solid rgba(20,184,166,.24)}
.workspace-screen .workspace-notice{border-radius:14px;border:1px solid rgba(63,126,232,.22);background:rgba(255,255,255,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 42px -16px rgba(18,70,95,.3)}
.workspace-screen .workspace-card{border-radius:20px;border:1px solid rgba(255,255,255,.82);background:rgba(255,255,255,.55);box-shadow:0 24px 58px -26px rgba(18,70,95,.34);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.workspace-screen .workspace-card:hover{transform:translateY(-6px);border-color:rgba(20,184,166,.5);background:rgba(255,255,255,.7);box-shadow:0 34px 70px -26px rgba(18,70,95,.45)}
.workspace-screen .workspace-card strong{font-size:18px;font-weight:800;color:#16242c}
.workspace-screen .workspace-icon{width:52px;height:52px;border-radius:15px;color:#fff;box-shadow:0 10px 22px -8px rgba(33,150,170,.4)}
.workspace-screen .workspace-icon svg{width:27px;height:27px;stroke:#fff}
.workspace-screen [data-workspace="sales"] .workspace-icon{background:linear-gradient(140deg,#6366f1,#4f46e5)}
.workspace-screen [data-workspace="oa"] .workspace-icon{background:linear-gradient(140deg,#10b981,#059669)}
.workspace-screen [data-workspace="recycle"] .workspace-icon{background:linear-gradient(140deg,#16c4ac,#0ea5a0)}
.workspace-screen [data-workspace="decision"] .workspace-icon{background:linear-gradient(140deg,#f59e0b,#d97706)}
.workspace-screen [data-workspace="admin"] .workspace-icon{background:linear-gradient(140deg,#64748b,#475569)}
/* 天眼卡：真 logo 满铺，去掉外层渐变底，svg 撑满不描边 */
.workspace-screen .workspace-icon.wsicon-logo{background:none;box-shadow:0 10px 22px -8px rgba(33,140,200,.45)}
.workspace-screen .wsicon-logo svg{width:52px;height:52px;stroke:none}

/* 风流线背景：与登录页同款，作用域锁 .workspace-screen（fixed/overflow 已由 styles.css 提供） */
.workspace-screen .blob{position:absolute;border-radius:50%;z-index:1;pointer-events:none;filter:blur(72px)}
.workspace-screen .blob.b1{width:420px;height:420px;background:rgba(45,212,191,.45);left:30%;top:13%}
.workspace-screen .blob.b2{width:400px;height:400px;background:rgba(99,168,255,.42);right:14%;top:24%}
.workspace-screen .blob.b3{width:330px;height:330px;background:rgba(167,243,208,.4);left:8%;bottom:6%}
.workspace-screen .blob.b4{width:270px;height:270px;background:rgba(147,197,253,.34);right:28%;bottom:10%}
.workspace-screen .wind{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.workspace-screen .wind .s1{animation:lgflow 5s linear infinite}.workspace-screen .wind .s2{animation:lgflow 7s linear infinite}.workspace-screen .wind .s3{animation:lgflow 9s linear infinite}
.workspace-screen .wind .node{animation:lgnp 2.6s ease-in-out infinite;stroke:none}

/* 工作台 header 品牌 logo 换成登录页同款 seal(青蓝渐变方块+白笔画,无内框) */
.workspace-screen .login-brand .seal{width:60px;height:60px;border-radius:17px;background:linear-gradient(140deg,#16c4ac,#2f9bff);display:grid;place-items:center;box-shadow:0 12px 26px -8px rgba(33,150,170,.55), inset 0 1px 0 rgba(255,255,255,.42)}
.workspace-screen .login-brand .seal svg{width:37px;height:37px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.workspace-screen .login-brand .seal .lm{stroke:#fff;stroke-width:5}
.workspace-screen .login-brand .seal .ly{stroke:#dff8ef;stroke-width:4.2}
.workspace-screen .login-brand .seal .lw{stroke:rgba(255,255,255,.78);stroke-width:3}
