/* ============================================================
   ConnexionTrack Admin Styles v9
   全新布局：顶栏主菜单 + Tab 栏 + 侧导航 + 移动端底部导航
   ============================================================ */

/* ══════════════════════════════════════════════════════════
   TOPBAR: 毛玻璃效果 + 主菜单
   ══════════════════════════════════════════════════════════ */
.ct-topbar {
  display: flex;
  align-items: center;
  height: 52px;
  padding: 0 16px;
  background: rgba(14, 116, 144, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.12);
  position: sticky;
  top: 0;
  z-index: 500;
  gap: 12px;
}
.ct-topbar-left  { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.ct-topbar-right { display:flex; align-items:center; gap:8px; margin-left:auto; flex-shrink:0; }
.ct-nav-toggle-btn {
  background:none; border:none; color:rgba(255,255,255,.8); font-size:1.2rem;
  cursor:pointer; padding:4px 6px; border-radius:6px; display:none;
}
.ct-nav-toggle-btn:hover { background:rgba(255,255,255,.15); color:#fff; }
.ct-topbar-brand { display:flex; align-items:center; gap:8px; color:#fff; text-decoration:none; font-weight:700; }
.ct-brand-text { font-size:.95rem; }
@media(max-width:768px){ .ct-brand-text { display:none; } }

/* ── 主菜单 ──────────────────────────────────────────── */
.ct-megamenu { display:flex; align-items:center; gap:2px; flex:1; justify-content:center; }
.ct-mm-item {
  position:relative; padding:6px 12px; font-size:.82rem; font-weight:500;
  color:rgba(255,255,255,.8); border-radius:8px; cursor:pointer;
  display:flex; align-items:center; gap:4px; transition:all .15s;
  white-space:nowrap;
}
.ct-mm-item:hover { background:rgba(255,255,255,.14); color:#fff; }
.ct-mm-icon { font-size:1rem; }
.ct-mm-arrow { font-size:.5rem; opacity:.5; margin-left:2px; }
.ct-mm-drop {
  position:absolute; top:calc(100% + 6px); left:0; min-width:170px;
  background:#fff; border-radius:10px; box-shadow:0 8px 32px rgba(0,0,0,.12);
  padding:5px; display:none; z-index:600; overflow:hidden;
}
.ct-mm-item.hover .ct-mm-drop,
.ct-mm-item.pinned .ct-mm-drop { display:block; animation:ct-fade-in .12s ease; }
.ct-mm-item.pinned { background:rgba(255,255,255,.18); color:#fff; }
.ct-mm-item.pinned::after {
  content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:16px; height:3px; background:#fff; border-radius:2px 2px 0 0;
}
.ct-mm-drop-item {
  padding:8px 14px; font-size:.82rem; color:var(--ct-gray-600); border-radius:6px;
  cursor:pointer; transition:all .1s; display:flex; align-items:center; gap:6px;
}
.ct-mm-drop-item:hover { background:var(--ct-teal-50); color:var(--ct-teal-700); }

/* ── 顶栏右侧控件 ───────────────────────────────────── */
.ct-topbar-search {
  width:160px; font-size:.8rem; padding:5px 10px; border-radius:8px;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.1);
  color:#fff; outline:none; transition:all .2s;
}
.ct-topbar-search::placeholder { color:rgba(255,255,255,.5); }
.ct-topbar-search:focus { width:220px; background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.3); }
.ct-topbar-user { font-size:.8rem; color:rgba(255,255,255,.8); padding:2px 8px; }
.ct-topbar-icon-btn {
  background:none; border:none; color:rgba(255,255,255,.7); cursor:pointer;
  padding:4px 6px; border-radius:6px; font-size:1rem; transition:all .15s;
  min-height:34px; min-width:34px;
}
.ct-topbar-icon-btn:hover { background:rgba(255,255,255,.15); color:#fff; }
.ct-topbar .ct-lang-bar { background:transparent; padding:0; gap:2px; }
.ct-topbar .ct-lang-bar button {
  padding:2px 5px; font-size:.85rem; color:rgba(255,255,255,.6); border-radius:4px;
}
.ct-topbar .ct-lang-bar button:hover,
.ct-topbar .ct-lang-bar button.active { color:#fff; background:rgba(255,255,255,.12); }

/* ── 通知按钮 ────────────────────────────────────────── */
.ct-notif-btn { position:relative; cursor:pointer; font-size:1.15rem; padding:4px; color:rgba(255,255,255,.8); }
.ct-notif-btn:hover { color:#fff; }
.ct-notif-badge {
  position:absolute; top:-2px; right:-4px; background:var(--ct-danger); color:#fff;
  font-size:.55rem; font-weight:700; padding:1px 5px; border-radius:8px; min-width:16px; text-align:center; line-height:1.4;
}
.ct-notif-panel {
  position:fixed; top:52px; right:80px; width:360px; max-height:480px;
  background:#fff; border-radius:0 0 12px 12px; box-shadow:0 8px 32px rgba(0,0,0,.12);
  z-index:550; overflow-y:auto; font-size:.85rem;
}

/* ── 全局搜索浮层 ────────────────────────────────────── */
.ct-search-overlay {
  position:fixed; top:52px; right:120px; width:420px; max-height:480px;
  background:#fff; border-radius:0 0 12px 12px; box-shadow:0 8px 32px rgba(0,0,0,.12);
  z-index:550; overflow-y:auto; font-size:.85rem;
}

/* ══════════════════════════════════════════════════════════
   TAB BAR: 多标签切换栏
   ══════════════════════════════════════════════════════════ */
.ct-tabbar {
  display:flex; align-items:center; height:34px; background:var(--ct-gray-50);
  border-bottom:1px solid var(--ct-gray-200); padding:0 8px; position:sticky; top:52px; z-index:400;
  overflow:hidden;
}
.ct-tabbar-scroll { display:flex; align-items:center; gap:1px; overflow-x:auto; flex:1; scrollbar-width:thin; }
.ct-tabbar-scroll::-webkit-scrollbar { height:3px; }
.ct-tabbar-tab {
  display:inline-flex; align-items:center; gap:4px;
  padding:5px 12px; font-size:.78rem; color:var(--ct-gray-500);
  cursor:pointer; white-space:nowrap; user-select:none;
  border-radius:6px 6px 0 0; transition:all .12s;
  position:relative; flex-shrink:0;
}
.ct-tabbar-tab:hover { background:var(--ct-gray-100); color:var(--ct-gray-700); }
.ct-tabbar-tab.active {
  background:#fff; color:var(--ct-teal-700); font-weight:600;
  box-shadow:0 -1px 3px rgba(0,0,0,.04);
}
.ct-tabbar-tab.active::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:2px;
  background:var(--ct-teal-500);
}
.ct-tabbar-close {
  font-size:.55rem; opacity:.35; padding:1px 3px; border-radius:3px; margin-left:2px;
  transition:all .1s; color:var(--ct-gray-400);
}
.ct-tabbar-close:hover { opacity:1; background:var(--ct-gray-200); color:var(--ct-gray-700); }
.ct-tabbar-add {
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; font-size:.8rem; color:var(--ct-gray-400);
  border-radius:4px; cursor:pointer; flex-shrink:0; margin-left:4px;
  background:none; border:1px dashed var(--ct-gray-300);
}
.ct-tabbar-add:hover { border-color:var(--ct-teal-400); color:var(--ct-teal-600); background:var(--ct-teal-50); }

/* ══════════════════════════════════════════════════════════
   SIDEBAR: 左侧导航树
   ══════════════════════════════════════════════════════════ */
.ct-sidebar {
  width: 220px;
  flex-shrink: 0;
  background: var(--ct-bg-card);
  border-right: 1px solid var(--ct-gray-200);
  padding: var(--ct-space-sm);
  overflow-y: auto;
  position: sticky;
  top: 86px;
  height: calc(100vh - 86px);
  scrollbar-width: thin;
  transition: transform .25s ease;
}
.ct-nav-search {
  width:100%; margin-bottom:8px; padding:7px 10px; font-size:.8rem;
  border:1px solid var(--ct-gray-200); border-radius:8px; background:var(--ct-gray-50);
  outline:none; transition:all .2s; box-sizing:border-box;
}
.ct-nav-search:focus { border-color:var(--ct-teal-400); background:#fff; box-shadow:0 0 0 3px rgba(6,182,212,.1); }

/* ── 导航树分组 ────────────────────────────────────── */
.ct-nav-group { margin-bottom:2px; }
.ct-nav-header {
  display:flex; align-items:center; gap:6px; padding:8px 10px; border-radius:8px;
  cursor:pointer; font-size:.82rem; font-weight:600; color:var(--ct-gray-500);
  transition:all .15s; user-select:none;
}
.ct-nav-header:hover { background:var(--ct-teal-50); color:var(--ct-teal-700); }
.ct-nav-header.active { color:var(--ct-teal-700); }
.ct-nav-toggle { font-size:.55rem; width:14px; text-align:center; flex-shrink:0; transition:transform .2s; }
.ct-nav-group.collapsed .ct-nav-toggle { transform:rotate(-90deg); }
.ct-nav-label { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ct-nav-badge {
  background:var(--ct-danger); color:#fff; font-size:.55rem; font-weight:700;
  padding:1px 5px; border-radius:8px; min-width:16px; text-align:center; line-height:1.4;
}
.ct-nav-children { overflow:hidden; transition:max-height .2s ease; }
.ct-nav-group.collapsed .ct-nav-children { display:none; }

/* ── 导航项 ────────────────────────────────────────── */
.ct-nav-item {
  display:flex; align-items:center; gap:6px; padding:7px 10px 7px 36px;
  border-radius:8px; cursor:pointer; font-size:.82rem; color:var(--ct-gray-600);
  transition:all .12s;
}
.ct-nav-item:hover { background:var(--ct-teal-50); color:var(--ct-teal-700); }
.ct-nav-item.active {
  background:var(--ct-teal-50); color:var(--ct-teal-700); font-weight:600;
  border-left:3px solid var(--ct-teal-600);
}

/* ══════════════════════════════════════════════════════════
   MAIN: 工作区 + Tab 内容
   ══════════════════════════════════════════════════════════ */
.ct-admin-layout { display:flex; min-height:calc(100vh - 86px); }
.ct-main {
  flex:1; padding:var(--ct-space-lg); min-width:0;
  background:var(--ct-bg); position:relative;
}
.ct-tab-content { display:none; }
.ct-tab-content.active { display:block; animation:ct-fade-in .2s ease; }

/* ══════════════════════════════════════════════════════════
   SLIDE PANEL: 右侧滑出详情面板
   ══════════════════════════════════════════════════════════ */
.ct-slide-panel {
  position:fixed; top:86px; right:0; width:480px; max-width:100vw;
  height:calc(100vh - 86px); background:#fff; box-shadow:-4px 0 24px rgba(0,0,0,.1);
  z-index:450; overflow-y:auto; animation:ct-slide-in .2s ease;
  padding:var(--ct-space-lg);
}
.ct-slide-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.2); z-index:440;
  animation:ct-fade-in .15s ease;
}
@keyframes ct-slide-in { from { transform:translateX(100%); } to { transform:translateX(0); } }
.ct-slide-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:var(--ct-space-md); padding-bottom:var(--ct-space-sm);
  border-bottom:2px solid var(--ct-gray-100);
}
.ct-slide-close {
  background:none; border:none; font-size:1.2rem; cursor:pointer;
  color:var(--ct-gray-400); padding:4px 8px; border-radius:6px;
}
.ct-slide-close:hover { background:var(--ct-gray-100); color:var(--ct-gray-700); }

/* ══════════════════════════════════════════════════════════
   BOTTOM NAV: 移动端底部导航
   ══════════════════════════════════════════════════════════ */
.ct-bottom-nav {
  display:none;
  position:fixed; bottom:0; left:0; right:0;
  background:#fff; border-top:1px solid var(--ct-gray-200);
  z-index:600; padding:4px 0 env(safe-area-inset-bottom);
  justify-content:space-around;
}
.ct-bnav-item {
  display:flex; flex-direction:column; align-items:center; gap:2px;
  background:none; border:none; font-size:.85rem; color:var(--ct-gray-400);
  cursor:pointer; padding:4px 12px; border-radius:8px;
  transition:all .12s; font-family:var(--ct-font);
}
.ct-bnav-item span { font-size:.6rem; font-weight:500; }
.ct-bnav-item.active { color:var(--ct-teal-600); }
.ct-bnav-item:hover { color:var(--ct-teal-500); }

/* ══════════════════════════════════════════════════════════
   TASK CARD (待办卡片)
   ══════════════════════════════════════════════════════════ */
.ct-task-card {
  display:flex; align-items:center; gap:10px; flex-shrink:0;
  padding:10px 16px; border-radius:10px; cursor:pointer;
  border:1px solid var(--ct-gray-200); background:var(--ct-bg-card);
  transition:all .15s; min-width:130px;
}
.ct-task-card:hover {
  border-color:var(--ct-teal-400); box-shadow:var(--ct-shadow-md);
  transform:translateY(-2px);
}
.ct-task-card .ct-nav-card-icon { font-size:1.3rem; }
.ct-task-card:active { transform:translateY(0) scale(.97); }

/* ══════════════════════════════════════════════════════════
   STATS ROW & CARDS
   ══════════════════════════════════════════════════════════ */
.ct-stats-row {
  display:flex; gap:var(--ct-space-md); margin-bottom:var(--ct-space-lg);
  flex-wrap:nowrap;
}
.ct-stat-card {
  flex:1; min-width:0;
  background:var(--ct-bg-card); border:1px solid var(--ct-gray-200);
  border-radius:12px; padding:14px 8px;
  text-align:center; position:relative; overflow:hidden;
  transition:all .2s ease;
}
.ct-stat-card:hover {
  box-shadow:0 4px 16px rgba(6,182,212,.08); transform:translateY(-2px);
  border-color:var(--ct-teal-300); background:var(--ct-teal-50);
}
.ct-stat-card:active { transform:translateY(0) scale(.97); }
.ct-stat-card::before {
  content:''; position:absolute; top:0; left:0; width:100%; height:3px;
  border-radius:3px 3px 0 0;
}
.ct-stat-card.info::before  { background:var(--ct-info); }
.ct-stat-card.warn::before  { background:var(--ct-warning); }
.ct-stat-card.danger::before { background:var(--ct-danger); }
.ct-stat-card.done::before  { background:var(--ct-success); }
.ct-stat-card .num {
  font-size:1.5rem; font-weight:700; color:var(--ct-teal-700);
}
.ct-stat-card .num.warn   { color:var(--ct-warning); }
.ct-stat-card .num.done   { color:var(--ct-success); }
.ct-stat-card .num.danger { color:var(--ct-danger); }
.ct-stat-card .num.info   { color:var(--ct-info); }
.ct-stat-card .lbl {
  font-size:var(--ct-text-xs); color:var(--ct-text-muted); margin-top:4px; font-weight:500;
}

/* ══════════════════════════════════════════════════════════
   NAV CARDS (仪表盘快捷操作)
   ══════════════════════════════════════════════════════════ */
.ct-nav-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(130px, 1fr));
  gap:var(--ct-space-md); margin-bottom:var(--ct-space-lg);
}
.ct-nav-card {
  cursor:pointer; background:var(--ct-bg-card);
  border:1px solid var(--ct-gray-200); border-radius:12px;
  padding:16px 12px; text-align:center;
  transition:all .2s ease;
}
.ct-nav-card:hover {
  border-color:var(--ct-teal-400);
  box-shadow:0 4px 16px rgba(6,182,212,.08);
  transform:translateY(-2px); background:var(--ct-teal-50);
}
.ct-nav-card:active { transform:translateY(0) scale(.95); }
.ct-nav-card-icon { font-size:1.6rem; margin-bottom:6px; display:block; }
.ct-nav-card-title { font-weight:600; font-size:.78rem; color:var(--ct-text); }
.ct-nav-card-sub { font-size:.7rem; color:var(--ct-text-muted); margin-top:4px; }

/* ══════════════════════════════════════════════════════════
   BADGE TAG (仪表盘标签)
   ══════════════════════════════════════════════════════════ */
.ct-badge-tag {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 14px; border-radius:20px; font-size:.8rem;
  background:var(--ct-teal-50); color:var(--ct-teal-700);
  border:1px solid var(--ct-teal-200); font-weight:500;
  transition:all .15s;
}
.ct-badge-tag:hover { background:var(--ct-teal-100); border-color:var(--ct-teal-400); }

/* ── 通用卡片增强 ──────────────────────────────────────── */
.ct-card { border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.ct-card-header { padding:12px 16px 0; font-weight:600; font-size:.85rem; display:flex; align-items:center; justify-content:space-between; }
.ct-mb-sm { margin-bottom:12px; }
.ct-mt-sm { margin-top:12px; }
.ct-text-xs { font-size:.7rem; }
.ct-text-sm { font-size:.8rem; }
.ct-text-muted { color:var(--ct-gray-400); }
.ct-stagger { animation:ct-fade-in .25s ease; }

/* ══════════════════════════════════════════════════════════
   FORM: 内联查询表单 + 操作栏
   ══════════════════════════════════════════════════════════ */
.ct-action-bar {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:var(--ct-space-md);
}
.ct-action-bar-left { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ct-action-bar-right { display:flex; gap:6px; flex-wrap:wrap; }
.ct-form-inline {
  display:flex; flex-wrap:wrap; gap:10px; padding:12px 0; align-items:end;
}
.ct-form-inline .ct-field { flex:1; min-width:140px; }
.ct-form-inline .ct-field select { width:100%; }

/* ══════════════════════════════════════════════════════════
   TABLE
   ══════════════════════════════════════════════════════════ */
.ct-table { width:100%; border-collapse:separate; border-spacing:0; font-size:.85rem; }
.ct-table th {
  text-align:left; padding:10px 12px; font-weight:600; font-size:.78rem;
  color:var(--ct-gray-500); border-bottom:2px solid var(--ct-gray-200);
  white-space:nowrap; position:sticky; top:0; background:var(--ct-bg);
}
.ct-table td { padding:10px 12px; border-bottom:1px solid var(--ct-gray-100); }
.ct-table tr:hover td { background:var(--ct-teal-50); }
.ct-table-wrap { overflow-x:auto; }

.ct-action-row td:before { display:none; }
.ct-action-row { display:none; }
.ct-table tr.hover-row + .ct-action-row { display:table-row; }
.ct-action-row .status-actions {
  display:flex; flex-wrap:wrap; gap:6px; padding:8px 12px;
  background:var(--ct-gray-100); border-radius:0 0 var(--ct-radius) var(--ct-radius);
}
.ct-badge-sm { display:inline-block; padding:2px 8px; font-size:.65rem; font-weight:600; border-radius:4px; }

/* ══════════════════════════════════════════════════════════
   TOAST
   ══════════════════════════════════════════════════════════ */
.ct-toast {
  position:fixed; bottom:24px; left:50%; transform:translateX(-50%);
  padding:10px 24px; border-radius:10px; font-size:.85rem; font-weight:500;
  z-index:9999; opacity:0; transition:all .3s; pointer-events:none;
  max-width:90vw; text-align:center;
}
.ct-toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.ct-toast-ok { background:var(--ct-success); color:#fff; }
.ct-toast-err { background:var(--ct-danger); color:#fff; }

/* ══════════════════════════════════════════════════════════
   DIALOG / OVERLAY
   ══════════════════════════════════════════════════════════ */
.ct-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.3); z-index:5000;
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.ct-dialog {
  background:#fff; border-radius:var(--ct-radius-lg); padding:var(--ct-space-xl);
  max-width:440px; width:100%; box-shadow:0 16px 48px rgba(0,0,0,.15);
}
.ct-dialog h3 { margin:0 0 8px; font-size:1rem; }
.ct-dialog p { margin:0 0 20px; color:var(--ct-gray-500); font-size:.85rem; }
.ct-dialog-actions { display:flex; gap:8px; justify-content:end; }

/* ══════════════════════════════════════════════════════════
   QUICK STATS BAR (包裹页顶部)
   ══════════════════════════════════════════════════════════ */
.ct-stats-bar {
  display:flex; flex-wrap:wrap; gap:8px; padding:10px 16px;
  background:var(--ct-gray-100); border:1px solid var(--ct-gray-200);
  border-radius:var(--ct-radius); margin-bottom:12px;
}
.ct-stat { text-align:center; min-width:60px; padding:4px 12px; }
.ct-stat-num { font-size:1.15rem; font-weight:800; color:var(--ct-teal-700); line-height:1.2; }
.ct-stat-label { font-size:.6rem; color:var(--ct-gray-400); font-weight:500; text-transform:uppercase; letter-spacing:.5px; }

/* ══════════════════════════════════════════════════════════
   KEYBOARD SHORTCUT HINT
   ══════════════════════════════════════════════════════════ */
.ct-kbd {
  display:inline-block; padding:2px 6px; font-size:.65rem; font-weight:600;
  background:var(--ct-gray-100); border:1px solid var(--ct-gray-200);
  border-radius:4px; color:var(--ct-gray-500); font-family:var(--ct-font-mono);
  margin:0 2px;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE (平板 & 手机)
   ══════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .ct-topbar-search { width:120px; }
  .ct-topbar-search:focus { width:160px; }
  .ct-mm-label { display:none; }
  .ct-mm-item { padding:6px 8px; }
}

@media(max-width:768px){
  /* 显示汉堡菜单 & 隐藏侧栏 */
  .ct-nav-toggle-btn { display:block; }
  .ct-sidebar {
    position:fixed; top:52px; left:0; width:260px; height:calc(100vh - 52px);
    z-index:490; box-shadow:4px 0 20px rgba(0,0,0,.08);
    transform:translateX(-100%); top:52px; height:calc(100vh - 52px);
  }
  .ct-sidebar.open { transform:translateX(0); }

  /* 主菜单改为可滚动 */
  .ct-megamenu { overflow-x:auto; justify-content:flex-start; gap:0; }
  .ct-mm-drop { position:fixed; top:auto; left:0; right:0; border-radius:0; box-shadow:0 4px 16px rgba(0,0,0,.1); }

  /* Tab 栏 */
  .ct-tabbar { top:52px; }

  /* 显示底部导航 */
  .ct-bottom-nav { display:flex; }
  .ct-admin-layout { min-height:calc(100vh - 86px - 56px); }

  /* 工作区 padding 缩小 */
  .ct-main { padding:12px; margin-bottom:56px; }

  /* 滑出面板全宽 */
  .ct-slide-panel { width:100vw; max-width:100vw; }

  /* Stats 行适应 */
  .ct-stats-row { grid-template-columns:repeat(2,1fr); gap:8px; }
  .ct-nav-grid { grid-template-columns:repeat(2,1fr); gap:8px; }

  /* 搜索框 */
  .ct-topbar-search { width:100px; }
  .ct-topbar-search:focus { width:140px; }
  .ct-search-overlay { right:10px; width:calc(100vw - 20px); }
  .ct-notif-panel { right:10px; width:calc(100vw - 20px); }

  /* 顶栏紧凑 */
  .ct-topbar { padding:0 10px; gap:6px; }
  .ct-topbar-user { display:none; }
}

@media(max-width:480px){
  .ct-main { padding:8px; }
  .ct-stats-row { grid-template-columns:repeat(2,1fr); gap:6px; }
  .ct-stat-card .num { font-size:1.1rem; }
  .ct-stat-card { padding:8px; }
  .ct-stats-bar { padding:8px 10px; }
  .ct-stat { min-width:48px; padding:2px 8px; }
  .ct-topbar-search { width:80px; font-size:.75rem; }
  .ct-topbar { padding:0 6px; gap:4px; }
  .ct-megamenu { gap:0; }
  .ct-mm-item { padding:6px 6px; font-size:.78rem; }
}

/* ══════════════════════════════════════════════════════════
   DARK MODE
   ══════════════════════════════════════════════════════════ */
@media(prefers-color-scheme:dark){
  .ct-topbar { background:rgba(8,51,68,.95); }
  .ct-sidebar { background:var(--ct-gray-900); border-right-color:var(--ct-gray-800); }
  .ct-nav-header:hover, .ct-nav-item:hover,
  .ct-nav-item.active, .ct-nav-header.active { background:var(--ct-teal-950); }
  .ct-tabbar { background:var(--ct-gray-900); border-bottom-color:var(--ct-gray-800); }
  .ct-tabbar-tab { color:var(--ct-gray-400); }
  .ct-tabbar-tab:hover { background:var(--ct-gray-800); color:var(--ct-gray-200); }
  .ct-tabbar-tab.active { background:var(--ct-gray-900); color:var(--ct-teal-300); }
  .ct-main { background:var(--ct-gray-950); }
  .ct-stat-card { background:var(--ct-gray-900); border-color:var(--ct-gray-800); }
  .ct-nav-card { background:var(--ct-gray-900); border-color:var(--ct-gray-800); }
  .ct-mm-drop { background:var(--ct-gray-800); }
  .ct-mm-drop-item { color:var(--ct-gray-300); }
  .ct-mm-drop-item:hover { background:var(--ct-teal-950); color:var(--ct-teal-300); }
  .ct-slide-panel { background:var(--ct-gray-900); }
  .ct-bottom-nav { background:var(--ct-gray-900); border-top-color:var(--ct-gray-800); }
  .ct-bnav-item { color:var(--ct-gray-500); }
  .ct-bnav-item.active { color:var(--ct-teal-400); }
  .ct-nav-search { background:var(--ct-gray-800); border-color:var(--ct-gray-700); color:var(--ct-gray-200); }
  .ct-nav-search:focus { background:var(--ct-gray-800); border-color:var(--ct-teal-600); }
  .ct-dialog { background:var(--ct-gray-800); }
  .ct-table th { background:var(--ct-gray-950); color:var(--ct-gray-400); }
  .ct-table td { border-bottom-color:var(--ct-gray-800); }
  .ct-table tr:hover td { background:var(--ct-teal-950); }
  .ct-search-overlay, .ct-notif-panel { background:var(--ct-gray-800); }
}

/* ══════════════════════════════════════════════════════════
   ANIMATIONS
   ══════════════════════════════════════════════════════════ */
@keyframes ct-fade-in {
  from { opacity:0; transform:translateY(4px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes ct-scale-in {
  from { opacity:0; transform:scale(.95); }
  to   { opacity:1; transform:scale(1); }
}
