/* ============================================================
   授权激活 / 试用提示 / 副本隔离信息
   ============================================================ */
/* 浅色遮罩：即使登录框卡住，也不会出现「黑屏吓人」的情况 */
.lic-mask{
  position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(250,247,240,.96);
  overflow-y:auto;
}
.lic-mask.on{display:flex}
.lic-card{
  width:100%;max-width:400px;background:linear-gradient(170deg,#fffdf8,#f7f2ea);
  border-radius:22px;padding:26px 22px 20px;text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(255,255,255,.85);
  animation:licIn .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes licIn{from{transform:scale(.9) translateY(12px);opacity:0}to{transform:scale(1);opacity:1}}
.lic-logo{font-size:44px;line-height:1;margin-bottom:6px}
.lic-card h3{font-size:19px;font-weight:800;color:#3a3340;margin-bottom:4px}
.lic-sub{font-size:12.5px;color:#8a8098;margin-bottom:18px}
.lic-block{text-align:left;margin-bottom:14px}
.lic-block label{display:block;font-size:12px;font-weight:800;color:#6b6274;margin-bottom:6px}
.lic-mid{display:flex;gap:8px;align-items:center}
.lic-mid code{
  flex:1;background:#f2edf8;border-radius:11px;padding:10px 12px;font-size:15px;font-weight:800;
  letter-spacing:1.5px;color:#5b4a7a;font-family:Consolas,Monaco,monospace;
  word-break:break-all;user-select:text;-webkit-user-select:text;
}
.lic-copy{
  flex-shrink:0;font-size:12px;font-weight:800;padding:9px 12px;border-radius:11px;
  background:linear-gradient(135deg,#b9a4ff,#8c6fe0);color:#fff;transition:.15s;
}
.lic-copy:hover{filter:brightness(1.08)}
.lic-tip{display:block;font-size:11px;color:#9a90a8;margin-top:5px;line-height:1.5}
.lic-block input{
  width:100%;height:48px;border-radius:13px;border:1.5px solid #e6dff0;background:#fff;
  padding:0 14px;font-size:15px;font-weight:800;letter-spacing:1px;text-align:center;
  font-family:Consolas,Monaco,monospace;color:#3a3340;outline:none;
  user-select:text;-webkit-user-select:text;
}
.lic-block input:focus{border-color:#b9a4ff;box-shadow:0 0 0 3px rgba(185,164,255,.18)}
.lic-msg{font-size:12.5px;font-weight:700;min-height:18px;margin-bottom:10px;color:#c0392b}
.lic-msg.ok{color:#2b7f63}
.lic-go{
  width:100%;height:50px;border-radius:16px;border:none;font-size:16px;font-weight:900;color:#fff;
  background:linear-gradient(135deg,#d4a94e,#c08552);cursor:pointer;
  box-shadow:0 8px 20px rgba(212,169,78,.35);transition:.18s;
}
.lic-go:hover{transform:translateY(-1.5px);filter:brightness(1.06)}
.lic-go:active{transform:translateY(0) scale(.985)}
.lic-foot{font-size:11.5px;color:#9a90a8;margin-top:12px;line-height:1.6}

/* 试用提示条 */
.trial-bar{
  display:flex;align-items:center;gap:8px;padding:8px 14px;margin:0 0 10px;
  border-radius:12px;font-size:12px;font-weight:700;color:#8a6a1f;
  background:linear-gradient(135deg,#fff4d6,#ffeec0);
  box-shadow:inset 0 0 0 1px rgba(212,169,78,.35);
}
.trial-bar b{color:#7a5a10}
.trial-bar button{margin-left:auto;font-size:11.5px;font-weight:800;padding:5px 11px;
  border-radius:9px;background:#d4a94e;color:#fff;flex-shrink:0}
/* 试用已到期：变红提醒 */
.trial-bar.expired{
  color:#a32d2d;background:linear-gradient(135deg,#ffe3e3,#ffd6d6);
  box-shadow:inset 0 0 0 1px rgba(163,45,45,.4);
}
.trial-bar.expired b{color:#a32d2d}
/* v68：到期前备份提醒条（样式沿用试用条，色系偏青，别混淆两种提醒） */
.bk-remind{
  color:#2f6b64;background:linear-gradient(135deg,#e2f3ef,#d3ece6);
  box-shadow:inset 0 0 0 1px rgba(78,122,117,.35);
}
.bk-remind b{color:#2f6b64}
.bk-remind button{background:#4E7A75}
.bk-remind button.later{background:#fff;color:#4E7A75;box-shadow:inset 0 0 0 1px rgba(78,122,117,.4);margin-left:6px}

/* 到期续费锁：全屏遮住功能，展示收款码（z-index 低于登录层 9000，
   点「去登录」时登录框浮在锁上面） */
.pay-mask{
  position:fixed;inset:0;z-index:8950;display:none;align-items:flex-start;justify-content:center;
  padding:24px 16px 40px;background:rgba(250,247,240,.98);
  overflow-y:auto;
}
.pay-mask.on{display:flex}
.pay-card{
  width:100%;max-width:430px;background:linear-gradient(170deg,#fffdf8,#f7f2ea);
  border-radius:24px;padding:28px 22px 24px;text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 0 0 1.5px rgba(255,255,255,.85);
  animation:licIn .3s cubic-bezier(.34,1.56,.64,1);
}
.pay-card .pay-logo{font-size:44px;line-height:1;margin-bottom:6px}
.pay-card h3{font-size:20px;font-weight:900;color:#a32d2d;margin-bottom:6px}
.pay-sub{font-size:12.5px;color:#6b6274;line-height:1.7;margin-bottom:14px}
.pay-sub b{color:#1f7a58}
/* v101：到期锁上直接亮出账号（点一下复制），老师换续期码时不用再去别处翻 */
.pay-acc{
  display:inline-block;margin-top:4px;padding:2px 9px;border-radius:9px;
  font-family:Consolas,Monaco,monospace;font-size:11.5px;letter-spacing:.5px;
  color:#6b6274;background:rgba(78,122,117,.1);cursor:pointer;transition:.15s;
}
.pay-acc:hover{background:rgba(78,122,117,.2);color:#4E7A75}
.pay-plans{display:flex;gap:10px;justify-content:center;margin-bottom:14px}
.pay-plan{
  flex:1;max-width:170px;background:#fff;border-radius:16px;padding:12px 8px;
  box-shadow:inset 0 0 0 1.5px rgba(212,169,78,.45);position:relative;
}
.pay-plan .pp-tag{
  position:absolute;top:-9px;right:10px;font-size:10px;font-weight:900;color:#fff;
  background:linear-gradient(135deg,#e67e22,#d35400);border-radius:8px;padding:2px 8px;
}
.pay-plan .pp-name{font-size:14px;font-weight:900;color:#3a3340;margin-bottom:3px}
.pay-plan .pp-price{font-size:13px;font-weight:800;color:#c08552}
.pay-qrs{display:flex;gap:12px;justify-content:center;margin-bottom:12px}
.pay-qrs figure{flex:1;max-width:180px;margin:0}
.pay-qrs img{
  width:100%;border-radius:14px;display:block;background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.12),inset 0 0 0 1px rgba(212,169,78,.3);
}
.pay-qrs figcaption{font-size:11.5px;font-weight:800;color:#6b6274;margin-top:6px}
/* v61：只剩一个客服微信码时，给它更大的版面（原来是两张码并排） */
.pay-qrs.solo{margin-bottom:14px}
.pay-qrs.solo figure{max-width:236px}
.pay-qrs.solo figcaption{font-size:13px;color:#a32d2d;margin-top:8px}
.pay-steps{
  font-size:11.5px;color:#8a8098;line-height:1.8;text-align:left;
  background:#fff;border-radius:14px;padding:10px 12px;margin-bottom:14px;
  box-shadow:inset 0 0 0 1px rgba(212,169,78,.22);
}
.pay-steps b{color:#c08552}
.pay-go{
  width:100%;height:48px;border-radius:16px;border:none;font-size:15px;font-weight:900;color:#fff;
  background:linear-gradient(135deg,#d4a94e,#c08552);cursor:pointer;
  box-shadow:0 8px 20px rgba(212,169,78,.35);transition:.18s;
}
.pay-go:hover{transform:translateY(-1.5px);filter:brightness(1.06)}
/* v101：到期锁上的「不受限出口」—— 备份 / 换账号。次级按钮，别抢续期码的主位 */
.pay-go.ghost{
  background:#fff;color:#6b6274;box-shadow:inset 0 0 0 1.5px #e6dff0;
  font-size:13.5px;height:44px;margin-top:8px;
}
.pay-go.ghost:hover{color:#c08552;box-shadow:inset 0 0 0 1.5px #d4a94e}
.pay-life{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pay-mini{
  flex:1;min-width:132px;height:40px;border-radius:13px;border:none;cursor:pointer;
  background:rgba(78,122,117,.1);color:#4E7A75;font-size:12.5px;font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(78,122,117,.25);transition:.16s;
}
.pay-mini:hover{background:rgba(78,122,117,.18)}
.pay-bkinfo{
  display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:#6b6274;
  background:#fff;border-radius:12px;padding:9px 10px;margin-bottom:12px;
  box-shadow:inset 0 0 0 1px rgba(212,169,78,.22);
}
.pay-bkinfo b{color:#2f2a38}
.pay-note{font-size:11px;color:#9a90a8;margin-top:10px;line-height:1.6}

/* 我的 · 授权信息 */
.lic-info{
  background:linear-gradient(170deg,#fffdf8,#f6f1ea);border-radius:16px;padding:14px;
  margin-bottom:12px;box-shadow:inset 0 0 0 1px rgba(212,169,78,.28);
}
.lic-info .li-row{display:flex;justify-content:space-between;align-items:center;
  font-size:12.5px;padding:5px 0;color:#6b6274}
.lic-info .li-row b{color:#3a3340;font-weight:800}
.lic-info .li-badge{
  display:inline-block;font-size:11px;font-weight:800;padding:3px 9px;border-radius:9px;
  background:linear-gradient(135deg,#d8f5ea,#b8ecd8);color:#1f7a58;margin-bottom:8px;
}
.lic-info .li-badge.bad{background:linear-gradient(135deg,#ffe0e0,#ffc9c9);color:#a32d2d}
.lic-info .li-mid{
  font-family:Consolas,Monaco,monospace;font-size:13px;font-weight:800;letter-spacing:1px;
  background:#f2edf8;border-radius:9px;padding:7px 10px;margin:6px 0 10px;color:#5b4a7a;
  word-break:break-all;user-select:text;-webkit-user-select:text;
}
.lic-info .li-btns{display:flex;gap:8px;margin-top:10px}
.lic-info .li-btns button{
  flex:1;height:38px;border-radius:12px;font-size:12.5px;font-weight:800;
  background:rgba(255,255,255,.9);color:#6b6274;box-shadow:inset 0 0 0 1px rgba(212,169,78,.3);
}
.lic-info .li-btns button:hover{background:#fff;color:#3a3340}

/* ===== v97：登录 / 注册双页签 =====
   配色沿用现有语言：青 = 切视图，金 = 下指令。页签是切视图，按钮才是下指令。 */
.lic-tabs{display:flex;gap:8px;margin:12px 0 4px}
.lic-tabs button{
  flex:1;height:40px;border-radius:12px;border:none;font-size:12.5px;font-weight:800;
  background:rgba(255,255,255,.9);color:#8a8098;cursor:pointer;transition:.18s;
  box-shadow:inset 0 0 0 1.5px rgba(78,122,117,.25);
}
.lic-tabs button:hover{color:#3a3340}
.lic-tabs button.on{
  color:#fff;background:linear-gradient(135deg,#5d9089,#4E7A75);
  box-shadow:0 6px 16px rgba(78,122,117,.35);
}
.lic-tabs button:active{transform:scale(.97)}

/* ===== v97：注册面板 / 注册成功卡片 ===== */
.lic-signup{margin-top:14px;text-align:left}
.lic-su-t{font-size:15px;font-weight:900;color:#3a3340;text-align:center;margin-bottom:2px}
.lic-su-b{
  margin-top:10px;font-size:11px;color:#9a90a8;line-height:1.75;text-align:center;
}
.lic-su-b b{color:#4E7A75}
/* 姓名/学校这类中文输入不该用等宽居中，只有推荐码保持 mono */
#signupBox .lic-block input{
  text-align:left;font-family:inherit;letter-spacing:0;font-weight:600;font-size:14px;
}
#signupBox #suRef{
  text-align:center;font-family:Consolas,Monaco,monospace;letter-spacing:1px;text-transform:uppercase;
}
/* 到期锁里的激活码输入块 */
.pay-act{
  background:#fff;border-radius:14px;padding:12px;margin-bottom:12px;text-align:left;
  box-shadow:inset 0 0 0 1.5px rgba(78,122,117,.28);
}
.pay-act-t{font-size:12.5px;font-weight:800;color:#4E7A75;margin-bottom:8px;text-align:center}
.pay-act input{
  width:100%;box-sizing:border-box;height:46px;border-radius:12px;border:1.5px solid #e6dff0;
  background:#fff;padding:0 12px;font-size:14px;font-weight:800;letter-spacing:1px;text-align:center;
  font-family:Consolas,Monaco,monospace;color:#3a3340;outline:none;text-transform:uppercase;
}
.pay-act input:focus{border-color:#4E7A75;box-shadow:0 0 0 3px rgba(78,122,117,.18)}
.pay-act .lic-msg{margin:8px 0 0;text-align:center}
#actGo{margin-top:10px}

/* ===== v98：教室账号登录折叠盒 + 文字切换链 =====
   老账号这条路不能删（作者手发的号、v97 前注册的号都靠它），
   但对新老师来说是干扰项 —— 折起来藏好，要用的人自己点开。 */
.lic-accbox{
  margin-top:12px;padding-top:12px;text-align:left;
  border-top:1.5px dashed rgba(78,122,117,.28);
}
.lic-textline{
  display:block;width:100%;margin-top:10px;padding:0;background:none;border:none;
  font-size:12px;color:#8a8098;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px;
}
.lic-textline:active{opacity:.6}
/* 成功卡里的「备用账密」：主行是登录名，这两行弱化处理，别抢戏 */
.lic-mid-sub{opacity:.72;margin-top:6px}
.lic-mid-sub span{font-size:11px;color:#9a90a8;flex:0 0 auto;margin-right:2px}
.lic-mid-sub code{font-size:12px !important;letter-spacing:.5px !important}

/* ===== v86：免登录激活推荐码 ===== */
.lic-refline{display:block;width:100%;margin-top:12px;padding:0;background:none;border:none;
  font-size:12px;color:#7a6a8a;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.lic-refline b{color:#C8452F}
.lic-refbox{margin-top:14px;text-align:left}
.lic-ref-t{font-size:13.5px;font-weight:800;color:#4a4152;margin-bottom:10px}
.lic-refbox input{width:100%;box-sizing:border-box;border:2px solid #e6e0f0;border-radius:12px;
  padding:11px 12px;font-size:14px;font-family:Consolas,Menlo,monospace;outline:none;text-transform:uppercase}
.lic-refbox input:focus{border-color:#b9a4ff;box-shadow:0 0 0 3px rgba(185,164,255,.18)}
.lic-back{display:block;width:100%;margin-top:8px;padding:0;background:none;border:none;
  font-size:12px;color:#8a8098;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lic-ref-b{margin-top:10px;font-size:11px;color:#9a90a8;line-height:1.7}
