/* =====================================================================
   V2 1:1 复刻强制层 · 对齐 prototype-web-v2/index.html
   必须放在所有业务 CSS 之后；覆盖旧 hero / sched / ast / rh / fortune 暗色
   ===================================================================== */

/* —— 内容区与页壳 —— */
.kx-shell.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:var(--bg)!important}
.kx-side.sidebar{background:#fff!important;border-right:1px solid var(--line)!important}
.kx-main.main{min-width:0;background:var(--bg)}
.kx-content.content{padding:26px 32px 60px!important;max-width:1280px;margin:0 auto}
.page{animation:fadeUp .3s ease}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.page-head h1{font-size:23px;font-weight:800;letter-spacing:-.02em;margin:0;color:var(--ink)}
.page-head .ph-sub{color:var(--muted);font-size:13px;margin-top:3px}
.page-head .ph-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* —— 杀掉旧 .hero 对首页的污染 —— */
.hero-banner.hero,
.hero-banner{
  background:linear-gradient(120deg,#0B3B39 0%,#0E5550 55%,#117C70 100%)!important;
  border:none!important;border-radius:24px!important;padding:36px 40px!important;
  display:flex!important;justify-content:space-between;align-items:center;gap:24px;
  box-shadow:var(--shadow-lg)!important;position:relative;overflow:hidden;margin-bottom:18px;color:#fff!important;
}
.hero-banner h1,.hero-banner h2{color:#fff!important;font-size:28px!important;font-weight:800!important;margin:0 0 8px!important}
.hero-banner p{color:rgba(255,255,255,.78)!important;margin:0 0 20px!important}
.hero-banner .nba-card,.hero-banner .nba-wrap{display:none} /* NBA 不该在 hero 内 */
.hb-cta{display:flex;gap:12px;flex-wrap:wrap}
.hb-cta .btn-primary{background:#fff!important;color:var(--brand-deep)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
.btn-glass,.hb-cta .btn-glass,.hb-cta .btn-secondary{
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;
}

/* 首页：下一步行动 | 面试资产 */
.home-action-row{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;
  margin-top:18px;align-items:stretch;
}
.home-action-row .nba-wrap{
  margin-top:0!important;margin-bottom:0!important;height:100%;min-width:0;
}
.home-action-row .ib-home-entry,.home-action-row .ib-assets-card{
  margin:0!important;height:100%;min-width:0;align-self:stretch;
  background:linear-gradient(105deg,#E8F7F5 0%,#F4FBFA 48%,#fff 100%)!important;
  border:1px solid #D5EBE7!important;
}
.home-action-row .ib-icon{
  width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#00B4AD,#2BC4B8);
  color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 16px rgba(0,180,173,.25);
}
.home-action-row .ib-home-entry-main b{display:block;font-size:15px;color:var(--ink);margin-bottom:2px}
.home-action-row .ib-home-entry .tip{max-width:none;display:block}
@media (max-width:960px){
  .home-action-row{grid-template-columns:1fr}
  .home-action-row .nba-wrap,.home-action-row .ib-home-entry{min-height:auto}
}

/* NBA 独立白卡 */
.nba-wrap{
  margin-top:18px!important;margin-bottom:0!important;background:#fff!important;border:1px solid var(--line)!important;
  border-radius:20px!important;padding:20px 24px!important;display:flex!important;align-items:center;gap:22px;
  box-shadow:var(--shadow-sm)!important;color:var(--ink)!important;backdrop-filter:none!important;
}
.nba-wrap::after{display:none!important}
.nba-wrap .nba-icon{
  width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--accent,#FC6C38),#FF8A5C);
  color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 8px 18px rgba(252,108,56,.3);
}
.nba-wrap .nba-label{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--accent,#FC6C38)!important;text-transform:uppercase}
.nba-wrap .nba-text{font-size:15px;font-weight:700;color:var(--ink)!important}
.nba-wrap .nba-sub{font-size:12.5px;color:var(--muted)!important;margin-top:2px}
.nba-wrap .btn-accent{background:linear-gradient(135deg,#FC6C38,#FF8A5C)!important;color:#fff!important}

/* 首页助理卡 / 问签卡 */
.assistant-card{
  background:linear-gradient(150deg,#F3FBF9,#E7F6F2)!important;border:1px solid #CFEBE4!important;
  border-radius:20px!important;padding:24px!important;position:relative;overflow:hidden;
}
.assistant-card .as-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.assistant-card .as-mascot{
  width:52px;height:52px;border-radius:16px;background:#fff;border:1px solid #CFEBE4;
  display:grid;place-items:center;color:var(--brand-deep);box-shadow:var(--shadow-sm);
}
.assistant-card .as-msg{
  background:#fff;border:1px solid #D8EFEA;border-radius:14px 14px 14px 4px;padding:12px 14px;
  font-size:13px;color:var(--ink-2);line-height:1.6;
}
.as-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.as-chip{
  font-size:12px;font-weight:600;color:var(--brand-deep);background:#fff;border:1px solid #CFEBE4;
  border-radius:999px;padding:5px 12px;cursor:pointer;
}
.as-chip:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.fortune-card{
  background:linear-gradient(150deg,#FFF8EC,#FDF1DC)!important;border:1px solid #F2E3C0!important;
  border-radius:20px!important;padding:24px!important;display:flex;flex-direction:column;
}
.fortune-card .fc-sub{font-size:12.5px;color:var(--muted);margin:4px 0 14px}
.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;margin-top:16px}

/* 权益环 */
.ent-banner{
  background:linear-gradient(120deg,#FFFDF7,#FFF7EC)!important;border:1px solid #F4E3C8!important;
  border-radius:20px!important;padding:22px 24px!important;display:flex;align-items:center;gap:24px;
}
.ent-ring{flex:none;width:96px;height:96px;position:relative;display:grid;place-items:center;text-align:center}
.ent-ring b{font-size:22px;font-weight:800;display:block;line-height:1.1}
.ent-ring span{font-size:10.5px;color:var(--muted)}
.ent-right{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ent-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 15px}
.ent-stat b{font-size:19px;font-weight:800;color:var(--brand-deep);display:block}
.ent-stat span{font-size:12px;color:var(--muted)}
.ent-stat .bar{height:5px;background:#EDF2EF;border-radius:99px;margin-top:8px;overflow:hidden}
.ent-stat .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),#35D0C5)}

/* —— 日历：sched 映射为原型视觉 —— */
.calendar-layout,.sched-shell.calendar-layout,.sched-shell-desktop.calendar-layout{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
  gap:18px!important;max-width:1120px;
  background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important;
}
.calendar-panel,.sched-left.calendar-panel{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:18px!important;
}
.cal-side,.sched-right.cal-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.day-tasks,.sched-list.day-tasks{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:18px!important;
}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-head b{font-size:16px;font-weight:800}
.cal-nav{display:flex;gap:6px;align-items:center}
.cal-nav button:not(.btn){
  width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#fff;
  font-size:16px;cursor:pointer;color:var(--ink);
}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}
.week span{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:4px 0}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
button.day, .day.sched-cell{
  min-height:52px;border:1px solid transparent;border-radius:10px;padding:5px 6px;
  font-size:12px;color:var(--ink-2);transition:.15s;position:relative;cursor:pointer;
  background:transparent;width:100%;text-align:left;font-family:inherit;display:block;
  box-sizing:border-box;appearance:none;-webkit-appearance:none;
}
button.day:hover,.day:hover{background:var(--bg)}
button.day.out,.day.out{color:#B9C6C1}
button.day.today,.day.today,.sched-cell.day.today{
  background:var(--brand-soft)!important;border-color:var(--brand)!important;font-weight:700;
}
button.day.selected,.day.selected{box-shadow:0 0 0 2px var(--brand)}
.day .dnum,.dnum{font-weight:600;display:block;font-size:12px}
.day .dot-events{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}
.day .dot-events i{
  width:6px;height:6px;border-radius:50%;display:block;font-size:0;line-height:0;padding:0;border:0;
}
.day .dot-events i.interview{background:#3B82F6}
.day .dot-events i.work,.day .dot-events i.task{background:var(--brand)}
.day .dot-events i.todo{background:#64748B}
.day .dot-events i.memo{background:#F59E0B}
.day .dot-events i.review{background:var(--accent)}
.sched-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.sched-legend span{display:inline-flex;align-items:center;gap:6px}
.sched-badge-ic,.sched-tag-ic{
  width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;flex:none;
}
.sched-badge-ic svg,.sched-tag-ic svg{width:13px;height:13px}
.sched-badge-ic.interview,.sched-tag.interview .sched-tag-ic{background:#EFF6FF;color:#2563EB}
.sched-badge-ic.todo,.sched-tag.todo .sched-tag-ic{background:#F1F5F9;color:#475569}
.sched-badge-ic.memo,.sched-tag.memo .sched-tag-ic{background:#FFF7ED;color:#D97706}
.sched-badge-ic.task,.sched-tag.task .sched-tag-ic{background:#ECFDF5;color:#0E5550}
.sched-tag{display:inline-flex!important;align-items:center;gap:6px;padding:4px 10px 4px 4px!important;
  border-radius:999px!important;font-size:11px!important;font-weight:600!important;width:auto!important;height:auto!important}
.sched-tag-txt{line-height:1}
.cal-review-card{padding:16px!important}
.cal-review-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.cal-review-head svg{width:22px;height:22px;color:var(--brand-deep);flex:none;margin-top:2px}
.cal-review-head b{display:block;margin-bottom:4px;font-size:14px}
.cal-review-head p{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0}
.task-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.task-item:last-child{border-bottom:0}
.task-time{margin-left:auto;font-size:12px;color:var(--muted);flex:none}
.review-card{
  background:linear-gradient(150deg,#F3FBF9,#E7F6F2);border:1px solid #CFEBE4;border-radius:20px;padding:20px;
}
.review-card b{display:block;margin-bottom:8px}
.review-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 14px}

.review-page-card{padding:22px 24px!important;border-radius:20px!important}
.review-page-head{margin-bottom:14px}
.review-page-title{display:flex;gap:12px;align-items:flex-start}
.review-page-ic{
  width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);
  color:var(--brand-deep);display:grid;place-items:center;flex:none;
}
.review-page-ic svg{width:20px;height:20px}
.review-page-title h2{margin:0 0 4px;font-size:20px}
.review-tabs-pill{
  display:flex!important;flex-wrap:wrap;gap:8px!important;margin:14px 0!important;
  grid-template-columns:unset!important;
}
.review-tab-btn{
  border:1px solid var(--line)!important;background:#fff!important;border-radius:999px!important;
  padding:8px 18px!important;font-size:13px!important;font-weight:600!important;cursor:pointer;
  font-family:inherit;color:var(--ink);
}
.review-tab-btn.active{
  border-color:var(--brand)!important;background:var(--brand-soft)!important;color:var(--brand-deep)!important;
}
.review-period-bar{
  font-size:13px;color:var(--muted);background:#F8FAF9;border:1px solid var(--line);
  border-radius:12px;padding:10px 14px;margin-bottom:12px;
}
.review-actions-bar{margin:14px 0 10px}
.kx-promo{
  display:flex!important;align-items:center;gap:12px!important;
  background:linear-gradient(120deg,#FFF8EC,#F3FBF9)!important;
  border:1px solid #E8ECE9!important;border-radius:14px!important;padding:12px 14px!important;
}
.kx-promo-ic{
  width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);
  display:grid;place-items:center;flex:none;color:var(--brand-deep);
}
.kx-promo-ic svg{width:18px;height:18px}
.kx-promo-body{flex:1;min-width:0}
.kx-promo-body strong{display:block;font-size:13.5px;margin-bottom:2px}
.kx-promo-body .hint{font-size:12px;line-height:1.5;display:block}
.kx-promo .btn{flex:none;white-space:nowrap}

/* —— 助理布局 —— */
.assistant-layout,.ast-page.assistant-layout{
  display:grid!important;grid-template-columns:280px 1fr!important;gap:16px!important;
  height:calc(100vh - 190px);min-height:520px;background:transparent!important;
}
.as-left,.ast-sidebar.as-left{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:18px!important;
}
.as-chat,.ast-main.as-chat{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:20px!important;
  display:flex!important;flex-direction:column;overflow:hidden;
}
.chat-scroll,.ast-msg-list.chat-scroll{
  flex:1;padding:22px!important;overflow:auto;background:linear-gradient(180deg,#FBFFFE,#F6FBFA)!important;
}
.chat-send,.ast-send-btn.chat-send{
  width:46px!important;height:46px!important;border-radius:13px!important;
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;color:#fff!important;
}

/* —— 问签：整页走 fortune.css 暗色（fortune-web）；勿在此压制 —— */

/* —— 托管 —— */
.hosting-layout{display:grid!important;grid-template-columns:300px 1fr!important;gap:16px!important}
.hosting-side{display:flex;flex-direction:column;gap:14px}
.hs-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.hs-status{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.hs-status .hs-ic{
  width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#7C3AED,#9F67F5);
  color:#fff;display:grid;place-items:center;flex:none;
}
.hs-gift{background:linear-gradient(150deg,#FFF8EC,#FDF1DC);border:1px solid #F2E3C0;border-radius:18px;padding:18px}
.hs-gift > b,.hs-gift .hs-gift-title{font-size:13.5px;display:block;margin-bottom:6px}
/* 勿对 .hs-gift b 全局 block，否则句中数字会单独换行 */
.kx-gift-panel{color:var(--ink,#0F2623)}
.kx-gift-title{font-size:15px;font-weight:800;margin:0 0 8px}
.kx-gift-desc{margin:0;font-size:13px;line-height:1.7;color:var(--muted,#5B6B66)}
.kx-gift-em{display:inline;font-style:normal;font-weight:800;color:var(--brand-deep,#0E5550);font-size:inherit}
.kx-gift-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 8px}
.kx-gift-stat,.kx-gift-stat-btn{
  background:rgba(255,255,255,.72);border:1px solid #E8DCC0;border-radius:14px;padding:14px 12px;text-align:center;
}
.kx-gift-stat-btn{cursor:pointer;font:inherit;color:inherit;transition:.16s}
.kx-gift-stat-btn:hover{border-color:var(--brand,#00B4AD);box-shadow:0 0 0 3px rgba(0,180,173,.12);background:#fff}
.kx-gift-stat b,.kx-gift-stat-btn b{display:block;font-size:22px;font-weight:800;color:var(--brand-deep,#0E5550);line-height:1.2}
.kx-gift-stat span,.kx-gift-stat-btn span{display:block;margin-top:4px;font-size:12px;color:var(--muted,#6C7B76)}
.kx-gift-foot{margin:10px 0 0;font-size:12px;color:var(--muted,#6C7B76);line-height:1.5}
.kx-gift-subhead{font-size:13px;font-weight:700;margin:12px 0 8px}
.kx-gift-mini{display:flex;align-items:center;gap:10px;padding:8px 0}
.kx-gift-mini-av{
  width:36px;height:36px;border-radius:12px;flex:none;background:linear-gradient(135deg,#0E5550,#00B4AD);
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;
}
.kx-gift-mini-meta{flex:1;min-width:0}
.kx-gift-mini-meta b{display:block;font-size:13.5px}
.kx-gift-mini-meta span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.kx-gift-bound-card{
  border:1px solid var(--line,#E6ECE9);border-radius:14px;padding:14px;margin-bottom:10px;background:#fff;
}
.kx-gift-bound-preview{margin-top:4px}
.hs-consultant-card{
  background:linear-gradient(150deg,#F3FBF9,#E7F6F2)!important;border:1px solid #CFEBE4!important;
}
.hs-cons-head{display:flex;align-items:center;gap:12px}
.hs-cons-avatar{
  width:44px;height:44px;border-radius:14px;flex:none;
  background:linear-gradient(135deg,#0E5550,#00B4AD);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:16px;
}
.hs-cons-meta b{display:block;font-size:14px;color:var(--ink)}
.hs-cons-meta span{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.hs-cons-intro{margin:10px 0 0;font-size:12.5px;line-height:1.55;color:var(--ink-2,#334)}
.rh-cons-rows{display:flex;flex-direction:column;gap:10px}
.rh-cons-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:8px 0;border-bottom:1px solid #EDF2EF}
.rh-cons-row span{color:var(--muted)}
.rh-cons-row b{color:var(--ink);font-weight:650;text-align:right}
.feed-list{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.feed-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.feed-item:last-child{border-bottom:0}
.feed-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;flex:none}

/* —— 顾问台 —— */
.cons-head{
  background:linear-gradient(130deg,#0B3B39,#0E5550 60%,#117C70)!important;border-radius:22px!important;
  padding:26px 28px!important;color:#fff!important;display:flex!important;align-items:center;gap:18px;
  position:relative;overflow:hidden;margin-bottom:0;
}
.cons-avatar{
  width:64px;height:64px;border-radius:20px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;font-size:26px;font-weight:800;color:#7FE0CF;flex:none;
}
.cons-stats{display:flex;gap:24px;margin-left:auto}
.cons-stat b{font-size:20px;font-weight:800;display:block}
.cons-stat span{font-size:11.5px;color:rgba(255,255,255,.68)}
.cons-tabs,.cdesk-tabs.cons-tabs{
  display:flex!important;gap:4px;background:#fff!important;border:1px solid var(--line)!important;
  border-radius:14px!important;padding:5px!important;margin-top:16px!important;width:fit-content;flex-wrap:wrap;
}
.cons-tab,.cdesk-tabs .cons-tab,.cdesk-tabs .btn{
  padding:9px 18px!important;font-size:13.5px!important;font-weight:600!important;color:var(--muted)!important;
  border-radius:10px!important;border:0!important;background:transparent!important;box-shadow:none!important;
}
.cons-tab.active,.cdesk-tabs .cons-tab.active,.cdesk-tabs .btn-primary{
  background:var(--brand)!important;color:#fff!important;
}
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.kpi-card b{font-size:22px;font-weight:800;display:block}

/* —— 我的 / 套餐 —— */
.member-hero{
  background:linear-gradient(130deg,#0B3B39,#0E5550 60%,#117C70)!important;border-radius:24px!important;
  padding:32px!important;color:#fff!important;display:flex!important;align-items:center;justify-content:space-between;gap:24px;
}
.plan-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.plan-card,.mem-plan.plan-card{
  background:#fff!important;border:1.5px solid var(--line)!important;border-radius:18px!important;padding:22px!important;
  position:relative;
}
.plan-card.hot,.mem-plan.highlight{
  border-color:var(--brand)!important;box-shadow:0 10px 30px rgba(0,180,173,.16)!important;
}
.plan-card .hot-tag,.mem-plan-badge{
  position:absolute;top:-10px;left:20px;background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-size:11px;font-weight:700;padding:3px 11px;border-radius:99px;
}
.pc-price b,.mem-plan-price b{font-size:30px;font-weight:800}
.mh-exp{display:block;font-size:12.5px;color:rgba(255,255,255,.72);margin-bottom:10px}
.task-type{
  width:36px;height:36px;border-radius:12px;display:grid;place-items:center;flex:none;
  font-size:12px;font-weight:700;background:var(--brand-soft);color:var(--brand-deep);
}
.task-type.interview{background:#EAF0FF;color:#3B5BD9}
.task-type.todo{background:#EDF2EF;color:#64748B}
.task-type.memo{background:#F8FAFC;color:#94A3B8}
.task-type.task{background:var(--brand-soft);color:var(--brand-deep)}
.practice-side{padding:20px}
.practice-room{display:flex;flex-direction:column;overflow:hidden;min-height:480px}
.pr-body{flex:1;padding:20px;overflow:auto}
.pr-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--line)}
.pr-input input{flex:1;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit}
.bank-bar{height:6px;background:#F0DFBB;border-radius:99px;margin-top:10px;overflow:hidden}
.bank-bar i{display:block;height:100%;width:40%;background:linear-gradient(90deg,#F2B33D,#FC6C38);border-radius:99px}
.f-item{margin-bottom:12px}
.f-item label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}
.f-item select,.f-item input,.f-item textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;box-sizing:border-box;
}
.search-box{
  position:relative;
  display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:8px 12px;min-width:220px;max-width:min(280px,36vw);color:var(--muted);
}
.search-box input{border:0;outline:0;background:transparent;font:inherit;width:100%;color:var(--ink);min-width:0}
.search-box.is-soon{opacity:.72;cursor:not-allowed;background:#F7FAF9}
.search-box.is-soon input{cursor:not-allowed;color:var(--muted)}
.kx-search-drop{
  position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;
  background:#fff;border:1px solid var(--line,#E3E9E7);border-radius:12px;
  box-shadow:0 10px 28px rgba(15,38,35,.12);padding:8px;max-height:360px;overflow:auto;
}
.kx-search-sec{font-size:11px;color:var(--muted,#7A8A87);padding:6px 8px 4px;letter-spacing:.04em}
.kx-search-item{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;
  border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;cursor:pointer;font:inherit;
}
.kx-search-item:hover,.kx-search-item:focus{background:#F3FAF8;outline:0}
.kx-search-item b{font-size:13px;color:var(--ink,#0F2623);font-weight:600}
.kx-search-item span{font-size:11px;color:var(--muted,#7A8A87)}
.kx-search-empty{padding:12px 10px;font-size:12px;color:var(--muted,#7A8A87)}
.btn-wechat.is-soon,.btn-wechat:disabled{
  opacity:.55;cursor:not-allowed;filter:grayscale(.15);
}

/* —— 面试 —— */
.interview-hero{
  background:linear-gradient(130deg,#F4FCFB,#E4F5F1)!important;border:1px solid #C6E7DF!important;
  border-radius:22px!important;padding:28px 30px!important;display:flex!important;align-items:center;
  justify-content:space-between;gap:20px;position:relative;overflow:hidden;
}
.ih-stats{display:flex;gap:26px;margin-top:18px}
.ih-stat b{font-size:20px;font-weight:800;color:var(--brand-deep);display:block}
.ih-stat span{font-size:12px;color:var(--muted)}
.ih-divider{width:1px;background:var(--line-strong);align-self:stretch}
.int-tabs{
  display:flex;gap:4px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:5px;
  margin-top:18px;width:fit-content;flex-wrap:wrap;
}
.int-tab.active{background:var(--brand)!important;color:#fff!important}
.expense-card,.ib-card.expense-card{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;
  padding:18px 20px!important;display:flex;gap:16px;align-items:flex-start;margin-bottom:12px;
}
.practice-setup{display:grid;grid-template-columns:280px 1fr;gap:16px}
.practice-side,.practice-room{background:#fff;border:1px solid var(--line);border-radius:20px}

/* —— 简历 —— */
.resume-overview{display:grid;grid-template-columns:300px 1fr;gap:16px}
.ro-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.completeness{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 0 18px}
.ring-big{width:150px;height:150px;position:relative;display:grid;place-items:center;margin-bottom:14px}
.ring-big svg{position:absolute;inset:0;transform:rotate(-90deg)}
.ring-big b{font-size:34px;font-weight:800;letter-spacing:-.03em}
.ring-big b small{font-size:14px;color:var(--muted);font-weight:600}
.completeness .cp-label{font-size:15px;font-weight:700}
.completeness .cp-sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.module-check{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.module-check li{display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:10px;font-size:13px;color:var(--ink-2)}
.module-check li.done{color:var(--ink)}
.module-check .st{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:11px}
.module-check .st.ok{background:var(--success,#22C55E);color:#fff}
.module-check .st.half{background:#FDF3DF;color:#B07B10}
.module-check .st.no{background:#EDF2EF;color:#98A6A1}
.module-check .mm{font-weight:600}
.module-check .ml{margin-left:auto;font-size:12px;color:var(--muted)}
.resume-editor{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.resume-editor .editor-body{padding:0}
.resume-editor .resume-edit,
.resume-editor .resume-preview-page,
.resume-editor .card{
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
.editor-tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto;background:#FBFDFC}
.ed-tab{
  display:flex;align-items:center;gap:8px;padding:13px 18px;font-size:13.5px;font-weight:600;
  color:var(--muted);border-bottom:2.5px solid transparent;white-space:nowrap;cursor:pointer;background:transparent;border-top:0;border-left:0;border-right:0;
}
.ed-tab:hover{color:var(--ink)}
.ed-tab.active{color:var(--brand-deep);border-bottom-color:var(--brand);background:#fff}
.ed-tab .dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.ed-tab .dot.ok{background:var(--success,#22C55E)}
.ed-tab .dot.half{background:var(--gold,#F2B33D)}
.ed-tab .dot.no{background:#C6D1CC}

/* 助理页消息双挂原型 .msg / .msg-bubble */
.ast-msg.msg{align-items:flex-start}
.ast-msg.msg.user{flex-direction:row-reverse;margin-left:auto}
.ast-msg.msg .msg-avatar{flex:none}
.ast-msg.user .msg-bubble,
.ast-msg-user .ast-msg-bubble.msg-bubble{
  background:var(--brand,#00B4AD)!important;color:#fff!important;border-color:var(--brand,#00B4AD);
}

/* —— 快询顾问卡 cc-* —— */
.consultant-card{
  background:#fff!important;border:1.5px solid var(--line)!important;border-radius:18px!important;
  padding:20px!important;display:flex!important;gap:16px;align-items:stretch;
}
.consultant-card.sel{border-color:var(--brand)!important;box-shadow:0 0 0 3px var(--brand-soft)!important}
.cc-main{flex:1;min-width:0}
.cc-right{flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}
.cc-price b{font-size:20px;font-weight:800}
.cc-reason{
  margin-top:10px;background:var(--brand-mist);border-left:3px solid var(--brand);
  border-radius:10px;padding:9px 12px;font-size:12.5px;color:var(--ink-2);line-height:1.6;
}

/* —— 顶栏搜索 —— */
.search-box{
  display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--line-strong);
  border-radius:12px;padding:8px 14px;width:230px;color:var(--muted);font-size:13px;
}
.search-box input{border:0;outline:0;flex:1;font-size:13px;background:transparent;color:var(--ink)}

/* —— 登录补齐 —— */
.login-page .divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:20px 0}
.login-page .btn-wechat{cursor:pointer}
.login-page .agree a{text-decoration:underline}

/* —— 导航激活竖条兜底（侧栏 padding 偏移） —— */
.kx-side .nav-item{position:relative}
.kx-side .nav-item.active::before{
  content:"";position:absolute;left:0;top:8px;bottom:8px;width:3.5px;border-radius:99px;background:var(--brand);
}

/* —— 日历侧栏：去掉旧 sched-day-head 大操作条破坏版式 —— */
.cal-side .sched-day-head{display:none!important}
.cal-side-actions .btn{font-size:12px}
.day-tasks .sched-main{min-width:0;flex:1}
.day-tasks .sched-main b{display:block;font-size:13.5px}
.day-tasks .sched-main > span{font-size:12px;color:var(--muted)}

/* —— 助理：今日待办 al-item —— */
.as-left .al-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.as-left .ast-todo-list{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;max-height:42%;overflow:auto;flex:none}
.as-left .ast-session-list{display:flex;flex-direction:column;gap:4px;flex:1;min-height:120px;overflow:auto;border-top:1px solid var(--line);padding-top:8px}
.as-left .ast-session-head{font-size:11px;font-weight:700;color:var(--muted);padding:2px 4px 6px}
.as-left .ast-session-empty{font-size:12px;color:var(--muted);padding:2px 4px 8px}
.as-left .ast-sidebar-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}
.as-left{display:flex;flex-direction:column}
.msg-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chat-input{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--line);align-items:flex-end}
.chat-input textarea,.chat-input .ast-input{
  flex:1;border:1px solid var(--line);border-radius:14px;padding:12px 14px;resize:none;min-height:46px;
  font:inherit;background:#FBFDFC;
}

/* 助理左栏头：头像与加号一行，待办统计放到下方 */
.ast-sidebar-head.al-head{
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:12px!important;padding:16px!important;
}
.ast-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ast-head-row .as-mascot{
  width:48px;height:48px;border-radius:16px;overflow:hidden;flex:none;
  box-shadow:0 4px 12px rgba(0,180,173,.22);background:var(--brand-soft);
}
.ast-head-row .as-mascot img{width:100%;height:100%;object-fit:cover;display:block}
.ast-todo-meta{display:flex;flex-direction:column;gap:4px}
.ast-todo-meta b{font-size:15px;font-weight:800;color:var(--ink)}
.ast-todo-meta .as-sub{font-size:12.5px;color:var(--muted)}
.ast-new-btn{
  border:1px solid var(--brand)!important;background:var(--brand)!important;color:#fff!important;
  border-radius:12px!important;padding:8px 14px!important;font-size:13px!important;font-weight:700!important;
  cursor:pointer;white-space:nowrap;
}
.ast-todo-list .al-item{
  width:100%;text-align:left;cursor:pointer;border:1px solid var(--line);background:#fff;
  font:inherit;display:flex;gap:12px;align-items:flex-start;
}
.ast-todo-list .al-item:hover{border-color:var(--brand);background:var(--brand-soft,#F3FBF9)}
.ast-todo-list .al-item.active{background:linear-gradient(120deg,#F3FBF9,#E7F6F2);border-color:#CFEBE4}

.ib-convert-card{
  margin-top:16px;padding:14px;border-radius:14px;background:linear-gradient(150deg,#FFF8EC,#FDF1DC);
  border:1px solid #F2E3C0;
}
.ib-convert-card b{display:block;margin-bottom:6px;color:#B07B10}
.ib-convert-card p{font-size:12.5px;color:var(--muted);line-height:1.55;margin:0 0 12px}
.ib-convert-inline{
  margin-top:16px;padding:14px 16px;border-radius:14px;background:#F3FBF9;border:1px solid #CFEBE4;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
}
.ib-convert-inline b{color:var(--brand-deep)}
.ib-convert-inline span{flex:1;font-size:12.5px;color:var(--muted)}

.feed-day{border:1px solid var(--line);border-radius:14px;margin:10px 0;background:#fff;overflow:hidden}
.feed-day-sum{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;font-size:13.5px;user-select:none;
}
.feed-day-sum::-webkit-details-marker{display:none}
.feed-day-sum span{color:var(--muted);font-size:12px}
.feed-day-body{padding:0 14px 10px;border-top:1px solid var(--line)}

/* —— 面试 banner / 表格 —— */
.interview-banner{
  background:linear-gradient(130deg,#F4FCFB,#E4F5F1)!important;border:1px solid #C6E7DF!important;
  border-radius:20px!important;padding:22px 24px!important;display:flex!important;align-items:center;
  justify-content:space-between;gap:16px;margin-top:16px;
}
.share-form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;max-width:820px;margin-top:16px}
.todo-list{display:flex;flex-direction:column;gap:8px}
.todo-item{
  display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px 16px;
}
.todo-item .todo-main{flex:1;min-width:0}
.todo-item .todo-main b{display:block;font-size:13.5px;line-height:1.35;flex:none}
.todo-item .todo-main p{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
.todo-item b{flex:1;font-size:13.5px}
.todo-item span{font-size:12px;color:var(--muted)}
.todo-item .btn{flex:none;align-self:center}
.todo-empty{opacity:.92}
.t-state{width:10px;height:10px;border-radius:50%;flex:none;margin-top:5px}
.ts-pending{background:#FC6C38}
.ts-doing{background:var(--brand)}
.ref-list{display:flex;flex-direction:column;gap:10px}
.ref-card{
  display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;
}
.rf-freq{
  font-size:11px;font-weight:700;color:#B07B10;background:#FDF3DF;border-radius:8px;padding:4px 8px;flex:none;margin-top:2px;
}
.ref-card b{display:block;font-size:13.5px;line-height:1.4;margin:0}
.ref-card p{margin:6px 0 0;font-size:12px;line-height:1.55;color:var(--muted)}
.kx-toggle-row{display:flex;gap:8px;flex-wrap:wrap}
.field-opt{
  margin-left:8px;font-size:11px;font-weight:600;color:var(--muted);
  background:#F3F5F4;border-radius:99px;padding:2px 8px;vertical-align:middle;
}
.ent-table{width:100%;border-collapse:collapse;font-size:13px}
.ent-table th,.ent-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}
.ent-table th{background:#FAFCFB;color:var(--muted);font-size:12px}
.ent-table tr.cur td:nth-child(4){background:#F3FBF9}
.auth-level{display:flex;flex-direction:column;gap:8px}
.hs-card .auth-level,.hs-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.cand-card{
  display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:16px 18px;margin-bottom:10px;
}
.cand-avatar{
  width:42px;height:42px;border-radius:14px;background:var(--brand-soft);color:var(--brand-deep);
  display:grid;place-items:center;font-weight:800;flex:none;
}
.cand-main{flex:1;min-width:0}
.cand-main b{display:block}
.cand-main span{font-size:12.5px;color:var(--muted)}

/* —— 简历经历卡 —— */
.exp-card,.exp-block.exp-card{
  border:1.5px solid var(--line)!important;border-radius:16px!important;padding:18px!important;
  margin-bottom:14px!important;background:#fff!important;overflow:hidden;
}
.exp-card .exp-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:0;
}
.exp-card.open .exp-head,.exp-block.open .exp-head{margin-bottom:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.exp-card .exp-toggle{
  display:flex;align-items:center;gap:12px;flex:1;min-width:0;
  background:transparent;border:0;text-align:left;cursor:pointer;font:inherit;padding:0;
}
.exp-card .exp-avatar{
  width:40px;height:40px;border-radius:12px;background:var(--brand-soft);color:var(--brand-deep);
  display:grid;place-items:center;font-weight:800;flex:none;
}
.exp-card .exp-title-text{min-width:0;flex:1}
.exp-card .exp-title-text strong{
  display:block;font-size:14px;font-weight:700;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.exp-card .exp-title-text .hint{
  display:block;margin-top:3px;font-size:12.5px;color:var(--muted);line-height:1.4;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.exp-card .exp-actions{display:flex;align-items:center;gap:8px;flex:none}
.exp-card .exp-actions .btn-sm{margin:0;padding:6px 12px;font-size:12px;border-radius:10px}
.exp-card .exp-body{margin-top:4px;padding:4px 0 0;background:transparent}

/* 图1：经历展开后表单两列铺满编辑区（覆盖 .exp-body 自身 1.2fr/1fr 双列挤扁） */
.resume-editor .exp-body,
.exp-card .exp-body,
.exp-block .exp-body,
.resume-edit .exp-body,
.resume-mod-body .exp-body{
  display:block!important;width:100%!important;max-width:100%!important;
  box-sizing:border-box;padding:12px 4px 4px!important;background:transparent!important;
}
.resume-editor .form-grid,
.resume-editor .grid-2,
.resume-edit .form-grid,
.resume-edit .grid-2,
.exp-body .form-grid,
.exp-body .grid-2,
.form-grid.grid-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;max-width:none!important;
  gap:12px 16px!important;box-sizing:border-box;
}
.resume-editor .form-grid > .field,
.resume-edit .form-grid > .field,
.exp-body .form-grid > .field{
  min-width:0;width:100%;
}
.resume-editor .form-grid .span-2,
.resume-editor .form-grid .field.span-2,
.resume-edit .form-grid .span-2,
.exp-body .form-grid .span-2,
.form-grid .lc-tip{grid-column:1/-1!important}

/* 年月下拉：覆盖 .field select{width:100%} 导致的竖排堆叠 */
.resume-edit .ym-pick,
.exp-card .ym-pick,
.form-grid .ym-pick{
  display:flex!important;flex-wrap:nowrap!important;gap:8px;align-items:center;
}
.resume-edit .ym-pick select,
.exp-card .ym-pick select,
.form-grid .ym-pick select,
.field .ym-pick select{
  width:auto!important;flex:1 1 0;min-width:0;max-width:none;
}
.form-grid .lc-tip,.form-grid .lc-tip.span-2{grid-column:1/-1}
.form-grid .field.span-2,.resume-edit .field.span-2{grid-column:1/-1}

/* 图2：顾问头像对比度 — 白字 + 深青绿底 + 轻阴影 */
.consultant-avatar,
.cf-consultant-avatar,
.consultant-card .consultant-avatar,
.bk-avatar{
  background:linear-gradient(145deg,#0B3B39 0%,#0E5550 45%,#117C70 100%)!important;
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
  box-shadow:0 4px 14px rgba(11,59,57,.28);
  font-weight:800!important;
  position:relative;
}
.ai-mini-badge,.cf-ai-tag{
  background:linear-gradient(135deg,#00B4AD,#00BEBD)!important;
  color:#fff!important;border:2px solid #fff!important;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}

/* 图3：我的咨询 — 对话入口感 */
.cf-mine-section{margin-top:8px}
.cf-mine-label{
  font-size:13px;font-weight:700;color:var(--ink);margin:0 0 10px;
  display:flex;align-items:center;gap:8px;
}
.cf-mine-label .n{
  font-size:11px;font-weight:700;background:var(--brand-soft);color:var(--brand-deep);
  padding:2px 8px;border-radius:999px;
}
.cf-mine-label.hist{color:var(--muted);margin-top:18px}
.cf-chat-entry{
  display:flex;align-items:center;gap:14px;background:#fff;
  border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;
  margin-bottom:10px;cursor:pointer;transition:.16s;text-align:left;width:100%;
  font:inherit;color:inherit;
}
.cf-chat-entry:hover{
  border-color:var(--brand);background:var(--brand-mist);
  box-shadow:0 6px 18px rgba(0,180,173,.12);transform:translateY(-1px);
}
.cf-chat-entry .cf-ce-avatar{
  width:48px;height:48px;border-radius:14px;flex:none;
  background:linear-gradient(145deg,#0B3B39,#117C70);color:#fff;
  display:grid;place-items:center;font-size:18px;font-weight:800;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
  box-shadow:0 4px 12px rgba(11,59,57,.22);position:relative;
}
.cf-chat-entry .cf-ce-main{flex:1;min-width:0}
.cf-chat-entry .cf-ce-main b{display:block;font-size:14.5px;font-weight:700}
.cf-chat-entry .cf-ce-q{
  font-size:12.5px;color:var(--muted);margin-top:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.cf-chat-entry .cf-ce-meta{display:flex;gap:8px;align-items:center;margin-top:6px;flex-wrap:wrap}
.cf-chat-entry .cf-ce-actions{flex:none;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.cf-hist-list{display:flex;flex-direction:column;gap:8px}
.cf-hist-row{
  display:flex;align-items:center;gap:12px;padding:12px 14px;
  background:#FAFCFB;border:1px solid var(--line);border-radius:14px;
}
.cf-hist-row .cf-ce-avatar{width:40px;height:40px;font-size:15px;border-radius:12px}
.cf-hist-row .cf-ce-main{flex:1;min-width:0}
.cf-hist-toggle{
  background:transparent;border:0;color:var(--brand-deep);font:inherit;font-size:13px;
  font-weight:600;cursor:pointer;padding:8px 0;margin-top:4px;
}

/* 图6：面试资产放大 */
.interview-hero{padding:36px 36px!important;min-height:168px}
.interview-hero h2{font-size:28px!important;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}
.interview-hero p{font-size:15px!important;line-height:1.65;max-width:560px}
.ih-kicker{font-size:12px;letter-spacing:.12em;color:var(--brand-deep);font-weight:700;margin-bottom:6px}
.ih-stats{display:flex;gap:32px;margin-top:22px;align-items:stretch}
.ih-stat b{font-size:28px!important;font-weight:800;color:var(--brand-deep);display:block;line-height:1.1}
.ih-stat span{font-size:13px!important;color:var(--muted);margin-top:4px;display:block}
.ih-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;position:relative;z-index:2}
.ih-right .btn{padding:12px 20px!important;font-size:14px!important;border-radius:12px!important}
.ib-hero-art{width:140px!important;height:106px!important;object-fit:cover;border-radius:16px!important;box-shadow:var(--shadow-sm)}
.ib-empty{
  text-align:center;padding:56px 24px 28px!important;display:flex;flex-direction:column;
  align-items:center;gap:16px;color:var(--ink-2);font-size:15px;line-height:1.6;
}
.ib-empty-art{width:180px!important;height:auto!important;max-width:70%;margin:0 auto;display:block;filter:drop-shadow(0 12px 24px rgba(0,180,173,.18))}
.ib-actions{display:flex;justify-content:center;gap:12px;margin:8px 0 28px}
.ib-actions .btn-primary{padding:14px 32px!important;font-size:15px!important;border-radius:14px!important}
.int-tabs,.ib-tabs{padding:6px!important;margin-top:20px!important}
.int-tab,.ib-tab{padding:10px 18px!important;font-size:14px!important}
.expense-card,.ib-card.expense-card{padding:22px 24px!important}

/* 图7：助理左栏疏朗 + 发送纸飞机 + 输入区 */
.as-left .ast-todo-list,.as-left .al-list{gap:8px!important}
.as-left .al-item{padding:12px 12px!important;gap:12px!important;margin-bottom:2px}
.as-left .al-item b{font-size:13.5px!important;line-height:1.45!important}
.as-left .al-item span{font-size:12px!important;line-height:1.4}
.as-left .ast-session-item{padding:12px 12px!important;margin-bottom:6px!important}
.as-left .ast-session-title{font-size:13.5px!important}
.as-left .ast-session-time{font-size:12px!important;margin-top:4px!important}
.as-left .ast-session-head{font-size:12px!important;padding:8px 6px 8px!important;color:var(--muted)}
.chat-input,.ast-input-area.chat-input{
  display:flex!important;flex-direction:row!important;align-items:flex-end!important;
  gap:10px!important;padding:14px 16px!important;border-top:1px solid var(--line);
  background:#fff;position:relative;
}
.chat-input::before,.chat-input::after,
.ast-input-area::before,.ast-input-area::after{content:none!important;display:none!important}
.chat-input textarea,.chat-input .ast-input,.ast-input-area .ast-input{
  flex:1 1 auto!important;min-width:0!important;width:auto!important;
  border:1.5px solid var(--line)!important;border-radius:14px!important;
  padding:12px 14px!important;resize:none;min-height:46px;max-height:120px;
  font:inherit;background:#FBFDFC;outline:none;
}
.chat-send,.ast-send-btn.chat-send,.ast-send-btn{
  width:46px!important;height:46px!important;min-width:46px!important;
  padding:0!important;border-radius:13px!important;flex:0 0 46px!important;
  display:grid!important;place-items:center!important;
  background:linear-gradient(135deg,var(--brand),var(--brand-2))!important;
  color:#fff!important;border:0!important;cursor:pointer;
  box-shadow:0 8px 20px rgba(0,180,173,.28);
}
.chat-send svg,.ast-send-btn svg{
  width:20px!important;height:20px!important;display:block!important;
  stroke:currentColor;fill:none;
}

/* 图8：深底 signal pill / 促销条 / 弱按钮对比度 */
.member-hero .signal-bar,
.me-hero .signal-bar{
  background:transparent!important;border:none!important;padding:0!important;margin-top:14px!important;
}
.member-hero .pill,
.me-hero .pill,
.member-hero .signal-bar .pill,
.me-hero .signal-bar .pill{
  background:rgba(255,255,255,.2)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.42)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.15);
  font-weight:700;
}
.member-hero .pill-gray,
.me-hero .pill-gray{
  background:rgba(255,255,255,.14)!important;
  color:rgba(255,255,255,.95)!important;
}
.member-hero .btn-primary,
.me-hero .btn-primary,
.me-hero .mh-right .btn{
  background:#fff!important;color:#0B3B39!important;font-weight:700!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;border:0!important;
}
.kx-promo .hint{color:#8B3A1A!important;font-weight:500}
.kx-promo strong{color:#9A3412!important}
.cons-head .btn-primary,
.mem-status .btn-primary{
  background:#fff!important;color:#0B3B39!important;font-weight:700!important;
}

@media (max-width:1080px){
  .two-col,.hosting-layout,.resume-overview,.calendar-layout,.sched-shell.calendar-layout,.assistant-layout,.practice-setup{grid-template-columns:1fr!important}
  .scene-grid{grid-template-columns:repeat(2,1fr)!important}
  .plan-cards,.kpi-row,.ent-right{grid-template-columns:1fr 1fr!important}
}
@media (max-width:860px){
  .search-box{display:none}
  .hb-mascot{display:none}
  .cons-stats{flex-wrap:wrap;gap:14px;margin-left:0}
  .scene-grid{grid-template-columns:repeat(2,1fr)!important}
  .plan-cards{grid-template-columns:1fr!important}
  .login-page{grid-template-columns:1fr!important}
  .login-brand{display:none}
}

/* —— 首页结构重整：双卡前列 + 分层折叠 —— */
#page-home .home-stack{
  display:flex;flex-direction:column;gap:14px;width:100%;max-width:960px;
}
#page-home .hero-banner.home-hero-compact{
  margin-bottom:0!important;padding:22px 24px!important;width:100%;box-sizing:border-box;
}
#page-home .hero-banner.home-hero-compact.is-slim{padding:18px 22px!important}
#page-home .hero-banner .hb-mascot.is-slim{transform:scale(.82);opacity:.9}
#page-home .home-hello{font-size:20px;font-weight:700;margin-top:6px;color:#fff}
#page-home .home-metric{margin:6px 0 0!important;color:rgba(255,255,255,.78)!important}

/* L1 双卡：今日最该做 | 职场签筒 */
#page-home .home-dual-row{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch;width:100%;
}
#page-home .home-dual-row .nba-wrap.home-today-focus,
#page-home .home-dual-row .fortune-card{
  width:100%;min-width:0;height:100%;box-sizing:border-box;
  margin:0!important;display:flex;
}
#page-home .nba-wrap.home-today-focus.is-dual{
  flex-direction:column;align-items:flex-start;gap:12px;padding:18px 20px!important;
}
#page-home .nba-wrap.is-dual .nba-icon{width:44px;height:44px;border-radius:14px}
#page-home .nba-wrap.is-dual .nba-body{width:100%}
#page-home .nba-wrap.is-dual .nba-text{font-size:15px;line-height:1.35}
#page-home .nba-wrap.is-dual .nba-sub{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#page-home .nba-wrap.is-dual .nba-cta{width:100%;margin-top:auto}
#page-home .nba-wrap.is-dual .nba-cta .btn{width:100%}
#page-home .nba-wrap .nba-label .pill{font-size:11px;margin-left:4px;text-transform:none;letter-spacing:0}
#page-home .fortune-card.is-compact{
  padding:18px 20px!important;justify-content:space-between;gap:8px;
}
#page-home .fortune-card.is-compact b{font-size:15px;line-height:1.35;position:relative;z-index:2}
#page-home .fortune-card.is-compact .fc-sub{
  margin:4px 0 12px;flex:1;position:relative;z-index:2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#page-home .fortune-card.is-compact .fc-btn{width:100%;position:relative;z-index:2}

/* L2 三主入口 */
#page-home .home-primary-tools{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;
}
#page-home .home-ptile{
  display:flex;align-items:center;gap:10px;text-align:left;
  padding:14px 14px;border-radius:16px;border:1px solid var(--line);
  background:#fff;cursor:pointer;box-shadow:var(--shadow-sm);
  font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s;
}
#page-home .home-ptile:hover{border-color:#b8e6e3;box-shadow:0 6px 16px rgba(14,85,80,.08)}
#page-home .home-ptile-ic{
  width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:linear-gradient(135deg,#e6f7f6,#f0fdfa);color:var(--brand-deep,#0e5550);
}
#page-home .home-ptile-ic svg{width:20px;height:20px}
#page-home .home-ptile-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
#page-home .home-ptile-txt b{font-size:13.5px;font-weight:700;color:var(--ink)}
#page-home .home-ptile-txt em{font-style:normal;font-size:11.5px;color:var(--muted)}

/* L3 折叠 */
#page-home .home-fold{
  width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);
  border-radius:16px;padding:0 16px;box-shadow:var(--shadow-sm);
}
#page-home .home-fold>summary{
  cursor:pointer;list-style:none;padding:14px 2px;font-size:13px;font-weight:700;color:#475569;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
#page-home .home-fold>summary::-webkit-details-marker{display:none}
#page-home .home-fold>summary:after{content:"展开";font-weight:500;font-size:12px;color:#94a3b8;flex:none}
#page-home .home-fold[open]>summary{border-bottom:1px solid #eef2f5;margin-bottom:12px}
#page-home .home-fold[open]>summary:after{content:"收起"}
#page-home .home-more-grid{padding-bottom:14px}
#page-home .home-ent-fold .ent-banner{margin-bottom:8px}

#page-home .home-block{
  width:100%;box-sizing:border-box;background:#fff;border:1px solid var(--line);
  border-radius:20px;padding:16px 18px;box-shadow:var(--shadow-sm);
}
#page-home .home-block .sec-head{margin-bottom:10px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
#page-home .home-inprogress.is-empty{padding:12px 16px}
#page-home .home-ip-empty-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
#page-home .home-ip-empty-row b{font-size:14px;margin-right:8px}
#page-home .home-ip-empty-row .hint{font-size:12.5px}
#page-home .home-ip-list{display:flex;flex-direction:column;gap:0}
#page-home .home-ip-row,
#page-home .home-opp-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  text-align:left;padding:12px 4px;border:0;border-bottom:1px solid #e6ece9;
  background:transparent;cursor:pointer;border-radius:0;
}
#page-home .home-ip-row:last-child,
#page-home .home-opp-row:last-child{border-bottom:0}
#page-home .home-ip-row:hover,
#page-home .home-opp-row:hover{background:#f4fbfa}
#page-home .home-ip-title,
#page-home .home-opp-title{font-weight:700;font-size:14px;color:var(--ink)}
#page-home .home-ip-sub,
#page-home .home-opp-sub{font-size:12.5px;color:var(--muted);margin-top:3px}
#page-home .home-ip-go{color:#9aa;font-size:18px;flex:none;line-height:1}
#page-home .home-assistant-wrap{padding:0;background:transparent;border:0;box-shadow:none}
#page-home .home-assistant-wrap .assistant-card{margin:0;padding:18px 20px!important}
#page-home .home-ent-block{width:100%;box-sizing:border-box;margin-bottom:0}
#page-home .section-block{margin-bottom:0}

@media (max-width:720px){
  #page-home .home-dual-row{grid-template-columns:1fr}
  #page-home .home-primary-tools{grid-template-columns:1fr}
  #page-home .nba-wrap.home-today-focus.is-dual{flex-direction:column}
  #page-home .hero-banner .hb-mascot.is-slim{display:none}
}
