/* ============================================================================
   进度猫 PC 端 · 布局骨架层 (app-layout.css · 基础设施，非主题)
   ----------------------------------------------------------------------------
   ⚠ 删主题别删我：本文件是三主题（经典/晨昏/暗夜）共享的几何骨架，删掉任何主题
   都不涉及本文件；误删本文件 = 三主题布局全部崩坏。
   可删的主题皮肤只有：theme-dawn.css（晨昏玻璃）/ darkmode.css（暗夜）；
   经典模式无皮肤文件（即 index.css 原版）。
   职责：几何/间距/结构规则，三主题共用，保证"同一布局，不同皮肤"。不含任何主题色——
   颜色归 theme-dawn.css（晨昏）/ darkmode.css（暗夜）/ index.css+模板样式（经典）。
   加载顺序：index.css → darkmode.css → app-layout.css → theme-dawn.css → theme-classic.css
   铁律：
     1. 本文件禁止引用 var(--jdm-*) 玻璃变量（新组件走"实色基线在此 +
        glass-theme.css 同名规则覆盖"模式，保证删除玻璃层后本文件独立成立）
     2. 禁止 !important 压制 JS 内联 display/width/left（9 类坑，见 CLAUDE.md）
     3. 描边一律 inset box-shadow 模拟，真 border 会建 BFC 扰动高度（本层多为几何，同样遵守）
   ============================================================================ */

/* ============================== 1. 左侧图标导航轨（76px 骨架） ==============================
 * 2026-11-02 先分列后回退：用户确认「轨道顶到屏幕最顶不似从前」，恢复原架构——
 * 顶栏通栏重叠在上（无下缘线），轨道按钮自其下起排（70px=55栏+15呼吸）。
 * JS 间距（sidebar 85px / mainboard 88px / tasktopnav 76px / doc-workspace 76px）
 * 均按 76px 轨书写，三主题必须统一此骨架 */
.index_kb_main_naver {
  width: 76px !important;
  top: 0 !important;
  padding: 70px 0 12px !important;
  box-sizing: border-box !important;
  /* display 不加 !important：jQuery .hide()/.show() 切换导航模式时写内联 display:none，
     !important 会压死内联导致左栏无法隐藏（切顶部导航后左栏不消失的bug） */
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 2026-11-03 去掉原版 border-right:8px（index.css 2018 装饰，80px 轨+8px 边框设计）。
     76px 轨改为 border-box 后这条边被包进轨内，夹在轨道与面板条(#tasktopnav, ml:76)两张
     同色面之间读作"缝"——经典灰带/暗夜深缝同根因，三主题一律去除（真 border 建 BFC，铁律3） */
  border-right: none !important;
}
/* 导航按钮：65×70 → 52×56 纵向图标+文字 */
.index_kb_main_naver .mainbutton {
  width: 52px !important;
  height: 56px !important;
  margin: 4px 0 !important;
  padding: 6px 0 4px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  box-sizing: border-box !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.index_kb_main_naver img {
  margin: 0 !important;
  width: 22px !important;
  height: 22px !important;
}
.index_kb_main_naver .mainbuttonname {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
  text-align: center !important;
}
/* hover/选中：几何与动效归一层（颜色在 glass-theme.css §38；经典模式回退 index.css 原色） */
.index_kb_main_naver .mainbutton:hover {
  transform: none !important; /* 压掉 index.css 的 hover scale(1.02)：轨内按钮不缩放 */
}
.index_kb_main_naver .mainbutton.mainbuttonselect {
  transition: none !important; /* 选中瞬间不加过渡，避免切换闪动 */
}

/* ============================== 1b. 顶栏零细线（Notion 式） ==============================
 * 2026-11-02 用户要求：顶部不要有任何细线压按钮。历史方案（box-shadow 通栏线→
 * clip-path 裁剪[裁没了下拉菜单,已废]→::after 分段线[用户仍见线]）全部撤销，
 * 终案：顶栏下缘【不画任何线条】，仅靠背景与极淡弥散影区分层次。
 * 各主题 1px 线成分的清除见 index.css / theme-dawn.css / darkmode.css */
.index_top::after { content: none; }

/* ============================== 2. 项目面板顶栏让位 ============================== */
/* margin-left 由 CSS 给默认 76px（紧贴左栏轨），JS setNavTopStyle 切顶栏时内联覆写 0px；
   不加 !important 是因为面板 Tab 是 AJAX 动态渲染的，setNavLeftStyle 跑在渲染前——CSS 兜底 */
#tasktopnav {
  margin-left: 76px;
}

/* ============================== 3. 内容区盒子模型 ============================== */
.mainboard {
  box-sizing: border-box !important;
}

/* ============================== 4. 文档工作区避让左栏导航 ============================== */
/* doc-workspace-container 是 fixed;left:0 通栏——左栏导航可见时从 left:0 起步会压在导航上 */
.doc-workspace-container {
  left: 76px;
  width: calc(100vw - 76px);
}

/* ============================== 5. 微交互（按压/悬浮反馈，三主题统一手感） ============================== */
/* 按钮按压: active 压缩回弹 */
.btn-primary:active,
.btn-myprimary:active {
  transform: scale(0.97) !important;
  transition-duration: 80ms !important;
}
.btn-default:active,
.layui-btn:active {
  transform: scale(0.97) !important;
  transition-duration: 80ms !important;
}
/* 卡片悬浮: 上浮 */
.index_kb_item:hover {
  transform: translateY(-3px);
}
.pm-card:hover {
  transform: translateY(-3px);
}
.doc-card:hover {
  transform: translateY(-3px);
}
.file-grid-item:hover {
  transform: translateY(-3px);
}
.project-list-item:hover,
.project-list-card:hover {
  transform: translateX(2px);
}
/* 工具条图标: 按压缩放 */
.doc-toolbar-btn:active,
.jdm-btn--view-toggle:active {
  transform: scale(0.92);
}
/* Tab 胶囊: 按压缩放 */
.project-todo-tab:active,
.mind-template-btn:active {
  transform: scale(0.95);
}
/* 脑图分类加号/成员加钮: 悬浮放大 */
.addmindtypeplus:hover {
  transform: scale(1.06) !important;
}
#mindteammodal #addsetminduserbut:hover {
  transform: scale(1.06) !important;
}

/* ============================== 6. 登录族卡片垂直居中（重布局，三主题统一） ============================== */
body:has(.login_input1) #body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 100vh !important;
}

/* ============================== 7. 文档表格排版节奏（行高呼吸感） ============================== */
.doc_kb_inner .pro_list .table td {
  padding: 14px 12px !important;
  font-size: 13px !important;
}
.doc_kb_inner .pro_list .table th {
  padding: 12px !important;
  letter-spacing: 0.5px !important;
}

/* ============================== 8. 文档列表卡片网格（玻璃期新组件·实色兜底） ==============================
 * #listfile 由 js/documents.js 填充 .doc-card；网格/卡片为玻璃化新增结构，
 * 经典模式无"原版"可回退——此处给实色基线，晨昏模式的玻璃值由 glass-theme.css
 * 同名规则（html.glass-light 前缀，优先级更高）覆盖，保证晨昏像素级不变 */
.doc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 8px 20px 24px;
}
.doc-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 4px;
}
.doc-list-toolbar__title {
  font-size: 16px;
  font-weight: 600;
  color: #1e293b;
}
.doc-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 18px 18px 14px;
  background: #ffffff;
  border: 1px solid #e4e7ed;
  border-radius: 14px;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(16, 24, 40, 0.05);
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s, border-color 0.2s;
}
.doc-card:hover {
  border-color: rgba(82, 122, 254, 0.4);
  box-shadow: 0 4px 16px rgba(16, 24, 40, 0.08);
}
.doc-card__icon img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.doc-card__name {
  font-size: 14px;
  font-weight: 600;
  color: #1e2f41;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doc-card__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #64748b;
}
/* 窄屏降为两列（页面最小宽度 1270，70% 容器约 900px 以下时两列更透气） */
@media (max-width: 1500px) {
  .doc-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================== 9. 文档工作区·浮动面板布局（76px 轨 + 300px 树） ============================== */
/* 容器留边，面板间 12px 呼吸缝 */
.doc-workspace-container {
  padding: 12px !important;
  gap: 12px !important;
}
/* 仅补 gap（原 CSS 已有 flex 布局）；不用 !important 设 display——
   JS 切"文件管理"时给本元素写内联 display:none，!important 会压死切换 */
:where(.doc-content-area) {
  gap: 12px;
}
/* —— 左栏：180px 横排 → 76px 图标导航轨 —— */
/* html 前缀抬一档优先级(0,1,1)：压过 documents.css 的 width:180px(0,1,0)，
   同时让位于折叠/专注态的容器级规则 .doc-workspace-container.xxx .doc-category-panel(0,3,0)——
   ⚠ 不能用 :where() 零优先级（会被基础宽度压掉，经典模式左栏回退 180px 出大片空白） */
html .doc-category-panel {
  width: 76px;
}
:where(.doc-category-panel) {
  padding-top: 10px !important;
  align-items: center !important;
}
/* 分类按钮：横排图标+字 → 纵向图标+小字 */
.doc-category-btn,
.doc-back-btn {
  flex-direction: column !important;
  gap: 4px !important;
  padding: 10px 6px !important;
  justify-content: center !important;
  font-size: 11px !important;
  width: 60px !important;
}
.doc-category-btn i,
.doc-back-btn i {
  font-size: 18px !important;
  margin: 0 !important;
}
.doc-back-btn span { font-size: 10px !important; }
/* —— 中栏：文档树 280 → 300px（html 前缀同上：压基础宽度、让位折叠/专注态） —— */
html .doc-tree-panel {
  width: 300px;
}
:where(.doc-tree-panel) {
  overflow: hidden !important;
}
/* 树内各节区块统一内边距节奏 */
.doc-project-filter,
.doc-category-tabs,
.doc-view-actions-bar,
.doc-tree-toolbar {
  padding-left: 14px !important;
  padding-right: 14px !important;
}
/* —— 右栏：编辑器面板 —— */
.doc-editor-panel {
  overflow: hidden !important;
}
.doc-editor-header {
  padding: 10px 18px !important;
}
/* 标题区：紧凑排版（2026-11-05 收敛。编辑器内部滚动、标题恒定占位，
   原 24px/22px 大排版固定吃掉 ~100px 竖向空间；压缩为单行标题行(~46px)
   ——元信息并入行右侧，配合滚动隐没(documents.css .title-hidden)让位内容区 */
.doc-title-area {
  padding: 6px 24px !important;
}
.doc-title-input {
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
}
/* 最近文档：76px 图标轨下重设计——内联展开会横向溢出被裁，改为贴轨飞出面板 */
.doc-category-panel { position: relative !important; }
.doc-recent-list {
  position: absolute !important;
  left: calc(100% + 10px) !important;
  top: 92px !important;
  width: 264px !important;
  max-height: 400px !important;
  padding: 8px !important;
  z-index: 60 !important;
  /* 新组件实色兜底：晨昏玻璃值由 glass-theme.css 覆盖 */
  background: #ffffff !important;
  border: 1px solid #e4e7ed !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 40px rgba(31, 45, 74, 0.14) !important;
}
.doc-recent-item {
  width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}
.doc-recent-item:hover {
  background: rgba(82, 122, 254, 0.1) !important;
  color: #3a5fee !important;
}
.doc-recent-item-title {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* 修复：backdrop-filter 使各面板生成独立层叠上下文，飞出层困在轨内被树面板遮挡——
   图标轨整体提层到面板之上（轨仅 76px 宽，不影响其余叠放） */
.doc-category-panel {
  z-index: 70 !important;
}

/* ============================== 10. 侧栏折叠（sidebar-collapsed 归零） ============================== */
/* 折叠态必须赢过上面的重构宽度：面板归零 + 缝隙/内边距归零（flex gap 对 0 宽项仍占位） */
.doc-workspace-container.sidebar-collapsed {
  gap: 0 !important;
  padding-left: 0 !important;
}
.doc-workspace-container.sidebar-collapsed .doc-content-area {
  gap: 0 !important;
}
/* 折叠按钮：新布局（12+76+12+300）树右缘在 400px；折叠态回贴左缘 0 */
.doc-sidebar-toggle {
  left: 400px !important;
  z-index: 80 !important;
}
.doc-workspace-container.sidebar-collapsed .doc-sidebar-toggle {
  left: 0 !important;
}

/* ============================== 11. 文件管理呼吸缝 ============================== */
.file-workspace-container {
  gap: 12px !important;
}

/* ============================== 12. TODO 页·三段式页头节奏 ============================== */
.project-todo-tabs {
  height: 56px !important;
  padding: 0 22px !important;
}
.project-todo-tab {
  padding: 6px 14px !important;
  margin: 0 2px !important;
}
.project-todo-refresh {
  padding: 7px !important;
}
.todo-quick-add-bar {
  padding: 4px 22px 12px !important;
}
.todo-quick-add-wrapper {
  padding: 6px 8px 6px 18px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
.todo-quick-add-wrapper input {
  height: 34px !important;
}

/* ============================== 13. 脑图弹窗·结构布局 ============================== */
#mindmap-myModal .modal-header {
  padding: 18px 24px 14px !important;
}
.modal[id^="mind"] .modal-title {
  text-align: center !important;
  font-size: 15px !important;
}
.modal[id^="mind"] .modal-body {
  text-align: center !important;
  font-size: 13.5px !important;
  padding: 24px 24px 12px !important;
}
.modal[id^="mind"] .modal-footer {
  text-align: center !important;
}
#mindmap-myModal #mindname,
#mindteammodal #mindnameset {
  width: 100% !important;
  height: 42px !important;
  font-size: 14px !important;
}
#mindmap-myModal select.form-control,
#mindteammodal select.form-control {
  height: 42px !important;
}
/* 脑图族小提示弹窗（温馨提示/删除确认/退出团队等）：标题居中、正文留白、按钮居中 */
html .modal[id^="mind"] .modal-footer { border-top: none !important; }

/* —— 创建脑图弹窗·顶级单列布局（mm-*） —— */
.mm-create-dialog {
  width: 520px !important;
  max-width: calc(100vw - 40px) !important;
}
#mindmap-myModal .close,
#mindteammodal .close {
  position: absolute !important;
  right: 14px !important;
  top: 12px !important;
  z-index: 5 !important;
}
.mm-create__head { border-bottom: none !important; padding: 24px 28px 0 !important; }
.mm-create__head .modal-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}
.mm-create__sub {
  margin: 6px 0 0 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
}
/* 字段组：标签在上、控件全宽，组间 18px 呼吸 */
#mindmap-myModal .modal-body,
#mindteammodal .modal-body { padding: 18px 28px 6px !important; }
.mm-field { margin-bottom: 18px !important; }
.mm-field__label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.3px !important;
}
/* 分类行：select 全宽 + 加号圆钮 */
.mm-catrow { display: flex !important; align-items: center !important; gap: 10px !important; }
.mm-catrow select.form-control { flex: 1 !important; }
.addmindtypeplus {
  width: 34px !important;
  height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  cursor: pointer !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  flex-shrink: 0 !important;
}
/* chips 行距收敛 */
.mm-chips { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
/* 底部按钮：右对齐大按钮 */
#mindmap-myModal .modal-footer,
#mindteammodal .modal-footer {
  padding: 8px 28px 22px !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}
#mindmap-myModal .modal-footer .btn,
#mindteammodal .modal-footer .btn { min-width: 88px !important; }
/* 模板 chips：玻璃期新组件，实色兜底（晨昏玻璃态由 glass-theme.css 覆盖） */
.mind-template-btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 16px !important;
  border-radius: 999px !important;
  border: 1px solid #dcdfe6 !important;
  background: #ffffff !important;
  color: #64748b !important;
  font-size: 12.5px !important;
  cursor: pointer !important;
  margin: 0 6px 8px 0 !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.mind-template-btn:hover {
  background: rgba(82, 122, 254, 0.08) !important;
  color: #3a5fee !important;
  border-color: rgba(82, 122, 254, 0.3) !important;
}
.mind-template-btn.active {
  background: #527afe !important;
  border-color: transparent !important;
  color: #ffffff !important;
  box-shadow: 0 3px 10px rgba(82, 122, 254, 0.3) !important;
}
/* 编辑弹窗：协作者成员区 */
#mindteammodal .mm-members {
  padding: 12px 14px !important;
}
#mindteammodal .mm-members ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}
/* 皇冠重锚：mm-members 内边距(14,12)+头像40px → 皇冠落在首位头像右上角 */
#mindteammodal #huangguan {
  left: 50px !important;
  top: 14px !important;
  width: 16px !important;
  height: auto !important;
}
/* 添加成员按钮（img）：40px 圆钮几何 */
#mindteammodal #addsetminduserbut {
  padding: 7px !important;
  box-sizing: border-box !important;
  width: 40px !important;
  height: 40px !important;
  transition: all 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
/* 收紧空锚点占位 */
#mindteammodal #minduserteam .pro-teamnamemid { display: none !important; }
#mindteammodal #minduserteam li { margin: 0 !important; }

/* ============================== 14. 我的中心·账号设置独立页（单列 900px） ============================== */
/* 1) 左侧迷你边栏隐藏（以 #accountset 唯一锚定本页的 naver，不影响项目列表侧栏） */
.index_kb_naver:has(> #accountset) { display: none !important; }
/* 2) 右栏：居中单列 900px */
.mycenter_right {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 900px !important;
  padding: 0 !important;
  margin: 84px auto 40px !important;
  box-sizing: border-box !important;
  display: block !important;
}
/* 3) 外层大卡几何 */
.mycenter_admin {
  overflow: hidden !important;
  margin-top: 0 !important;
}
.mycenter_admin .mycenter_admin_name {
  min-height: 0 !important;
}
.mycenter_admin_naver {
  padding: 20px 26px 12px !important;
}
.mycenter_admin_lis {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
/* 4) Tab 条：flex 居中胶囊几何（配色在 glass-theme.css §36，经典回退原版） */
.mycenter_admin_lis div {
  float: none !important;
  height: auto !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  cursor: pointer !important;
}
.mycenter_admin_lis div.lis_active {
  height: auto !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 18px !important;
  float: none !important;
}
.mycenter_admin_lis a {
  padding: 8px 16px !important;
  height: auto !important;
  line-height: 1.4 !important;
}
/* 保存/确认按钮：脱离老布局偏移（margin-left:231px 等），统一 inline-flex 居中 */
.acct-save-btn,
#saveuserinfo,
#setuserpassbutton {
  height: auto !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 24px !important;
  margin: 16px 0 4px !important;
  font-size: 13.5px !important;
  cursor: pointer !important;
}
.acct-save-btn-inline { margin: 0 !important; }
#setuserpassbutton,
.acct-save-btn-secondary {
  width: auto !important;
  min-width: 0 !important;
  display: inline-flex !important;
}
.mycenter_admin_inputs2 .acct-form-section,
.mycenter_admin_inputs3 .acct-form-section {
  min-height: 0 !important;
  padding-bottom: 26px !important;
  display: flow-root !important;
}
/* 密码Tab布局节奏：与基本信息Tab同款——行距呼吸 + 标题副说明 + 输入占位可见 */
.mycenter_admin_inputs3 .acct-form-section { padding: 6px 24px 26px !important; }
.mycenter_admin_inputs3 .acct-form-row { margin: 14px 0 !important; }
.mycenter_admin_inputs3 .acct-label {
  width: 95px !important;
  flex-shrink: 0 !important;
  font-size: 13px !important;
  align-self: center !important;
}
.mycenter_admin_inputs3 .acct-input {
  width: 100% !important;
  max-width: 420px !important;
  box-sizing: border-box !important;
}
.acct-section-sub {
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-left: 10px !important;
}
/* 根源修正：.mycenter 是 absolute + min-width:1390 + width:100% 的老定位壳——归一化为普通文档流 */
.mycenter:has(.mycenter_admin) {
  position: static !important;
  min-width: 0 !important;
  width: auto !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  z-index: auto !important;
}
/* 账号信息Tab：外层老壳（inputs1 等）带 1390 定宽/margin 残留——归一化 */
.mycenter_admin_inputs1,
.mycenter_admin_inputs2,
.mycenter_admin_inputs3,
.mycenter_admin .mycenter_item {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
/* 密码Tab乱源根治：①副说明被老 float:left 挤成竖条 ②首行老缩进与后续行不对齐 */
.acct-section-sub {
  float: none !important;
  display: inline !important;
  width: auto !important;
  height: auto !important;
  margin-left: 10px !important;
  vertical-align: baseline !important;
}
.mycenter_admin_inputs3 .acct-form-row,
.mycenter_admin_inputs3 .acct-form-row:first-child {
  display: flex !important;
  align-items: center !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.mycenter_admin_inputs3 .acct-label {
  width: 95px !important;
  flex: 0 0 95px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.mycenter_admin_inputs3 .acct-input {
  flex: 0 0 420px !important;
  width: 420px !important;
  max-width: 420px !important;
  margin: 0 !important;
  height: 40px !important;
  box-sizing: border-box !important;
}

/* ============================== 15. 项目列表·视图切换钮图标居中 ============================== */
/* 原 display:block + padding 6/16 把 inline 图标挤到右下；改 flex 居中并归零 padding */
.jdm-btn--view-toggle,
.pro_tit_recycle.jdm-btn--view-toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
}
.jdm-btn--view-toggle #switchcard {
  position: static !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 auto !important;
  line-height: 1 !important;
  text-align: center !important;
}
