/* Capital Markets 线索平台 · 移动端适配层（≤768px）
   独立文件、最后引入：只做响应式覆盖，不改变桌面版式与任何文案。
   手法：底部 tab 栏收起侧栏 / 多列网格单列堆叠 / 宽表横滚容器 / 点按目标 ≥40px / 禁整页横滚。
   断点外（>768px）本文件不生效。 */

@media (max-width: 768px){

  /* ---------- 全局：禁整页横向滚动（横滚只允许发生在指定容器内） ---------- */
  html,body{overflow-x:hidden;overflow-x:clip}
  img,svg,video{max-width:100%}
  .main{padding:18px 14px 104px}
  .card-b{padding:13px 14px 16px}
  .card-h{padding:13px 14px 0;flex-wrap:wrap;row-gap:4px}
  .footnote{font-size:12px}

  /* ---------- 顶栏：单行收紧，搜索框收起，ticker 保持横滚动画 ---------- */
  .topbar{height:auto;min-height:54px;padding:8px 12px;gap:10px;flex-wrap:wrap}
  .logo{gap:9px}
  .logo-img{width:30px;height:30px}
  .logo-name{font-size:14px}
  .logo-sub{font-size:10.5px}
  .market-strip{display:none}
  .health-chip{display:none}
  .cmdk{display:none}
  .top-actions{gap:8px}
  .icon-btn{width:40px;height:40px;border-radius:11px}
  .user-meta,.role-tag{display:none}
  .avatar{width:30px;height:30px}
  .ticker{height:32px}
  .ticker-label{padding:0 10px;font-size:11px}
  .ticker-track span{font-size:12px;padding:0 18px}

  /* ---------- 侧栏 → 底部 tab 栏（7 页一致，横向可滑） ---------- */
  .shell{display:block;min-height:0}
  .sidebar{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;height:auto;z-index:60;
    display:flex;flex-direction:row;align-items:stretch;gap:2px;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom));
    border-right:0;border-top:1px solid var(--border);
    background:var(--surface);overflow-x:auto;overflow-y:hidden;
    box-shadow:0 -6px 24px -12px rgba(9,9,11,.18);
    scrollbar-width:none;
  }
  .sidebar::-webkit-scrollbar{display:none}
  .side-sec,.side-foot{display:none}
  /* 桌面侧栏结构在移动端拆平：滚动区 wrapper 不占位、回缩开关隐藏、用户块收为头像 tab */
  .side-scroll{display:contents}
  .side-toggle{display:none}
  .side-user{flex:none;display:flex;align-items:center;justify-content:center;margin:0;padding:0 4px;border-top:0;min-height:48px}
  .side-user .logout-btn{display:none}
  .nav-item{
    flex:none;flex-direction:column;justify-content:center;gap:3px;
    min-width:60px;min-height:48px;margin:0;padding:6px 8px;border-radius:12px;
    font-size:11px;line-height:1.15;text-align:center;
  }
  .nav-item .ic{width:20px;height:20px}
  .nav-item .cnt{display:none}
  /* 简报页侧栏内的历史日期项：压缩为单行条目，随 tab 栏横滑可达 */
  .sidebar .date-item{flex:none;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;font-size:12px;min-height:48px}
  .sidebar .date-item br,.sidebar .date-item .small,.sidebar .date-item .dow{display:none}

  /* ---------- 页头与按钮：纵向堆叠、点按目标 ≥40px ---------- */
  .page-head{flex-direction:column;gap:12px;margin-bottom:16px}
  .page-title{font-size:20px}
  .page-sub{font-size:12.5px}
  .head-actions{margin-left:0;flex-wrap:wrap}
  .btn{min-height:40px;padding:8px 14px}
  .btn.sm{min-height:40px;padding:6px 12px}
  .seg button{padding:9px 14px;min-height:38px}
  .pill-tabs{max-width:100%}
  .pill-tabs .pt{min-height:40px;padding:8px 13px;display:inline-flex;align-items:center}
  .inp{height:40px}
  input.inp,select.inp{font-size:12.5px}

  /* ---------- 网格：内联多列一律单列堆叠（KPI 例外走 2 列，见下） ---------- */
  .grid{gap:14px}
  [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr) !important}
  .grid>*{min-width:0}
  .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .kpi{padding:13px 14px}
  .kpi .k-num{font-size:24px}
  .kpi .k-delta{font-size:12px}

  /* ---------- 宽表：父容器横滚（overflow 只出现在容器内） ---------- */
  .card:has(> table.tbl),.card-b:has(> table.tbl),.brief-sec:has(> table.tbl){
    overflow-x:auto !important;-webkit-overflow-scrolling:touch;
  }
  table.tbl:not(.wb){min-width:580px;font-size:12.5px}
  .tbl td{padding:10px}
  .matrix td.cell{min-width:44px}
  /* 工作台线索表：原 .wb-card 已是横滚容器，首列（资产）冻结 */
  .wb-card{-webkit-overflow-scrolling:touch}
  table.wb th:first-child,table.wb td:first-child{
    position:sticky;left:0;z-index:3;background:var(--surface);
    box-shadow:1px 0 0 var(--border);
  }
  table.wb thead th:first-child{z-index:4}

  /* ---------- Dashboard：分布条 / 漏斗 / 状态条 ---------- */
  .bar-row{font-size:12px;gap:8px}
  .bar-row .bl{width:82px;font-size:12px}
  .bar-row .bv{width:30px}
  .fstep .fl{width:52px;font-size:12px}
  .fstep .fb{font-size:12px}
  .fstep .fc{font-size:11.5px}
  .statusbar{margin:20px -14px 0 !important;padding:10px 14px;gap:8px 18px}

  /* ---------- v2 回迁区块：事件行换行收口 / 信源格单列 / 负荷条 ---------- */
  .inc-row{flex-wrap:wrap;row-gap:6px}
  .inc-main{flex:1 1 100%;order:2}
  .sev{order:1}
  .owner{order:3}
  .inc-age{order:4;margin-left:auto}
  .svc-cols{grid-template-columns:1fr}
  .svc-row{font-size:12.5px}
  .oc-nums{font-size:11.5px}
  .budget-legend{gap:8px 14px}

  /* ---------- 工作台：Agent 列折叠为线索表上方的紧凑条 ---------- */
  .main.with-agent{flex-direction:column;gap:14px}
  .agent-col{width:100%;order:-1;gap:12px}
  .agent-list{flex-direction:row;overflow-x:auto;padding:8px 10px;scrollbar-width:none}
  .agent-list::-webkit-scrollbar{display:none}
  .agent-row{flex:none;padding:7px 8px}
  .agent-state{margin-left:6px}
  .task-stream{max-height:192px}

  /* ---------- 详情：头卡堆叠 / kv 收窄 / 穿透树横滚兜底 ---------- */
  [style*="min-width:320px"]{min-width:0 !important}
  [style*="width:238px"]{width:100% !important}
  .kv{grid-template-columns:82px 1fr;gap:6px 10px;font-size:12.5px}
  .card-b:has(> .tree){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tree{min-width:296px}
  .tnode{margin-left:16px;padding:10px 12px}
  .tnode .tn-name{font-size:13px}
  .gate-row{gap:10px}
  .evi{flex-wrap:wrap}

  /* ---------- 简报：文档内边距收紧 ---------- */
  .brief-head{padding:20px 18px 0}
  .brief-title{font-size:21px}
  .headline-box{margin:14px 18px 0;padding:16px}
  .headline-box .h-t{font-size:16.5px}
  .brief-sec{padding:16px 18px 2px}

  /* ---------- flex 行内文本收口（防长句把容器撑宽，如权限页开关行/证据行） ---------- */
  .card-b [style*="display:flex"]>span,.evi>span{min-width:0}
  .card-b [style*="display:flex"]{max-width:100%}

  /* ---------- 用户 / 权限 ---------- */
  .load-bar{width:54px}
  .handover{padding:12px 13px}
  .switch{width:40px;height:24px}
  .switch::after{width:18px;height:18px}
  .switch.on::after{left:19px}

  /* ---------- 登录：卡片全宽、点按放大 ---------- */
  .login-wrap{padding:22px 14px calc(22px + env(safe-area-inset-bottom))}
  .login-card{width:100%;padding:26px 20px 22px;border-radius:18px}
  .ms-btn{height:48px}
  .mock-item{min-height:48px}
  .theme-fab{top:12px;right:12px}
}

/* 更小屏（≤400px）：KPI 保持 2 列，仅再收紧间距与字号 */
@media (max-width: 400px){
  .main{padding-left:12px;padding-right:12px}
  .kpi .k-num{font-size:22px}
  .nav-item{min-width:56px;padding:6px 6px}
  .bar-row .bl{width:74px}
}

/* ---------- 详情页重构（2026-11-13）：结论带堆叠 / 瓷砖单列 / 穿透树收窄 ---------- */
@media (max-width: 768px){
  .vband{position:static;padding:16px 14px}
  .vb-top{flex-direction:column;gap:14px}
  .vb-main{min-width:0}
  .vb-title{font-size:19px}
  .vb-sum{font-size:12.5px}
  .vb-stats{gap:14px 20px}
  .vb-stat{font-size:16px}
  .vb-score{width:100%}
  .vb-actions{gap:8px}
  .vb-actions .small{margin-left:0 !important}
  .dim-grid{grid-template-columns:1fr}
  .dim-kv{grid-template-columns:60px 1fr;font-size:12.5px}
  .card-b:has(> .ptree){overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ptree{min-width:336px}
  .pnode{padding:10px 12px}
  .pnode.lv1{margin-left:24px}
  .pnode.lv2{margin-left:48px}
  .pnode.lv3{margin-left:72px}
  .pnode::before{left:-25px;width:24px}
  .pnode::after{left:-25px}
  .plink-pct{left:-13px}
  .kv.narrow{grid-template-columns:70px 1fr}
  .score-rows .bl{width:76px}
}
