/* ============================================================
   蚁群系统 移动端 V13 — 企业效率风格（钉钉/飞书参考）
   设计原则：该紧凑的紧凑，该舒展的舒展
   ============================================================ */

@media (max-width: 768px) {

  :root {
    --m-red:    #C41230;
    --m-red-dk: #9A0E24;
    --m-bg:     #F0F0F2;
    --m-surface:#FFFFFF;
    --m-text:   #111827;
    --m-sub:    #6B7280;
    --m-muted:  #9CA3AF;
    --m-border: #E5E7EB;
    --m-hair:   #F3F4F6;
    --m-green:  #059669;
    --m-amber:  #D97706;
    --m-blue:   #2563EB;
    --m-radius: 8px;
    --m-head-h: 44px;
    --m-nav-h:  50px;
    --m-gap:    8px;
    --m-pad:    10px;
    --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --shadow-md: 0 1px 4px rgba(0,0,0,0.06);
  }

  html, body {
    font-size: 14px !important;
    background: var(--m-bg); color: var(--m-text);
    line-height: 1.45; overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    font-family: "Microsoft YaHei","PingFang SC",sans-serif;
  }

  .app-layout { display:flex !important; flex-direction:column !important; min-height:100dvh !important; }
  .gov-header, .gov-nav, .gov-content, .gov-footer, .gov-watermark, .mobile-nav { display:none !important; }
  body.app-active .gov-header  { display:flex !important; }
  body.app-active .gov-content { display:block !important; }
  body.app-active .mobile-nav  { display:flex !important; }

  /* ========================================================
     LOGIN — 登录页保持适度留白，不能挤
     ======================================================== */
  .login-overlay {
    position:fixed !important; inset:0 !important; z-index:9999 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    background:var(--m-red) !important;
  }
  .login-overlay::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 60% 50% at 50% 30%, rgba(0,0,0,0.2) 0%, transparent 100%); pointer-events:none; }
  .login-overlay.hidden, .login-bg, .login-guardian-ring { display:none !important; }
  .login-card { position:relative; z-index:1; width:86vw; max-width:340px; padding:28px 20px 24px; background:#fff; border-radius:16px; box-shadow:0 16px 48px rgba(0,0,0,0.35); }
  .login-emblem { margin-bottom:14px; }
  .login-hero-icon { display:block; width:64px; height:64px; margin:0 auto; object-fit:contain; }
  .login-emblem-icon { display:none; }
  .login-title { font-size:0 !important; }
  .login-title::after { content:"蚁群"; display:block; text-align:center; font-size:22px; font-weight:800; color:#111; letter-spacing:5px; }
  .login-version { display:none; }
  .login-field { margin-bottom:12px; }
  .login-field-label { display:block; font-size:12px; font-weight:600; color:#555; margin-bottom:4px; }
  .login-input, .login-select { width:100%; height:44px; padding:0 12px; border:1.5px solid #E5E7EB; border-radius:8px; font-size:14px; background:#F9FAFB; color:#111; outline:none; -webkit-appearance:none; }
  .login-input:focus { border-color:var(--m-red); background:#fff; }
  .login-options { display:flex; align-items:center; gap:8px; font-size:11px; color:#999; margin-bottom:12px; flex-wrap:wrap; }
  .login-checkbox { display:inline-flex; align-items:center; gap:3px; }
  .login-checkbox input { accent-color:var(--m-red); }
  .login-forgot { margin-left:auto; color:var(--m-red); text-decoration:none; font-weight:600; }
  .login-error { min-height:20px; font-size:12px; margin-bottom:6px; text-align:center; }
  .login-btn { width:100%; height:44px; background:var(--m-red); color:#fff; border:none; border-radius:8px; font-size:16px; font-weight:700; letter-spacing:4px; cursor:pointer; }
  .login-btn:active { background:var(--m-red-dk); transform:scale(0.98); }
  .login-btn:disabled { opacity:0.4; transform:none; }
  .login-hint { text-align:center; font-size:11px; color:#bbb; margin-top:14px; }
  .login-hint a { color:var(--m-red); text-decoration:none; }

  /* ========================================================
     HEADER — 顶栏 44px，紧凑够用
     ======================================================== */
  .gov-header { position:fixed !important; top:0; left:0; right:0; height:var(--m-head-h) !important; background:var(--m-red) !important; z-index:1000 !important; padding:0 var(--m-pad) !important; display:flex !important; align-items:center !important; }
  .gov-header-inner { display:flex; align-items:center; width:100%; gap:8px; }
  .gov-header-brand { flex:1; min-width:0; display:flex; align-items:center; gap:6px; }
  .gov-header-emblem { width:28px; height:28px; flex-shrink:0; }
  .gov-header-emblem img { width:100%; height:100%; border-radius:50%; }
  .gov-header-name { font-size:0 !important; }
  .gov-header-name::after { content:"蚁群"; font-size:17px; font-weight:800; color:#fff; letter-spacing:3px; }
  .gov-header-sub, .gov-header-date { display:none !important; }
  .gov-header-actions { flex-shrink:0; display:flex; align-items:center; gap:6px; }
  .gov-header-user { font-size:11px !important; color:rgba(255,255,255,0.85) !important; max-width:56px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .gov-header-actions select { display:none !important; }
  .btn-bell { font-size:18px; padding:4px; background:none !important; border:none; cursor:pointer; position:relative; color:#fff; }
  .bell-badge { position:absolute; top:0; right:0; width:7px; height:7px; background:#FFD54F; border-radius:50%; }
  .gov-nav { display:none !important; }

  /* ========================================================
     CONTENT
     ======================================================== */
  .gov-content { margin:0 !important; padding:0 !important; flex:1 !important; }
  .gov-content-inner { padding:var(--m-pad) !important; padding-top:calc(var(--m-head-h) + var(--m-pad)) !important; padding-bottom:calc(var(--m-nav-h) + var(--m-pad) + env(safe-area-inset-bottom,0px)) !important; max-width:100% !important; }
  .gov-breadcrumb { display:none !important; }

  /* ========================================================
     BOTTOM NAV
     ======================================================== */
  .mobile-nav {
    display:flex !important; position:fixed !important;
    bottom:0 !important; left:0 !important; right:0 !important;
    height:var(--m-nav-h) !important; background:#fff !important;
    border-top:1px solid var(--m-border) !important; z-index:1100 !important;
    justify-content:space-around; align-items:center;
    padding-bottom:env(safe-area-inset-bottom,0px) !important;
    box-shadow:0 -1px 3px rgba(0,0,0,0.03);
  }
  .mnav-tab { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; padding:4px 0; text-decoration:none; color:var(--m-muted); font-size:10px; font-weight:500; transition:color 0.15s; }
  .mnav-tab .mnav-icon { font-size:20px; line-height:1; transition:transform 0.15s; }
  .mnav-tab .mnav-label { font-size:10px; }
  .mnav-tab.active { color:var(--m-red); font-weight:700; }
  .mnav-tab.active .mnav-icon { transform:scale(1.06); }

  /* ========================================================
     ANIMATIONS
     ======================================================== */
  .page { animation:m-in 0.18s ease; }
  @keyframes m-in { from{opacity:0;transform:translateY(4px);} to{opacity:1;transform:translateY(0);} }
  @keyframes m-slide-up { from{transform:translateY(100%);} to{transform:translateY(0);} }

  /* ========================================================
     FILTER BAR — 每页都有，压缩垂直空间
     ======================================================== */
  .filter-bar { display:flex; align-items:center; gap:6px; flex-wrap:wrap; padding:8px 10px; background:var(--m-surface); border-radius:var(--m-radius); margin-bottom:var(--m-gap); box-shadow:var(--shadow-sm); font-size:12px; overflow-x:auto; }
  .filter-bar::-webkit-scrollbar { display:none; }
  .filter-label { font-weight:700; color:var(--m-text); font-size:12px; flex-shrink:0; }
  .filter-bar select { height:30px; padding:0 8px; border:1.5px solid var(--m-border); border-radius:6px; font-size:12px; background:#fff; color:var(--m-text); }
  .filter-bar .btn, .filter-bar button { min-height:30px; padding:4px 10px; font-size:12px; font-weight:600; border-radius:6px; border:1.5px solid var(--m-border); background:#fff; color:var(--m-sub); white-space:nowrap; flex-shrink:0; }
  .filter-bar .btn-primary, .filter-bar .btn-accent { background:var(--m-red); color:#fff; border-color:var(--m-red); }

  /* ========================================================
     WORKBENCH — 工作台（用户已确认：方向OK）
     ======================================================== */
  .wb-section { margin-bottom:10px; }
  .wb-section-title { font-size:13px; font-weight:700; color:var(--m-text); padding:0 2px; margin-bottom:8px; }
  .wb-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
  .wb-card {
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:6px; padding:14px 10px 12px; background:var(--m-surface);
    border-radius:var(--m-radius); box-shadow:var(--shadow-sm);
    text-decoration:none; color:var(--m-text); transition:all 0.12s;
    cursor:pointer; min-height:88px;
  }
  .wb-card:active { background:#F9FAFB; transform:scale(0.96); box-shadow:var(--shadow-md); }
  .wb-card-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .wb-card-emoji { font-size:22px; line-height:1; }
  .wb-card-label { font-size:12px; font-weight:600; text-align:center; line-height:1.3; }

  /* ========================================================
     STAT CARDS — 数据卡片，数字保持 22px 醒目
     ======================================================== */
  .stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--m-gap); margin-bottom:var(--m-gap); }
  .stat-card {
    background:var(--m-surface); border-radius:var(--m-radius);
    padding:12px 10px; box-shadow:var(--shadow-sm);
    border-left:3px solid var(--m-red); transition:transform 0.1s;
  }
  .stat-card:active { transform:scale(0.97); }
  .stat-card .stat-label { font-size:11px; font-weight:600; color:var(--m-muted); margin-bottom:5px; text-transform:uppercase; letter-spacing:0.3px; }
  .stat-card .stat-value { font-size:22px; font-weight:800; color:var(--m-text); line-height:1.15; font-variant-numeric:tabular-nums; }
  .stat-card .stat-sub { font-size:11px; color:var(--m-muted); margin-top:5px; line-height:1.4; }
  .stat-card.red    .stat-value, .stat-card.danger  .stat-value { color:var(--m-red); }
  .stat-card.green  .stat-value, .stat-card.success .stat-value { color:var(--m-green); }
  .stat-card.amber  .stat-value, .stat-card.warning .stat-value { color:var(--m-amber); }
  .stat-card.blue   .stat-value, .stat-card.info    .stat-value { color:var(--m-blue); }

  /* ========================================================
     CARDS — 通用卡片容器
     ======================================================== */
  .card { background:var(--m-surface); border-radius:var(--m-radius); padding:12px 10px; margin-bottom:var(--m-gap); box-shadow:var(--shadow-sm); }
  .card-header { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--m-text); margin-bottom:8px; padding-bottom:8px; border-bottom:1px solid var(--m-hair); }
  .data-card-grid { grid-template-columns:1fr !important; }

  /* ========================================================
     TABLES — 行高收紧，提高数据密度
     ======================================================== */
  .data-table, table { width:100%; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; border-collapse:collapse; font-size:12px; }
  .data-table th, table th { background:var(--m-hair); color:var(--m-sub); font-weight:700; font-size:11px; letter-spacing:0.2px; padding:6px 8px; text-align:left; border-bottom:1.5px solid var(--m-border); }
  .data-table td, table td { padding:7px 8px; border-bottom:1px solid var(--m-hair); color:var(--m-text); font-size:12px; }
  .data-table tbody tr:nth-child(even), table tbody tr:nth-child(even) { background:#FAFAFC; }
  .data-table tbody tr:active, table tbody tr:active { background:#FEF2F2; }

  /* ========================================================
     FORMS — 输入框 38px，触控足够
     ======================================================== */
  input[type="text"], input[type="number"], input[type="date"], input[type="search"], input[type="password"], input[type="email"], select, textarea, .form-input, .form-select { font-size:14px !important; max-width:100%; min-height:38px; padding:7px 10px; border:1.5px solid var(--m-border); border-radius:6px; background:#fff; color:var(--m-text); -webkit-appearance:none; }
  input:focus, select:focus, textarea:focus { border-color:var(--m-red); outline:none; }
  table input, table select, table .form-input, table .form-select { font-size:12px !important; padding:5px 8px !important; min-height:28px; margin-bottom:0 !important; border-width:1px; }

  /* ========================================================
     BUTTONS — 主按钮 38px，小按钮 28px
     ======================================================== */
  .btn, button:not(.iq-install-close):not(.ai-panel-close):not(.file-pill-delete):not(.file-pill-download):not(.btn-bell) { min-height:38px; padding:7px 14px; font-size:13px; font-weight:600; border-radius:6px; border:none; cursor:pointer; transition:all 0.1s; }
  .btn-sm { min-height:28px; padding:4px 8px; font-size:11px; border-radius:5px; }
  .btn-accent, .btn-primary { background:var(--m-red); color:#fff; }
  .btn-accent:active, .btn-primary:active { background:var(--m-red-dk); transform:scale(0.97); }
  .btn-success { background:var(--m-green); color:#fff; }
  .btn-danger { background:#DC2626; color:#fff; }
  .btn-outline { background:#fff; color:var(--m-sub); border:1.5px solid var(--m-border) !important; }
  .btn-outline:active { background:var(--m-hair); }

  /* ========================================================
     MODAL — 全屏弹窗，header/footer 紧凑
     ======================================================== */
  .modal-overlay { z-index:2000 !important; padding:0 !important; }
  .modal { width:100vw !important; max-width:100vw !important; height:100dvh !important; max-height:100dvh !important; margin:0 !important; border-radius:0 !important; display:flex; flex-direction:column; }
  .modal-header { flex-shrink:0; border-radius:0 !important; background:var(--m-red); color:#fff; font-size:15px; font-weight:700; padding:12px; }
  .modal-body   { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding:var(--m-pad); }
  .modal-footer { flex-shrink:0; border-radius:0 !important; padding:10px var(--m-pad); border-top:1px solid var(--m-border); background:#fff; }

  /* ========================================================
     AI FAB
     ======================================================== */
  .ai-panel { width:calc(100vw - 12px) !important; right:6px !important; bottom:calc(var(--m-nav-h) + 6px) !important; height:380px !important; border-radius:16px !important; }
  .ai-fab { bottom:calc(var(--m-nav-h) + 12px) !important; right:12px !important; width:44px !important; height:44px !important; border-radius:0 !important; background:none !important; border:none !important; box-shadow:none !important; z-index:1050 !important; opacity:0.7; filter:drop-shadow(0 2px 8px rgba(0,0,0,0.35)); padding:0 !important; min-height:0 !important; }
  .ai-fab img { width:100%; height:100%; object-fit:contain; }
  .ai-fab:active { transform:scale(0.85); opacity:1; }

  /* ========================================================
     TOAST / BADGE / ALERT / EMPTY
     ======================================================== */
  .toast { left:var(--m-pad) !important; right:var(--m-pad) !important; bottom:calc(var(--m-nav-h) + 12px) !important; }
  .badge { display:inline-flex; align-items:center; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600; white-space:nowrap; }
  .badge-success { background:#ECFDF5; color:var(--m-green); }
  .badge-warning { background:#FFFBEB; color:var(--m-amber); }
  .badge-danger  { background:#FEF2F2; color:var(--m-red); }
  .badge-neutral { background:var(--m-hair); color:var(--m-muted); }
  .badge-info    { background:#EFF6FF; color:var(--m-blue); }
  .alert { padding:10px 10px; border-radius:var(--m-radius); margin-bottom:var(--m-gap); font-size:12px; line-height:1.5; box-shadow:var(--shadow-sm); }
  .alert-info    { background:#EFF6FF; color:#1E40AF; }
  .alert-warning { background:#FFFBEB; color:var(--m-amber); }
  .alert-danger  { background:#FEF2F2; color:var(--m-red); }
  .alert-success { background:#ECFDF5; color:var(--m-green); }
  .empty-state { text-align:center; padding:32px 16px; color:var(--m-muted); }
  .empty-icon { font-size:36px; margin-bottom:10px; opacity:0.25; }
  .empty-text { font-size:13px; font-weight:600; }

  /* ========================================================
     TAB NAV
     ======================================================== */
  .tab-nav { display:flex; gap:4px; margin-bottom:var(--m-gap); overflow-x:auto; padding:4px; background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); }
  .tab-nav::-webkit-scrollbar { display:none; }
  .tab-nav button, .tab-nav .tab-btn { flex-shrink:0; padding:6px 12px; border:none; background:none; font-size:12px; font-weight:600; color:var(--m-sub); border-radius:6px; cursor:pointer; white-space:nowrap; min-height:30px; }
  .tab-nav .active, .tab-nav button.active { background:var(--m-red); color:#fff; }

  /* ========================================================
     PROGRESS
     ======================================================== */
  .m-progress { height:5px; background:var(--m-hair); border-radius:3px; overflow:hidden; flex:1; min-width:30px; }
  .m-progress-fill { height:100%; border-radius:3px; background:var(--m-red); transition:width 0.3s; }
  .m-progress-fill.green { background:var(--m-green); }
  .m-progress-fill.amber { background:var(--m-amber); }

  /* ========================================================
     DASHBOARD — 首页
     ======================================================== */
  #dash-filter-bar { flex-direction:column !important; align-items:flex-start !important; gap:6px !important; }
  #dash-filter-bar select { width:100% !important; height:34px !important; }
  #dash-section1 > div { display:flex !important; flex-direction:column !important; gap:8px !important; }
  #dash-section1 > div > a { width:100% !important; max-width:100% !important; display:block !important; }
  #dash-section1 .card { width:100% !important; max-width:100% !important; margin-bottom:0 !important; }
  #dash-section1 .card-header { font-size:14px !important; font-weight:700 !important; }
  #dash-section1 .card [style*="1fr 1fr"] { gap:8px !important; }
  #dash-invoice-toggle, #dash-chart-toggle { font-size:13px !important; padding:10px 0 !important; }
  #dash-section2, #dash-section5-wrapper { display:block !important; }

  /* ========================================================
     FINANCE OVERVIEW — 资金总览
     ======================================================== */
  #finance-overview-content .stat-grid { grid-template-columns:repeat(2,1fr) !important; }
  #finance-overview-content > div[style*="1fr 1fr"] { grid-template-columns:1fr !important; }

  /* ========================================================
     CERTIFICATES — 证书资质竖版卡片
     ======================================================== */
  .cert-mob-list { display:flex; flex-direction:column; gap:6px; }

  .cert-mob-card {
    background:var(--m-surface); border-radius:var(--m-radius);
    box-shadow:var(--shadow-sm); overflow:hidden; position:relative;
  }
  .cert-mob-card::before {
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  }
  .cert-mob-card.cert-mob-valid::before    { background:var(--m-green); }
  .cert-mob-card.cert-mob-expiring::before { background:var(--m-amber); }
  .cert-mob-card.cert-mob-expired::before  { background:var(--m-red); }

  .cert-mob-top {
    display:flex; align-items:flex-start; justify-content:space-between;
    gap:6px; padding:10px 10px 2px 14px;
  }
  .cert-mob-name {
    font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0;
    line-height:1.35; word-break:break-all;
  }
  .cert-mob-status {
    flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px;
    border-radius:10px; white-space:nowrap;
  }
  .cert-mob-status.cert-mob-valid    { background:#ECFDF5; color:var(--m-green); }
  .cert-mob-status.cert-mob-expiring { background:#FFFBEB; color:var(--m-amber); }
  .cert-mob-status.cert-mob-expired  { background:#FEF2F2; color:var(--m-red); }

  .cert-mob-type {
    padding:0 10px 6px 14px; font-size:11px; font-weight:600; color:var(--m-red);
    letter-spacing:0.3px;
  }

  .cert-mob-info { padding:0 10px 0 14px; }
  .cert-mob-row {
    display:flex; align-items:baseline; padding:5px 0;
    border-bottom:1px solid var(--m-hair); font-size:12px;
  }
  .cert-mob-row:last-child { border-bottom:none; }
  .cert-mob-label {
    color:var(--m-muted); width:56px; flex-shrink:0; font-weight:500; font-size:11px;
  }
  .cert-mob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .cert-mob-mono {
    font-family:"SF Mono","Consolas","Menlo",monospace; font-size:10px;
    letter-spacing:0.2px;
  }

  .cert-mob-dates {
    display:flex; align-items:center; gap:6px;
    margin:6px 10px 6px 14px; padding:6px 8px;
    background:var(--m-hair); border-radius:6px;
  }
  .cert-mob-date-item {
    display:flex; flex-direction:column; gap:1px; flex:1; min-width:0;
  }
  .cert-mob-date-item span:first-child {
    font-size:10px; color:var(--m-muted);
  }
  .cert-mob-date-item span:last-child {
    font-size:12px; color:var(--m-text); font-weight:600;
    font-variant-numeric:tabular-nums;
  }
  .cert-mob-date-sep { color:var(--m-muted); font-size:12px; flex-shrink:0; }

  .cert-mob-actions {
    display:flex; gap:6px; padding:4px 10px 10px 14px; flex-wrap:wrap;
  }
  .cert-mob-act {
    flex:1; min-width:44px; min-height:34px; padding:6px 4px;
    border:1.5px solid var(--m-border); border-radius:6px;
    background:var(--m-surface); font-size:12px; font-weight:600;
    color:var(--m-sub); cursor:pointer; transition:all 0.1s;
    white-space:nowrap; text-align:center; font-family:inherit;
  }
  .cert-mob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .cert-mob-act-off {
    opacity:0.35; background:var(--m-hair); color:var(--m-muted);
  }
  .cert-mob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .cert-mob-act-del   { border-color:#DC2626; color:#DC2626; }
  .cert-mob-act-edit:active { background:#FEF2F2; }
  .cert-mob-act-del:active   { background:#FEF2F2; }

  /* ========================================================
     ADMIN — 用户管理竖版卡片
     ======================================================== */
  .amob-list { display:flex; flex-direction:column; gap:6px; }
  .amob-card {
    background:var(--m-surface); border-radius:var(--m-radius);
    box-shadow:var(--shadow-sm); overflow:hidden; position:relative;
  }
  .amob-card::before {
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  }
  .amob-card.amob-active::before   { background:var(--m-green); }
  .amob-card.amob-inactive::before { background:var(--m-muted); }

  .amob-top {
    display:flex; align-items:flex-start; justify-content:space-between;
    gap:6px; padding:10px 10px 2px 14px;
  }
  .amob-name {
    font-size:15px; font-weight:700; color:var(--m-text); flex:1; min-width:0;
  }
  .amob-status {
    flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px;
  }
  .amob-status.amob-active   { background:#ECFDF5; color:var(--m-green); }
  .amob-status.amob-inactive { background:var(--m-hair); color:var(--m-muted); }

  .amob-role {
    padding:0 10px 6px 14px; font-size:12px; color:var(--m-red); font-weight:600;
  }

  .amob-info { padding:0 10px 0 14px; }
  .amob-row {
    display:flex; align-items:baseline; padding:5px 0;
    border-bottom:1px solid var(--m-hair); font-size:12px;
  }
  .amob-row:last-child { border-bottom:none; }
  .amob-label {
    color:var(--m-muted); width:36px; flex-shrink:0; font-weight:500; font-size:11px;
  }
  .amob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }

  .amob-actions {
    display:flex; gap:6px; padding:6px 10px 10px 14px; flex-wrap:wrap;
  }
  .amob-act {
    flex:1; min-width:44px; min-height:34px; padding:6px 4px;
    border:1.5px solid var(--m-border); border-radius:6px;
    background:var(--m-surface); font-size:11px; font-weight:600;
    color:var(--m-sub); cursor:pointer; transition:all 0.1s;
    white-space:nowrap; text-align:center; font-family:inherit;
  }
  .amob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .amob-act-warn { border-color:var(--m-amber); color:var(--m-amber); }
  .amob-act-on   { border-color:var(--m-green); color:var(--m-green); }
  .amob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     CONTRACTS — 合同竖版卡片
     ======================================================== */
  .cmob-list { display:flex; flex-direction:column; gap:6px; }
  .cmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); overflow:hidden; position:relative; }
  .cmob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .cmob-card.cmob-active::before  { background:var(--m-green); }
  .cmob-card.cmob-done::before   { background:var(--m-blue); }
  .cmob-card.cmob-end::before    { background:var(--m-muted); }
  .cmob-card.cmob-draft::before  { background:var(--m-amber); }
  .cmob-card.cmob-expired::before { background:var(--m-red); }
  .cmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; padding:10px 10px 2px 14px; }
  .cmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0; line-height:1.35; }
  .cmob-badge { flex-shrink:0; }
  .cmob-tag { display:inline-flex; align-items:center; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600; white-space:nowrap; }
  .cmob-type { padding:0 10px 6px 14px; font-size:11px; font-weight:600; color:var(--m-red); }
  .cmob-info { padding:0 10px 0 14px; }
  .cmob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .cmob-row:last-child { border-bottom:none; }
  .cmob-label { color:var(--m-muted); width:56px; flex-shrink:0; font-weight:500; font-size:11px; }
  .cmob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .cmob-amt { font-weight:700; color:var(--m-red); }
  .cmob-dates { display:flex; align-items:center; gap:6px; margin:6px 10px 6px 14px; padding:6px 8px; background:var(--m-hair); border-radius:6px; flex-wrap:wrap; }
  .cmob-date-item { display:flex; flex-direction:column; gap:1px; flex:1; min-width:0; }
  .cmob-date-item span:first-child { font-size:10px; color:var(--m-muted); }
  .cmob-date-item span:last-child { font-size:12px; color:var(--m-text); font-weight:600; font-variant-numeric:tabular-nums; }
  .cmob-date-sep { color:var(--m-muted); font-size:12px; flex-shrink:0; }
  .cmob-expiry-note { font-size:10px; font-weight:700; padding:2px 6px; border-radius:4px; }
  .cmob-expiring .cmob-expiry-note { background:#FFFBEB; color:var(--m-amber); }
  .cmob-expired .cmob-expiry-note { background:#FEF2F2; color:var(--m-red); }
  .cmob-actions { display:flex; gap:6px; padding:4px 10px 10px 14px; flex-wrap:wrap; }
  .cmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; transition:all 0.1s; white-space:nowrap; text-align:center; font-family:inherit; }
  .cmob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .cmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .cmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     SUPPLIERS — 供应商竖版卡片
     ======================================================== */
  .smob-list { display:flex; flex-direction:column; gap:6px; }
  .smob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); overflow:hidden; position:relative; }
  .smob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .smob-card.smob-ok::before    { background:var(--m-green); }
  .smob-card.smob-pause::before { background:var(--m-amber); }
  .smob-card.smob-end::before   { background:var(--m-muted); }
  .smob-top { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:10px 10px 2px 14px; }
  .smob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0; }
  .smob-rating { flex-shrink:0; font-size:12px; font-weight:700; padding:2px 8px; border-radius:4px; background:var(--m-hair); }
  .smob-info { padding:0 10px 0 14px; }
  .smob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .smob-row:last-child { border-bottom:none; }
  .smob-label { color:var(--m-muted); width:42px; flex-shrink:0; font-weight:500; font-size:11px; }
  .smob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .smob-actions { display:flex; gap:6px; padding:6px 10px 10px 14px; }
  .smob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .smob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .smob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .smob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     QUALITY CHECKS — 质安检查竖版卡片
     ======================================================== */
  .qmob-list { display:flex; flex-direction:column; gap:6px; }
  .qmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); overflow:hidden; position:relative; }
  .qmob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .qmob-card.qmob-pass::before  { background:var(--m-green); }
  .qmob-card.qmob-fail::before  { background:var(--m-red); }
  .qmob-card.qmob-fixed::before { background:var(--m-blue); }
  .qmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; padding:10px 10px 2px 14px; }
  .qmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0; line-height:1.35; }
  .qmob-status { flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; }
  .qmob-status.qmob-pass  { background:#ECFDF5; color:var(--m-green); }
  .qmob-status.qmob-fail  { background:#FEF2F2; color:var(--m-red); }
  .qmob-status.qmob-fixed { background:#EFF6FF; color:var(--m-blue); }
  .qmob-type { padding:0 10px 6px 14px; font-size:11px; font-weight:600; color:var(--m-sub); }
  .qmob-info { padding:0 10px 0 14px; }
  .qmob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .qmob-row:last-child { border-bottom:none; }
  .qmob-label { color:var(--m-muted); width:56px; flex-shrink:0; font-weight:500; font-size:11px; }
  .qmob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .qmob-actions { display:flex; gap:6px; padding:6px 10px 10px 14px; }
  .qmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .qmob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .qmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .qmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     VISA CHANGES — 签证变更竖版卡片
     ======================================================== */
  .vmob-list { display:flex; flex-direction:column; gap:6px; }
  .vmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); overflow:hidden; position:relative; }
  .vmob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .vmob-card.vmob-ok::before   { background:var(--m-green); }
  .vmob-card.vmob-no::before   { background:var(--m-red); }
  .vmob-card.vmob-wait::before { background:var(--m-amber); }
  .vmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; padding:10px 10px 2px 14px; }
  .vmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0; line-height:1.35; }
  .vmob-status { flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; }
  .vmob-status.vmob-ok   { background:#ECFDF5; color:var(--m-green); }
  .vmob-status.vmob-no   { background:#FEF2F2; color:var(--m-red); }
  .vmob-status.vmob-wait { background:#FFFBEB; color:var(--m-amber); }
  .vmob-type { padding:0 10px 6px 14px; font-size:11px; font-weight:600; color:var(--m-sub); }
  .vmob-info { padding:0 10px 0 14px; }
  .vmob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .vmob-row:last-child { border-bottom:none; }
  .vmob-label { color:var(--m-muted); width:56px; flex-shrink:0; font-weight:500; font-size:11px; }
  .vmob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .vmob-amt { font-weight:700; color:var(--m-red); }
  .vmob-actions { display:flex; gap:6px; padding:6px 10px 10px 14px; }
  .vmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .vmob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .vmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .vmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     PERSONNEL — 人员花名册 + 项目工人竖版卡片
     ======================================================== */
  .pmob-list { display:flex; flex-direction:column; gap:6px; }
  .pmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); overflow:hidden; position:relative; }
  .pmob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .pmob-card.pmob-on::before  { background:var(--m-green); }
  .pmob-card.pmob-off::before { background:var(--m-muted); }
  .pmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:6px; padding:10px 10px 2px 14px; }
  .pmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; min-width:0; }
  .pmob-status { flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; }
  .pmob-status.pmob-on  { background:#ECFDF5; color:var(--m-green); }
  .pmob-status.pmob-off { background:var(--m-hair); color:var(--m-muted); }
  .pmob-job { padding:0 10px 6px 14px; font-size:12px; color:var(--m-sub); font-weight:500; }
  .pmob-info { padding:0 10px 0 14px; }
  .pmob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .pmob-row:last-child { border-bottom:none; }
  .pmob-label { color:var(--m-muted); width:36px; flex-shrink:0; font-weight:500; font-size:11px; }
  .pmob-val { color:var(--m-text); flex:1; min-width:0; font-weight:500; }
  .pmob-pay { font-weight:700; color:var(--m-red); }
  .pmob-actions { display:flex; gap:6px; padding:6px 10px 10px 14px; }
  .pmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .pmob-act:active { background:var(--m-hair); transform:scale(0.96); }
  .pmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .pmob-act-warn { border-color:var(--m-amber); color:var(--m-amber); }
  .pmob-act-on   { border-color:var(--m-green); color:var(--m-green); }
  .pmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     SALARY — 工资发放竖版卡片
     ======================================================== */
  .salmob-list { display:flex; flex-direction:column; gap:6px; }
  .salmob-total { font-size:12px; font-weight:700; color:var(--m-sub); padding:4px 4px 6px; }
  .salmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; }
  .salmob-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .salmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; }
  .salmob-amt { font-size:16px; font-weight:800; color:var(--m-red); flex-shrink:0; }
  .salmob-meta { font-size:11px; color:var(--m-muted); margin-top:4px; }
  .salmob-note { font-size:12px; color:var(--m-sub); margin-top:4px; padding:6px 8px; background:var(--m-hair); border-radius:4px; }
  .salmob-act { margin-top:6px; }
  .salmob-btn { min-height:30px; padding:4px 10px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; font-family:inherit; }

  /* ========================================================
     ADVANCE — 借支管理竖版卡片
     ======================================================== */
  .advmob-list { display:flex; flex-direction:column; gap:6px; }
  .advmob-total { font-size:12px; font-weight:700; color:var(--m-sub); padding:4px 4px 6px; }
  .advmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; }
  .advmob-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .advmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; }
  .advmob-amt { font-size:16px; font-weight:800; color:var(--m-amber); flex-shrink:0; }
  .advmob-meta { font-size:11px; color:var(--m-muted); margin-top:4px; }
  .advmob-reason { font-size:12px; color:var(--m-sub); margin-top:4px; padding:6px 8px; background:var(--m-hair); border-radius:4px; }
  .advmob-act { margin-top:6px; }
  .advmob-btn { min-height:30px; padding:4px 10px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; cursor:pointer; font-family:inherit; }
  .advmob-btn-del { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     COST DATABASE — 成本参考竖版卡片
     ======================================================== */
  .crmob-list { display:flex; flex-direction:column; gap:6px; }
  .crmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; }
  .crmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
  .crmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; }
  .crmob-code { font-size:10px; color:var(--m-muted); font-family:"SF Mono","Consolas",monospace; flex-shrink:0; }
  .crmob-meta { font-size:11px; color:var(--m-sub); margin-top:4px; }
  .crmob-tag { display:inline-flex; align-items:center; padding:1px 6px; border-radius:4px; font-size:10px; font-weight:600; }
  .crmob-costs { display:flex; gap:4px; margin-top:8px; }
  .crmob-cost { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:6px 4px; background:var(--m-hair); border-radius:6px; }
  .crmob-cost span:first-child { font-size:10px; color:var(--m-muted); }
  .crmob-cost span:last-child { font-size:12px; font-weight:700; color:var(--m-text); }
  .crmob-total { background:#FEF2F2; }
  .crmob-total span:last-child { color:var(--m-red); }
  .crmob-note { font-size:11px; color:var(--m-muted); margin-top:6px; padding:6px 8px; background:var(--m-hair); border-radius:4px; }
  .crmob-actions { display:flex; gap:6px; margin-top:8px; }
  .crmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; cursor:pointer; text-align:center; font-family:inherit; }
  .crmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .crmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     INVOICE — 发票管理竖版卡片
     ======================================================== */
  .ivmob-list { display:flex; flex-direction:column; gap:6px; }
  .ivmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; }
  .ivmob-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .ivmob-num { font-size:13px; font-weight:700; color:var(--m-text); font-family:"SF Mono","Consolas",monospace; flex:1; }
  .ivmob-amt { font-size:16px; font-weight:800; color:var(--m-red); flex-shrink:0; }
  .ivmob-meta { font-size:11px; color:var(--m-muted); margin-top:4px; }
  .ivmob-tax { display:flex; gap:12px; margin-top:6px; padding:6px 8px; background:var(--m-hair); border-radius:4px; font-size:11px; color:var(--m-sub); }
  .ivmob-row { display:flex; align-items:baseline; padding:5px 0; font-size:12px; border-bottom:1px solid var(--m-hair); }
  .ivmob-row:last-child { border-bottom:none; }
  .ivmob-label { color:var(--m-muted); width:36px; flex-shrink:0; font-size:11px; }
  .ivmob-val { color:var(--m-text); flex:1; }
  .ivmob-actions { display:flex; gap:6px; margin-top:8px; }
  .ivmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .ivmob-act-edit { border-color:var(--m-red); color:var(--m-red); }
  .ivmob-act-del  { border-color:#DC2626; color:#DC2626; }

  /* ========================================================
     MATERIAL — 材料采购单竖版卡片
     ======================================================== */
  .matmob-list { display:flex; flex-direction:column; gap:6px; }
  .matmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; }
  .matmob-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
  .matmob-title { font-size:14px; font-weight:700; color:var(--m-text); flex:1; line-height:1.35; }
  .matmob-status { flex-shrink:0; font-size:10px; font-weight:700; padding:3px 8px; border-radius:10px; background:var(--m-hair); color:var(--m-sub); }
  .matmob-meta { font-size:11px; color:var(--m-muted); margin-top:4px; font-family:"SF Mono","Consolas",monospace; }
  .matmob-info { margin-top:4px; }
  .matmob-row { display:flex; align-items:baseline; padding:5px 0; border-bottom:1px solid var(--m-hair); font-size:12px; }
  .matmob-row:last-child { border-bottom:none; }
  .matmob-label { color:var(--m-muted); width:44px; flex-shrink:0; font-size:11px; }
  .matmob-val { color:var(--m-text); flex:1; }
  .matmob-amt { font-weight:700; color:var(--m-red); }
  .matmob-actions { display:flex; gap:6px; margin-top:8px; }
  .matmob-act { flex:1; min-width:44px; min-height:34px; padding:6px 4px; border:1.5px solid var(--m-border); border-radius:6px; background:var(--m-surface); font-size:11px; font-weight:600; color:var(--m-sub); cursor:pointer; text-align:center; font-family:inherit; }
  .matmob-act-view { border-color:var(--m-blue); color:var(--m-blue); }
  .matmob-act-edit { border-color:var(--m-red); color:var(--m-red); }

  /* ========================================================
     PROCUREMENT FINANCE — 采购财务竖版卡片
     ======================================================== */
  .pfmob-list { display:flex; flex-direction:column; gap:6px; }
  .pfmob-card { background:var(--m-surface); border-radius:var(--m-radius); box-shadow:var(--shadow-sm); padding:10px 12px; position:relative; overflow:hidden; }
  .pfmob-card::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; }
  .pfmob-card.pfmob-ok::before   { background:var(--m-green); }
  .pfmob-card.pfmob-warn::before { background:var(--m-amber); }
  .pfmob-card.pfmob-bad::before  { background:var(--m-red); }
  .pfmob-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .pfmob-name { font-size:14px; font-weight:700; color:var(--m-text); flex:1; }
  .pfmob-pct { font-size:18px; font-weight:800; flex-shrink:0; }
  .pfmob-ok .pfmob-pct { color:var(--m-green); }
  .pfmob-warn .pfmob-pct { color:var(--m-amber); }
  .pfmob-bad .pfmob-pct { color:var(--m-red); }
  .pfmob-nums { display:flex; gap:6px; margin-top:8px; }
  .pfmob-num { flex:1; display:flex; flex-direction:column; align-items:center; gap:2px; padding:6px 4px; background:var(--m-hair); border-radius:6px; }
  .pfmob-num span:first-child { font-size:10px; color:var(--m-muted); }
  .pfmob-num span:last-child { font-size:13px; font-weight:700; color:var(--m-text); }
  .pfmob-paid span:last-child { color:var(--m-green); }
  .pfmob-unpaid span:last-child { color:var(--m-red); }
  /* project-finance worker cards */
  .pfmob-meta { font-size:11px; color:var(--m-muted); margin-top:4px; }
  .pfmob-nums2 { display:flex; gap:12px; margin-top:6px; font-size:12px; color:var(--m-sub); }
  .pfmob-total { font-size:12px; font-weight:700; color:var(--m-sub); padding:6px 4px; margin-top:4px; }

  /* ========================================================
     THEME: DARK
     ======================================================== */
  [data-theme="dark"] {
    --m-bg:#111827; --m-surface:#1F2937; --m-text:#F3F4F6; --m-sub:#9CA3AF; --m-muted:#6B7280; --m-border:#374151; --m-hair:#283040;
    --shadow-sm:0 1px 2px rgba(0,0,0,0.2); --shadow-md:0 1px 4px rgba(0,0,0,0.3);
  }
  [data-theme="dark"] .mobile-nav { background:#1F2937 !important; border-color:#374151 !important; }
  [data-theme="dark"] .gov-header { background:var(--m-red-dk) !important; }
  [data-theme="dark"] .data-table th, [data-theme="dark"] table th { background:#283040; color:var(--m-muted); }
  [data-theme="dark"] .data-table tbody tr:nth-child(even), [data-theme="dark"] table tbody tr:nth-child(even) { background:#1a2332; }
  [data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea { background:#374151; color:#F3F4F6; border-color:#4B5563; }
  [data-theme="dark"] .wb-card-icon { opacity:0.85; }

  /* ========================================================
     THEME: BLUE
     ======================================================== */
  [data-theme="blue"] { --m-red:#0035A8; --m-red-dk:#002266; }
  [data-theme="blue"] .gov-header { background:#0035A8 !important; }
  [data-theme="blue"] .mnav-tab.active { color:#0035A8; }
  [data-theme="blue"] .btn-accent, [data-theme="blue"] .btn-primary { background:#0035A8; }
  [data-theme="blue"] .tab-nav .active, [data-theme="blue"] .tab-nav button.active { background:#0035A8; }
  [data-theme="blue"] .badge-info { background:#EEF3FF; color:#0035A8; }
  [data-theme="blue"] .modal-header { background:#0035A8; }
  [data-theme="blue"] .stat-card { border-left-color:#0035A8; }

  /* ========================================================
     TINY SCREENS
     ======================================================== */
  @media (max-width: 360px) {
    .stat-grid, .wb-grid { grid-template-columns:1fr !important; }
    #finance-overview-content .stat-grid { grid-template-columns:1fr !important; }
    .login-hero-icon { width:56px !important; height:56px !important; }
  }

  ::-webkit-scrollbar { width:0; height:0; }

} /* End @media */
