:root{
  --bg:#f4f6fb; --panel:#fff; --ink:#1f2733; --muted:#6b7686; --line:#e3e8f0;
  --brand:#3b6ef5; --brand-d:#2c54c9; --ok:#1f9d55; --warn:#c9740b; --err:#d23b3b;
  --star:#f5b50a; --shadow:0 1px 3px rgba(20,30,60,.08),0 4px 14px rgba(20,30,60,.05);
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{height:54px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 18px;gap:14px;position:sticky;top:0;z-index:20}
.topbar .logo{font-weight:700;font-size:18px;color:var(--brand);display:flex;align-items:center;gap:8px}
.topbar .logo .dot{width:10px;height:10px;border-radius:50%;background:var(--brand)}
.topbar .spacer{flex:1}
.topbar .who{color:var(--muted)}
.topbar a.btn{padding:6px 12px}
.layout{display:flex;min-height:calc(100vh - 54px)}
.sidebar{width:210px;background:var(--panel);border-right:1px solid var(--line);padding:14px 10px;flex-shrink:0;position:sticky;top:54px;height:calc(100vh - 54px);overflow-y:auto;align-self:flex-start}
.sidebar a{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:8px;color:var(--ink);margin-bottom:2px}
.sidebar a:hover{background:#eef2fb;text-decoration:none}
.sidebar a.active{background:#e7eefe;color:var(--brand-d);font-weight:600}
.sidebar .badge{background:var(--brand);color:#fff;border-radius:10px;padding:0 7px;font-size:12px;line-height:18px}
.sidebar .sect{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:16px 12px 6px}
.compose-btn{display:block;background:var(--brand);color:#fff;text-align:center;padding:10px;border-radius:8px;font-weight:600;margin-bottom:12px}
.compose-btn:hover{background:var(--brand-d);text-decoration:none}
.main{flex:1;padding:18px 22px;min-width:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.card-pad{padding:18px 20px}
h1{font-size:20px;margin:0 0 16px}
h2{font-size:16px;margin:0 0 12px}
.flash{padding:10px 14px;border-radius:8px;margin-bottom:14px}
.flash.ok{background:#e7f7ee;color:var(--ok);border:1px solid #b8e7cb}
.flash.err{background:#fdeaea;color:var(--err);border:1px solid #f4c4c4}
.btn{display:inline-block;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:14px;cursor:pointer}
.btn:hover{background:var(--brand-d);text-decoration:none}
.btn.sec{background:#eef1f6;color:var(--ink)}
.btn.sec:hover{background:#e2e7ef}
.btn.danger{background:var(--err)}
.btn.sm{padding:5px 10px;font-size:13px}
input,textarea,select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand)}
label{display:block;margin:12px 0 5px;font-weight:600;font-size:13px}
.row{display:flex;gap:12px}
.row>*{flex:1}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
.maillist{list-style:none;margin:0;padding:0}
.maillist li{display:grid;grid-template-columns:22px 24px 180px minmax(0,1fr) 108px;align-items:center;column-gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.maillist li:hover{background:#f8faff}
.maillist li.unread{background:#fbfdff;font-weight:600}
.maillist .star{color:#cdd4df;font-size:18px;width:20px;text-align:center}
.maillist .star.on{color:var(--star)}
.maillist .from{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.maillist .subj{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.maillist .subj .snip{color:var(--muted);font-weight:400}
.maillist .date{text-align:right;color:var(--muted);font-size:12px}
.maillist .clip{color:var(--muted)}
.maillist li .rowchk{margin:0;cursor:pointer;width:16px;height:16px}
.maillist li .inline-form{display:flex;align-items:center;justify-content:center;margin:0}
.empty{padding:50px;text-align:center;color:var(--muted)}
.auth-wrap{width:100%;max-width:380px;margin:auto}
.auth-wrap .card-pad{padding:26px 28px}
.auth-wrap .logo{font-size:22px;font-weight:700;color:var(--brand);text-align:center;margin-bottom:6px}
.auth-wrap .sub{text-align:center;color:var(--muted);margin-bottom:18px}
.muted{color:var(--muted)}
.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600}
.pill.green{background:#e7f7ee;color:var(--ok)}
.pill.gray{background:#eef1f6;color:var(--muted)}
.pill.red{background:#fdeaea;color:var(--err)}
.pill.blue{background:#e7eefe;color:var(--brand-d)}
.pill.amber{background:#fdf2e0;color:var(--warn)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}
.stat .n{font-size:26px;font-weight:700}
.stat .l{color:var(--muted);font-size:13px;margin-top:2px}
.mailhead{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}
.mailhead .subj{font-size:20px;font-weight:700;margin-bottom:8px}
.mailbody{white-space:pre-wrap;word-break:break-word;line-height:1.7}
.mailbody-html{line-height:1.7}
.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.toolbar .spacer{flex:1}
.attach{display:inline-flex;align-items:center;gap:6px;background:#f3f6fc;border:1px solid var(--line);border-radius:8px;padding:6px 12px;margin:4px 6px 0 0}
.code{background:#0f1830;color:#d7e3ff;border-radius:8px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow-x:auto;white-space:pre;word-break:break-all}
.dns-row td{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all}
.note{background:#fff8e8;border:1px solid #f3e2b3;border-radius:8px;padding:12px 14px;color:#7a5a10;margin:10px 0}
.tabs{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.tabs a{padding:9px 14px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.active{color:var(--brand-d);border-color:var(--brand);font-weight:600}
.tabs a:hover{text-decoration:none;color:var(--ink)}
.pager{display:flex;gap:8px;justify-content:center;margin-top:16px}
.inline-form{display:inline}
@media(max-width:760px){
  .sidebar{display:none}
  .maillist li{grid-template-columns:20px 22px 110px minmax(0,1fr) 64px;column-gap:6px}
}

/* 富文本编辑器 */
.rte{border:1px solid var(--border,#e2e8f0);border-radius:8px;overflow:hidden;background:#fff}
.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid var(--border,#e2e8f0)}
.rte-toolbar button{border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 8px;cursor:pointer;font-size:14px;line-height:1;color:#334155}
.rte-toolbar button:hover{background:#e2e8f0}
.rte-toolbar select,.rte-toolbar input[type=color]{height:28px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer}
.rte-toolbar select{font-size:13px;min-width:78px}
.rte-color{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;position:relative;font-weight:700;font-size:13px;color:#334155;overflow:hidden}
.rte-color input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;border:none;cursor:pointer}
.rte-editor img{max-width:100%}
.rte-editor h1{font-size:1.6em}.rte-editor h2{font-size:1.35em}.rte-editor h3{font-size:1.15em}
.rte-editor pre{background:#f1f5f9;padding:10px;border-radius:6px;overflow:auto}
.rte-sep{width:1px;height:20px;background:#e2e8f0;margin:0 4px}
.rte-editor{min-height:280px;max-height:520px;overflow:auto;padding:14px;font-size:14px;line-height:1.7;outline:none}
.rte-editor:empty:before{content:attr(data-ph);color:#94a3b8}
.rte-editor blockquote{border-left:3px solid #cbd5e1;margin:8px 0;padding:4px 12px;color:#475569}

/* 选择/批量操作栏：勾选后才显示操作按钮 */
.selbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:#f8fafc;border:1px solid var(--border,#e2e8f0);border-radius:10px}
.selbar .chk{display:flex;align-items:center;gap:6px;font-size:13px;color:#475569;cursor:pointer;white-space:nowrap}
.selbar .btn,.batch-actions .btn{white-space:nowrap}
.selbar .bcount{font-size:12px;color:#2563eb;min-width:44px}
.selbar .spacer{flex:1}
.batch-actions{display:none;flex-wrap:wrap;align-items:center;gap:6px}
.batch-actions select.sm{height:28px;min-width:100px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;font-size:13px}

.dropdown{position:relative;display:inline-block}
.dropdown-menu{display:none;position:absolute;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border,#e2e8f0);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:180px;z-index:50;overflow:hidden}
.dropdown-menu.show{display:block}
.dropdown-menu a,.dropdown-menu button{display:block;width:100%;text-align:left;padding:9px 14px;background:none;border:none;font-size:14px;color:#334155;cursor:pointer;text-decoration:none;box-sizing:border-box}
.dropdown-menu a:hover,.dropdown-menu button:hover{background:#f1f5f9}
.dropdown-menu form{margin:0}
/* 新建文件夹输入 */
.newfolder-btn{display:flex;align-items:center;padding:9px 12px;border-radius:8px;margin:4px 0 2px;color:var(--brand,#2563eb);border:1px dashed #cbd5e1;cursor:pointer;font-size:13px}
.newfolder-btn:hover{background:#eef2fb;border-style:solid;text-decoration:none}
/* 打印时只显示邮件正文 */
@media print{.topbar,.sidebar,.toolbar,.pager,.batchbar{display:none!important}.layout,.main,.card{display:block!important;margin:0!important;box-shadow:none!important;border:none!important}}


/* ============ 3. 素雅 Serene：浅灰蓝侧栏 + 胶囊选中 + 细分隔（参考 WPS 邮箱）============
   结构变化：侧栏与内容同为浅色、靠 1px 细线分隔，选中项是圆角胶囊；
   列表分隔线极淡，整体安静克制，适合长时间阅读。 */

/* ============ 4. 轻盈 Airy：双行列表 + 大留白 + 柔和投影 ============
   结构变化：邮件列表从"单行表格"改成"双行卡片式条目"——
   发件人与时间在上，主题在下，摘要单独一行；行高与间距显著放大。 */
/* 双行条目 */

/* ============ 5. 图标侧栏 Rail：72px 窄图标栏 + 悬浮标签 ============
   结构变化：侧栏收窄成只剩图标的竖条，正文区因此变宽；
   分组标题隐藏，悬停时从图标右侧浮出文字标签。 */

/* ============ 6. 顶部导航 TopNav：无侧栏，横向导航 + 居中窄内容 ============
   结构变化：侧栏整条搬到顶部成为水平导航，内容区居中限宽，
   更像一个内容型网站而不是后台系统。 */

/* ============ 7. 杂志卡片 Magazine：邮件列表变成双栏卡片墙 ============
   结构变化：表格式列表整体改成卡片网格，主题用衬线大字多行显示，
   摘要独立成段，勾选框与星标缩到卡片角落。 */

/* ============ 8. 纸感阅读 Paper：衬线、窄栏、去卡片化 ============
   结构变化：去掉卡片与阴影，内容限宽居中成一篇"文章"，
   列表用细虚线分隔而不是表格行。 */

/* ============ 9. 樱粉 Blossom：柔和粉紫渐变 + 大圆角 + 轻盈投影 ============
   结构变化：顶栏用极浅的粉紫渐变，卡片大圆角无边框只靠柔影分层，
   侧栏选中项是整块圆角色块，整体柔和亲和。 */

/* ============ 皮肤在手机端的统一回退 ============
   窄屏下所有皮肤的侧栏都退化成顶部横向条。 */
@media (max-width:820px){
  body.theme-rail .sidebar,body.theme-cloud .sidebar,body.theme-paper .sidebar,
  body.theme-serene .sidebar,body.theme-airy .sidebar,body.theme-magazine .sidebar,
  body.theme-blossom .sidebar,body.theme-topnav .sidebar{
    width:100% !important;height:auto !important;max-height:none !important;border-radius:0 !important;
    border-right:none !important;border-bottom:1px solid var(--line);top:0 !important}
  body.theme-rail .sidebar a{justify-content:flex-start;padding:7px 11px}
  body.theme-rail .sidebar a .nav-t{display:inline}
  body.theme-rail .sidebar a::after{display:none}
  body.theme-rail .sidebar .badge{position:static}
  body.theme-rail .compose-btn{width:auto;height:auto;border-radius:10px;padding:9px 14px}
  body.theme-rail .compose-btn .nav-t,body.theme-rail .newfolder-btn .nav-t{display:inline}
  body.theme-paper .main,body.theme-topnav .main{max-width:none;padding:16px 14px}
  body.theme-magazine .maillist2 tbody{grid-template-columns:1fr}
  body.theme-airy .maillist2 td:nth-child(4){padding-left:0 !important}
  body.theme-airy .card-pad,body.theme-blossom .card-pad{padding:16px 15px}
}

/* 主题选择器 */
.theme-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.theme-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 14px;border:2px solid var(--line);border-radius:10px;cursor:pointer;min-width:88px}
.theme-opt.sel{border-color:var(--brand)}
.theme-opt input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.theme-swatch{width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.theme-name{font-size:12px;color:var(--muted)}
.theme-opt{width:104px;text-align:center}
.theme-opt .theme-name{color:var(--ink);font-weight:600;line-height:1.3}
.theme-opt .theme-desc{font-size:11px;color:var(--muted);line-height:1.4}
.theme-opt.sel{background:rgba(59,110,245,.06)}

/* ============ 日志页：分类标签 + 筛选 ============ */
.logtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.logtab{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--line);border-radius:18px;
  font-size:13px;color:var(--muted);background:var(--panel);text-decoration:none;line-height:1.5;white-space:nowrap}
.logtab:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.logtab.active{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:600}
.logtab .n{font-size:11px;padding:0 6px;border-radius:9px;background:rgba(0,0,0,.08);line-height:16px}
.logtab.active .n{background:rgba(255,255,255,.28)}
.logfilter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}
.logfilter select,.logfilter input{width:auto;min-width:120px}
.logfilter .spacer{flex:1}
.logmsg{word-break:break-word;white-space:pre-wrap}
.logdetail{color:var(--muted);font-size:12.5px;word-break:break-word}
.logkind{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;background:#eef1f6;color:var(--muted);white-space:nowrap}
.logkind.login{background:#e7eefe;color:#2c54c9}
.logkind.mail{background:#e7f7ee;color:#1f9d55}
.logkind.security{background:#fdeaea;color:#d23b3b}
.logkind.settings{background:#fdf2e0;color:#c9740b}
.logkind.account{background:#f3e8ff;color:#7c3aed}
body.theme-dark .logkind,body.theme-glass .logkind,body.theme-terminal .logkind{background:rgba(125,125,125,.22);color:inherit}
@media(max-width:820px){
  .logfilter{flex-direction:column;align-items:stretch}
  .logfilter select,.logfilter input{width:100% !important}
}

/* ============ 登录/注册页风格 ============ */
/* 用 flex + 子元素 margin:auto 做居中：
   1) 内容比屏幕矮时上下左右完全居中；
   2) 内容比屏幕高时（注册页 + 验证码）自然从顶部开始并可滚动，不会像
      align-items:center 那样把顶部裁掉；
   3) 不再用 margin:60px auto + min-height:100vh 的组合，避免必定溢出
      一屏而出现那条多余的上下滚动条。 */
.auth-body{min-height:100vh;min-height:100dvh;display:flex;padding:24px 16px;
  background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;overflow-x:hidden}
/* 邮箱地址：前缀输入框 + @ + 后缀框 */
.addr-field{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.addr-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(59,110,245,.12)}
.addr-field input.addr-local{flex:1 1 auto;min-width:0;border:none;border-radius:0;background:transparent;box-shadow:none}
.addr-field input.addr-local:focus{outline:none;border:none;box-shadow:none}
.addr-field .addr-at{display:flex;align-items:center;padding:0 2px;color:var(--muted);font-weight:600;background:transparent;flex:0 0 auto}
.addr-suffix{flex:0 0 auto;max-width:52%;width:auto;border:none;border-left:1px dashed var(--line);border-radius:0;
  background:#f5f7fb;color:var(--ink);font-weight:600;padding:9px 11px;cursor:pointer}
.addr-suffix:focus{outline:none;border-left:1px dashed var(--line)}
/* 只有一个域名时后缀是只读文本框，样式与下拉保持一致 */
.addr-suffix.readonly{cursor:default;user-select:all;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.addr-hint{font-size:12px;color:var(--muted);margin-top:6px}
/* 渐变风格 */
.auth-body.style-gradient{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 40%,#ec4899 100%)}
.auth-body.style-gradient .auth-wrap .card{backdrop-filter:blur(6px);background:rgba(255,255,255,.94)}
/* 极简风格 */
.auth-body.style-minimal{background:#fff}
.auth-wrap.style-minimal .card{box-shadow:none;border:1px solid var(--line)}
/* 左右分栏风格 */
.auth-wrap.style-split{max-width:860px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;overflow:hidden;border-radius:16px;box-shadow:var(--shadow);background:var(--panel)}
.auth-wrap.style-split::before{content:"GoMail";display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-d));letter-spacing:2px}
.auth-wrap.style-split .card{box-shadow:none;border:none;border-radius:0;display:flex;flex-direction:column;justify-content:center}
/* 有背景图时卡片半透明增强可读性 */
.auth-body[style*="login-bg"] .auth-wrap .card{background:rgba(255,255,255,.95)}
@media(max-width:640px){.auth-wrap.style-split{grid-template-columns:1fr}.auth-wrap.style-split::before{display:none}}
/* 后台：登录页外观选择器 */
.style-grid{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.style-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px;border:2px solid var(--line);border-radius:10px;cursor:pointer;width:104px}
.style-opt.sel{border-color:var(--brand)}
.style-opt input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.style-prev{width:80px;height:52px;border-radius:6px;border:1px solid var(--line)}
.style-prev.classic{background:#f4f6fb}.style-prev.classic::after{content:"";display:block;width:44px;height:28px;margin:12px auto;background:#fff;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.style-prev.gradient{background:linear-gradient(135deg,#6366f1,#ec4899)}
.style-prev.minimal{background:#fff}
.style-prev.split{background:linear-gradient(90deg,var(--brand) 50%,#fff 50%)}

/* 服务器资源监控 */
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.res{padding:12px 14px;border:1px solid var(--border,#e2e8f0);border-radius:10px;background:var(--panel)}
.res-top{display:flex;justify-content:space-between;font-weight:600;margin-bottom:8px}
.bar{height:10px;background:#eef2f7;border-radius:6px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px;transition:width .5s ease,background .5s ease;background:#16a34a}
body.theme-dark .bar{background:#334155}

/* 邮件列表（表格版，全浏览器兼容） */
.maillist2{width:100%;table-layout:fixed;border-collapse:collapse}
.maillist2 .mrow:hover{background:#f8faff}
.maillist2 .mrow.unread{background:#fbfdff}
.maillist2 .mrow.unread .mcell b{font-weight:700}
.maillist2 .mcell b{font-weight:600}
.maillist2 .star{color:#cdd4df}
.maillist2 .star.on{color:var(--star)}
body.theme-dark .maillist2 .mrow:hover{background:#243244}
body.theme-dark .maillist2 .mrow.unread{background:#243244}
body.theme-dark .maillist2 td{border-bottom-color:#334155 !important}

/* 来源筛选标签 */
.srcfilter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
.srcfilter-label{font-size:13px;color:var(--muted)}
.srctab{padding:4px 12px;border:1px solid var(--border,#e2e8f0);border-radius:16px;font-size:13px;color:var(--ink);text-decoration:none;background:var(--panel)}
.srctab:hover{border-color:var(--brand);text-decoration:none}
.srctab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
/* 代收来源标记 */
.src-badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;background:#e0f2fe;color:#0369a1;font-weight:600;vertical-align:middle}
body.theme-dark .src-badge{background:#0c4a6e;color:#bae6fd}
/* 弹窗 */
.modal-mask{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:200;align-items:center;justify-content:center}
.modal-box{background:var(--panel);border-radius:14px;padding:22px;width:min(90vw,420px);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal-box .btn{width:100%;text-align:left}

/* 服务异常告警条 */
.svc-alert{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;color:#991b1b;padding:14px 16px;border-radius:10px;margin-bottom:18px;line-height:1.6}
.svc-alert code{background:#fff;padding:1px 6px;border-radius:4px;color:#b91c1c}

/* 已读/未读明显区分 */
.maillist2 .mrow td{transition:background .15s}
.maillist2 .mrow.unread{background:#eff6ff}
.maillist2 .mrow.unread td{border-left:none}
.maillist2 .mrow.unread .mcell,.maillist2 .mrow.unread .mcell b{color:#0b2447;font-weight:700}
.maillist2 .mrow.unread td:first-child{box-shadow:inset 3px 0 0 var(--brand,#2563eb)}
/* 已读行：整体变灰、更淡 */
.maillist2 .mrow:not(.unread) .mcell{color:#8a94a6;font-weight:400}
.maillist2 .mrow:not(.unread) .mcell b{color:#6b7280;font-weight:500}
.maillist2 .mrow:not(.unread){background:#fff}
/* 未读圆点标记 */
.unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--brand,#2563eb);margin-right:6px;vertical-align:middle}
body.theme-dark .maillist2 .mrow.unread{background:#1e293b}
body.theme-dark .maillist2 .mrow.unread .mcell,body.theme-dark .maillist2 .mrow.unread .mcell b{color:#dbeafe}
body.theme-dark .maillist2 .mrow:not(.unread){background:#0f172a}

/* 紧凑头部 + 精简搜索框 */
.folder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.mail-search{position:relative;display:flex;align-items:center;width:240px;max-width:42vw}
.mail-search .ms-icon{position:absolute;left:10px;font-size:13px;opacity:.55;pointer-events:none}
.mail-search input{width:100%;box-sizing:border-box;padding:7px 28px 7px 30px;border:1px solid var(--line,#e2e8f0);border-radius:18px;font-size:13px;background:var(--panel);transition:border-color .15s,box-shadow .15s}
.mail-search input:focus{border-color:var(--brand,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}
.mail-search .ms-clear{position:absolute;right:10px;color:var(--muted);font-size:12px;text-decoration:none;line-height:1}
.mail-search .ms-clear:hover{color:var(--brand,#2563eb)}
/* 来源筛选：更精简，与搜索对齐留白 */
.srcfilter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px}
.srctab{padding:4px 12px;border:1px solid var(--line,#e2e8f0);border-radius:16px;font-size:12.5px;color:var(--muted);text-decoration:none;background:var(--panel);line-height:1.6}
.srctab:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}
.srctab.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* 邮件正文文本区 */
.mailbody{white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.75;color:var(--ink);padding:4px 2px}
body.theme-dark .mailbody{color:#e2e8f0}

/* 顶栏用户下拉菜单 */
.user-menu{position:relative;display:inline-block}
.user-menu .who{cursor:pointer;padding:6px 10px;border-radius:8px;display:inline-block}
.user-menu:hover .who{background:#eef2fb}
.user-drop{display:none;position:absolute;right:0;top:100%;min-width:180px;background:var(--panel);border:1px solid var(--line,#e2e8f0);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:6px;z-index:120}
.user-menu:hover .user-drop{display:block}
.user-drop a{display:block;padding:9px 12px;border-radius:7px;color:var(--ink);font-size:13px;text-decoration:none}
.user-drop a:hover{background:#eef2fb;text-decoration:none}
body.theme-dark .user-menu:hover .who,body.theme-dark .user-drop a:hover{background:#334155}

/* 后台批量操作条 */
.bbar{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:10px;background:#f8fafc;border:1px solid var(--border,#e2e8f0);border-radius:10px}
.bbar .bsel{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
body.theme-dark .bbar{background:#243244}

/* 顶栏下拉：主号/小号 */
.user-drop{min-width:230px}
.ud-main{padding:9px 12px;font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ud-tag{font-size:10px;padding:2px 7px;border-radius:9px;background:#e2e8f0;color:#475569;font-weight:500}
.ud-tag.main{background:#dbeafe;color:#1d4ed8}
.ud-sect{padding:6px 12px 2px;font-size:11px;color:var(--muted);text-transform:none}
.ud-alias{padding:6px 12px 6px 18px;font-size:12.5px;color:var(--muted)}
.ud-add{display:block;padding:8px 12px;margin:4px 6px;border:1px dashed #cbd5e1;border-radius:7px;color:var(--brand,#2563eb);font-size:12.5px;text-align:center;text-decoration:none}
.ud-add:hover{background:#eef2fb;border-style:solid;text-decoration:none}
.ud-note{padding:7px 12px;font-size:12px;color:var(--muted);text-align:center}
.ud-div{height:1px;background:var(--line,#e2e8f0);margin:6px 4px}

/* 编辑器增强：表情/全屏/工具栏 */
.rte-toolbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;background:#fafbfc;border-bottom:1px solid var(--line,#e2e8f0)}
.rte-toolbar button{background:none;border:1px solid transparent;border-radius:6px;padding:5px 8px;cursor:pointer;font-size:14px;color:#475569;line-height:1;min-width:30px}
.rte-toolbar button:hover{background:#eef2f7;border-color:#e2e8f0}
.rte-toolbar select{border:1px solid var(--line,#e2e8f0);border-radius:6px;padding:4px 6px;font-size:12.5px;background:#fff;max-width:110px}
.rte-sep{width:1px;height:20px;background:var(--line,#e2e8f0);margin:0 5px}
.rte-color{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:6px;cursor:pointer;font-size:14px}
.rte-color:hover{background:#eef2f7}
.rte-color input[type=color]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.emoji-panel{position:absolute;top:100%;left:10px;z-index:150;display:flex;flex-wrap:wrap;gap:2px;width:300px;padding:8px;background:#fff;border:1px solid var(--line,#e2e8f0);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.14)}
.emoji-item{cursor:pointer;padding:5px;border-radius:6px;font-size:18px;line-height:1}
.emoji-item:hover{background:#eef2f7}
.rte-full{position:fixed;inset:0;z-index:400;background:var(--panel,#fff);display:flex;flex-direction:column;border-radius:0}
.rte-full .rte-editor,.rte-full #rteSource{flex:1;min-height:0;max-height:none}
body.theme-dark .rte-toolbar{background:#243244}
body.theme-dark .rte-toolbar button{color:#cbd5e1}
body.theme-dark .emoji-panel{background:#1e293b;border-color:#334155}

/* ============ 布局风格选择器 ============ */
.layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.layout-opt{display:flex;flex-direction:column;gap:6px;padding:12px;border:2px solid var(--line,#e2e8f0);border-radius:12px;cursor:pointer;transition:.15s}
.layout-opt:hover{border-color:var(--brand,#2563eb)}
.layout-opt.sel{border-color:var(--brand,#2563eb);background:#f5f8ff}
.layout-opt input{display:none}
.lo-name{font-weight:600;font-size:13px}
.lo-desc{font-size:11.5px;color:var(--muted);line-height:1.5}
.lo-prev{display:flex;gap:3px;height:46px;background:#f1f5f9;border-radius:7px;padding:5px}
.lo-prev i{background:#cbd5e1;border-radius:3px;display:block}
.lo-classic i:nth-child(1){width:22%}.lo-classic i:nth-child(2){flex:1}.lo-classic i:nth-child(3){display:none}
.lo-three i:nth-child(1){width:18%}.lo-three i:nth-child(2){width:34%}.lo-three i:nth-child(3){flex:1;background:#94a3b8}
.lo-compact i:nth-child(1){width:18%}.lo-compact i:nth-child(2){flex:1;background:repeating-linear-gradient(#cbd5e1 0 4px,#f1f5f9 4px 7px)}.lo-compact i:nth-child(3){display:none}
.lo-card i:nth-child(1){width:18%}.lo-card i:nth-child(2){flex:1;background:repeating-linear-gradient(#cbd5e1 0 10px,#f1f5f9 10px 14px)}.lo-card i:nth-child(3){display:none}
.lo-wide i:nth-child(1){width:100%;height:8px;background:#94a3b8}.lo-wide{flex-direction:column}.lo-wide i:nth-child(2){flex:1;width:100%}.lo-wide i:nth-child(3){display:none}
body.theme-dark .layout-opt.sel{background:#243244}

/* ============ 布局：紧凑（高密度） ============ */
body.layout-compact .maillist2 td{padding:5px 6px !important;font-size:13px}
body.layout-compact .maillist2 .mcell{font-size:13px}
body.layout-compact .card{border-radius:8px}
body.layout-compact .folder-head{margin-bottom:6px}
body.layout-compact .srcfilter{margin-bottom:7px}
body.layout-compact .sidebar a{padding:6px 12px;font-size:13px}
body.layout-compact .content{padding:14px}

/* ============ 布局：卡片流 ============ */
body.layout-card #mailListCard{background:transparent;border:none;box-shadow:none;padding:0}
body.layout-card .maillist2{border-collapse:separate;border-spacing:0 8px}
body.layout-card .maillist2 .mrow{background:var(--panel);box-shadow:0 1px 6px rgba(15,23,42,.07);border-radius:12px}
body.layout-card .maillist2 .mrow:hover{box-shadow:0 6px 18px rgba(15,23,42,.12);transform:translateY(-1px)}
body.layout-card .maillist2 td{border-bottom:none !important;padding:14px 8px !important}
body.layout-card .maillist2 td:first-child{border-radius:12px 0 0 12px}
body.layout-card .maillist2 td:last-child{border-radius:0 12px 12px 0}
body.layout-card .maillist2 .mrow.unread{box-shadow:0 1px 6px rgba(37,99,235,.18);border-left:3px solid var(--brand,#2563eb)}
body.theme-dark.layout-card .maillist2 .mrow{background:#1e293b}

/* ============ 布局：宽屏无边栏（顶部横向导航） ============ */
body.layout-wide .layout{display:block}
body.layout-wide .sidebar{position:static;width:100%;height:auto;display:flex;flex-wrap:wrap;gap:4px;align-items:center;border-right:none;border-bottom:1px solid var(--line);padding:8px 16px;overflow:visible}
body.layout-wide .sidebar .sect{display:none}
body.layout-wide .sidebar a{margin:0;padding:7px 12px;white-space:nowrap;font-size:13px}
body.layout-wide .sidebar .newfolder-btn{margin:0}
body.layout-wide .sidebar form{display:inline-block}
body.layout-wide .content{max-width:1400px;margin:0 auto;padding:20px 24px}

/* ============ 布局：三栏（列表 + 右侧预览） ============ */
body.layout-three .content{display:flex;gap:0;padding:0;height:calc(100vh - 54px);overflow:hidden}
body.layout-three .three-list{flex:0 0 420px;max-width:44%;overflow-y:auto;padding:14px;border-right:1px solid var(--line,#e2e8f0)}
body.layout-three .three-view{flex:1;min-width:0;overflow-y:auto;padding:18px 22px;background:var(--panel)}
body.layout-three .three-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px}
body.layout-three #mailListCard{box-shadow:none;border:1px solid var(--line,#e2e8f0)}
body.layout-three .maillist2 td{padding:9px 6px !important}

/* ============ 响应式：手机端适配（所有布局通用） ============ */
@media (max-width: 820px){
  .layout{flex-direction:column}
  .sidebar{position:static !important;width:100% !important;height:auto !important;display:flex;flex-wrap:wrap;gap:4px;border-right:none;border-bottom:1px solid var(--line);padding:8px 10px;overflow-x:auto}
  .sidebar .sect{display:none}
  .sidebar a{margin:0;padding:7px 11px;font-size:12.5px;white-space:nowrap}
  .sidebar .badge{margin-left:4px}
  .content{padding:12px !important}
  .folder-head{flex-direction:column;align-items:stretch;gap:8px}
  .mail-search{width:100% !important;max-width:none !important}
  .maillist2 td:nth-child(3){display:none}          /* 手机隐藏发件人列，主题优先 */
  .maillist2 td:nth-child(5){width:64px !important;font-size:11px}
  .topbar{padding:8px 12px}
  .who{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
  .card-pad{padding:14px}
  .rte-toolbar{gap:1px;padding:6px}
  .rte-toolbar select{max-width:82px;font-size:11.5px}
  .modal-box{width:94vw !important;max-width:94vw !important}
  .stat-grid{grid-template-columns:repeat(2,1fr) !important}
  body.layout-three .content{display:block;height:auto;overflow:visible}
  body.layout-three .three-list{flex:none;max-width:none;border-right:none;padding:12px}
  body.layout-three .three-view{display:none}
  table{font-size:13px}
}
@media (max-width: 480px){
  .maillist2 td:nth-child(2){display:none}          /* 极窄屏隐藏星标列 */
  .layout-grid{grid-template-columns:1fr 1fr}
}
body.layout-three .maillist2 .mrow.active-row{background:#e0edff}
body.theme-dark.layout-three .maillist2 .mrow.active-row{background:#334155}

/* ============================================================
   前台皮肤（skin）
   每套皮肤是一整套 UI 设计：导航形态、内容宽度、列表结构、
   字体、间距与组件形状都不同，切换后像换了一个产品。
   全部为浅色系，强调通透、留白与细腻的层次。
   ------------------------------------------------------------
   注意：邮件列表 <td> 带内联 style（宽度/内边距/分隔线），
   要做结构性改造的皮肤必须用 !important 才能压过内联样式。
   ============================================================ */

/* 侧栏导航项的图标 / 文字（模板已拆成 .nav-i / .nav-t） */
.sidebar a{display:flex;align-items:center;gap:9px}
.sidebar a .nav-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar a .nav-i{flex:0 0 auto;width:18px;text-align:center;font-size:15px;line-height:1}
.compose-btn{display:flex;align-items:center;justify-content:center;gap:8px}

/* ---- 全局精细化：所有皮肤共享的观感提升 ---- */
.maillist2 .mrow{transition:background .12s ease}
.maillist2 .mcell{line-height:1.55}
.card{transition:box-shadow .15s ease}
.btn{transition:background .13s ease,box-shadow .13s ease,transform .13s ease}
.sidebar a{transition:background .12s ease,color .12s ease}

/* ============ 1. 经典蓝（默认，保持原有观感）============ */
body.theme-default{}

/* ============ 2. 云端 Cloud：深色导航栏 + 极浅内容区（参考云邮箱后台）============
   结构变化：侧栏用沉稳的深靛蓝并铺满整列，内容区改为近白的冷灰，
   两者形成强对比；卡片零边框只留柔和投影，标题层级更明确。 */
/* ============================================================
   前台皮肤
   ------------------------------------------------------------
   每套皮肤 = 配色变量 + 针对该皮肤骨架的局部调整。
   骨架（侧栏形态 / 列表形态 / 头部形态）由 themeOption 的
   Nav / List / Head 决定，模板据此走不同分支；这里只负责视觉。
   ============================================================ */

/* ---------- 简约邮匣：圆角胶囊侧栏 + 大搜索 ---------- */
body.theme-gmailish{--bg:#f6f8fc;--panel:#fff;--ink:#202124;--muted:#5f6368;--line:#e4e7ec;
  --brand:#1a73e8;--brand-d:#1557b0;--star:#f4b400;--border:#e4e7ec;--shadow:0 1px 2px rgba(60,64,67,.08)}
body.theme-gmailish .topbar{background:#f6f8fc;border-bottom:none;box-shadow:none;height:60px}
body.theme-gmailish .searchbar,body.theme-gmailish .search-input{background:#eaf1fb;border:none;
  border-radius:24px;height:44px;padding:0 18px;font-size:15px}
body.theme-gmailish .searchbar:focus-within{background:#fff;box-shadow:0 1px 3px rgba(60,64,67,.25)}
body.theme-gmailish .sidebar{background:transparent;border-right:none;width:230px;padding:8px 8px 8px 0}
/* 胶囊选中态是这套皮肤的标志：右侧圆角、左侧贴边 */
body.theme-gmailish .sidebar a{border-radius:0 20px 20px 0;padding:8px 18px;margin-bottom:1px;
  font-size:14px;color:#202124;font-weight:500}
body.theme-gmailish .sidebar a:hover{background:#eaebef}
body.theme-gmailish .sidebar a.active{background:#d3e3fd;color:#041e49}
body.theme-gmailish .compose-btn{background:#c2e7ff;color:#001d35;border-radius:16px;padding:15px 24px;
  font-weight:500;box-shadow:0 1px 3px rgba(60,64,67,.15)}
body.theme-gmailish .compose-btn:hover{background:#b3ddfa;box-shadow:0 2px 6px rgba(60,64,67,.2)}
body.theme-gmailish .maillist{background:#fff;border-radius:16px;overflow:hidden;margin:0 8px 8px 0}
body.theme-gmailish .mailrow{border-bottom:1px solid #f1f3f4;padding:9px 14px}
body.theme-gmailish .mailrow:hover{box-shadow:inset 1px 0 0 #dadce0,inset -1px 0 0 #dadce0,
  0 1px 2px rgba(60,64,67,.3);z-index:1}
body.theme-gmailish .mailrow.unread{background:#fff;font-weight:700}
body.theme-gmailish .mailrow.unread .subject{font-weight:700;color:#202124}

/* ---------- 协作蓝：干净浅灰底 + 双行条目 ---------- */
body.theme-feishu{--bg:#f4f5f7;--panel:#fff;--ink:#1f2329;--muted:#8f959e;--line:#e5e6eb;
  --brand:#3370ff;--brand-d:#245bdb;--star:#ff8800;--border:#e5e6eb;--shadow:0 1px 3px rgba(31,35,41,.06)}
body.theme-feishu .topbar{background:#fff;border-bottom:1px solid var(--line);box-shadow:none;height:56px}
body.theme-feishu .sidebar{background:#f7f8fa;border-right:1px solid var(--line);width:208px;padding:12px 8px}
body.theme-feishu .sidebar a{border-radius:6px;padding:8px 12px;font-size:14px;color:#1f2329;margin-bottom:1px}
body.theme-feishu .sidebar a:hover{background:#eff0f1}
body.theme-feishu .sidebar a.active{background:#eaf1ff;color:#3370ff;font-weight:500}
body.theme-feishu .sidebar .sect{color:#a8adb3;font-size:12px;margin:14px 12px 5px}
body.theme-feishu .compose-btn{background:#3370ff;border-radius:6px;padding:10px;font-weight:500}
body.theme-feishu .compose-btn:hover{background:#245bdb}
body.theme-feishu .mailrow{padding:11px 16px;border-bottom:1px solid #f2f3f5}
body.theme-feishu .mailrow:hover{background:#f7f8fa}
body.theme-feishu .mailrow.unread{background:#fff}
body.theme-feishu .mailrow.unread .subject{color:#1f2329;font-weight:600}
body.theme-feishu .avatar{border-radius:6px}

/* ---------- 企业蓝：顶部通栏 + 表格 ---------- */
body.theme-enterprise{--bg:#f5f7fa;--panel:#fff;--ink:#1d2129;--muted:#86909c;--line:#e5e6eb;
  --brand:#1677ff;--brand-d:#0958d9;--star:#faad14;--border:#e5e6eb;--shadow:0 1px 4px rgba(29,33,41,.06)}
body.theme-enterprise .topbar{background:#fff;border-bottom:1px solid var(--line);height:56px}
body.theme-enterprise .topnav{background:#fff;border-bottom:1px solid var(--line)}
body.theme-enterprise .topnav a{padding:0 18px;height:44px;font-size:14px;color:#4e5969;
  border-bottom:2px solid transparent}
body.theme-enterprise .topnav a.active{color:#1677ff;border-bottom-color:#1677ff;font-weight:500}
body.theme-enterprise .searchbar,body.theme-enterprise .search-input{background:#f2f3f5;border:none;
  border-radius:6px;height:36px}
body.theme-enterprise .compose-btn{background:#1677ff;border-radius:6px;font-weight:500}
body.theme-enterprise .maillist{border:1px solid var(--line);border-radius:8px;background:#fff}
body.theme-enterprise .mailrow{border-bottom:1px solid #f2f3f5;padding:11px 16px;font-size:13.5px}
body.theme-enterprise .mailrow:hover{background:#f7f8fa}
body.theme-enterprise .mailrow.unread{background:#e6f4ff}
body.theme-enterprise .mailrow.unread .subject{font-weight:600}

/* ---------- 暗黑科技：深色 + 霓虹强调 ---------- */
body.theme-darktech{--bg:#0a0e1a;--panel:#111827;--ink:#e5e7eb;--muted:#7c8598;--line:#1f2937;
  --brand:#38bdf8;--brand-d:#0ea5e9;--star:#fbbf24;--border:#1f2937;--shadow:0 2px 10px rgba(0,0,0,.5)}
body.theme-darktech{background:#0a0e1a;color:#e5e7eb}
body.theme-darktech .topbar{background:#0d1220;border-bottom:1px solid #1f2937;box-shadow:none}
body.theme-darktech .rail{background:#0d1220;border-right:1px solid #1f2937}
body.theme-darktech .rail a{color:#7c8598;border-radius:10px}
body.theme-darktech .rail a:hover{background:rgba(56,189,248,.1);color:#38bdf8}
body.theme-darktech .rail a.active{background:rgba(56,189,248,.16);color:#38bdf8;
  box-shadow:0 0 0 1px rgba(56,189,248,.3)}
body.theme-darktech .sidebar{background:#0d1220;border-right:1px solid #1f2937}
body.theme-darktech .sidebar a{color:#9aa4b8;border-radius:8px}
body.theme-darktech .sidebar a:hover{background:rgba(255,255,255,.05);color:#e5e7eb}
body.theme-darktech .sidebar a.active{background:rgba(56,189,248,.14);color:#38bdf8}
body.theme-darktech .compose-btn{background:linear-gradient(135deg,#38bdf8,#818cf8);color:#04121f;
  border-radius:10px;font-weight:600;box-shadow:0 3px 14px rgba(56,189,248,.3)}
body.theme-darktech .maillist,body.theme-darktech .card,body.theme-darktech .panel{background:#111827;
  border-color:#1f2937}
body.theme-darktech .mailrow{border-bottom:1px solid #1a2333}
body.theme-darktech .mailrow:hover{background:#161f31}
body.theme-darktech .mailrow.unread{background:#131c2c;box-shadow:inset 2px 0 0 #38bdf8}
body.theme-darktech .mailrow.unread .subject{color:#f1f5f9}
body.theme-darktech input,body.theme-darktech textarea,body.theme-darktech select{background:#0d1220;
  border-color:#1f2937;color:#e5e7eb}
body.theme-darktech input::placeholder,body.theme-darktech textarea::placeholder{color:#5b6577}
body.theme-darktech .searchbar{background:#0d1220;border:1px solid #1f2937}
body.theme-darktech table th{background:#0d1220;color:#7c8598}
body.theme-darktech .muted{color:#7c8598}
body.theme-darktech .btn.sec,body.theme-darktech .btn.ghost{background:#161f31;color:#cbd5e1;
  border-color:#1f2937}
body.theme-darktech a{color:#7dd3fc}

/* ---------- 自然生态：森绿 + 卡片 ---------- */
body.theme-verdant{--bg:#f2f7f4;--panel:#fff;--ink:#1b3b2f;--muted:#6b8578;--line:#dcebe3;
  --brand:#2d6a4f;--brand-d:#1f4d3a;--star:#d9a441;--border:#dcebe3;--shadow:0 2px 8px rgba(31,77,58,.07)}
body.theme-verdant .topbar{background:#fff;border-bottom:1px solid var(--line)}
body.theme-verdant .sidebar{background:linear-gradient(180deg,#1f4d3a,#2d6a4f);border-right:none;width:216px}
body.theme-verdant .sidebar a{color:#c8e6d5;border-radius:9px;padding:9px 13px}
body.theme-verdant .sidebar a:hover{background:rgba(255,255,255,.09);color:#fff}
body.theme-verdant .sidebar a.active{background:rgba(255,255,255,.16);color:#fff;font-weight:500}
body.theme-verdant .sidebar .sect{color:#8fbfa5}
body.theme-verdant .compose-btn{background:#40916c;border-radius:22px;padding:12px;font-weight:500}
body.theme-verdant .compose-btn:hover{background:#2d6a4f}
body.theme-verdant .mailcard{background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 2px 8px rgba(31,77,58,.05)}
body.theme-verdant .mailcard:hover{box-shadow:0 8px 22px rgba(31,77,58,.12);transform:translateY(-2px)}
body.theme-verdant .mailcard.unread{border-left:3px solid #40916c}

/* ---------- 云霭白银：低饱和 + 纯文字清单 ---------- */
body.theme-silver{--bg:#f4f5f7;--panel:#fff;--ink:#3a3f47;--muted:#98a0ab;--line:#e6e8ec;
  --brand:#8f98a6;--brand-d:#767f8d;--star:#b8a88a;--border:#e6e8ec;--shadow:0 1px 3px rgba(58,63,71,.05)}
body.theme-silver .topbar{background:#fbfbfc;border-bottom:1px solid var(--line);box-shadow:none}
body.theme-silver .sidebar{background:#fbfbfc;border-right:1px solid var(--line);width:200px}
body.theme-silver .sidebar a{color:#5c646f;border-radius:7px;font-size:13.5px;letter-spacing:.02em}
body.theme-silver .sidebar a:hover{background:#f0f1f3}
body.theme-silver .sidebar a.active{background:#e9ebef;color:#3a3f47;font-weight:500}
body.theme-silver .compose-btn{background:#6f7885;border-radius:7px;font-weight:400;letter-spacing:.04em}
body.theme-silver .compose-btn:hover{background:#5b6470}
body.theme-silver .mailrow{border-bottom:1px solid #eef0f3;padding:13px 18px}
body.theme-silver .mailrow:hover{background:#fafbfc}
body.theme-silver .mailrow.unread .subject{font-weight:600;color:#2b3038}
body.theme-silver .subject{letter-spacing:.01em}

/* ---------- 新拟态：柔和凸起 + 悬浮岛 ---------- */
body.theme-neumorph{--bg:#e6e9f0;--panel:#e6e9f0;--ink:#48505c;--muted:#8b95a5;--line:#d5dae4;
  --brand:#6b7a99;--brand-d:#56637e;--star:#c9a227;--border:#d5dae4;
  --shadow:6px 6px 12px #c8ccd4,-6px -6px 12px #ffffff}
body.theme-neumorph{background:#e6e9f0}
body.theme-neumorph .topbar{background:#e6e9f0;border-bottom:none;
  box-shadow:0 4px 10px rgba(166,173,184,.25)}
/* 新拟态的核心是双向阴影：亮面在左上、暗面在右下 */
body.theme-neumorph .sidebar{background:#e6e9f0;border-right:none;margin:12px 0 12px 12px;
  border-radius:18px;box-shadow:6px 6px 14px #c8ccd4,-6px -6px 14px #fff;padding:14px 10px}
body.theme-neumorph .sidebar a{border-radius:11px;color:#5b6577;margin-bottom:4px}
body.theme-neumorph .sidebar a:hover{box-shadow:3px 3px 7px #cdd2da,-3px -3px 7px #fff}
body.theme-neumorph .sidebar a.active{color:#3f4757;font-weight:600;
  box-shadow:inset 3px 3px 7px #c8ccd4,inset -3px -3px 7px #fff}
body.theme-neumorph .compose-btn{background:#e6e9f0;color:#48505c;border-radius:14px;font-weight:600;
  box-shadow:5px 5px 11px #c8ccd4,-5px -5px 11px #fff}
body.theme-neumorph .compose-btn:hover{box-shadow:3px 3px 7px #c8ccd4,-3px -3px 7px #fff}
body.theme-neumorph .compose-btn:active{box-shadow:inset 4px 4px 9px #c8ccd4,inset -4px -4px 9px #fff}
body.theme-neumorph .mailcard,body.theme-neumorph .card,body.theme-neumorph .panel{background:#e6e9f0;
  border:none;border-radius:16px;box-shadow:5px 5px 12px #c8ccd4,-5px -5px 12px #fff}
body.theme-neumorph .mailcard:hover{box-shadow:7px 7px 16px #c3c8d1,-7px -7px 16px #fff}
body.theme-neumorph input,body.theme-neumorph textarea,body.theme-neumorph select,
body.theme-neumorph .searchbar{background:#e6e9f0;border:none;border-radius:11px;
  box-shadow:inset 3px 3px 7px #cdd2da,inset -3px -3px 7px #fff}
body.theme-neumorph table th{background:transparent}

/* ---------- 商务典雅：衬线标题 + 杂志式 ---------- */
body.theme-business{--bg:#f7f8fa;--panel:#fff;--ink:#1e2532;--muted:#6b7484;--line:#e3e6ec;
  --brand:#1e3a5f;--brand-d:#152b47;--star:#b8860b;--border:#e3e6ec;--shadow:0 1px 4px rgba(30,37,50,.07)}
body.theme-business .topbar{background:#1e3a5f;border-bottom:none;color:#fff}
body.theme-business .topbar a,body.theme-business .topbar .muted{color:#c5d2e2}
body.theme-business .sidebar{background:#fff;border-right:1px solid var(--line);width:214px}
body.theme-business .sidebar a{color:#414b5c;border-radius:4px;padding:9px 13px;font-size:13.5px}
body.theme-business .sidebar a:hover{background:#f2f4f8}
body.theme-business .sidebar a.active{background:#eef2f8;color:#1e3a5f;font-weight:600;
  box-shadow:inset 3px 0 0 #1e3a5f}
body.theme-business .sidebar .sect{color:#8a93a3;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
body.theme-business .compose-btn{background:#1e3a5f;border-radius:4px;font-weight:600;letter-spacing:.03em}
body.theme-business .compose-btn:hover{background:#152b47}
body.theme-business .mailrow .subject{font-family:Georgia,"Times New Roman","Songti SC",serif;
  font-size:15.5px;letter-spacing:.01em}
body.theme-business .mailrow{padding:14px 18px;border-bottom:1px solid #eceff4}
body.theme-business .mailrow:hover{background:#fafbfd}
body.theme-business .mailrow.unread{box-shadow:inset 3px 0 0 #b8860b}
body.theme-business h1,body.theme-business h2{font-family:Georgia,"Times New Roman","Songti SC",serif}


/* ============================================================
   公告系统
   ============================================================ */
/* 页面顶部的未读公告横幅 */
.ann-banner{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-radius:12px;margin-bottom:14px;
  background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f}
.ann-banner.lv-notice{background:#fff7ed;border-color:#fed7aa;color:#7c3a12}
.ann-banner.lv-warn{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}
.ann-ico{flex:0 0 auto;font-size:17px;line-height:1.5}
.ann-main{flex:1;min-width:0}
.ann-title{font-weight:600;font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ann-body{font-size:13.5px;line-height:1.65;margin-top:3px;white-space:pre-wrap;word-break:break-word;opacity:.92}
.ann-act{flex:0 0 auto}
.ann-pin{font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:rgba(0,0,0,.09)}
.ann-new{font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:#ef4444;color:#fff}

/* 公告列表卡片 */
.ann-list{display:flex;flex-direction:column;gap:12px}
.ann-card{background:var(--panel);border:1px solid var(--line);border-left:3px solid #93c5fd;border-radius:12px;padding:15px 18px}
.ann-card.lv-notice{border-left-color:#fb923c}
.ann-card.lv-warn{border-left-color:#ef4444}
.ann-card.is-new{background:#fbfdff}
.ann-card-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.ann-card-title{font-weight:600;font-size:15px}
.ann-lv,.ann-time{font-size:12px;color:var(--muted)}
.ann-time{margin-left:auto}
.ann-card-body{font-size:13.5px;line-height:1.7;margin-top:8px;white-space:pre-wrap;word-break:break-word;color:var(--ink)}
.ann-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}

/* ============================================================
   转发设置
   ============================================================ */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px}
.stat-row .stat{padding:15px 17px}
.stat-k{font-size:12.5px;color:var(--muted)}
.stat-v{font-size:25px;font-weight:700;line-height:1.25;margin-top:2px}
.stat-v.ok{color:#16a34a}
.stat-v.bad{color:#dc2626}
.stat-s{font-size:11.5px;color:var(--muted);margin-top:2px}
.fwd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fwd-cond{display:grid;grid-template-columns:150px 170px 1fr;gap:8px;align-items:center}
.fwd-cond select,.fwd-cond input{margin:0}
.fwd-opts{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px}
.fwd-opts label{display:flex;align-items:center;gap:7px;margin:0;font-weight:400;font-size:13.5px;cursor:pointer}
.fwd-opts input[type=checkbox]{width:auto;margin:0}
.fwd-rules{display:flex;flex-direction:column;gap:12px}
.fwd-rule{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--panel)}
.fwd-rule.off{opacity:.62}
.fwd-rule-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fwd-name{font-weight:600;font-size:14.5px}
.fwd-stats{margin-left:auto;font-size:12px;color:var(--muted)}
.fwd-stats b{color:var(--ink);font-weight:600}
.fwd-stats b.ok{color:#16a34a}
.fwd-stats b.bad{color:#dc2626}
.fwd-rule-desc{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.6}
.fwd-rule-desc b{color:var(--ink);font-weight:600}
.fwd-edit{margin-top:10px}
.fwd-edit summary{cursor:pointer;font-size:13px;color:var(--brand);user-select:none;padding:3px 0}
.fwd-edit summary:hover{text-decoration:underline}
.fwd-edit[open] summary{margin-bottom:10px}
.fwd-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.fwd-btns form{margin:0}
.fwd-subj{font-weight:500}
@media(max-width:820px){
  .fwd-grid,.fwd-cond{grid-template-columns:1fr}
  .fwd-stats{margin-left:0;width:100%}
  .ann-time{margin-left:0}
  .ann-banner{flex-wrap:wrap}
}

/* ============================================================
   邮件列表的 6 种形态
   这些不是同一份 HTML 换配色，而是模板按皮肤走了不同分支，
   生成的 DOM 结构本身就不同。下面是各自的样式。
   ============================================================ */

/* ---- 头部区域的三种形态 ---- */
.head-search{margin-bottom:16px}
.mail-search.big{width:100%;max-width:none}
.mail-search.big input{height:44px;font-size:14.5px;padding-left:38px}
.mail-search.big .ms-icon{font-size:16px;left:14px}
.head-sub{font-size:13px;color:var(--muted);margin-top:9px;padding-left:2px}
.head-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.head-hero h1{margin:0;font-size:26px;letter-spacing:-.02em;line-height:1.2}
.hero-meta{font-size:12.5px;color:var(--muted);margin-top:5px}

/* ---- 2. compact：紧凑单行 ---- */
.mlist-compact{display:flex;flex-direction:column}
.crow{display:flex;align-items:center;gap:9px;padding:5px 10px;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.crow:hover{background:rgba(0,0,0,.025)}
.crow input[type=checkbox]{width:14px;height:14px;margin:0;flex:0 0 auto}
.crow a{color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfrom{flex:0 0 158px;color:var(--muted)}
.csubj{flex:1 1 auto;min-width:0}
.csubj b{font-weight:500}
.csnip{color:var(--muted);font-weight:400}
.cdate{flex:0 0 78px;text-align:right;color:var(--muted);font-size:11.5px}
.crow.unread .cfrom,.crow.unread .csubj b{color:var(--ink);font-weight:700}
.crow.unread{box-shadow:inset 2px 0 0 var(--brand)}

/* ---- 3. twoline：头像 + 双行 ---- */
.mlist-two{display:flex;flex-direction:column}
.trow{display:flex;align-items:flex-start;gap:12px;padding:14px 14px;border-bottom:1px solid var(--line);position:relative}
.trow:hover{background:rgba(0,0,0,.02)}
.trow input[type=checkbox]{width:15px;height:15px;margin:3px 0 0;flex:0 0 auto}
.tavatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:600;color:#fff;background:var(--brand);opacity:.9}
.trow:nth-child(3n+1) .tavatar{background:#6366f1}
.trow:nth-child(3n+2) .tavatar{background:#0ea5e9}
.trow:nth-child(3n) .tavatar{background:#14b8a6}
.tmain{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}
.tline1{display:flex;align-items:baseline;gap:10px}
.tfrom{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.tdate{font-size:11.5px;color:var(--muted);flex:0 0 auto}
.tsubj{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tsnip{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5}
.tstar{margin:0;flex:0 0 auto}
.tstar button{background:none;border:none;cursor:pointer;font-size:15px;padding:2px;color:#d4d8e0}
.trow.unread .tfrom,.trow.unread .tsubj{font-weight:700;color:var(--ink)}
.trow.unread::before{content:"";position:absolute;left:4px;top:50%;width:6px;height:6px;border-radius:50%;
  background:var(--brand);transform:translateY(-50%)}

/* ---- 4. cards：卡片网格 ---- */
.mlist-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:2px}
.kcard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:14px 16px 12px;transition:box-shadow .15s,transform .15s}
.kcard:hover{box-shadow:0 8px 20px rgba(0,0,0,.07);transform:translateY(-2px)}
.kcard-top{display:flex;align-items:center;gap:9px}
.kcard-top input[type=checkbox]{width:15px;height:15px;margin:0}
.kavatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12.5px;font-weight:600;color:#fff;background:var(--brand);opacity:.88;flex:0 0 auto}
.kfrom{flex:1;min-width:0;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kstar{margin:0}
.kstar button{background:none;border:none;cursor:pointer;font-size:14px;padding:0;color:#d4d8e0}
.kbody{display:block;color:inherit;text-decoration:none;margin-top:10px;flex:1}
.ksubj{display:block;font-size:14.5px;font-weight:600;line-height:1.45;margin-bottom:6px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ksnip{display:block;font-size:12.5px;color:var(--muted);line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kcard-foot{display:flex;align-items:center;gap:10px;margin-top:11px;padding-top:9px;border-top:1px solid var(--line);
  font-size:11.5px;color:var(--muted)}
.kattach{margin-left:auto}
.kcard.unread{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
.kcard.unread .ksubj{font-weight:700}

/* ---- 5. feature：杂志式条目 ---- */
.mlist-feature{display:flex;flex-direction:column}
.farticle{padding:20px 6px;border-bottom:1px solid var(--line)}
.farticle:first-child{padding-top:6px}
.fmeta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:9px}
.fmeta input[type=checkbox]{width:14px;height:14px;margin:0}
.fwho{font-weight:600;color:var(--ink)}
.fdot{opacity:.5}
.fstar{margin:0 0 0 auto}
.fstar button{background:none;border:none;cursor:pointer;font-size:15px;padding:0;color:#d4d8e0}
.ftitle{display:block;font-family:Georgia,"Songti SC","Noto Serif SC",serif;font-size:20px;font-weight:700;
  line-height:1.4;color:var(--ink);text-decoration:none;margin-bottom:8px;letter-spacing:-.01em}
.ftitle:hover{color:var(--brand);text-decoration:none}
.flead{display:block;font-size:14px;line-height:1.75;color:var(--muted);text-decoration:none;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.farticle.unread .ftitle{color:var(--ink)}
.farticle.unread{position:relative}
.farticle.unread::before{content:"";position:absolute;left:-10px;top:24px;width:4px;height:4px;border-radius:50%;background:var(--brand)}

/* ---- 6. plain：纯文字清单 ---- */
.mlist-plain{list-style:none;margin:0;padding:0;counter-reset:pl}
.prow{display:flex;align-items:baseline;gap:14px;padding:13px 4px;border-bottom:1px dotted var(--line);position:relative}
.prow:hover{background:rgba(0,0,0,.02)}
.ptitle{flex:1;min-width:0;font-size:15.5px;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ptitle:hover{text-decoration:underline}
.pmeta{flex:0 0 auto;display:flex;gap:14px;font-size:12.5px;color:var(--muted)}
.pwho{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phide{position:absolute;left:-22px;top:50%;transform:translateY(-50%);margin:0;opacity:0;transition:opacity .12s}
.prow:hover .phide,.phide:has(input:checked){opacity:1}
.phide input{width:14px;height:14px;margin:0}
.prow.unread .ptitle{font-weight:700}

/* ---- 悬浮岛导航（Nav=float）---- */
body.nav-float .layout{gap:16px;padding:16px}
body.nav-float .sidebar{border-radius:20px;border:1px solid var(--line);top:70px;height:auto;
  max-height:calc(100vh - 86px);box-shadow:0 2px 14px rgba(0,0,0,.05)}
body.nav-float .main{padding:0}

@media(max-width:820px){
  .mlist-cards{grid-template-columns:1fr}
  .cfrom{flex-basis:96px}
  .head-hero{align-items:flex-start}
  .head-hero h1{font-size:21px}
  .prow{flex-wrap:wrap;gap:4px}
  .pmeta{width:100%}
  body.nav-float .layout{padding:0;gap:0}
}

/* ============================================================
   后台设置页的 tab 分组
   ============================================================ */
.tabs{display:flex;flex-wrap:wrap;gap:2px;border-bottom:1px solid var(--line);margin-bottom:18px}
.tabs .tab{padding:10px 16px;font-size:13.5px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;
  white-space:nowrap;transition:color .12s,border-color .12s}
.tabs .tab:hover{color:var(--ink);text-decoration:none}
.tabs .tab.active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.tabpane{display:none}
.tabpane .card{margin-bottom:18px}
.tabpane .card:last-child{margin-bottom:0}

/* ============================================================
   后台左上角管理员菜单 + 改密弹窗
   ============================================================ */
.admin-menu{position:relative;display:flex;align-items:center;height:100%}
.admin-who{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;cursor:default;
  font-size:13.5px;transition:background .12s}
.admin-menu:hover .admin-who{background:rgba(0,0,0,.05)}
.admin-av{width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:600;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.admin-name{font-weight:500}
.admin-caret{font-size:10px;color:var(--muted)}
.admin-drop{position:absolute;top:calc(100% - 4px);left:0;min-width:230px;background:var(--panel);
  border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .14s,transform .14s,visibility .14s;z-index:80}
.admin-menu:hover .admin-drop{opacity:1;visibility:visible;transform:translateY(0)}
.ad-head{padding:10px 12px 8px}
.ad-title{font-weight:600;font-size:14px}
.ad-sub{font-size:12px;color:var(--muted);margin-top:2px}
.ad-div{height:1px;background:var(--line);margin:4px 0}
.admin-drop a{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;color:var(--ink);text-decoration:none}
.admin-drop a:hover{background:rgba(0,0,0,.05);text-decoration:none}

/* 通用弹窗 */
.modal{position:fixed;inset:0;background:rgba(15,23,42,.42);display:none;align-items:center;justify-content:center;
  z-index:200;padding:20px;backdrop-filter:blur(2px)}
.modal.open{display:flex}
.modal .modal-box{background:var(--panel);border-radius:16px;width:100%;max-width:420px;
  box-shadow:0 20px 60px rgba(0,0,0,.28);overflow:hidden;animation:modalIn .16s ease}
@keyframes modalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;
  border-bottom:1px solid var(--line);font-weight:600;font-size:15px}
.modal-x{background:none;border:none;cursor:pointer;font-size:15px;color:var(--muted);padding:2px 6px;border-radius:6px}
.modal-x:hover{background:rgba(0,0,0,.06);color:var(--ink)}
.modal-body{padding:18px 20px}
.modal-body label{margin-top:12px}
.modal-body label:first-child{margin-top:0}
.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);
  background:rgba(0,0,0,.015)}

/* ============================================================
   两步验证设置页
   ============================================================ */
.totp-wrap{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-top:14px}
.totp-qr{flex:0 0 auto;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;line-height:0}
.totp-qr svg{display:block;border-radius:4px}
.totp-side{flex:1;min-width:260px}
.totp-label{font-size:13px;color:var(--muted);margin-bottom:6px}
.totp-secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:.08em;
  background:rgba(0,0,0,.04);border:1px solid var(--line);border-radius:8px;padding:11px 13px;word-break:break-all;user-select:all}
.totp-hint{font-size:12px;color:var(--muted);margin-top:8px}

/* 登录页底部链接 */
.auth-links{text-align:center;margin-top:14px;font-size:13px}
.auth-links a{color:var(--muted);text-decoration:none}
.auth-links a:hover{color:var(--brand);text-decoration:underline}

@media(max-width:820px){
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .admin-name{display:none}
  .totp-wrap{gap:16px}
  .totp-qr{margin:0 auto}
}

/* ============================================================
   右下角登录记录弹窗
   ============================================================ */
.login-toast{position:fixed;right:20px;bottom:20px;width:308px;background:var(--panel);
  border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(15,23,42,.16);
  z-index:150;opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s}
.login-toast.show{opacity:1;visibility:visible;transform:translateY(0)}
.lt-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px}
.lt-title{font-size:13.5px;font-weight:600}
.lt-x{background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 6px;border-radius:6px}
.lt-x:hover{background:rgba(0,0,0,.06);color:var(--ink)}
.lt-body{padding:0 14px}
.lt-loading{font-size:12.5px;color:var(--muted);padding:6px 0 10px}
.lt-row{padding:8px 0;border-top:1px solid var(--line)}
.lt-row:first-child{border-top:none}
.lt-row.cur .lt-t{color:var(--brand);font-weight:600}
.lt-t{font-size:12px;color:var(--muted)}
.lt-i{font-size:12.5px;margin-top:2px;font-family:ui-monospace,Menlo,Consolas,monospace}
.lt-loc{font-family:inherit;color:var(--muted);margin-left:6px;font-size:12px}
.lt-foot{padding:9px 14px 12px;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);margin-top:6px}
@media(max-width:820px){
  .login-toast{right:10px;left:10px;bottom:10px;width:auto}
}

/* 找回密码的步骤条 */
.steps{display:flex;align-items:center;gap:6px;margin:14px 0 16px}
.step{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.step span{width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--muted);
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}
.step.on{color:var(--brand);font-weight:600}
.step.on span{background:var(--brand);color:#fff}
.step.done span{background:#16a34a;color:#fff}
.step-line{flex:1;height:1px;background:var(--line)}

/* 公网 IP / 黑名单检查 */
.ipbl-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 12px;
  padding:13px 16px;background:rgba(0,0,0,.02);border:1px solid var(--line);border-radius:10px}
.ipbl-label{font-size:12px;color:var(--muted)}
.ipbl-ip{font-size:19px;font-weight:600;font-family:ui-monospace,Menlo,Consolas,monospace;margin-top:2px}
.ipbl-status{margin-left:auto}
.ipbl-list{display:flex;flex-direction:column;gap:1px}
.ipbl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px}
.ipbl-row:last-child{border-bottom:none}
.ipbl-name{min-width:150px;font-weight:500}
.ipbl-ms{margin-left:auto;font-size:11.5px;color:var(--muted)}
.ipbl-note{width:100%;font-size:12px;color:#b45309;margin-top:5px;line-height:1.6}
.ipbl-row.listed{background:rgba(239,68,68,.05);border-radius:6px;padding-left:10px;padding-right:10px}
@media(max-width:820px){.ipbl-name{min-width:110px}.ipbl-status{margin-left:0;width:100%}}

/* ============================================================
   分析页图表
   ============================================================ */
.rangetabs{display:flex;gap:2px;background:rgba(0,0,0,.04);padding:3px;border-radius:8px}
.rtab{padding:5px 13px;border-radius:6px;font-size:13px;color:var(--muted);text-decoration:none}
.rtab:hover{color:var(--ink);text-decoration:none}
.rtab.active{background:var(--panel);color:var(--brand);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chart-wrap{position:relative;margin-top:10px}
.chart{width:100%;height:220px;overflow:visible}
.chart .axis{stroke:var(--line);stroke-width:1}
.chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4;opacity:.7}
.chart .ylb{fill:var(--muted);font-size:10px;text-anchor:end}
.chart .ln{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.chart .ln.recv{stroke:#3b82f6}
.chart .ln.sent{stroke:#10b981}
.chart .ln.total{stroke:#8b5cf6}
.chart .gbar{fill:#93c5fd}
.chart-x{position:relative;height:18px;margin-top:2px}
.chart-x span{position:absolute;transform:translateX(-50%);font-size:10.5px;color:var(--muted);white-space:nowrap}
.legend{display:flex;gap:16px;margin-top:8px;font-size:12px;color:var(--muted)}
.lg{display:flex;align-items:center;gap:6px}
.lg::before{content:"";width:12px;height:3px;border-radius:2px;background:currentColor}
.lg.recv::before{background:#3b82f6}
.lg.sent::before{background:#10b981}
.lg.total::before{background:#8b5cf6}
.lg.gbar::before{background:#93c5fd;height:10px;width:8px}
.an-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.bars{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.bar-row{display:flex;align-items:center;gap:10px;font-size:12.5px}
.bar-name{flex:0 0 132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.bar-track{flex:1;height:8px;background:rgba(0,0,0,.05);border-radius:5px;overflow:hidden}
.bar-fill{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:5px}
.bar-num{flex:0 0 44px;text-align:right;font-weight:600}
.hours{display:flex;align-items:flex-end;gap:3px;height:140px;margin-top:14px}
.hour-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.hour-bar{width:100%;background:linear-gradient(180deg,#60a5fa,#3b82f6);border-radius:3px 3px 0 0;min-height:3px;transition:opacity .15s}
.hour-col:hover .hour-bar{opacity:.75}
.hour-lb{font-size:9.5px;color:var(--muted);margin-top:4px}
@media(max-width:820px){
  .an-two{grid-template-columns:1fr}
  .bar-name{flex-basis:96px}
  .hour-lb{font-size:8px}
}

/* 右上角管理员菜单：下拉靠右对齐，避免超出屏幕 */
.admin-menu.right .admin-drop{left:auto;right:0}

/* IP 后面的归属地标签 */
.ip-loc{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;
  background:rgba(0,0,0,.06);font-size:11.5px;color:var(--muted);white-space:nowrap}
.allfwd-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.allfwd-row input{flex:1;min-width:220px;margin:0}

/* 群发页的限额展示 */
.quota-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-top:12px}
.quota-item{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(0,0,0,.015)}
.quota-item.out{border-color:#fca5a5;background:rgba(239,68,68,.05)}
.q-k{font-size:12px;color:var(--muted)}
.q-v{font-size:22px;font-weight:700;margin-top:2px}
.q-v span{font-size:12.5px;font-weight:400;color:var(--muted)}
.q-bar{height:5px;background:rgba(0,0,0,.07);border-radius:4px;overflow:hidden;margin-top:8px}
.q-bar span{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:4px}
.quota-item.out .q-bar span{background:linear-gradient(90deg,#f87171,#ef4444)}
.q-s{font-size:11.5px;color:var(--muted);margin-top:5px}

/* 后台右上角 VIP 入口 */
.vip-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;
  background:linear-gradient(135deg,#f59e0b,#f43f5e);color:#fff;font-size:12.5px;font-weight:600;
  text-decoration:none;box-shadow:0 2px 8px rgba(244,63,94,.28);white-space:nowrap}
.vip-btn:hover{filter:brightness(1.08);text-decoration:none;color:#fff}
.vip-hero.paid{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#fff)}
.vip-top{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.vip-top form{margin-left:auto}
.vip-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vip-plan{font-size:16px}

/* 免费版版权条 */
.brandbar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:7px 14px;text-align:center;
  font-size:12px;color:var(--muted);background:rgba(255,255,255,.92);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
.brandbar a{color:var(--brand)}
body:has(.brandbar) .layout{padding-bottom:34px}

/* 功能受限提示 */
.locked{text-align:center;padding:34px 20px}
.locked-ico{font-size:44px;margin-bottom:10px}
.locked h2{font-size:19px;margin-bottom:10px}
.locked p{max-width:460px;margin:0 auto 8px;font-size:14px;line-height:1.75}

/* 发信方式选择 */
.sendmodes{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.sendmode{display:flex;gap:11px;align-items:flex-start;padding:13px 15px;border:1px solid var(--line);
  border-radius:11px;cursor:pointer;margin:0;font-weight:400;transition:border-color .14s,background .14s}
.sendmode:hover{border-color:var(--brand)}
.sendmode.on{border-color:var(--brand);background:rgba(59,110,245,.04)}
.sendmode input{width:auto;margin:3px 0 0;flex:0 0 auto}
.sendmode b{display:block;font-size:14px;margin-bottom:3px}
.sendmode span{display:block;font-size:12.5px;color:var(--muted);line-height:1.6}
.sendresult{font-size:13px;font-weight:600}
.sendresult.ok{color:#16a34a}
.sendresult.bad{color:#dc2626}

/* ---- VIP 一键开通 ---- */
.viptabs{display:flex;gap:4px;margin:14px 0}
.viptab{padding:8px 16px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;
  font-size:13.5px;color:var(--muted);font-family:inherit}
.viptab.on{border-color:var(--brand);color:var(--brand);background:rgba(59,110,245,.06);font-weight:600}
.vip-acct{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 15px;border-radius:10px;
  background:rgba(0,0,0,.02);border:1px solid var(--line);font-size:13.5px}
.vip-acct form{margin:0 0 0 auto}
.vipplans{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:16px;margin-top:14px}
.vipplan{position:relative;border:1px solid var(--line);border-radius:14px;padding:20px 18px;
  display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.vipplan:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.vipplan.hot{border-color:var(--brand);box-shadow:0 4px 20px rgba(59,110,245,.14)}
.vipplan-hot{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--brand);
  color:#fff;padding:2px 12px;border-radius:20px;font-size:11px;font-weight:600}
.vipplan-n{font-weight:600;font-size:15px}
.vipplan-p{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:8px 0 4px}
.vipplan-p span{font-size:12.5px;font-weight:400;color:var(--muted)}
.vipplan-d{font-size:12.5px;color:var(--muted);margin-bottom:12px}
.vipplan-f{list-style:none;padding:0;margin:0 0 16px;flex:1}
.vipplan-f li{position:relative;padding:5px 0 5px 20px;font-size:12.5px;line-height:1.7;
  word-break:keep-all;overflow-wrap:normal}
.vipplan-f li::before{content:"✓";position:absolute;left:0;color:#16a34a;font-weight:700}

/* 扫码支付 */
.payqr{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start;margin-top:14px}
.payqr #qrBox{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;line-height:0}
.payqr-side{flex:1;min-width:230px;font-size:13px}
.payqr-no{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;font-weight:600;margin-top:3px}
.payqr-url{font-size:12px;color:var(--brand);word-break:break-all;margin-top:3px}

/* ---- 服务推荐 ---- */
/* 服务推荐布局：
   原来用 auto-fill + minmax(280px)，只有一两条广告时会被塞进 280px 的
   窄格子里，右边大片留白——这正是"没有拉伸铺满"的原因。
   改用 auto-fit：格子数不足时剩余空间由现有卡片均分，横幅广告能铺满整行。 */
.recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:16px;align-items:start}
/* 只有一条时独占整行，横幅素材才显得出来 */
.recs:has(.rec:only-child){grid-template-columns:1fr}
.rec{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;color:var(--ink);text-decoration:none;transition:box-shadow .15s,transform .15s}
.rec:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.09);text-decoration:none}
/* 广告图：未设宽高时按原始比例铺满容器宽度（不裁剪），
   与授权中心后台的预览效果保持一致；设了高度才固定并等比缩放。 */
.rec-img{width:100%;background:rgba(0,0,0,.03);overflow:hidden;line-height:0}
/* 关键：宽度撑满容器。横幅类素材原始宽度可能只有几百 px，
   不写 width:100% 就会按原始尺寸显示，看起来"没铺满"。 */
.rec-img img{width:100%;height:auto;display:block;object-fit:fill}
.rec-img.fixed{display:flex;align-items:center;justify-content:center}
.rec-img.fixed img{height:100%;object-fit:contain}
.rec-body{padding:14px 16px;flex:1;display:flex;flex-direction:column}
.rec-t{font-weight:600;font-size:14.5px}
.rec-d{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.65}
.rec-html{padding:0;overflow:hidden;display:block}
.rec-html img{max-width:100%;height:auto;display:block}
@media(max-width:820px){.recs{grid-template-columns:1fr}.payqr{gap:16px}}
.sendport{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px;font-size:12.5px}
.sendport input[type=number]{width:88px;padding:5px 9px;font-size:13px;margin:0}
.sendport select{padding:5px 9px;font-size:13px;margin:0}

/* VIP 页状态条 */
.vip-main{flex:1;min-width:200px}
.vip-acctbox{margin-left:auto;text-align:right}
.vip-acct-line{display:flex;align-items:center;gap:10px}
.vip-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex:0 0 auto}
.vip-acct-name{font-size:13.5px;font-weight:600;text-align:left}
.vip-fp{font-size:11.5px;color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace;text-align:left}
/* 支付方式选择 */
.paypick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.paym-opt{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--line);
  border-radius:9px;cursor:pointer;margin:0;font-weight:400;color:var(--ink);text-decoration:none}
.paym-opt input{display:none}
.paym-opt:hover{border-color:var(--brand);text-decoration:none}
.paym-opt.on{border-color:var(--brand);background:rgba(59,110,245,.07);color:var(--brand);font-weight:600}
.payhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding-bottom:14px;border-bottom:1px solid var(--line)}
.payamt{font-size:32px;font-weight:800;color:var(--brand);letter-spacing:-.02em}
.payqr-tip{font-size:14px;line-height:1.8}
.guidebox{background:#f0f6ff;border:1px solid #c7ddfb;border-radius:11px;padding:14px 17px;margin:14px 0}
.guide-q{font-weight:600;font-size:13.5px;margin-bottom:8px}
.guide-a .ga{font-size:13px;line-height:1.9;color:#334155}
.sm-good{display:block;font-size:12.5px;color:#15803d;line-height:1.7;margin-top:3px}
.sm-bad{display:block;font-size:12.5px;color:#b45309;line-height:1.7;margin-top:2px}
.relayhelp{font-size:12.5px;color:var(--muted);line-height:1.75;margin-top:8px;
  background:rgba(0,0,0,.03);padding:9px 12px;border-radius:8px}
.presets{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;font-size:12.5px}
.preset{padding:5px 13px;border:1px solid var(--line);background:#fff;border-radius:20px;cursor:pointer;
  font-size:12.5px;color:var(--ink);font-family:inherit}
.preset:hover{border-color:var(--brand);color:var(--brand)}
.subopt{display:flex;gap:9px;align-items:flex-start;margin:10px 0 0;padding:11px 13px;
  background:rgba(59,110,245,.05);border:1px solid rgba(59,110,245,.18);border-radius:9px;font-weight:400}
.subopt input{width:auto;margin:2px 0 0;flex:0 0 auto}
.subopt span{font-size:12.5px;line-height:1.75;color:#334155}
.subopt em{color:#b45309;font-style:normal}

/* VIP 页：授权列表 */
.liclist{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.licrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 16px;
  border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.licrow.here{border-color:#86efac;background:linear-gradient(135deg,rgba(22,163,74,.05),transparent)}
.lic-l{flex:1;min-width:200px}
.lic-key{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;font-weight:600}
.lic-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:4px}
.lic-r{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lic-r form{margin:0}

/* VIP 页弹窗（换绑 / 支付） */
.vipmodal{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:200;
  display:none;align-items:center;justify-content:center;padding:20px}
.vipmodal.open{display:flex}
.vipmodal-box{background:var(--panel);border-radius:15px;width:100%;max-width:440px;
  box-shadow:0 24px 60px rgba(0,0,0,.3);max-height:90vh;overflow:auto}
.vipmodal-head{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line);
  font-weight:600;font-size:15px}
.vipmodal-x{margin-left:auto;background:none;border:none;font-size:17px;cursor:pointer;color:var(--muted)}
.vipmodal-body{padding:18px 20px}
.vipmodal-foot{display:flex;gap:9px;justify-content:flex-end;padding:14px 20px;
  border-top:1px solid var(--line)}
.vipmodal-qr{display:flex;flex-direction:column;align-items:center;padding:6px 0}
.vipmodal-qr>div{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;line-height:0}
.vipmodal-amt{font-size:30px;font-weight:800;color:var(--brand);text-align:center;letter-spacing:-.02em}
.vipmodal-plan{text-align:center;color:var(--muted);font-size:13px;margin-bottom:14px}
.payloading{text-align:center;padding:36px 0;color:var(--muted);font-size:13.5px}
.paylerr{padding:16px;border-radius:9px;background:rgba(220,38,38,.07);color:#b91c1c;
  font-size:13px;line-height:1.8}
.paytipline{text-align:center;font-size:13px;color:var(--muted);margin-top:12px}
.payno{text-align:center;font-size:11.5px;color:var(--muted);margin-top:12px;
  font-family:ui-monospace,Menlo,Consolas,monospace}
.paydone{text-align:center;padding:14px 0}
.paydone-ico{font-size:40px}
.paydone h3{font-size:18px;margin:8px 0}
.paydone p{font-size:13.5px;margin:6px 0}
.paydone code{font-size:14px}
.quickfill{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px;font-size:12px}
.qf{padding:3px 10px;border:1px solid var(--line);background:#fff;border-radius:20px;cursor:pointer;
  font-size:11.5px;color:var(--brand);font-family:ui-monospace,Menlo,Consolas,monospace}
.qf:hover{border-color:var(--brand);background:rgba(59,110,245,.06)}
/* 发送队列状态标签 */
.qtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.qtab{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1px solid var(--line);
  border-radius:9px;font-size:13.5px;color:var(--ink);background:var(--panel)}
.qtab:hover{border-color:var(--brand);text-decoration:none}
.qtab b{font-size:12px;padding:1px 7px;border-radius:20px;background:rgba(0,0,0,.06);font-weight:600}
.qtab.on{border-color:var(--brand);background:rgba(59,110,245,.07);color:var(--brand);font-weight:600}
.qtab.on b{background:var(--brand);color:#fff}
.qtab.fail.on{border-color:#dc2626;background:rgba(220,38,38,.07);color:#b91c1c}
.qtab.fail.on b{background:#dc2626}
/* 代发服务选择说明 */
.senderbox{border:1px solid #fcd34d;background:#fffbeb;border-radius:11px;margin:14px 0;overflow:hidden}
.sb-h{padding:11px 15px;background:rgba(251,191,36,.18);font-weight:600;font-size:13.5px}
.sb-b{padding:13px 15px;font-size:12.5px;line-height:1.85;color:#3f3f46}
.sbtable{margin:10px 0;font-size:12px;width:100%}
.sbtable th{background:rgba(0,0,0,.03);font-weight:600;padding:7px 9px;text-align:left}
.sbtable td{padding:8px 9px;vertical-align:top;border-top:1px solid rgba(0,0,0,.06)}
.preset.good{border-color:#86efac;color:#15803d}
.preset.good:hover{border-color:#16a34a;background:rgba(22,163,74,.07)}
/* 服务推荐引导条 */
.recadbox{display:flex;gap:13px;align-items:flex-start;padding:14px 17px;margin:14px 0;
  border-radius:11px;background:linear-gradient(135deg,#eef7ff,#f5f0ff);
  border:1px solid #c7ddfb;font-size:13px;line-height:1.85}
.recad-i{font-size:20px;flex:0 0 auto}
.recadbox a{font-weight:600}
/* 诊断页：收发能力总览 */
.capbar{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px}
.cap{padding:16px 18px;border-radius:13px;border:1px solid var(--line);background:var(--panel)}
.cap-h{display:flex;align-items:center;gap:9px;font-size:16px;margin-bottom:8px}
.cap-ico{font-size:19px}
.cap-r{font-size:13px;line-height:1.8;color:var(--ink)}
.cap-a{font-size:12.5px;line-height:1.8;color:var(--muted);margin-top:7px;padding-top:7px;
  border-top:1px dashed var(--line)}
.cap-d{font-size:12px;color:var(--muted);margin-top:6px}
.cap-ok{border-color:#86efac;background:linear-gradient(135deg,rgba(22,163,74,.06),transparent)}
.cap-ok .cap-h b{color:#15803d}
.cap-warn{border-color:#fcd34d;background:linear-gradient(135deg,rgba(245,158,11,.07),transparent)}
.cap-warn .cap-h b{color:#b45309}
.cap-bad{border-color:#fca5a5;background:linear-gradient(135deg,rgba(220,38,38,.06),transparent)}
.cap-bad .cap-h b{color:#b91c1c}
.capnote{padding:12px 16px;border-radius:10px;background:rgba(0,0,0,.03);font-size:13px;
  line-height:1.8;margin-bottom:18px}
@media(max-width:860px){.capbar{grid-template-columns:1fr}}


/* ============================================================
   皮肤骨架
   ------------------------------------------------------------
   body 带 nav-{side|rail|top|float} 与 list-{table|compact|
   twoline|cards|feature|plain} 两组类，由所选皮肤决定。
   邮件列表是 table.maillist2 > tr.mrow，且单元格带行内样式，
   所以改布局的规则需要 !important 才能压过行内值。
   ============================================================ */

/* ---------- 导航形态 ---------- */

/* rail：72px 图标窄栏 */
body.nav-rail .sidebar{width:72px;padding:12px 6px}
body.nav-rail .sidebar a,body.nav-rail .compose-btn{flex-direction:column;justify-content:center;
  gap:3px;padding:10px 3px;text-align:center;position:relative}
body.nav-rail .sidebar .nav-i{font-size:19px}
body.nav-rail .sidebar .nav-t{font-size:10px;line-height:1.2;opacity:.9}
body.nav-rail .sidebar .sect{display:none}
body.nav-rail .sidebar .badge{position:absolute;top:4px;right:10px}
body.nav-rail .compose-btn{border-radius:12px}

/* top：侧栏横排到顶部。
   关键是父容器 .layout 也要改成纵向——只改 .sidebar 的话，
   横条仍被当成左列，主内容被挤到右侧（企业蓝之前正是这么错版的）。 */
body.nav-top .layout{flex-direction:column;min-height:calc(100vh - 54px)}
body.nav-top .sidebar{display:flex;flex-direction:row;align-items:center;gap:2px;
  width:100%;height:auto;position:sticky;top:54px;z-index:20;flex-shrink:0;align-self:stretch;
  border-right:none;border-bottom:1px solid var(--line);
  padding:0 14px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}
body.nav-top .sidebar a{flex-direction:row;padding:12px 13px;border-radius:0;margin:0;
  border-bottom:2px solid transparent;flex:0 0 auto}
body.nav-top .sidebar a.active{border-bottom-color:var(--brand);background:transparent}
body.nav-top .sidebar .sect{display:none}
body.nav-top .sidebar .badge{margin-left:5px}
body.nav-top .compose-btn{order:-1;padding:7px 15px;margin:0 10px 0 0;border-radius:7px;
  width:auto;flex-direction:row;flex:0 0 auto}
body.nav-top .main{flex:1;width:100%;padding:18px 22px;min-width:0}
body.nav-top .sidebar::-webkit-scrollbar{height:4px}

@media(max-width:860px){
  body.nav-rail .sidebar{width:100%;flex-direction:row;overflow-x:auto}
  body.list-cards .maillist2,body.list-cards .maillist2 tbody{grid-template-columns:1fr}
}
/* 发信方式内的补充说明：字号收敛，不喧宾夺主 */
.sm-note{margin-top:9px;padding:9px 12px;border-radius:8px;background:rgba(0,0,0,.03);
  font-size:12.5px;line-height:1.75;color:var(--muted);font-weight:400}
.sm-note b{color:#b45309}
.sendmode b{font-size:14px}
.sendmode span.sm-good,.sendmode span.sm-bad{font-size:12.5px}
/* 顶栏授权徽标：免费版与已开通视觉上要能一眼区分 */
.vip-btn.free{background:linear-gradient(135deg,#94a3b8,#64748b);
  box-shadow:0 2px 8px rgba(100,116,139,.25)}
.vip-btn.paid{background:linear-gradient(135deg,#f59e0b,#f43f5e)}
/* 版本与更新 */
.vercard{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}
.ver-l{text-align:center;padding:12px 22px;border-right:1px solid var(--line);min-width:130px}
.ver-cur{font-size:27px;font-weight:800;color:var(--brand);letter-spacing:-.02em}
.ver-r{flex:1;min-width:250px}
.ver-new{font-size:16px;font-weight:600;color:#b45309}
.ver-ok{font-size:16px;font-weight:600;color:#15803d}
.ver-notes{margin-top:9px;padding:11px 14px;border-radius:9px;background:rgba(0,0,0,.03);
  font-size:13px;line-height:1.8;white-space:pre-wrap}
.ver-doing{margin-top:12px;padding:11px 14px;border-radius:9px;background:rgba(59,110,245,.08);
  border:1px solid rgba(59,110,245,.25);font-size:13.5px;font-weight:500}
@media(max-width:700px){.ver-l{border-right:none;border-bottom:1px solid var(--line);width:100%}}

/* ---- 皮肤选择器的布局缩略图 ---- */
.theme-opt{width:132px !important}
.tprev{display:flex;width:112px;height:70px;border:1px solid var(--line);border-radius:7px;
  overflow:hidden;background:#fff;margin-bottom:7px}
.tp-nav{display:flex;flex-direction:column;gap:3px;padding:5px 4px;background:var(--tc);
  flex:0 0 26px}
.tp-nav i{display:block;height:5px;border-radius:2px;background:rgba(255,255,255,.65)}
.tp-nav i:first-child{background:#fff}
.tp-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:6px 5px;background:#fff}
.tp-body b{display:block;height:7px;border-radius:2px;background:#e4e8f0}
.tp-body b:first-child{background:var(--tc);opacity:.5;width:70%}

/* 图标窄栏：导航更窄，只剩小方块 */
.tprev.nav-rail .tp-nav{flex:0 0 15px;align-items:center;padding:5px 2px}
.tprev.nav-rail .tp-nav i{width:9px;height:9px;border-radius:3px}
/* 顶部导航：导航横过来放在上面 */
.tprev.nav-top{flex-direction:column}
.tprev.nav-top .tp-nav{flex:0 0 13px;flex-direction:row;align-items:center;gap:4px;padding:0 6px}
.tprev.nav-top .tp-nav i{width:14px;height:4px}
/* 悬浮岛：导航带圆角与间距 */
.tprev.nav-float .tp-nav{margin:5px 0 5px 5px;border-radius:6px;flex:0 0 22px}

/* 列表形态：条目的疏密与形状随之变化 */
.tprev.lst-compact .tp-body{gap:2px}
.tprev.lst-compact .tp-body b{height:5px}
.tprev.lst-twoline .tp-body b{height:12px}
.tprev.lst-twoline .tp-body b:nth-child(n+3){display:none}
.tprev.lst-cards .tp-body{flex-direction:row;flex-wrap:wrap;gap:4px}
.tprev.lst-cards .tp-body b{width:calc(50% - 2px);height:22px;border-radius:4px}
.tprev.lst-feature .tp-body b{height:9px}
.tprev.lst-feature .tp-body b:nth-child(2){height:16px;background:#eef1f6}
.tprev.lst-plain .tp-body b{height:4px;background:#eaeef4}
.tprev.lst-plain .tp-body{gap:7px}
/* 深色皮肤的缩略图也应该是深色的 */
.theme-opt input[value="darktech"]~.tprev,
.theme-opt input[value="darktech"]~.tprev .tp-body{background:#111827}
.theme-opt input[value="darktech"]~.tprev .tp-body b{background:#243044}
.theme-opt input[value="apple"]~.tprev .tp-nav{background:#f6f6f8}
.theme-opt input[value="apple"]~.tprev .tp-nav i{background:#c9c9ce}
.theme-opt input[value="apple"]~.tprev .tp-nav i:first-child{background:#007aff}
.theme-opt input[value="neumorph"]~.tprev,
.theme-opt input[value="neumorph"]~.tprev .tp-body{background:#e6e9f0}
.theme-opt input[value="neumorph"]~.tprev .tp-body b{background:#d4d9e2;border-radius:4px}

/* ============================================================
   皮肤 × 列表形态：让每套皮肤在同一形态下也长得不一样
   ------------------------------------------------------------
   六种列表形态（table/compact/twoline/cards/feature/plain）由模板
   决定 HTML 结构；下面针对各皮肤调整该形态的具体质感——圆角、
   分隔线、密度、强调方式，避免"只是换了个主色"。
   ============================================================ */

/* ---- 简约邮匣：胶囊高亮、无分隔线、悬停浮起 ---- */
body.theme-gmailish .mlist-compact{background:#fff;border-radius:16px;overflow:hidden;
  border:none;box-shadow:none}
body.theme-gmailish .crow{border-bottom:1px solid #f1f3f4;padding:8px 16px;transition:box-shadow .12s}
body.theme-gmailish .crow:hover{box-shadow:inset 1px 0 0 #dadce0,inset -1px 0 0 #dadce0,
  0 1px 2px rgba(60,64,67,.3);z-index:1;border-radius:0}
body.theme-gmailish .crow.unread .csubj b,body.theme-gmailish .crow.unread .cfrom{font-weight:700;color:#202124}
body.theme-gmailish .crow .csnip{color:#5f6368}
body.theme-gmailish .rowchk{accent-color:#1a73e8}

/* ---- 协作蓝：卡片化双行、头像方角 ---- */
body.theme-feishu .mlist-two{background:#fff;border:1px solid var(--line);border-radius:8px}
body.theme-feishu .trow{padding:12px 16px;border-bottom:1px solid #f2f3f5;gap:12px}
body.theme-feishu .trow:hover{background:#f7f8fa}
body.theme-feishu .tavatar{border-radius:7px;background:#3370ff;font-size:14px}
body.theme-feishu .tfrom{font-size:14px;font-weight:500}
body.theme-feishu .tsubj{font-size:13.5px;color:#1f2329}
body.theme-feishu .tsnip{color:#8f959e;font-size:12.5px}
body.theme-feishu .trow.unread{box-shadow:inset 3px 0 0 #3370ff}

/* ---- 企业蓝：紧凑表格、斑马纹、字段边界清晰 ---- */
body.theme-enterprise .maillist2{border:1px solid var(--line);border-radius:8px;overflow:hidden}
body.theme-enterprise .mrow:nth-child(even){background:#fafbfc}
body.theme-enterprise .mrow:hover{background:#e6f4ff}
body.theme-enterprise .mrow.unread{background:#e6f4ff;font-weight:600}
body.theme-enterprise .mrow td{border-bottom:1px solid #f0f1f3 !important;padding:9px 10px !important}
body.theme-enterprise .mcell{font-size:13px}

/* ---- 暗黑科技：霓虹左边条、发光头像、深色分隔 ---- */
body.theme-darktech .mlist-two{background:#111827;border:1px solid #1f2937;border-radius:12px}
body.theme-darktech .trow{border-bottom:1px solid #1a2333;padding:12px 15px}
body.theme-darktech .trow:hover{background:#161f31}
body.theme-darktech .trow.unread{background:#131c2c;box-shadow:inset 3px 0 0 #38bdf8}
body.theme-darktech .tavatar{background:linear-gradient(135deg,#38bdf8,#818cf8);color:#04121f;
  box-shadow:0 0 12px rgba(56,189,248,.35)}
body.theme-darktech .tfrom{color:#e5e7eb}
body.theme-darktech .tsubj{color:#cbd5e1}
body.theme-darktech .tsnip,body.theme-darktech .tdate{color:#6b7688}
body.theme-darktech .star{color:#3f4a5c}
body.theme-darktech .star.on{color:#fbbf24;filter:drop-shadow(0 0 4px rgba(251,191,36,.5))}

/* ---- 自然生态：圆润卡片、绿色描边、柔和投影 ---- */
body.theme-verdant .mlist-cards{gap:14px}
body.theme-verdant .kcard{border-radius:16px;border:1px solid #dcebe3;
  box-shadow:0 2px 8px rgba(31,77,58,.05)}
body.theme-verdant .kcard:hover{box-shadow:0 10px 26px rgba(31,77,58,.13);transform:translateY(-3px)}
body.theme-verdant .kcard.unread{border-color:#40916c;background:linear-gradient(160deg,#f4fbf7,#fff)}
body.theme-verdant .kavatar{background:#40916c;border-radius:12px}
body.theme-verdant .ksubj{color:#1b3b2f;font-weight:600}
body.theme-verdant .ksnip{color:#6b8578}

/* ---- 云霭白银：极细点线、字距舒展、无强调色 ---- */
body.theme-silver .mlist-plain{padding:4px 2px}
body.theme-silver .prow{border-bottom:1px dotted #dfe2e7;padding:13px 6px;letter-spacing:.015em}
body.theme-silver .prow:hover{background:transparent}
body.theme-silver .prow:hover .psubj{color:#3a3f47;text-decoration:underline;text-underline-offset:3px}
body.theme-silver .prow.unread .psubj{font-weight:700;color:#2b3038}
body.theme-silver .pdate{color:#a8b0bb;font-size:11.5px}

/* ---- 新拟态：卡片凸起、悬停下陷 ---- */
body.theme-neumorph .mlist-cards{gap:18px}
body.theme-neumorph .kcard{background:#e6e9f0;border:none;border-radius:18px;
  box-shadow:6px 6px 13px #c8ccd4,-6px -6px 13px #fff}
body.theme-neumorph .kcard:hover{transform:none;
  box-shadow:3px 3px 8px #c8ccd4,-3px -3px 8px #fff}
body.theme-neumorph .kcard.unread{box-shadow:inset 4px 4px 9px #c8ccd4,inset -4px -4px 9px #fff}
body.theme-neumorph .kavatar{background:#e6e9f0;color:#5b6577;
  box-shadow:3px 3px 6px #cdd2da,-3px -3px 6px #fff}
body.theme-neumorph .ksubj{color:#48505c}
body.theme-neumorph .star{color:#b6bdc9}

/* ---- 商务典雅：衬线标题、金色强调、宽松行距 ---- */
body.theme-business .mlist-feature{padding:0}
body.theme-business .frow{padding:20px 22px;border-bottom:1px solid #eceff4}
body.theme-business .frow:hover{background:#fafbfd}
body.theme-business .ftitle{font-family:Georgia,"Times New Roman","Songti SC",serif;
  font-size:18px;line-height:1.5;color:#1e2532}
body.theme-business .fwho{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#8a93a3}
body.theme-business .flead{font-size:13.5px;line-height:1.85;color:#5c6675;max-width:74ch}
body.theme-business .frow.unread{box-shadow:inset 3px 0 0 #b8860b}
body.theme-business .frow.unread .ftitle{font-weight:700}
body.theme-business .fdate{font-size:11.5px;color:#8a93a3}
body.theme-business .star.on{color:#b8860b}

/* ---- 经典蓝保持原样，仅确保表格边线一致 ---- */
body.theme-default .mrow:hover{background:#f7f9fc}

/* ---- 表格列表：原本写在行内的样式，移到这里以便皮肤覆盖 ---- */
.maillist2{width:100%;table-layout:fixed;border-collapse:collapse}
.maillist2 .mrow>td{border-bottom:1px solid #eef1f6;padding:10px 6px;overflow:hidden}
.maillist2 .mc-chk{width:34px;text-align:center;padding:10px 4px}
.maillist2 .mc-chk .rowchk{width:16px;height:16px;margin:0;vertical-align:middle}
.maillist2 .mc-star{width:30px;text-align:center;padding:10px 2px}
.maillist2 .mc-star form{margin:0;display:inline}
.maillist2 .mc-star .star{background:none;border:none;cursor:pointer;font-size:16px;padding:0}
.maillist2 .mc-from{width:180px}
.maillist2 .mc-date{width:104px;text-align:right;padding:10px 8px 10px 4px;white-space:nowrap}
.maillist2 .mcell{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:inherit;text-decoration:none}
.maillist2 .msnip{color:#8a94a6;font-weight:400}
.maillist2 .mdate{color:#8a94a6;font-size:12px;text-decoration:none;white-space:nowrap}

/* ============================================================
   仿主流邮箱皮肤
   ============================================================ */

/* ---------- 仿 QQ 邮箱：浅蓝顶栏 + 紧凑表格 ---------- */
body.theme-qqmail{--bg:#f2f6fa;--panel:#fff;--ink:#333;--muted:#8a9099;--line:#dfe6ee;
  --brand:#12b7f5;--brand-d:#0e9ad2;--star:#ffa020;--border:#dfe6ee;--shadow:0 1px 3px rgba(0,0,0,.06)}
body.theme-qqmail .topbar{background:linear-gradient(180deg,#3aa5e0,#2b8fd0);border-bottom:none;color:#fff}
body.theme-qqmail .topbar a,body.theme-qqmail .topbar .muted{color:#e6f4fd}
body.theme-qqmail .sidebar{background:#f7fbfe;border-right:1px solid #dfe6ee;width:186px;padding:10px 6px}
body.theme-qqmail .sidebar a{color:#3c4650;border-radius:3px;padding:6px 11px;font-size:13px;margin-bottom:0}
body.theme-qqmail .sidebar a:hover{background:#e4f2fb}
body.theme-qqmail .sidebar a.active{background:#12b7f5;color:#fff;font-weight:400}
body.theme-qqmail .sidebar .sect{color:#9aa4ae;font-size:12px;margin:12px 11px 4px}
body.theme-qqmail .compose-btn{background:#12b7f5;border-radius:3px;padding:8px;font-weight:400;font-size:13px}
body.theme-qqmail .compose-btn:hover{background:#0e9ad2}
/* QQ 的列表很紧凑，分隔线极浅 */
body.theme-qqmail .maillist2 .mrow>td{padding:7px 6px;border-bottom:1px solid #f0f4f8}
body.theme-qqmail .mrow:hover{background:#eef7fd}
body.theme-qqmail .mrow.unread{background:#fff}
body.theme-qqmail .mrow.unread .mcell b{color:#0a7fb8;font-weight:700}
body.theme-qqmail .mcell{font-size:13px}
body.theme-qqmail .mdate{font-size:11.5px}

/* ---------- 仿 Outlook：深蓝通栏 + 双行 ---------- */
body.theme-outlook{--bg:#faf9f8;--panel:#fff;--ink:#242424;--muted:#616161;--line:#edebe9;
  --brand:#0078d4;--brand-d:#106ebe;--star:#ffb900;--border:#edebe9;--shadow:0 1.6px 3.6px rgba(0,0,0,.13)}
body.theme-outlook .topbar{background:#0f3b66;border-bottom:none;color:#fff;height:48px}
body.theme-outlook .topbar a,body.theme-outlook .topbar .muted{color:#dbe7f2}
body.theme-outlook .searchbar,body.theme-outlook .search-input{background:rgba(255,255,255,.15);
  border:none;border-radius:4px;height:32px;color:#fff}
body.theme-outlook .searchbar input::placeholder{color:#c5d8ea}
body.theme-outlook .sidebar{background:#faf9f8;border-bottom:1px solid #edebe9}
body.theme-outlook .sidebar a{color:#242424;font-size:13.5px;border-radius:0}
body.theme-outlook .sidebar a:hover{background:#f3f2f1}
body.theme-outlook .sidebar a.active{background:transparent;color:#0078d4;font-weight:600;
  border-bottom-color:#0078d4}
body.theme-outlook .compose-btn{background:#0078d4;border-radius:2px;font-weight:600;font-size:13.5px}
body.theme-outlook .compose-btn:hover{background:#106ebe}
body.theme-outlook .mlist-two{background:#fff;border:none}
body.theme-outlook .trow{padding:9px 14px;border-bottom:1px solid #f3f2f1;gap:11px}
body.theme-outlook .trow:hover{background:#f3f2f1}
/* Outlook 的未读用左侧蓝条 + 加粗主题 */
body.theme-outlook .trow.unread{box-shadow:inset 3px 0 0 #0078d4;background:#fff}
body.theme-outlook .trow.unread .tsubj{font-weight:600;color:#0f3b66}
body.theme-outlook .tavatar{border-radius:50%;background:#0078d4;font-size:13px}
body.theme-outlook .tfrom{font-size:13.5px;font-weight:600;color:#242424}
body.theme-outlook .tsubj{font-size:13px;color:#0078d4}
body.theme-outlook .tsnip{font-size:12.5px;color:#616161}

/* ---------- 仿 Apple Mail：浅灰侧栏 + 三行预览 ---------- */
body.theme-apple{--bg:#fff;--panel:#fff;--ink:#1d1d1f;--muted:#86868b;--line:#e5e5ea;
  --brand:#007aff;--brand-d:#0062cc;--star:#ffcc00;--border:#e5e5ea;--shadow:0 1px 3px rgba(0,0,0,.05)}
body.theme-apple .topbar{background:rgba(246,246,248,.9);border-bottom:1px solid #e5e5ea;
  -webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
body.theme-apple .sidebar{background:#f6f6f8;border-right:1px solid #e5e5ea;width:204px;padding:12px 9px}
body.theme-apple .sidebar a{color:#1d1d1f;border-radius:7px;padding:6px 11px;font-size:13.5px;
  margin-bottom:1px}
body.theme-apple .sidebar a:hover{background:rgba(0,0,0,.045)}
body.theme-apple .sidebar a.active{background:#007aff;color:#fff;font-weight:500}
body.theme-apple .sidebar .sect{color:#86868b;font-size:11.5px;letter-spacing:.02em;margin:15px 11px 4px}
body.theme-apple .compose-btn{background:#007aff;border-radius:9px;padding:9px;font-weight:500}
body.theme-apple .compose-btn:hover{background:#0062cc}
body.theme-apple .mlist-two{background:#fff;border:none}
body.theme-apple .trow{padding:10px 16px;border-bottom:1px solid #f0f0f2;gap:10px}
body.theme-apple .trow:hover{background:#f6f6f8}
/* Apple 的未读是标题前一个蓝点，而不是整行变色 */
body.theme-apple .trow.unread{background:#fff}
body.theme-apple .trow.unread .tfrom::before{content:"";display:inline-block;width:8px;height:8px;
  border-radius:50%;background:#007aff;margin-right:7px;vertical-align:middle}
body.theme-apple .trow.unread .tfrom{font-weight:700}
body.theme-apple .tavatar{display:none}
body.theme-apple .tfrom{font-size:14px;font-weight:600;color:#1d1d1f}
body.theme-apple .tsubj{font-size:13px;color:#1d1d1f;margin-top:1px}
body.theme-apple .tsnip{font-size:12.5px;color:#86868b;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
body.theme-apple .tdate{font-size:12px;color:#86868b}
body.theme-apple .star.on{color:#ffcc00}

/* ---------- 仿 163 邮箱：红色主色 + 表格 ---------- */
body.theme-netease{--bg:#f4f4f4;--panel:#fff;--ink:#333;--muted:#888;--line:#e0e0e0;
  --brand:#d93a2b;--brand-d:#b82e21;--star:#f5a623;--border:#e0e0e0;--shadow:0 1px 3px rgba(0,0,0,.07)}
body.theme-netease .topbar{background:#d93a2b;border-bottom:none;color:#fff}
body.theme-netease .topbar a,body.theme-netease .topbar .muted{color:#ffe3df}
body.theme-netease .sidebar{background:#fafafa;border-right:1px solid #e0e0e0;width:180px;padding:8px 5px}
body.theme-netease .sidebar a{color:#444;border-radius:2px;padding:6px 10px;font-size:13px;margin-bottom:0}
body.theme-netease .sidebar a:hover{background:#f0e4e2}
body.theme-netease .sidebar a.active{background:#fdeeec;color:#d93a2b;font-weight:600;
  box-shadow:inset 3px 0 0 #d93a2b}
body.theme-netease .sidebar .sect{color:#999;font-size:12px;margin:11px 10px 4px}
body.theme-netease .compose-btn{background:#d93a2b;border-radius:2px;padding:8px;font-size:13px;font-weight:400}
body.theme-netease .compose-btn:hover{background:#b82e21}
body.theme-netease .maillist2 .mrow>td{padding:8px 6px;border-bottom:1px solid #eee}
body.theme-netease .mrow:hover{background:#fdf6f5}
body.theme-netease .mrow.unread .mcell b{color:#d93a2b;font-weight:700}
body.theme-netease .mcell{font-size:13px}
body.theme-netease .star.on{color:#f5a623}
