/* ========= 鼎链AI猎头系统 · 设计系统（依据《UI/UX 设计规范 V1.0》） ========= */
:root{
  --navy:#1B2A4A; --navy-2:#22335a; --tech:#2563EB; --tech-d:#1D4ED8;
  --bg:#F8FAFC; --card:#FFFFFF; --line:#E2E8F0;
  --t1:#0F172A; --t2:#475569; --t3:#94A3B8;
  --ok:#10B981; --warn:#F59E0B; --err:#EF4444;
  --ai-hi-bg:#EFF6FF; --ai-hi-tx:#1D4ED8;
  --ai-md-bg:#FFFBEB; --ai-md-tx:#B45309;
  --ai-lo-bg:#F1F5F9; --ai-lo-tx:#64748B;
  --shadow-s:0 2px 8px rgba(15,23,42,.04);
  --shadow-h:0 8px 24px rgba(15,23,42,.08);
  --r-s:8px; --r-l:12px;
}
*{box-sizing:border-box}
body{margin:0;font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",-apple-system,system-ui,sans-serif;
  background:var(--bg);color:var(--t2);font-size:14px;line-height:1.6;}
.num{font-family:"Inter","Roboto",system-ui,sans-serif;font-variant-numeric:tabular-nums;}

/* ---------- 布局外壳 ---------- */
#app{display:flex;min-height:100vh}
.sidebar{width:240px;flex:0 0 240px;background:var(--navy);color:#fff;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;transition:width .2s;z-index:20}
.sidebar.collapsed{width:64px;flex-basis:64px}
.brand{padding:18px 20px;font-size:19px;font-weight:700;letter-spacing:.5px;display:flex;align-items:center;gap:8px;color:#fff}
.brand small{font-size:11px;font-weight:400;color:#9fb0d0;letter-spacing:0}
.sidebar.collapsed .brand small,.sidebar.collapsed .nav-label,.sidebar.collapsed .role-pick,.sidebar.collapsed .foot{display:none}
.brand .logo{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--tech),#7c9cf5);
  display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.role-pick{padding:0 16px 8px;font-size:12px;color:#9fb0d0}
.role-pick select{width:100%;margin-top:6px;background:var(--navy-2);color:#cfe;border:1px solid #34467a;border-radius:6px;padding:5px}
nav#nav{display:flex;flex-direction:column;gap:2px;padding:8px;overflow-y:auto;flex:1}
nav#nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;color:#cdd8ee;
  cursor:pointer;font-size:13.5px;white-space:nowrap;transition:.15s;text-decoration:none}
nav#nav a:hover{background:var(--navy-2);color:#fff}
nav#nav a.active{background:var(--tech);color:#fff;font-weight:600}
nav#nav a .ico{width:20px;text-align:center;font-size:15px;flex:0 0 20px}
.sidebar.collapsed nav#nav a{justify-content:center}
.foot{padding:12px 16px;font-size:11.5px;color:#8aa0c8;border-top:1px solid #2c3e63}

.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;
  gap:16px;padding:0 24px;position:sticky;top:0;z-index:10}
.topbar .menu-btn{font-size:20px;cursor:pointer;color:var(--t2);background:none;border:none}
.topbar .crumb{font-size:15px;font-weight:600;color:var(--t1)}
.topbar .spacer{flex:1}
.topbar .chip{font-size:12px;padding:5px 11px;border-radius:20px;background:var(--ai-hi-bg);color:var(--ai-hi-tx);font-weight:600}
.topbar .chip.off{background:#F1F5F9;color:var(--t3)}
.topbar .who{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px}

.main{flex:1;display:flex;flex-direction:column;min-width:0}
#content{max-width:1280px;width:100%;margin:0 auto;padding:28px 32px 80px}
h2{color:var(--t1);font-size:22px;margin:0 0 4px}
h3{color:var(--navy);font-size:16px;margin:22px 0 10px}
.sub{color:var(--t3);font-size:13px;margin-bottom:18px}

/* ---------- 卡片 / 表格 / 按钮 ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-l);padding:18px 20px;box-shadow:var(--shadow-s);transition:.18s}
.card:hover{box-shadow:var(--shadow-h);transform:translateY(-2px)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:8px}
.card .n{font-size:26px;font-weight:700;color:var(--navy)}
.card .l{font-size:12.5px;color:var(--t3);margin-top:2px}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-s);font-size:13px}
.table th{background:#f1f5f9;color:var(--t2);text-align:left;padding:10px 12px;font-weight:600;border-bottom:1px solid var(--line)}
.table td{padding:10px 12px;border-bottom:1px solid #eef2f7;color:var(--t1)}
.table tr:hover td{background:#f8fafc}
.empty{color:var(--t3);text-align:center;padding:20px}
.toolbar{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
button{font-family:inherit;font-size:13px;border:none;border-radius:8px;padding:9px 16px;cursor:pointer;
  background:var(--tech);color:#fff;font-weight:600;transition:.15s}
button:hover{background:var(--tech-d)}
button.ghost{background:#fff;color:var(--t2);border:1px solid var(--line)}
button.ghost:hover{background:#f1f5f9}
button.sec{background:var(--ai-hi-bg);color:var(--ai-hi-tx)}
button.sec:hover{background:#dbeafe}
button.danger{background:#fff;color:var(--err);border:1px solid #fbd5d5}
button.danger:hover{background:#fef2f2}
.row-actions{display:flex;gap:6px;flex-wrap:wrap}

/* ---------- 标签 / 徽章 ---------- */
.tag{display:inline-block;background:#eef2f8;color:var(--t2);border-radius:6px;padding:2px 9px;font-size:12px;margin:2px 3px 2px 0}
.tag.s{background:#e6fbf4;color:#0f9d77}
.tag.w{background:#fff4e6;color:#c2700a}
.tag.ok{background:#e6fbf4;color:#0f9d77}
.tag.warn{background:#fff4e6;color:#c2700a}
.badge{display:inline-block;background:var(--navy);color:#fff;border-radius:6px;padding:3px 10px;font-size:12px;margin-right:8px}
.kv{display:grid;grid-template-columns:120px 1fr;gap:10px 14px}
.kv b{color:var(--t2);font-weight:600}
.kv>div{color:var(--t1)}
.note{margin-top:12px;font-size:12px;color:var(--t3);background:#f8fafc;border-left:3px solid var(--line);padding:8px 12px;border-radius:0 6px 6px 0}

/* ---------- 进度看板：漏斗 / pipeline / PM对比 / 匹配卡片 ---------- */
.funnel{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.frow{display:flex;align-items:center;gap:12px}
.frow .fl{width:84px;flex:0 0 84px;color:var(--t2);font-size:13px;text-align:right}
.frow .fbar{height:30px;border-radius:8px;display:flex;align-items:center;padding-left:12px;color:#fff;font-weight:700;min-width:40px;
  box-shadow:var(--shadow-s);transition:width .4s}
.frow .fbar b{font-size:14px}
.rev-hi{margin:10px 0 4px;padding:10px 14px;background:linear-gradient(90deg,#EFF6FF,#F8FAFC);border:1px solid var(--line);
  border-radius:10px;font-size:13.5px;color:var(--t2)}
.rev-hi b{color:var(--navy);font-size:15px}
.pipe{display:flex;flex-direction:column;gap:7px;margin:4px 0}
.prow{display:flex;align-items:center;gap:12px}
.prow .pl{width:84px;flex:0 0 84px;color:var(--t2);font-size:13px;text-align:right}
.prow .ptrack{flex:1;height:18px;background:#eef2f7;border-radius:9px;overflow:hidden}
.prow .ptrack i{display:block;height:100%;background:linear-gradient(90deg,var(--tech),#7c9cf5);border-radius:9px}
.prow .pv{width:36px;text-align:right;color:var(--t1);font-weight:600;font-size:13px}

.mcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;max-height:64vh;overflow:auto;padding:2px}
.mcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow-s)}
.mcard .mhead{display:flex;justify-content:space-between;align-items:center}
.mcard .mhead b{font-size:15px;color:var(--t1)}
.mcard .mscore{font-size:22px;font-weight:700;color:var(--t3);font-variant-numeric:tabular-nums}
.mcard .mscore.hi{color:var(--ok)} .mcard .mscore.lo{color:var(--err)}
.mcard .msub{font-size:12.5px;color:var(--t3);margin:2px 0 10px}
.mcard .mdims{display:flex;flex-direction:column;gap:5px}
.dbar{display:flex;align-items:center;gap:8px}
.dbar .dl{width:48px;flex:0 0 48px;font-size:12px;color:var(--t2);text-align:right}
.dbar .dtrack{flex:1;height:9px;background:#eef2f7;border-radius:5px;overflow:hidden}
.dbar .dtrack i{display:block;height:100%;border-radius:5px}
.dbar .dv{width:30px;text-align:right;font-size:12px;color:var(--t1);font-variant-numeric:tabular-nums}
.mcard .mgaps{margin-top:9px;font-size:12px;color:var(--t2)}
.mcard .mkw{margin-top:6px;font-size:12px;color:var(--t2)}
.mcard .mreason{margin-top:9px;font-size:12.5px;color:var(--t1);background:#f8fafc;border-left:3px solid var(--tech);padding:7px 10px;border-radius:0 6px 6px 0}

/* ---------- 弹窗 ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(15,23,42,.45);display:none;align-items:center;justify-content:center;z-index:50}
.modal-bg.show{display:flex}
.modal{background:#fff;border-radius:14px;padding:22px 24px;width:min(640px,92vw);max-height:88vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.modal h3{margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1}
.form-grid label{display:block;font-size:12.5px;color:var(--t2);margin-bottom:4px}
.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;color:var(--t1);background:#fff}
.form-grid textarea{min-height:80px;resize:vertical}
.form-grid input:focus,.form-grid textarea:focus{border-color:var(--tech);outline:none}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}

/* ---------- AI 置信度标签（三级） ---------- */
.ai-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;border-radius:20px;padding:2px 10px;white-space:nowrap}
.ai-hi{background:var(--ai-hi-bg);color:var(--ai-hi-tx)}
.ai-md{background:var(--ai-md-bg);color:var(--ai-md-tx)}
.ai-lo{background:var(--ai-lo-bg);color:var(--ai-lo-tx);border:1px dashed #cbd5e1}
.st-hi{background:var(--ok)} .st-warn{background:var(--warn)} .st-err{background:var(--err)}

/* ---------- 寻访地图：列表 + 手风琴 + 锚点 ---------- */
.map-grid{display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:start}
@media(max-width:900px){.map-grid{grid-template-columns:1fr}}
.anchor-nav{position:sticky;top:88px;background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:14px 12px;box-shadow:var(--shadow-s)}
.anchor-nav .ttl{font-size:12px;color:var(--t3);margin-bottom:8px;font-weight:600}
.anchor-nav a{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--t2);text-decoration:none}
.anchor-nav a:hover{background:#f1f5f9}
.anchor-nav .dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:var(--t3)}
.anchor-nav .dot.ok{background:var(--ok)} .anchor-nav .dot.warn{background:var(--warn)} .anchor-nav .dot.err{background:var(--err)}

.smap-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);margin-bottom:14px;box-shadow:var(--shadow-s);overflow:hidden;scroll-margin-top:90px}
.smap-head{display:flex;align-items:center;gap:12px;padding:15px 18px;cursor:pointer}
.smap-head .ic{font-size:18px}
.smap-head .ttl{font-weight:700;color:var(--t1);font-size:15.5px;flex:1}
.smap-head .summary{color:var(--t3);font-size:12.5px;flex:2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.smap-head .chev{color:var(--t3);transition:.2s}
.smap-card.open .chev{transform:rotate(180deg)}
.smap-body{display:none;padding:4px 18px 18px;border-top:1px solid var(--line)}
.smap-card.open .smap-body{display:block}
.field{margin:14px 0;padding-left:12px;border-left:2px solid transparent}
.field.edited{border-left:2px solid var(--tech)}
.field>label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--t2);font-weight:600;margin-bottom:5px}
.field textarea,.field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:13.5px;color:var(--t1);background:#fff}
.field textarea{min-height:64px;resize:vertical}
.field.conf-lo textarea,.field.conf-lo input{background:var(--ai-lo-bg)}
.field.conf-md textarea,.field.conf-md input{background:var(--ai-md-bg)}
.field.conf-hi textarea,.field.conf-hi input{background:var(--ai-hi-bg)}
.item-row{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:8px}
.item-row .body{flex:1}
.item-row .body input,.item-row .body textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:7px 9px;font-family:inherit;font-size:13px}
.item-row .pri{font-size:11px;padding:2px 8px;border-radius:5px;background:#eef2f8;color:var(--t2)}
.kw-group{margin:10px 0}
.kw-group .gl{font-size:12.5px;color:var(--t3);margin-bottom:4px;font-weight:600}
.bool-box{font-family:"Inter",monospace;background:#0f172a;color:#a5f3d0;padding:9px 12px;border-radius:8px;font-size:12.5px;margin:6px 0;overflow-x:auto}

/* ---------- 盲盒佣金卡（预留样式，需求大厅用） ---------- */
.blind{position:relative;overflow:hidden}
.blind .frost{position:absolute;inset:0;backdrop-filter:blur(8px);background:rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;color:var(--t3);font-size:13px;transition:.25s}
.blind:hover .frost{backdrop-filter:blur(3px);background:rgba(255,255,255,.3)}

/* ---------- 待办列表 ---------- */
.todo-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 2px}
.todo-row{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px 13px;transition:.18s}
.todo-row:hover{border-color:#c7d6f0;box-shadow:0 2px 10px rgba(37,99,235,.07)}
.todo-row input[type=checkbox]{width:17px;height:17px;margin-top:3px;accent-color:var(--tech);cursor:pointer}
.todo-main{flex:1;min-width:0}
.todo-title{font-size:14px;color:var(--t1);font-weight:600;word-break:break-all}
.todo-meta{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px;align-items:center;font-size:12px;color:var(--t3)}
.todo-row.done{opacity:.62}
.todo-row.done .todo-title{text-decoration:line-through;color:var(--t3)}
.todo-row.overdue{border-color:var(--err);background:#fef2f2;box-shadow:0 2px 10px rgba(239,68,68,.08)}
.todo-row.overdue .todo-title{color:var(--err);font-weight:600}

/* ---------- 日历 ---------- */
.cal-wrap{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);gap:20px;align-items:start}
.cal-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cal-head b{font-size:16px;color:var(--t1)}
.cal-head .spacer,.cal-side-h .spacer{flex:1}
.cal-grid-head{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}
.cal-grid-head span{text-align:center;font-size:12px;color:var(--t3);padding:4px 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-cell{position:relative;min-height:62px;border:1px solid var(--line);border-radius:9px;padding:6px 7px;cursor:pointer;transition:.15s;background:#fff}
.cal-cell:hover{border-color:var(--tech);background:#f5f9ff}
.cal-cell.empty{border:none;cursor:default;background:transparent}
.cal-cell.empty:hover{background:transparent;border:none}
.cal-cell.today{border-color:var(--tech);box-shadow:inset 0 0 0 1px var(--tech)}
.cal-cell.sel{background:var(--navy);border-color:var(--navy)}
.cal-cell.sel .cal-d{color:#fff}
.cal-d{font-size:13px;color:var(--t1);font-weight:600}
.cal-badge{position:absolute;right:6px;bottom:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--tech);color:#fff;font-size:11px;line-height:18px;text-align:center}
.cal-badge.all{background:#cbd5e1;color:#475569}
.cal-side{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.cal-side-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:var(--t1)}
@media(max-width:980px){.cal-wrap{grid-template-columns:1fr}}
@media(max-width:820px){
  #app{flex-direction:column}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;flex-basis:240px;transform:translateX(-100%);transition:transform .22s;z-index:60}
  .sidebar.open{transform:translateX(0)}
  .sidebar.collapsed{transform:translateX(-100%);width:240px;flex-basis:240px}
  #content{padding:16px 14px 64px}
  .cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .topbar{padding:0 14px}
  .mcards{grid-template-columns:1fr}
  .funnel .fl,.prow .pl{width:64px;flex-basis:64px}
  .kanban{grid-template-columns:1fr}
  .cal-wrap{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .modal{width:calc(100vw - 28px);max-height:88vh;overflow:auto}
}

/* ---------- 订单看板（放单·接单·结算）---------- */
.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;align-items:start;margin-top:6px}
.kanban-col{background:#f4f7fc;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.kanban-col-h{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;font-weight:700;font-size:14px;color:var(--t1);background:#eaeffa;border-bottom:1px solid var(--line)}
.kanban-col-h b{font-size:12px;background:#fff;color:var(--t2);border-radius:20px;padding:1px 10px;font-weight:700}
.kanban-col-h.st-pending{background:#fff4e6}.kanban-col-h.st-pending b{color:#c2700a}
.kanban-col-h.st-active{background:#e6fbf4}.kanban-col-h.st-active b{color:#0f9d77}
.kanban-col-h.st-settle{background:#eff6ff}.kanban-col-h.st-settle b{color:var(--ai-hi-tx)}
.kanban-col-h.st-done{background:#e9f9ef}.kanban-col-h.st-done b{color:var(--ok)}
.kanban-col-h.st-closed{background:#f1f5f9}.kanban-col-h.st-closed b{color:var(--t3)}
.kanban-cards{display:flex;flex-direction:column;gap:10px;padding:12px;min-height:60px}
.kcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 13px;box-shadow:var(--shadow-s);transition:.18s}
.kcard:hover{border-color:#c7d6f0;box-shadow:var(--shadow-h);transform:translateY(-2px)}
.kcard-h{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:var(--t1);font-weight:700}
.kcard-meta{margin-top:6px;font-size:12px;color:var(--t3);line-height:1.5}
.kcard-tags{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px}
.kcard-acts{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.kcard-acts .accept{background:var(--tech)}
.kcard-acts .accept:hover{background:var(--tech-d)}
.kcard-empty{color:var(--t3);font-size:12.5px;text-align:center;padding:14px 0}

/* ========= 登录页 ========= */
.hidden{display:none !important}
#login-view{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(1200px 600px at 50% -10%,#2a3f6e 0%,#1B2A4A 55%,#142036 100%);z-index:200}
.login-card{width:360px;max-width:92vw;background:var(--card);border-radius:var(--r-l);
  box-shadow:var(--shadow-h);padding:34px 30px 26px;text-align:center}
.brand-big{display:flex;align-items:center;justify-content:center;gap:10px;font-size:24px;font-weight:800;color:var(--navy)}
.brand-big .logo{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--tech),var(--navy));color:#fff;border-radius:10px;font-size:20px}
.brand-big small{font-size:13px;color:var(--t3);font-weight:600}
.login-sub{color:var(--t2);margin:8px 0 22px;font-size:13.5px}
#loginForm{display:flex;flex-direction:column;gap:12px}
#loginForm input{height:44px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:14px;outline:none}
#loginForm input:focus{border-color:var(--tech);box-shadow:0 0 0 3px var(--ai-hi-bg)}
#loginForm button{height:46px;border:none;border-radius:10px;background:linear-gradient(135deg,var(--tech),var(--navy));
  color:#fff;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:2px}
#loginForm button:hover{filter:brightness(1.06)}
#loginForm button:disabled{opacity:.6;cursor:default}
.login-err{color:var(--err);font-size:13px;min-height:18px}
.login-tip{color:var(--t3);font-size:11.5px;margin-top:16px;line-height:1.6}

/* 侧栏用户面板 */
.user-pick{display:flex;align-items:center;gap:6px;padding:8px 10px;margin:6px 10px 4px;
  background:rgba(255,255,255,.06);border-radius:10px}
.who-mini{display:flex;flex-direction:column;line-height:1.15;flex:1;min-width:0;text-align:left}
.who-mini #whoName{color:#fff;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.who-mini #whoRole{color:rgba(255,255,255,.6);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini-btn{background:rgba(255,255,255,.12);border:none;color:#fff;font-size:11px;padding:5px 8px;border-radius:7px;cursor:pointer}
.mini-btn:hover{background:rgba(255,255,255,.22)}

/* 顶栏身份 */
.who{display:flex;align-items:center;gap:6px}
.who-name{font-weight:700;color:var(--navy);font-size:13px}
.who-tag{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:700}
.who-tag.admin{background:var(--ai-hi-bg);color:var(--ai-hi-tx)}
.who-tag.pm{background:var(--ai-lo-bg);color:var(--t2)}

/* ========= 财神到动画 ========= */
.caishen-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(900px 500px at 50% 30%,rgba(255,215,0,.22),rgba(15,23,42,.92));
  overflow:hidden}
.caishen-stage{position:relative;text-align:center;animation:csPop .5s cubic-bezier(.2,1.4,.4,1) both}
.caishen-emoji{font-size:120px;line-height:1;filter:drop-shadow(0 12px 30px rgba(255,215,0,.5));animation:csBounce 1s ease-in-out infinite}
.caishen-text{font-size:64px;font-weight:900;color:#FFD700;letter-spacing:8px;margin-top:6px;
  text-shadow:0 4px 18px rgba(255,180,0,.6);animation:csGlow 1.4s ease-in-out infinite}
.caishen-sub{font-size:26px;font-weight:800;color:#fff;margin-top:4px;letter-spacing:4px}
.coin{position:absolute;font-size:34px;opacity:0}
.c1{left:-90px;top:10px;animation:csFly 2.4s ease-out infinite}
.c2{right:-90px;top:40px;animation:csFly 2.4s .3s ease-out infinite}
.c3{left:-70px;top:120px;animation:csFly 2.4s .6s ease-out infinite}
.c4{right:-70px;top:130px;animation:csFly 2.4s .9s ease-out infinite}
@keyframes csPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes csBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes csGlow{0%,100%{text-shadow:0 4px 18px rgba(255,180,0,.5)}50%{text-shadow:0 4px 30px rgba(255,215,0,.95)}}
@keyframes csFly{0%{opacity:0;transform:translate(0,0) scale(.4) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(40px,-60px) scale(1.2) rotate(40deg)}}

/* ========= 侧栏工作流分组 ========= */
.nav-group{margin:1px 0}
.group-head{display:flex;align-items:center;gap:9px;padding:10px 12px;margin:2px 8px;border-radius:8px;
  color:#cdd8ee;font-weight:700;font-size:13.5px;cursor:pointer;user-select:none;transition:background .15s}
.group-head:hover{background:var(--navy-2);color:#fff}
.group-head .grp-ico{font-size:11px;opacity:.65;flex:0 0 auto}
.group-head .nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.group-head .caret{font-size:10px;color:#8ea3c9;transition:transform .2s;flex:0 0 auto}
.nav-group:not(.collapsed) .caret{transform:rotate(90deg)}
.nav-group.collapsed .group-body{display:none}
.group-body{padding:1px 0 3px}
.group-body a{padding-left:34px;font-size:13px;font-weight:500;color:#b9c7e6}
/* 紧凑模式（侧栏收起）下分组兼容 */
.sidebar.collapsed .group-head{justify-content:center;padding:10px 0}
.sidebar.collapsed .group-head .grp-ico,.sidebar.collapsed .group-head .caret{display:none}
.sidebar.collapsed .group-body a{padding-left:0;justify-content:center}
