/* 移动端适配：把桌面版侧边栏布局改为手机底部标签栏 + 单列流式布局 */
@media (max-width: 768px) {
  html, body { margin: 0; padding: 0; }
  #app { display: block; }

  /* 侧边栏 → 底部导航 */
  .sidebar {
    position: fixed; left: 0; right: 0; bottom: 0; top: auto;
    width: 100%; height: auto; flex-direction: row;
    display: flex; align-items: stretch;
    background: var(--sidebar-bg); border-top: 1px solid #2D2D35;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.25); z-index: 200; padding: 0;
  }
  .sidebar-header, .sidebar-footer { display: none; }
  .nav-list { display: flex; flex-direction: row; width: 100%; margin: 0; padding: 4px 0; overflow-x: auto; }
  .nav-item {
    flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 6px 2px; font-size: 11px; border-left: none; border-bottom: 3px solid transparent;
  }
  .nav-item.active { border-left: none; border-bottom: 3px solid var(--accent); background: var(--sidebar-bg-hover); }
  .nav-item.active .nav-label { color: #FFFFFF; font-weight: 700; }
  .nav-icon { font-size: 18px; margin-bottom: 2px; }
  .nav-label { font-size: 11px; }
  .nav-badge { position: absolute; top: 2px; right: 18%; }

  /* 主内容让出底部导航高度 */
  .main-content { padding: 0 0 64px 0; }
  .top-bar { padding: 10px 14px !important; flex-wrap: wrap; gap: 8px !important; }
  .top-bar > div:first-child { max-width: 100% !important; flex: 1 1 100%; }
  .top-bar .btn { font-size: 12px; padding: 6px 10px; }

  .page { padding: 12px; }
  .page-header { flex-direction: column; align-items: flex-start; gap: 8px; }
  .page-header h1 { font-size: 20px; }

  /* 卡片/网格单列 */
  .dashboard-grid, .review-grid, .two-col { display: block !important; }
  .dashboard-side, .dashboard-main { width: 100%; }
  .kpi-row { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .kpi-card { padding: 12px; }
  .kpi-value { font-size: 18px; }

  .filter-tabs { overflow-x: auto; white-space: nowrap; flex-wrap: nowrap; padding-bottom: 4px; }
  .filter-tab { display: inline-block; margin-right: 6px; }

  /* 表格横向滚动 */
  .table-container { overflow-x: auto; }
  .data-table { font-size: 12px; }
  .data-table th, .data-table td { padding: 6px 8px; white-space: nowrap; }

  .flows-panel { padding: 0; }
  .flow-cols { display: block !important; }
  .flow-col { margin-bottom: 14px; }

  /* 模态框全屏化 */
  .modal { width: 94% !important; max-width: 94% !important; }
  .modal-body { max-height: 70vh; overflow: auto; }
  .settings-container { padding: 0; }
  .setting-row { flex-wrap: wrap; }

  /* IXIC 定投指数工作台 · 移动端适配 */
  .ixic-price-card { padding: 16px 18px; border-radius: 12px; }
  .ixic-price { font-size: 34px; }
  .ixic-score-left { flex: 0 0 100%; border-right: none; border-bottom: 1px solid var(--border-color); padding-right: 0; padding-bottom: 12px; }
  .ixic-score-body { flex-direction: column; gap: 12px; }
  .ixic-score-total { font-size: 48px; }
  .ixic-pos-kpis { grid-template-columns: 1fr; }
  .ixic-pos-form { grid-template-columns: 1fr; }
  .ixic-compound-form { grid-template-columns: 1fr 1fr; }
  .ixic-compound-form button { grid-column: 1 / -1; }
  .ixic-compound-card { flex-wrap: wrap; padding: 12px; }
  .ixic-compound-year { font-size: 16px; min-width: 50px; }
  .ixic-compound-total { font-size: 20px; min-width: 110px; }
  .ixic-compound-row { grid-template-columns: 1fr 1.2fr 1.2fr 1.2fr; font-size: 11px; padding: 6px 8px; }
  .ixic-range-labels { flex-direction: column; gap: 4px; align-items: flex-start; }
}

/* 桌面端也保持可点：让底部标签可滚动 */
.nav-list::-webkit-scrollbar { display: none; }
