/* ==========================================================================
   11-v2.css —— 1.1.3 简洁版外壳（老板 2026-10-09 定稿）
   必须排在所有 css 之后加载：它是对前面的覆盖层。
   想整体退回 1.0.3：把页面里这一行 <link> 删掉即可，其余文件一字不动。
   ========================================================================== */

/* ---------- 基调：极简黑白灰 + 绿色品牌色（沿用 01-base.css 的 :root） ---------- */
.v2app{position:fixed;inset:0;display:flex;background:#f2f3f5;font-size:14px}
.v2app *{box-sizing:border-box}

/* 1.0.3 兼容暂存区：老 js 要写这些 id，但一律不显示 */
.v103stash{display:none!important}

/* 状态条藏起来（1.1.3 没有横贯底栏）；连接状态走侧栏头像绿点 */
body:has(.v2app) .bar{display:none}

/* ---------- 登录页 1.1.3 化 ---------- */
#authWrap .authcard{border-radius:14px;border:1px solid #e3e5e8;box-shadow:0 10px 40px rgba(10,14,18,.10)}
/* 语言切换：品牌行右边一个小国旗 + 小箭头（老板 2026-10-09 定稿） */
.authtop{display:flex;align-items:center;justify-content:center;gap:7px}
.authtop .authtitle{flex:0 1 auto}
.authtop .aedit{margin:0;position:relative;flex:none}
.alangbtn{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:1px solid transparent;
  border-radius:6px;background:none;cursor:pointer;line-height:1}
.alangbtn:hover{border-color:#e3e5e8;background:#f6f7f8}
.alangcar{color:#8b949d;font-size:10px;line-height:1}
.alangmenu{min-width:118px;right:0;left:auto}

/* 重置密码：弹层对话框（覆盖全屏、居中、带遮罩） */
.authdlg{position:fixed;inset:0;margin:auto;width:100%;max-width:376px;height:max-content;
  max-height:88vh;overflow:auto;background:#fff;border:1px solid #e3e5e8;border-radius:16px;
  padding:22px 24px 20px;z-index:10001;box-shadow:0 24px 64px rgba(10,14,30,.28)}
.authdlg::before{content:'';position:fixed;inset:0;background:rgba(16,20,26,.30);z-index:-1}
.adlghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.adlghead>span{font-size:16px;font-weight:600;color:#1f2c3a;letter-spacing:.2px}
.adlgx{border:none;background:none;color:#8b949d;font-size:13px;line-height:1;cursor:pointer;
  padding:4px 6px;border-radius:6px}
.adlgx:hover{background:#eef0f2;color:#1f2c3a}
.adlghint{font-size:12px;color:#8b949d;margin-bottom:16px}
.authdlg .afield:last-of-type{margin-bottom:8px}

/* 品牌行已撤掉（2026-10-09），样式留着以防回退 */
.v2brandline{margin-top:2px;font-size:15px;color:#1f2c3a;letter-spacing:.2px}
.v2brandline b{font-size:12px;color:#59646f}
.v2brandline .v2ver{display:inline-block;margin-left:8px;font-size:11px;color:#8b949d;
  border:1px solid #e3e5e8;border-radius:999px;padding:1px 8px}
.aedit{margin:12px 0 2px}
.aedit select{width:100%;padding:8px 10px;border:1px solid #dfe2e6;border-radius:8px;
  font:inherit;font-size:13px;background:#fff;color:#1f2c3a}

/* 2026-10-09 老板定稿：登录卡极简化 */
/* Logo：用站点 logo.png（白底彩环图），不再用绿色渐变小方块 */
#authWrap .authlogo{width:78px;height:78px;border-radius:50%;background:#fff;
  box-shadow:none;margin:0 auto 10px;padding:0;overflow:hidden}
#authWrap .authlogo img{width:100%;height:100%;object-fit:contain;display:block}

/* 语言下拉菜单项（国旗 = 内联 SVG，Windows 不渲染国旗 emoji） */
.v2langmenu{position:absolute;top:calc(100% + 5px);z-index:30;
  background:#fff;border:1px solid #e3e5e8;border-radius:8px;
  box-shadow:0 8px 24px rgba(10,14,18,.12);overflow:hidden;padding:3px}
.v2langopt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;
  font-size:13px;color:#1f2c3a;cursor:pointer;white-space:nowrap}
.v2langopt:hover{background:#eef0f2}
.v2langflag{display:inline-flex;width:21px;height:14px;flex-shrink:0}
.v2langflag svg{width:21px;height:14px;display:block;border-radius:2px;
  box-shadow:0 0 0 1px rgba(20,30,50,.12)}

/* ---------- 侧栏 ---------- */
.v2side{width:var(--v2w,400px);min-width:240px;background:#fbfbfc;border-right:1px solid #e6e8ea;
  display:flex;flex-direction:column;flex-shrink:0}
.v2collapsed .v2side{display:none}
.v2collapsed .v2split{display:none}

.v2top{display:flex;align-items:flex-start;gap:8px;padding:12px 12px 8px}
.v2burger{border:none;background:none;font-size:16px;color:#4a5560;cursor:pointer;padding:4px 6px;border-radius:6px}
.v2burger:hover{background:#eef0f2}
.v2brand{flex:1;min-width:0;padding-left:2px}
.v2bn{font-size:15px;font-weight:600;color:#1f2c3a}
.v2bn b{font-size:11px;color:#59646f;margin-left:2px}
.v2bv{font-size:11px;color:#8b949d;margin-top:1px}
.v2topicons{display:flex;gap:4px}
.v2ico{width:24px;height:24px;border-radius:50%;border:1px solid #d8dce0;background:#fff;
  color:#59646f;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.v2ico:hover{border-color:#b9c0c7;color:#1f2c3a}

.v2search{padding:4px 12px 8px}
.v2search input{width:100%;padding:7px 12px;border:1px solid #e3e5e8;border-radius:8px;
  background:#f2f3f5;font:inherit;font-size:13px;color:#1f2c3a;outline:none}
.v2search input:focus{background:#fff;border-color:#c6ccd2}

.v2list{flex:1;overflow-y:auto;padding:2px 6px 8px}
.v2group{margin-top:8px}
.v2ghead{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:12px;color:#7a858f;cursor:pointer;user-select:none}
.v2ghead .gm{font-size:11px;width:14px;text-align:center}
.v2ghead.gfold + .v2grows{display:none}
.v2grows .v2grow + .v2grow{margin-top:1px}
.v2ghead .gn{color:#a5adb5}
.v2grow{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:8px;cursor:pointer;position:relative}
.v2grow:hover{background:#eef0f2}
.v2grow.on{background:#e6e9ec}
.v2gav{width:34px;height:34px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:13px;background:#8b949d;background-size:cover;background-position:center}
.v2gname{flex:1;min-width:0;font-size:14px;color:#1f2c3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2gbadge{min-width:17px;height:17px;border-radius:999px;background:#D6453D;color:#fff;font-size:11px;
  display:flex;align-items:center;justify-content:center;padding:0 5px}
.v2gdot{width:8px;height:8px;border-radius:50%;background:#D6453D}
.v2dots{border:none;background:none;color:#98a1aa;font-size:16px;cursor:pointer;padding:2px 4px;border-radius:6px;letter-spacing:1px}
.v2grow:hover .v2dots{color:#4a5560}
.v2dots:hover{background:#e0e3e6}

/* 未处理消息：QQ 式头像抖动 */
@keyframes v2shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}
.v2shake .v2gav{animation:v2shake .5s ease-in-out infinite}

/* 侧栏底部：主账号 | 消息中心 | 电脑 */
.v2bottom{display:flex;align-items:center;gap:6px;padding:10px 14px;border-top:1px solid #e6e8ea}
.v2bav{width:36px;height:36px;border-radius:50%;background:#1D7A5F;color:#fff;font-size:14px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;background-size:cover;background-position:center}
.v2bsp{flex:1}
.v2bico{position:relative;border:none;background:none;font-size:17px;color:#4a5560;cursor:pointer;padding:6px 8px;border-radius:8px}
.v2bico:hover{background:#eef0f2}
.v2bico.dim{color:#b9c0c7;cursor:not-allowed}
.v2dot{position:absolute;top:2px;right:2px;width:9px;height:9px;border-radius:50%;background:#D6453D;border:1.5px solid #fbfbfc}

/* ---------- 可拖分隔线 ---------- */
.v2split{width:5px;cursor:col-resize;flex-shrink:0;background:transparent;margin-left:-3px;z-index:5}
.v2split:hover{background:#dfe3e7}

/* ---------- 主区 ---------- */
.v2main{flex:1;min-width:0;position:relative;display:flex;flex-direction:column;background:#f2f3f5}
.v2feed{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}
.v2mc{flex:1;display:none;flex-direction:column;min-height:0;overflow:hidden}
.v2stage{flex:1;min-height:0;position:relative;display:none}
.v2app.v2inchat .v2feed{display:none}
.v2app.v2inchat .v2stage{display:flex}
.v2app.v2inchat .v2stage .chatpane{display:flex}
.v2app.v2mcopen .v2feed{display:none}
.v2app.v2mcopen .v2mc{display:flex}

/* 对话窗铺满 stage（1.0.3 的 chatpane 留了 56px 给 tabbar，这里没有 tabbar） */
.v2stage .chatpane{position:absolute;inset:0;bottom:0;background:#f7f8f9;z-index:2}

.v2fhead{display:flex;align-items:center;gap:12px;padding:14px 18px 10px;background:#f2f3f5}
.v2fht{flex:1;min-width:0}
.v2fhn{font-size:16px;font-weight:600;color:#1f2c3a}
.v2fhs{font-size:12px;color:#8b949d;margin-top:1px}
.v2back{border:none;background:#fff;border:1px solid #e3e5e8;color:#4a5560;width:28px;height:28px;
  border-radius:8px;cursor:pointer;font-size:14px;display:none}
.v2newclone{border:none;background:#fff;border:1px solid #e3e5e8;color:#1f2c3a;width:30px;height:30px;
  border-radius:8px;cursor:pointer;font-size:16px}
.v2newclone:hover{background:#eef0f2}

/* 筛选 chips：全部(文字) 消息/邮件/Web(图标) 加急(红框白字) */
.v2chips{display:flex;gap:8px;padding:2px 18px 10px;flex-wrap:wrap}
.v2chip{display:flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;border:1px solid #e3e5e8;
  background:#fff;font-size:13px;color:#4a5560;cursor:pointer;user-select:none}
.v2chip:hover{border-color:#c6ccd2}
.v2chip.on{background:#1f2c3a;border-color:#1f2c3a;color:#fff}
.v2chip .cn{font-size:12px;color:#8b949d}
.v2chip.on .cn{color:#c3c9cf}
.v2chip.urgent{border:1.5px solid #D6453D;color:#D6453D;font-weight:600}
.v2chip.urgent.on{background:#D6453D;color:#fff}
.v2chip.urgent .cn{color:#D6453D}
.v2chip.urgent.on .cn{color:#ffd9d6}

/* 消息流条目：最左侧类别小图标 */
.v2threads{flex:1;overflow-y:auto;padding:0 18px 18px}
.v2trow{display:flex;align-items:center;gap:12px;padding:11px 12px;background:#fff;border:1px solid #e6e8ea;
  border-radius:10px;margin-bottom:8px;cursor:pointer}
.v2trow:hover{border-color:#c6ccd2}
.v2trow.urgent{border:1.5px solid #D6453D;background:#fff7f6}
.v2ticon{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:14px}
.v2ticon.msg{background:#3D7BD6}
.v2ticon.mail{background:#D69A3D}
.v2ticon.web{background:#1D7A5F}
.v2ticon.urgent{background:#D6453D;border-radius:8px;font-size:11px;font-weight:700}
.v2tbody{flex:1;min-width:0}
.v2tr1{display:flex;align-items:baseline;gap:8px}
.v2tname{font-size:14px;color:#1f2c3a;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2tsub{font-size:12px;color:#8b949d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2tlast{font-size:13px;color:#59646f;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v2tright{text-align:right;flex-shrink:0}
.v2ttime{font-size:11px;color:#a5adb5}
.v2tbadge{min-width:17px;height:17px;border-radius:999px;background:#D6453D;color:#fff;font-size:11px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 5px;margin-top:4px}
.v2empty{padding:40px 0;text-align:center;color:#a5adb5;font-size:13px}

/* ---------- 消息中心 ---------- */
.v2mcbody{flex:1;overflow-y:auto;padding:0 18px 18px}
.v2mcgrp{margin-bottom:16px}
.v2mcgname{font-size:13px;color:#7a858f;margin:6px 2px}
.v2mccard{background:#fff;border:1px solid #e6e8ea;border-radius:10px;padding:12px 14px;margin-bottom:8px}
.v2mccard.task{border:1.5px solid #D6453D}
.v2mcc1{display:flex;align-items:baseline;gap:8px}
.v2mcn{font-weight:500;color:#1f2c3a}
.v2mclv{font-size:11px;color:#D6453D;border:1px solid #D6453D;border-radius:4px;padding:0 5px}
.v2mclv.left{color:#8b949d;border-color:#d8dce0}
.v2mcp{font-size:13px;color:#59646f;margin-top:6px;white-space:pre-wrap;word-break:break-word}
.v2mcact{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.v2btn{border:1px solid #e3e5e8;background:#fff;color:#1f2c3a;border-radius:8px;padding:5px 14px;
  font-size:13px;cursor:pointer}
.v2btn:hover{background:#f2f3f5}
.v2btn.pri{background:#1D7A5F;border-color:#1D7A5F;color:#fff}
.v2btn.pri:hover{background:#16634c}
.v2btn.warn{border-color:#D6453D;color:#D6453D}
.v2btn.warn:hover{background:#fdf0ef}

/* ---------- ⋮ 菜单 ---------- */
.v2menu{position:fixed;z-index:120;background:#fff;border:1px solid #e3e5e8;border-radius:10px;
  box-shadow:0 8px 28px rgba(10,14,18,.14);padding:5px;min-width:130px}
.v2menu .mi2{padding:8px 12px;border-radius:7px;font-size:13px;color:#1f2c3a;cursor:pointer}
.v2menu .mi2:hover{background:#f2f3f5}
.v2menu .mi2.danger{color:#D6453D}
.v2menu .mi2.sep{border-top:1px solid #eef0f2;margin-top:4px;padding-top:8px;border-radius:0}

/* ---------- ID 大字 ---------- */
.v2idbig{font-family:Consolas,monospace;font-size:26px;font-weight:700;color:#1f2c3a;
  letter-spacing:2px;margin:14px 0 6px}

/* ---------- 网站访客详情（脱离 .pages 后自己固定定位） ---------- */
.v2leadbox{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:130;
  max-height:82vh;overflow:auto;box-shadow:0 12px 40px rgba(10,14,18,.22)}

/* ---------- 帮助 / 关于 小弹层 ---------- */
#mAbout .mbox p{font-size:13px;color:#4a5560;line-height:1.7;margin:6px 0}

/* ---------- 删除分身弹层（邮箱验证码）---------- */
.v2delwarn{font-size:13px;color:#4a5560;line-height:1.7;margin:4px 0 12px}
#mCloneDel .mnote{min-height:17px}

/* ---------- 电脑端：收起后留一个浮动 ☰ 唤回 ---------- */
.v2float{position:fixed;left:10px;top:10px;z-index:90;width:34px;height:34px;border-radius:9px;
  border:1px solid #e3e5e8;background:#fff;color:#4a5560;font-size:15px;cursor:pointer;display:none;
  box-shadow:0 4px 14px rgba(10,14,18,.10)}
.v2collapsed .v2float{display:block}

/* ---------- 1.1.3 返回修复（老板 2026-10-09）----------
   症状：点进第二栏 / 第三栏之后"没有返回的地方，反正我找不到"。
   根因是 1.0.3 的桌面假设在 v2 外壳里不成立：
     · #chatBack 在桌面端被显式藏掉（1.0.3 左侧常驻会话列表，用不着返回）
     · .v2back 只在窄屏显示 —— 桌面端打开消息中心就卡在里面出不来
   而 v2 外壳的 stage 是**铺满主区**的，没有"左侧列表"可点，所以必须有返回。 */
@media (min-width:860px){
  .v2back{display:flex!important}
  .v2stage #chatBack{display:flex!important}
}
/* 把三个返回统一成"一眼看得见"的小按钮：白底 + 细边框 + 圆角。
   原来只是个 22px 的淡灰 "‹" 裸字符，老板说找不到 —— 给它一个可见的容器。 */
.v2back,.v2stage #chatBack,.v2stage .mhead .back,.v2stage .shead .back{
  align-items:center;justify-content:center;width:30px;height:30px;flex:none;
  background:#fff;border:1px solid #e3e5e8;border-radius:8px;
  font-size:17px;font-weight:700;line-height:1;color:#4a5560;padding:0;cursor:pointer}
.v2back:hover,.v2stage #chatBack:hover,.v2stage .mhead .back:hover,.v2stage .shead .back:hover{
  background:#eef0f2;color:#1f2c3a;border-color:#c6ccd2}

/* ---------- 移动端：整宽三段式，> 进下一级 / < 返回 ---------- */
@media (max-width:860px){
  .v2app{--v2w:100%!important}
  .v2side{width:100%!important;border-right:none}
  .v2split{display:none!important}
  .v2float{display:none!important}
  /* 第一层=侧栏；选了分身 → 进第二层 */
  .v2app.v2incl .v2side{display:none}
  .v2app.v2incl .v2feed{display:flex}
  .v2app:not(.v2incl) .v2feed{display:none}
  /* 第三层=对话窗 */
  .v2app.v2inchat .v2stage{display:flex}
  /* 消息中心是一层 */
  .v2app.v2mcopen .v2mc{display:flex}
  .v2app.v2mcopen .v2side{display:none}
  /* 大 1 号加粗的层级符号 */
  .v2back{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px;
    border:none;background:none}
  .v2gname:after{content:'›';font-weight:700;font-size:17px;color:#b9c0c7;margin-left:6px}
  .v2fhead{padding:12px 14px 8px}
  .v2chips{padding:2px 14px 8px}
  .v2threads{padding:0 12px 14px}

  /* ---- 10. 发送侧自动翻译选择器 + 提示 ---- */
  .ycTrans{display:inline-flex;align-items:center;gap:4px;margin-right:8px;color:#6b7280;font-size:12px;white-space:nowrap}
  .ycTransLbl{opacity:.85}
  .ycTrans .sel{height:26px;padding:0 4px;font-size:12px;margin:0}
  .ycToast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%) translateY(10px);
    background:rgba(17,24,39,.92);color:#fff;padding:7px 14px;border-radius:8px;font-size:13px;
    opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:9999;max-width:80vw;
    text-align:center}
  .ycToast.show{opacity:1;transform:translateX(-50%) translateY(0)}
}

/* ---------- 11. 分身管理（回收站） ----------
   规格来自老板 2026-10-09：待处理分身的**名字用红色**，右侧 Recovery / Destroy。
   红色只给"名字"，不给整行 —— 整行刷红会变成警告横幅，一眼看过去像出了故障；
   而这里的状态是"等老板决定"，不是"系统报错"。 */
.mgrsec{font-size:12px;font-weight:600;color:#6b7684;margin:16px 0 6px;letter-spacing:.02em}
.mgrsec:first-child{margin-top:0}
.mgrsec.warn{color:#c0392b}
.mgrrow{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;border-radius:8px;background:#f6f7f9;margin-bottom:6px}
.mgrrow.trash{background:#fff6f6;border:1px solid #ffdcdc}
.mgrrowmain{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mgrname{font-size:14px;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mgrname.dead{color:#d0021b;font-weight:600}          /* 待处理分身：红色名字 */
.mgrwhen{font-size:11px;color:#9aa2ac}
.mgrbtns{display:flex;gap:6px;flex-shrink:0}
.mgrbtn{font-size:12px;padding:4px 10px;height:auto;line-height:1.5}
.mgrbtn.danger{color:#d0021b;border-color:#f2c3c3}
.mgrbtn.danger:hover{background:#d0021b;border-color:#d0021b;color:#fff}
.mgrdot{width:8px;height:8px;border-radius:50%;background:#1D7A5F;flex-shrink:0}
#mCloneMgr .mbox{max-height:82vh;display:flex;flex-direction:column}
#cloneMgrBody{overflow-y:auto;min-height:0;padding-right:2px}
