/* =====================================================================
   V2 模块视觉对齐层 · 对齐 prototype-web-v2 · 功能零改动
   仅 CSS 覆盖现网类名；设计令牌继承 v2-design.css
   青绿 #00B4AD / 暖橙 #FC6C38 / 深墨绿 #0F2623
   ===================================================================== */

/* ---------- 1) 去紫强制覆盖：.cf-* ---------- */
.cf-app{background:var(--bg)!important;color:var(--ink)!important}
.cf-header{border-bottom-color:var(--line)!important}
.cf-logo{
  background:linear-gradient(135deg,var(--brand),var(--brand-deep))!important;
  -webkit-background-clip:text!important;background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.cf-tabs{gap:6px}
.cf-tab{border-radius:10px!important;color:var(--muted)!important}
.cf-tab:hover{background:var(--brand-mist)!important;color:var(--ink)!important}
.cf-tab.active{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;font-weight:600;
}
.cf-avatar,
.cf-msg-avatar,
.cf-consultant-avatar,
.cf-confirm-consultant .cf-avatar,
.consultant-avatar{
  background:linear-gradient(145deg,#0B3B39,#117C70)!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
.cf-ai-badge,.cf-ai-badge-sm,.cf-ai-tag,.ai-mini-badge{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
}
.cf-consultant-card{
  border-radius:18px!important;border:1.5px solid var(--line)!important;
  box-shadow:var(--shadow-sm)!important;background:#fff!important;
}
.cf-consultant-card:hover{
  border-color:var(--brand)!important;
  box-shadow:0 8px 24px rgba(0,180,173,.14)!important;
  transform:translateY(-2px);
}
.cf-tag{
  background:var(--brand-soft)!important;color:var(--brand-deep)!important;
  border-radius:999px!important;
}
.cf-btn-primary,
.cf-btn-send,
.cf-msg-user .cf-msg-bubble{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;border:none;
  box-shadow:0 8px 20px rgba(0,180,173,.28);
}
.cf-btn-primary:hover{opacity:.92;box-shadow:0 10px 24px rgba(0,180,173,.34)}
.cf-btn-secondary{background:var(--brand-mist)!important;color:var(--ink-2)!important;border-radius:10px}
.cf-back-btn:hover{color:var(--brand-deep)!important}
.cf-textarea:focus,
.cf-msg-input:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px rgba(0,180,173,.12)!important;outline:none;
}
.cf-duration-opt span,
.cf-duration-card{
  border-radius:12px!important;border-color:var(--line)!important;
}
.cf-duration-opt input:checked + span,
.cf-duration-card.selected,
.cf-duration-card:hover{
  border-color:var(--brand)!important;
  background:var(--brand-soft)!important;color:var(--brand-deep)!important;
}
.cf-duration-card.selected .cf-dur-min{color:var(--brand-deep)!important}
.cf-duration-card:hover{border-color:#B8D3CB!important}
.cf-option-item:hover{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
}
.cf-option-item input{accent-color:var(--brand)!important}
.cf-steps{gap:8px}
.cf-step-num{
  background:var(--brand-mist)!important;color:var(--muted)!important;
  border-radius:50%!important;
}
.cf-step.active .cf-step-num{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;
}
.cf-step.active .cf-step-label{color:var(--brand-deep)!important;font-weight:600}
.cf-step.done .cf-step-num{background:var(--success)!important;color:#fff!important}
.cf-step.done .cf-step-label{color:var(--success)!important}
.cf-step-line{background:var(--line)!important}
.cf-step-line.done{background:var(--brand)!important}
.cf-progress,.cf-progress-bar,.cf-bar,.cf-bar-fill,[class*="cf-progress"] > div{
  background:linear-gradient(90deg,var(--brand),var(--brand-2))!important;
}
.cf-flow-modal{border-radius:20px!important}
.cf-flow-head{background:var(--brand-mist)!important;border-bottom:1px solid var(--line)}
.cf-session-card,.cf-detail-card{
  border-radius:18px!important;box-shadow:var(--shadow-sm)!important;
  border:1px solid var(--line);
}
.cf-chat-messages{background:var(--bg)!important}
.cf-msg-consultant .cf-msg-bubble{
  background:#fff!important;border:1px solid var(--line);border-radius:14px 14px 14px 4px;
}
.consultant-card{border-radius:18px!important;border:1.5px solid var(--line)!important;background:#fff}
.consultant-card:hover{
  border-color:var(--brand)!important;
  box-shadow:0 6px 20px rgba(0,180,173,.12)!important;
}
.btn-icon:hover{background:var(--brand-soft)!important;color:var(--brand-deep)!important}

/* 残留紫硬编码兜底 */
[class^="cf-"][style*="#667eea"],
[class*=" cf-"][style*="#667eea"],
[class^="cf-"][style*="#764ba2"],
[class*=" cf-"][style*="#764ba2"],
[class^="cf-"][style*="#4f6ef7"],
[class*=" cf-"][style*="#4f6ef7"],
[class^="cf-"][style*="#7c3aed"],
[class*=" cf-"][style*="#7c3aed"]{
  /* 无法改写 style 属性色值，靠上方类选择器 !important 覆盖背景/边框 */
}

/* ---------- 2) 快询：topic / consultant / sku / empty / signal ---------- */
.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.topic-card{
  background:#fff;border:1.5px solid var(--line);border-radius:14px;
  padding:16px;text-align:left;transition:.16s;cursor:pointer;
}
.topic-card:hover{border-color:#B8D3CB;box-shadow:var(--shadow-sm)}
.topic-card.active{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:0 0 0 3px var(--brand-soft)!important;
}
.topic-card strong,.topic-card b{display:block;margin-bottom:4px;color:var(--ink);font-size:13.5px}
.topic-card span{font-size:12px;color:var(--muted);line-height:1.5}
.topic-card .tc-ic{
  width:36px;height:36px;border-radius:10px;display:grid;place-items:center;
  margin-bottom:10px;background:var(--brand-soft);color:var(--brand-deep);font-size:18px;
}

.consultant-list{display:grid;gap:12px}
.consultant-card{
  background:#fff;border:1.5px solid var(--line);border-radius:18px;
  padding:18px 20px;display:flex;gap:16px;align-items:center;
  transition:.18s;cursor:pointer;
}
.consultant-card:hover{border-color:#B8D3CB;box-shadow:var(--shadow)}
.consultant-card.sel,.consultant-card.selected,.consultant-card.active{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px var(--brand-soft)!important;
}
.consultant-card h3{margin:0 0 4px;font-size:15px;color:var(--ink)}
.consultant-card .meta{color:var(--muted);font-size:12px;margin-bottom:6px}
.consultant-card .reason{font-size:13px;line-height:1.5;color:var(--ink-2)}

.sku-card{
  border:1.5px solid var(--line);border-radius:16px;padding:16px;background:#fff;
  transition:.16s;
}
.sku-card:hover{border-color:var(--brand);box-shadow:var(--shadow-sm)}
.sku-card .price{font-size:22px;font-weight:800;margin:8px 0;color:var(--brand-deep);letter-spacing:-.03em}
.sku-card.active,.sku-card.sel{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:0 0 0 3px var(--brand-soft);
}

.empty-fav{
  text-align:center;padding:48px 20px;border-radius:20px;
  background:#fff;border:1px dashed var(--line-strong);color:var(--muted);
}
.empty-fav p{margin:6px 0;color:var(--ink-2)}
.empty-fav .hint{font-size:12.5px;color:var(--muted)!important}

.signal-bar{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:12px 16px;border-radius:14px;margin-bottom:14px;
  background:linear-gradient(120deg,var(--brand-mist),#fff);
  border:1px solid #C6E7DF;color:var(--ink-2);font-size:13px;
}
.signal-bar strong{color:var(--brand-deep)}

/* ---------- 3) 日历：sched / review / hist / tpl ---------- */
.sched-shell,.sched-shell-desktop{
  border-radius:20px!important;overflow:hidden;
  border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-sm);
}
.sched-left{background:var(--brand-mist)!important;border-right:1px solid var(--line)}
.sched-right{background:#fff}
.sched-cal-head strong{color:var(--ink);font-weight:800}
.sched-wh{background:#fff;color:var(--muted);font-weight:700}
.sched-cell{
  border-radius:0;min-height:72px;transition:background .15s;
}
.sched-cell:hover{background:var(--brand-mist)}
.sched-cell.today{background:var(--brand-soft)!important}
.sched-cell.selected{
  background:var(--brand-soft)!important;
  box-shadow:inset 0 0 0 2px var(--brand)!important;
}
.sched-daynum{color:var(--ink)!important;font-weight:700}
.sched-cell.other .sched-daynum{color:#b8c0ba!important}
.sched-badge{
  display:inline-block;font-size:10px;line-height:1.2;padding:2px 6px;
  border-radius:8px!important;font-weight:700;color:#fff;
}
.sched-badge.interview{background:var(--brand)!important}
.sched-badge.todo{background:var(--accent2)!important}
.sched-badge.task{background:#6C7B76!important}
.sched-tag{
  font-size:11px;padding:3px 9px;border-radius:8px!important;
  font-weight:600;background:var(--brand-soft);color:var(--brand-deep);
}
.sched-tag.interview{background:var(--brand-soft)!important;color:var(--brand-deep)!important}
.sched-tag.todo{background:var(--accent2-soft)!important;color:#c2410c!important}
.sched-tag.task{background:#e8eeeb!important;color:#475569!important}
.sched-item{
  display:grid;grid-template-columns:64px 1fr;gap:12px;
  padding:14px 0;border-bottom:1px solid var(--line);
}
.sched-item:last-child{border-bottom:0}
.sched-time{color:var(--brand-deep)!important;font-weight:700;font-size:13px}
.sched-empty{
  padding:40px 16px;text-align:center;color:var(--muted);
  border-radius:16px;background:var(--brand-mist);margin-top:12px;
}
.sched-day-head h2{color:var(--ink);font-weight:800}
.link-btn{color:var(--brand-deep)!important}
.link-btn:hover{color:var(--brand)!important}

.review-card,.hist-card,.tpl-card,.search-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:18px 20px;box-shadow:var(--shadow-sm);margin-top:14px;
}
.tpl-card{
  border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;
  text-align:left;background:#fff;cursor:pointer;transition:.16s;
  display:flex;flex-direction:column;gap:6px;min-height:78px;
}
.tpl-card strong,.tpl-card .tpl-card-title{display:block;font-size:14px;font-weight:700;line-height:1.35;margin:0}
.tpl-card .hint,.tpl-card .tpl-card-desc{display:block;margin:0;font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}
.tpl-card:hover,.tpl-card.active{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:0 0 0 3px var(--brand-soft);
}
.tpl-grid{gap:12px;margin:4px 0 20px!important}
.modal-mask .modal-body .field{margin-bottom:16px}
.modal-mask .modal-body .field label{display:block;margin-bottom:8px;font-weight:650;font-size:13px}
.tpl-body.form-grid,.modal-mask .tpl-body{margin-top:4px;gap:14px 16px}
.tpl-body .field{margin-bottom:0}
.hist-filters input,.hist-filters select{
  border-radius:10px;border:1.5px solid var(--line);
}
.hist-filters input:focus,.hist-filters select:focus{
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,180,173,.12);outline:none;
}
.review-card .review-section h4{font-weight:700}
.kx-promo{
  border-radius:16px!important;
  background:linear-gradient(120deg,var(--brand-mist),#fff)!important;
  border:1px solid #C6E7DF!important;
}
.kx-promo strong{color:var(--brand-deep)!important}

/* ---------- 4) 简历：preview / edit / rp / mod / exp / upload / lib ---------- */
.resume-preview-page,.resume-edit,.resume-preview{
  background:#fff;border:1px solid var(--line);border-radius:20px;
  overflow:hidden;box-shadow:var(--shadow-sm);
}
.resume-mod{
  border:1px solid var(--line);border-radius:20px!important;
  margin-bottom:14px;overflow:hidden;background:#fff;box-shadow:var(--shadow-sm);
}
.resume-mod-head{
  background:var(--brand-mist)!important;padding:16px 18px;
}
.resume-mod-head .chev{color:var(--brand-deep)!important}
.resume-mod-body{padding:16px 18px;border-top:1px solid var(--line)}
.exp-block{
  border:1px solid var(--line);border-radius:14px!important;
  margin-bottom:12px;background:#fafcfb;overflow:hidden;
}
.exp-block.open{box-shadow:var(--shadow-sm)}
.exp-toggle .chev{color:var(--brand-deep)!important}
.exp-body{background:#fff;padding:14px 16px}

.rp-header{
  background:linear-gradient(135deg,var(--brand),var(--brand-deep))!important;
  padding:36px 32px 28px;text-align:center;color:#fff;
}
.rp-section{padding:20px 28px}
.rp-sec-title{border-bottom:2px solid var(--brand-soft)!important}
.rp-sec-icon{
  background:var(--brand-soft)!important;color:var(--brand-deep)!important;
  border-radius:10px!important;
}
.rp-edit-btn{
  color:var(--brand-deep)!important;
  background:rgba(0,180,173,.1)!important;border-radius:999px;
}
.rp-edit-btn:hover{background:rgba(0,180,173,.18)!important}
.rp-empty,.rp-empty-inline{
  text-align:center;padding:56px 20px 48px;color:var(--muted);
}
.rp-empty-icon{
  width:72px;height:72px;margin:0 auto;border-radius:20px;
  background:var(--brand-mist);display:grid;place-items:center;
  color:var(--brand);font-size:28px;
}
.rp-empty-text{font-size:16px;color:var(--ink);font-weight:700;margin-top:16px}
.rp-empty-sub{font-size:13px;color:var(--muted);margin-top:6px}
.rp-badge{border-radius:999px!important}
.rp-info-val,.rp-exp-title{color:var(--ink)}
.rp-block-label{color:var(--muted);font-weight:600}

.upload-dropzone{
  border:2px dashed var(--line-strong)!important;border-radius:20px!important;
  padding:40px 24px;text-align:center;background:var(--brand-mist);
  transition:.18s;
}
.upload-dropzone:hover,.upload-dropzone.dragover{
  border-color:var(--brand)!important;background:var(--brand-soft)!important;
}
.upload-dropzone-text{color:var(--ink);font-weight:700}
.upload-dropzone-hint{color:var(--muted)}

.lib-page{max-width:880px}
.lib-page-head{margin-bottom:24px}
.lib-page-title{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.lib-page-sub{font-size:14px;color:var(--muted)}

/* ---------- 5) 助理：ast-*（去 #00BEBD） ---------- */
.ast-page{
  position:relative;display:flex;height:calc(100vh - 120px);gap:0;
  border-radius:20px!important;overflow:hidden;
  box-shadow:var(--shadow)!important;border:1px solid var(--line);background:#fff;
}
.ast-sidebar{
  width:240px;flex-shrink:0;background:#fff;border-right:1px solid var(--line);
  display:flex;flex-direction:column;
}
.ast-sidebar-head{padding:16px;border-bottom:1px solid var(--line)}
.ast-sidebar-foot{padding:12px;border-top:1px solid var(--line)}
.ast-new-btn{
  display:inline-flex;align-items:center;justify-content:center;width:100%;
  padding:10px 14px;border-radius:12px;font-weight:700;font-size:13.5px;cursor:pointer;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;
  box-shadow:0 6px 16px rgba(0,180,173,.28);
}
.ast-main{
  flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)!important;
}
.ast-tool-btn{
  flex:1;font-size:12px;padding:8px;border-radius:10px!important;
  border:1px solid var(--brand)!important;color:var(--brand-deep)!important;
  background:rgba(0,180,173,.06)!important;cursor:pointer;white-space:nowrap;
}
.ast-tool-btn:hover{background:rgba(0,180,173,.14)!important}
.ast-tool-btn.full{width:100%}
.ast-qa-btn{
  font-size:13px;padding:8px 16px;border-radius:999px!important;
  border:1px solid var(--brand)!important;color:var(--brand-deep)!important;
  background:rgba(0,180,173,.06)!important;cursor:pointer;white-space:nowrap;
  transition:.15s;
}
.ast-qa-btn:hover{background:rgba(0,180,173,.14)!important;border-color:var(--brand-deep)}
.ast-send-btn{
  padding:10px 24px;border-radius:12px!important;
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;border:none;font-size:14px;font-weight:700;cursor:pointer;
  box-shadow:0 6px 16px rgba(0,180,173,.28);
}
.ast-send-btn:hover{filter:brightness(1.03);box-shadow:0 8px 20px rgba(0,180,173,.34)}
.ast-send-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.ast-msg-list{flex:1;overflow-y:auto;padding:16px 24px}
.ast-msg{display:flex;gap:8px;margin-bottom:16px;align-items:flex-start}
.ast-msg-user{flex-direction:row-reverse}
.ast-msg-avatar{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:700;flex-shrink:0;overflow:hidden;
}
.ast-msg-user .ast-msg-bubble{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;border-radius:14px 14px 4px 14px;
}
.ast-msg-ai .ast-msg-bubble{
  background:#fff!important;color:var(--ink)!important;
  border:1px solid var(--line);border-radius:14px 14px 14px 4px;
  box-shadow:var(--shadow-sm);
}
.ast-msg-bubble{
  max-width:70%;padding:12px 16px;font-size:14px;line-height:1.6;
  word-break:break-word;white-space:pre-wrap;
}
.ast-home-go{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;color:#fff!important;
}
.ast-home-go:hover{filter:brightness(1.03)}
.ast-home-qa-btn{
  border:1px solid var(--brand)!important;color:var(--brand-deep)!important;
  background:rgba(0,180,173,.06)!important;border-radius:999px;
}
.ast-home-qa-btn:hover{background:rgba(0,180,173,.14)!important}
.ast-mod-card.filled{border-left:3px solid var(--brand)!important}
.ast-mod-mini-icon,.ast-mod-mini-bar > div{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
}
.ast-home-insight-dot{background:var(--accent2)!important}

/* ---------- 6) 面试资产：ib-* → interview-hero 风格 ---------- */
.ib-page{max-width:880px;margin:0 auto}
.ib-hero{
  background:linear-gradient(130deg,#F4FCFB,#E4F5F1)!important;
  border:1px solid #C6E7DF!important;border-radius:22px!important;
  padding:28px 30px!important;display:flex;align-items:center;
  justify-content:space-between;gap:20px;position:relative;overflow:hidden;
  margin-bottom:16px;
}
.ib-hero::after{
  content:"";position:absolute;width:240px;height:240px;border-radius:50%;
  right:-80px;top:-120px;
  background:radial-gradient(circle,rgba(0,180,173,.16),transparent 60%);
  pointer-events:none;
}
.ib-hero h2,.ib-hero-copy h2{
  font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;color:var(--ink);
  position:relative;z-index:1;
}
.ib-hero p,.ib-hero-copy p{
  margin:0;color:var(--muted);font-size:13.5px;line-height:1.6;max-width:520px;
  position:relative;z-index:1;
}
.ib-hero-art{position:relative;z-index:1;border-radius:16px;box-shadow:var(--shadow-sm)}
.ib-tabs{
  display:flex;gap:4px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:5px;margin-bottom:16px;flex-wrap:wrap;width:fit-content;
}
.ib-tab{
  padding:9px 18px;font-size:13.5px;font-weight:600;color:var(--muted);
  border-radius:10px;cursor:pointer;transition:.15s;border:0;background:transparent;
}
.ib-tab:hover{color:var(--ink);background:var(--bg)}
.ib-tab.active{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;border-color:transparent!important;
  box-shadow:0 4px 12px rgba(0,180,173,.28);
}
.ib-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:16px 18px;margin-bottom:10px;box-shadow:var(--shadow-sm);transition:.16s;
}
.ib-card:hover{border-color:#B8D3CB;box-shadow:var(--shadow)}
.ib-card-title{font-weight:700;font-size:15px;color:var(--ink);margin-bottom:4px}
.ib-card-meta{font-size:12.5px;color:var(--muted);margin-bottom:6px}
.ib-chip{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;
  border:1.5px solid var(--line);background:#fff;font-size:12.5px;color:var(--ink-2);
  cursor:pointer;transition:.15s;
}
.ib-chip:hover{border-color:#B8D3CB}
.ib-chip.on{
  border-color:var(--brand)!important;background:var(--brand-soft)!important;
  color:var(--brand-deep)!important;font-weight:600;
}
.ib-status{
  display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;
  border-radius:999px!important;
}
.ib-status.pending{background:#fdf3e4;color:#d98a1c}
.ib-status.approved{background:var(--brand-soft);color:var(--brand-deep)}
.ib-status.rejected{background:#fdeaea;color:#d64545}
.ib-status.removed{background:#eef1f4;color:#5b6470}
.ib-form .field{margin-bottom:12px}
.ib-form input,.ib-form textarea,.ib-form select{
  border:1.5px solid var(--line)!important;border-radius:12px!important;
  padding:10px 12px;background:#fff;transition:.15s;
}
.ib-form input:focus,.ib-form textarea:focus,.ib-form select:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 3px rgba(0,180,173,.12)!important;outline:none;
}
.ib-q-item{
  background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;
}
.ib-empty{text-align:center;padding:28px 16px;color:var(--muted)}
.ib-practice-toolbar select{border-radius:10px;border:1.5px solid var(--line)}
.ib-agree{border-radius:12px;background:var(--brand-mist);padding:12px 14px}

/* ---------- 7) 问签：暗色体系见 fortune.css（对齐 fortune-web）；首页入口卡保留浅色 ---------- */
.fortune-entry-card,.kx-shell .fortune-card:not(.read-card){
  background:linear-gradient(120deg,#FFF8EC,#F0FAF8)!important;
  border:1px solid #F2E3C0!important;border-radius:20px!important;
}
.fortune-entry-card:hover{
  border-color:var(--gold)!important;
  box-shadow:0 12px 28px rgba(242,179,61,.16)!important;
}
.fortune-entry-card span,.fortune-entry-card .arrow{color:var(--muted)!important}
.fortune-entry-card .ico{
  background:linear-gradient(135deg,var(--gold),#c98f2e)!important;
}

/* ---------- 8) 我的 / 权益 ---------- */
.me-hero{
  background:linear-gradient(130deg,#0B3B39,#0E5550 60%,#117C70)!important;
  border-radius:24px!important;padding:28px 32px!important;color:#fff!important;
  display:flex!important;align-items:center;justify-content:space-between;gap:24px;
  position:relative;overflow:hidden;
  grid-template-columns:unset!important;
}
.me-hero::after{
  content:"";position:absolute;width:340px;height:340px;border-radius:50%;
  right:-100px;top:-140px;
  background:radial-gradient(circle,rgba(255,255,255,.14),transparent 60%);
  pointer-events:none;
}
.me-hero > *{position:relative;z-index:2}
.me-hero .avatar{
  width:64px;height:64px;border-radius:16px!important;
  background:rgba(255,255,255,.16)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.28);
  display:grid;place-items:center;font-size:24px;font-weight:700;
}
.me-hero h2,.me-hero strong,.me-hero b{color:#fff!important}
.me-hero p,.me-hero .hint,.me-hero .mh-exp,.me-hero .mh-left > span:not(.pill){color:rgba(255,255,255,.78)!important}
.me-hero .pill,.me-hero .signal-bar .pill{
  background:rgba(255,255,255,.2)!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.4)!important;
}

.me-quick-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;
  margin-top:16px;
}
.me-quick{
  background:#fff;border:1.5px solid var(--line);border-radius:16px;
  padding:16px;text-align:left;cursor:pointer;transition:.16s;
  text-decoration:none;color:inherit;font:inherit;display:block;box-sizing:border-box;
}
.me-quick:hover{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:var(--shadow-sm);transform:translateY(-2px);
}
.me-quick-ico{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:var(--brand-soft);color:var(--brand-deep);margin-bottom:10px;font-size:18px;
}
.me-quick-dot{
  background:var(--accent2)!important;border-radius:999px!important;
}

.mem-status{
  background:linear-gradient(130deg,#0F2623,#14504A 58%,#0E7A6E)!important;
  border:none!important;border-radius:22px!important;padding:28px 30px!important;
  color:#fff!important;position:relative;overflow:hidden;
}
.mem-status::after{
  content:"";position:absolute;width:280px;height:280px;border-radius:50%;
  right:-80px;top:-100px;
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);
  pointer-events:none;
}
.mem-status > *{position:relative;z-index:2}
.mem-status.is-on{
  border:none!important;
  background:linear-gradient(130deg,#0B3B39,#0E5550 60%,#117C70)!important;
}
.mem-status-kicker{color:rgba(255,255,255,.7)!important;letter-spacing:.08em}
.mem-status-title{color:#fff!important;font-size:26px;font-weight:800;margin:6px 0 8px}
.mem-status-sub{color:rgba(255,255,255,.75)!important}

.mem-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.mem-plan{
  background:#fff;border:1.5px solid var(--line);border-radius:18px;
  padding:22px;display:flex;flex-direction:column;gap:8px;transition:.18s;
  position:relative;
}
.mem-plan:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.mem-plan.highlight{
  border-color:var(--brand)!important;
  box-shadow:0 10px 30px rgba(0,180,173,.16)!important;
}
.mem-plan.current{background:var(--brand-mist)!important}
.mem-plan-price b{color:var(--brand-deep)!important;font-size:28px;font-weight:800}
.mem-plan-badge{
  background:var(--brand-soft)!important;color:var(--brand-deep)!important;
  border-radius:999px!important;
}
.mem-plan-flag{
  background:linear-gradient(135deg,var(--accent2),#FF8A5C)!important;
  color:#fff!important;border-radius:999px!important;
}
.mem-tabs{
  display:flex;gap:4px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:5px;margin-top:16px;width:fit-content;flex-wrap:wrap;
}
.mem-tab{
  border:0!important;background:transparent!important;border-radius:10px!important;
  padding:9px 18px!important;font-size:13.5px;cursor:pointer;color:var(--muted);
  font-weight:600;
}
.mem-tab.on,.mem-tab.active{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;font-weight:700;
  box-shadow:0 4px 12px rgba(0,180,173,.28);
}
.mem-table-wrap{
  overflow:auto;border:1px solid var(--line);border-radius:16px;background:#fff;
  -webkit-overflow-scrolling:touch;max-width:100%;
}
.mem-table{width:100%;border-collapse:collapse;font-size:13px;min-width:480px}
.mem-table th,.mem-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.mem-table th{color:var(--muted);font-weight:600;background:#FAFCFB}
.mem-table tr:last-child td{border-bottom:0}
.mem-coupon b{color:var(--brand-deep)!important}
.mem-badge.is-paid{background:var(--brand-soft)!important;color:var(--brand-deep)!important}
.mem-invoice-card{
  border:1px dashed #C6E7DF!important;border-radius:14px!important;
  background:var(--brand-mist)!important;
}
.mem-pay-modal{border-radius:20px!important}

.me-desk-card{border-radius:18px!important}
.me-desk-stat b{color:var(--brand-deep)!important}
.me-desk-badge{border-radius:999px!important}

/* ---------- 9) 托管：rh-* ---------- */
.rh-hero,.rh-hero.card{
  background:linear-gradient(130deg,#F4FCFB,#E4F5F1)!important;
  border:1px solid #C6E7DF!important;border-radius:22px!important;
  padding:28px 30px!important;position:relative;overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.rh-hero::after{
  content:"";position:absolute;width:220px;height:220px;border-radius:50%;
  right:-70px;top:-100px;
  background:radial-gradient(circle,rgba(0,180,173,.18),transparent 60%);
  pointer-events:none;
}
.rh-hero > *{position:relative;z-index:2}
.rh-hero h2{color:var(--ink);font-weight:800;letter-spacing:-.02em}
.rh-hero .desc{color:var(--muted);line-height:1.6}
.rh-hero .rh-bullets{color:var(--ink-2)!important}

.rh-status,.rh-status-row{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:18px 20px;box-shadow:var(--shadow-sm);
}
.rh-feed{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:8px 18px;box-shadow:var(--shadow-sm);
}
.rh-feed-item{
  padding:14px 0;border-bottom:1px solid var(--line);
}
.rh-feed-item:last-child{border-bottom:0}
.rh-feed-actor,.rh-feed-type{color:var(--brand-deep)!important;font-weight:700}

.rh-consultant-card{
  display:flex;gap:12px;align-items:flex-start;
  border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;
  background:#fff;cursor:pointer;transition:.16s;margin-bottom:10px;
}
.rh-consultant-card:hover{border-color:#B8D3CB;box-shadow:var(--shadow-sm)}
.rh-consultant-card:has(input:checked){
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:0 0 0 3px var(--brand-soft);
}

.rh-advice-card{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:20px;box-shadow:var(--shadow-sm);margin-bottom:14px;
}
.rh-advice-card > h2{margin-top:0;color:var(--ink);font-weight:800}

.rh-chip{
  border:1.5px solid var(--line);background:#fff;border-radius:999px;
  padding:6px 14px;font-size:12.5px;color:var(--ink-2);cursor:pointer;transition:.15s;
}
.rh-chip:hover{border-color:var(--brand)!important;color:var(--brand-deep)!important}
.rh-chip.on{
  border-color:var(--brand)!important;background:var(--brand-soft)!important;
  color:var(--brand-deep)!important;font-weight:700;
}
.rh-chip-custom{border-style:dashed}

.rh-promo{
  background:linear-gradient(120deg,var(--brand-mist),#fff)!important;
  border:1px solid #C6E7DF!important;border-radius:16px!important;
  padding:14px 18px;
}
.rh-consult-card{
  border:1px solid #C6E7DF!important;
  background:linear-gradient(120deg,#f3faf9,#fff)!important;
  border-radius:18px!important;
}
.rh-choice.active{
  border-color:var(--brand)!important;background:var(--brand-soft)!important;
  color:var(--brand-deep)!important;
}
.rh-suggest{
  background:var(--brand-mist);border-radius:12px;padding:12px 14px;
  border-left:3px solid var(--brand);
}

/* ---------- 10) 顾问台：cdesk-* ---------- */
.cdesk-tabs{
  display:flex!important;gap:4px!important;flex-wrap:wrap!important;
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:5px;margin-bottom:16px!important;width:fit-content;max-width:100%;
}
.cdesk-tabs .btn,
.cdesk-tabs .btn-primary,
.cdesk-tabs .btn-secondary{
  border-radius:10px!important;padding:8px 14px!important;font-size:13px!important;
  border:0!important;box-shadow:none!important;font-weight:600;
}
.cdesk-tabs .btn-secondary{
  background:transparent!important;color:var(--muted)!important;
}
.cdesk-tabs .btn-secondary:hover{background:var(--bg)!important;color:var(--ink)!important}
.cdesk-tabs .btn-primary{
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;
}

.cdesk-assist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cdesk-assist-card{
  background:#fff;border:1.5px solid var(--line);border-radius:16px;
  padding:16px;text-align:left;cursor:pointer;transition:.16s;
}
.cdesk-assist-card:hover{
  border-color:var(--brand)!important;background:var(--brand-mist)!important;
  box-shadow:var(--shadow-sm);
}
.cdesk-assist-card b{display:block;margin-bottom:4px;color:var(--ink)}
.cdesk-assist-card span{font-size:12px;color:var(--muted)}
.cdesk-assist-out{
  background:var(--brand-mist);border:1px solid #C6E7DF;border-radius:14px;
  padding:14px 16px;margin-top:12px;white-space:pre-wrap;
}
.cdesk-notice{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:14px 16px;margin-bottom:10px;transition:.15s;
}
.cdesk-notice:hover{border-color:#B8D3CB}
.cdesk-notice.read{opacity:.72}
.cdesk-notice-title{font-weight:700;color:var(--ink);margin-bottom:4px}
.cdesk-price-preview{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;
}
.cdesk-price-preview div{
  background:var(--brand-mist);border-radius:14px;padding:14px;border:1px solid #C6E7DF;
}
.cdesk-price-preview b{display:block;margin-top:4px;font-size:18px;color:var(--brand-deep)}

/* 顾问台表格 / 统计卡圆角 */
.kx-main table,.cdesk-tabs ~ .card table,.mem-table{
  border-radius:14px;overflow:hidden;
}
.stat,.ent-cell,.me-desk-stat{
  border-radius:14px!important;background:var(--brand-mist)!important;
  border:1px solid #C6E7DF;
}
.stat b,.ent-cell b{color:var(--brand-deep)!important}

/* ---------- 11) 全局残留色 & badge 圆角 ---------- */
/* 覆盖常见残留 #00BEBD / #0f766e */
.btn-primary,
.pill-brand,
.nav-item.active,
.kx-nav-btn.active,
.ast-send-btn,
.ast-tool-btn,
.ast-qa-btn,
.ib-chip.on,
.rh-chip.on,
.mem-tab.on,
.mem-plan-price b,
.sched-time,
.link-btn,
.rp-edit-btn,
.nc-item-go,
.nc-mini-btn{
  /* 令牌已在 v2-design；此处强化硬编码兜底 */
}
[style*="#00BEBD"],
[style*="#00beb9"],
[style*="#00A6A7"]{
  /* inline 色值无法直接改写；下方类级覆盖兜底 */
}
.icon-wrap.ico-brand,
.ast-home-go,
.ast-mod-mini-icon,
.ast-mod-mini-bar > div,
.rp-header,
.parse-guide-tip strong{
  /* brand 对齐 */
}
.icon-wrap.ico-brand{background:var(--brand)!important}
.parse-guide-tip strong{color:var(--brand-deep)!important}
.sched-time,.link-btn{color:var(--brand-deep)!important}
.kx-promo strong{color:var(--brand-deep)!important}
.rh-chip.on{color:var(--brand-deep)!important}
.mem-status-kicker{color:rgba(255,255,255,.7)!important}

/* badge / tag：4px → 8–10px */
.badge,.tag,.pill,
.sched-badge,.sched-tag,
.ib-status,.ib-chip,
.mem-badge,.mem-plan-badge,.mem-plan-flag,
.me-desk-badge,.me-quick-dot,
.rp-badge,.cf-tag,.cf-ai-badge,.ai-mini-badge,
.rh-chip,.nc-mini-btn{
  border-radius:8px;
}
.pill,.ib-chip,.mem-badge,.mem-plan-badge,.mem-plan-flag,
.me-desk-badge,.rp-badge,.rh-chip,.sched-tag,.ib-status{
  border-radius:999px;
}
.sched-badge{border-radius:8px!important}
.cf-tag,.cf-ai-badge{border-radius:10px!important}

/* 残留旧青绿硬编码类 */
[class*="brand"][style*="00BEBD"],
.btn[style*="00BEBD"],
.btn[style*="#0f766e"]{
  /* 依赖下方通用按钮覆盖 */
}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-2))!important}

/* ---------- 12) 响应式 ---------- */
@media (max-width:1080px){
  .topic-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .consultant-card{flex-wrap:wrap}
  .sched-shell,.sched-shell-desktop{grid-template-columns:1fr!important}
  .sched-left{border-right:0!important;border-bottom:1px solid var(--line)}
  .resume-overview{grid-template-columns:1fr!important}
  .ast-page{height:auto;min-height:70vh;flex-direction:column}
  .ast-sidebar{width:100%;border-right:0;border-bottom:1px solid var(--line);max-height:220px}
  .ib-hero{flex-direction:column;align-items:flex-start;padding:22px!important}
  .ib-tabs,.mem-tabs,.cdesk-tabs{width:100%}
  .mem-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .me-hero{flex-direction:column;align-items:flex-start;padding:24px!important}
  .cdesk-assist-grid{grid-template-columns:1fr}
  .rh-tri{grid-template-columns:1fr!important}
  .me-quick-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
}

@media (max-width:860px){
  .topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .topic-card{padding:12px;border-radius:12px}
  .consultant-card{padding:14px;border-radius:14px;gap:12px}
  .consultant-avatar,.cf-avatar{width:44px;height:44px;font-size:16px}
  .sku-card{padding:12px}
  .sched-cell{min-height:56px}
  .sched-day-head{flex-direction:column}
  .sched-item{grid-template-columns:52px 1fr;gap:10px}
  .hist-filters{grid-template-columns:1fr!important}
  .rp-header{padding:28px 18px 22px}
  .rp-section{padding:16px 18px}
  .rp-info-grid{grid-template-columns:1fr!important}
  .upload-dropzone{padding:28px 16px;border-radius:16px!important}
  .lib-page-title{font-size:22px}
  .ast-msg-bubble{max-width:88%}
  .ast-qa-btn{font-size:12px;padding:7px 12px}
  .ib-hero h2{font-size:20px}
  .ib-tab{padding:8px 12px;font-size:12.5px}
  .ib-card{padding:14px}
  .me-hero{border-radius:18px!important;padding:20px!important}
  .me-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mem-plan-grid{grid-template-columns:1fr}
  .mem-status{padding:22px!important;border-radius:18px!important}
  .mem-status-title{font-size:22px}
  .mem-tabs,.cdesk-tabs{border-radius:12px}
  .rh-hero{padding:20px!important;border-radius:18px!important}
  .rh-consultant-card{padding:12px}
  .cdesk-assist-grid{grid-template-columns:1fr}
  .empty-fav{padding:36px 16px;border-radius:16px}
  .review-card,.hist-card,.tpl-card{padding:14px;border-radius:14px}
}

/* 岗位订阅盯盘 */
.jw-page .jw-targets{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.jw-company{min-width:200px;flex:1;cursor:pointer;border:1px solid var(--line,#E6E9EF)}
.jw-company.active{border-color:rgba(0,180,173,.45);box-shadow:0 0 0 1px rgba(0,180,173,.12)}
.jw-add{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;border-style:dashed;background:#FAFCFB}
.jw-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}
@media(max-width:900px){.jw-layout{grid-template-columns:1fr}}
.jw-job-hi{border-color:rgba(0,180,173,.35)!important}
.jw-ring{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;position:relative;flex:none}
.jw-ring span{font-size:13px;font-weight:700;background:#fff;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}
.jw-stat{flex:1;min-width:72px;padding:10px;border-radius:10px;background:rgba(0,180,173,.08);text-align:center}
.jw-stat.warn{background:rgba(245,166,35,.12)}
.jw-stat b{display:block;font-size:18px;color:var(--brand-deep,#00817C)}
.jw-stat span{font-size:11px;color:var(--muted,#7A849A)}
.jw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.jw-grid-cell{padding:10px;border-radius:10px;background:#F4F7F9;font-size:12.5px}
.jw-cat.active{background:var(--brand-soft,#E6F7F7)!important;border-color:var(--brand,#00B4AD)!important;color:var(--brand-deep,#00817C)!important}
.jobs-segment{display:flex;gap:8px;margin:0 0 16px;padding:4px;background:#F4F7F9;border-radius:12px}
.jobs-seg-btn{flex:1;border:0;background:transparent;padding:10px 12px;border-radius:10px;font-weight:600;font-size:14px;color:#61687C;cursor:pointer;transition:background .15s,color .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.jobs-seg-ic{display:inline-flex;width:18px;height:18px;flex:none;opacity:.85}
.jobs-seg-ic svg{width:18px;height:18px}
.jobs-seg-btn.active .jobs-seg-ic{opacity:1;color:var(--brand-deep,#00817C)}
.review-stars{color:#F59E0B;letter-spacing:1px;font-size:12px}
.consult-pricing-hint .btn-link{color:var(--brand-deep,#008A85)}
.jobs-seg-btn.active{background:#fff;color:var(--brand-deep,#00817C);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.jobs-watch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.jw-target-actions{margin-top:10px;display:flex;gap:4px;flex-wrap:wrap}
.jw-alert-row{display:block;width:100%;text-align:left;margin-top:8px;padding:10px 12px;border:1px solid var(--line,#E6E9EF);border-radius:10px;background:#FAFCFB;cursor:pointer}
.jw-alert-row b{display:block;font-size:13px;color:#1A1F36}
.jw-search{width:100%;margin:12px 0;padding:10px 12px;border:1px solid var(--line,#E6E9EF);border-radius:10px;font-size:14px}

/* 咨询对话框：隐私侧栏 / 额度 / 顾问复盘 */
.cf-resume-privacy .cf-privacy-note{color:var(--muted,#7A849A);line-height:1.45}
.cf-quota-exhausted{animation:cf-quota-pulse 2s ease-in-out 1}
@keyframes cf-quota-pulse{0%,100%{opacity:1}50%{opacity:.88}}
.desk-panel--accent{border:1px solid rgba(0,180,173,.28);background:linear-gradient(180deg,rgba(230,247,247,.55),#fff);margin-bottom:16px}
.desk-item--feedback{border-left:3px solid var(--brand,#00B4AD);padding-left:12px}

/* 顾问咨询 Tab · 对齐原型 ④ 咨询后反馈 */
.cf-consult-hub{margin-top:4px}
.cw-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
@media(max-width:768px){.cw-kpi{grid-template-columns:repeat(2,1fr)}}
.cw-kpi .kpi{background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:12px;padding:14px 16px}
.cw-kpi .kpi b{font-size:22px;display:block;color:var(--ink,#1A1F36)}
.cw-kpi .kpi span{font-size:12px;color:var(--muted,#7A849A)}
.cw-kpi .kpi-alert b{color:var(--warn,#FF9500)}
.cw-tabs{display:flex;gap:6px;background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:10px;padding:4px;width:fit-content;max-width:100%;flex-wrap:wrap;margin-bottom:14px}
.cw-tab{border:0;background:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--ink-2,#61687C)}
.cw-tab.active{background:var(--brand,#00B4AD);color:#fff;font-weight:600}
.cf-fb-item{background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:12px;padding:14px;margin-bottom:10px;display:flex;gap:14px;align-items:flex-start}
.cf-fb-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,#0B3B39,#117C70);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.cf-fb-main{flex:1;min-width:0}
.cf-fb-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px}
.cf-fb-head b{font-size:14px}
.cf-fb-st{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600}
.cf-fb-st.wait{background:#FFF4E5;color:#9A3412}
.cf-fb-st.done{background:#E6F7F6;color:#00817C}
.cf-fb-q{font-size:13px;color:var(--ink-2,#61687C);line-height:1.55}
.cf-fb-meta{font-size:11px;color:var(--muted,#7A849A);margin-top:6px;line-height:1.5}
.cf-fb-overdue{color:var(--warn,#FF9500);font-weight:600}
.cf-fb-form{background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:14px;padding:20px;margin-top:16px}
.cf-fb-form h3{font-size:16px;margin:0 0 4px}
.cf-fb-form-sub{color:var(--muted,#7A849A);font-size:12px;margin:0 0 16px;line-height:1.5}
.cf-fb-form .field{margin-bottom:12px}
.cf-fb-form .field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.cf-fb-form .field label .req{color:#DC2626}
.cf-fb-form .field input,.cf-fb-form .field textarea{width:100%;border:1px solid var(--line,#E6E9EF);border-radius:8px;padding:9px 12px;font-size:13px;font-family:inherit}
.cf-fb-form-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap}
.cf-fb-history-title{font-size:14px;margin:0 0 12px;color:var(--ink,#1A1F36)}
.kpi-sub{font-size:11px;color:var(--warn,#FF9500);margin-top:4px}
.cf-fb-tip-banner{background:#FFF8E6;border:1px solid #FCD9A0;border-radius:10px;padding:12px 14px;font-size:12.5px;color:#8A5A00;margin-bottom:12px;line-height:1.55}
.cf-fb-page{margin-top:4px}
.cf-fb-breadcrumb{font-size:12px;color:var(--muted,#7A849A);margin-bottom:14px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.cf-fb-grid{display:grid;grid-template-columns:1fr 320px;gap:16px;align-items:start}
@media(max-width:960px){.cf-fb-grid{grid-template-columns:1fr}}
.cf-fb-form-panel,.cf-detail-card{background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:14px;padding:22px}
.cf-fb-form-panel h2{font-size:17px;margin:0 0 4px}
.cf-ctx-card{background:#F8FAFB;border:1px solid var(--line,#E6E9EF);border-radius:10px;padding:14px;margin-bottom:16px;font-size:12.5px}
.cf-ctx-label{color:var(--muted,#7A849A);margin-bottom:8px}
.cf-ctx-row{display:flex;gap:10px;margin-top:6px;color:var(--ink-2,#61687C)}
.cf-ctx-row span:first-child{min-width:72px;color:var(--muted,#7A849A)}
.cf-action-item{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start}
.cf-action-n{width:24px;height:24px;border-radius:50%;background:var(--brand-soft,#E6F7F6);color:var(--brand-deep,#00817C);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none;margin-top:8px}
.cf-action-body{flex:1}
.cf-action-del{background:none;border:0;color:var(--muted,#7A849A);cursor:pointer;font-size:18px;padding:6px 4px}
.cf-action-del:disabled{opacity:.35;cursor:not-allowed}
.cf-add-action{width:100%;border:1.5px dashed #C9D6E2;background:#FAFCFD;color:var(--brand-deep,#00817C);border-radius:8px;padding:10px;cursor:pointer;font-size:13px;font-weight:500;margin-top:6px}
.cf-upload-zone{border:2px dashed #C9D6E2;border-radius:12px;padding:22px;text-align:center;background:#FAFCFD;cursor:pointer}
.cf-upload-zone p{font-size:11.5px;color:var(--muted,#7A849A);margin-top:4px}
.cf-file-item{display:flex;gap:10px;align-items:center;border:1px solid var(--line,#E6E9EF);border-radius:8px;padding:9px 12px;margin-top:8px;font-size:12px}
.cf-ficon{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff}
.cf-ficon.pdf{background:#E5484D}.cf-ficon.doc{background:#2563EB}.cf-ficon.xls{background:#16A34A}.cf-ficon.img{background:#22A06B}
.cf-auth-opt{background:#F8FAFB;border:1px solid var(--line,#E6E9EF);border-radius:10px;padding:12px;margin-top:8px}
.cf-auth-opt label{display:flex;gap:8px;font-weight:400;font-size:13px;margin-bottom:8px}
.cf-fb-foot{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--line,#E6E9EF)}
.cf-side-card{background:#fff;border:1px solid var(--line,#E6E9EF);border-radius:12px;padding:14px;margin-bottom:12px}
.cf-side-card h5{font-size:11px;color:var(--muted,#7A849A);letter-spacing:.5px;margin:0 0 8px}
.cf-resume-mini{font-size:12px;background:#F8FAFB;border-radius:8px;padding:10px}
.cf-rrow{margin-top:5px;color:var(--ink-2,#61687C)}
.cf-dl-resume{width:100%;margin-top:10px;background:var(--brand-soft,#E6F7F6);border:1px solid var(--brand,#00B4AD);color:var(--brand-deep,#00817C);border-radius:8px;padding:9px;font-size:12px;font-weight:600;cursor:pointer}
.cf-side-tip{background:#FFF8E6;border:1px dashed var(--warn,#FF9500);color:#8A5A00;font-size:11px;padding:8px;border-radius:8px;margin-top:10px;line-height:1.5}
.cf-detail-summary{font-size:14px;line-height:1.7;color:var(--ink-2,#61687C);background:#F8FAFB;padding:14px;border-radius:10px;border-left:3px solid var(--brand,#00B4AD)}
.cf-detail-actions{margin-top:12px;padding-left:18px;line-height:1.8;font-size:13.5px}
.cf-attach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.cf-attach-cell{display:block;border:1px solid var(--line,#E6E9EF);border-radius:8px;padding:10px;font-size:12px;color:var(--brand-deep,#00817C);text-decoration:none}
.todo-item .t-state.ts-danger{background:#E5484D}
.todo-item .t-state.ts-warn{background:#FF9500}
.kpi-card-alert{border-color:#FF9500;background:linear-gradient(180deg,#FFF8EE,#fff)}
.kpi-card-alert b{color:#C2410C}
.btn-warn{background:var(--warn,#FF9500);color:#fff;border:0}
.btn-warn:hover{filter:brightness(.96)}
.pill-warn{background:#FFF7E6;color:#C2410C;border:1px solid #FFD591}
.pill-done{background:#E6F7F6;color:#00817C;border:1px solid #99E6E2}
.cf-sess-card{border-left:3px solid transparent}
.cf-sess-card.cf-sess-danger{border-left-color:#E5484D}
.cf-sess-card.cf-sess-warn{border-left-color:#FF9500}
.cf-sess-ops{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.field label .opt{font-weight:400;color:var(--muted,#7A849A);font-size:11px;margin-left:6px}
.field label .req{color:#DC2626}
