/* ==========================================================================
   地图看板模块样式(K3 交付)
   依赖谁：现站 :root 设计变量(--bei/--ka/--cheng 等)；每个变量都带 fallback，
           自测页 ditu_yu_lan.html 不定义变量也能渲染。
   被谁接：index.html 引入本文件 + 一个空容器 <div class="di_tu_qu" id="di_tu_qu">。
   约定：全部类名 di_tu_ 开头防撞车；配色集中在下方"可调参数区"。
   ========================================================================== */

/* ===== 可调参数区(改配色/尺寸先改这里) ===== */
.di_tu_qu {
  --dt-hong: #C0392B;              /* 吨位档:超27吨 红系 */
  --dt-cheng: #D97757;             /* 吨位档:27-10吨 橙系(同现站主橙) */
  --dt-huang: #C9893B;             /* 吨位档:10-3吨 黄系(同现站警告橙黄) */
  --dt-lv: #4F9D69;                /* 吨位档:3吨以下 绿系(同现站成功绿) */
  --dt-ce-lan-kuan: 300px;         /* 左侧栏宽 */
}

/* ===== 容器骨架：左侧栏 + 右地图区 ===== */
.di_tu_qu { flex:1; display:flex; overflow:hidden; min-width:0; }
.di_tu_ce_lan { width:var(--dt-ce-lan-kuan); flex-shrink:0; background:var(--bei,#FAF9F5);
  border-right:1px solid var(--xian,#E5E2D9); display:flex; flex-direction:column; overflow:hidden; }
.di_tu_di_tu_qu { flex:1; position:relative; overflow:hidden; min-width:0; background:var(--bei-shen,#F0EEE5); }
.di_tu_di_tu { position:absolute; inset:0; }

/* ===== 侧栏卡片 ===== */
.di_tu_ka { margin:10px 10px 0; background:var(--ka,#FFFFFF); border:1px solid var(--xian,#E5E2D9);
  border-radius:10px; padding:12px; }
.di_tu_ka_tou { font-size:12px; color:var(--zi-hui,#6B6B6B); margin-bottom:8px; font-weight:600; }

/* 筛选卡 */
.di_tu_shai_hang { display:flex; gap:6px; align-items:center; margin-bottom:6px; }
.di_tu_shai_hang:last-child { margin-bottom:0; }
.di_tu_shai_hang label { font-size:12px; color:var(--zi-hui,#6B6B6B); flex-shrink:0; }
.di_tu_shai_hang input, .di_tu_shai_hang select { flex:1; min-width:0; padding:6px 8px;
  border:1px solid var(--xian,#E5E2D9); border-radius:8px; font-size:12px;
  background:var(--ka,#FFFFFF); color:var(--zi,#1A1A1A); }
.di_tu_shai_hang input:focus, .di_tu_shai_hang select:focus { outline:none; border-color:var(--cheng,#D97757); }
.di_tu_shai_hang button { padding:6px 12px; border:none; border-radius:8px; font-size:12px;
  background:var(--cheng,#D97757); color:#fff; cursor:pointer; flex-shrink:0; }
.di_tu_shai_hang button:hover { background:var(--cheng-shen,#C25E3D); }
.di_tu_qing_chu { background:var(--bei-shen,#F0EEE5) !important; color:var(--zi,#1A1A1A) !important; }
.di_tu_qing_chu:hover { background:var(--xian,#E5E2D9) !important; }

/* 搜索行：输入框(列表即时过滤,无浮层) */
.di_tu_sou_hang { position:relative; margin-bottom:0; }
.di_tu_sou_hang input { width:100%; padding:6px 8px; border:1px solid var(--xian,#E5E2D9);
  border-radius:8px; font-size:12px; background:var(--ka,#FFFFFF); color:var(--zi,#1A1A1A); }
.di_tu_sou_hang input:focus { outline:none; border-color:var(--cheng,#D97757); }

/* 单子列表卡(占满侧栏下半区,滚动)——行样式照抄主站制单 .dan_xiang 视觉,
   类名 di_tu_ 前缀防撞主站脚本(它会按 .dan_xiang[data-dn] 全文档找行) */
.di_tu_lie_ka { flex:1; min-height:0; display:flex; flex-direction:column; margin:10px; overflow:hidden; }
.di_tu_lie_biao { flex:1; min-height:0; overflow-y:auto; }
.di_tu_dan { padding:10px 12px; border-radius:8px; cursor:pointer; margin-bottom:4px;
  background:var(--ka,#FFFFFF); border:1px solid var(--xian,#E5E2D9); transition:all .12s; }
.di_tu_dan:hover { background:var(--cheng-dan,#FBF1ED); border-color:var(--cheng,#D97757); }
.di_tu_dan_ding { display:flex; justify-content:space-between; align-items:center; gap:6px; }
.di_tu_dan_dn { font-weight:600; color:var(--zi,#1A1A1A); font-size:13px; }
.di_tu_zt { font-style:normal; font-size:10px; font-weight:bold; padding:1px 6px; border-radius:6px;
  margin-left:4px; vertical-align:middle; background:#eee; color:#666; }
.di_tu_zt[data-zt="审批通过"] { background:#d4edda; color:#155724; }
.di_tu_zt[data-zt="关闭"] { background:#f8d7da; color:#721c24; }
.di_tu_zt[data-zt="作废"] { background:#f8d7da; color:#721c24; }
.di_tu_zt[data-zt="自由"] { background:#fff3cd; color:#856404; }
.di_tu_dan_dang { font-size:10px; color:var(--cheng,#D97757); background:var(--cheng-dan,#FBF1ED);
  padding:1px 6px; border-radius:6px; flex-shrink:0; }
.di_tu_dan_xiang_mu { color:var(--zi-hui,#6B6B6B); font-size:11px; margin-top:4px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.di_tu_dan_di_zhi { color:var(--zi-qian,#9B9B9B); font-size:11px; margin-top:2px; display:flex; gap:6px; overflow:hidden; }
.di_tu_dan_di_zhi span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.di_tu_dan_wei { opacity:.55; }
.di_tu_lie_kong { padding:16px 0; text-align:center; color:var(--zi-qian,#9B9B9B); font-size:11px; }

/* 弹层内搜索命中的那一票高亮 */
.di_tu_tan_hang.gao_liang { background:var(--cheng-dan,#FBF1ED); border-radius:6px; }

/* ===== 地图上的悬浮件 ===== */
/* 图例(常驻左上) */
.di_tu_tu_li { position:absolute; top:10px; left:10px; z-index:100; background:var(--ka,#FFFFFF);
  border:1px solid var(--xian,#E5E2D9); border-radius:10px; padding:10px 12px;
  box-shadow:0 2px 8px rgba(31,27,22,.08); font-size:11px; color:var(--zi-hui,#6B6B6B); }
.di_tu_tu_li_hang { display:flex; align-items:center; gap:6px; margin-top:5px; }
.di_tu_tu_li_hang:first-of-type { margin-top:0; }
.di_tu_se_dian { width:10px; height:10px; border-radius:50%; flex-shrink:0; }

/* 加载/失败/空态 覆盖层(不许白屏) */
.di_tu_zhe_gai { position:absolute; inset:0; z-index:200; display:flex; align-items:center;
  justify-content:center; background:var(--bei,#FAF9F5); }
.di_tu_zhe_gai_ka { text-align:center; color:var(--zi-hui,#6B6B6B); font-size:13px; max-width:70%; }
.di_tu_zhe_gai_ka .di_tu_tu_biao { font-size:34px; margin-bottom:10px; }
.di_tu_chong_shi { margin-top:12px; padding:8px 18px; border:none; border-radius:8px;
  background:var(--cheng,#D97757); color:#fff; font-size:13px; cursor:pointer; }
.di_tu_chong_shi:hover { background:var(--cheng-shen,#C25E3D); }
.di_tu_jia_zai_zhong { display:inline-block; animation:di_tu_shan 1s infinite alternate; }
@keyframes di_tu_shan { from { opacity:.45; } to { opacity:1; } }

/* ===== 地图点位/聚合圈(marker content) ===== */
.di_tu_dian_zu { position:relative; }
.di_tu_dian_biao { position:absolute; bottom:calc(100% + 2px); left:50%; transform:translateX(-50%);
  text-align:center; font-size:10px; line-height:1.4; padding:1px 5px; border-radius:4px;
  background:rgba(255,255,255,.92); color:var(--zi,#1A1A1A);
  box-shadow:0 1px 3px rgba(31,27,22,.25); }
/* 名称行:截断无所谓(只是预览),滞留行另起一行必须完整可见(2026-08-20 用户拍板) */
.di_tu_dian_biao .di_tu_biao_ming { display:block; max-width:120px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
/* 齐片滞留标注(项目在春通/衡炳日报上):另起一行,分级照日报 ≥7红 / ≥3橙 / 更短灰 */
.di_tu_dian_biao .di_tu_zhi_7 { display:block; color:var(--dt-hong,#C0392B); font-weight:700; }
.di_tu_dian_biao .di_tu_zhi_3 { display:block; color:var(--dt-cheng,#D97757); font-weight:700; }
.di_tu_dian_biao .di_tu_zhi_0 { display:block; color:var(--zi-qian,#9B9B9B); }
/* 面积重量行(2026-08-23 用户要求):名称/滞留下面第三行标该点单据的面积·重量,
   同址多票=合计;照滞留行拍板原则必须完整可见不截断 */
.di_tu_dian_biao .di_tu_mian_zhong { display:block; color:var(--zi-qian,#9B9B9B); white-space:nowrap; }
.di_tu_dian { width:14px; height:14px; border-radius:50%; border:2px solid #fff;
  box-shadow:0 1px 4px rgba(31,27,22,.35); cursor:pointer; }
.di_tu_quan { border-radius:50%; border:2px solid #fff; box-shadow:0 2px 8px rgba(31,27,22,.3);
  color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-family:Georgia,serif; }

/* ===== 弹层(高德 InfoWindow 内容) ===== */
.di_tu_tan_ceng { max-width:340px; max-height:380px; overflow-y:auto; font-size:12px;
  color:var(--zi,#1A1A1A); }
.di_tu_tan_tou { font-weight:700; font-size:13px; margin-bottom:6px; padding-right:16px;
  word-break:break-all; line-height:1.5; }
.di_tu_tan_hui { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:8px;
  color:var(--zi-hui,#6B6B6B); }
.di_tu_tan_hui b { color:var(--cheng,#D97757); font-family:Georgia,serif; }
.di_tu_tan_xiang_mu { margin-bottom:8px; color:var(--zi-hui,#6B6B6B); line-height:1.5;
  word-break:break-all; }
.di_tu_tan_xiang_mu span { display:inline-block; background:var(--cheng-dan,#FBF1ED);
  color:var(--cheng-shen,#C25E3D); border-radius:6px; padding:1px 7px; margin:2px 4px 2px 0; }
.di_tu_tan_dan { border-top:1px dashed var(--xian,#E5E2D9); }
.di_tu_tan_hang { display:flex; align-items:center; gap:6px; padding:6px 0;
  border-bottom:1px solid var(--bei-shen,#F0EEE5); }
.di_tu_tan_hang .di_tu_tan_dn { font-weight:600; flex-shrink:0; }
.di_tu_tan_hang .di_tu_tan_dang { font-size:10px; color:var(--cheng,#D97757);
  background:var(--cheng-dan,#FBF1ED); padding:1px 6px; border-radius:6px; flex-shrink:0; }
.di_tu_tan_hang .di_tu_tan_dun { color:var(--zi-hui,#6B6B6B); margin-left:auto; flex-shrink:0; }
.di_tu_qu_zhi_dan { border:none; background:var(--cheng,#D97757); color:#fff; font-size:11px;
  border-radius:6px; padding:3px 8px; cursor:pointer; flex-shrink:0; }
.di_tu_qu_zhi_dan:hover { background:var(--cheng-shen,#C25E3D); }
