/* web3hire 用户中心 — 品牌样式（白底 + 品牌蓝 #0b7de8 + 深藏青 #0a2540 + 金色点缀） */
:root{
  --blue:#0b7de8; --blue-d:#0a63d6; --navy:#0a2540; --gold:#c9a84c;
  --ink:#0f172a; --gray:#475569; --gray2:#64748b; --line:#e6ecf5;
  --bg:#ffffff; --soft:#f7f9fd; --soft2:#eef4ff; --danger:#dc2626; --ok:#059669;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

/* 顶栏 */
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;height:62px;gap:12px}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700}.brand-txt{white-space:nowrap}
.logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--blue),#5aa9ff);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.brand-txt b{color:var(--blue);font-weight:800}
.top-r{display:flex;align-items:center;gap:8px}
.top-user{font-size:13px;color:var(--gray);margin-left:4px}
.ghost{border:1px solid var(--line);background:#fff;color:var(--navy);padding:6px 12px;border-radius:9px;font-size:12.5px;cursor:pointer;transition:.2s;font-family:inherit}
.ghost:hover{border-color:rgba(11,125,232,.45);background:var(--soft2)}

/* 主体 */
.main{padding:26px 20px 60px;min-height:60vh}
.loading{padding:60px;text-align:center;color:var(--gray2)}

/* 认证卡 */
.auth{max-width:420px;margin:24px auto 0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 26px 22px;box-shadow:0 18px 50px -34px rgba(11,125,232,.5)}
.auth h1{font-size:21px;font-weight:800;letter-spacing:-.2px}
.auth .sub{font-size:13px;color:var(--gray2);margin-top:5px}
.tabs{display:flex;gap:4px;background:var(--soft);padding:4px;border-radius:11px;margin:18px 0 16px}
.tabs button{flex:1;border:0;background:transparent;padding:8px;border-radius:8px;font-size:13px;font-weight:600;color:var(--gray);cursor:pointer;font-family:inherit;transition:.2s}
.tabs button.on{background:#fff;color:var(--blue);box-shadow:0 2px 8px rgba(15,23,42,.08)}

/* 表单 */
.field{margin-bottom:12px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--navy);margin-bottom:5px}
.field .hint{font-weight:400;color:var(--gray2);font-size:11.5px}
input[type=text],input[type=password],input[type=email],textarea,select{
  width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13.5px;font-family:inherit;color:var(--ink);background:#fff;transition:.2s
}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,125,232,.12)}
textarea{resize:vertical;min-height:64px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
button.primary{width:100%;background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;border:0;border-radius:11px;padding:11px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:.2s;box-shadow:0 8px 20px -12px rgba(11,125,232,.9)}
button.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(11,125,232,.9)}
button.link{background:none;border:0;color:var(--blue);font-size:12.5px;cursor:pointer;font-family:inherit;text-decoration:underline}
.msg{margin-top:12px;padding:9px 12px;border-radius:9px;font-size:12.5px;display:none}
.msg.err{display:block;background:#fef2f2;color:var(--danger);border:1px solid #fecaca}
.msg.ok{display:block;background:#ecfdf5;color:var(--ok);border:1px solid #a7f3d0}
.demo{margin-top:14px;font-size:11.5px;color:var(--gray2);border-top:1px dashed var(--line);padding-top:10px}

/* 已登录布局 */
.grid2{display:grid;grid-template-columns:260px 1fr;gap:20px;margin-top:22px}
.side{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 16px;height:fit-content;position:sticky;top:82px}
.avatar-wrap{position:relative;width:84px;height:84px;margin:0 auto 12px}
.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 6px 18px -8px rgba(11,125,232,.7);background:linear-gradient(135deg,var(--soft2),#fff);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800;color:var(--blue)}
.avatar-edit{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;border:2px solid #fff;display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer}
.side .nm{text-align:center;font-weight:800;font-size:15px}
.side .num{text-align:center;font-size:11.5px;color:var(--gray2);margin-top:2px}
.navlist{margin-top:16px;display:flex;flex-direction:column;gap:3px}
.navlist button{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:9px 10px;border-radius:10px;font-size:13px;color:var(--gray);cursor:pointer;font-family:inherit;text-align:left;transition:.18s}
.navlist button:hover{background:var(--soft);color:var(--navy)}
.navlist button.on{background:var(--soft2);color:var(--blue);font-weight:700}
.navlist .cnt{margin-left:auto;font-size:11px;background:var(--soft);border-radius:20px;padding:1px 7px;color:var(--gray2)}
.navlist button.on .cnt{background:#fff;color:var(--blue)}
.logout{margin-top:12px;width:100%;border:1px solid var(--line);background:#fff;color:var(--danger);border-radius:10px;padding:8px;font-size:12.5px;cursor:pointer;font-family:inherit}
.logout:hover{background:#fef2f2;border-color:#fecaca}

.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.panel h2{font-size:17px;font-weight:800;margin-bottom:3px}
.panel .desc{font-size:12.5px;color:var(--gray2);margin-bottom:16px}
.card{border:1px solid var(--line);border-radius:14px;padding:16px}
hr.sep{border:0;border-top:1px dashed var(--line);margin:18px 0}
.savebar{display:flex;align-items:center;gap:10px;margin-top:16px}
.savebar .primary{width:auto;padding:9px 22px}

/* 列表 */
.list{display:flex;flex-direction:column;gap:10px}
.item{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:13px;padding:12px 14px;transition:.2s;background:linear-gradient(180deg,#fff,#fafcff)}
.item:hover{border-color:rgba(11,125,232,.35);box-shadow:0 8px 22px -18px rgba(11,125,232,.8)}
.item .ico{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:var(--soft2);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800}
.item .bd{flex:1;min-width:0}
.item .t{font-size:13.5px;font-weight:700;word-break:break-word}
.item .m{font-size:11.5px;color:var(--gray2);margin-top:2px;word-break:break-all}
.item .note{font-size:12px;color:var(--gray);margin-top:6px;background:var(--soft);border-radius:8px;padding:6px 9px;white-space:pre-wrap}
.item .acts{display:flex;flex-direction:column;gap:5px;align-items:flex-end}
.mini{border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 9px;font-size:11.5px;color:var(--gray);cursor:pointer;font-family:inherit;white-space:nowrap;transition:.18s}
.mini:hover{border-color:var(--blue);color:var(--blue)}
.mini.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.mini.danger:hover{border-color:var(--danger);color:var(--danger)}
.empty{text-align:center;padding:34px 10px;color:var(--gray2);font-size:13px}
.empty .big{font-size:30px;opacity:.35}
.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:20px;padding:2px 9px}
.b-want{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}
.b-talking{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.b-done{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}
.b-drop{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.filters button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:4px 12px;font-size:12px;color:var(--gray);cursor:pointer;font-family:inherit}
.filters button.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:700}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.statgrid div{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.statgrid .n{font-size:20px;font-weight:800;color:var(--blue)}
.statgrid .l{font-size:11px;color:var(--gray2);margin-top:2px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:28px;background:var(--navy);color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;z-index:99;opacity:0;transition:.25s;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%) translateY(-4px)}
.hidden{display:none !important}

/* 响应式 */
@media(max-width:860px){
  .grid2{grid-template-columns:1fr}
  .side{position:static}
  .avatar-wrap{margin-left:0}
  .side .nm,.side .num{text-align:left}
  .row2{grid-template-columns:1fr}
  .statgrid{grid-template-columns:repeat(2,1fr)}
  .item{flex-wrap:wrap}
  .item .acts{flex-direction:row;align-items:center;flex-basis:100%}
}
@media(max-width:480px){
  .main{padding:18px 14px 48px}
  .panel{padding:16px}
  .auth{padding:20px}
  .ghost{padding:5px 9px;font-size:11.5px}
}

/* ===== v2 工作台 ===== */
.pct{margin:12px 0 2px}
.pct-bar{height:6px;border-radius:20px;background:var(--soft);overflow:hidden}
.pct-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),#5aa9ff);border-radius:20px;transition:width .4s}
.pct-txt{font-size:11px;color:var(--gray2);margin-top:5px;text-align:center}
.pct-txt a{color:var(--blue)}
.navlist .cnt.hot{background:#fee2e2;color:#dc2626;font-weight:700}

.panel h2 .badge{margin-left:6px;vertical-align:2px}
.blk{margin-top:18px}
.blk-h{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.blk-h.danger-t{color:var(--danger)}
.empty.sm{padding:14px 10px;font-size:12.5px}
.quick{display:flex;gap:8px;flex-wrap:wrap}

/* 待办 & 动态 */
.todo,.feed{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#fafcff);margin-bottom:8px}
.todo.late{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}
.todo .dot,.feed .dot{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:7px;flex:0 0 8px}
.todo.late .dot{background:var(--danger)}
.feed .dot{background:#cbd5e1}
.feed .dot.on{background:var(--blue);box-shadow:0 0 0 3px rgba(11,125,232,.16)}
.todo b,.feed b{font-size:13px;font-weight:700}
.todo .m,.feed .m{font-size:11.5px;color:var(--gray2);margin-top:2px}
.todo .mini{margin-left:auto}
.item.late{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}
.item.unread{border-color:rgba(11,125,232,.4);background:linear-gradient(180deg,#fff,#f5faff)}
.item.slim{padding:9px 12px}
.item.col{flex-direction:column;align-items:stretch}
.item.col .row.between{display:flex;align-items:center;justify-content:space-between;gap:8px}
.row-acts{flex-direction:row;align-items:center}

/* 表单行 */
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
.row .lbl{font-size:11.5px;color:var(--gray2)}
.row input[type=text]{flex:1;min-width:140px}
.row input[type=date]{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-size:12px;font-family:inherit}
.m2{font-size:11.5px;color:var(--gray2)}
select.sel{border:1px solid var(--line);border-radius:8px;padding:4px 7px;font-size:11.5px;font-family:inherit;color:var(--gray);background:#fff;max-width:150px}
select{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13px;font-family:inherit;background:#fff;width:100%}
select:focus{outline:0;border-color:var(--blue)}
select.sel,.row select{width:auto}
.chk{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gray);margin:8px 0}
.chk input{width:16px;height:16px;accent-color:var(--blue)}
.sch{max-width:240px;border:1px solid var(--line);border-radius:9px;padding:6px 10px;font-size:12.5px;font-family:inherit;width:auto}
.form-card{background:linear-gradient(180deg,#fff,#f8fbff);margin-bottom:14px}
button.primary.wide{width:auto;padding:9px 18px;font-size:13px}

/* 进展时间线 */
ul.logs{margin:8px 0 0;padding-left:16px}
ul.logs li{font-size:11.5px;color:var(--gray2);line-height:1.8}
.logs.plain{padding-left:0}
.logrow{display:grid;grid-template-columns:120px 120px 1fr 24px;gap:8px;font-size:11.5px;color:var(--gray2);padding:5px 0;border-top:1px dashed var(--line)}
.logrow:first-child{border-top:0}
.logrow.bad{color:var(--danger)}

/* 咨询对话 */
.chatbox{margin-top:10px;background:var(--soft);border-radius:12px;padding:10px}
.chat{margin-bottom:10px}
.chat .bubble{display:inline-block;max-width:82%;padding:8px 12px;border-radius:12px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}
.chat.me{text-align:right}
.chat.me .bubble{background:var(--blue);color:#fff;border-bottom-right-radius:3px}
.chat.ad .bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:3px}
.chat .m{font-size:11px;color:var(--gray2);margin-top:3px}
.danger-card{border-color:#fecaca;background:#fffafa}
@media(max-width:480px){
  .logrow{grid-template-columns:1fr;gap:2px}
  .statgrid{grid-template-columns:repeat(2,1fr)}
}
.top .ghost{white-space:nowrap}

/* v2.1 公司 logo */
.logo-img{width:32px;height:32px;border-radius:8px;object-fit:cover;display:block;border:1px solid var(--line)}

/* 极简注册 */
.accbox{margin:14px 0 4px;border:1px dashed rgba(11,125,232,.45);background:var(--soft2);border-radius:12px;padding:12px 14px}
.acc-l{font-size:11.5px;color:var(--gray2)}
.acc-v{display:flex;align-items:center;gap:8px;margin-top:4px}
.acc-v b{font-size:20px;font-weight:800;color:var(--blue);letter-spacing:.5px}

/* ===== R56 背调 · 额度：全宽 + 强化视觉 ===== */
.grid2.wide{grid-template-columns:1fr}
.grid2.wide .side{display:none}
.vhero{display:grid;grid-template-columns:1.5fr 1fr;gap:14px;margin:4px 0 18px}
.vhero .big{background:linear-gradient(135deg,#0b7de8,#2ea0ff);color:#fff;border-radius:18px;padding:22px 24px;position:relative;overflow:hidden}
.vhero .big:after{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.12)}
.vhero .big .num{font-size:56px;font-weight:800;line-height:1;letter-spacing:-1px}
.vhero .big .num small{font-size:16px;font-weight:600;opacity:.85;margin-left:4px}
.vhero .big .lb{font-size:13px;opacity:.9;margin-top:6px;font-weight:600}
.vhero .big .bar{height:8px;background:rgba(255,255,255,.25);border-radius:99px;margin-top:16px;overflow:hidden;position:relative;z-index:1}
.vhero .big .bar i{display:block;height:100%;background:#fff;border-radius:99px}
.vhero .big .sub{font-size:11.5px;opacity:.85;margin-top:8px}
.vhero .side2{display:flex;flex-direction:column;gap:10px}
.vhero .side2 .kv{flex:1;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line);border-radius:14px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.vhero .side2 .kv span{font-size:12px;color:var(--gray2)}
.vhero .side2 .kv b{font-size:18px;font-weight:800}
.vbadge{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;white-space:nowrap;vertical-align:middle}
.vbadge.paid{background:#fff5e0;color:#a16207}
.vbadge.generating,.vbadge.running{background:#e8f2ff;color:#0b7de8}
.vbadge.done{background:#e8f8ee;color:#0a8a3a}
.vbadge.done_unsent{background:#e8f8ee;color:#0a8a3a}
.vbadge.pending,.vbadge.queued,.vbadge.requested,.vbadge.unverified{background:#f1f5f9;color:#5b6b7f}
.vbadge.expired,.vbadge.failed{background:#feecec;color:#c02626}
.vbadge.refunded,.vbadge.cancelled,.vbadge.skipped{background:#f1f5f9;color:#5b6b7f}
.vorder{border:1px solid var(--line);border-radius:15px;padding:16px 18px;margin-bottom:12px;background:linear-gradient(180deg,#fff,#fbfdff);transition:.2s}
.vorder:hover{border-color:rgba(11,125,232,.35);box-shadow:0 10px 26px -20px rgba(11,125,232,.9)}
.vorder .top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.vorder .oid{font-size:14.5px;font-weight:800}
.vorder .meta{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:12px;color:var(--gray2);margin-top:10px;align-items:center}
.vorder .meta b{color:#0f172a;font-size:13.5px;font-weight:700}
.vcands{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.vcands .c{background:var(--soft2);border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-size:12.5px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.vcands .c b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vplans{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vplan{border:1px solid var(--line);border-radius:15px;padding:18px 16px;text-align:center;position:relative;background:linear-gradient(180deg,#fff,#fbfdff)}
.vplan .pn{font-size:14px;font-weight:800}
.vplan .pp{font-size:26px;font-weight:800;color:#94a3b8;margin:8px 0 4px}
.vplan .pd{font-size:11.5px;color:var(--gray2)}
.vplan .soon{position:absolute;top:10px;right:10px;font-size:10px;background:#f1f5f9;color:#64748b;padding:2px 8px;border-radius:99px}
.vmini{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid rgba(11,125,232,.3);background:linear-gradient(90deg,#f3f9ff,#fff);border-radius:14px;padding:12px 16px;margin-top:14px;cursor:pointer;transition:.2s}
.vmini:hover{border-color:rgba(11,125,232,.6);box-shadow:0 8px 22px -18px rgba(11,125,232,.9)}
.vmini b{font-size:13.5px}
.vmini .m{font-size:11.5px;color:var(--gray2);margin-top:2px}
@media(max-width:900px){.vhero{grid-template-columns:1fr}.vplans{grid-template-columns:1fr}.vcands{grid-template-columns:1fr}}

/* ===== R57 背调合并后台：五个子面板 ===== */
.vsubnav{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:10px 0 16px;padding-bottom:8px}
.vsub{border:0;background:transparent;font-size:13px;color:var(--gray2);padding:8px 14px;border-radius:10px;cursor:pointer;transition:.15s}
.vsub:hover{background:#f3f9ff;color:var(--blue)}
.vsub.on{background:var(--blue);color:#fff;font-weight:600}
.vsubbody{animation:fadeIn .2s ease}
.vstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}
.vstat{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.vstat .n{font-size:20px;font-weight:800;color:var(--blue-dark)}
.vstat .l{font-size:11.5px;color:var(--gray2);margin-top:3px}
.vhint{font-size:12px;color:var(--gray2);margin:6px 0;line-height:1.6}
.vhint.ok{color:#0a7d4f;background:#f1faf5;border:1px solid rgba(10,125,79,.2);border-radius:10px;padding:8px 12px}
.vhint a{color:var(--blue);text-decoration:none}
.vbox{border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:12px 0;background:#fff}
.vbox h3{font-size:14px;margin:0 0 8px}
.vbox .vt{font-size:12.5px;font-weight:700;color:var(--blue-dark);margin-bottom:8px}
.vbox .vm{font-size:11.5px;color:var(--gray2);line-height:1.7}
.vform{display:grid;gap:10px;margin:8px 0}
.vform label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--gray2)}
.vform input,.vform select,.vform textarea,.vbox input,.vbox select,.vbox textarea{border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;font-family:inherit;background:#fff;color:var(--ink);width:100%;box-sizing:border-box}
.vform input:focus,.vbox input:focus,.vbox textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(11,125,232,.12)}
.vchk{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--gray2);margin:4px 0}
.vchk input{width:15px;height:15px}
.vacts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.vacts .primary{background:var(--blue);color:#fff;border:0;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer}
.vacts .primary.sm{padding:7px 12px;font-size:12px}
.vacts .primary:hover{background:var(--blue-dark)}
.vkv{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:8px 0}
.vkv>div{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px dashed var(--line);padding:7px 0;font-size:12.5px}
.vkv span{color:var(--gray2)}
.vkv b{font-weight:600;text-align:right}
.vprog{display:flex;align-items:center;gap:6px;margin:8px 0;font-size:11.5px;color:var(--gray2)}
.vprog span{padding:3px 9px;border-radius:20px;background:#f1f3f6}
.vprog span.on{background:var(--blue);color:#fff}
.vprog span.off{background:#f1f3f6;color:#b0b6c0}
.vprog i{width:16px;height:1px;background:var(--line)}
.vprog b.dead{margin-left:6px;color:#c02626}
.vcand{border-top:1px dashed var(--line);padding:10px 0}
.vcand .r1{display:flex;align-items:center;gap:8px;font-size:13px}
.vgen{display:flex;align-items:center;gap:10px;font-size:12.5px;padding:7px 0}
.vgen .pbar{flex:1;height:7px;border-radius:6px;background:#eef1f5;overflow:hidden}
.vgen .pbar i{display:block;height:100%;background:linear-gradient(90deg,#0b7de8,#4aa8ff);border-radius:6px}
.vrep{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:11px 14px;margin:8px 0;flex-wrap:wrap}
.vlist{margin:6px 0}
.vtable{width:100%;border-collapse:collapse;font-size:12.5px;margin:8px 0}
.vtable th{text-align:left;font-weight:600;color:var(--gray2);font-size:11.5px;border-bottom:1px solid var(--line);padding:8px 6px}
.vtable td{padding:9px 6px;border-bottom:1px solid #f1f3f6;vertical-align:top}
.vfilt{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0 12px}
.vfilt select,.vfilt input{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:12.5px;font-family:inherit;background:#fff;color:var(--ink)}
.vav{width:64px;height:64px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#0b7de8,#4aa8ff);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:700}
.vav img{width:100%;height:100%;object-fit:cover}
.vqa-list{max-height:220px;overflow:auto;margin-bottom:8px}
.vqa{border-left:2px solid var(--blue);padding:6px 0 6px 10px;margin:6px 0}
.vqa .q{font-size:12.5px;font-weight:600}
.vqa .a{font-size:12px;color:var(--gray2);line-height:1.7;white-space:pre-wrap}
@media(max-width:900px){.vstats{grid-template-columns:repeat(2,1fr)}.vkv{grid-template-columns:1fr}}

/* ===== R58 补齐项 ===== */
.vadv{border:1px solid rgba(11,125,232,.25);background:#f6fbff;border-radius:12px;padding:11px 14px;margin:8px 0}
.vadv b{font-size:13px;color:var(--blue-dark)}
.vadv .vm{font-size:12px;color:var(--gray2);line-height:1.7;margin-top:3px}
.vadv ol{margin:6px 0 0;padding-left:20px;font-size:11.8px;color:var(--gray2);line-height:1.7}
.vadv.expired,.vadv.short,.vadv.over{border-color:rgba(200,60,60,.3);background:#fff6f6}
.vadv.expired b,.vadv.short b,.vadv.over b{color:#c02626}
.vadv.ok{border-color:rgba(10,125,79,.28);background:#f2fbf6}
.vadv.ok b{color:#0a7d4f}
.vdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:middle;background:#c9ced6}
.vdot.green{background:#12a05c}.vdot.yellow{background:#e2a413}.vdot.red{background:#d63a3a}
.vscroll{overflow-x:auto;margin:8px 0}
.vtable.cmp td,.vtable.cmp th{white-space:nowrap}
.vok{font-size:11px;color:#0a7d4f;margin-top:3px}
.viss{border-left:2px solid #e2a413;padding:5px 0 5px 10px;margin:6px 0;font-size:12.5px}
.viss span{color:var(--gray2);font-size:11.5px;margin-left:6px}
.vfilt .vq{min-width:180px}
.fadeIn{animation:fadeIn .2s ease}

/* ===== R64 全终端适配覆盖层（2026-09-28） =====
   背景：背调面板（grid2 的 1fr 列）被候选人对比表（~825px min-content）
   通过 grid item 默认 min-width:auto 撑爆整页，≤768px 视口横向溢出 89~449px */
#panel, .grid2 > * { min-width: 0; }

/* 触控目标与 iOS 输入防聚焦自动放大（输入框 <16px 时 iOS 会缩放页面） */
@media (max-width: 860px) {
  input[type=text], input[type=password], input[type=email], textarea, select { font-size: 16px; }
  .navlist button { padding: 11px 10px; }
  .vsub, .mini, .filters button { min-height: 38px; }
  button.primary { min-height: 46px; }
  .vscroll { -webkit-overflow-scrolling: touch; }
  .toast { max-width: calc(100vw - 32px); white-space: normal; }
}

/* 超窄屏（≤480px）再收一档 */
@media (max-width: 480px) {
  .vhero .num { font-size: 42px; }
  .vstat { padding: 10px 8px; }
  .vstat .n { font-size: 17px; }
  .panel { border-radius: 14px; }
  .vsubnav { gap: 4px; }
  .vsub { padding: 7px 10px; font-size: 12px; }
  .vchk { font-size: 12px; line-height: 1.5; }
}

/* ============================================================
   高级感视觉层 Premium v1（2026-09-28 追加，与主站同一设计语言）
   ============================================================ */

/* 环境光 */
body{
  background-color:#fbfcfe;
  background-image:
    radial-gradient(900px 500px at 85% -8%, rgba(26,140,255,.10), transparent 62%),
    radial-gradient(700px 420px at -8% 25%, rgba(67,56,202,.06), transparent 60%),
    radial-gradient(840px 520px at 50% 112%, rgba(11,125,232,.05), transparent 62%);
  background-attachment:fixed;
  background-repeat:no-repeat;
}

/* 顶栏玻璃增强 */
.top{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(18px) saturate(1.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:0 1px 0 rgba(10,37,64,.06), 0 12px 32px -22px rgba(10,37,64,.22);
}

/* 登录/注册卡：顶部品牌光线 + 深柔阴影 */
.auth{
  position:relative;overflow:hidden;
  border-color:rgba(226,232,240,.8);
  box-shadow:0 2px 4px rgba(10,37,64,.04), 0 30px 64px -28px rgba(11,125,232,.35);
}
.auth::before{
  content:"";position:absolute;top:0;left:12%;right:12%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,#1a8cff,#4338ca,transparent);
}
.auth h1{letter-spacing:-.02em}

/* 面板与卡片：多层柔影 + 悬浮反馈 */
.panel, .side, .form-card, .card, .chatbox, .danger-card{
  border-color:rgba(226,232,240,.8);
  box-shadow:0 1px 2px rgba(10,37,64,.035), 0 14px 34px -20px rgba(10,37,64,.14);
}
.panel h2{letter-spacing:-.02em}
.card, .item{transition:transform .32s cubic-bezier(.16,1,.3,1), box-shadow .32s ease, border-color .32s ease}
.card:hover, .item:hover{
  transform:translateY(-2px);
  border-color:rgba(11,125,232,.28);
  box-shadow:0 2px 4px rgba(10,37,64,.04), 0 22px 44px -20px rgba(11,125,232,.26);
}

/* 侧栏导航：选中态渐变药丸 */
.navlist button{border-radius:11px}
.navlist button.on{
  background:linear-gradient(135deg,rgba(26,140,255,.14),rgba(67,56,202,.10));
  box-shadow:inset 0 0 0 1px rgba(11,125,232,.18);
}
.navlist button.on .cnt{background:rgba(255,255,255,.9)}

/* 头像：品牌光晕 */
.avatar{box-shadow:0 8px 22px -8px rgba(11,125,232,.55), 0 0 0 4px rgba(11,125,232,.08)}
.avatar-edit{box-shadow:0 3px 8px rgba(11,125,232,.5);transition:transform .25s}
.avatar-edit:hover{transform:scale(1.12)}

/* 主按钮光晕（沿用渐变，加精致内高光） */
button.primary{
  box-shadow:0 10px 26px -10px rgba(11,125,232,.55), inset 0 1px 0 rgba(255,255,255,.22);
}
button.primary:hover{
  filter:brightness(1.05);
  box-shadow:0 16px 34px -12px rgba(11,125,232,.65), inset 0 1px 0 rgba(255,255,255,.25);
}
.ghost{transition:transform .25s, box-shadow .25s, border-color .25s}
.ghost:hover{transform:translateY(-1px);box-shadow:0 8px 20px -10px rgba(11,125,232,.3)}

/* 输入框柔光聚焦 */
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, textarea:focus, select:focus{
  border-color:rgba(11,125,232,.55);
  box-shadow:0 0 0 4px rgba(11,125,232,.12);
}

/* 背调 hero 数字渐变 */
.vhero .num, .vstat b, .acc-v b{
  background:linear-gradient(135deg,#0b7de8 20%,#4338ca 90%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* 表格：行悬浮 */
.vtable tbody tr, .vtable tr{transition:background .22s}
.vtable tbody tr:hover{background:rgba(11,125,232,.045)}

/* 徽章玻璃化 */
.badge, .chk{
  backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}

/* Toast 精致化 */
.toast{box-shadow:0 18px 44px -16px rgba(10,37,64,.35);backdrop-filter:blur(10px)}

/* 滚动条 */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c7d9f2,#a8c4ea);border-radius:8px;border:2px solid #fbfcfe}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#1a8cff,#0a63d6)}
::selection{background:rgba(11,125,232,.18);color:#0a2540}


/* ---- WH-RESP-FIX 2026-10-08 多终端适配 ---- */
@media (max-width:560px){
  .top .wrap, .wrap.top-in{padding-left:12px !important;padding-right:12px !important;gap:8px;flex-wrap:wrap !important;max-width:100% !important}
  .top{height:auto !important;min-height:56px;padding:8px 0}
  .top a, .top button, .navlist a, .navlist button{min-height:40px;display:inline-flex;align-items:center}
  input,select,textarea{font-size:16px !important;min-height:48px}
  table{display:block;overflow-x:auto;width:100%}
  .card, .panel{padding:16px 14px !important}
  .hero, .vhero{padding-top:26px !important;padding-bottom:26px !important}
}

/* ---- WH-RESP-FIX2 ---- */
@media (max-width:560px){
  .auth a, .wrap form a, .top a{min-height:40px;display:inline-flex;align-items:center}
  input[type=checkbox]{width:20px;height:20px}
  .btn, button{min-height:44px}
}
