/* ============================================================
   runye-nav.css — 顶部功能区导航「皮肤」唯一出处（2026-09-13 去重）
   index.html 与 runye-map-measure.html 共用本文件；
   导航按钮清单在 runye-nav.js（同为唯一出处）。
   各页只保留自己的布局差异：
     · index.html：.fn-inner 1120px 居中对齐内容容器（非工具模式）/
       工具模式 max-width:none + padding:0 12px（见 index 内 body.ry-tool 段）
     · runye-map-measure.html：.fn-inner 整幅排布 padding:0 12px
   改导航外观（颜色/字体/高度/选中态）只改本文件，所有页面同步生效。
   ============================================================ */
html{--fn-nav-h:36px}
:root{--u-nav:#173e32;--u-nav-hover:#244e40;--u-nav-active:#2d604b;--u-nav-ink:#d9e9df}
.fn-nav{
  background:var(--u-nav);
  border-bottom:1px solid var(--u-nav);
}
.fn-nav .fn-inner{
  display:flex;align-items:center;gap:0;
  height:var(--fn-nav-h);
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
}
.fn-nav .fn-inner::-webkit-scrollbar{display:none}
/* 导航项：深绿底同款（与主页最终生效样式一致）
   12.5px/字重500/内距14px、亮字 #d9e9df；
   选中 = 深绿底 #2d604b + 白字 + 2px 浅绿下划条 #76d2a4 */
.fn-nav .fn-link{
  flex:none;display:inline-flex;align-items:center;
  height:var(--fn-nav-h);padding:0 14px;
  font-size:12.5px;font-weight:500;color:var(--u-nav-ink);
  text-decoration:none;background:none;border:0;
  border-bottom:2px solid transparent;border-radius:0;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease;
  white-space:nowrap;
}
/* 导航项若是 button（要执行页面自有逻辑，不是定位锚点），去掉 UA 默认样式后与 a.fn-link 完全一致 */
.fn-nav button.fn-link{
  font-family:inherit;background:none;
  cursor:pointer;appearance:none;-webkit-appearance:none;
}
.fn-nav .fn-link:hover{background:var(--u-nav-hover);color:#fff}
.fn-nav .fn-link.active{
  background:var(--u-nav-active);color:#fff;
  border-bottom-color:#76d2a4;box-shadow:none;
}
.fn-nav .fn-link.active:hover{background:var(--u-nav-hover);color:#fff;border-bottom-color:#76d2a4}
/* 窄屏同步收紧：36 → 34（与主页历史约定一致） */
@media(max-width:768px){
  html{--fn-nav-h:34px}
  .fn-nav .fn-link{padding:0 10px;font-size:12px}
}
@media print{.fn-nav{display:none!important}}

/* ═══ [v247 2026-10-06] 「更多 ▾」折叠组 ═══════════════════════════════════
   清单在 runye-nav.js 的 MORE_ITEMS（管路拼装 / 经济指标分析 / 数字化建模 /
   滴灌带查询）+ pipe_optim_ui.js 追加的「管网优化详细分析」。
   ★ 面板必须 position:fixed —— .fn-inner 是 overflow-x:auto 的滚动容器，
     absolute 后代会被 overflow-y:hidden 裁掉（只露出一条 36px 的缝）。
   ★ 不能给 .fn-nav/.fn-inner 加 transform/filter/will-change：那会把 fixed
     的包含块改回导航自身，面板立刻被裁（与上面同一条规则的两面）。 */
.fn-nav .fn-more{
  position:relative;display:flex;align-items:center;flex:none;
}
.fn-nav .fn-more-btn .fn-more-caret{
  font-size:9px;margin-left:2px;display:inline-block;
  transition:transform .16s ease;
}
.fn-nav .fn-more.open .fn-more-caret{transform:rotate(180deg)}
.fn-nav .fn-more-panel{
  position:fixed;z-index:99999;min-width:176px;
  display:flex;flex-direction:column;
  padding:4px 0;margin:0;
  background:var(--u-nav);
  border:1px solid var(--u-nav-active);border-radius:0 0 8px 8px;
  box-shadow:0 10px 26px rgba(0,0,0,.30);
  list-style:none;
}
.fn-nav .fn-more-panel[hidden]{display:none}
/* 面板项：竖排全宽、左对齐；去掉顶层项那条 2px 下划线（竖排里没有"选中下划"语义） */
.fn-nav .fn-more-panel .fn-link{
  width:100%;box-sizing:border-box;
  height:34px;padding:0 16px;
  justify-content:flex-start;text-align:left;
  border-bottom:0;border-radius:0;
}
.fn-nav .fn-more-panel .fn-link:hover{background:var(--u-nav-hover)}
.fn-nav .fn-more-panel .fn-link.active{background:var(--u-nav-active);border-bottom:0}

/* ===== 文件 ▾ 统一菜单（v395-file-menu 2026-10-12）=====
   独立皮肤，不复用 .fn-more 面板（避免 verify 的 .fn-nav .fn-more-panel 选择器
   与 runye-nav.js mount() 的 preserved 采集误匹配文件面板）。
   按钮在 ⚙️设置 左侧（order 998，设置 999）。 */
/* [v401] 文件按钮不再吸右（order:998 已去）：由 mod/inline-32.js relocate 挂到「地块绘制」之前 */
.fn-nav .fn-file{position:relative;display:flex;align-items:center;flex:none}
.fn-nav .fn-file.open .fn-more-caret{transform:rotate(180deg)}
/* 面板：position:fixed 同 .fn-more-panel（防 .fn-inner overflow 裁切），右对齐触发钮。
   [v403b 用户反馈] 面板加宽（min-width 232→320）：最长项「地块文件 (GeoJSON/KML/KMZ/奥维)」
   需完整显示不换行不截断。 */
.fn-file-panel{
  position:fixed;z-index:99999;min-width:320px;
  display:flex;flex-direction:column;
  padding:6px 0;margin:0;
  background:var(--u-nav);color:var(--u-nav-ink);
  border:1px solid var(--u-nav-active);border-radius:0 0 8px 8px;
  box-shadow:0 10px 26px rgba(0,0,0,.30);
  list-style:none;
}
.fn-file-panel[hidden]{display:none}
.fn-file-panel .fn-file-group{
  font-size:11px;font-weight:700;color:#d9e9df;
  padding:6px 16px 3px;letter-spacing:1px;text-transform:uppercase;
}
.fn-file-panel .fn-file-group:not(:first-child){border-top:1px solid rgba(255,255,255,.20);margin-top:4px}
/* 菜单项：竖排全宽、左对齐；border-bottom:0 去除顶层那条 2px 下划线 */
.fn-file-panel .fn-file-item{
  width:100%;box-sizing:border-box;
  height:32px;padding:0 16px;font-size:12.5px;
  display:flex;align-items:center;justify-content:flex-start;text-align:left;
  border-bottom:0;border-radius:0;cursor:pointer;
  background:transparent;color:var(--u-nav-ink);border:none;font-family:inherit;
}
.fn-file-panel .fn-file-item:hover{background:var(--u-nav-hover);color:#fff}
.fn-file-panel .fn-file-item.fn-locked{opacity:.58;cursor:not-allowed}
.fn-file-panel .fn-file-item.fn-locked:hover{background:transparent;color:var(--u-nav-ink)}

/* [v346] 线上锁提示 toast：仅在非本地环境由 runye-nav.js 挂到 body，本地永不出现 */
.ry-nav-toast{position:fixed;left:50%;bottom:64px;transform:translateX(-50%) translateY(8px);background:#1e4d3a;color:#fff;font-size:13px;line-height:1.5;padding:9px 16px;border-radius:6px;box-shadow:0 4px 16px rgba(15,23,42,.25);opacity:0;transition:opacity .25s,transform .25s;z-index:10050;pointer-events:none;max-width:80vw;text-align:center}
.ry-nav-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
