
    * { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      /* System-first iOS palette (desktop + mobile shared) */
      --sys-bg: #f2f2f7;
      --sys-surface: #ffffff;
      --sys-surface-2: #ffffff;
      --sys-text: #111827;
      --sys-muted: rgba(60, 60, 67, .72);
      --sys-muted-strong: rgba(60, 60, 67, .82);
      --sys-separator: rgba(60, 60, 67, .12);
      --sys-separator-strong: rgba(60, 60, 67, .18);

      /* Brand + semantics */
      --primary: #2f6df6;
      --primary-weak: rgba(47,109,246,.12);
      --wechat: #07c160;
      --wechat-weak: rgba(7,193,96,.14);
      --success: #16a34a;
      --warning: #f59e0b;
      --danger: #dc2626;
      --info: #2563eb;

      /* Semantic tonal palette (light) */
      --tone-success-fg: #166534;
      --tone-success-bg: rgba(220,252,231,.78);
      --tone-success-border: rgba(22,163,74,.30);
      --tone-warning-fg: #9a3412;
      --tone-warning-bg: rgba(255,237,213,.84);
      --tone-warning-border: rgba(245,158,11,.34);
      --tone-danger-fg: #991b1b;
      --tone-danger-bg: rgba(254,226,226,.82);
      --tone-danger-border: rgba(239,68,68,.34);
      --tone-info-fg: #1d4ed8;
      --tone-info-bg: rgba(219,234,254,.82);
      --tone-info-border: rgba(59,130,246,.34);
      --tone-aftersale-fg: #6d28d9;
      --tone-aftersale-bg: rgba(237,233,254,.88);
      --tone-aftersale-border: rgba(139,92,246,.32);

      /* iOS rhythm tokens */
      --bg: var(--sys-bg);
      --panel: var(--sys-surface);
      --panel-solid: var(--sys-surface);
      --text: var(--sys-text);
      --muted: var(--sys-muted);
      --muted-strong: var(--sys-muted-strong);
      --line: var(--sys-separator);
      --radius: 20px;
      --shadow: 0 10px 30px rgba(15,23,42,0.10);
      --ring: 0 0 0 4px rgba(47,109,246,.18);
      --ring-danger: 0 0 0 4px rgba(220,38,38,.18);
      --ring-wechat: 0 0 0 4px rgba(7,193,96,.18);
      --ios-ease: cubic-bezier(.22,1,.36,1);
      /* 略偏「出画」的曲线：大位移/弹层入场用，比默认更顺一点 */
      --ios-ease-decel: cubic-bezier(.16, 1, .32, 1);
      --ios-surface: var(--sys-surface);
      --ios-gap: 14px;
      --ios-radius-lg: 20px;
      --ios-radius-md: 14px;
      --ios-radius-sm: 12px;
      --ios-space-1: 8px;
      --ios-space-2: 12px;
      --ios-space-3: 16px;
      --ios-space-4: 20px;
      --ios-border: 1px solid var(--sys-separator);
      --ios-shadow-soft: 0 8px 22px rgba(15,23,42,.06);
      --ios-shadow-float: 0 16px 34px rgba(15,23,42,.10);
      --ios-tap-min-h: 44px;
      --ios-nav-item-h: 42px;
      --ios-nav-item-radius: 999px;
      --ios-nav-hover-bg: rgba(47,109,246,.06);
      --ios-nav-active-bg: rgba(47,109,246,.10);
      --ios-nav-active-ring: rgba(47,109,246,.18);
      --ios-nav-hover-ms: .22s;
      --ios-nav-press-ms: .14s;
      --ios-fade-ms: .22s;
      --ios-pop-ms: .26s;
      --ios-slide-ms: .30s;
      --ios-ui-duration: .24s;
      --ios-press-ease: cubic-bezier(0.25, 0.82, 0.18, 1);
      /* Slightly softer overshoot than classic spring — reads closer to iOS timing */
      --ios-spring-settle: cubic-bezier(0.28, 1.06, 0.32, 1);
      /* macOS / iOS 系「标准响应」：起笔快、收尾稳 */
      --ios-response: cubic-bezier(0.25, 0.1, 0.25, 1);
      /* Motion rhythm tiers — 默认档偏利落（仍保留减速收尾，避免生硬） */
      --motion-micro-ms: .11s;     /* taps/press */
      --motion-component-ms: .22s; /* chips/menus/small panels */
      --motion-container-ms: .30s; /* modal/drawer/page-level */
      --motion-screen-ms: .38s;    /* full screen transition */
      /* 局部卡片 replace / innerHTML 后的轻入场 */
      --ios-live-surface-ms: 0.30s;
      /* 侧栏抽屉：接近 iOS sheet 的减速曲线 */
      --ios-sheet-dur: 0.32s;
      --ios-sheet-dur-close: 0.24s;
      --ios-sheet-ease: cubic-bezier(0.32, 0.72, 0, 1);
      --ios-sheet-ease-out: cubic-bezier(0.25, 0.9, 0.25, 1);
      /* 侧栏 ↔ 主列：略 softer 的落定曲线，兼顾顺滑与 iOS 式「跟手」 */
      --ios-sidebar-main-ease: cubic-bezier(0.33, 0.84, 0.18, 1);
      /* 浮层侧栏：打开略舒展、关闭略干脆（iPadOS 分段节奏） */
      --ios-sidebar-sync-dur-open: 0.30s;
      --ios-sidebar-sync-dur-close: 0.24s;
      --ios-sidebar-sync-dur-rebound: 0.26s;
      --ios-sidebar-sync-dur: var(--ios-sidebar-sync-dur-open);
      --ios-sidebar-sync-ease-open: cubic-bezier(0.32, 0.72, 0, 1);
      --ios-sidebar-sync-ease-close: cubic-bezier(0.28, 0.8, 0.22, 1);
      --ios-sidebar-sync-ease-rebound: cubic-bezier(0.34, 1.2, 0.64, 1);
      --ios-sidebar-sync-ease: var(--ios-sidebar-sync-ease-open);
      --ios-sidebar-sheet-enter-dur: var(--ios-sidebar-sync-dur-open);
      --ios-sidebar-sheet-ease: var(--ios-sidebar-sync-ease-open);
      --ios-sidebar-main-ease: var(--ios-sidebar-sync-ease-open);
      --sheet-visual-p: 0;
      /* 与 .sidebar-account-sheet-backdrop 同配方：blur 在主列 filter，遮罩只负责 tint+opacity */
      --ios-sidebar-scrim-blur-open: 20px;
      --ios-sidebar-scrim-saturate: 1.35;
      --ios-sidebar-scrim-tint: rgba(15, 23, 42, 0.28);
      --ios-sidebar-face-bg: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.94) 0%,
        rgba(252, 252, 254, 0.9) 50%,
        rgba(248, 248, 252, 0.86) 100%
      );
      --ios-sidebar-glass-edge: rgba(255, 255, 255, 0.58);
      --ios-sidebar-glass-shadow:
        inset 1px 0 0 rgba(255, 255, 255, 0.78),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        16px 0 56px rgba(15, 23, 42, 0.14),
        4px 0 20px rgba(15, 23, 42, 0.06);
      /* 底部账户区晚于导航条落位 */
      --ios-sidebar-footer-enter-delay: 0.12s;
      --ios-sidebar-footer-enter-dur: 0.34s;
      /* 团队私聊列表：顶栏/搜索略「弹」、联系人行用无 overshoot 的减速（更接近 iOS Messages 列表） */
      --ios-hub-entrance-ease: cubic-bezier(0.17, 0.88, 0.32, 1.02);
      --ios-hub-chrome-entrance-ease: cubic-bezier(0.22, 1, 0.36, 1);
      --ios-hub-row-entrance-ease: cubic-bezier(0.2, 0.88, 0.22, 1);
      --ios-sidebar-main-scale: 0.974;
      /* 顶栏显隐与 compact 主区：与 sheet 家族曲线对齐 */
      /* 移动端顶栏收起：分阶段（毛玻璃减弱 → 淡出 → 上移），贴近 iOS 导航栏 */
      --ios-topbar-hide-dur: 0.36s;
      --ios-topbar-opacity-dur: 0.28s;
      --ios-topbar-blur-fade-dur: 0.26s;
      --ios-topbar-fade-in-delay: 0.04s;
      --ios-topbar-slide-hide-delay: 0.14s;
      --ios-topbar-vis-hide-delay: 0.52s;
      /* 毛玻璃收一段后再整体淡出（与 blur 时长配） */
      --ios-topbar-opacity-after-blur: 0.09s;
      --ios-shadow-raise: 0 20px 46px rgba(15,23,42,.14);
      --ios-shadow-float-strong: 0 28px 70px rgba(15,23,42,.18);

      /* Density (mobile-first). Desktop gets slightly tighter defaults below. */
      --density-cell-h: 52px;
      --density-cell-pad-y: 12px;
      --density-content-pad: 16px;

      /* Micro-interactions + refined surfaces */
      --hairline: rgba(60, 60, 67, .12);
      --hairline-strong: rgba(60, 60, 67, .18);
      --press-scale: .985;
      --press-shift: 1px;
      --hover-lift: -1px;
      --shadow-s1: 0 10px 26px rgba(15,23,42,.06);
      --shadow-s2: 0 18px 48px rgba(15,23,42,.12);
      --inner-highlight: inset 0 1px 0 rgba(255,255,255,.72);
      /* 紧凑视口顶栏：main.js 按 #content 滚动写入 0→1，驱动毛玻璃渐透（勿用 transition 跟手动画该变量） */
      --topbar-scroll-immersion: 0;

      /* Subtle iOS material for chrome (opt-in via @supports) */
      --chrome-bg: rgba(255,255,255,.88);
      --chrome-bg-strong: rgba(255,255,255,.92);
      --chrome-blur: 16px;
      --chrome-sat: 125%;
      /* 高质量磨砂（参考 iOS 浮层：高透白 + 强 blur + 内高光描边） */
      --frost-surface-top: rgba(255, 255, 255, 0.82);
      --frost-surface-mid: rgba(255, 255, 255, 0.74);
      --frost-surface-low: rgba(255, 255, 255, 0.66);
      --frost-bg: linear-gradient(180deg, var(--frost-surface-top) 0%, var(--frost-surface-mid) 42%, var(--frost-surface-low) 100%);
      --frost-blur: blur(52px) saturate(1.82) brightness(1.03);
      --frost-blur-panel: blur(64px) saturate(1.88) brightness(1.04);
      --frost-stroke: rgba(255, 255, 255, 0.9);
      --frost-stroke-outer: rgba(255, 255, 255, 0.38);
      --frost-shadow: 0 28px 72px rgba(15, 23, 42, 0.1), 0 10px 28px rgba(15, 23, 42, 0.05);
      --frost-inset: inset 0 1px 0 rgba(255, 255, 255, 0.94), inset 0 -0.5px 0 rgba(255, 255, 255, 0.32);
      --frost-row-hover: rgba(120, 120, 128, 0.09);
      --frost-row-active: rgba(120, 120, 128, 0.15);
      --frost-glow: radial-gradient(ellipse 88% 56% at 42% 16%, rgba(47, 109, 246, 0.2) 0%, rgba(56, 189, 248, 0.1) 38%, transparent 72%);
      /* Safari / iOS form controls align with brand */
      accent-color: var(--primary);
    }
    @media (min-width: 1024px){
      :root{
        --density-cell-h: 48px;
        --density-cell-pad-y: 10px;
        --density-content-pad: 18px;
      }
    }
    [data-theme="dark"] {
      --sys-bg: #0b0b10;
      --sys-surface: rgba(28, 28, 30, 1);
      --sys-surface-2: rgba(44, 44, 46, 1);
      --sys-text: rgba(255,255,255,.92);
      --sys-muted: rgba(235, 235, 245, .62);
      --sys-muted-strong: rgba(235, 235, 245, .72);
      --sys-separator: rgba(84, 84, 88, .55);
      --sys-separator-strong: rgba(84, 84, 88, .72);

      --bg: var(--sys-bg);
      --panel: rgba(28, 28, 30, .92);
      --panel-solid: var(--sys-surface);
      --text: var(--sys-text);
      --muted: var(--sys-muted);
      --muted-strong: var(--sys-muted-strong);
      --line: var(--sys-separator);
      --shadow: 0 10px 30px rgba(0,0,0,.32);
      --ring: 0 0 0 4px rgba(96,165,250,.22);
      --ring-danger: 0 0 0 4px rgba(248,113,113,.22);
      --ring-wechat: 0 0 0 4px rgba(34,197,94,.22);

      --hairline: rgba(84, 84, 88, .55);
      --hairline-strong: rgba(84, 84, 88, .72);
      --shadow-s1: 0 14px 38px rgba(0,0,0,.34);
      --shadow-s2: 0 22px 68px rgba(0,0,0,.52);
      --inner-highlight: inset 0 1px 0 rgba(255,255,255,.08);

      --chrome-bg: rgba(28, 28, 30, .82);
      --chrome-bg-strong: rgba(28, 28, 30, .88);
      --chrome-blur: 16px;
      --frost-surface-top: rgba(44, 44, 46, 0.78);
      --frost-surface-mid: rgba(36, 36, 40, 0.72);
      --frost-surface-low: rgba(28, 28, 32, 0.66);
      --frost-bg: linear-gradient(180deg, var(--frost-surface-top) 0%, var(--frost-surface-mid) 48%, var(--frost-surface-low) 100%);
      --frost-blur: blur(52px) saturate(1.55) brightness(0.98);
      --frost-blur-panel: blur(64px) saturate(1.62) brightness(0.96);
      --frost-stroke: rgba(255, 255, 255, 0.16);
      --frost-stroke-outer: rgba(255, 255, 255, 0.08);
      --frost-shadow: 0 32px 80px rgba(0, 0, 0, 0.42), 0 12px 32px rgba(0, 0, 0, 0.28);
      --frost-inset: inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -0.5px 0 rgba(255, 255, 255, 0.04);
      --frost-row-hover: rgba(255, 255, 255, 0.07);
      --frost-row-active: rgba(255, 255, 255, 0.12);
      --frost-glow: radial-gradient(ellipse 88% 56% at 42% 16%, rgba(10, 132, 255, 0.16) 0%, rgba(99, 102, 241, 0.08) 40%, transparent 72%);
      --ios-sidebar-scrim-tint: rgba(0, 0, 0, 0.52);
      --ios-sidebar-scrim-saturate: 1.35;
      --ios-sidebar-face-bg: linear-gradient(
        180deg,
        rgba(44, 44, 48, 0.94) 0%,
        rgba(36, 36, 40, 0.9) 50%,
        rgba(28, 28, 32, 0.86) 100%
      );
      --ios-sidebar-glass-edge: rgba(255, 255, 255, 0.14);
      --ios-sidebar-glass-shadow:
        inset 1px 0 0 rgba(255, 255, 255, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        18px 0 64px rgba(0, 0, 0, 0.48),
        6px 0 24px rgba(0, 0, 0, 0.32);

      /* Semantic tonal palette (dark) */
      --tone-success-fg: #86efac;
      --tone-success-bg: rgba(22,163,74,.22);
      --tone-success-border: rgba(74,222,128,.28);
      --tone-warning-fg: #fcd34d;
      --tone-warning-bg: rgba(245,158,11,.24);
      --tone-warning-border: rgba(251,191,36,.30);
      --tone-danger-fg: #fca5a5;
      --tone-danger-bg: rgba(239,68,68,.22);
      --tone-danger-border: rgba(248,113,113,.30);
      --tone-info-fg: #93c5fd;
      --tone-info-bg: rgba(59,130,246,.24);
      --tone-info-border: rgba(96,165,250,.30);
      --tone-aftersale-fg: #c4b5fd;
      --tone-aftersale-bg: rgba(109,40,217,.22);
      --tone-aftersale-border: rgba(167,139,250,.28);

      --ios-list-elevate: 0 14px 40px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.04);
      --ios-list-surface: rgba(44, 44, 46, 0.78);
      accent-color: #60a5fa;
    }
    @media (prefers-reduced-motion: no-preference) {
      html { scroll-behavior: smooth; }
    }
    body {
      font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei UI', 'Inter', system-ui, sans-serif;
      background:
        radial-gradient(120% 55% at 50% -8%, rgba(59, 130, 246, 0.07), transparent 52%),
        linear-gradient(180deg, #f2f2f7 0%, #ebebf0 55%, #e8eaef 100%);
      color: var(--text);
      height: 100vh;
      overflow: hidden;
      line-height: 1.55;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: optimizeLegibility;
      -webkit-tap-highlight-color: transparent;
      font-feature-settings: "kern" 1, "liga" 1, "clig" 1;
      font-synthesis: none;
      font-variant-numeric: tabular-nums;
    }
    html[data-theme="dark"] body {
      -webkit-tap-highlight-color: transparent;
      background:
        radial-gradient(100% 48% at 50% 0%, rgba(59, 130, 246, 0.12), transparent 55%),
        linear-gradient(180deg, #0b0b10 0%, #0a0a0f 45%, #08080d 100%);
    }
    /* System-first background: no global glass/noise (keep refinement for modals/drawers only). */
    body::before,
    body::after { content: none; }
    body.body-lock { overflow: hidden; }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
    }
    ::selection {
      background: color-mix(in srgb, var(--primary) 20%, transparent);
      color: inherit;
    }
    [data-theme="dark"] ::selection {
      background: color-mix(in srgb, #60a5fa 26%, transparent);
      color: inherit;
    }
    a{ color: inherit; }
    .app {
      display: flex;
      height: 100dvh;
      min-height: 100dvh;
      overscroll-behavior: none;
    }
    @property --sheet-visual-p {
      syntax: '<number>';
      inherits: true;
      initial-value: 0;
    }
    /* 全局 sheet 横向偏移（main.js 写在 document.documentElement；≤0 为向左关合） */
    html {
      --sheet-pan-x: 0px;
      /* Prevent Safari iOS from inflating small-body copy on orientation change */
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
      /* 避免触控长按出现系统默认高光/网格状选中闪烁；具体按压反馈交给各组件样式 */
      -webkit-tap-highlight-color: transparent;
      /* @property 驱动：侧栏开合由 CSS transition 在合成线程插值 --sheet-visual-p */
      transition: --sheet-visual-p var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease);
    }
    @supports (interpolate-size: allow-keywords) {
      :root {
        interpolate-size: allow-keywords;
      }
    }

    /* -------- Apple 系体验分层：macOS（精确指针） / iOS · iPadOS（触控） -------- */
    @media (pointer: fine) {
      .main > #content.content,
      .modal-body,
      .drawer-body {
        scrollbar-width: thin;
        scrollbar-color: rgba(60, 60, 67, 0.34) transparent;
      }
      .main > #content.content::-webkit-scrollbar,
      .modal-body::-webkit-scrollbar,
      .drawer-body::-webkit-scrollbar {
        width: 10px;
        height: 10px;
      }
      .main > #content.content::-webkit-scrollbar-thumb,
      .modal-body::-webkit-scrollbar-thumb,
      .drawer-body::-webkit-scrollbar-thumb {
        background-color: rgba(60, 60, 67, 0.36);
        border-radius: 100px;
        border: 3px solid transparent;
        background-clip: padding-box;
      }
      .main > #content.content::-webkit-scrollbar-thumb:hover,
      .modal-body::-webkit-scrollbar-thumb:hover,
      .drawer-body::-webkit-scrollbar-thumb:hover {
        background-color: rgba(60, 60, 67, 0.5);
        border: 3px solid transparent;
        background-clip: padding-box;
      }
      .main > #content.content::-webkit-scrollbar-track,
      .modal-body::-webkit-scrollbar-track,
      .drawer-body::-webkit-scrollbar-track {
        background: transparent;
      }
    }
    @media (pointer: fine) {
      [data-theme="dark"] .main > #content.content,
      [data-theme="dark"] .modal-body,
      [data-theme="dark"] .drawer-body {
        scrollbar-color: rgba(235, 235, 245, 0.32) transparent;
      }
      [data-theme="dark"] .main > #content.content::-webkit-scrollbar-thumb,
      [data-theme="dark"] .modal-body::-webkit-scrollbar-thumb,
      [data-theme="dark"] .drawer-body::-webkit-scrollbar-thumb {
        background-color: rgba(235, 235, 245, 0.28);
        border: 3px solid transparent;
        background-clip: padding-box;
      }
      [data-theme="dark"] .main > #content.content::-webkit-scrollbar-thumb:hover,
      [data-theme="dark"] .modal-body::-webkit-scrollbar-thumb:hover,
      [data-theme="dark"] .drawer-body::-webkit-scrollbar-thumb:hover {
        background-color: rgba(235, 235, 245, 0.42);
      }
    }
    @media (pointer: coarse) {
      .btn,
      .nav button,
      .ios-cell,
      .seg button,
      .sidebar-toggle {
        touch-action: manipulation;
      }
    }
    /* iPadOS：大屏触控略放大圆角与间距，接近「设置」分组卡片 */
    @media (pointer: coarse) and (min-width: 768px) and (max-width: 1023px) {
      :root {
        --ios-radius-lg: 22px;
        --ios-radius-md: 15px;
        --ios-space-2: 13px;
      }
    }

    #sidebar.sidebar--dragging {
      transition: none !important;
    }
    #sidebar.sidebar-pan-rebound {
      transition: transform var(--ios-sidebar-sync-dur-rebound) var(--ios-sidebar-sync-ease-rebound) !important;
    }
    html.sidebar-sheet-closing.is-compact-viewport #sidebar.sidebar,
    html.sidebar-sheet-closing.is-compact-viewport #sidebar.apple-sidebar,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar {
      transition: none !important;
    }
    html.sidebar-sheet-closing.is-compact-viewport button.mobile-sidebar-backdrop,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop {
      pointer-events: none !important;
      visibility: hidden;
      transition: visibility 0s linear var(--ios-sidebar-sync-dur-close) !important;
    }
    /* 关闭时勿过渡 blur（易掉帧）；主列 scale 由 --sheet-visual-p 与侧栏同拍 */
    html.sidebar-sheet-closing.sidebar-overlay-open.is-compact-viewport .app > .main,
    html.sidebar-sheet-closing.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main {
      filter: none !important;
      will-change: transform;
    }
    button.mobile-sidebar-backdrop.sidebar-scrim-tracking {
      transition: none !important;
    }
    .sidebar {
      /* 固定分栏与「自动收起」抽屉共用同一宽度，避免切换布局时侧栏忽宽忽窄 */
      --sb-sheet-w: min(280px, 82vw);
      --sb-sheet-max-w: min(300px, 88vw);
      --sb-w: var(--sb-sheet-w);
      --sb-pad-x: clamp(11px, 1.05vw + 7px, 20px);
      --sb-pad-y: clamp(14px, 1.1vw + 10px, 24px);
      --sb-stack-gap: clamp(11px, 0.8vw + 8px, 18px);
      --sb-nav-gap: clamp(6px, 0.42vw + 3px, 10px);
      --sb-nav-fs: clamp(0.9375rem, 0.1vw + 0.902rem, 1.0625rem);
      --sb-nav-lh: 1.28;
      --sb-nav-radius: clamp(11px, 0.48vw + 9px, 15px);
      --sb-nav-pad-x: clamp(13px, 0.72vw + 8px, 20px);
      --sb-nav-min-h: clamp(44px, 0.2rem + 2.15vw, 50px);
      --sb-nav-chevron-fs: clamp(0.8125rem, 0.14vw + 0.775rem, 0.96875rem);
      --sb-footer-fs: clamp(0.76rem, 0.1vw + 0.725rem, 0.82rem);
      --sb-account-name-fs: clamp(0.8rem, 0.09vw + 0.765rem, 0.875rem);
      --sb-account-sub-fs: clamp(0.69rem, 0.08vw + 0.66rem, 0.74rem);
      width: var(--sb-w);
      max-width: var(--sb-sheet-max-w);
      background: var(--sys-surface);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border-right: 1px solid var(--sys-separator);
      display: flex;
      flex-direction: column;
      padding: var(--sb-pad-y) var(--sb-pad-x);
      gap: var(--sb-stack-gap);
      z-index: 20;
      min-height: 0;
      overflow: hidden;
      flex-shrink: 0;
      font-size: clamp(0.9375rem, 0.08vw + 0.91rem, 1rem);
    }
    /* 触控 + 抽屉：略放大字阶与行高，贴近 iOS 最小点击目标 */
    @media (pointer: coarse) and (max-width: 1023px) {
      .sidebar {
        --sb-nav-min-h: clamp(48px, 0.32rem + 3.1vw, 54px);
        --sb-nav-fs: clamp(1rem, 0.16vw + 0.93rem, 1.09rem);
        --sb-nav-chevron-fs: clamp(0.875rem, 0.18vw + 0.82rem, 1rem);
      }
    }
    .sidebar{
      box-shadow:
        12px 0 34px rgba(15,23,42,.06),
        inset -1px 0 0 rgba(255,255,255,.50);
      transition:
        transform var(--ios-slide-ms) var(--ios-ease),
        background var(--ios-fade-ms) var(--ios-ease),
        box-shadow var(--ios-fade-ms) var(--ios-ease),
        border-color var(--ios-fade-ms) var(--ios-ease);
    }
    /* 桌面宽屏 + 鼠标：侧栏/顶栏分层更接近 macOS 窗口（写在基础 shadow 之后以便生效） */
    @media (pointer: fine) and (min-width: 1024px) {
      .sidebar {
        box-shadow:
          12px 0 34px rgba(15,23,42,.05),
          inset -1px 0 0 rgba(255,255,255,.55),
          inset 0 0 0 0.5px rgba(60,60,67,.06);
      }
      [data-theme="dark"] .sidebar {
        box-shadow:
          12px 0 40px rgba(0,0,0,.38),
          inset -1px 0 0 rgba(255,255,255,.05),
          inset 0 0 0 0.5px rgba(84,84,88,.35);
      }
    }
    /* 侧栏遮罩：iPadOS 式 — 遮罩 tint + backdrop 与主区 scale 同拍（opacity 过渡）；主列不再单独 filter */
    button.mobile-sidebar-backdrop {
      position: fixed;
      inset: 0;
      z-index: 99;
      display: block;
      appearance: none;
      -webkit-appearance: none;
      border: 0;
      margin: 0;
      padding: 0;
      font: inherit;
      cursor: pointer;
      color: transparent;
      background: var(--ios-sidebar-scrim-tint);
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition:
        opacity var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        backdrop-filter var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        -webkit-backdrop-filter var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        visibility 0s linear var(--ios-sidebar-sheet-enter-dur);
      -webkit-tap-highlight-color: transparent;
    }
    html.is-compact-viewport button.mobile-sidebar-backdrop.show,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition:
        opacity var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        backdrop-filter var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        -webkit-backdrop-filter var(--ios-sidebar-sheet-enter-dur) var(--ios-sidebar-sheet-ease),
        visibility 0s linear 0s;
    }
    button.mobile-sidebar-backdrop.sidebar-scrim-tracking,
    button.mobile-sidebar-backdrop.sidebar-scrim-tracking.show {
      transition: none !important;
    }
    .mobile-sidebar-backdrop:focus {
      outline: none;
    }
    .mobile-sidebar-backdrop:focus-visible {
      outline: 2px solid rgba(96, 165, 250, 0.55);
      outline-offset: -4px;
    }
    [data-theme="dark"] .mobile-sidebar-backdrop.show {
      background: var(--ios-sidebar-scrim-tint);
    }
    /* iPadOS：开/关/跟手只动画 scale；磨砂由遮罩 backdrop 与 opacity 同步（非「滑完再糊」） */
    html.is-compact-viewport .app > .main,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main {
      transform: scale(1) translate3d(0, 0, 0);
      transform-origin: left center;
      filter: none;
      transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease);
    }
    html.sidebar-sheet-opening .app > .main,
    html.sidebar-sheet-closing.sidebar-overlay-open .app > .main,
    html.sidebar-sheet-pan-active .app > .main {
      filter: none !important;
      transition-property: transform !important;
      will-change: transform;
    }
    /* 开/关：主列 scale 与 --sheet-visual-p 同拍（不依赖 sibling 晚一帧） */
    html.sidebar-sheet-opening.sidebar-overlay-open.is-compact-viewport .app > .main,
    html.sidebar-sheet-opening.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main,
    html.sidebar-sheet-closing.sidebar-overlay-open.is-compact-viewport .app > .main,
    html.sidebar-sheet-closing.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main {
      transform: translate3d(calc(14px * var(--sheet-visual-p, 0)), 0, 0) !important;
      filter: none !important;
      transition: none !important;
    }
    html.sidebar-sheet-pan-active.is-compact-viewport .sidebar.mobile-open ~ .main,
    html.sidebar-sheet-pan-active.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open ~ .main {
      transform: translate3d(14px, 0, 0) !important;
      filter: none !important;
    }
    /* --sheet-visual-p 由 @property CSS transition 在合成线程插值（元素级 !important 已屏蔽自身过渡） */
    html.sidebar-sheet-opening.is-compact-viewport button.mobile-sidebar-backdrop.show,
    html.sidebar-sheet-opening.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show,
    html.sidebar-sheet-closing.is-compact-viewport button.mobile-sidebar-backdrop,
    html.sidebar-sheet-closing.is-compact-viewport button.mobile-sidebar-backdrop.show,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
      opacity: calc(0.04 + 0.96 * var(--sheet-visual-p, 0)) !important;
      transition: none !important;
    }
    html.sidebar-overlay-open:not(.sidebar-sheet-opening):not(.sidebar-sheet-closing):not(.sidebar-sheet-pan-active).is-compact-viewport .sidebar.mobile-open ~ .main,
    html.sidebar-overlay-open:not(.sidebar-sheet-opening):not(.sidebar-sheet-closing):not(.sidebar-sheet-pan-active).ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open ~ .main {
      transform: translate3d(14px, 0, 0);
      filter: none;
      transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease);
    }
    html.sidebar-sheet-pan-active {
      transition: none !important;
    }
    html.sidebar-sheet-pan-active .app > .main,
    html.sidebar-sheet-pan-active .sidebar.mobile-open ~ .main {
      transition: none !important;
      filter: none !important;
    }
    html.is-compact-viewport button.mobile-sidebar-backdrop.show,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
      will-change: opacity;
    }
    /* 遮罩毛玻璃：仅落定后启用；动画/跟手期间纯 tint（全屏 blur 是侧栏卡顿主因） */
    html.is-compact-viewport button.mobile-sidebar-backdrop.show,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
      -webkit-backdrop-filter: none;
      backdrop-filter: none;
    }
    html.sidebar-sheet-settled.is-compact-viewport button.mobile-sidebar-backdrop.show:not(.sidebar-scrim-tracking),
    html.sidebar-sheet-settled.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show:not(.sidebar-scrim-tracking) {
      -webkit-backdrop-filter: blur(var(--ios-sidebar-scrim-blur-open)) saturate(var(--ios-sidebar-scrim-saturate));
      backdrop-filter: blur(var(--ios-sidebar-scrim-blur-open)) saturate(var(--ios-sidebar-scrim-saturate));
    }
    html.sidebar-sheet-pan-active button.mobile-sidebar-backdrop {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    /* 侧栏打开：主区禁用 VT/filter/独立合成层，避免与遮罩叠层条纹闪 */
    html.sidebar-overlay-open.is-compact-viewport #content.content,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) #content.content {
      view-transition-name: none !important;
      transform: none !important;
      filter: none !important;
      opacity: 1 !important;
      will-change: auto !important;
      -webkit-backface-visibility: visible;
      backface-visibility: visible;
    }
    html.sidebar-overlay-open.is-compact-viewport .app > .main,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main {
      backface-visibility: visible !important;
    }
    html.sidebar-overlay-open.is-compact-viewport .app > .main > .topbar,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main > .topbar {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      background: color-mix(in srgb, var(--panel) 94%, transparent) !important;
      border-bottom-color: var(--line) !important;
    }
    /* 浮层侧栏：滑动时实底；落定后 frost 磨砂面板 */
    html.is-compact-viewport #sidebar.sidebar,
    html.is-compact-viewport #sidebar.apple-sidebar,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar {
      transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease) !important;
    }
    html.is-compact-viewport #sidebar.sidebar:not(.mobile-open),
    html.is-compact-viewport #sidebar.apple-sidebar:not(.mobile-open),
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar:not(.mobile-open),
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar:not(.mobile-open) {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    html.is-compact-viewport #sidebar.sidebar.mobile-open:not(.sidebar--dragging),
    html.is-compact-viewport #sidebar.apple-sidebar.mobile-open:not(.sidebar--dragging),
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar.mobile-open:not(.sidebar--dragging),
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar.mobile-open:not(.sidebar--dragging) {
      background: var(--frost-bg) !important;
      border-right: 0.5px solid var(--frost-stroke-outer) !important;
      -webkit-backdrop-filter: var(--frost-blur-panel) !important;
      backdrop-filter: var(--frost-blur-panel) !important;
      box-shadow: var(--frost-shadow), var(--frost-inset),
        calc(8px + 14px * var(--sheet-visual-p, 1)) 0 calc(32px + 36px * var(--sheet-visual-p, 1)) rgba(15, 23, 42, calc(0.04 + 0.12 * var(--sheet-visual-p, 1))) !important;
    }
    html.is-compact-viewport #sidebar.sidebar.mobile-open.sidebar--dragging,
    html.is-compact-viewport #sidebar.apple-sidebar.mobile-open.sidebar--dragging,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar.mobile-open.sidebar--dragging,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar.mobile-open.sidebar--dragging {
      background: var(--ios-sidebar-face-bg) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    html.is-compact-viewport #sidebar.sidebar.sidebar--dragging,
    html.is-compact-viewport #sidebar.apple-sidebar.sidebar--dragging,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar.sidebar--dragging,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar.sidebar--dragging {
      transition: none !important;
    }
    /* 滑入/滑出：位移/scale/遮罩由 --sheet-visual-p 同曲线驱动；跟手仍用 transform */
    html.sidebar-sheet-opening.is-compact-viewport #sidebar.sidebar,
    html.sidebar-sheet-opening.is-compact-viewport #sidebar.apple-sidebar,
    html.sidebar-sheet-opening.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar,
    html.sidebar-sheet-opening.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar,
    html.sidebar-sheet-closing.is-compact-viewport #sidebar.sidebar,
    html.sidebar-sheet-closing.is-compact-viewport #sidebar.apple-sidebar,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar,
    html.sidebar-sheet-closing.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar {
      transform: translate3d(calc(-104% * (1 - var(--sheet-visual-p, 0))), 0, 0) !important;
      background: var(--ios-sidebar-face-bg) !important;
      border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      box-shadow: var(--ios-sidebar-glass-shadow) !important;
      transition: none !important;
    }
    html.sidebar-sheet-pan-active.is-compact-viewport #sidebar.sidebar.mobile-open,
    html.sidebar-sheet-pan-active.is-compact-viewport #sidebar.apple-sidebar.mobile-open,
    html.sidebar-sheet-pan-active.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar.mobile-open,
    html.sidebar-sheet-pan-active.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar.mobile-open {
      background: var(--ios-sidebar-face-bg) !important;
      border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      box-shadow: var(--ios-sidebar-glass-shadow) !important;
      transition-property: transform !important;
    }
    html.sidebar-overlay-open.is-compact-viewport .sidebar.mobile-open .logo,
    html.sidebar-overlay-open.is-compact-viewport .sidebar.mobile-open .nav button,
    html.sidebar-overlay-open.is-compact-viewport .sidebar.mobile-open .sidebar-footer,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .logo,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .sidebar-footer {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
    html.sidebar-overlay-open.is-compact-viewport #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    html.sidebar-overlay-open.is-compact-viewport #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry,
    html.sidebar-overlay-open.is-compact-viewport .sidebar .sidebar-footer,
    html.sidebar-overlay-open.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar .sidebar-footer {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    @media (prefers-reduced-motion: reduce) {
      html.is-compact-viewport .sidebar.mobile-open ~ .main,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open ~ .main {
        transform: none;
        filter: none;
        box-shadow: none;
      }
      button.mobile-sidebar-backdrop,
      button.mobile-sidebar-backdrop.show {
        transition-duration: 0.01ms !important;
      }
      html.is-compact-viewport button.mobile-sidebar-backdrop.show,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
        background: rgba(15, 23, 42, 0.48) !important;
      }
      @media (max-width: 1023px) {
        .sidebar {
          transition: transform 0.01ms linear !important;
        }
        .sidebar.mobile-open.sidebar-sheet-opening {
          animation: none !important;
        }
      }
      html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar.mobile-open.sidebar-sheet-opening {
        animation: none !important;
      }
      html.is-compact-viewport .sidebar.mobile-open .logo,
      html.is-compact-viewport .sidebar.mobile-open .nav button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .logo,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button {
        animation: none !important;
      }
      html.is-compact-viewport .sidebar.mobile-open .sidebar-footer,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .sidebar-footer {
        animation: none !important;
      }
    }
    html[data-motion="off"].is-compact-viewport .sidebar.mobile-open .logo,
    html[data-motion="off"].is-compact-viewport .sidebar.mobile-open .nav button,
    html[data-motion="off"].ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .logo,
    html[data-motion="off"].ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button,
    html[data-motion="off"].is-compact-viewport .sidebar.mobile-open .sidebar-footer,
    html[data-motion="off"].ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .sidebar-footer {
      animation: none !important;
    }
    html[data-motion="off"] .sidebar.mobile-open.sidebar-sheet-opening {
      animation: none !important;
    }
    .sidebar-toggle {
      display: none;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      min-height: 44px;
      padding: 0 10px;
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.55);
      border: 1px solid rgba(148, 163, 184, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }
    .sidebar-toggle-glyph {
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(51, 65, 85, 0.92);
    }
    .sidebar-toggle-glyph svg {
      display: block;
    }
    #mobileSidebarToggle.sidebar-toggle:active {
      transform: scale(0.94);
      transition: transform 0.12s cubic-bezier(0.32, 0.72, 0, 1);
    }
    .sidebar-toggle:active {
      transform: scale(0.96);
    }
    @media (prefers-reduced-motion: no-preference) {
      .sidebar-toggle[aria-expanded='true'] .sidebar-toggle-glyph {
        transform: rotate(90deg);
        transition: transform 0.34s var(--ios-sheet-ease);
      }
      .sidebar-toggle .sidebar-toggle-glyph {
        transition: transform 0.26s var(--ios-sheet-ease-out);
      }
    }
    [data-theme="dark"] .sidebar-toggle {
      background: rgba(30, 41, 59, 0.55);
      border-color: rgba(148, 163, 184, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }
    [data-theme="dark"] .sidebar-toggle-glyph {
      color: rgba(226, 232, 240, 0.9);
    }
    /* 侧栏抽屉关闭时：菜单按钮上的团队私聊未读（移动 float + 桌面 legacy 汉堡，逻辑在 main.js） */
    #mobileSidebarToggle.sidebar-toggle,
    #desktopSidebarToggle.sidebar-toggle,
    .topbar-desktop-sidebar-toggle.sidebar-toggle {
      position: relative;
      overflow: visible;
    }
    #mobileSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread,
    #desktopSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread,
    .topbar-desktop-sidebar-toggle.sidebar-toggle .sidebar-toggle-hub-unread {
      position: absolute;
      top: 3px;
      right: 4px;
      min-width: 16px;
      height: 16px;
      padding: 0 4px;
      box-sizing: border-box;
      border-radius: 999px;
      background: #ff3b30;
      color: #fff;
      font-size: 9px;
      font-weight: 800;
      line-height: 16px;
      text-align: center;
      letter-spacing: -0.02em;
      border: 1.5px solid rgba(255, 255, 255, 0.92);
      box-shadow: 0 1px 4px rgba(15, 23, 42, 0.2);
      pointer-events: none;
      z-index: 2;
    }
    #mobileSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread.is-wide,
    #desktopSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread.is-wide,
    .topbar-desktop-sidebar-toggle.sidebar-toggle .sidebar-toggle-hub-unread.is-wide {
      min-width: 22px;
      padding: 0 5px;
      font-size: 8px;
    }
    [data-theme="dark"] #mobileSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread,
    [data-theme="dark"] #desktopSidebarToggle.sidebar-toggle .sidebar-toggle-hub-unread,
    [data-theme="dark"] .topbar-desktop-sidebar-toggle.sidebar-toggle .sidebar-toggle-hub-unread {
      border-color: rgba(30, 41, 59, 0.95);
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
    }
    /*
      未读时（has-hub-unread）：对齐 Apple 常见做法——信息主要在角标上，不搞整颗按钮光晕（避免与内容区 glow 同类审美疲劳）。
      静态：略偏系统红的描边 + 极淡底；动效：仅角标极轻「标点」节奏（非扩散光晕）。
    */
    #mobileSidebarToggle.sidebar-toggle.has-hub-unread,
    #desktopSidebarToggle.sidebar-toggle.has-hub-unread,
    .topbar-desktop-sidebar-toggle.sidebar-toggle.has-hub-unread {
      overflow: visible;
      border-color: rgba(255, 59, 48, 0.38);
      /* 与 .sidebar-toggle 同一半透明底混合一点系统红，静态、无 glow */
      background: color-mix(in srgb, rgba(255, 255, 255, 0.55) 88%, rgba(255, 59, 48, 0.14));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        0 0 0 1px rgba(255, 59, 48, 0.12);
    }
    [data-theme="dark"] #mobileSidebarToggle.sidebar-toggle.has-hub-unread,
    [data-theme="dark"] #desktopSidebarToggle.sidebar-toggle.has-hub-unread,
    [data-theme="dark"] .topbar-desktop-sidebar-toggle.sidebar-toggle.has-hub-unread {
      border-color: rgba(255, 99, 90, 0.42);
      background: color-mix(in srgb, rgba(30, 41, 59, 0.55) 90%, rgba(255, 82, 82, 0.14));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 1px rgba(255, 99, 90, 0.18);
    }
    @media (prefers-reduced-motion: no-preference) {
      @keyframes hub-unread-badge-nudge {
        0%,
        100% {
          transform: scale(1);
        }
        50% {
          transform: scale(1.06);
        }
      }
      #mobileSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
      #desktopSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
      .topbar-desktop-sidebar-toggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread {
        transform-origin: center center;
        will-change: transform;
        animation: hub-unread-badge-nudge 3.2s cubic-bezier(0.45, 0, 0.25, 1) infinite;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      #mobileSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
      #desktopSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
      .topbar-desktop-sidebar-toggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread {
        animation: none !important;
      }
    }
    html[data-motion="off"] #mobileSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
    html[data-motion="off"] #desktopSidebarToggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread,
    html[data-motion="off"] .topbar-desktop-sidebar-toggle.sidebar-toggle.has-hub-unread .sidebar-toggle-hub-unread {
      animation: none !important;
    }
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) .topbar-legacy-actions .topbar-legacy-hub-unread {
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .content-shell {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }
    /* Tablet/phone: use overlay sidebar (improves layout & avoids cramped main area) */
    @media (max-width: 1023px) {
      .sidebar-toggle { display: inline-flex; }
      .sidebar {
        position: fixed;
        top: 0;
        left: 0;
        height: 100dvh;
        max-height: 100dvh;
        padding: max(18px, env(safe-area-inset-top, 0px)) clamp(14px, 3.5vw, 18px) max(18px, env(safe-area-inset-bottom, 0px)) max(14px, env(safe-area-inset-left, 0px));
        /* 抽屉宽度：clamp 随屏宽伸缩，避免固定 px 在平板上过窄 */
        width: min(92vw, clamp(268px, 52vw, 360px));
        transform: translate3d(-104%, 0, 0);
        z-index: 100;
        isolation: isolate;
        /* layout containment 在 iOS 上与 transform 动画叠层时偶发子树不绘制 */
        contain: none;
        background: var(--ios-sidebar-face-bg);
        border-right: 0.5px solid var(--ios-sidebar-glass-edge);
        border-radius: 0 28px 28px 0;
        box-shadow: var(--ios-sidebar-glass-shadow);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        will-change: transform;
        backface-visibility: hidden;
        overscroll-behavior: contain;
        transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease);
      }
      .sidebar.mobile-open {
        transform: translate3d(var(--sheet-pan-x, 0px), 0, 0);
        touch-action: pan-y;
      }
      .sidebar.sidebar--dragging {
        transition: none !important;
      }
      [data-theme="dark"] .sidebar {
        background: var(--frost-bg);
        border-right-color: var(--frost-stroke-outer);
        box-shadow:
          inset 0 0 0 0.5px rgba(255, 255, 255, 0.05),
          28px 0 72px rgba(0, 0, 0, 0.48),
          10px 0 28px rgba(0, 0, 0, 0.28);
      }
      [data-theme="dark"] .sidebar.mobile-open {
        box-shadow:
          inset 0 0 0 0.5px rgba(255, 255, 255, 0.06),
          36px 0 88px rgba(0, 0, 0, 0.52),
          14px 0 34px rgba(0, 0, 0, 0.3);
      }
      /* 侧栏内再套 blur 易与 sheet 动画叠成「空白可点」；实底由渐变 + --ios-list-surface 承担 */
      .sidebar .sidebar-footer,
      .sidebar .ios-sidebar-inset-card {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
      .topbar { padding: 12px; gap: 10px; }
      .actions { width: 100%; }
      .search-input { width: 100%; min-width: 0; }
      .drawer-actions-grid .btn { border-radius: var(--ios-radius-md); min-height: 40px; }
      .table-wrap table { min-width: 680px; }
    }
    .sidebar.collapsed { width: clamp(70px, 10vw, 88px); }
    .sidebar.collapsed .logo-text, .sidebar.collapsed .nav span:first-child { display: none; }
    .logo {
      display: flex;
      align-items: center;
      gap: clamp(8px, 0.55vw + 5px, 12px);
      font-weight: 700;
      font-size: clamp(1.05rem, 0.32vw + 0.96rem, 1.22rem);
    }
    .logo-text{
      line-height: 1.1;
      letter-spacing: .02em;
    }
    .logo-icon {
      width: clamp(32px, 1.5vw + 26px, 40px);
      height: clamp(32px, 1.5vw + 26px, 40px);
      background: linear-gradient(135deg, var(--primary), #7c3aed);
      border-radius: clamp(10px, 0.35vw + 8px, var(--ios-radius-sm));
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
    }
    .nav {
      display: flex;
      flex-direction: column;
      gap: 6px;
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      padding-right: 4px;
      scrollbar-width: none;
    }
    .nav::-webkit-scrollbar { width: 0; height: 0; }
    .nav button {
      text-align: left;
      padding: 10px 12px;
      border-radius: var(--ios-radius-md);
      border: none;
      background: transparent;
      color: var(--text);
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 0.9rem;
      min-height: var(--ios-nav-item-h);
      border-radius: var(--ios-nav-item-radius);
      transition:
        background var(--ios-nav-hover-ms) var(--ios-ease),
        box-shadow var(--ios-nav-hover-ms) var(--ios-ease),
        color var(--ios-nav-hover-ms) var(--ios-ease),
        transform var(--ios-nav-press-ms) var(--ios-ease);
    }
    /* WeChat + iOS fusion: subtle nav icons + silkier active feel */
    .nav button{ position: relative; -webkit-tap-highlight-color: transparent; }
    .nav button::before{
      content:"";
      width: 18px;
      height: 18px;
      border-radius: 6px;
      flex: 0 0 18px;
      background: rgba(148,163,184,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
    }
    .nav button[data-page="hub_center"]::before{
      background: linear-gradient(180deg, rgba(7,193,96,.98), rgba(14,176,90,.96));
      box-shadow: 0 10px 18px rgba(7,193,96,.14), inset 0 1px 0 rgba(255,255,255,.28);
      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H8l-4 3v-3H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm3 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Zm0 4a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2H7Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H8l-4 3v-3H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm3 5a1 1 0 1 0 0 2h10a1 1 0 1 0 0-2H7Zm0 4a1 1 0 1 0 0 2h7a1 1 0 1 0 0-2H7Z'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
    }
    .nav button.active{
      background: linear-gradient(180deg, rgba(47,109,246,.13), rgba(47,109,246,.09));
      box-shadow: inset 0 0 0 1px var(--ios-nav-active-ring), 0 8px 16px rgba(47,109,246,.10);
    }
    .nav button[data-page="hub_center"].active{
      background: linear-gradient(180deg, rgba(7,193,96,.14), rgba(7,193,96,.10));
      color: rgba(7,193,96,.95);
      box-shadow: inset 0 0 0 1px rgba(7,193,96,.22), 0 10px 18px rgba(7,193,96,.10);
    }
    [data-theme="dark"] .nav button::before{ background: rgba(148,163,184,.16); box-shadow: inset 0 1px 0 rgba(226,232,240,.06); }
    .nav button span:first-child{
      font-weight: 620;
      letter-spacing: .02em;
      line-height: 1.2;
    }
    /* 仅用于「主标题 + 右侧 accessory」双 span 结构；侧栏 ios-nav / hub 为嵌套结构，勿套用 */
    .nav button:not(.ios-nav-module-btn):not(.hub-nav-entry) span:last-child{
      margin-left: auto;
      opacity: .42;
      font-size: .82rem;
      font-weight: 680;
      transform: translateY(-.5px);
    }
    /* hover 仅在有精细指针时启用：避免 iPhone/iPad 触控「粘滞」高亮（macOS / iPad 触控板正常） */
    @media (hover: hover) and (pointer: fine) {
      .nav button:hover {
        background: var(--ios-nav-hover-bg);
        color: var(--primary);
        box-shadow: inset 0 0 0 1px rgba(47,109,246,.18);
      }
    }
    .nav button:active{
      transform: scale(.986);
    }
    /* 桌面 / 触控板：侧栏导航键盘焦点环（与全局 button:focus-visible 一致，略抬高可见度） */
    @media (pointer: fine) {
      .sidebar .nav button:focus-visible {
        outline: 2px solid color-mix(in srgb, var(--primary) 42%, transparent);
        outline-offset: 3px;
        box-shadow: var(--ring), inset 0 0 0 1px rgba(47, 109, 246, 0.12);
      }
    }
    /* 与原来/style2：Logo 下落 + 模块名自左淡入，错峰更明显 */
    @keyframes iosSidebarLogoIn {
      from { opacity: 0; transform: translateY(-6px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes iosSidebarNavIn {
      from { opacity: 0; transform: translate3d(-14px, 0, 0); }
      to { opacity: 1; transform: translate3d(0, 0, 0); }
    }
    @media (prefers-reduced-motion: no-preference) {
      html.is-compact-viewport .sidebar.mobile-open .logo,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .logo {
        animation: iosSidebarLogoIn 0.38s var(--ios-sheet-ease) both;
      }
      html.is-compact-viewport .sidebar.mobile-open .nav button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button {
        animation: iosSidebarNavIn var(--ios-sidebar-sync-dur-open) var(--ios-sheet-ease) both;
      }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(1),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(1) { animation-delay: 0.04s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(2),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(2) { animation-delay: 0.055s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(3),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(3) { animation-delay: 0.07s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(4),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(4) { animation-delay: 0.085s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(5),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(5) { animation-delay: 0.1s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(6),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(6) { animation-delay: 0.115s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(7),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(7) { animation-delay: 0.13s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(8),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(8) { animation-delay: 0.145s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(9),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(9) { animation-delay: 0.16s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(10),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(10) { animation-delay: 0.175s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(11),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(11) { animation-delay: 0.19s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(12),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(12) { animation-delay: 0.205s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(13),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(13) { animation-delay: 0.22s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(14),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(14) { animation-delay: 0.235s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(15),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(15) { animation-delay: 0.25s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(16),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(16) { animation-delay: 0.265s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(17),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(17) { animation-delay: 0.28s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(18),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(18) { animation-delay: 0.295s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(19),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(19) { animation-delay: 0.31s; }
      html.is-compact-viewport .sidebar.mobile-open .nav button:nth-child(20),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open .nav button:nth-child(20) { animation-delay: 0.325s; }
    }
    .sidebar-footer {
      border-top: 1px solid var(--line);
      padding-top: clamp(12px, 0.85vw + 8px, 18px);
      padding-bottom: max(10px, env(safe-area-inset-bottom));
      font-size: var(--sb-footer-fs, 0.8rem);
      color: var(--muted);
      margin-top: auto;
      flex: 0 0 auto;
      background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.46));
      backdrop-filter: blur(10px) saturate(120%);
      -webkit-backdrop-filter: blur(10px) saturate(120%);
      position: relative;
    }

    /* 方案 A：底栏一行 + 半屏层（质感：细边、轻过渡、面板入场） */
    .sidebar-account-compact {
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: clamp(8px, 0.5vw + 5px, 11px);
      width: 100%;
      padding: clamp(8px, 0.55vw + 5px, 11px) clamp(9px, 0.65vw + 6px, 13px);
      border-radius: clamp(12px, 0.45vw + 10px, 15px);
      border: 1px solid rgba(60, 60, 67, 0.07);
      background: rgba(255, 255, 255, 0.5);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 1px 0 rgba(255, 255, 255, 0.35);
      cursor: pointer;
      outline: none;
      -webkit-tap-highlight-color: transparent;
      transition:
        background 0.2s var(--ios-sheet-ease-out, ease),
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.14s var(--ios-ease, ease);
    }
    .sidebar-account-compact:hover {
      background: rgba(255, 255, 255, 0.72);
      border-color: rgba(60, 60, 67, 0.1);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 1px 0 rgba(255, 255, 255, 0.45),
        0 6px 18px rgba(15, 23, 42, 0.05);
    }
    .sidebar-account-compact:active {
      transform: scale(0.992);
    }
    .sidebar-account-compact:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--primary) 55%, transparent);
      outline-offset: 2px;
    }
    .sidebar-account-compact-avatar {
      flex: 0 0 auto;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 620;
      font-size: 0.92rem;
      letter-spacing: 0.02em;
      color: #1d4ed8;
      background: linear-gradient(145deg, #e8efff, #f4f7ff);
      border: 1px solid rgba(59, 130, 246, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
      transition: transform 0.18s var(--ios-ease, ease), box-shadow 0.18s ease;
    }
    .sidebar-account-compact:hover .sidebar-account-compact-avatar {
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 0 0 1px rgba(59, 130, 246, 0.08);
    }
    .sidebar-account-compact-meta {
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
    .sidebar-account-compact-name {
      font-size: var(--sb-account-name-fs, 0.83rem);
      font-weight: 560;
      letter-spacing: 0.008em;
      color: color-mix(in srgb, var(--text) 90%, var(--muted));
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sidebar-account-compact-sub {
      font-size: var(--sb-account-sub-fs, 0.71rem);
      font-weight: 480;
      letter-spacing: 0.02em;
      color: color-mix(in srgb, var(--muted) 92%, var(--text));
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sidebar-account-compact-more {
      flex: 0 0 auto;
      width: 34px;
      height: 30px;
      border: none;
      border-radius: 9px;
      background: transparent;
      color: color-mix(in srgb, var(--muted) 72%, var(--text));
      font-size: 1.08rem;
      font-weight: 500;
      line-height: 1;
      cursor: pointer;
      padding: 0;
      -webkit-tap-highlight-color: transparent;
      transition: background 0.18s ease, color 0.18s ease;
    }
    .sidebar-account-compact-more:hover {
      background: rgba(60, 60, 67, 0.07);
      color: color-mix(in srgb, var(--text) 55%, var(--muted));
    }

    /* 导航编辑模式：工具栏脱离账户半屏，挂在 #nav 与侧栏底栏之间，便于直接拖拽上方导航 */
    .sidebar-nav-edit-toolbar-mount-pinned {
      flex: 0 0 auto;
      width: 100%;
      min-height: 0;
      padding: 4px 0 2px;
      margin: 0;
      border-top: 1px solid color-mix(in srgb, var(--sys-separator) 70%, transparent);
    }
    .sidebar-nav-edit-toolbar-mount-pinned .sidebar-nav-edit-toolbar {
      margin-top: 0;
      margin-bottom: 0;
    }
    .sidebar-nav-edit-toolbar-mount-pinned .ios-sidebar-nav-edit-entry {
      margin-top: 0;
    }
    @media (orientation: landscape) and (max-height: 520px) {
      .sidebar-account-sheet-panel {
        max-height: min(78vh, 520px);
      }
    }

    .sidebar-account-sheet-overlay[hidden] {
      display: none !important;
    }
    .sidebar-account-sheet-overlay {
      position: fixed;
      inset: 0;
      z-index: 120;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: center;
      pointer-events: none;
      opacity: 1;
    }
    .sidebar-account-sheet-overlay.is-open {
      pointer-events: auto;
    }
    .sidebar-account-sheet-backdrop {
      position: absolute;
      inset: 0;
      border: 0;
      margin: 0;
      padding: 0;
      cursor: pointer;
      background: rgba(15, 23, 42, 0.28);
      opacity: 0;
      -webkit-backdrop-filter: blur(20px) saturate(1.35);
      backdrop-filter: blur(20px) saturate(1.35);
      transition: opacity 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    }
    .sidebar-account-sheet-overlay.is-open .sidebar-account-sheet-backdrop {
      opacity: 1;
    }
    .sidebar-account-sheet-panel {
      position: relative;
      z-index: 1;
      width: min(440px, calc(100vw - 20px));
      max-width: 100%;
      box-sizing: border-box;
      max-height: min(88vh, 640px);
      overflow: hidden auto;
      -webkit-overflow-scrolling: touch;
      border-radius: 22px 22px 0 0;
      background: var(--frost-bg);
      border: 0.5px solid var(--frost-stroke);
      border-bottom: none;
      box-shadow: var(--frost-shadow), var(--frost-inset);
      padding: 0 0 calc(12px + env(safe-area-inset-bottom, 0px));
      outline: none;
      opacity: 0;
      transform: translate3d(0, 16px, 0) scale(0.985);
      transition:
        opacity 0.24s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
      -webkit-backdrop-filter: var(--frost-blur);
      backdrop-filter: var(--frost-blur);
    }
    .sidebar-account-sheet-overlay.is-open .sidebar-account-sheet-panel {
      opacity: 1;
      transform: translate3d(0, 0, 0) scale(1);
    }
    /* 桌面：锚定在侧栏账户行旁（popover），非全屏底 sheet */
    @media (min-width: 1024px) and (pointer: fine) {
      .sidebar-account-sheet-overlay.is-anchored {
        justify-content: flex-start;
        align-items: flex-start;
      }
      .sidebar-account-sheet-overlay.is-anchored .sidebar-account-sheet-panel {
        position: fixed;
        z-index: 2;
        margin: 0;
        border-radius: 18px;
        border: 0.5px solid var(--frost-stroke);
        border-bottom: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur);
        backdrop-filter: var(--frost-blur);
        transform: translate3d(0, 10px, 0) scale(0.98);
        transform-origin: left bottom;
      }
      .sidebar-account-sheet-overlay.is-anchored.is-open .sidebar-account-sheet-panel {
        transform: translate3d(0, 0, 0) scale(1);
      }
      .sidebar-account-sheet-overlay.is-anchored .sidebar-account-sheet-grab {
        display: none;
      }
      .sidebar-account-sheet-overlay.is-anchored .sidebar-account-sheet-head {
        text-align: left;
        padding: 12px 16px 10px;
      }
    }
    .sidebar-account-sheet-grab {
      width: 36px;
      height: 5px;
      border-radius: 99px;
      background: rgba(60, 60, 67, 0.2);
      margin: 6px auto 6px;
      flex-shrink: 0;
    }
    .sidebar-account-sheet-head {
      padding: 6px 16px 10px;
      margin: 0;
      border-bottom: 1px solid rgba(60, 60, 67, 0.08);
      text-align: center;
    }
    .sidebar-account-sheet-title {
      font-size: 1rem;
      font-weight: 640;
      letter-spacing: -0.02em;
      margin: 0 0 4px;
      line-height: 1.25;
      color: var(--text);
    }
    .sidebar-account-sheet-subtitle {
      margin: 0;
      font-size: 0.72rem;
      font-weight: 480;
      line-height: 1.35;
      color: var(--muted);
    }
    .sidebar-account-sheet-body {
      padding: 10px 14px 8px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      box-sizing: border-box;
    }
    .sidebar-account-sheet-body > .sidebar-settings-group {
      margin: 0;
    }
    .sidebar-account-sheet-body .sidebar-group-head {
      padding: 0 2px 5px;
      margin: 0;
    }
    .sidebar-account-sheet-body .ios-sidebar-inset-card {
      border-radius: 14px;
    }
    .sidebar-account-sheet-body .sidebar-account {
      animation: none;
      border-radius: 14px 14px 0 0;
    }
    .sidebar-account-sheet-body .sidebar-account-row,
    .sidebar-account-sheet-body .sidebar-account.sidebar-account--guest .sidebar-guest-shell {
      padding: 10px 12px;
      min-height: 50px;
      gap: 10px;
    }
    .sidebar-account-sheet-body .sidebar-account-avatar {
      width: 36px;
      height: 36px;
      font-size: 0.98rem;
    }
    .sidebar-account-sheet-body #logoutBtn.ios-sidebar-logout-row,
    .sidebar-account-sheet-body .ios-sidebar-inset-card #logoutBtn.ios-sidebar-logout-row {
      padding: 10px 14px;
      min-height: 48px;
      gap: 10px;
    }
    .sidebar-account-sheet-body .sidebar-layout-btn {
      margin-top: 0;
      padding: 8px 12px;
      min-height: 38px;
      border-radius: 12px;
    }
    .sidebar-account-sheet-body .sidebar-nav-edit-toolbar {
      margin-top: 0;
      margin-bottom: 0;
    }
    .sidebar-account-sheet-body .ios-sidebar-nav-edit-entry {
      margin-top: 0;
      padding: 8px 10px;
      min-height: 38px;
    }
    .sidebar-account-sheet-body .role-switch {
      margin-top: 0;
      padding-top: 2px;
      padding-bottom: 0;
    }

    [data-theme="dark"] .sidebar-account-sheet-panel {
      background: var(--frost-bg);
      border-color: var(--frost-stroke);
      box-shadow: var(--frost-shadow), var(--frost-inset);
    }
    [data-theme="dark"] .sidebar-account-sheet-head {
      border-bottom-color: rgba(84, 84, 88, 0.35);
    }
    [data-theme="dark"] .sidebar-account-sheet-grab {
      background: rgba(235, 235, 245, 0.22);
    }
    [data-theme="dark"] .sidebar-account-sheet-backdrop {
      background: rgba(0, 0, 0, 0.52);
    }
    [data-theme="dark"] .sidebar-account-compact {
      background: rgba(40, 40, 44, 0.42);
      border-color: rgba(84, 84, 88, 0.26);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }
    [data-theme="dark"] .sidebar-account-compact:hover {
      background: rgba(50, 50, 54, 0.55);
      border-color: rgba(120, 120, 128, 0.28);
    }
    [data-theme="dark"] .sidebar-account-compact-avatar {
      color: #bfdbfe;
      background: linear-gradient(145deg, rgba(30, 58, 138, 0.5), rgba(30, 64, 175, 0.28));
      border-color: rgba(96, 165, 250, 0.35);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }

    @media (prefers-reduced-motion: reduce) {
      .sidebar-account-sheet-backdrop {
        transition-duration: 0.01ms !important;
      }
      .sidebar-account-sheet-panel {
        transition-duration: 0.01ms !important;
        opacity: 1 !important;
        transform: none !important;
      }
      .sidebar-account-compact,
      .sidebar-account-compact-avatar {
        transition: none !important;
      }
    }

    .sidebar-layout-btn{
      width: 100%;
      margin-top: 10px;
      padding: 10px 12px;
      min-height: 40px;
      box-sizing: border-box;
      border-radius: 12px;
      border: 1px solid rgba(60, 60, 67, 0.1);
      background: rgba(255, 255, 255, 0.45);
      color: rgba(60, 60, 67, 0.78);
      font-size: 0.8125rem;
      font-weight: 560;
      letter-spacing: 0.01em;
      line-height: 1.28;
      cursor: pointer;
      text-align: center;
      transition: background 0.15s ease, border-color 0.15s ease, transform 0.14s var(--ios-ease);
      -webkit-tap-highlight-color: transparent;
    }
    .sidebar-layout-btn:hover{
      background: rgba(59, 130, 246, 0.08);
      border-color: rgba(59, 130, 246, 0.24);
    }
    .sidebar-layout-btn:active{
      transform: scale(0.988);
    }
    .sidebar-settings-group {
      display: flex;
      flex-direction: column;
      gap: 0;
      border: none;
      background: transparent;
      border-radius: 0;
      overflow: visible;
      box-shadow: none;
    }
    .ios-sidebar-inset-card {
      border-radius: 12px;
      overflow: hidden;
      background: var(--ios-list-surface);
      border: 1px solid rgba(60, 60, 67, 0.1);
      box-shadow: var(--ios-list-elevate);
      backdrop-filter: blur(18px) saturate(150%);
      -webkit-backdrop-filter: blur(18px) saturate(150%);
    }
    [data-theme="dark"] .ios-sidebar-inset-card {
      border-color: rgba(84, 84, 88, 0.45);
    }
    /* 侧栏退出：iOS「设置」分组内危险操作行（图标 + 双行文案 + 顺滑按压） */
    #logoutBtn.ios-sidebar-logout-row,
    .ios-sidebar-inset-card #logoutBtn.ios-sidebar-logout-row {
      width: 100%;
      margin: 0;
      padding: 13px 16px;
      min-height: 52px;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 12px;
      border-radius: 0 0 11px 11px;
      border: none;
      border-top: 1px solid var(--hairline);
      background: transparent;
      box-shadow: none;
      cursor: pointer;
      font: inherit;
      text-align: left;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
      user-select: none;
      -webkit-user-select: none;
      transform: translateZ(0);
      transition:
        background-color var(--ios-ui-duration) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        opacity var(--ios-fade-ms) var(--ios-sheet-ease-out);
      animation: iosSidebarButtonIn var(--ios-sidebar-sync-dur-open) var(--ios-sheet-ease) both 0.03s;
    }
    .ios-sidebar-logout-icon {
      flex: 0 0 auto;
      width: 34px;
      height: 34px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 10px;
      color: rgba(255, 59, 48, 0.92);
      background: rgba(255, 59, 48, 0.1);
      border: 1px solid rgba(255, 59, 48, 0.18);
      transition:
        background-color var(--ios-ui-duration) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        border-color var(--ios-ui-duration) var(--ios-sheet-ease-out);
    }
    .ios-sidebar-logout-icon svg {
      display: block;
    }
    .ios-sidebar-logout-copy {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 2px;
    }
    #logoutBtn.ios-sidebar-logout-row .ios-danger-title {
      font-size: 1rem;
      line-height: 1.22;
      font-weight: 590;
      letter-spacing: 0.01em;
      color: #ff3b30;
    }
    #logoutBtn.ios-sidebar-logout-row .ios-danger-sub {
      font-size: 0.74rem;
      line-height: 1.28;
      font-weight: 500;
      letter-spacing: 0.02em;
      color: rgba(60, 60, 67, 0.52);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      max-width: 100%;
    }
    @media (hover: hover) and (pointer: fine) {
      #logoutBtn.ios-sidebar-logout-row:hover {
        background: rgba(255, 59, 48, 0.07);
      }
      #logoutBtn.ios-sidebar-logout-row:hover .ios-sidebar-logout-icon {
        background: rgba(255, 59, 48, 0.14);
        border-color: rgba(255, 59, 48, 0.26);
      }
    }
    #logoutBtn.ios-sidebar-logout-row:active {
      background: rgba(255, 59, 48, 0.12);
      transform: scale(0.987);
    }
    #logoutBtn.ios-sidebar-logout-row:active .ios-sidebar-logout-icon {
      transform: scale(0.96);
    }
    #logoutBtn.ios-sidebar-logout-row:active .ios-danger-title {
      color: #e02d24;
    }
    #logoutBtn.ios-sidebar-logout-row:active .ios-danger-sub {
      color: rgba(60, 60, 67, 0.62);
    }
    #logoutBtn.ios-sidebar-logout-row:focus-visible {
      outline: none;
      box-shadow: inset 0 0 0 2px rgba(255, 59, 48, 0.35);
    }
    #logoutBtn.ios-sidebar-logout-row.ios-haptic-pulse {
      animation: iosDangerHapticPulse 0.16s var(--ios-spring-settle) 1;
    }

    /* 退出登录：iOS Action Sheet（底部确认，与 Hub 消息操作 sheet 同构） */
    .ios-logout-sheet-root {
      position: fixed;
      inset: 0;
      z-index: 12060;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      padding: 0 env(safe-area-inset-right) calc(10px + env(safe-area-inset-bottom)) env(safe-area-inset-left);
      pointer-events: none;
      opacity: 1;
    }
    .ios-logout-sheet-root.is-open {
      pointer-events: auto;
    }
    .ios-logout-sheet-backdrop {
      position: absolute;
      inset: 0;
      border: 0;
      padding: 0;
      margin: 0;
      cursor: pointer;
      background: rgba(15, 23, 42, 0.3);
      opacity: 0;
      -webkit-backdrop-filter: blur(22px) saturate(1.4);
      backdrop-filter: blur(22px) saturate(1.4);
      transition: opacity 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
    }
    .ios-logout-sheet-root.is-open .ios-logout-sheet-backdrop {
      opacity: 1;
    }
    .ios-logout-sheet-panel {
      position: relative;
      width: min(420px, 100%);
      max-height: min(78vh, 560px);
      border-radius: 18px;
      overflow: hidden;
      background: var(--frost-bg);
      border: 0.5px solid var(--frost-stroke);
      box-shadow: var(--frost-shadow), var(--frost-inset);
      -webkit-backdrop-filter: var(--frost-blur);
      backdrop-filter: var(--frost-blur);
      opacity: 0;
      transform: translate3d(0, 14px, 0);
      transition:
        opacity 0.24s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.3s cubic-bezier(0.32, 0.72, 0, 1);
    }
    .ios-logout-sheet-root.is-open .ios-logout-sheet-panel {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    .ios-logout-sheet-cap {
      height: 5px;
      margin: 8px auto 0;
      width: 36px;
      border-radius: 999px;
      background: rgba(148, 163, 184, 0.38);
    }
    .ios-logout-sheet-title {
      margin: 12px 18px 6px;
      font-size: 0.82rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      text-align: center;
      color: var(--sys-muted-strong);
    }
    .ios-logout-sheet-message {
      margin: 0 18px 4px;
      font-size: 0.88rem;
      line-height: 1.45;
      font-weight: 500;
      text-align: center;
      color: rgba(51, 65, 85, 0.9);
    }
    .ios-logout-sheet-email {
      margin: 0 18px 10px;
      font-size: 0.8rem;
      line-height: 1.35;
      font-weight: 590;
      text-align: center;
      color: rgba(51, 65, 85, 0.78);
      word-break: break-all;
    }
    .ios-logout-sheet-actions {
      display: flex;
      flex-direction: column;
      padding: 0 10px 8px;
    }
    .ios-logout-sheet-row {
      width: 100%;
      border: none;
      background: transparent;
      padding: 14px 12px;
      font-size: 1.0625rem;
      font-weight: 590;
      letter-spacing: -0.015em;
      text-align: center;
      color: rgba(15, 23, 42, 0.92);
      border-top: 1px solid rgba(60, 60, 67, 0.1);
      cursor: pointer;
      transition: background var(--ios-nav-press-ms) var(--ios-sheet-ease-out);
      -webkit-tap-highlight-color: transparent;
    }
    .ios-logout-sheet-row:first-of-type {
      border-top: none;
    }
    .ios-logout-sheet-row:active {
      background: rgba(15, 23, 42, 0.05);
    }
    .ios-logout-sheet-row.danger {
      color: #ff3b30;
      font-weight: 600;
    }
    .ios-logout-sheet-cancel {
      margin: 0 10px 10px;
      width: calc(100% - 20px);
      padding: 12px;
      border-radius: 12px;
      border: 1px solid rgba(60, 60, 67, 0.12);
      background: rgba(255, 255, 255, 0.94);
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      color: rgba(51, 65, 85, 0.9);
      transition: transform var(--ios-nav-press-ms) var(--ios-spring-settle), background var(--ios-ui-duration) var(--ios-sheet-ease-out);
      -webkit-tap-highlight-color: transparent;
    }
    .ios-logout-sheet-cancel:active {
      transform: scale(0.987);
      background: rgba(241, 245, 249, 0.95);
    }
    [data-theme="dark"] .ios-logout-sheet-backdrop {
      background: rgba(0, 0, 0, 0.52);
    }
    [data-theme="dark"] .ios-logout-sheet-panel {
      background: var(--frost-bg);
      border-color: var(--frost-stroke);
    }
    [data-theme="dark"] .ios-logout-sheet-title {
      color: rgba(235, 235, 245, 0.55);
    }
    [data-theme="dark"] .ios-logout-sheet-message,
    [data-theme="dark"] .ios-logout-sheet-email {
      color: rgba(226, 232, 240, 0.88);
    }
    [data-theme="dark"] .ios-logout-sheet-row {
      color: rgba(235, 235, 245, 0.94);
      border-top-color: rgba(84, 84, 88, 0.45);
    }
    [data-theme="dark"] .ios-logout-sheet-row:active {
      background: rgba(255, 255, 255, 0.06);
    }
    [data-theme="dark"] .ios-logout-sheet-row.danger {
      color: rgba(254, 202, 202, 0.96);
    }
    [data-theme="dark"] .ios-logout-sheet-cancel {
      background: rgba(51, 65, 85, 0.75);
      border-color: rgba(148, 163, 184, 0.22);
      color: rgba(226, 232, 240, 0.92);
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-logout-sheet-backdrop,
      .ios-logout-sheet-panel {
        transition-duration: 0.01ms !important;
      }
      .ios-logout-sheet-root.is-open .ios-logout-sheet-backdrop,
      .ios-logout-sheet-root.is-open .ios-logout-sheet-panel {
        opacity: 1 !important;
        transform: none !important;
      }
    }

    .sidebar-group-head {
      padding: 6px 4px 8px;
      border-bottom: none;
      background: transparent;
      font-size: 0.72rem;
      line-height: 1.25;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--sys-muted-strong);
    }
    .sidebar-account {
      position: relative;
      padding: 0;
      border-radius: 0;
      border: none;
      background: transparent;
      box-shadow: none;
      transform-origin: 50% 100%;
      animation: iosSidebarCardIn 0.38s var(--ios-ease) both;
      transition:
        background var(--ios-ui-duration) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle);
      will-change: transform, opacity, filter, background;
      -webkit-tap-highlight-color: transparent;
      cursor: pointer;
    }
    .sidebar-account-row,
    .sidebar-account.sidebar-account--guest .sidebar-guest-shell {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      min-height: 56px;
      padding: 13px 14px 15px 12px;
    }
    .sidebar-account-main {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 0;
      padding-top: 1px;
    }
    .sidebar-account-text {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 6px;
      min-width: 0;
      width: 100%;
    }
    /* iOS：主标题单行 + 尾部 accessory；过长时默认 …，再慢速左右平移露出全文（见 sidebarAccountMarqueeScroll） */
    .sidebar-account-title-row {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      min-width: 0;
      flex-wrap: nowrap;
    }
    .sidebar-guest-copy {
      flex: 1;
      min-width: 0;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .sidebar-guest-title {
      font-size: 1.02rem;
      font-weight: 680;
      letter-spacing: 0.01em;
      color: var(--text);
    }
    .sidebar-guest-sub {
      font-size: 0.78rem;
      line-height: 1.35;
      font-weight: 500;
      color: var(--muted);
    }
    .sidebar-account-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 720;
      font-size: 1.05rem;
      letter-spacing: 0.02em;
      color: #1d4ed8;
      background: linear-gradient(145deg, #e8efff, #f4f7ff);
      border: 1px solid rgba(59, 130, 246, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    }
    .sidebar-account-avatar--guest {
      color: transparent;
      font-size: 0;
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232f6df6'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") center / 22px 22px no-repeat,
        linear-gradient(145deg, rgba(59, 130, 246, 0.14), rgba(59, 130, 246, 0.06));
      border-color: rgba(59, 130, 246, 0.22);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
    }
    [data-theme="dark"] .sidebar-account-avatar {
      color: #bfdbfe;
      background: linear-gradient(145deg, rgba(30, 58, 138, 0.5), rgba(30, 64, 175, 0.28));
      border-color: rgba(96, 165, 250, 0.35);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    }
    [data-theme="dark"] .sidebar-account-avatar--guest {
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2393c5fd'%3E%3Cpath d='M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z'/%3E%3C/svg%3E") center / 22px 22px no-repeat,
        linear-gradient(145deg, rgba(59, 130, 246, 0.22), rgba(59, 130, 246, 0.08));
    }
    .sidebar-account-chevron {
      flex: 0 0 auto;
      align-self: flex-start;
      margin-top: 10px;
      font-size: 1.12rem;
      font-weight: 500;
      color: var(--sys-muted);
      opacity: 0.38;
      line-height: 1;
    }
    .sidebar-account:hover {
      background: rgba(99, 116, 145, 0.06);
    }
    .sidebar-account:active {
      transform: scale(0.992);
      background: rgba(99, 116, 145, 0.09);
    }
    .sidebar-account.sidebar-account--guest:hover {
      background: rgba(47, 109, 246, 0.06);
    }
    .sidebar-account.sidebar-account--guest:active {
      background: rgba(47, 109, 246, 0.1);
    }
    .sidebar-account.is-refreshing {
      animation: iosSidebarTextRefresh .26s var(--ios-ease) both;
    }
    .sidebar-account-user {
      flex: 1 1 auto;
      min-width: 0;
      width: auto;
      overflow: hidden;
      position: relative;
      font-size: 1.0625rem;
      line-height: 1.25;
      font-weight: 600;
      letter-spacing: -0.022em;
      font-feature-settings: "tnum" 1;
      color: var(--text);
    }
    .sidebar-account-user-inner {
      display: inline-block;
      max-width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      vertical-align: top;
      font: inherit;
      letter-spacing: inherit;
      font-feature-settings: inherit;
      color: inherit;
    }
    @keyframes sidebarAccountMarqueeScroll {
      0%, 10% {
        transform: translate3d(0, 0, 0);
      }
      45%, 55% {
        transform: translate3d(var(--marquee-end, 0px), 0, 0);
      }
      90%, 100% {
        transform: translate3d(0, 0, 0);
      }
    }
    .sidebar-account-user--marquee .sidebar-account-user-inner {
      max-width: none;
      text-overflow: clip;
      will-change: transform;
      animation: sidebarAccountMarqueeScroll var(--marquee-dur, 8s) ease-in-out infinite;
    }
    @media (prefers-reduced-motion: reduce) {
      .sidebar-account-user--marquee .sidebar-account-user-inner {
        animation: none !important;
        transform: none !important;
        max-width: 100%;
        text-overflow: ellipsis;
      }
    }
    .sidebar-account-role {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      min-width: 0;
      max-width: min(140px, 46%);
      margin: 0;
      padding: 3px 9px;
      font-size: 0.6875rem;
      line-height: 1.2;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: #475569;
      background: rgba(99, 116, 145, 0.1);
      border: 1px solid rgba(99, 116, 145, 0.18);
      border-radius: 999px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sidebar-account-hint {
      margin: 8px 0 0;
      padding: 0;
      width: 100%;
      min-width: 0;
      font-size: 0.75rem;
      line-height: 1.45;
      font-weight: 400;
      letter-spacing: 0.015em;
      color: var(--sys-muted);
      opacity: 0.88;
    }
    .sidebar-account-badges {
      margin-top: 10px;
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .sidebar-isolation-badge {
      margin-top: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      max-width: 100%;
      font-size: 0.68rem;
      line-height: 1.2;
      font-weight: 580;
      letter-spacing: 0.01em;
      border-radius: 999px;
      border: 1px solid rgba(148, 163, 184, 0.26);
      background: rgba(148, 163, 184, 0.08);
      color: rgba(71, 85, 105, 0.92);
      padding: 2px 8px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      transition: transform .14s var(--ios-ease), filter .14s var(--ios-ease);
    }
    .sidebar-isolation-badge:hover { filter: saturate(1.05); }
    .sidebar-isolation-badge:active { transform: scale(.985); }
    .sidebar-isolation-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #64748b;
      flex: 0 0 auto;
    }
    .sidebar-isolation-badge.ok {
      border-color: rgba(22, 163, 74, 0.3);
      background: rgba(22, 163, 74, 0.1);
      color: rgba(21, 128, 61, 0.95);
    }
    .sidebar-isolation-badge.ok .sidebar-isolation-dot {
      background: #16a34a;
    }
    .sidebar-isolation-badge.risk {
      border-color: rgba(239, 68, 68, 0.3);
      background: rgba(239, 68, 68, 0.1);
      color: rgba(185, 28, 28, 0.95);
    }
    .sidebar-isolation-badge.risk .sidebar-isolation-dot {
      background: #ef4444;
    }
    .account-sheet {
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .account-sheet-head {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 2px 2px;
    }
    .account-sheet-avatar {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      font-size: 1rem;
      color: #1d4ed8;
      background: linear-gradient(135deg, #e0ebff, #f1f5ff);
      border: 1px solid rgba(59, 130, 246, 0.22);
    }
    .account-sheet-head-text {
      min-width: 0;
    }
    .account-sheet-title {
      font-size: 0.98rem;
      line-height: 1.25;
      font-weight: 640;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .account-sheet-sub {
      margin-top: 2px;
      font-size: 0.76rem;
      color: var(--muted);
    }
    .account-sheet-footnote {
      margin: 2px 2px 0;
      font-size: 0.72rem;
      line-height: 1.35;
      color: var(--muted);
    }
    .account-email-row {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
      max-width: 100%;
    }
    .account-email-text {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .account-copy-btn {
      border: 1px solid var(--line);
      border-radius: 999px;
      background: rgba(255,255,255,.72);
      color: var(--primary);
      font-size: 0.7rem;
      font-weight: 620;
      padding: 2px 8px;
      cursor: pointer;
      opacity: .94;
      transition: background .24s var(--ios-ease), border-color .24s var(--ios-ease), color .24s var(--ios-ease), transform .16s var(--ios-ease), opacity .22s var(--ios-ease);
      -webkit-tap-highlight-color: transparent;
    }
    .account-copy-btn:hover {
      background: rgba(219, 234, 254, .85);
    }
    .account-copy-btn:active {
      transform: scale(.96);
    }
    .account-copy-btn.is-copied {
      background: rgba(22, 163, 74, 0.14);
      border-color: rgba(22, 163, 74, 0.28);
      color: #15803d;
      opacity: 1;
      animation: iosCopiedFade 1s var(--ios-ease) 1;
    }
    [data-theme="dark"] .sidebar-footer {
      background: linear-gradient(180deg, rgba(15,23,42,.10), rgba(15,23,42,.48));
    }
    [data-theme="dark"] .sidebar-account {
      background: transparent;
      box-shadow: none;
    }
    [data-theme="dark"] .sidebar-group-head {
      border-bottom: none;
      background: transparent;
      color: rgba(191, 219, 254, 0.62);
    }
    [data-theme="dark"] .sidebar-settings-group {
      border: none;
      background: transparent;
      box-shadow: none;
    }
    [data-theme="dark"] .sidebar-layout-btn {
      background: rgba(30, 41, 59, 0.5);
      border-color: rgba(84, 84, 88, 0.38);
      color: rgba(235, 235, 245, 0.72);
    }
    [data-theme="dark"] .sidebar-layout-btn:hover {
      background: rgba(59, 130, 246, 0.14);
      border-color: rgba(96, 165, 250, 0.35);
    }
    [data-theme="dark"] .sidebar-account-user {
      color: rgba(255, 255, 255, 0.92);
    }
    [data-theme="dark"] .sidebar-account-role {
      color: rgba(226, 232, 240, 0.92);
      background: rgba(96, 165, 250, 0.12);
      border-color: rgba(96, 165, 250, 0.24);
    }
    [data-theme="dark"] .sidebar-account-hint {
      color: rgba(235, 235, 245, 0.48);
      opacity: 1;
    }
    [data-theme="dark"] .sidebar-isolation-badge {
      border-color: rgba(148, 163, 184, 0.34);
      background: rgba(148, 163, 184, 0.14);
      color: rgba(226, 232, 240, 0.92);
    }
    [data-theme="dark"] .sidebar-isolation-dot {
      background: #94a3b8;
    }
    [data-theme="dark"] .sidebar-isolation-badge.ok {
      border-color: rgba(74, 222, 128, 0.34);
      background: rgba(22, 163, 74, 0.2);
      color: rgba(134, 239, 172, 0.95);
    }
    [data-theme="dark"] .sidebar-isolation-badge.ok .sidebar-isolation-dot {
      background: #4ade80;
    }
    [data-theme="dark"] .sidebar-isolation-badge.risk {
      border-color: rgba(252, 165, 165, 0.34);
      background: rgba(185, 28, 28, 0.26);
      color: rgba(254, 202, 202, 0.95);
    }
    [data-theme="dark"] .sidebar-isolation-badge.risk .sidebar-isolation-dot {
      background: #fca5a5;
    }
    [data-theme="dark"] #logoutBtn.ios-sidebar-logout-row .ios-danger-sub {
      color: rgba(235, 235, 245, 0.48);
    }
    [data-theme="dark"] #logoutBtn.ios-sidebar-logout-row .ios-sidebar-logout-icon {
      color: rgba(255, 154, 148, 0.98);
      background: rgba(255, 59, 48, 0.18);
      border-color: rgba(255, 129, 118, 0.32);
    }
    @media (hover: hover) and (pointer: fine) {
      [data-theme="dark"] #logoutBtn.ios-sidebar-logout-row:hover {
        background: rgba(255, 59, 48, 0.1);
      }
      [data-theme="dark"] #logoutBtn.ios-sidebar-logout-row:hover .ios-sidebar-logout-icon {
        background: rgba(255, 59, 48, 0.22);
        border-color: rgba(255, 129, 118, 0.38);
      }
    }
    [data-theme="dark"] #logoutBtn.ios-sidebar-logout-row:active {
      background: rgba(255, 59, 48, 0.16);
    }
    [data-theme="dark"] .account-sheet-avatar {
      color: #dbeafe;
      background: linear-gradient(135deg, rgba(30,64,175,.36), rgba(37,99,235,.22));
      border-color: rgba(96,165,250,.34);
    }
    [data-theme="dark"] .account-copy-btn {
      background: rgba(15,23,42,.62);
      border-color: rgba(148,163,184,.28);
      color: #bfdbfe;
    }
    [data-theme="dark"] .account-copy-btn:hover {
      background: rgba(30,58,138,.45);
    }
    [data-theme="dark"] .account-copy-btn.is-copied {
      background: rgba(22, 163, 74, 0.22);
      border-color: rgba(74, 222, 128, 0.34);
      color: #86efac;
    }
    @keyframes iosSidebarCardIn {
      0% { opacity: 0; transform: translateY(8px) scale(.985); filter: saturate(.92); }
      100% { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
    }
    @keyframes iosSidebarButtonIn {
      0% { opacity: 0; transform: translateY(10px) scale(.98); }
      100% { opacity: 1; transform: translateY(0) scale(1); }
    }
    @keyframes iosSidebarTextRefresh {
      0% { opacity: .66; transform: translateY(2px); }
      100% { opacity: 1; transform: translateY(0); }
    }
    @keyframes iosDangerHapticPulse {
      0% { transform: scale(1); }
      40% { transform: scale(0.972); }
      100% { transform: scale(1); }
    }
    @keyframes iosCopiedFade {
      0% { opacity: .72; transform: scale(.96); }
      18% { opacity: 1; transform: scale(1); }
      78% { opacity: 1; transform: scale(1); }
      100% { opacity: .82; transform: scale(.985); }
    }
    @media (max-width: 900px) {
      .sidebar-group-head {
        padding: 6px 3px 7px;
      }
      .sidebar-account-row,
      .sidebar-account.sidebar-account--guest .sidebar-guest-shell {
        padding: 10px 12px;
      }
      .sidebar-account-user {
        font-size: 1rem;
      }
      .sidebar-account-role {
        font-size: 0.625rem;
        padding: 2px 8px;
      }
      .sidebar-account-hint {
        font-size: 0.72rem;
      }
      .sidebar-isolation-badge {
        font-size: 0.64rem;
        padding: 2px 7px;
      }
      #logoutBtn.ios-sidebar-logout-row .ios-danger-sub {
        display: none;
      }
    }
    .role-switch {
      margin-top: 8px;
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
    }
    .role-switch button {
      padding: 4px 8px;
      border-radius: 999px;
      background: rgba(255,255,255,.62);
      border: 1px solid var(--line);
      cursor: pointer;
      font-size: 0.7rem;
    }
    [data-theme="dark"] .role-switch button { background: rgba(15,23,42,.38); border-color: rgba(148,163,184,.18); }
    [data-theme="dark"] .nav button:hover {
      background: rgba(59,130,246,.16);
      box-shadow: inset 0 0 0 1px rgba(96,165,250,.26);
      color: #bfdbfe;
    }
    [data-theme="dark"] .nav button.active {
      background: rgba(59,130,246,.22);
      box-shadow: inset 0 0 0 1px rgba(147,197,253,.34), 0 10px 20px rgba(2,6,23,.32);
      color: #dbeafe;
    }
    .role-switch button.active {
      background: linear-gradient(135deg, #4f8bff, var(--primary));
      color: white;
      border-color: transparent;
      box-shadow: 0 6px 16px rgba(47,109,246,.35);
    }
    .main {
      flex: 1;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      min-width: 0;
      min-height: 0;
      transform: translateZ(0);
      backface-visibility: hidden;
      overscroll-behavior: contain;
    }
    html.is-compact-viewport .app > .main,
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) .app > .main {
      transform: scale(1) translate3d(0, 0, 0);
      backface-visibility: visible;
    }
    /* 手机 / 平板：顶栏固定 + iOS 式毛玻璃；随 --topbar-scroll-immersion 渐透见下方滚动内容；main.js 写 --topbar-clearance */
    html.is-compact-viewport body:not(.modal-open):not(.hub-chat-immersive) .app > .main > .topbar {
      position: fixed !important;
      top: 0 !important;
      left: 0;
      right: 0;
      z-index: 60;
      width: 100%;
      box-sizing: border-box;
      overflow: visible;
      transform: translate3d(0, 0, 0);
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      isolation: isolate;
      /* 勿对 background/backdrop 做 transition：滚动时每帧更新 --topbar-scroll-immersion，过渡会与跟手打架、极易卡顿 */
      transition: none;
      -webkit-backdrop-filter: blur(22px) saturate(175%);
      backdrop-filter: blur(22px) saturate(175%);
      background: color-mix(
        in srgb,
        var(--panel) calc(80% - (var(--topbar-scroll-immersion, 0) * 48%)),
        transparent
      ) !important;
      border-bottom: 1px solid
        color-mix(
          in srgb,
          var(--sys-separator, rgba(148, 163, 184, 0.22)) calc(58% - (var(--topbar-scroll-immersion, 0) * 40%)),
          transparent
        );
    }
    /* 团队私聊窄屏会话线程：全局顶栏完全让位给聊天（须 position:fixed，否则仍继承 .topbar 的 sticky 会占位/露脸） */
    html.is-compact-viewport body:not(.modal-open).hub-chat-immersive .app > .main > .topbar {
      position: fixed !important;
      top: 0 !important;
      left: 0;
      right: 0;
      width: 100%;
      box-sizing: border-box;
      z-index: 60;
      transform: translate3d(0, calc(-100% - 12px), 0);
      pointer-events: none;
      opacity: 0;
      backdrop-filter: blur(0px) saturate(1) !important;
      -webkit-backdrop-filter: blur(0px) saturate(1) !important;
      background: transparent !important;
      border-bottom-color: transparent !important;
      box-shadow: none !important;
      visibility: hidden;
      /* 沉浸式要立刻腾出纵向空间，勿用长分阶段过渡（否则顶栏会像「又加回来」一帧） */
      transition: none;
    }
    html.is-compact-viewport body:not(.modal-open) .app > .main > #content.content {
      /* !important：必须压过后续「统一 padding」等简写规则，否则主区顶部会被固定顶栏遮住 */
      padding-top: var(--topbar-clearance, 104px) !important;
      scroll-padding-top: calc(var(--topbar-clearance, 104px) + 8px);
      /* 顶栏不再收起，顶距恒定；勿动画 padding-top，避免滚动时与主线程争抢 */
      transition: none;
      box-sizing: border-box;
    }
    /* 私聊沉浸式：主区顶距仅安全区（与 main.js --topbar-clearance 一致，防脚本稍晚时仍被大 padding 压一截） */
    html.is-compact-viewport body:not(.modal-open).hub-chat-immersive .app > .main > #content.content {
      padding-top: max(10px, env(safe-area-inset-top, 0px)) !important;
      scroll-padding-top: calc(max(10px, env(safe-area-inset-top, 0px)) + 8px);
    }
    /* 弹层打开时顶栏仍在，#content 仍按 JS 写入的 --topbar-clearance 预留（原 :not(.modal-open) 会漏掉此情况） */
    html.is-compact-viewport body.modal-open .app > .main > #content.content {
      padding-top: var(--topbar-clearance, 104px) !important;
      scroll-padding-top: calc(var(--topbar-clearance, 104px) + 8px);
    }
    /* 私聊沉浸式 + 系统弹窗：与无弹窗时同一顶距，避免点「⋯」整页被顶下一截、关窗又弹回 */
    html.is-compact-viewport body.modal-open.hub-chat-immersive .app > .main > #content.content {
      padding-top: max(10px, env(safe-area-inset-top, 0px)) !important;
      scroll-padding-top: calc(max(10px, env(safe-area-inset-top, 0px)) + 8px);
    }
    /* 沉浸式下 :not(.modal-open) 顶栏隐藏选择器在弹窗打开时不成立，补一条避免顶栏闪回占位 */
    html.is-compact-viewport body.modal-open.hub-chat-immersive .app > .main > .topbar {
      position: fixed !important;
      top: 0 !important;
      left: 0;
      right: 0;
      width: 100%;
      box-sizing: border-box;
      z-index: 60;
      transform: translate3d(0, calc(-100% - 12px), 0);
      pointer-events: none;
      opacity: 0;
      backdrop-filter: blur(0px) saturate(1) !important;
      -webkit-backdrop-filter: blur(0px) saturate(1) !important;
      background: transparent !important;
      border-bottom-color: transparent !important;
      box-shadow: none !important;
      visibility: hidden;
      transition: none;
    }
    @media (prefers-reduced-motion: reduce) {
      html.is-compact-viewport body:not(.modal-open):not(.hub-chat-immersive) .app > .main > .topbar {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        background: var(--panel) !important;
        border-bottom-color: var(--line) !important;
      }
      html.is-compact-viewport body.hub-chat-immersive .app > .main > .topbar {
        position: fixed !important;
        transform: translate3d(0, calc(-100% - 12px), 0) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: transparent !important;
        border-bottom-color: transparent !important;
        transition-duration: 0.01ms !important;
        transition-delay: 0s !important;
      }
    }
    .topbar {
      padding: 16px 24px;
      background: var(--panel);
      backdrop-filter: blur(20px) saturate(130%);
      border-bottom: 1px solid var(--line);
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 12px;
      position: sticky;
      top: 0;
      z-index: 10;
    }
    .page-title h2 { font-size: 1.4rem; font-weight: 600; }
    .page-title p { font-size: 0.8rem; color: var(--muted); margin-top: 4px; }
    .actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
    .search-input {
      padding: 10px 14px;
      border-radius: 12px;
      border: 1px solid var(--hairline);
      background: var(--sys-surface);
      width: 220px;
      min-height: 40px;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .search-input::placeholder{
      color: rgba(60, 60, 67, 0.5);
      font-weight: 400;
      letter-spacing: -0.01em;
      opacity: 1;
    }
    .search-input:focus{ outline: none; box-shadow: var(--ring); border-color: rgba(37,99,235,.45); }
    input:focus:not([type="checkbox"]):not([type="radio"]), select:focus, textarea:focus{ outline: none; box-shadow: var(--ring); border-color: rgba(37,99,235,.45); }
    .search-input,
    input,
    select,
    textarea{
      transition: box-shadow .18s var(--ios-ease), border-color .18s var(--ios-ease), background .18s var(--ios-ease), transform .18s var(--ios-ease);
    }
    .search-input:hover,
    input:hover,
    select:hover,
    textarea:hover{
      border-color: rgba(59,130,246,.30);
    }
    input:focus-visible:not([type="checkbox"]):not([type="radio"]), select:focus-visible, textarea:focus-visible, button:focus-visible{
      outline: none;
      box-shadow: var(--ring);
    }
    /* Buttons: system layer (no glass). Hover only on pointer-fine devices. */
    .btn {
      padding: 10px 16px;
      border-radius: var(--ios-radius-md);
      border: 1px solid var(--hairline);
      cursor: pointer;
      background: var(--sys-surface);
      color: var(--text);
      font-weight: 600;
      letter-spacing: .1px;
      min-height: var(--ios-tap-min-h);
      transition:
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        box-shadow var(--ios-ui-duration) var(--ios-sheet-ease-out),
        background var(--ios-ui-duration) var(--ios-sheet-ease-out),
        border-color var(--ios-ui-duration) var(--ios-sheet-ease-out),
        filter var(--ios-ui-duration) var(--ios-sheet-ease-out);
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
    @media (hover:hover) and (pointer:fine){
      .btn:hover{
        transform: translateY(-1px);
        box-shadow: var(--shadow-s1);
        border-color: var(--hairline-strong);
      }
    }
    .btn:active:not(:disabled){
      transform: scale(var(--press-scale));
      box-shadow: none;
      transition-duration: var(--motion-micro-ms);
    }
    .btn:disabled, .btn[disabled]{ opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; filter:none; }

    /* Global iOS visual/layout normalization */
    .content-shell,
    .section-grid,
    .stat-strip,
    .action-grid,
    .drawer-actions-grid,
    .row-actions,
    .btn-group {
      gap: var(--ios-space-2);
    }
    .card,
    .action-group,
    .more-actions-menu,
    .row-action-menu-list,
    .stat-pill,
    .ios-form,
    .ios-kv-item {
      border: 1px solid var(--sys-separator);
      box-shadow: 0 10px 26px rgba(15,23,42,.06);
    }
    .card {
      border-radius: var(--ios-radius-lg);
      padding: clamp(16px, 2vw, 22px);
      margin-bottom: var(--ios-space-3);
    }
    input,
    select,
    textarea,
    .search-input,
    .pricing-select {
      border-radius: var(--ios-radius-md);
      min-height: var(--ios-tap-min-h);
      transition:
        box-shadow var(--motion-component-ms) var(--ios-response),
        background var(--motion-component-ms) var(--ios-response),
        border-color var(--motion-component-ms) var(--ios-response);
    }
    /* (kept) .btn typography already defined above */
    .btn-icon {
      width: var(--ios-tap-min-h);
      height: var(--ios-tap-min-h);
    }
    /* Chrome baseline; subtle iOS material is enabled via @supports below. */
    .topbar,
    .sidebar {
      background: var(--sys-surface);
      border-color: var(--hairline);
      box-shadow: 0 8px 22px rgba(15,23,42,.06);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
      .topbar,
      .sidebar {
        background: var(--chrome-bg);
        backdrop-filter: blur(var(--chrome-blur)) saturate(var(--chrome-sat));
        -webkit-backdrop-filter: blur(var(--chrome-blur)) saturate(var(--chrome-sat));
        box-shadow: 0 10px 28px rgba(15,23,42,.08);
      }
      .topbar { background: var(--chrome-bg-strong); }
    }
    /* 顶栏阴影需在 @supports 材质规则之后覆盖，否则会被毛玻璃那条盖住（桌面鼠标端更像 macOS 标题栏） */
    @media (pointer: fine) and (min-width: 1024px) {
      .topbar {
        box-shadow:
          0 1px 0 rgba(60, 60, 67, 0.09),
          0 12px 32px rgba(15, 23, 42, 0.09);
      }
      [data-theme="dark"] .topbar {
        box-shadow:
          0 1px 0 rgba(0, 0, 0, 0.38),
          0 12px 34px rgba(0, 0, 0, 0.32);
      }
    }
    .topbar {
      padding:
        max(14px, env(safe-area-inset-top, 0px))
        max(clamp(14px, 2vw, 24px), env(safe-area-inset-right, 0px))
        14px
        max(clamp(14px, 2vw, 24px), env(safe-area-inset-left, 0px));
      gap: var(--ios-space-2);
    }
    .content {
      --large-title-scroll-prog: 0;
      --content-pad: clamp(14px, 2.2vw, calc(var(--density-content-pad) + 8px));
      padding: var(--content-pad);
      padding-left: max(var(--content-pad), env(safe-area-inset-left, 0px));
      padding-right: max(var(--content-pad), env(safe-area-inset-right, 0px));
      padding-bottom: max(var(--content-pad), env(safe-area-inset-bottom, 0px));
      transition:
        opacity var(--motion-container-ms) var(--ios-sheet-ease-out),
        transform var(--motion-screen-ms) var(--ios-ease-decel);
      transform-origin: 50% 12%;
      min-height: 0;
      min-width: 0;
      overscroll-behavior: contain;
      scroll-behavior: smooth;
      scroll-padding-bottom: max(120px, calc(env(safe-area-inset-bottom, 0px) + 100px));
      background:
        radial-gradient(92% 44% at 50% -6%, rgba(255, 255, 255, 0.52), transparent 58%),
        radial-gradient(120% 60% at 100% 12%, rgba(59, 130, 246, 0.045), transparent 52%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, transparent 42%);
    }
    [data-theme="dark"] .content {
      background:
        radial-gradient(88% 40% at 50% -4%, rgba(30, 41, 59, 0.42), transparent 56%),
        radial-gradient(100% 50% at 80% 0%, rgba(59, 130, 246, 0.08), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.03) 0%, transparent 38%);
    }
    body.ios-launch-pulse .content {
      transform: translateY(1px) scale(.999);
    }
    .content.ios-page-prep {
      opacity: 0.88;
      transform: translateY(2px) scale(0.998);
      pointer-events: none;
    }
    .content.ios-page-prep.ios-page-forward {
      transform: translateX(8px) translateY(2px) scale(0.998);
    }
    .content.ios-page-prep.ios-page-backward {
      transform: translateX(-8px) translateY(2px) scale(0.998);
    }
    [data-motion="lite"] .content {
      transition-duration: var(--motion-component-ms), var(--motion-container-ms) !important;
    }
    [data-motion="off"] .content {
      transition: none !important;
      transform: none !important;
      filter: none !important;
      opacity: 1 !important;
      scroll-behavior: auto !important;
    }
    /* 路由换模块：整段 innerHTML 前后短暂关闭过渡，避免 GPU 层上旧内容与新内容叠影 */
    #content.content.ios-content-route-swap {
      transition: none !important;
    }

    /* View Transitions API (Chrome / Safari 18+): intra-page refreshes feel closer to native layer swaps */
    /* 默认主区 VT：只做极轻位移/透明度，避免淡出到 0 造成整页「硬切」观感 */
    @keyframes iosVtMainOut {
      from {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
      to {
        opacity: 0.94;
        transform: translateY(-3px) scale(0.997);
      }
    }
    @keyframes iosVtMainIn {
      from {
        opacity: 0.93;
        transform: translateY(5px) scale(0.997);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    @supports (view-transition-name: none) {
      #content.content {
        view-transition-name: app-main-content;
      }
      @media (prefers-reduced-motion: no-preference) {
        ::view-transition-old(app-main-content),
        ::view-transition-new(app-main-content) {
          animation-duration: var(--motion-container-ms);
          animation-timing-function: var(--ios-ease-decel);
        }
        ::view-transition-old(app-main-content) {
          animation-name: iosVtMainOut;
        }
        ::view-transition-new(app-main-content) {
          animation-name: iosVtMainIn;
        }
        /* 列表页顶栏筛选：极轻 cross-fade + 略长节律，更接近 iOS 列表刷新那种「糊一下」而非闪切 */
        @keyframes iosVtSearchSoftOut {
          from { opacity: 1; }
          to { opacity: 0.988; }
        }
        @keyframes iosVtSearchSoftIn {
          from { opacity: 0.985; }
          to { opacity: 1; }
        }
        /* 同页/换页整块替换：几乎只做呼吸级 opacity，位移极小，减轻「闪一下、卡一下」 */
        html.ios-soft-content-refresh::view-transition-old(app-main-content),
        html.ios-soft-content-refresh::view-transition-new(app-main-content) {
          animation-duration: var(--ios-live-surface-ms) !important;
          animation-timing-function: cubic-bezier(0.25, 0.9, 0.35, 1) !important;
        }
        html.ios-soft-content-refresh::view-transition-old(app-main-content) {
          animation-name: iosVtSearchSoftOut !important;
        }
        html.ios-soft-content-refresh::view-transition-new(app-main-content) {
          animation-name: iosVtSearchSoftIn !important;
        }
      }
    }

    /* 闭环实时卡 replaceWith、Hub 成员列表 innerHTML 等：避免硬切闪烁 */
    @keyframes iosLiveSurfaceReveal {
      from {
        opacity: 0.97;
        transform: translateY(2px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    @media (prefers-reduced-motion: no-preference) {
      .ios-live-surface-reveal {
        animation: iosLiveSurfaceReveal var(--ios-live-surface-ms, 0.38s) cubic-bezier(0.25, 0.92, 0.35, 1) both;
      }
    }
    [data-motion="off"] .ios-live-surface-reveal {
      animation: none !important;
    }

    /* 闭环巡检：整块 replaceWith，用更明显的高起点渐入 + 略长时长，弱化「啪一下换掉」的生硬感（Hub 等仍用 ios-live-surface-reveal） */
    @keyframes iosClosureLiveCardReveal {
      from {
        opacity: 0.82;
        transform: translateY(8px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    @media (prefers-reduced-motion: no-preference) {
      .ios-closure-live-reveal {
        animation: iosClosureLiveCardReveal var(--ios-closure-live-ms, 0.34s) cubic-bezier(0.22, 0.82, 0.28, 1) both;
      }
      html[data-motion="lite"] .ios-closure-live-reveal {
        animation-duration: 0.32s;
      }
    }
    [data-motion="off"] .ios-closure-live-reveal {
      animation: none !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-closure-live-reveal {
        animation: none !important;
      }
    }

    /* 闭环实时卡保壳替换（无 View Transition 时的 opacity 降级） */
    .card[data-sync-health-card].ios-closure-live-shell-swap,
    .card[data-closure-assistant-card].ios-closure-live-shell-swap,
    .card[data-closure-risk-detail-card].ios-closure-live-shell-swap,
    .card[data-closure-evidence-card].ios-closure-live-shell-swap {
      transition: opacity 0.16s ease-out;
    }
    .card[data-sync-health-card].ios-closure-live-shell-swap--hide,
    .card[data-closure-assistant-card].ios-closure-live-shell-swap--hide,
    .card[data-closure-risk-detail-card].ios-closure-live-shell-swap--hide,
    .card[data-closure-evidence-card].ios-closure-live-shell-swap--hide {
      opacity: 0.88;
    }
    @supports (view-transition-name: none) {
      [data-sync-health-card] {
        view-transition-name: closure-sync-health-card;
      }
      [data-closure-assistant-card] {
        view-transition-name: closure-assistant-card;
      }
      [data-closure-risk-detail-card] {
        view-transition-name: closure-risk-detail-card;
      }
      [data-closure-evidence-card] {
        view-transition-name: closure-evidence-card;
      }
    }

    /* 路由换页后轻 stagger：stack=主栈直子；perm=侧栏卡+主区前 4 卡；team=团队单卡（main.js 写 data-ios-enter-mode） */
    @media (prefers-reduced-motion: no-preference) {
      @keyframes iosMountStackItem {
        from {
          opacity: 0.88;
          transform: translateY(6px) scale(0.996);
        }
        to {
          opacity: 1;
          transform: translateY(0) scale(1);
        }
      }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > * {
        animation: iosMountStackItem 0.20s var(--ios-ease-decel) both;
      }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(1) { animation-delay: 0.006s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(2) { animation-delay: 0.018s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(3) { animation-delay: 0.03s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(4) { animation-delay: 0.042s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(5) { animation-delay: 0.054s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(6) { animation-delay: 0.066s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(7) { animation-delay: 0.078s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(8) { animation-delay: 0.09s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(9) { animation-delay: 0.102s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(10) { animation-delay: 0.114s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(11) { animation-delay: 0.126s; }
      #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(12) { animation-delay: 0.138s; }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-side-card {
        animation: iosMountStackItem 0.20s var(--ios-ease-decel) both;
        animation-delay: 0.012s;
      }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(-n+4) {
        animation: iosMountStackItem 0.20s var(--ios-ease-decel) both;
      }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(1) { animation-delay: 0.028s; }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(2) { animation-delay: 0.042s; }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(3) { animation-delay: 0.056s; }
      #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(4) { animation-delay: 0.07s; }
      #content.ios-content-enter[data-ios-enter-mode="team"] .team-ios-card {
        animation: iosMountStackItem 0.20s var(--ios-ease-decel) both;
        animation-delay: 0.018s;
      }
    }
    [data-motion="lite"] #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > * {
      animation-duration: var(--motion-micro-ms) !important;
    }
    [data-motion="lite"] #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *:nth-child(n) {
      animation-delay: 0.015s !important;
    }
    [data-motion="lite"] #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-side-card,
    [data-motion="lite"] #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(-n+4) {
      animation-duration: var(--motion-micro-ms) !important;
      animation-delay: 0.02s !important;
    }
    [data-motion="lite"] #content.ios-content-enter[data-ios-enter-mode="team"] .team-ios-card {
      animation-duration: var(--motion-micro-ms) !important;
      animation-delay: 0.02s !important;
    }
    [data-motion="off"] #content.ios-content-enter[data-ios-enter-mode="stack"] .ios-module-stack > *,
    [data-motion="off"] #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-side-card,
    [data-motion="off"] #content.ios-content-enter[data-ios-enter-mode="perm"] .perm-main > .card:nth-child(-n+4),
    [data-motion="off"] #content.ios-content-enter[data-ios-enter-mode="team"] .team-ios-card {
      animation: none !important;
    }

    .search-input {
      width: clamp(220px, 30vw, 340px);
      padding: 10px 14px;
      background: rgba(255,255,255,.66);
    }
    .action-grid {
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    }
    .action-grid .btn,
    .drawer-actions-grid .btn {
      border-radius: var(--ios-radius-md);
      min-height: var(--ios-tap-min-h);
    }
    .row-action-menu-list,
    .more-actions-menu {
      border-radius: var(--ios-radius-md);
      box-shadow: var(--ios-shadow-float);
      padding: var(--ios-space-1);
    }
    .row-action-menu-list .btn,
    .more-actions-menu button,
    .more-actions-menu .menu-link {
      border-radius: var(--ios-radius-sm);
      min-height: 38px;
    }
    .ios-form-row {
      gap: var(--ios-space-2);
      padding: 14px var(--ios-space-3);
    }
    .ios-form-row input,
    .ios-form-row select {
      border-radius: var(--ios-radius-sm);
      min-height: var(--ios-tap-min-h);
      padding: 0 12px;
    }
    .table-wrap table {
      border-collapse: separate;
      border-spacing: 0;
    }
    .table-wrap th,
    .table-wrap td {
      padding-top: 11px;
      padding-bottom: 11px;
      vertical-align: middle;
    }

    /* Unified iOS visual language (system layer first) */
    :root {
      --ios-surface-bg: var(--sys-surface);
      --ios-surface-stroke: var(--sys-separator);
      --ios-surface-shadow: 0 10px 26px rgba(15,23,42,.06);
      --ios-surface-shadow-press: 0 4px 12px rgba(15,23,42,.08);
      --ios-list-elevate: 0 12px 32px rgba(15, 23, 42, 0.07), 0 1px 0 rgba(255, 255, 255, 0.88) inset;
      --ios-list-surface: rgba(255, 255, 255, 0.82);

      /* refinement layer: reserved for modals/drawers/popovers */
      --ios-glass-bg: rgba(255,255,255,.72);
      --ios-glass-stroke: rgba(60, 60, 67, .14);
      --ios-glass-shadow: 0 18px 48px rgba(15,23,42,.14);
    }

    .card,
    .ios-list,
    .table-wrap,
    .stat-pill,
    .kpi,
    .kpi-list-item,
    .ios-form {
      background: var(--ios-surface-bg);
      border: 1px solid var(--ios-surface-stroke);
      box-shadow: var(--ios-surface-shadow);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }

    /* refinement layer containers */
    .modal,
    .drawer {
      background: var(--ios-glass-bg);
      border: 1px solid var(--ios-glass-stroke);
      box-shadow: var(--ios-glass-shadow);
      backdrop-filter: blur(16px) saturate(125%);
      -webkit-backdrop-filter: blur(16px) saturate(125%);
      contain: paint;
      isolation: isolate;
    }
    .ios-list,
    .table-wrap,
    .stat-pill,
    .kpi,
    .kpi-list-item {
      border-radius: var(--ios-radius-md);
    }
    .btn,
    .ios-mini-input,
    .ios-select,
    .search-input,
    input,
    select,
    textarea {
      border: 1px solid var(--ios-surface-stroke);
      background: rgba(255,255,255,.92);
      border-radius: var(--ios-radius-md);
      font-weight: 600;
    }
    @media (hover: hover) and (pointer: fine) {
      .btn:hover {
        box-shadow: var(--ios-surface-shadow-press);
      }
    }
    .ios-pill {
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.22);
      background: rgba(255,255,255,.66);
      font-weight: 600;
      letter-spacing: .1px;
      font-variant-numeric: tabular-nums;
    }
    .topbar,
    .sidebar {
      background: var(--sys-surface);
      border-color: var(--sys-separator);
      box-shadow: 0 8px 22px rgba(15,23,42,.06);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .nav button {
      border-radius: var(--ios-nav-item-radius);
      min-height: var(--ios-nav-item-h);
      font-weight: 600;
    }
    .nav button:hover {
      background: var(--ios-nav-hover-bg);
      box-shadow: inset 0 0 0 1px rgba(47,109,246,.10);
    }
    .nav button.active {
      background: var(--ios-nav-active-bg);
      box-shadow: inset 0 0 0 1px var(--ios-nav-active-ring);
    }
    [data-theme="dark"] .card,
    [data-theme="dark"] .ios-list,
    [data-theme="dark"] .table-wrap,
    [data-theme="dark"] .stat-pill,
    [data-theme="dark"] .kpi,
    [data-theme="dark"] .kpi-list-item,
    [data-theme="dark"] .ios-form,
    [data-theme="dark"] .topbar,
    [data-theme="dark"] .sidebar {
      background: var(--sys-surface);
      border-color: var(--sys-separator);
      box-shadow: 0 14px 36px rgba(0,0,0,.34);
    }
    [data-theme="dark"] .modal,
    [data-theme="dark"] .drawer {
      background: rgba(28, 28, 30, .86);
      border-color: rgba(84, 84, 88, .55);
      box-shadow: 0 22px 68px rgba(0,0,0,.52);
    }
    [data-theme="dark"] .sidebar{
      box-shadow:
        14px 0 44px rgba(0,0,0,.30),
        inset -1px 0 0 rgba(226,232,240,.04);
    }
    [data-theme="dark"] .btn,
    [data-theme="dark"] .ios-mini-input,
    [data-theme="dark"] .ios-select,
    [data-theme="dark"] .search-input,
    [data-theme="dark"] input,
    [data-theme="dark"] select,
    [data-theme="dark"] textarea {
      background: rgba(44, 44, 46, .92);
      border-color: rgba(84, 84, 88, .55);
      color: var(--text);
    }
    [data-theme="dark"] .ios-pill {
      background: rgba(30,41,59,.58);
      border-color: rgba(148,163,184,.22);
    }

    /* iOS typography & rhythm unification */
    .page-title h2 {
      font-size: clamp(1.22rem, 1.5vw, 1.42rem);
      font-weight: 780;
      letter-spacing: .1px;
    }
    .ios-card-title strong,
    .card > strong {
      font-size: clamp(1rem, 1.1vw, 1.08rem);
      font-weight: 780;
      letter-spacing: .15px;
    }
    .ios-card-title .subtitle,
    .page-title p {
      font-size: .84rem;
      line-height: 1.5;
      color: var(--muted);
    }
    .ios-cell {
      min-height: 48px;
      padding-top: 11px;
      padding-bottom: 11px;
    }
    .ios-cell-title {
      font-size: .94rem;
      font-weight: 700;
      line-height: 1.35;
    }
    .ios-cell-sub {
      margin-top: 3px;
      font-size: .81rem;
      line-height: 1.45;
    }

    /* iOS semantic button tones */
    .btn-primary {
      color: #1d4ed8;
      border-color: rgba(59,130,246,.32);
      background: linear-gradient(180deg, rgba(219,234,254,.92), rgba(191,219,254,.78));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
    }
    /* 不用 filter：filter 会把整颗按钮（含外阴影）打成位图，易在父级裁剪下残缺 */
    .btn-primary:hover {
      filter: none;
      border-color: rgba(59, 130, 246, 0.42);
      background: linear-gradient(180deg, rgba(219, 234, 254, 0.98), rgba(191, 219, 254, 0.9));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.65),
        0 5px 16px rgba(37, 99, 235, 0.16);
    }
    .btn-warning {
      color: #9a3412;
      border-color: rgba(245,158,11,.32);
      background: linear-gradient(180deg, rgba(255,237,213,.94), rgba(254,215,170,.78));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.52);
    }
    .btn-danger {
      color: #b91c1c;
      border-color: rgba(239,68,68,.34);
      background: linear-gradient(180deg, rgba(254,226,226,.92), rgba(252,165,165,.58));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
    }
    .btn-danger:hover {
      filter: none;
      border-color: rgba(239, 68, 68, 0.46);
      background: linear-gradient(180deg, rgba(254, 226, 226, 0.98), rgba(252, 165, 165, 0.72));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 5px 16px rgba(220, 38, 38, 0.14);
    }
    .btn-wechat{
      color: rgba(7,193,96,.98);
      border-color: rgba(7,193,96,.30);
      background: linear-gradient(180deg, rgba(236,253,245,.92), rgba(187,247,208,.74));
      box-shadow: inset 0 1px 0 rgba(255,255,255,.55);
    }
    .btn-wechat:hover{ filter: saturate(1.06) brightness(1.02); }
    [data-theme="dark"] .btn-primary {
      color: #bfdbfe;
      border-color: rgba(96,165,250,.45);
      background: linear-gradient(180deg, rgba(30,58,138,.48), rgba(30,64,175,.34));
    }
    [data-theme="dark"] .btn-warning {
      color: #fde68a;
      border-color: rgba(251,191,36,.42);
      background: linear-gradient(180deg, rgba(120,53,15,.50), rgba(146,64,14,.34));
    }
    [data-theme="dark"] .btn-danger {
      color: #fecaca;
      border-color: rgba(248,113,113,.45);
      background: linear-gradient(180deg, rgba(127,29,29,.52), rgba(153,27,27,.34));
    }
    [data-theme="dark"] .btn-wechat{
      color: rgba(134,239,172,.92);
      border-color: rgba(34,197,94,.34);
      background: linear-gradient(180deg, rgba(20,83,45,.44), rgba(21,128,61,.24));
    }

    @media (max-width: 640px) {
      .page-title h2 { font-size: 1.05rem; }
      .ios-card-title strong,
      .card > strong { font-size: .96rem; }
      .ios-cell { min-height: 44px; padding-top: 9px; padding-bottom: 9px; }
      .ios-cell-title { font-size: .9rem; }
      .ios-cell-sub { font-size: .78rem; }
      .btn { min-height: 38px; font-size: .84rem; }
    }

    /* iOS table + modal/drawer consistency */
    .table-wrap {
      overflow: hidden;
      border-radius: var(--ios-radius-md);
    }
    .table-wrap table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
    }
    .table-wrap th {
      position: sticky;
      top: 0;
      z-index: 1;
      background: rgba(255,255,255,.78);
      border-bottom: 1px solid rgba(148,163,184,.20);
      color: #334155;
      font-size: .8rem;
      font-weight: 700;
      letter-spacing: .12px;
    }
    .table-wrap td {
      border-bottom: 1px solid rgba(148,163,184,.14);
      font-size: .86rem;
    }
    .table-wrap tbody tr:last-child td { border-bottom: none; }
    .table-wrap tbody tr {
      background-color: transparent;
      transition: background-color var(--ios-nav-hover-ms) var(--ios-ease);
    }
    @media (hover: hover) and (pointer: fine) {
      .table-wrap tbody tr:hover {
        background-color: rgba(59, 130, 246, 0.05);
      }
      .table-wrap tbody tr:hover td {
        background-color: transparent;
      }
    }
    .table-wrap tbody tr:active {
      background-color: rgba(59, 130, 246, 0.085);
    }
    .table-wrap tbody tr:active td {
      background-color: transparent;
    }

    .modal,
    .drawer {
      border-radius: var(--ios-radius-lg);
      border: 1px solid var(--ios-glass-stroke);
      box-shadow: 0 18px 42px rgba(15,23,42,.18);
      overflow: hidden;
    }
    [data-perf-tier="low"] .modal,
    [data-perf-tier="low"] .drawer {
      backdrop-filter: blur(10px) saturate(112%);
      -webkit-backdrop-filter: blur(10px) saturate(112%);
      box-shadow: 0 12px 28px rgba(15,23,42,.16);
    }
    [data-perf-tier="low"] .modal-backdrop,
    [data-perf-tier="low"] .backdrop {
      backdrop-filter: blur(1px);
      -webkit-backdrop-filter: blur(1px);
    }
    .modal-header,
    .drawer-header {
      padding: 14px 16px;
      border-bottom: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.62);
      backdrop-filter: blur(12px) saturate(120%);
      -webkit-backdrop-filter: blur(12px) saturate(120%);
    }
    .modal-header h3,
    .drawer-header h3 {
      font-size: .98rem;
      font-weight: 760;
      letter-spacing: .1px;
    }
    .modal-body,
    .drawer-body {
      padding: 14px 16px;
    }
    .modal-footer {
      padding: 12px 16px;
      border-top: 1px solid rgba(148,163,184,.16);
      background: rgba(255,255,255,.56);
      display: flex;
      gap: 8px;
      justify-content: flex-end;
    }
    .modal-footer .btn {
      min-height: 38px;
      border-radius: var(--ios-radius-md);
      padding: 8px 12px;
    }

    [data-theme="dark"] .table-wrap th {
      background: rgba(30,41,59,.66);
      border-bottom-color: rgba(148,163,184,.22);
      color: #cbd5e1;
    }
    [data-theme="dark"] .table-wrap td {
      border-bottom-color: rgba(148,163,184,.18);
    }
    @media (hover: hover) and (pointer: fine) {
      [data-theme="dark"] .table-wrap tbody tr:hover {
        background-color: rgba(59, 130, 246, 0.12);
      }
      [data-theme="dark"] .table-wrap tbody tr:hover td {
        background-color: transparent;
      }
    }
    [data-theme="dark"] .table-wrap tbody tr:active {
      background-color: rgba(59, 130, 246, 0.14);
    }
    [data-theme="dark"] .table-wrap tbody tr:active td {
      background-color: transparent;
    }
    [data-theme="dark"] .modal-header,
    [data-theme="dark"] .drawer-header {
      background: rgba(15,23,42,.58);
      border-bottom-color: rgba(148,163,184,.20);
    }
    [data-theme="dark"] .modal-footer {
      background: rgba(15,23,42,.50);
      border-top-color: rgba(148,163,184,.18);
    }

    /* iOS detail modal finishing (sync health / diagnostics) */
    .ios-detail-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    @media (max-width: 520px) {
      .ios-detail-grid { grid-template-columns: 1fr; }
    }
    .ios-detail-stat {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.62);
      box-shadow: 0 8px 24px rgba(15,23,42,.07);
      padding: 10px 12px;
    }
    [data-theme="dark"] .ios-detail-stat {
      background: rgba(15,23,42,.44);
      border-color: rgba(148,163,184,.20);
    }
    .ios-detail-stat .k {
      font-size: .76rem;
      color: var(--muted);
      letter-spacing: .08px;
      font-weight: 600;
    }
    .ios-detail-stat .v {
      margin-top: 4px;
      font-size: 1.02rem;
      font-weight: 850;
      letter-spacing: .2px;
    }
    .ios-card-surface {
      padding: 12px;
      border-radius: var(--ios-radius-lg);
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.62);
      box-shadow: 0 10px 26px rgba(15,23,42,.08);
      backdrop-filter: blur(12px) saturate(120%);
      -webkit-backdrop-filter: blur(12px) saturate(120%);
    }
    [data-theme="dark"] .ios-card-surface {
      background: rgba(15,23,42,.38);
      border-color: rgba(148,163,184,.18);
      box-shadow: 0 10px 26px rgba(0,0,0,.22);
    }

    /* iOS utility helpers (reduce inline styles) */
    .ios-w-full { width: 100%; }
    .ios-mt-8 { margin-top: 8px; }
    .ios-mt-12 { margin-top: 12px; }
    .ios-align-start { align-items: flex-start; }
    .ios-cell-lead-row {
      display: flex;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .ios-note { margin-top: 8px; line-height: 1.8; color: var(--muted); }
    [data-theme="dark"] .ios-note { color: var(--muted); }
    .ios-actions-row { margin-top: 8px; display: flex; justify-content: flex-end; gap: 8px; }
    .ios-list-mt { margin-top: 8px; }
    .ios-prose-tight {
      line-height: 1.9;
      color: var(--muted);
    }
    .ios-prose-tight > div:first-of-type {
      color: var(--text);
    }
    .ios-table-empty {
      text-align: center !important;
      color: var(--muted) !important;
      padding: 26px 14px !important;
      font-weight: 520;
      font-size: 0.9rem;
    }
    .ios-table-full { width: 100%; }

    /* KPI 胶囊大数字：与表格列 data-hig-tone 同一套语义色 */
    .stat-pill .stat-pill-value {
      margin-top: 4px;
      font-size: 1.04rem;
      font-weight: 800;
      font-variant-numeric: tabular-nums;
      letter-spacing: -0.02em;
      line-height: 1.2;
      white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;
      transition: color 0.18s var(--ios-ease);
    }
    .stat-pill .stat-pill-value[data-hig-tone="neutral"] {
      color: var(--text);
    }
    .stat-pill .stat-pill-value[data-hig-tone="off"] {
      color: var(--muted);
      font-weight: 760;
    }
    .stat-pill .stat-pill-value[data-hig-tone="success"] {
      color: var(--tone-success-fg);
    }
    .stat-pill .stat-pill-value[data-hig-tone="warning"] {
      color: var(--tone-warning-fg);
    }
    .stat-pill .stat-pill-value[data-hig-tone="danger"] {
      color: var(--tone-danger-fg);
    }
    .stat-pill .stat-pill-value[data-hig-tone="info"] {
      color: var(--tone-info-fg);
    }
    .stat-pill .stat-pill-value[data-hig-tone="aftersale"] {
      color: var(--tone-aftersale-fg);
      font-weight: 780;
    }
    .ios-module-stack .analysis-nested-card {
      margin: 0 !important;
    }
    .ios-module-stack .analytics-suggestions-card > strong {
      display: block;
      margin-bottom: 8px;
      font-size: clamp(1rem, 1.1vw, 1.08rem);
      letter-spacing: -0.02em;
    }
    .ios-module-stack .analytics-suggestions-body {
      color: var(--muted);
      line-height: 1.75;
    }
    .ios-module-stack .analytics-suggestion-row {
      padding: 10px 0;
      border-top: 1px solid color-mix(in srgb, var(--sys-separator) 70%, transparent);
    }
    .ios-module-stack .analytics-suggestion-row:first-child {
      border-top: none;
      padding-top: 2px;
    }
    .ios-module-stack .analytics-suggestion-empty {
      padding-top: 2px;
      opacity: 0.92;
    }
    .ios-perm-center .perm-summary-stat-strip {
      margin-top: var(--ios-space-2);
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
      gap: 10px;
    }
    .ios-perm-center .perm-summary-stat-strip .stat-pill {
      min-width: 0;
      width: 100%;
      box-sizing: border-box;
    }
    /* 权限中心首卡：标题与主操作区分行自适应，按钮均分换行 */
    .ios-perm-center .perm-main > .card:has(.perm-center-hero-actions) > div:first-child {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      align-items: flex-start;
    }
    .ios-perm-center .perm-main > .card:has(.perm-center-hero-actions) .perm-center-hero-actions {
      flex: 1 1 240px;
      min-width: min(100%, 200px);
    }
    @supports not selector(:has(*)) {
      .ios-perm-center .perm-center-hero-actions {
        width: 100%;
        margin-top: 4px;
      }
    }
    @media (max-width: 720px) {
      .ios-perm-center [data-perm-locate-row].ios-cell {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
      }
      .ios-perm-center [data-perm-locate-row] .ios-cell-right {
        width: 100% !important;
        max-width: none !important;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .ios-perm-center [data-perm-locate-row] .ios-cell-right > div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        width: 100%;
        min-width: 0;
      }
    }
    /* 主操作区：flex 均分 + 末行拉伸铺满，避免 grid/auto-fill 留空洞与「一字换行」 */
    .drawer-actions-grid.center-actions-grid.ios-auto-action-grid,
    .ios-perm-center .perm-center-hero-actions.ios-auto-action-grid {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      width: 100%;
      align-items: stretch;
    }
    .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn,
    .ios-perm-center .perm-center-hero-actions.ios-auto-action-grid > .btn {
      flex: 1 1 158px;
      min-width: min(158px, 100%);
      width: auto !important;
      box-sizing: border-box;
      justify-content: center;
      text-align: center;
    }
    .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn.ios-handoff-copy-btn {
      flex: 1 1 min(260px, 100%);
      white-space: normal;
      line-height: 1.3;
      text-align: center;
      padding: 9px 14px;
      font-size: 0.8125rem;
      letter-spacing: -0.012em;
    }
    .ios-module-stack .super-todo-entry-grid.ios-auto-action-grid,
    .ios-module-stack .ios-inline-action-grid {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      width: 100%;
      align-items: stretch;
    }
    .ios-module-stack .super-todo-entry-grid.ios-auto-action-grid > .btn,
    .ios-module-stack .ios-inline-action-grid > .btn {
      flex: 1 1 148px;
      min-width: min(148px, 100%);
      width: auto !important;
      box-sizing: border-box;
      justify-content: center;
      text-align: center;
    }
    /* 控制台「执行入口」侧：与卡片内操作条同一套柔性排布 */
    .ios-module-stack .ios-list .ios-cell-right.ios-inline-action-grid {
      flex: 1 1 280px;
      min-width: 0;
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      justify-content: flex-end;
    }
    @media (max-width: 640px) {
      .ios-module-stack .ios-list .ios-cell-right.ios-inline-action-grid {
        justify-content: stretch;
      }
    }
    @media (max-width: 420px) {
      .ios-module-stack .ios-list .ios-cell-right.ios-inline-action-grid > .btn {
        flex: 1 1 100%;
        min-width: 100%;
      }
    }
    @media (max-width: 520px) {
      .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn {
        flex: 1 1 calc(50% - 6px);
        min-width: min(148px, 100%);
      }
    }
    @media (max-width: 380px) {
      .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn {
        flex: 1 1 100%;
        min-width: 100%;
      }
    }
    .ios-divider-list > div {
      border-top: 1px solid rgba(148,163,184,.14);
      padding: 10px 0;
    }
    [data-theme="dark"] .ios-divider-list > div {
      border-top-color: rgba(148,163,184,.18);
    }
    .ios-mono-log {
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      font-size: .84rem;
      color: var(--muted);
      line-height: 1.65;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .ios-wrap-anywhere { overflow-wrap: anywhere; word-break: break-word; }
    .ios-clamp-2 {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    .ios-inset-group {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.16);
      background: rgba(255,255,255,.56);
      box-shadow: 0 8px 22px rgba(15,23,42,.06);
      overflow: hidden;
    }
    [data-theme="dark"] .ios-inset-group {
      border-color: rgba(148,163,184,.18);
      background: rgba(15,23,42,.42);
      box-shadow: 0 12px 26px rgba(2,6,23,.34);
    }
    .ios-inset-group .ios-divider-list { padding: 2px 12px; }
    .ios-inset-group .ios-divider-list > div { padding: 10px 0; }
    .ios-inset-group .ios-divider-list > div:first-child { border-top: none; }
    .ios-section-title {
      margin-top: 14px;
      margin-bottom: 10px;
      padding: 0 10px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      color: var(--text);
      font-size: .94rem;
      font-weight: 700;
      letter-spacing: .1px;
    }
    .ios-section-title .meta {
      color: var(--muted);
      font-size: .78rem;
      font-weight: 600;
    }
    .ios-suggest-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
    }
    .ios-suggest-row .txt {
      flex: 1;
      min-width: 0;
      overflow-wrap: anywhere;
      word-break: break-word;
      color: var(--muted);
      line-height: 1.78;
      padding-top: 2px;
    }
    .ann-rich {
      display: grid;
      gap: 12px;
      margin-top: 10px;
    }
    .ann-rich-text {
      line-height: 1.85;
      color: var(--text);
      white-space: pre-wrap;
      overflow-wrap: anywhere;
      padding: 12px 14px;
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.22);
      background: rgba(255,255,255,.55);
    }
    .ann-rich-text.level-important {
      border-color: rgba(245,158,11,.35);
      box-shadow: inset 0 0 0 1px rgba(245,158,11,.12);
    }
    .ann-rich-text.level-urgent {
      border-color: rgba(239,68,68,.4);
      box-shadow: inset 0 0 0 1px rgba(239,68,68,.16);
      animation: ann-ios-alert-pulse 1.7s var(--ios-ease) infinite;
    }
    .ann-level-badge {
      border-radius: 999px;
      padding: 4px 10px;
      font-size: .78rem;
      font-weight: 800;
      letter-spacing: .02em;
    }
    .ann-level-badge.level-tip {
      color: #0369a1;
      background: rgba(14,165,233,.14);
      border: 1px solid rgba(14,165,233,.24);
    }
    .ann-level-badge.level-important {
      color: #b45309;
      background: rgba(245,158,11,.16);
      border: 1px solid rgba(245,158,11,.3);
    }
    .ann-level-badge.level-urgent {
      color: #b91c1c;
      background: rgba(239,68,68,.16);
      border: 1px solid rgba(239,68,68,.34);
      animation: ann-ios-badge-shake 1.2s var(--ios-ease) infinite;
      transform-origin: 50% 50%;
    }
    .ann-token {
      display: inline;
      border-radius: 7px;
      padding: 1px 6px;
      margin: 0 1px;
      font-weight: 700;
      line-height: 1.6;
    }
    .ann-token-danger {
      color: #b91c1c;
      background: rgba(239,68,68,.16);
    }
    .ann-token-warn {
      color: #92400e;
      background: rgba(245,158,11,.18);
    }
    .ann-token-info {
      color: #1d4ed8;
      background: rgba(59,130,246,.14);
    }
    @keyframes ann-ios-alert-pulse {
      0%, 100% { box-shadow: inset 0 0 0 1px rgba(239,68,68,.14), 0 0 0 0 rgba(239,68,68,.12); }
      50% { box-shadow: inset 0 0 0 1px rgba(239,68,68,.22), 0 0 0 6px rgba(239,68,68,0); }
    }
    @keyframes ann-ios-badge-shake {
      0%, 100% { transform: translateX(0); }
      25% { transform: translateX(-1.5px); }
      75% { transform: translateX(1.5px); }
    }
    [data-motion="off"] .ann-rich-text.level-urgent,
    [data-motion="off"] .ann-level-badge.level-urgent {
      animation: none !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .ann-rich-text.level-urgent,
      .ann-level-badge.level-urgent {
        animation: none !important;
      }
    }
    [data-theme="dark"] .ann-rich-text {
      background: rgba(15,23,42,.4);
      border-color: rgba(148,163,184,.26);
    }
    .ann-asset-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
      gap: 10px;
    }
    .ann-asset-card {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.2);
      background: rgba(255,255,255,.64);
      box-shadow: 0 8px 20px rgba(15,23,42,.08);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      min-height: 110px;
    }
    .ann-asset-media-btn {
      appearance: none;
      border: none;
      padding: 0;
      margin: 0;
      background: transparent;
      text-align: left;
      cursor: zoom-in;
    }
    .ann-asset-preview {
      width: 100%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      background: rgba(148,163,184,.18);
      border-bottom: 1px solid rgba(148,163,184,.2);
    }
    .ann-asset-meta {
      padding: 9px 10px 10px;
      display: grid;
      gap: 4px;
      min-width: 0;
    }
    .ann-asset-name {
      font-size: .82rem;
      font-weight: 700;
      color: var(--text);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .ann-asset-sub {
      font-size: .74rem;
      color: var(--muted);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
    }
    .ann-asset-upload {
      margin-top: 8px;
      border-radius: var(--ios-radius-md);
      border: 1px dashed rgba(148,163,184,.35);
      background: rgba(255,255,255,.45);
      padding: 10px;
      display: grid;
      gap: 8px;
    }
    .ann-asset-empty {
      font-size: .78rem;
      color: var(--muted);
    }
    [data-theme="dark"] .ann-asset-card {
      background: rgba(15,23,42,.44);
      border-color: rgba(148,163,184,.2);
    }
    [data-theme="dark"] .ann-asset-upload {
      background: rgba(15,23,42,.3);
      border-color: rgba(148,163,184,.28);
    }
    .ann-viewer {
      display: grid;
      gap: 12px;
    }
    .ann-viewer-stage {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.24);
      background: rgba(2,6,23,.84);
      overflow: hidden;
      min-height: min(62vh, 540px);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .ann-viewer-stage img,
    .ann-viewer-stage video {
      width: 100%;
      max-height: min(62vh, 540px);
      object-fit: contain;
      background: #020617;
    }
    .ann-viewer-file {
      color: #e2e8f0;
      text-align: center;
      padding: 30px 18px;
      line-height: 1.9;
    }
    .ann-viewer-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
    }

    /* iOS icon/status/empty-state finishing layer */
    .logo-icon,
    .btn-icon,
    .icon-btn {
      width: 38px;
      height: 38px;
      min-width: 38px;
      min-height: 38px;
      border-radius: var(--ios-radius-md);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .95rem;
      line-height: 1;
    }
    .badge {
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.22);
      background: rgba(255,255,255,.7);
      color: var(--muted);
      font-size: .76rem;
      font-weight: 600;
      padding: 4px 9px;
    }
    .stat-pill {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.20);
      background: rgba(255,255,255,.72);
      box-shadow: 0 6px 18px rgba(15,23,42,.06);
    }
    .ios-tag-ok {
      color: #166534;
      border-color: rgba(22,163,74,.30);
      background: linear-gradient(180deg, rgba(220,252,231,.92), rgba(187,247,208,.72));
    }
    .ios-tag-off {
      color: #92400e;
      border-color: rgba(245,158,11,.30);
      background: linear-gradient(180deg, rgba(255,237,213,.94), rgba(254,215,170,.74));
    }
    .ios-tag-danger {
      color: #b91c1c;
      border-color: rgba(239,68,68,.32);
      background: linear-gradient(180deg, rgba(254,226,226,.92), rgba(252,165,165,.68));
    }
    .ios-tag-info {
      color: var(--tone-info-fg);
      border-color: var(--tone-info-border);
      background: linear-gradient(180deg, color-mix(in srgb, var(--tone-info-bg) 94%, #fff), var(--tone-info-bg));
    }
    .ios-tag-aftersale {
      color: var(--tone-aftersale-fg);
      border-color: var(--tone-aftersale-border);
      background: linear-gradient(180deg, color-mix(in srgb, var(--tone-aftersale-bg) 92%, #fff), var(--tone-aftersale-bg));
    }
    .ios-risk-pill-high {
      color: #991b1b;
      border-color: rgba(239,68,68,.38);
      background: linear-gradient(180deg, rgba(254,226,226,.96), rgba(252,165,165,.72));
    }
    .ios-risk-pill-mid {
      color: #92400e;
      border-color: rgba(245,158,11,.34);
      background: linear-gradient(180deg, rgba(255,237,213,.96), rgba(253,186,116,.72));
    }
    .ios-risk-pill-low {
      color: #166534;
      border-color: rgba(34,197,94,.30);
      background: linear-gradient(180deg, rgba(220,252,231,.96), rgba(134,239,172,.70));
    }
    .ios-risk-pill {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .ios-risk-pill-dot::before {
      content: '';
      width: 7px;
      height: 7px;
      border-radius: 999px;
      display: inline-block;
      box-shadow: 0 0 0 1px rgba(255,255,255,.68);
      background: currentColor;
      opacity: .92;
      transform: translateY(-.3px);
    }
    .ios-step-status-dot {
      width: 18px;
      height: 18px;
      min-width: 18px;
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.30);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: .68rem;
      line-height: 1;
      color: rgba(100,116,139,.95);
      background: rgba(255,255,255,.82);
      box-shadow: 0 4px 10px rgba(15,23,42,.08);
    }
    .ios-step-status-dot.done {
      color: #166534;
      border-color: rgba(22,163,74,.34);
      background: linear-gradient(180deg, rgba(220,252,231,.95), rgba(187,247,208,.76));
    }
    [data-theme="dark"] .ios-step-status-dot {
      color: #cbd5e1;
      border-color: rgba(148,163,184,.32);
      background: rgba(15,23,42,.72);
    }
    [data-theme="dark"] .ios-step-status-dot.done {
      color: #bbf7d0;
      border-color: rgba(74,222,128,.42);
      background: linear-gradient(180deg, rgba(20,83,45,.60), rgba(21,128,61,.42));
    }
    .ios-guided-fab{
      position: fixed;
      left: 50%;
      transform: translateX(-50%);
      bottom: 16px;
      z-index: 99999;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 11px 16px;
      border-radius: 999px;
      border: 1px solid rgba(37,99,235,.22);
      background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(219,234,254,.88));
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      box-shadow: 0 18px 40px rgba(37,99,235,.22);
      color: rgba(30,64,175,.96);
      font-weight: 700;
      font-size: .94rem;
      letter-spacing: .2px;
      max-width: min(92vw, 420px);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      transition:
        transform var(--motion-component-ms) var(--ios-spring-settle),
        box-shadow var(--motion-component-ms) var(--ios-sheet-ease-out),
        border-color var(--motion-micro-ms) var(--ios-sheet-ease-out),
        opacity var(--motion-micro-ms) var(--ios-ease-decel);
      -webkit-tap-highlight-color: transparent;
    }
    @media (hover:hover) and (pointer:fine) {
      .ios-guided-fab:hover {
        transform: translateX(-50%) translateY(-2px);
        box-shadow: 0 22px 48px rgba(37, 99, 235, 0.28);
      }
    }
    .ios-guided-fab:active{ transform: translateX(-50%) scale(.985); }
    [data-theme="dark"] .ios-guided-fab{
      background: linear-gradient(180deg, rgba(30,64,175,.42), rgba(30,58,138,.54));
      border-color: rgba(147,197,253,.34);
      color: rgba(219,234,254,.96);
      box-shadow: 0 18px 40px rgba(30,64,175,.34);
    }
    @media (hover:hover) and (pointer:fine) {
      [data-theme="dark"] .ios-guided-fab:hover {
        transform: translateX(-50%) translateY(-2px);
        box-shadow: 0 22px 52px rgba(30, 64, 175, 0.42);
      }
    }
    .ios-sync-footer-actions{
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px;
      width: 100%;
    }
    .ios-sync-footer-actions .btn{
      min-height: 34px;
      border-radius: 999px;
      padding-inline: 12px;
      font-weight: 700;
    }
    .ledger-entry-head{
      text-align: center;
      letter-spacing: .2px;
      color: var(--muted);
      white-space: nowrap;
    }
    .ledger-entry-actions{
      min-width: 176px;
    }
    .ledger-entry-actions-wrap{
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      align-items: center;
    }
    .ledger-entry-actions-wrap .btn{
      min-height: 34px;
      border-radius: 999px;
      padding-inline: 12px;
      font-weight: 700;
    }
    .perm-filter-chips{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:10px;
    }
    .perm-filter-chip{
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:6px 12px;
      border-radius:999px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.82);
      color: var(--muted);
      font-size:.82rem;
      cursor:pointer;
      user-select:none;
    }
    .perm-filter-chip.active{
      color: #92400e;
      border-color: rgba(245,158,11,.34);
      background: linear-gradient(180deg, rgba(254,243,199,.96), rgba(253,230,138,.70));
      box-shadow: 0 6px 14px rgba(245,158,11,.18);
    }
    .perm-change-bar{
      position: sticky;
      bottom: 10px;
      z-index: 8;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      padding:10px 12px;
      margin-top: 12px;
      border:1px solid rgba(59,130,246,.18);
      border-radius: 14px;
      background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,250,252,.92));
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 10px 24px rgba(15,23,42,.10);
      margin-bottom: max(4px, env(safe-area-inset-bottom));
      transition: opacity .18s var(--ios-ease), transform .18s var(--ios-ease);
    }
    .perm-change-bar.is-idle {
      display: none;
    }
    .perm-change-bar.is-peek {
      animation: permChangeBarPeek .26s var(--ios-ease) 1;
    }
    @keyframes permChangeBarPeek {
      from { opacity: 0; transform: translateY(8px) scale(.995); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }
    .perm-change-bar .meta{
      color: var(--muted);
      font-size: .82rem;
      white-space: nowrap;
    }
    .global-search-wrap{
      position: relative;
      z-index: 0;
      min-width: 220px;
      flex: 0 1 clamp(300px, 34vw, 520px);
      display: flex;
      align-items: center;
      gap: 2px;
      padding: 2px 4px 2px 12px;
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.34);
      background: rgba(255,255,255,.92);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
      transition:
        box-shadow var(--motion-micro-ms) var(--ios-sheet-ease-out),
        border-color var(--motion-micro-ms) var(--ios-sheet-ease-out),
        background var(--motion-micro-ms) var(--ios-sheet-ease-out);
      -webkit-tap-highlight-color: transparent;
    }
    /* 与顶栏「新增」等 .btn 同高（Step-up 下 min-height:40px），避免搜索条视觉上「鼓一块」 */
    .topbar .actions .global-search-wrap{
      align-self: center;
      min-height: 40px;
      max-height: 40px;
      padding: 0 10px 0 10px;
      gap: 6px;
      box-sizing: border-box;
      /* 与顶栏「新增」.topbar .actions .btn 的 12px 圆角一致，避免长条被 14px 衬成「胶囊感」 */
      border-radius: 12px;
      background: color-mix(in srgb, var(--sys-surface) 72%, transparent);
      box-shadow: none;
    }
    .topbar .actions .global-search-icon{
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: rgba(100, 116, 139, 0.72);
      pointer-events: none;
    }
    .topbar .actions .global-search-icon svg{
      display: block;
    }
    .topbar .actions .global-search-wrap .search-input{
      min-height: 0;
      height: 38px;
      padding: 0 4px 0 0;
      line-height: 38px;
      box-sizing: border-box;
      font-weight: 500;
    }
    .topbar .actions .global-search-wrap .search-input::placeholder{
      color: rgba(60, 60, 67, 0.5);
      font-weight: 400;
      letter-spacing: -0.01em;
    }
    /* 与顶栏卡片圆角体系统一；聚焦仅用单层内描边，避免与全局 input:focus / --ring 叠出多重光晕 */
    .global-search-wrap:focus-within{
      border-color: rgba(59,130,246,.44);
      background: rgba(255,255,255,.99);
      box-shadow: inset 0 0 0 1px rgba(59,130,246,.32);
      z-index: 50;
    }
    .global-search-wrap .search-input{
      width: 100%;
      min-width: 0;
      flex: 1 1 auto;
      border-radius: 0 !important;
      border: none;
      box-shadow: none;
      padding: 8px 12px 8px 4px;
      background: transparent;
      transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
    }
    .global-search-wrap #globalSearch:focus,
    .global-search-wrap #globalSearch:focus-visible{
      outline: none !important;
      box-shadow: none !important;
      border-color: transparent !important;
    }
    .global-search-wrap .search-input:hover{
      border-color: transparent;
      box-shadow: none;
    }
    .global-search-wrap .search-input:focus,
    .global-search-wrap .search-input:focus-visible{
      outline: none !important;
      box-shadow: none !important;
      border-color: transparent !important;
    }
    .sr-only{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0, 0, 0, 0);
      white-space:nowrap;
      border:0;
    }
    .topbar-theme-btn{
      width: 42px;
      min-width: 42px;
      min-height: 42px;
      padding: 0;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,255,255,.78);
      border: 1px solid rgba(148,163,184,.26);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.58);
      font-size: 18px;
      line-height: 1;
    }
    .topbar-theme-btn .theme-glyph{
      transform: translateY(-.5px);
    }
    .topbar-theme-btn:hover{
      transform: none;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 4px 12px rgba(15,23,42,.10);
    }
    .topbar .actions #quickAddBtn{
      white-space: nowrap;
      min-width: 116px;
      letter-spacing: .15px;
      padding-inline: 14px;
      font-weight: 700;
      background: linear-gradient(180deg, rgba(219,234,254,.92), rgba(191,219,254,.84));
      border-color: rgba(96,165,250,.36);
      color: #1e40af;
    }
    .search-suggest{
      position: absolute;
      top: calc(100% + 10px);
      left: 0;
      right: 0;
      display: none;
      border: 1px solid rgba(148,163,184,.22);
      border-radius: 16px;
      background: rgba(255,255,255,.96);
      backdrop-filter: blur(14px) saturate(1.2);
      -webkit-backdrop-filter: blur(14px) saturate(1.2);
      box-shadow: 0 16px 40px rgba(15,23,42,.12), 0 2px 8px rgba(15,23,42,.06);
      overflow: hidden;
      z-index: 60;
      /* dvh + 顶栏/安全区预留，避免列表在刘海或小屏上被裁得「看不全」 */
      max-height: min(420px, 70dvh, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 120px));
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      transform-origin: 50% 0;
    }
    /* 与列表同属下拉：大屏不再额外占用底部 toast，避免「上列表下提示」割裂 */
    .search-suggest-context {
      padding: 10px 14px 11px;
      font-size: 0.78rem;
      line-height: 1.45;
      color: var(--muted);
      border-bottom: 1px solid rgba(148, 163, 184, 0.14);
      background: rgba(241, 245, 249, 0.65);
    }
    .search-suggest.open{
      display: block;
    }
    @media (prefers-reduced-motion: no-preference) {
      .search-suggest.open {
        animation: iosSearchSuggestIn 0.34s var(--ios-sheet-ease) both;
      }
    }
    @keyframes iosSearchSuggestIn {
      from {
        opacity: 0;
        transform: translateY(-6px) scale(0.988);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    .search-suggest-item{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:10px;
      width:100%;
      border:none;
      background:transparent;
      text-align:left;
      font:inherit;
      padding:11px 14px;
      border-bottom:1px solid rgba(148,163,184,.12);
      cursor:pointer;
      transition:
        background var(--motion-micro-ms) var(--ios-response),
        transform var(--motion-micro-ms) var(--ios-spring-settle),
        box-shadow var(--motion-micro-ms) var(--ios-response);
    }
    .search-suggest-item:last-child{ border-bottom:none; }
    .search-suggest-item:hover{
      background: rgba(59,130,246,.08);
    }
    .search-suggest-item.active{
      background: rgba(59,130,246,.12);
      box-shadow: inset 0 0 0 1px rgba(59,130,246,.26);
    }
    .search-suggest-item:active {
      transform: scale(0.992);
    }
    .search-suggest-item .title{
      font-weight:700;
      font-size:.86rem;
      color: var(--text);
    }
    .search-suggest-item .sub{
      font-size:.78rem;
      color: var(--muted);
      margin-top:2px;
      line-height:1.45;
      word-break: break-word;
      overflow-wrap: anywhere;
    }
    /* 通用搜索条：与顶栏全局搜索、按钮圆角（12px）一致；内含 input 去边框，占位符层次对齐 iOS */
    .ios-search-field{
      display: flex;
      align-items: center;
      gap: 6px;
      box-sizing: border-box;
      min-height: 40px;
      padding: 0 10px;
      border-radius: 12px;
      border: 1px solid rgba(148, 163, 184, 0.34);
      background: rgba(255, 255, 255, 0.92);
      transition: border-color 0.18s var(--ios-ease), box-shadow 0.18s var(--ios-ease), background 0.18s var(--ios-ease);
      -webkit-tap-highlight-color: transparent;
    }
    .ios-search-field:focus-within{
      border-color: rgba(59, 130, 246, 0.44);
      background: rgba(255, 255, 255, 0.99);
      box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.32);
    }
    .ios-search-field-icon{
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: rgba(100, 116, 139, 0.72);
      pointer-events: none;
    }
    .ios-search-field-icon svg{
      display: block;
    }
    .ios-search-field .ios-mini-input,
    .ios-search-field .ios-picker-search,
    .ios-search-field .search-input{
      flex: 1 1 auto;
      min-width: 0;
      width: auto !important;
      border: none !important;
      background: transparent !important;
      box-shadow: none !important;
      outline: none !important;
      min-height: 36px !important;
      padding: 6px 4px 6px 0 !important;
      font-weight: 500;
    }
    .ios-search-field .ios-mini-input:focus,
    .ios-search-field .ios-mini-input:focus-visible,
    .ios-search-field .ios-picker-search:focus,
    .ios-search-field .ios-picker-search:focus-visible,
    .ios-search-field .search-input:focus,
    .ios-search-field .search-input:focus-visible{
      outline: none !important;
      box-shadow: none !important;
      border-color: transparent !important;
    }
    .ios-search-field .ios-mini-input::placeholder,
    .ios-search-field .ios-picker-search::placeholder,
    .ios-search-field .search-input::placeholder{
      color: rgba(60, 60, 67, 0.5);
      font-weight: 400;
      letter-spacing: -0.01em;
      opacity: 1;
    }
    .perm-module-locate{
      border: 1px solid rgba(59,130,246,.16);
      background: linear-gradient(180deg, rgba(239,246,255,.92), rgba(248,250,252,.94));
    }
    .perm-module-locate .ios-card-head{
      border-bottom: none;
      margin-bottom: 6px;
      padding-bottom: 0;
    }
    .perm-module-locate .module-layout-toolbar{
      flex-wrap:wrap;
      align-items:center;
      gap:10px;
      padding:10px 12px;
      border-radius:12px;
      border:1px solid rgba(148,163,184,.22);
      background:rgba(255,255,255,.55);
      transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .perm-module-locate .module-layout-toolbar:focus-within{
      border-color:rgba(59,130,246,.38);
      box-shadow:inset 0 0 0 1px rgba(59,130,246,.22);
      background:rgba(255,255,255,.78);
    }
    .perm-module-locate .perm-module-search-field{
      flex:1 1 260px;
      min-width:min(100%,220px);
      max-width:100%;
      background:rgba(255,255,255,.88);
    }
    .perm-module-locate-input{
      box-sizing:border-box;
      transition: border-color .15s ease, box-shadow .15s ease;
    }
    .perm-module-locate-input:focus,
    .perm-module-locate-input:focus-visible{
      outline: none !important;
      border-color: rgba(148,163,184,.28) !important;
      box-shadow: none !important;
    }
    @media (min-width: 1024px){
      .topbar{
        flex-wrap: nowrap;
      }
      .topbar .actions{
        margin-left: auto;
        flex-wrap: nowrap;
      }
      .topbar .actions #themeBtn{
        width: 42px;
        min-width: 42px;
      }
      #quickAddBtn{
        padding-inline: 16px;
      }
    }
    [data-theme="dark"] .perm-change-bar{
      border-color: rgba(59,130,246,.26);
      background: linear-gradient(180deg, rgba(15,23,42,.72), rgba(15,23,42,.54));
      box-shadow: 0 12px 28px rgba(2,6,23,.42);
    }
    [data-theme="dark"] .global-search-wrap{
      border-color: rgba(148,163,184,.32);
      background: rgba(30,41,59,.82);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
    }
    [data-theme="dark"] .topbar .actions .global-search-wrap{
      background: color-mix(in srgb, var(--sys-surface) 55%, transparent);
      box-shadow: none;
      border-radius: 12px;
    }
    [data-theme="dark"] .topbar .actions .global-search-icon{
      color: rgba(148, 163, 184, 0.78);
    }
    [data-theme="dark"] .topbar .actions .global-search-wrap .search-input::placeholder{
      color: rgba(235, 235, 245, 0.48);
    }
    [data-theme="dark"] .global-search-wrap:focus-within{
      border-color: rgba(96,165,250,.5);
      background: rgba(30,41,59,.96);
      box-shadow: inset 0 0 0 1px rgba(96,165,250,.38);
      z-index: 50;
    }
    [data-theme="dark"] .global-search-wrap .search-input{
      background: transparent;
      border-color: transparent;
    }
    [data-theme="dark"] .global-search-wrap .search-input:focus,
    [data-theme="dark"] .global-search-wrap .search-input:focus-visible{
      box-shadow: none !important;
      border-color: transparent !important;
    }
    [data-theme="dark"] .search-suggest{
      border-color: rgba(148,163,184,.22);
      background: rgba(15,23,42,.94);
      box-shadow: 0 18px 44px rgba(2,6,23,.55), 0 2px 10px rgba(0,0,0,.25);
    }
    [data-theme="dark"] .search-suggest-item{
      border-bottom-color: rgba(148,163,184,.16);
    }
    [data-theme="dark"] .search-suggest-item:hover{
      background: rgba(59,130,246,.20);
    }
    [data-theme="dark"] .search-suggest-item.active{
      background: rgba(59,130,246,.26);
      box-shadow: inset 0 0 0 1px rgba(96,165,250,.34);
    }
    [data-theme="dark"] .search-suggest-context {
      color: rgba(148, 163, 184, 0.92);
      border-bottom-color: rgba(148, 163, 184, 0.14);
      background: rgba(15, 23, 42, 0.55);
    }
    [data-theme="dark"] .search-input::placeholder{
      color: rgba(235, 235, 245, 0.48);
    }
    [data-theme="dark"] .ios-search-field{
      border-color: rgba(148, 163, 184, 0.32);
      background: rgba(30, 41, 59, 0.82);
      box-shadow: none;
    }
    [data-theme="dark"] .ios-search-field:focus-within{
      border-color: rgba(96, 165, 250, 0.5);
      background: rgba(30, 41, 59, 0.96);
      box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.38);
    }
    [data-theme="dark"] .ios-search-field-icon{
      color: rgba(148, 163, 184, 0.78);
    }
    [data-theme="dark"] .ios-search-field .ios-mini-input::placeholder,
    [data-theme="dark"] .ios-search-field .ios-picker-search::placeholder,
    [data-theme="dark"] .ios-search-field .search-input::placeholder{
      color: rgba(235, 235, 245, 0.48);
    }
    [data-theme="dark"] .perm-module-locate .perm-module-search-field{
      background: rgba(30, 41, 59, 0.55);
    }
    [data-theme="dark"] .topbar-theme-btn{
      background: rgba(30,41,59,.78);
      border-color: rgba(148,163,184,.28);
      box-shadow: inset 0 1px 0 rgba(148,163,184,.14);
    }
    [data-theme="dark"] .topbar .actions #quickAddBtn{
      background: linear-gradient(180deg, rgba(59,130,246,.34), rgba(37,99,235,.24));
      border-color: rgba(147,197,253,.34);
      color: #dbeafe;
    }
    [data-theme="dark"] .perm-module-locate{
      border-color: rgba(59,130,246,.28);
      background: linear-gradient(180deg, rgba(30,41,59,.82), rgba(15,23,42,.72));
    }
    [data-theme="dark"] .perm-module-locate .module-layout-toolbar{
      border-color: rgba(148,163,184,.22);
      background: rgba(15,23,42,.45);
    }
    [data-theme="dark"] .perm-module-locate .module-layout-toolbar:focus-within{
      border-color: rgba(96,165,250,.4);
      box-shadow: inset 0 0 0 1px rgba(96,165,250,.28);
      background: rgba(15,23,42,.62);
    }
    [data-theme="dark"] .perm-module-locate-input:focus,
    [data-theme="dark"] .perm-module-locate-input:focus-visible{
      border-color: rgba(148,163,184,.3) !important;
      box-shadow: none !important;
    }
    .ios-risk-shake-high { animation: iosRiskNudgeHigh 2.3s ease-in-out infinite; }
    .ios-risk-shake-mid { animation: iosRiskNudgeMid 2.9s ease-in-out infinite; }
    .ios-risk-shake-low { animation: iosRiskNudgeLow 3.6s ease-in-out infinite; }
    @keyframes iosRiskNudgeHigh {
      0%, 82%, 100% { transform: translateX(0); }
      84% { transform: translateX(-1.4px); }
      86% { transform: translateX(1.2px); }
      88% { transform: translateX(-.9px); }
      90% { transform: translateX(.8px); }
    }
    @keyframes iosRiskNudgeMid {
      0%, 88%, 100% { transform: translateX(0); }
      90% { transform: translateX(-.9px); }
      92% { transform: translateX(.8px); }
      94% { transform: translateX(-.6px); }
      96% { transform: translateX(.5px); }
    }
    @keyframes iosRiskNudgeLow {
      0%, 92%, 100% { transform: translateX(0); }
      94% { transform: translateX(-.5px); }
      96% { transform: translateX(.4px); }
      98% { transform: translateX(-.3px); }
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-risk-shake-high,
      .ios-risk-shake-mid,
      .ios-risk-shake-low { animation: none; }
    }
    [data-theme="dark"] .ios-risk-pill-high {
      color: #fecaca;
      border-color: rgba(248,113,113,.45);
      background: linear-gradient(180deg, rgba(127,29,29,.56), rgba(153,27,27,.38));
    }
    [data-theme="dark"] .ios-risk-pill-mid {
      color: #fde68a;
      border-color: rgba(251,191,36,.44);
      background: linear-gradient(180deg, rgba(120,53,15,.56), rgba(146,64,14,.36));
    }
    [data-theme="dark"] .ios-risk-pill-low {
      color: #bbf7d0;
      border-color: rgba(74,222,128,.38);
      background: linear-gradient(180deg, rgba(20,83,45,.56), rgba(21,128,61,.34));
    }
    .ios-picker-empty,
    .ios-empty,
    [class*="empty"],
    [class*="Empty"] {
      color: var(--muted);
      font-size: .84rem;
      line-height: 1.55;
    }
    .ios-picker-empty {
      border: 1px dashed rgba(148,163,184,.28);
      border-radius: var(--ios-radius-md);
      background: rgba(255,255,255,.5);
      padding: 12px;
    }
    .toast {
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.24);
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(14px) saturate(120%);
      -webkit-backdrop-filter: blur(14px) saturate(120%);
      box-shadow: 0 10px 24px rgba(15,23,42,.12);
      font-weight: 600;
      letter-spacing: .1px;
    }
    [data-theme="dark"] .badge {
      background: rgba(30,41,59,.62);
      border-color: rgba(148,163,184,.22);
      color: #cbd5e1;
    }
    [data-theme="dark"] .stat-pill {
      background: rgba(30,41,59,.58);
      border-color: rgba(148,163,184,.22);
    }
    [data-theme="dark"] .ios-picker-empty {
      background: rgba(30,41,59,.44);
      border-color: rgba(148,163,184,.28);
      color: #94a3b8;
    }
    [data-theme="dark"] .toast {
      background: rgba(15,23,42,.82);
      border-color: rgba(148,163,184,.24);
      color: #e2e8f0;
    }
    .ios-ellipsis-tooltip {
      position: fixed;
      z-index: 9999;
      max-width: min(420px, calc(100vw - 20px));
      padding: 10px 13px;
      border-radius: 13px;
      border: 1px solid var(--sys-separator);
      background: rgba(255, 255, 255, 0.9);
      background: color-mix(in srgb, var(--sys-surface) 86%, transparent);
      color: var(--sys-text);
      box-shadow:
        0 2px 12px rgba(15, 23, 42, 0.06),
        0 14px 38px rgba(15, 23, 42, 0.12),
        var(--inner-highlight);
      backdrop-filter: blur(22px) saturate(165%);
      -webkit-backdrop-filter: blur(22px) saturate(165%);
      font-size: 0.8125rem;
      font-weight: 520;
      line-height: 1.42;
      letter-spacing: -0.012em;
      pointer-events: none;
      opacity: 0;
      transform: translateY(5px) scale(0.965);
      transition:
        opacity 0.2s var(--ios-ease-decel),
        transform 0.22s var(--ios-spring-settle);
      white-space: normal;
      word-break: break-word;
      -webkit-font-smoothing: antialiased;
    }
    .ios-ellipsis-tooltip.show {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-ellipsis-tooltip {
        transition: opacity 0.08s ease;
        transform: none;
      }
      .ios-ellipsis-tooltip.show {
        transform: none;
      }
    }
    [data-theme="dark"] .ios-ellipsis-tooltip {
      background: rgba(28, 28, 30, 0.86);
      background: color-mix(in srgb, var(--sys-surface-2) 82%, transparent);
      color: var(--sys-text);
      border-color: var(--sys-separator-strong);
      box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.28),
        0 22px 52px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
    }
    [data-theme="dark"] .topbar .page-title p{
      color: rgba(148,163,184,.92);
    }

    /* Final layout harmonization: header + card head + action areas */
    .topbar {
      border-bottom: 1px solid rgba(148,163,184,.20);
      transition:
        box-shadow 0.28s var(--ios-sheet-ease-out),
        border-color 0.22s var(--ios-ease);
    }
    .topbar.compact:not(.title-inline-only) {
      box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
      border-bottom-color: color-mix(in srgb, var(--sys-separator) 70%, transparent);
    }
    [data-theme="dark"] .topbar.compact:not(.title-inline-only) {
      box-shadow: 0 12px 36px rgba(0, 0, 0, 0.34);
      border-bottom-color: var(--sys-separator);
    }
    .topbar .page-title h2{
      font-size: clamp(1.02rem, 1.1vw, 1.18rem);
      font-weight: 700;
      letter-spacing: .1px;
      line-height: 1.25;
    }
    .page-large-title{
      margin: 0;
      font-size: clamp(1.42rem, 1.28vw + .92rem, 1.72rem);
      line-height: 1.12;
      letter-spacing: -.01em;
      font-weight: 740;
      opacity: 1;
      transform: translateY(0);
      transition: opacity .22s var(--ios-ease), transform .22s var(--ios-ease), max-height .22s var(--ios-ease);
      max-height: 56px;
      overflow: hidden;
      text-wrap: balance;
      font-synthesis: none;
      transform-origin: 0 0;
      will-change: transform, opacity;
    }
    @media (prefers-reduced-motion: no-preference) {
      /* 与 #content --large-title-scroll-prog 联动：折叠前先轻微缩小/上移（main.js syncTopbarTitleMode） */
      .topbar:not(.compact):not(.title-inline-only) .page-large-title {
        transform:
          translateY(calc(-3px * var(--large-title-scroll-prog, 0)))
          scale(calc(1 - 0.032 * var(--large-title-scroll-prog, 0)));
      }
      .topbar:not(.compact):not(.title-inline-only) .page-title > p {
        opacity: calc(1 - 0.38 * var(--large-title-scroll-prog, 0));
      }
    }
    .page-inline-title{
      margin: 0;
      font-size: 1.02rem;
      font-weight: 700;
      letter-spacing: .01em;
      line-height: 1.2;
      opacity: 0;
      transform: translateY(6px);
      max-height: 0;
      overflow: hidden;
      transition: opacity .22s var(--ios-ease), transform .22s var(--ios-ease), max-height .22s var(--ios-ease);
      font-synthesis: none;
    }
    .topbar.compact .page-large-title,
    .topbar.title-inline-only .page-large-title{
      opacity: 0;
      transform: translateY(-8px);
      max-height: 0;
    }
    .topbar.compact .page-inline-title,
    .topbar.title-inline-only .page-inline-title{
      opacity: 1;
      transform: translateY(0);
      max-height: 28px;
    }
    /* 紧凑视口：大标题↔小标题切换时勿对 max-height/opacity 做过渡，否则顶栏高度在多帧内变化，
       与每帧 syncMobileTopbarClearance 写的 padding-top 打架，表现为抖动/卡一下 */
    @media (max-width: 1023px) {
      html.is-compact-viewport body:not(.hub-chat-immersive) .topbar:not(.title-inline-only) .page-large-title,
      html.is-compact-viewport body:not(.hub-chat-immersive) .topbar:not(.title-inline-only) .page-inline-title {
        transition: none !important;
      }
    }
    .topbar .page-title p{
      font-size: .76rem;
      color: rgba(71,85,105,.90);
      margin-top: 2px;
      line-height: 1.35;
    }
    .topbar .page-title {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
    }
    .topbar.compact .page-title p,
    .topbar.title-inline-only .page-title p{
      opacity: .88;
    }
    .topbar .actions {
      gap: 8px;
      align-items: center;
    }
    .topbar .actions .btn{
      min-height: 42px;
    }
    .nav button{
      min-height: 42px;
      border-radius: 12px;
      padding-inline: 11px;
    }
    .nav button span:first-child{
      letter-spacing: .02em;
      font-weight: 620;
      font-size: .86rem;
    }
    .module-layout-toolbar,
    .toolbar-actions,
    .btn-group {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 8px;
      min-width: 0;
    }
    .module-layout-toolbar {
      padding: 10px 12px;
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.20);
      background: rgba(255,255,255,.58);
    }
    .ios-card-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 10px;
      padding-bottom: 10px;
      margin-bottom: 10px;
      border-bottom: 1px solid rgba(148,163,184,.16);
    }
    .ios-card-head .ios-cell-right,
    .ios-card-head .btn-group {
      flex: 0 0 auto;
      max-width: 60%;
      justify-content: flex-end;
      margin-left: auto;
    }
    .ios-card-title {
      min-width: 0;
      flex: 1 1 auto;
      gap: 4px;
    }
    .action-grid,
    .drawer-actions-grid {
      gap: 8px;
      align-items: stretch;
    }
    .action-grid .btn,
    .drawer-actions-grid .btn {
      min-height: 40px;
      border-radius: var(--ios-radius-md);
      font-weight: 600;
      justify-content: center;
      text-align: center;
    }

    @media (max-width: 1023px) {
      .ios-card-head {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
      }
      .ios-card-head .ios-cell-right,
      .ios-card-head .btn-group {
        max-width: 100%;
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
      }
      .module-layout-toolbar,
      .toolbar-actions,
      .btn-group {
        gap: 6px;
      }
      .module-layout-toolbar {
        padding: 9px 10px;
      }
    }
    @media (max-width: 640px) {
      .topbar .actions > * {
        width: 100%;
      }
      .action-grid,
      .drawer-actions-grid {
        grid-template-columns: 1fr;
      }
      .action-grid .btn,
      .drawer-actions-grid .btn {
        min-height: 38px;
        font-size: .84rem;
      }
    }
    @media (max-width: 1023px) {
      .section-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
      .action-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
    }
    @media (max-width: 768px) {
      /* 不写 .content padding 简写：顶栏固定时上边距由 --topbar-clearance 承担；顶栏保留刘海安全区 */
      .topbar {
        padding:
          max(var(--ios-space-2), env(safe-area-inset-top, 0px))
          max(var(--ios-space-2), env(safe-area-inset-right, 0px))
          var(--ios-space-2)
          max(var(--ios-space-2), env(safe-area-inset-left, 0px));
      }
      .card {
        padding: var(--ios-space-3);
      }
      .actions {
        width: 100%;
      }
      .search-input {
        width: 100%;
      }
    }
    .btn-icon {
      width: 38px;
      height: 38px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 50%;
      flex-shrink: 0;
    }
    .btn-group {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
    }
    .action-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 10px;
      width: 100%;
    }
    .action-grid .btn {
      width: 100%;
      border-radius: var(--ios-radius-md);
      text-align: center;
      padding: 10px 12px;
    }
    .action-group {
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 12px;
      background: var(--panel);
    }
    .action-group-title {
      font-size: .82rem;
      color: var(--muted);
      margin-bottom: 8px;
      font-weight: 600;
    }
    .drawer .action-group,
    .modal .action-group {
      border-color: color-mix(in srgb, var(--sys-separator) 82%, transparent);
      background: color-mix(in srgb, var(--sys-surface) 95%, transparent);
      padding: 14px;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        0 4px 14px rgba(15, 23, 42, 0.04);
    }
    [data-theme="dark"] .drawer .action-group,
    [data-theme="dark"] .modal .action-group {
      background: color-mix(in srgb, var(--sys-surface-2) 90%, transparent);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 6px 18px rgba(0, 0, 0, 0.2);
    }
    .drawer .action-group-title,
    .modal .action-group-title {
      font-size: 0.6875rem;
      font-weight: 600;
      letter-spacing: 0.075em;
      text-transform: uppercase;
      color: var(--muted-strong);
      margin-bottom: 10px;
    }
    .action-group.flow { border-left: 3px solid rgba(37,99,235,.6); }
    .action-group.collab { border-left: 3px solid rgba(2,132,199,.6); }
    .action-group.risk { border-left: 3px solid rgba(220,38,38,.6); }
    .drawer-actions-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      width: 100%;
      margin-top: 10px;
    }
    .drawer-actions-grid .btn {
      width: 100%;
      min-height: 38px;
      border-radius: var(--ios-radius-md);
      justify-content: center;
    }
    .segmented {
      display: flex;
      gap: 10px;
      flex-wrap: nowrap;
      overflow-x: auto;
      padding-bottom: 2px;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scroll-snap-type: x proximity;
    }
    .segmented::-webkit-scrollbar { height: 6px; }
    .segmented-item {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      padding: 10px 12px;
      border: 1px solid var(--line);
      background: var(--ios-surface);
      border-radius: 999px;
      white-space: nowrap;
      user-select: none;
      scroll-snap-align: start;
      transition:
        transform var(--motion-micro-ms) var(--ios-spring-settle),
        background var(--motion-component-ms) var(--ios-ease),
        border-color var(--motion-component-ms) var(--ios-ease),
        box-shadow var(--motion-component-ms) var(--ios-ease);
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
    }
    @media (pointer: coarse) {
      .segmented-item:active {
        transform: scale(0.97);
      }
    }
    .segmented-item input { accent-color: var(--primary); }
    .segmented-item:has(input:checked) {
      background: rgba(47,109,246,.12);
      border-color: rgba(47,109,246,.35);
      color: var(--primary);
      box-shadow: inset 0 0 0 1px rgba(47,109,246,.25);
    }
    .row-actions {
      display: flex;
      align-items: center;
      gap: 6px;
      flex-wrap: wrap;
    }
    .row-action-menu {
      position: relative;
    }
    .row-action-menu summary {
      list-style: none;
    }
    .row-action-menu summary::-webkit-details-marker {
      display: none;
    }
    .row-action-menu-list {
      position: absolute;
      right: 0;
      top: calc(100% + 6px);
      min-width: 150px;
      z-index: 40;
      background: rgba(255,255,255,.76);
      border: 1px solid rgba(148,163,184,.20);
      border-radius: var(--ios-radius-md);
      box-shadow: 0 16px 36px rgba(15,23,42,.14);
      backdrop-filter: blur(16px) saturate(125%);
      -webkit-backdrop-filter: blur(16px) saturate(125%);
      padding: 6px;
      display: grid;
      gap: 4px;
      transform-origin: 100% 0;
    }
    @media (prefers-reduced-motion: no-preference) {
      details.row-action-menu[open] .row-action-menu-list {
        animation: iosPopoverIn var(--motion-component-ms) var(--ios-ease-decel) both;
      }
    }
    @keyframes iosPopoverIn {
      from {
        opacity: 0;
        transform: translateY(-6px) scale(0.98);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    [data-theme="dark"] .row-action-menu-list {
      background: rgba(15,23,42,.55);
      border-color: rgba(148,163,184,.18);
      box-shadow: 0 18px 42px rgba(0,0,0,.34);
    }
    .row-action-menu-list .btn {
      width: 100%;
      text-align: left;
      border-radius: var(--ios-radius-sm);
      padding: 6px 10px;
    }
    .action-col {
      width: 168px;
      min-width: 168px;
    }
    .action-cell {
      width: 168px;
      min-width: 168px;
    }
    .pricing-select {
      width: 100%;
      padding: 10px;
      border-radius: var(--ios-radius-md);
      border: 1px solid var(--line);
      background: var(--ios-surface);
    }
    .more-actions {
      position: relative;
    }
    .more-actions-toggle {
      display: inline-flex;
      align-items: center;
      gap: 6px;
    }
    .more-actions-menu {
      position: absolute;
      right: 0;
      top: calc(100% + 8px);
      min-width: 220px;
      background: rgba(255,255,255,.72);
      border: 1px solid var(--line);
      border-radius: var(--ios-radius-md);
      box-shadow: var(--ios-shadow-float);
      backdrop-filter: blur(14px) saturate(125%);
      -webkit-backdrop-filter: blur(14px) saturate(125%);
      padding: 8px;
      display: none;
      z-index: 30;
    }
    [data-theme="dark"] .more-actions-menu { background: rgba(15,23,42,.52); border-color: rgba(148,163,184,.20); }
    .more-actions.open .more-actions-menu { display: block; }
    @media (prefers-reduced-motion: no-preference) {
      .more-actions.open .more-actions-menu {
        animation: iosPopoverIn var(--motion-component-ms) var(--ios-ease-decel) both;
        transform-origin: 100% 0;
      }
    }
    .more-actions-menu button,
    .more-actions-menu .menu-link {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 12px;
      border: none;
      background: transparent;
      border-radius: var(--ios-radius-sm);
      color: var(--text);
      text-align: left;
      cursor: pointer;
    }
    .more-actions-menu button:hover,
    .more-actions-menu .menu-link:hover {
      background: var(--primary-weak);
      color: var(--primary);
    }
    /* 统一 iOS 风按钮：减少高饱和大色块 */
    .btn-primary {
      background: rgba(59,130,246,.12);
      color: #1d4ed8;
      border: 1px solid rgba(59,130,246,.28);
      box-shadow: none;
    }
    .btn-success {
      background: rgba(16,185,129,.12);
      color: #047857;
      border: 1px solid rgba(16,185,129,.28);
    }
    .btn-warning {
      background: rgba(245,158,11,.14);
      color: #92400e;
      border: 1px solid rgba(245,158,11,.28);
    }
    .btn-danger {
      background: rgba(239,68,68,.12);
      color: #b91c1c;
      border: 1px solid rgba(239,68,68,.28);
    }
    [data-theme="dark"] .btn-primary { color: #93c5fd; border-color: rgba(96,165,250,.34); background: rgba(59,130,246,.20); }
    [data-theme="dark"] .btn-success { color: #6ee7b7; border-color: rgba(52,211,153,.34); background: rgba(16,185,129,.18); }
    [data-theme="dark"] .btn-warning { color: #fcd34d; border-color: rgba(251,191,36,.34); background: rgba(245,158,11,.20); }
    [data-theme="dark"] .btn-danger { color: #fca5a5; border-color: rgba(248,113,113,.34); background: rgba(239,68,68,.18); }
    .btn-sm { padding: 4px 10px; font-size: 0.75rem; }
    .content {
      flex: 1;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      padding: clamp(12px, 2vw, 22px);
      padding-bottom: max(18px, calc(env(safe-area-inset-bottom) + 18px));
    }
    .section-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
      gap: 16px;
    }
    .stat-strip {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .stat-pill {
      background: var(--sys-surface);
      border: 1px solid var(--sys-separator);
      border-radius: var(--ios-radius-md);
      padding: 10px 12px;
      min-width: 120px;
    }
    .card {
      background: var(--sys-surface);
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border: 1px solid var(--sys-separator);
      border-radius: var(--ios-radius-lg);
      padding: clamp(14px, 2vw, 20px);
      margin-bottom: var(--ios-gap);
      box-shadow: 0 10px 26px rgba(15,23,42,.06);
      animation: fadeUp .35s ease both;
    }
    .card > strong {
      display: inline-block;
      letter-spacing: .2px;
      font-weight: 700;
    }
    .team-ios-shell { margin-top: 2px; }
    .team-ios-card {
      background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.72));
      border: 1px solid rgba(148,163,184,.22);
      box-shadow: 0 14px 32px rgba(15,23,42,.10);
      backdrop-filter: blur(20px) saturate(130%);
    }
    .team-ios-card .page-head { align-items: center; }
    .team-ios-card strong { font-weight: 800; letter-spacing: .2px; }
    .ios-kv {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 10px;
      margin-top: 12px;
    }
    .ios-kv-item {
      background: rgba(255,255,255,.62);
      border: 1px solid rgba(148,163,184,.18);
      border-radius: var(--ios-radius-lg);
      padding: 12px 12px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    [data-theme="dark"] .ios-kv-item { background: rgba(30,41,59,.46); border-color: rgba(148,163,184,.18); }
    .ios-kv-left { min-width: 0; }
    .ios-kv-title { font-size: .78rem; color: var(--muted); }
    .ios-kv-value { margin-top: 4px; font-weight: 800; font-size: .95rem; word-break: break-all; }
    .icon-btn {
      border: 1px solid rgba(148,163,184,.20);
      background: rgba(255,255,255,.55);
      border-radius: 999px;
      padding: 8px 10px;
      font-size: .78rem;
      color: var(--text);
      cursor: pointer;
      white-space: nowrap;
      transition:
        background var(--motion-micro-ms) var(--ios-sheet-ease-out),
        border-color var(--motion-micro-ms) var(--ios-sheet-ease-out),
        color var(--motion-micro-ms) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        box-shadow var(--motion-micro-ms) var(--ios-sheet-ease-out);
      -webkit-tap-highlight-color: transparent;
    }
    [data-theme="dark"] .icon-btn { background: rgba(15,23,42,.35); border-color: rgba(148,163,184,.18); }
    .icon-btn:hover { background: rgba(59,130,246,.10); border-color: rgba(59,130,246,.25); color: var(--primary); }
    .icon-btn:active {
      transform: scale(0.97);
    }
    .ios-callout {
      margin-top: 12px;
      padding: 12px 14px;
      border-radius: var(--ios-radius-lg);
      border: 1px solid rgba(59,130,246,.18);
      background: linear-gradient(180deg, rgba(59,130,246,.10), rgba(59,130,246,.04));
      color: var(--text);
      line-height: 1.8;
      font-size: .86rem;
    }
    .ios-callout strong { font-weight: 900; }
    .ios-callout .muted { color: var(--muted); font-size: .82rem; }
    .ios-form-row { padding: 14px 14px; }
    .ios-form-row { grid-template-columns: 108px 1fr; }
    .ios-form-label { font-size: .84rem; }
    .ios-form {
      border-radius: var(--ios-radius-lg);
      border: 1px solid rgba(148,163,184,.22);
      background: rgba(255,255,255,.62);
      overflow: hidden;
    }
    [data-theme="dark"] .ios-form { background: rgba(15,23,42,.40); border-color: rgba(148,163,184,.20); }
    .ios-form-row {
      display: grid;
      grid-template-columns: 120px 1fr;
      gap: 12px;
      align-items: center;
      padding: 12px 14px;
      border-top: 1px solid rgba(148,163,184,.18);
    }
    .ios-form-row.compact { padding: 12px 14px; }
    .ios-form-row.tall { padding: 16px 14px; }
    .ios-form-row .subhint { margin-top: 6px; color: var(--muted); font-size: .78rem; line-height: 1.5; }
    .ios-form-row:first-child { border-top: none; }
    .ios-form-label { color: var(--muted); font-size: .86rem; }
    .ios-form-row input, .ios-form-row select {
      width: 100%;
      min-height: 42px;
      border-radius: var(--ios-radius-sm);
      border: 1px solid rgba(148,163,184,.24);
      background: rgba(255,255,255,.86);
    }
    .ios-form-row input:focus, .ios-form-row select:focus {
      border-color: rgba(59,130,246,.45);
      box-shadow: 0 0 0 4px rgba(59,130,246,.12);
      outline: none;
    }
    .ios-form-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    @media (max-width: 720px) { .ios-form-split { grid-template-columns: 1fr; } }
    .ios-chip {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.55);
      color: var(--muted);
      font-size: .78rem;
      white-space: nowrap;
    }
    [data-theme="dark"] .ios-chip { background: rgba(15,23,42,.30); border-color: rgba(148,163,184,.16); }
    .ios-card-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .ios-card-title { display:flex; flex-direction:column; gap:6px; }
    .ios-card-title strong { font-weight: 900; letter-spacing: .2px; }
    .ios-card-title .subtitle { color: var(--muted); font-size: .86rem; line-height: 1.6; }
    .ios-actionbar {
      display: flex;
      gap: 10px;
      justify-content: space-between;
      align-items: center;
      margin-top: 12px;
      flex-wrap: wrap;
    }
    .ios-actionbar .leftnote { color: var(--muted); font-size: .8rem; }
    .btn.btn-ghost { background: rgba(255,255,255,.45); border-color: rgba(148,163,184,.18); }
    [data-theme="dark"] .btn.btn-ghost { background: rgba(15,23,42,.28); border-color: rgba(148,163,184,.16); }
    .ios-list {
      margin-top: 12px;
      border-radius: 12px;
      border: 1px solid rgba(60, 60, 67, 0.1);
      overflow: hidden;
      background: var(--ios-list-surface);
      box-shadow: var(--ios-list-elevate);
      backdrop-filter: blur(14px) saturate(140%);
      -webkit-backdrop-filter: blur(14px) saturate(140%);
    }
    /* Mobile table -> card list mode (used by renderTablePage) */
    .ios-list.mobile-cards {
      border: none;
      background: transparent;
      overflow: visible;
    }
    .ios-list.mobile-cards .ios-cell {
      border-top: none;
      margin-bottom: 7px;
      border-radius: 14px;
      border: 1px solid rgba(60, 60, 67, 0.10);
      background: rgba(255, 255, 255, 0.82);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 6px 18px rgba(15, 23, 42, 0.06);
    }
    [data-theme="dark"] .ios-list.mobile-cards .ios-cell {
      background: rgba(30, 41, 59, 0.55);
      border-color: rgba(148, 163, 184, 0.16);
      box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 6px 20px rgba(0, 0, 0, 0.22);
    }
    .ios-list.mobile-cards > .ios-cell {
      padding: 12px 13px;
    }
    .ios-list.mobile-cards .ios-cell-title { overflow-wrap: anywhere; }
    .ios-list.mobile-cards .ios-cell-right .btn { min-height: 34px; }
    .ios-list.mobile-cards .mobile-card-body { cursor: pointer; }
    .ios-list.mobile-cards .ios-cell:active {
      background: rgba(0, 0, 0, 0.038);
    }
    [data-theme="dark"] .ios-list.mobile-cards .ios-cell:active {
      background: rgba(255, 255, 255, 0.065);
    }
    .ios-list.mobile-cards .mobile-card-body:active {
      transform: none;
    }
    .ios-list.mobile-cards .mc-top {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 8px;
      width: 100%;
    }
    .ios-list.mobile-cards .mc-title {
      font-weight: 600;
      font-size: 0.98rem;
      letter-spacing: -0.01em;
      line-height: 1.28;
      overflow-wrap: anywhere;
      color: var(--text);
    }
    .ios-list.mobile-cards .mc-pills {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: center;
      flex: 0 1 auto;
      max-width: 100%;
    }
    .ios-list.mobile-cards .mc-kvgrid {
      margin-top: 9px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px 10px;
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      .ios-list.mobile-cards .mc-kvgrid { grid-template-columns: 1fr 1fr 1fr; }
    }
    .ios-list.mobile-cards .mc-kv {
      display: flex;
      flex-direction: column;
      gap: 2px;
      min-width: 0;
    }
    .ios-list.mobile-cards .mc-kv .k { font-size: .74rem; color: var(--muted); }
    .ios-list.mobile-cards .mc-kv .v { font-size: .86rem; line-height: 1.25; overflow-wrap: anywhere; }
    .ios-list.mobile-cards .mc-morebtn {
      min-height: 34px;
      min-width: 40px;
      padding: 6px 10px;
      border-radius: 14px;
      font-size: 20px;
      line-height: 1;
      letter-spacing: 1px;
      -webkit-tap-highlight-color: transparent;
    }
    .ios-list.mobile-cards .mc-morebtn:active { transform: scale(.98); }
    /* Phone: collapse extra KV rows, tap to expand */
    @media (max-width: 640px) {
      .ios-list.mobile-cards .mc-kvextra-wrap {
        grid-column: 1 / -1;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition: max-height .22s var(--ios-ease), opacity .18s var(--ios-ease);
        will-change: max-height, opacity;
      }
      .ios-list.mobile-cards .mc-kvextra {
        margin-top: 8px;
        padding-top: 8px;
        border-top: 1px solid rgba(148,163,184,.16);
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px 10px;
      }
      [data-theme="dark"] .ios-list.mobile-cards .mc-kvextra { border-top-color: rgba(148,163,184,.16); }
      .ios-list.mobile-cards .mobile-card-body.mc-expanded .mc-kvextra-wrap {
        max-height: 360px;
        opacity: 1;
      }
    }
    .ios-list.mobile-cards .mc-expandbtn {
      min-height: 28px;
      padding: 6px 10px;
      border-radius: 999px;
      font-size: .78rem;
      white-space: nowrap;
      letter-spacing: .2px;
    }
    @media (max-width: 380px) {
      .ios-list.mobile-cards .mc-kvgrid { grid-template-columns: 1fr; }
    }
    @media (max-width: 820px) {
      .ios-list.mobile-cards .ios-cell-right .btn { padding: 8px 10px; }
      .ios-list.mobile-cards .ios-cell-right { gap: 8px; }
    }
    .ios-switch { display:inline-flex; align-items:center; gap:10px; }
    .ios-switch input { position:absolute; opacity:0; width:1px; height:1px; }
    .ios-switch .track {
      width: 46px; height: 28px;
      border-radius: 999px;
      background: rgba(148,163,184,.35);
      border: 1px solid rgba(148,163,184,.22);
      position: relative;
      transition:
        background var(--motion-micro-ms) var(--ios-sheet-ease-out),
        border-color var(--motion-micro-ms) var(--ios-sheet-ease-out),
        box-shadow var(--motion-micro-ms) var(--ios-sheet-ease-out);
      display: inline-flex;
      align-items: center;
      padding: 2px;
      box-sizing: border-box;
    }
    .ios-switch .thumb {
      width: 24px; height: 24px;
      border-radius: 999px;
      background: rgba(255,255,255,.92);
      box-shadow: 0 10px 20px rgba(15,23,42,.18);
      transform: translateX(0);
      transition:
        transform var(--motion-component-ms) var(--ios-sheet-ease),
        box-shadow var(--motion-micro-ms) var(--ios-sheet-ease-out);
    }
    .ios-switch input:checked + .track {
      background: rgba(34,197,94,.90);
      border-color: rgba(34,197,94,.35);
    }
    .ios-switch input:checked + .track .thumb { transform: translateX(18px); }
    [data-theme="dark"] .ios-switch .track { background: rgba(148,163,184,.22); border-color: rgba(148,163,184,.18); }
    [data-theme="dark"] .ios-switch .thumb { background: rgba(255,255,255,.92); }
    .ios-switch.disabled { opacity: .55; pointer-events: none; }
    .ios-accordion { border-radius: 18px; border: 1px solid rgba(148,163,184,.18); overflow: hidden; background: rgba(255,255,255,.62); }
    [data-theme="dark"] .ios-accordion { background: rgba(15,23,42,.40); border-color: rgba(148,163,184,.18); }
    .ios-accordion-sum { list-style: none; cursor: pointer; padding: 12px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .ios-accordion-sum::-webkit-details-marker { display:none; }
    .ios-accordion[open] .ios-accordion-sum { border-bottom: 1px solid rgba(148,163,184,.16); }
    [data-theme="dark"] .ios-list {
      background: var(--ios-list-surface);
      border-color: rgba(84, 84, 88, 0.45);
      box-shadow: var(--ios-list-elevate);
    }
    /* System iOS list cell (shared across pages, incl. hub + side panels) */
    .ios-cell {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 14px;
      min-height: var(--density-cell-h);
      padding-top: var(--density-cell-pad-y);
      padding-bottom: var(--density-cell-pad-y);
      border-top: none; /* use inset separator for iOS feel */
      position: relative;
      transition:
        background var(--ios-ui-duration) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle);
    }
    /* Inset separators: align to content start (no icon baseline) */
    .ios-list .ios-cell + .ios-cell::before{
      content:"";
      position:absolute;
      left: 14px;
      right: 0;
      top: 0;
      height: 1px;
      background: var(--hairline);
      opacity: 1;
      pointer-events: none;
    }
    @media (hover:hover) and (pointer:fine){
      .ios-cell:hover{ background: rgba(0,0,0,.02); }
    }
    .ios-cell:active {
      background: rgba(0, 0, 0, 0.045);
      transform: scale(0.997);
    }
    [data-theme="dark"] .ios-cell:hover{ background: rgba(255,255,255,.03); }
    [data-theme="dark"] .ios-cell:active {
      background: rgba(255, 255, 255, 0.06);
      transform: scale(0.997);
    }
    /* Desktop density: slightly tighter, more efficient */
    /* density is controlled by root variables */
    .ios-cell-left { min-width: 0; }
    .ios-cell-title { font-weight: 650; font-size: .95rem; letter-spacing: .1px; }
    .ios-cell-sub { margin-top: 4px; color: var(--muted); font-size: .82rem; line-height: 1.45; word-break: break-word; }
    .ios-cell-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
    .super-todo-entry { align-items: flex-start; }
    .super-todo-entry .ios-cell-left { flex: 1 1 100%; }
    .super-todo-entry .ios-cell-right { width: 100%; justify-content: flex-start; }
    .super-todo-entry-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 10px;
      width: 100%;
    }
    .super-todo-entry-grid .btn {
      width: 100%;
      min-height: 40px;
      border-radius: 16px;
      text-align: center;
    }
    @media (min-width: 1024px) {
      .super-todo-entry-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr));
        gap: 8px;
        width: 100%;
      }
      .super-todo-entry-grid .btn {
        width: 100%;
        min-width: 0;
        min-height: 40px;
        padding: 8px 10px;
        font-size: .84rem;
        white-space: normal;
        overflow-wrap: anywhere;
      }

      /* Analysis actions: left card can use larger buttons and keep parity with right panel */
      .analytics-actions-panels {
        align-items: stretch;
      }
      .analytics-actions-panels > .card {
        display: flex;
        flex-direction: column;
      }
      .analytics-actions-panels .drawer-actions-grid.center-actions-grid {
        flex: 1 1 auto;
      }
      .analytics-actions-panels .analysis-entry-card .drawer-actions-grid.center-actions-grid .btn {
        min-height: 46px;
        font-size: .98rem;
        font-weight: 700;
      }
    }
    .ios-pill {
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.55);
      color: var(--muted);
      font-size: .78rem;
      white-space: nowrap;
    }
    [data-theme="dark"] .ios-pill { background: rgba(15,23,42,.30); border-color: rgba(148,163,184,.16); }
    .ios-tag-ok { color: #166534; border-color: rgba(22,163,74,.20); background: rgba(220,252,231,.68); }
    .ios-tag-off { color: #7c2d12; border-color: rgba(245,158,11,.22); background: rgba(255,247,237,.75); }
    .ios-tag-danger { color: #991b1b; border-color: rgba(239,68,68,.22); background: rgba(254,226,226,.70); }
    .ios-tag-info { color: var(--tone-info-fg); border-color: var(--tone-info-border); background: var(--tone-info-bg); }
    .ios-tag-aftersale { color: var(--tone-aftersale-fg); border-color: var(--tone-aftersale-border); background: var(--tone-aftersale-bg); }
    .ios-mini-input {
      min-height: 38px !important;
      border-radius: var(--ios-radius-sm) !important;
      padding: 8px 10px !important;
    }
    select.ios-mini-input, .ios-select {
      -webkit-appearance: none;
      appearance: none;
      padding-right: 32px !important;
      background-image: linear-gradient(45deg, transparent 50%, rgba(100,116,139,.9) 50%), linear-gradient(135deg, rgba(100,116,139,.9) 50%, transparent 50%);
      background-position: calc(100% - 16px) 55%, calc(100% - 11px) 55%;
      background-size: 6px 6px, 6px 6px;
      background-repeat: no-repeat;
      cursor: pointer;
    }
    [data-theme="dark"] select.ios-mini-input, [data-theme="dark"] .ios-select {
      background-image: linear-gradient(45deg, transparent 50%, rgba(203,213,225,.9) 50%), linear-gradient(135deg, rgba(203,213,225,.9) 50%, transparent 50%);
    }
    @media (max-width: 520px) {
      .ios-cell { align-items: flex-start; }
      .ios-cell-right { width: 100%; justify-content: flex-start; }
      .super-todo-entry-grid { grid-template-columns: 1fr; }
    }
    /* Prevent generic small-screen cell rules from breaking card list layout */
    @media (max-width: 520px) {
      .ios-list.mobile-cards .ios-cell-right { width: auto; justify-content: flex-end; }
    }
    [data-theme="dark"] .ios-form-row input, [data-theme="dark"] .ios-form-row select { background: rgba(30,41,59,.55); border-color: rgba(148,163,184,.20); color: var(--text); }
    .ios-form-help { margin-top: 10px; color: var(--muted); font-size: .82rem; line-height: 1.7; }
    .ios-actions {
      display: flex;
      gap: 10px;
      justify-content: flex-end;
      margin-top: 12px;
      flex-wrap: wrap;
    }
    .ios-primary-wide { min-width: 220px; }
    .seg {
      display: inline-flex;
      padding: 4px;
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.22);
      background: rgba(255,255,255,.58);
      gap: 4px;
    }
    [data-theme="dark"] .seg { background: rgba(30,41,59,.40); border-color: rgba(148,163,184,.18); }
    .seg button {
      border: none;
      background: transparent;
      padding: 8px 12px;
      border-radius: 999px;
      cursor: pointer;
      color: var(--muted);
      font-size: .84rem;
      min-height: 34px;
    }
    .seg button.active {
      background: rgba(59,130,246,.16);
      color: var(--primary);
      font-weight: 700;
    }
    .ios-inline {
      display: flex;
      gap: 10px;
      align-items: center;
    }
    .ios-inline .hint-mini { color: var(--muted); font-size: .78rem; }
    @media (max-width: 520px) {
      .ios-form-row { grid-template-columns: 1fr; gap: 6px; }
      .ios-actions { justify-content: stretch; }
      .ios-primary-wide { width: 100%; min-width: 0; }
    }
    .ios-table table { border-collapse: separate; border-spacing: 0; overflow: hidden; }
    .ios-table table thead th {
      position: sticky;
      top: 0;
      z-index: 1;
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(10px) saturate(120%);
      -webkit-backdrop-filter: blur(10px) saturate(120%);
      border-bottom: 1px solid rgba(148,163,184,.22);
      font-size: .82rem;
      color: #334155;
    }
    .ios-table table tbody td { font-size: .86rem; }
    .ios-table table tbody tr:hover { background: rgba(59,130,246,.06); }
    .btn.btn-danger { background: rgba(239,68,68,.12); border-color: rgba(239,68,68,.25); color: #b91c1c; }
    .btn.btn-danger:hover { background: rgba(239,68,68,.16); }
    [data-theme="dark"] .team-ios-card {
      background: linear-gradient(180deg, rgba(30,41,59,.92), rgba(30,41,59,.84));
      border-color: rgba(148,163,184,.20);
    }
    .two-columns{
      display:grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
      margin-bottom: 16px;
    }
    @media (max-width: 900px){
      .two-columns{ grid-template-columns: 1fr; }
    }
    .dashboard-hero {
      display: grid;
      grid-template-columns: minmax(360px, 1.3fr) minmax(280px, .7fr);
      gap: 16px;
      margin-bottom: 16px;
    }
    .hero-panel {
      background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.10));
      border: 1px solid rgba(37,99,235,.12);
      border-radius: 20px;
      padding: 20px;
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-height: 100%;
    }
    .hero-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
    }
    .hero-badges {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }
    .badge {
      padding: 6px 10px;
      border-radius: 999px;
      background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      font-size: 0.78rem;
      color: var(--muted);
    }
    .hero-stats {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .hero-stat {
      background: rgba(255,255,255,.66);
      border: 1px solid var(--line);
      border-radius: var(--ios-radius-md);
      padding: 12px;
    }
    [data-theme="dark"] .hero-stat { background: rgba(15,23,42,.42); border-color: rgba(148,163,184,.20); }
    .hero-stat .num {
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--primary);
      margin-top: 6px;
    }
    .quick-panel {
      background: rgba(255,255,255,.66);
      border: 1px solid var(--line);
      border-radius: var(--ios-radius-lg);
      padding: 18px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    [data-theme="dark"] .quick-panel { background: rgba(15,23,42,.42); border-color: rgba(148,163,184,.20); }
    .quick-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }
    .dashboard-overview .ios-cell-right .btn { min-height: 34px; }
    .ios-action-grid {
      width: 100%;
      max-width: 720px;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
      gap: 8px;
      grid-auto-flow: dense;
    }
    .ios-action-grid .btn {
      width: 100%;
      border-radius: var(--ios-radius-md);
      min-height: 34px;
      justify-content: center;
    }
    .ios-picker-input {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      width:100%;
      padding: 10px 12px;
      border-radius: var(--ios-radius-md);
      border: 1px solid var(--line);
      background: var(--ios-surface);
      backdrop-filter: blur(10px) saturate(120%);
      cursor: pointer;
      min-height: 40px;
    }
    .ios-picker-input .value {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      color: var(--text);
      font-weight: 600;
      font-size: .92rem;
    }
    .ios-picker-input .placeholder { color: var(--muted); font-weight: 600; }
    .ios-picker-input .chev { color: var(--muted); font-size: 1rem; flex: 0 0 auto; }
    .ios-picker-search {
      width: 100%;
      box-sizing: border-box;
      padding: 10px 12px;
      border-radius: var(--ios-radius-md);
      border: 1px solid var(--line);
      background: var(--ios-surface);
      min-height: 40px;
    }
    [data-theme="dark"] .ios-picker-search { background: rgba(30,41,59,.55); border-color: rgba(148,163,184,.20); color: var(--text); }
    .ios-picker-empty { padding: 14px; color: var(--muted); text-align:center; }
    .ios-picker-list-switch {
      opacity: .2;
      transform: translateY(6px);
      transition: opacity .15s var(--ios-ease), transform .15s var(--ios-ease);
    }
    .kpi-list-grid {
      width: 100%;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 10px;
    }
    .kpi-list-item {
      border: 1px solid rgba(148,163,184,.16);
      background: rgba(255,255,255,.56);
      border-radius: 14px;
      padding: 10px 12px;
      min-height: 86px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 4px;
    }
    .kpi-list-item .kpi-label { color: var(--muted); font-size: .78rem; }
    .kpi-list-item .kpi-value { font-size: 1.24rem; font-weight: 800; color: var(--primary); line-height: 1.1; font-variant-numeric: tabular-nums; }
    .kpi-list-item .kpi-desc { color: var(--muted); font-size: .74rem; line-height: 1.35; }
    .stat-pill-label {
      color: var(--muted);
      font-size: .86rem;
      line-height: 1.35;
    }
    .meta-subtle {
      color: var(--muted-strong);
      font-size: .82rem;
      line-height: 1.35;
    }
    .meta-note {
      color: var(--muted);
      font-size: .85rem;
      line-height: 1.7;
    }
    .meta-hint {
      font-size: .85rem;
      line-height: 1.7;
    }
    .meta-xs {
      color: var(--muted-strong);
      font-size: .8rem;
      font-weight: 620;
      line-height: 1.35;
    }
    .badge.badge-sla {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
    }
    .badge.badge-sla .sla-item {
      display: inline-flex;
      align-items: baseline;
      gap: 2px;
      color: var(--muted);
    }
    .badge.badge-sla .sla-num {
      color: var(--text);
      font-weight: 800;
      font-size: 1.02em;
      font-variant-numeric: tabular-nums;
      letter-spacing: .1px;
    }
    .badge.badge-sla .sla-unit {
      font-size: .92em;
      opacity: .82;
    }
    .badge.badge-sla .sla-sep {
      color: var(--muted);
      opacity: .72;
      margin: 0 1px;
    }
    /* Console readability/layout harmonization */
    .ios-module-stack .dashboard-overview .ios-cell-sub {
      font-size: .86rem;
      line-height: 1.55;
    }
    .ios-module-stack .dashboard-overview .dashboard-priority-host .ios-pill {
      font-size: .82rem;
      min-height: 38px;
      padding: 6px 10px;
      line-height: 1.35;
    }
    .ios-module-stack .team-ios-card .stat-pill-label {
      font-size: .84rem;
    }
    .ios-module-stack .team-ios-card .badge.badge-sla {
      border-radius: var(--ios-radius-md);
      padding: 7px 10px;
      line-height: 1.45;
    }
    .ios-module-stack .team-ios-card .badge.badge-sla .sla-item {
      line-height: 1.3;
    }
    .ios-module-stack .team-ios-card .stat-pill [style*="font-weight:800"],
    .ios-module-stack .team-ios-card .stat-pill .stat-pill-value {
      font-size: 1.06rem;
    }
    /* Console number scale baseline */
    .ios-module-stack .center-stat-strip .stat-pill [style*="font-weight:800"],
    .ios-module-stack .center-stat-strip .stat-pill .stat-pill-value,
    .ios-module-stack .analytics-kpi-strip .stat-pill [style*="font-weight:800"],
    .ios-module-stack .analytics-kpi-strip .stat-pill .stat-pill-value,
    .ios-perm-center .perm-summary-stat-strip .stat-pill [style*="font-weight:800"],
    .ios-perm-center .perm-summary-stat-strip .stat-pill .stat-pill-value {
      font-size: 1.06rem !important;
      line-height: 1.2 !important;
      font-variant-numeric: tabular-nums;
    }
    .ios-module-stack .center-stat-strip .stat-pill-label,
    .ios-module-stack .analytics-kpi-strip .stat-pill-label,
    .ios-perm-center .perm-summary-stat-strip .stat-pill-label {
      font-size: .84rem !important;
      line-height: 1.35 !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value {
      font-size: 1.18rem !important;
      line-height: 1.12 !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="neutral"] {
      color: var(--text) !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="off"] {
      color: var(--muted) !important;
      font-weight: 760 !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="success"] {
      color: var(--tone-success-fg) !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="warning"] {
      color: var(--tone-warning-fg) !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="danger"] {
      color: var(--tone-danger-fg) !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="info"] {
      color: var(--tone-info-fg) !important;
    }
    .ios-module-stack .dashboard-overview .kpi-list-item .kpi-value[data-hig-tone="aftersale"] {
      color: var(--tone-aftersale-fg) !important;
      font-weight: 780 !important;
    }
    .ios-module-stack .dashboard-overview .dashboard-priority-host .ios-pill {
      font-size: .84rem !important;
      min-height: 38px !important;
      font-variant-numeric: tabular-nums;
    }
    [data-closure-center-root] .ios-list .ios-cell .ios-cell-right .ios-pill,
    [data-closure-center-root] .ios-card-head .ios-pill {
      font-size: .96rem !important;
      min-height: 38px !important;
      min-width: 38px !important;
      font-variant-numeric: tabular-nums;
    }
    /* Console card typography/padding baseline */
    .ios-module-stack .dashboard-overview,
    .ios-module-stack .team-ios-card,
    .ios-module-stack .card:has(.center-stat-strip),
    .ios-module-stack .card:has(.analytics-kpi-strip),
    .ios-module-stack .card:has(.closure-primary-grid),
    [data-closure-center-root] .card {
      padding: 16px !important;
      border-radius: 18px !important;
    }
    .ios-module-stack .dashboard-overview .ios-card-title strong,
    .ios-module-stack .team-ios-card .ios-card-title strong,
    .ios-module-stack .card:has(.center-stat-strip) .ios-card-title strong,
    .ios-module-stack .card:has(.analytics-kpi-strip) .ios-card-title strong,
    [data-closure-center-root] .ios-card-title strong {
      font-size: 1.04rem !important;
      font-weight: 760 !important;
      line-height: 1.3 !important;
    }
    .ios-module-stack .dashboard-overview .subtitle,
    .ios-module-stack .team-ios-card .subtitle,
    .ios-module-stack .card:has(.center-stat-strip) .subtitle,
    .ios-module-stack .card:has(.analytics-kpi-strip) .subtitle,
    [data-closure-center-root] .subtitle {
      font-size: .86rem !important;
      line-height: 1.55 !important;
    }
    .ios-module-stack .dashboard-overview .ios-cell-title,
    .ios-module-stack .team-ios-card .ios-cell-title,
    .ios-module-stack .card:has(.center-stat-strip) .ios-cell-title,
    .ios-module-stack .card:has(.analytics-kpi-strip) .ios-cell-title,
    [data-closure-center-root] .ios-cell-title {
      font-size: .94rem !important;
      line-height: 1.4 !important;
    }
    .ios-module-stack .dashboard-overview .ios-cell-sub,
    .ios-module-stack .team-ios-card .ios-cell-sub,
    .ios-module-stack .card:has(.center-stat-strip) .ios-cell-sub,
    .ios-module-stack .card:has(.analytics-kpi-strip) .ios-cell-sub,
    [data-closure-center-root] .ios-cell-sub {
      font-size: .84rem !important;
      line-height: 1.55 !important;
    }
    .ios-module-stack .dashboard-overview .btn,
    .ios-module-stack .team-ios-card .btn,
    .ios-module-stack .card:has(.center-stat-strip) .btn,
    .ios-module-stack .card:has(.analytics-kpi-strip) .btn,
    [data-closure-center-root] .btn {
      min-height: 40px !important;
      font-size: .92rem !important;
    }
    /* Dashboard overview cards: same text/number/layout baseline */
    @media (min-width: 1024px) {
      .ios-module-stack .finance-overview-card,
      .ios-module-stack .approvals-overview-card,
      .ios-module-stack .dispatch-risk-card,
      .ios-module-stack .ship-overview-card,
      .ios-module-stack .exception-overview-card,
      .ios-module-stack .todo-overview-card,
      .ios-module-stack .efficiency-overview-card {
        display: flex;
        flex-direction: column;
        min-height: 320px;
      }
      .ios-module-stack .finance-overview-card .ios-card-head,
      .ios-module-stack .approvals-overview-card .ios-card-head,
      .ios-module-stack .dispatch-risk-card .ios-card-head,
      .ios-module-stack .ship-overview-card .ios-card-head,
      .ios-module-stack .exception-overview-card .ios-card-head,
      .ios-module-stack .todo-overview-card .ios-card-head,
      .ios-module-stack .efficiency-overview-card .ios-card-head {
        min-height: 74px;
        margin-bottom: 0;
      }
      .ios-module-stack .finance-overview-card .ios-card-title strong,
      .ios-module-stack .approvals-overview-card .ios-card-title strong,
      .ios-module-stack .dispatch-risk-card .ios-card-title strong,
      .ios-module-stack .ship-overview-card .ios-card-title strong,
      .ios-module-stack .exception-overview-card .ios-card-title strong,
      .ios-module-stack .todo-overview-card .ios-card-title strong,
      .ios-module-stack .efficiency-overview-card .ios-card-title strong {
        font-size: 1.02rem !important;
      }
      .ios-module-stack .finance-overview-card .subtitle,
      .ios-module-stack .approvals-overview-card .subtitle,
      .ios-module-stack .dispatch-risk-card .subtitle,
      .ios-module-stack .ship-overview-card .subtitle,
      .ios-module-stack .exception-overview-card .subtitle,
      .ios-module-stack .todo-overview-card .subtitle,
      .ios-module-stack .efficiency-overview-card .subtitle {
        font-size: .84rem !important;
        line-height: 1.5 !important;
      }
      .ios-module-stack .finance-overview-card > .ios-list,
      .ios-module-stack .approvals-overview-card > .ios-list,
      .ios-module-stack .dispatch-risk-card > .ios-list,
      .ios-module-stack .ship-overview-card > .ios-list,
      .ios-module-stack .exception-overview-card > .ios-list,
      .ios-module-stack .todo-overview-card > .ios-list,
      .ios-module-stack .efficiency-overview-card > .ios-list {
        flex: 1 1 auto;
        margin-top: 10px !important;
      }
      .ios-module-stack .finance-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .approvals-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .dispatch-risk-card > .ios-list > .ios-cell,
      .ios-module-stack .ship-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .exception-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .todo-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .efficiency-overview-card > .ios-list > .ios-cell {
        min-height: 56px;
        padding-top: 11px !important;
        padding-bottom: 11px !important;
      }
      .ios-module-stack .finance-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .approvals-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .dispatch-risk-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .ship-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .exception-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .todo-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .ios-module-stack .efficiency-overview-card > .ios-list > .ios-cell .ios-cell-title {
        font-size: .94rem !important;
        line-height: 1.4 !important;
      }
      .ios-module-stack .finance-overview-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .approvals-overview-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .dispatch-risk-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .ship-overview-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .exception-overview-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .todo-overview-card > .ios-list > .ios-cell .ios-pill,
      .ios-module-stack .efficiency-overview-card > .ios-list > .ios-cell .ios-pill {
        min-width: 42px !important;
        min-height: 36px !important;
        font-size: .98rem !important;
        font-weight: 760 !important;
        font-variant-numeric: tabular-nums;
      }
    }
    @media (min-width: 1024px) {
      .ios-module-stack .oper-workbench-card,
      .ios-module-stack .worker-workbench-card,
      .ios-module-stack .info-overview-card,
      .ios-module-stack .activity-overview-card {
        min-height: 300px;
      }
      .ios-module-stack .oper-queue-card,
      .ios-module-stack .worker-queue-card,
      .ios-module-stack .follow-overview-card,
      .ios-module-stack .customer-overview-card {
        min-height: auto !important;
      }
      .ios-module-stack .oper-workbench-card .ios-card-title strong,
      .ios-module-stack .oper-queue-card .ios-card-title strong,
      .ios-module-stack .worker-workbench-card .ios-card-title strong,
      .ios-module-stack .worker-queue-card .ios-card-title strong,
      .ios-module-stack .info-overview-card .ios-card-title strong,
      .ios-module-stack .activity-overview-card .ios-card-title strong,
      .ios-module-stack .follow-overview-card .ios-card-title strong,
      .ios-module-stack .customer-overview-card .ios-card-title strong {
        font-size: 1.02rem !important;
      }
      .ios-module-stack .oper-workbench-card .ios-list,
      .ios-module-stack .oper-queue-card .ios-list,
      .ios-module-stack .worker-workbench-card .ios-list,
      .ios-module-stack .worker-queue-card .ios-list,
      .ios-module-stack .info-overview-card .ios-list,
      .ios-module-stack .activity-overview-card .ios-list,
      .ios-module-stack .follow-overview-card .ios-list,
      .ios-module-stack .customer-overview-card .ios-list {
        margin-top: 10px !important;
      }
      .ios-module-stack .oper-workbench-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .oper-queue-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .worker-workbench-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .worker-queue-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .info-overview-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .activity-overview-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .follow-overview-card .ios-list .ios-cell .ios-pill,
      .ios-module-stack .customer-overview-card .ios-list .ios-cell .ios-pill {
        min-width: 42px !important;
        min-height: 36px !important;
        font-size: .98rem !important;
        font-variant-numeric: tabular-nums;
      }
      .ios-module-stack .info-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .follow-overview-card > .ios-list > .ios-cell,
      .ios-module-stack .customer-overview-card > .ios-list > .ios-cell {
        min-height: 56px;
        padding-top: 11px !important;
        padding-bottom: 11px !important;
      }
      .ios-module-stack .oper-queue-card > .ios-list > .ios-cell,
      .ios-module-stack .worker-queue-card > .ios-list > .ios-cell {
        min-height: auto !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
      }
      .ios-module-stack .worker-queue-card > .ios-list > .ios-cell .ios-cell-right.queue-cell-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        flex-wrap: wrap;
      }
      .ios-module-stack .worker-queue-card > .ios-list > .ios-cell .ios-cell-right.queue-cell-actions .btn.btn-sm {
        min-height: 32px !important;
      }
      .ios-module-stack .activity-overview-card .btn.btn-sm {
        min-height: 34px !important;
      }
    }
    .ios-module-stack .console-head-split {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      align-items: flex-start;
    }
    .ios-module-stack .console-role-hint {
      margin-top: 8px;
      color: var(--muted);
      line-height: 1.72;
      font-size: .88rem;
    }
    .ios-module-stack .console-block-gap {
      margin-top: 12px;
    }
    .ios-module-stack .console-table-gap {
      margin-top: 10px;
    }
    .ios-module-stack .console-list-gap {
      margin-top: 10px !important;
    }
    .ios-module-stack .console-meta {
      margin-top: 10px;
      color: var(--muted);
      line-height: 1.9;
    }
    .ios-module-stack .console-meta-tight {
      margin-top: 10px;
      color: var(--muted);
      line-height: 1.8;
    }
    .ios-module-stack .console-actions {
      margin-top: 10px;
      flex-wrap: wrap;
    }
    .ios-module-stack .activity-row {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      border-top: 1px solid rgba(255,255,255,.06);
      padding: 8px 0;
    }
    .ios-module-stack .activity-main {
      min-width: 0;
    }
    .ios-module-stack .activity-title {
      font-weight: 600;
      color: var(--text);
    }
    .list-gap-10 {
      margin-top: 10px !important;
    }
    .picker-list-scroll {
      max-height: min(52vh, 520px);
      overflow: auto;
    }
    .ios-module-stack .queue-cell-actions {
      display: flex;
      align-items: center;
      gap: 8px;
    }
    @media (min-width: 1024px) {
      .ios-module-stack .dashboard-overview .dashboard-overview-row {
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
      }
      .ios-module-stack .dashboard-overview .dashboard-overview-row .ios-cell-left {
        flex: 0 0 250px !important;
        width: 250px !important;
      }
      .ios-module-stack .dashboard-overview .dashboard-overview-right {
        flex: 1 1 auto !important;
        width: auto !important;
      }
    }
    .badge,
    .table-wrap td,
    .table-wrap th {
      font-variant-numeric: tabular-nums;
    }
    .stat-pill [style*="font-weight:800"],
    .stat-pill .stat-pill-value {
      font-size: 1.04rem;
      line-height: 1.2;
      font-variant-numeric: tabular-nums;
    }
    /* Semantic color ladder for dashboard numbers */
    .stat-pill [style*="font-weight:800"][style*="var(--danger)"] {
      color: var(--danger) !important;
      text-shadow: 0 0 0 rgba(220, 38, 38, 0.01);
    }
    .stat-pill [style*="font-weight:800"][style*="var(--warning)"] {
      color: #b45309 !important;
    }
    .stat-pill [style*="font-weight:800"][style*="var(--success)"] {
      color: #15803d !important;
    }
    .stat-pill [style*="font-weight:800"][style*="var(--muted)"] {
      color: var(--muted) !important;
      font-weight: 760 !important;
    }
    .stat-pill [style*="font-weight:800"]:not([style*="var(--danger)"]):not([style*="var(--warning)"]):not([style*="var(--success)"]):not([style*="var(--muted)"]) {
      color: var(--text);
    }
    [data-theme="dark"] .stat-pill [style*="font-weight:800"][style*="var(--warning)"] {
      color: #fbbf24 !important;
    }
    [data-theme="dark"] .stat-pill [style*="font-weight:800"][style*="var(--success)"] {
      color: #4ade80 !important;
    }
    [data-theme="dark"] .kpi-list-item { background: rgba(30,41,59,.55); border-color: rgba(148,163,184,.18); }
    /* KPI卡片网格 */
    .kpi-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(200px, 1fr));
      gap: 20px;
      margin-bottom: 24px;
    }
    .kpi {
      background: rgba(255,255,255,.72);
      border-radius: var(--ios-radius-md);
      padding: 20px;
      text-align: center;
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow);
      border: 1px solid var(--line);
      transition: transform 0.2s, box-shadow 0.2s;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 120px;
    }
    .kpi:hover {
      transform: translateY(-2px);
      box-shadow: var(--ios-shadow-float);
    }
    .kpi::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 4px;
      height: 100%;
      background: var(--primary);
    }
    .kpi .label {
      font-size: 0.9rem;
      color: var(--muted);
      margin-bottom: 8px;
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }
    .kpi .value {
      font-size: 32px;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 4px;
      line-height: 1.2;
    }
    .kpi .desc {
      font-size: 0.75rem;
      color: var(--muted);
    }
    /* 自适应密集网格，减少空位 */
    .two-columns {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
      gap: 16px;
      margin-bottom: 16px;
      align-items: stretch;
      grid-auto-flow: dense;
    }
    .two-columns .card {
      height: 100%;
      margin-bottom: 0;
    }
    .table-wrap {
      overflow-x: auto;
      margin-top: 12px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--ios-radius-md);
      backdrop-filter: blur(12px) saturate(120%);
    }
    table {
      width: 100%;
      border-collapse: collapse;
      min-width: 400px;
    }
    tbody tr:hover {
      background: rgba(37, 99, 235, 0.06);
    }
    tbody tr:hover td {
      background: transparent;
    }
    [data-theme="dark"] tbody tr:hover {
      background: rgba(96, 165, 250, 0.1);
    }
    [data-theme="dark"] tbody tr:hover td {
      background: transparent;
    }
    tbody tr:active {
      background: rgba(37, 99, 235, 0.085);
    }
    tbody tr:active td {
      background: transparent !important;
      transform: none !important;
    }
    [data-theme="dark"] tbody tr:active {
      background: rgba(96, 165, 250, 0.12);
    }
    [data-theme="dark"] tbody tr:active td {
      background: transparent !important;
    }
    th, td {
      padding: 11px 12px;
      text-align: left;
      border-bottom: 1px solid var(--line);
      white-space: nowrap;
    }
    th {
      background: rgba(255,255,255,.74);
      position: sticky;
      top: 0;
      backdrop-filter: blur(8px);
    }
    .form-field { margin-bottom: 16px; }
    .form-field label { display: block; margin-bottom: 6px; font-weight: 500; }
    .form-field input:not([type="checkbox"]):not([type="radio"]), .form-field select, .form-field textarea {
      width: 100%;
      padding: 10px 12px;
      border-radius: var(--ios-radius-md);
      border: 1px solid var(--line);
      background: var(--ios-surface);
      backdrop-filter: blur(10px) saturate(120%);
      min-height: 40px;
    }
    .form-field textarea { min-height: 88px; }
    .form-field input[type="radio"] {
      width: auto;
      min-height: auto;
      padding: 0;
      margin: 0;
      border: none;
      background: transparent;
      box-shadow: none;
    }
    .form-field input[type="checkbox"] {
      width: auto;
      min-height: auto;
      padding: 0;
      margin: 0;
    }
    input[type="checkbox"] {
      width: 18px;
      height: 18px;
      accent-color: var(--primary);
      transform: translateY(1px);
    }
    /* 权限/策略页常见开关，做成更接近 iOS 的轻玻璃态 */
    .card label:has(input[type="checkbox"]) {
      border-radius: var(--ios-radius-md);
      padding: 4px 6px;
      transition: background .18s var(--ios-ease);
    }
    .card label:has(input[type="checkbox"]:checked) {
      background: rgba(47,109,246,.10);
    }
    /* iOS 开关：用于权限中心/公告/策略类开关 */
    input[type="checkbox"][data-widget-role],
    input[type="checkbox"][data-resp-role],
    input[type="checkbox"][data-ann-active],
    input[type="checkbox"][data-ann-popup],
    input[type="checkbox"][data-ann-ack],
    input[type="checkbox"][data-super-operate-shipment],
    input[type="checkbox"][data-emergency-permanent-role] {
      appearance: none;
      -webkit-appearance: none;
      width: 38px;
      height: 22px;
      border-radius: 999px;
      background: rgba(148,163,184,.45);
      border: 1px solid rgba(148,163,184,.45);
      position: relative;
      cursor: pointer;
      transition: all .22s var(--ios-ease);
      vertical-align: middle;
      transform: translateY(0);
    }
    input[type="checkbox"][data-widget-role]::after,
    input[type="checkbox"][data-resp-role]::after,
    input[type="checkbox"][data-ann-active]::after,
    input[type="checkbox"][data-ann-popup]::after,
    input[type="checkbox"][data-ann-ack]::after,
    input[type="checkbox"][data-super-operate-shipment]::after,
    input[type="checkbox"][data-emergency-permanent-role]::after {
      content: '';
      position: absolute;
      width: 16px;
      height: 16px;
      border-radius: 50%;
      background: rgba(255,255,255,.92);
      left: 2px;
      top: 2px;
      box-shadow: 0 10px 18px rgba(15,23,42,.20);
      transition: all .22s var(--ios-ease);
    }
    input[type="checkbox"][data-widget-role]:checked,
    input[type="checkbox"][data-resp-role]:checked,
    input[type="checkbox"][data-ann-active]:checked,
    input[type="checkbox"][data-ann-popup]:checked,
    input[type="checkbox"][data-ann-ack]:checked,
    input[type="checkbox"][data-super-operate-shipment]:checked,
    input[type="checkbox"][data-emergency-permanent-role]:checked {
      background: linear-gradient(135deg, #4f8bff, var(--primary));
      border-color: transparent;
    }
    input[type="checkbox"][data-widget-role]:checked::after,
    input[type="checkbox"][data-resp-role]:checked::after,
    input[type="checkbox"][data-ann-active]:checked::after,
    input[type="checkbox"][data-ann-popup]:checked::after,
    input[type="checkbox"][data-ann-ack]:checked::after,
    input[type="checkbox"][data-super-operate-shipment]:checked::after,
    input[type="checkbox"][data-emergency-permanent-role]:checked::after {
      left: 18px;
    }
    /* iOS 工具条（列表页筛选） */
    .filter-bar {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: var(--panel);
      backdrop-filter: blur(12px) saturate(120%);
      margin-top: 10px;
      margin-bottom: 2px;
    }
    .filter-bar-title {
      width: 100%;
      font-size: .78rem;
      color: var(--muted);
      letter-spacing: .2px;
      margin-bottom: 2px;
      padding: 0 2px;
    }
    .filter-bar .btn {
      min-height: 34px;
      padding: 6px 12px;
      border-radius: 999px;
    }
    .page-head {
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-start;
      flex-wrap:wrap;
      margin-bottom:16px;
    }
    .page-head .head-meta {
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .toolbar-actions {
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      justify-content:flex-end;
    }
    .toolbar-actions .btn {
      border-radius: var(--ios-radius-md);
      min-height: 34px;
      padding: 6px 12px;
    }
    .module-layout-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 12px;
      padding: 8px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: var(--panel);
      backdrop-filter: blur(12px) saturate(120%);
    }
    .module-layout-toolbar .group {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      align-items: center;
    }
    .table-wrap.compact table th,
    .table-wrap.compact table td {
      padding-top: 8px;
      padding-bottom: 8px;
      font-size: .83rem;
    }
    .focus-module .ios-list { margin-top: 0; }
    .focus-module .ios-cell-sub { display: none; }
    .drawer .form-section + .form-section,
    .modal .form-section + .form-section {
      margin-top: 10px;
    }
    .drawer .form-field.form-readonly {
      background: rgba(255,255,255,.35);
    }
    .section-nav {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      margin-top: 10px;
    }
    .section-nav .btn {
      min-height: 34px;
      padding: 6px 12px;
      border-radius: 999px;
    }
    .perm-layout {
      display: grid;
      grid-template-columns: clamp(240px, 20vw, 320px) minmax(0, 1fr);
      gap: 16px;
      align-items: start;
      min-width: 0;
    }
    /* 权限中心：与业务页 ios-module-stack 一致的纵向节奏与主栏卡片层次 */
    .ios-perm-center {
      display: flex;
      flex-direction: column;
      gap: var(--ios-gap);
      min-width: 0;
    }
    .ios-perm-center .perm-layout {
      gap: clamp(14px, 2vw, 20px);
      align-items: stretch;
    }
    .ios-perm-center .perm-main {
      display: flex;
      flex-direction: column;
      gap: var(--ios-gap);
      min-width: 0;
    }
    .ios-perm-center .perm-main > .card,
    .ios-perm-center .perm-side .card {
      content-visibility: auto;
      contain-intrinsic-size: auto 260px;
    }
    html.sidebar-overlay-open .ios-perm-center .perm-main > .card,
    html.sidebar-overlay-open .ios-perm-center .perm-side .card {
      box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
      transition: none !important;
    }
    .ios-perm-skeleton .card {
      background: color-mix(in srgb, var(--panel) 92%, var(--muted));
      animation: perm-skeleton-pulse 1.1s ease-in-out infinite;
      pointer-events: none;
    }
    @keyframes perm-skeleton-pulse {
      0%, 100% { opacity: 0.55; }
      50% { opacity: 0.88; }
    }
    .ios-perm-center .perm-main > .card {
      margin-bottom: 0;
      border-radius: 22px;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 85%, transparent);
      box-shadow:
        0 2px 10px rgba(15, 23, 42, 0.04),
        0 14px 38px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.65);
      transition:
        box-shadow 0.26s var(--ios-sheet-ease-out),
        border-color 0.22s var(--ios-ease);
    }
    [data-theme="dark"] .ios-perm-center .perm-main > .card {
      border-color: color-mix(in srgb, var(--sys-separator) 90%, transparent);
      box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.22),
        0 18px 48px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    @media (hover: hover) and (pointer: fine) {
      .ios-perm-center .perm-main > .card:hover {
        border-color: color-mix(in srgb, var(--sys-separator-strong) 70%, transparent);
        box-shadow:
          0 4px 16px rgba(15, 23, 42, 0.06),
          0 22px 52px rgba(15, 23, 42, 0.09),
          inset 0 1px 0 rgba(255, 255, 255, 0.72);
      }
      [data-theme="dark"] .ios-perm-center .perm-main > .card:hover {
        border-color: var(--sys-separator-strong);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-perm-center .perm-main > .card {
        transition: none !important;
      }
    }
    .ios-perm-center .perm-side .card {
      border-radius: 22px;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 82%, transparent);
      box-shadow:
        0 2px 12px rgba(15, 23, 42, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    [data-theme="dark"] .ios-perm-center .perm-side .card {
      box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    .ios-perm-center .ios-accordion {
      transition: border-color 0.2s var(--ios-ease), box-shadow 0.22s var(--ios-sheet-ease-out);
    }
    @media (prefers-reduced-motion: no-preference) {
      .ios-perm-center .ios-accordion-sum:active {
        transform: scale(0.992);
        transition: transform 0.1s var(--ios-press-ease);
      }
    }
    .perm-demo-manage-card {
      border: 1px solid rgba(59, 130, 246, 0.22) !important;
      background: linear-gradient(180deg, rgba(59, 130, 246, 0.09), rgba(59, 130, 246, 0.03)) !important;
    }
    [data-theme="dark"] .perm-demo-manage-card {
      border-color: rgba(96, 165, 250, 0.35) !important;
      background: linear-gradient(180deg, rgba(59, 130, 246, 0.14), rgba(15, 23, 42, 0.35)) !important;
    }
    .perm-side {
      position: sticky;
      top: 16px;
      align-self: start;
    }
    .perm-side .card {
      padding: 14px;
      max-height: calc(100dvh - 120px);
      overflow: auto;
    }
    @media (max-width: 1023px) {
      .perm-side { top: 10px; }
      .perm-side .card { max-height: calc(100vh - 20px); }
    }
    .perm-side-card .ios-card-head {
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(148,163,184,.16);
      flex-direction: column;
      align-items: center;
      text-align: center;
      gap: 8px;
    }
    .perm-side-card .ios-card-title strong { font-weight: 950; }
    .perm-side-card .ios-card-title .subtitle { text-align: center; }
    .perm-side-card .ios-cell-right { justify-content: center; width: 100%; }
    .perm-side-card .perm-change-chip { margin-top: 0; }
    .perm-side-card .perm-navlist { margin-top: 10px; }
    .perm-navlist { margin-top: 10px; }
    .perm-navcell { cursor: pointer; user-select: none; }
    .perm-navcell .ios-cell-left { flex: 1; min-width: 0; }
    .perm-navcell .ios-cell-sub {
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      word-break: normal;
    }
    .perm-navcell .ios-cell-right { gap: 8px; flex-wrap: nowrap; flex: 0 0 auto; }
    .perm-navcell:hover {
      background: rgba(255,255,255,.78);
    }
    [data-theme="dark"] .perm-navcell:hover {
      background: rgba(15,23,42,.52);
    }
    .perm-navcell.active {
      background: rgba(47,109,246,.12);
      border-left: 3px solid rgba(47,109,246,.65);
    }
    .perm-navcell.active .ios-cell-title { color: var(--primary); }
    .perm-navcell.active .ios-pill:last-child { background: rgba(47,109,246,.12); border-color: rgba(47,109,246,.25); color: var(--primary); }
    .perm-side .section-nav {
      margin-top: 0;
      display: grid;
      gap: 6px;
    }
    .perm-side .section-nav .btn {
      justify-content: flex-start;
      width: 100%;
      border-radius: 14px;
      min-height: 38px;
      font-size: .86rem;
      padding: 8px 12px;
      background: rgba(255,255,255,.48);
      border: 1px solid rgba(148,163,184,.22);
      backdrop-filter: blur(10px) saturate(120%);
    }
    .perm-side .section-nav .btn.active {
      background: rgba(47,109,246,.14);
      border-color: rgba(47,109,246,.28);
      color: var(--primary);
      box-shadow: inset 0 0 0 1px rgba(47,109,246,.20);
    }
    .perm-main .card.section-collapsed > *:not(.section-head) {
      display: none;
    }
    .section-head {
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom:8px;
    }
    .perm-mode-chip {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 4px 10px;
      border-radius: 999px;
      font-size: .74rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: .01em;
      white-space: nowrap;
      border: 1px solid transparent;
    }
    .perm-mode-chip.mode-live {
      color: #047857;
      background: rgba(16,185,129,.14);
      border-color: rgba(16,185,129,.28);
    }
    .perm-mode-chip.mode-save {
      color: #1d4ed8;
      background: rgba(59,130,246,.12);
      border-color: rgba(59,130,246,.24);
    }
    [data-theme="dark"] .perm-mode-chip.mode-live {
      color: #34d399;
      background: rgba(16,185,129,.18);
      border-color: rgba(52,211,153,.34);
    }
    [data-theme="dark"] .perm-mode-chip.mode-save {
      color: #93c5fd;
      background: rgba(59,130,246,.2);
      border-color: rgba(96,165,250,.36);
    }
    .section-head .section-toggle {
      min-height:30px;
      padding:4px 10px;
      border-radius:999px;
      font-size:.78rem;
    }
    .perm-change-chip {
      display:inline-flex;
      align-items:center;
      gap:6px;
      padding:4px 10px;
      border-radius:999px;
      font-size:.75rem;
      color:var(--muted);
      border:1px solid var(--line);
      background: rgba(255,255,255,.45);
    }
    .risk-chip {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      padding: 2px 8px;
      border-radius: 999px;
      font-size: .72rem;
      border: 1px solid rgba(220,38,38,.25);
      color: #b91c1c;
      background: rgba(220,38,38,.08);
      margin-left: 8px;
    }
    @media (max-width: 1100px) {
      .perm-layout {
        grid-template-columns: 1fr;
      }
      .perm-side {
        position: static;
      }
      .perm-side .section-nav {
        display: flex;
        flex-wrap: wrap;
      }
      .perm-side .section-nav .btn {
        width: auto;
        border-radius: 999px;
      }
    }
    /* 抽屉 / 系统弹窗 表单分组（iOS 设置 inset group） */
    .drawer .form-section,
    .modal .form-section {
      border: 1px solid color-mix(in srgb, var(--sys-separator) 85%, transparent);
      background: rgba(255, 255, 255, 0.5);
      background: color-mix(in srgb, var(--sys-surface) 94%, transparent);
      border-radius: 16px;
      padding: 14px 14px 6px;
      margin-bottom: 14px;
      backdrop-filter: blur(12px) saturate(140%);
      -webkit-backdrop-filter: blur(12px) saturate(140%);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 6px 18px rgba(15, 23, 42, 0.045);
    }
    [data-theme="dark"] .drawer .form-section,
    [data-theme="dark"] .modal .form-section {
      background: color-mix(in srgb, var(--sys-surface-2) 88%, transparent);
      border-color: var(--sys-separator);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 8px 22px rgba(0, 0, 0, 0.22);
    }
    .drawer .form-section-title,
    .modal .form-section-title {
      font-size: 0.6875rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--muted-strong);
      margin-bottom: 10px;
      line-height: 1.35;
    }
    .drawer .form-field,
    .modal .form-field {
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 10px;
      background: var(--panel);
      backdrop-filter: blur(10px) saturate(120%);
    }
    .drawer {
      position: fixed;
      top: 0;
      right: 0;
      width: 500px;
      height: 100%;
      background: var(--panel);
      backdrop-filter: blur(20px) saturate(130%);
      box-shadow: -20px 0 40px rgba(15,23,42,.22);
      z-index: 1000;
      transform: translateX(100%);
      transition: transform var(--ios-sheet-dur) var(--ios-sheet-ease);
      will-change: transform;
      display: flex;
      flex-direction: column;
    }
    .drawer.open { transform: translateX(0); }
    .drawer.opening { transform: translateX(100%); }
    .drawer.closing {
      transform: translateX(100%);
      /* 关合略快、曲线偏 ease-out，贴近 iOS sheet dismiss */
      transition: transform var(--ios-sheet-dur-close) var(--ios-sheet-ease-out) !important;
    }
    .drawer-header {
      padding:
        max(20px, calc(env(safe-area-inset-top, 0px) + 8px))
        max(20px, env(safe-area-inset-right, 0px))
        20px
        max(20px, env(safe-area-inset-left, 0px));
      border-bottom: 1px solid var(--line);
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
    }
    .drawer-body {
      padding: 20px;
      padding-bottom: max(20px, calc(env(safe-area-inset-bottom, 0px) + 12px));
      flex: 1;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      transition:
        opacity var(--ios-ui-duration) var(--ios-sheet-ease-out),
        transform var(--ios-ui-duration) var(--ios-sheet-ease-out);
    }
    .drawer-body.switching {
      opacity: 0.68;
      transform: translateY(4px) scale(0.996);
    }
    .backdrop {
      position: fixed;
      inset: 0;
      background: rgba(2,6,23,.38);
      backdrop-filter: blur(10px) saturate(118%);
      -webkit-backdrop-filter: blur(10px) saturate(118%);
      z-index: 999;
      display: none;
      opacity: 0;
      transition:
        opacity var(--ios-ui-duration) var(--ios-sheet-ease-out),
        backdrop-filter var(--ios-ui-duration) var(--ios-sheet-ease-out),
        -webkit-backdrop-filter var(--ios-ui-duration) var(--ios-sheet-ease-out),
        background var(--ios-ui-duration) var(--ios-sheet-ease-out);
    }
    .backdrop.show {
      display: block;
      opacity: 1;
      background: rgba(2, 6, 23, 0.42);
      -webkit-backdrop-filter: blur(14px) saturate(122%);
      backdrop-filter: blur(14px) saturate(122%);
    }
    .backdrop.closing {
      opacity: 0;
      transition:
        opacity var(--ios-sheet-dur-close) var(--ios-sheet-ease-out),
        backdrop-filter var(--ios-sheet-dur-close) var(--ios-sheet-ease-out),
        -webkit-backdrop-filter var(--ios-sheet-dur-close) var(--ios-sheet-ease-out),
        background var(--ios-sheet-dur-close) var(--ios-sheet-ease-out);
    }
    [data-theme="dark"] .backdrop.show {
      background: rgba(0, 0, 0, 0.52);
      -webkit-backdrop-filter: blur(16px) saturate(118%);
      backdrop-filter: blur(16px) saturate(118%);
    }
    .modal-backdrop{
      position: fixed;
      inset: 0;
      background: rgba(2,6,23,.42);
      backdrop-filter: blur(12px) saturate(120%);
      -webkit-backdrop-filter: blur(12px) saturate(120%);
      z-index: 1200;
    }
    .modal-backdrop{ animation: fadeIn var(--ios-fade-ms) var(--ios-ease-decel); }
    .modal{
      position: fixed;
      left: 50%;
      top: 10%;
      transform: translateX(-50%);
      width: min(760px, calc(100vw - 24px));
      max-height: 80vh;
      background: var(--panel);
      backdrop-filter: blur(20px) saturate(130%);
      border: 1px solid var(--line);
      border-radius: 16px;
      z-index: 1201;
      box-shadow: 0 24px 50px rgba(15,23,42,.28);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      animation: popIn var(--motion-container-ms) var(--ios-ease-decel) both;
    }
    .modal{ box-shadow: var(--ios-shadow-float-strong); }
    .modal-header{ background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.52)); }
    [data-theme="dark"] .modal-header{ background: linear-gradient(180deg, rgba(15,23,42,.68), rgba(15,23,42,.48)); }
    .modal.closing { animation: popOut var(--motion-component-ms) var(--ios-ease-decel) forwards; }
    .modal.opening { opacity: .01; transform: translateX(-50%) translateY(6px) scale(.994); pointer-events: none; }
    .modal-header{
      padding: 14px 16px;
      border-bottom: 1px solid var(--line);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
    }
    .modal-body{
      padding: 16px;
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }
    .modal-footer{
      padding: 12px 16px;
      border-top: 1px solid var(--line);
      display:flex;
      justify-content:flex-end;
      gap:10px;
      flex-wrap:wrap;
    }
    /* 系统弹窗：安全区 + 略偏 iOS alert/sheet 比例 */
    .modal.ios-system-modal {
      top: max(6vh, calc(env(safe-area-inset-top, 0px) + 12px));
      width: min(720px, calc(100vw - max(20px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px))));
      max-height: min(82vh, calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 28px));
      border-radius: 22px;
    }
    .modal.ios-system-modal .modal-header {
      padding-top: max(14px, env(safe-area-inset-top, 0px));
      padding-left: max(16px, env(safe-area-inset-left, 0px));
      padding-right: max(16px, env(safe-area-inset-right, 0px));
    }
    .modal.ios-system-modal .modal-header h3 {
      font-size: 1.02rem;
      font-weight: 760;
      letter-spacing: -0.02em;
      line-height: 1.22;
    }
    .modal.ios-system-modal .modal-body {
      padding-left: max(16px, env(safe-area-inset-left, 0px));
      padding-right: max(16px, env(safe-area-inset-right, 0px));
      padding-bottom: 18px;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
    }
    .modal.ios-system-modal .modal-footer {
      padding-left: max(16px, env(safe-area-inset-left, 0px));
      padding-right: max(16px, env(safe-area-inset-right, 0px));
      padding-bottom: max(12px, env(safe-area-inset-bottom, 0px));
      gap: 10px;
    }
    /* toast 改为容器堆叠，且弹窗打开时不被毛玻璃遮挡 */
    #toastContainer {
      position: fixed;
      right: max(20px, env(safe-area-inset-right, 0px));
      bottom: max(20px, calc(env(safe-area-inset-bottom, 0px) + 12px));
      z-index: 1305;
      display: flex;
      flex-direction: column;
      gap: 10px;
      width: min(420px, calc(100vw - max(40px, env(safe-area-inset-left, 0px) + env(safe-area-inset-right, 0px) + 24px)));
      pointer-events: none;
      transition: transform var(--motion-component-ms) var(--ios-ease), top var(--motion-component-ms) var(--ios-ease), bottom var(--motion-component-ms) var(--ios-ease);
    }
    body.modal-open #toastContainer {
      top: max(18px, calc(env(safe-area-inset-top, 0px) + 8px));
      bottom: auto;
      transform: translateY(0);
    }
    .toast {
      position: relative;
      background: rgba(255,255,255,.84);
      color: var(--text);
      border-left: 4px solid var(--primary);
      padding: 12px 14px;
      border-radius: var(--ios-radius-md);
      box-shadow: 0 10px 22px rgba(0,0,0,0.14);
      pointer-events: auto;
      line-height: 1.5;
      word-break: break-word;
      animation: toastIn var(--motion-component-ms) var(--ios-ease-decel) both;
    }
    /* WeChat-style toast tones for chat-related hints */
    .toast.wechat { border-left-color: var(--wechat); }

    /* 团队私聊输入框：与全站主色一致（iOS 信息为系统蓝 tint，非微信绿） */
    textarea#hubMsgInput:focus,
    textarea#hubMsgInput:focus-visible {
      outline: none;
      box-shadow: 0 0 0 3px rgba(47, 109, 246, 0.14), inset 0 1px 0 rgba(255, 255, 255, 1);
      border-color: rgba(47, 109, 246, 0.34);
    }
    [data-theme="dark"] textarea#hubMsgInput:focus,
    [data-theme="dark"] textarea#hubMsgInput:focus-visible {
      box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.06);
      border-color: rgba(96, 165, 250, 0.42);
    }

    /* Scrollbar polish (desktop): closer to iOS overlay feel */
    *{ scrollbar-color: rgba(148,163,184,.34) transparent; scrollbar-width: thin; }
    ::-webkit-scrollbar{ width: 10px; height: 10px; }
    ::-webkit-scrollbar-thumb{
      background: rgba(148,163,184,.34);
      border-radius: 999px;
      border: 3px solid transparent;
      background-clip: padding-box;
    }
    ::-webkit-scrollbar-thumb:hover{ background: rgba(148,163,184,.46); border: 3px solid transparent; background-clip: padding-box; }
    ::-webkit-scrollbar-track{ background: transparent; }
    [data-theme="dark"] ::-webkit-scrollbar-thumb{ background: rgba(148,163,184,.26); }
    [data-theme="dark"] .kpi { background: rgba(15,23,42,.56); border-color: rgba(148,163,184,.20); }
    [data-theme="dark"] th { background: rgba(15,23,42,.74); }
    [data-theme="dark"] .toast { background: rgba(15,23,42,.84); border-color: rgba(148,163,184,.24); }
    @media (max-width: 768px) {
      [data-theme="dark"] .sidebar { background: rgba(15,23,42,.84); border-right-color: rgba(148,163,184,.20); }
      #toastContainer {
        right: max(12px, env(safe-area-inset-right, 0px));
        left: max(12px, env(safe-area-inset-left, 0px));
        width: auto;
        bottom: max(14px, calc(env(safe-area-inset-bottom, 0px) + 10px));
      }
      body.modal-open #toastContainer { top: max(10px, calc(env(safe-area-inset-top, 0px) + 6px)); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes popIn {
      0% {
        opacity: 0;
        transform: translateX(-50%) translateY(18px) scale(0.962);
      }
      58% {
        opacity: 1;
        transform: translateX(-50%) translateY(-2px) scale(1.004);
      }
      100% {
        opacity: 1;
        transform: translateX(-50%) translateY(0) scale(1);
      }
    }
    @keyframes popOut {
      from { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
      to { opacity: 0; transform: translateX(-50%) translateY(10px) scale(0.986); }
    }
    @keyframes toastIn {
      from {
        opacity: 0;
        transform: translate3d(0, 14px, 0) scale(0.982);
      }
      72% {
        opacity: 1;
        transform: translate3d(0, -1px, 0) scale(1.002);
      }
      to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .card, .toast, .modal, .btn { animation: none !important; transition: none !important; }
    }
    .hidden { display: none; }

    /* ===== Page-by-page iOS refinement (layout + hierarchy) ===== */
    .two-columns {
      gap: var(--ios-space-3);
      margin-bottom: var(--ios-space-3);
      grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    }
    .page-head {
      margin-bottom: var(--ios-space-3);
      gap: var(--ios-space-2);
      align-items: center;
    }
    .page-head .head-meta {
      gap: 4px;
    }
    .page-head .head-meta strong {
      font-size: clamp(1rem, 1.4vw, 1.16rem);
      letter-spacing: .2px;
    }
    .page-head .head-meta small,
    .page-head .head-meta .muted {
      color: var(--muted);
      line-height: 1.6;
    }
    .toolbar-actions,
    .module-layout-toolbar,
    .filter-bar,
    .section-nav {
      gap: var(--ios-space-1);
    }
    .module-layout-toolbar,
    .filter-bar {
      border-radius: var(--ios-radius-md);
      padding: 10px;
      background: rgba(255,255,255,.56);
      border: var(--ios-border);
      box-shadow: var(--ios-shadow-soft);
    }
    [data-theme="dark"] .module-layout-toolbar,
    [data-theme="dark"] .filter-bar {
      background: rgba(15,23,42,.42);
    }

    /* Dashboard and content cards */
    .card > strong {
      font-size: .98rem;
      line-height: 1.4;
    }
    .dashboard-overview .kpi,
    .stat-pill {
      border-radius: var(--ios-radius-md);
      min-height: 88px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .kpi .value {
      font-size: clamp(24px, 2.4vw, 32px);
      line-height: 1.16;
    }

    /* Table/list pages */
    .table-wrap {
      margin-top: var(--ios-space-2);
      border-radius: var(--ios-radius-md);
      box-shadow: var(--ios-shadow-soft);
      border: var(--ios-border);
    }
    .table-wrap table {
      min-width: 720px;
    }
    .table-wrap th {
      font-size: .8rem;
      color: var(--muted);
      letter-spacing: .25px;
      font-weight: 700;
      background: rgba(255,255,255,.82);
    }
    [data-theme="dark"] .table-wrap th {
      background: rgba(30,41,59,.86);
    }
    .table-wrap td {
      font-size: .88rem;
    }
    .table-wrap tbody tr {
      transition: background .18s var(--ios-ease);
    }
    .table-wrap tbody tr:last-child td {
      border-bottom: none;
    }

    /* Form pages and drawers */
    .form-field {
      margin-bottom: 14px;
    }
    .form-field label {
      margin-bottom: 7px;
      font-size: .84rem;
      color: var(--muted);
      font-weight: 600;
    }
    .form-field input:not([type="checkbox"]):not([type="radio"]),
    .form-field select,
    .form-field textarea {
      border-radius: var(--ios-radius-sm);
      min-height: var(--ios-tap-min-h);
      padding: 10px 12px;
      background: rgba(255,255,255,.78);
    }
    [data-theme="dark"] .form-field input:not([type="checkbox"]):not([type="radio"]),
    [data-theme="dark"] .form-field select,
    [data-theme="dark"] .form-field textarea {
      background: rgba(15,23,42,.46);
      border-color: rgba(148,163,184,.24);
    }
    .drawer {
      width: min(560px, 100vw);
      background: rgba(255,255,255,.72);
      box-shadow: -20px 0 46px rgba(15,23,42,.2);
    }
    [data-theme="dark"] .drawer {
      background: rgba(15,23,42,.78);
    }
    .drawer-header {
      padding: 16px 18px;
      min-height: 64px;
    }
    .drawer-body {
      padding: 16px 18px 20px;
    }
    .drawer .form-section,
    .modal .form-section {
      border-radius: var(--ios-radius-lg);
      padding: 12px 12px 4px;
      margin-bottom: 12px;
      box-shadow: none;
    }
    .drawer .form-field,
    .modal .form-field {
      border-radius: var(--ios-radius-md);
      background: rgba(255,255,255,.7);
    }
    [data-theme="dark"] .drawer .form-field,
    [data-theme="dark"] .modal .form-field {
      background: rgba(30,41,59,.5);
    }

    /* Modal pages */
    .modal {
      top: 8%;
      width: min(820px, calc(100vw - 28px));
      max-height: 84vh;
      border-radius: var(--ios-radius-lg);
      box-shadow: 0 26px 56px rgba(15,23,42,.28);
      background: rgba(255,255,255,.78);
    }
    [data-theme="dark"] .modal {
      background: rgba(15,23,42,.8);
    }
    .modal-header,
    .modal-body,
    .modal-footer {
      padding-left: 18px;
      padding-right: 18px;
    }
    .modal-header {
      padding-top: 14px;
      padding-bottom: 12px;
    }
    .modal-body {
      padding-top: 14px;
      padding-bottom: 14px;
    }
    .modal-footer {
      padding-top: 10px;
      padding-bottom: 12px;
      gap: 8px;
    }

    @media (max-width: 900px) {
      .two-columns {
        grid-template-columns: 1fr;
      }
      .table-wrap table {
        min-width: 640px;
      }
      .modal {
        top: 4%;
        max-height: 90vh;
      }
    }
    @media (max-width: 640px) {
      .card {
        border-radius: 16px;
      }
      .page-head {
        align-items: flex-start;
      }
      .toolbar-actions {
        width: 100%;
        justify-content: flex-start;
      }
      .drawer-header,
      .drawer-body,
      .modal-header,
      .modal-body,
      .modal-footer {
        padding-left: 14px;
        padding-right: 14px;
      }
      .table-wrap th,
      .table-wrap td {
        padding-left: 10px;
        padding-right: 10px;
      }
    }

    /* ===== Pixel-level polish: dashboard / permission / team ===== */
    /* Dashboard */
    .dashboard-overview {
      background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.6));
    }
    [data-theme="dark"] .dashboard-overview {
      background: linear-gradient(180deg, rgba(30,41,59,.62), rgba(15,23,42,.56));
    }
    .dashboard-overview .ios-card-head {
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(148,163,184,.18);
    }
    .dashboard-overview .ios-card-title strong {
      font-size: 1.04rem;
      letter-spacing: .2px;
    }
    .dashboard-overview .ios-card-sub {
      font-size: .82rem;
      line-height: 1.6;
    }
    .dashboard-overview .ios-list {
      margin-top: 10px;
      gap: 8px;
    }
    .dashboard-overview .ios-cell {
      padding: 11px 12px;
      border-radius: 14px;
    }
    .dashboard-overview .ios-cell-title {
      font-weight: 700;
      letter-spacing: .12px;
    }
    .dashboard-overview .ios-pill {
      border-radius: 999px;
      padding: 3px 9px;
      font-size: .8rem;
    }

    /* Permission center */
    .perm-layout {
      gap: 18px;
    }
    .perm-side .card,
    .perm-main .card {
      border-radius: 18px;
    }
    .perm-side .card {
      padding: 12px;
    }
    .perm-navlist {
      gap: 8px;
    }
    .perm-navcell {
      border-radius: 14px;
      padding: 10px 10px;
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.54);
      transition: background .18s var(--ios-ease), border-color .18s var(--ios-ease), transform .18s var(--ios-ease);
    }
    .perm-navcell:hover {
      transform: translateY(-1px);
      border-color: rgba(59,130,246,.24);
    }
    .perm-navcell.active {
      border-left-width: 0;
      box-shadow: inset 0 0 0 1px rgba(47,109,246,.28);
      border-color: rgba(47,109,246,.3);
      background: rgba(47,109,246,.12);
    }
    [data-theme="dark"] .perm-navcell {
      background: rgba(15,23,42,.44);
      border-color: rgba(148,163,184,.2);
    }
    .perm-main .section-head {
      margin-bottom: 12px;
      padding-bottom: 8px;
      border-bottom: 1px dashed rgba(148,163,184,.24);
    }
    .perm-main .section-head .section-toggle {
      min-height: 34px;
      padding: 6px 12px;
      border-radius: 999px;
      font-weight: 600;
    }
    .perm-change-chip {
      min-height: 30px;
      padding: 4px 10px;
      font-weight: 600;
    }

    /* Team management */
    .team-ios-shell {
      display: grid;
      gap: 14px;
    }
    .team-ios-card {
      border-radius: 20px;
      padding: clamp(16px, 2vw, 22px);
    }
    .team-ios-card .page-head {
      margin-bottom: 12px;
    }
    .team-ios-card .toolbar-actions {
      gap: 8px;
    }
    .team-ios-card .toolbar-actions .btn {
      min-height: 38px;
      padding: 8px 14px;
      font-size: .84rem;
    }
    .team-ios-card .ios-kv {
      margin-top: 10px;
      gap: 10px;
    }
    .team-ios-card .ios-kv-item {
      border-radius: 16px;
      padding: 12px;
    }
    .team-ios-card .ios-kv-title {
      font-size: .76rem;
      letter-spacing: .2px;
    }
    .team-ios-card .ios-kv-value {
      font-size: .92rem;
    }
    .team-ios-card .ios-callout {
      margin-top: 10px;
      border-radius: 16px;
      padding: 11px 12px;
    }
    .team-ios-card .ios-list .ios-cell {
      border-radius: 14px;
      padding: 10px 12px;
    }

    @media (max-width: 1100px) {
      .perm-layout {
        gap: 14px;
      }
      .perm-side .card {
        max-height: none;
      }
    }
    @media (max-width: 768px) {
      .dashboard-overview .ios-card-head,
      .perm-main .section-head {
        margin-bottom: 10px;
        padding-bottom: 6px;
      }
      .team-ios-card {
        border-radius: 16px;
        padding: 14px;
      }
      .team-ios-card .toolbar-actions {
        width: 100%;
      }
      .team-ios-card .toolbar-actions .btn {
        flex: 1 1 auto;
      }
    }

    /* ===== High-frequency flow pressure pass (global module unification) ===== */
    /* absorb inline-style divergence produced by template strings */
    .ios-module-stack .card[style*="margin-top"] {
      margin-top: var(--ios-space-2) !important;
    }
    .ios-module-stack .table-wrap[style*="margin-top"],
    .ios-module-stack .ios-list[style*="margin-top"],
    .ios-module-stack .drawer-actions-grid[style*="margin-top"],
    .ios-module-stack .btn-group[style*="margin-top"],
    .ios-module-stack .stat-strip[style*="margin-top"],
    .ios-module-stack .muted[style*="margin-top"] {
      margin-top: var(--ios-space-2) !important;
    }
    .ios-module-stack .table-wrap[style*="margin-top"] table[style*="width:100%"] {
      width: 100% !important;
    }
    .ios-module-stack .ios-list[style*="max-height"] {
      border-radius: var(--ios-radius-md);
      border: var(--ios-border);
      background: rgba(255,255,255,.52);
      padding: 2px;
    }
    [data-theme="dark"] .ios-module-stack .ios-list[style*="max-height"] {
      background: rgba(15,23,42,.44);
    }

    /* frequent actions: add member / list filtering / drawer edit */
    .ios-module-stack .filter-bar .btn,
    .ios-module-stack .toolbar-actions .btn,
    .ios-module-stack .drawer-actions-grid .btn,
    .ios-module-stack .btn-group .btn {
      min-height: 38px;
      border-radius: var(--ios-radius-md);
      padding: 8px 12px;
    }
    .ios-module-stack .btn-group[style*="flex-wrap"] {
      row-gap: 8px;
    }
    .ios-module-stack .form-field.form-readonly[style] {
      border: var(--ios-border);
      background: rgba(255,255,255,.6) !important;
      border-radius: var(--ios-radius-md) !important;
    }
    [data-theme="dark"] .ios-module-stack .form-field.form-readonly[style] {
      background: rgba(15,23,42,.44) !important;
    }

    /* confirmation modal: improve input and footer ergonomics */
    .modal .ios-list {
      border-radius: 14px;
      border: var(--ios-border);
      background: rgba(255,255,255,.5);
    }
    [data-theme="dark"] .modal .ios-list {
      background: rgba(15,23,42,.42);
    }
    .modal .ios-cell[style*="align-items:flex-start"] {
      align-items: flex-start !important;
      padding-top: 12px;
      padding-bottom: 12px;
    }
    .modal .ios-cell-left[style*="width:100%"] {
      width: 100% !important;
    }
    .modal .ios-mini-input[style*="width:100%"] {
      width: 100% !important;
      margin-top: 8px !important;
      min-height: 40px !important;
      border-radius: var(--ios-radius-sm) !important;
      border: 1px solid rgba(148,163,184,.28) !important;
      background: rgba(255,255,255,.82);
    }
    [data-theme="dark"] .modal .ios-mini-input[style*="width:100%"] {
      background: rgba(30,41,59,.58);
      border-color: rgba(148,163,184,.28) !important;
      color: var(--text);
    }
    .modal-footer .btn {
      min-height: 40px;
      min-width: 100px;
      font-weight: 700;
    }

    /* mobile friction points along high-frequency paths */
    @media (max-width: 768px) {
      .ios-module-stack .table-wrap {
        margin-left: -2px;
        margin-right: -2px;
      }
      .ios-module-stack .ios-list .ios-cell-right {
        width: 100%;
        justify-content: flex-start;
      }
      .modal-footer {
        justify-content: stretch;
      }
      .modal-footer .btn {
        flex: 1 1 auto;
      }
    }
    /* iOS finish pass: subtle hierarchy + interaction feedback */
    @media (min-width: 1024px) {
      .ios-module-stack .two-columns {
        align-items: stretch;
      }
      .ios-module-stack .card {
        border-color: rgba(148,163,184,.18);
        box-shadow: 0 10px 26px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.48);
      }
      .ios-module-stack .ios-card-title .subtitle {
        color: color-mix(in srgb, var(--muted) 90%, #64748b 10%);
      }
      .ios-module-stack .ios-list {
        background: rgba(255,255,255,.58);
        border-color: rgba(148,163,184,.18);
      }
      .ios-module-stack .ios-list > .ios-cell {
        position: relative;
        transition: background .16s var(--ios-ease), border-color .16s var(--ios-ease);
      }
      .ios-module-stack .ios-list > .ios-cell:hover {
        background: rgba(59,130,246,.045);
      }
      .ios-module-stack .ios-list > .ios-cell:active {
        background: rgba(59,130,246,.08);
      }
      .ios-module-stack .ios-list > .ios-cell + .ios-cell {
        border-top-color: transparent;
      }
      .ios-module-stack .ios-list > .ios-cell + .ios-cell::before {
        content: "";
        position: absolute;
        top: 0;
        left: 14px;
        right: 0;
        height: 1px;
        background: rgba(148,163,184,.14);
      }
      .ios-module-stack .ios-pill {
        letter-spacing: .08px;
      }
      .ios-module-stack .queue-cell-actions .btn.btn-sm {
        min-height: 32px !important;
        padding: 6px 10px !important;
      }
    }
    [data-theme="dark"] .ios-module-stack .card {
      border-color: rgba(148,163,184,.20);
      box-shadow: 0 14px 34px rgba(2,6,23,.34), inset 0 1px 0 rgba(148,163,184,.06);
    }
    [data-theme="dark"] .ios-module-stack .ios-list {
      background: rgba(15,23,42,.44);
      border-color: rgba(148,163,184,.18);
    }
    [data-theme="dark"] .ios-module-stack .ios-list > .ios-cell:hover {
      background: rgba(59,130,246,.14);
    }
    [data-theme="dark"] .ios-module-stack .ios-list > .ios-cell:active {
      background: rgba(59,130,246,.20);
    }
    [data-theme="dark"] .ios-module-stack .ios-list > .ios-cell + .ios-cell {
      border-top-color: transparent;
    }
    [data-theme="dark"] .ios-module-stack .ios-list > .ios-cell + .ios-cell::before {
      background: rgba(148,163,184,.16);
    }
    .auth-screen {
      position: fixed;
      inset: 0;
      background:
        radial-gradient(90% 55% at 50% -5%, rgba(59, 130, 246, 0.14), transparent 52%),
        radial-gradient(70% 42% at 100% 100%, rgba(16, 185, 129, 0.08), transparent 55%),
        linear-gradient(180deg, #f2f2f7 0%, #eceef3 48%, #e8eaef 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2000;
    }
    .auth-card {
      background: rgba(255,255,255,.72);
      backdrop-filter: blur(20px) saturate(155%);
      -webkit-backdrop-filter: blur(20px) saturate(155%);
      padding: 30px 28px 24px;
      border-radius: 28px;
      width: 410px;
      box-shadow: 0 16px 44px rgba(15,23,42,.13), inset 0 1px 0 rgba(255,255,255,.75);
      border: 1px solid rgba(148,163,184,.24);
    }
    @media (prefers-reduced-motion: no-preference) {
      .auth-screen .auth-card {
        animation: iosAuthCardIn var(--motion-container-ms) var(--ios-ease-decel) both;
      }
    }
    @keyframes iosAuthCardIn {
      from {
        opacity: 0;
        transform: translateY(18px) scale(0.978);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    [data-motion="off"] .auth-screen .auth-card {
      animation: none !important;
    }
    [data-motion="off"] .more-actions.open .more-actions-menu,
    [data-motion="off"] details.row-action-menu[open] .row-action-menu-list {
      animation: none !important;
    }
    .auth-card h2 {
      letter-spacing: 0.2px;
      font-weight: 700;
    }
    .auth-card .btn.btn-primary {
      min-height: 44px;
      font-weight: 600;
      box-shadow: 0 8px 22px rgba(47,109,246,.30);
    }
    .auth-card.is-loading {
      pointer-events: none;
    }
    .auth-password-wrap { position: relative; }
    .auth-password-wrap input { padding-right: 90px; }
    .pwd-toggle-btn {
      position: absolute;
      right: 8px;
      top: 50%;
      transform: translateY(-50%);
      border: 1px solid var(--line);
      background: rgba(255,255,255,.62);
      border-radius: 999px;
      padding: 6px 10px;
      font-size: .75rem;
      color: var(--muted);
      cursor: pointer;
    }
    [data-theme="dark"] .pwd-toggle-btn { background: rgba(15,23,42,.38); }
    .auth-card.shake {
      animation: authShake .28s cubic-bezier(.36,.07,.19,.97);
    }
    @keyframes authShake {
      10%, 90% { transform: translate3d(-1px,0,0); }
      20%, 80% { transform: translate3d(2px,0,0); }
      30%, 50%, 70% { transform: translate3d(-3px,0,0); }
      40%, 60% { transform: translate3d(3px,0,0); }
    }
    .auth-subtitle {
      margin-top: -8px;
      margin-bottom: 14px;
      color: var(--muted);
      font-size: .87rem;
    }
    .auth-card .form-field label { font-size: .86rem; color: #475569; }
    .auth-card .form-field input {
      border-radius: 14px;
      border: 1px solid rgba(148,163,184,.3);
      background: rgba(255,255,255,.84);
      min-height: 44px;
      transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
    }
    .auth-card .form-field input:focus {
      border-color: rgba(59,130,246,.45);
      box-shadow: 0 0 0 4px rgba(59,130,246,.14);
      background: rgba(255,255,255,.90);
    }
    .auth-service-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
      gap: 10px;
      margin: 10px 0 12px;
    }
    .auth-status {
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.62);
      color: var(--text);
      padding: 7px 10px;
      box-shadow: 0 6px 18px rgba(15,23,42,.06);
      min-height: 44px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: .78rem;
      font-weight: 600;
      line-height: 1.35;
    }
    .auth-status.ok { color: #166534; border-color: rgba(22,163,74,.28); background: rgba(220,252,231,.8); }
    .auth-status.off { color: #7c2d12; border-color: rgba(245,158,11,.28); background: rgba(255,247,237,.85); }
    .auth-help {
      margin-top: 14px;
      color: var(--muted);
      font-size: .8rem;
      line-height: 1.7;
      border-top: 1px dashed var(--line);
      padding-top: 12px;
      text-align: center;
      max-width: 100%;
    }
    .auth-help strong { color: var(--text); }
    /* 登录页：iOS 设置列表风 */
    @media (prefers-reduced-motion: no-preference) {
      @keyframes authIosCardEnter {
        from {
          opacity: 0;
          transform: translate3d(0, 16px, 0) scale(0.98);
        }
        to {
          opacity: 1;
          transform: translate3d(0, 0, 0) scale(1);
        }
      }
      .auth-card.auth-ios {
        animation: authIosCardEnter 0.52s var(--ios-sheet-ease) both;
      }
    }
    .auth-ios { width: min(440px, 94vw); padding: 26px 22px 22px; }
    .auth-ios-head {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 4px;
    }
    .auth-ios-mark {
      width: 46px;
      height: 46px;
      border-radius: 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 900;
      letter-spacing: .5px;
      color: #fff;
      background: linear-gradient(145deg, #4f8bff, var(--primary));
      box-shadow: 0 10px 26px rgba(47,109,246,.35);
      flex-shrink: 0;
    }
    .auth-ios-title {
      margin: 0;
      font-size: 1.38rem;
      font-weight: 800;
      letter-spacing: .2px;
    }
    .auth-ios-tagline {
      margin: 4px 0 0;
      color: var(--muted);
      font-size: .86rem;
      line-height: 1.45;
    }
    .auth-ios-fields.ios-list { margin-top: 12px; }
    .auth-ios-fields .ios-cell { padding: 14px 14px; }
    .auth-ios-input-col {
      width: 100%;
      max-width: 100%;
      flex: 1;
      min-width: 0;
    }
    .auth-ios-input {
      width: 100%;
      box-sizing: border-box;
      border-radius: 14px !important;
    }
    .auth-ios-pwd { position: relative; width: 100%; }
    .auth-ios-pwd .auth-ios-input { padding-right: 76px !important; }
    .auth-ios-pwd .pwd-toggle-btn {
      right: 10px;
      border-radius: var(--ios-radius-md);
      font-size: .78rem;
    }
    .ios-inline-toggle {
      border-radius: var(--ios-radius-md);
      min-width: 54px;
      background: rgba(59,130,246,.10);
      border: 1px solid rgba(59,130,246,.25);
      color: #1d4ed8;
    }
    .ios-inline-toggle:hover {
      background: rgba(59,130,246,.16);
      border-color: rgba(59,130,246,.32);
    }
    [data-theme="dark"] .ios-inline-toggle {
      background: rgba(147,197,253,.18);
      border-color: rgba(147,197,253,.30);
      color: #bfdbfe;
    }
    .auth-ios-submit {
      width: 100%;
      margin-top: 14px;
      min-height: 48px;
      border-radius: 16px;
      font-weight: 700;
    }
    .auth-ios-meta {
      flex-direction: column;
      align-items: stretch;
      gap: 6px;
      margin-top: 12px;
    }
    .auth-ios-hint { min-height: 20px; font-size: .84rem; color: var(--danger); }
    .auth-ios-help {
      margin-top: 14px;
      padding-top: 12px;
      border-top: 1px solid rgba(148,163,184,.22);
    }
    [data-theme="dark"] .auth-screen {
      background:
        radial-gradient(85% 50% at 50% 0%, rgba(59, 130, 246, 0.18), transparent 52%),
        radial-gradient(65% 40% at 100% 100%, rgba(16, 185, 129, 0.1), transparent 54%),
        linear-gradient(180deg, #0b0b10 0%, #0a0c12 48%, #08080d 100%);
    }
    [data-theme="dark"] .auth-ios {
      background: rgba(15,23,42,.72);
      border-color: rgba(148,163,184,.22);
      box-shadow: 0 20px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
    }
    /* 业务模块：统一 iOS 堆叠间距与卡片层次（权限中心除外，避免破坏双栏栅格） */
    .ios-module-stack {
      display: flex;
      flex-direction: column;
      gap: var(--ios-gap);
      align-items: stretch;
      padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
    }
    .ios-module-stack > .card {
      border-radius: 22px;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 85%, transparent);
      box-shadow:
        0 2px 10px rgba(15, 23, 42, 0.04),
        0 14px 38px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.65);
      transition:
        box-shadow 0.26s var(--ios-sheet-ease-out),
        transform 0.22s var(--ios-spring-settle),
        border-color 0.22s var(--ios-ease);
    }
    @media (hover: hover) and (pointer: fine) {
      .ios-module-stack > .card:hover {
        border-color: color-mix(in srgb, var(--sys-separator-strong) 70%, transparent);
        box-shadow:
          0 4px 16px rgba(15, 23, 42, 0.06),
          0 22px 52px rgba(15, 23, 42, 0.09),
          inset 0 1px 0 rgba(255, 255, 255, 0.72);
      }
    }
    [data-theme="dark"] .ios-module-stack > .card {
      border-color: color-mix(in srgb, var(--sys-separator) 90%, transparent);
      box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.22),
        0 18px 48px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    @media (hover: hover) and (pointer: fine) {
      [data-theme="dark"] .ios-module-stack > .card:hover {
        border-color: var(--sys-separator-strong);
        box-shadow:
          0 6px 22px rgba(0, 0, 0, 0.28),
          0 24px 58px rgba(0, 0, 0, 0.38),
          inset 0 1px 0 rgba(255, 255, 255, 0.06);
      }
    }
    @keyframes iosStackCardReveal {
      from {
        opacity: 0;
        transform: translateY(11px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    @media (prefers-reduced-motion: no-preference) {
      html[data-motion="normal"] .ios-module-stack > .card {
        animation: iosStackCardReveal var(--motion-screen-ms) var(--ios-ease-decel) both;
      }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(1) { animation-delay: 0.03s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(2) { animation-delay: 0.055s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(3) { animation-delay: 0.08s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(4) { animation-delay: 0.105s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(5) { animation-delay: 0.13s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(6) { animation-delay: 0.155s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(7) { animation-delay: 0.18s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(8) { animation-delay: 0.2s; }
      html[data-motion="normal"] .ios-module-stack > .card:nth-child(n + 9) { animation-delay: 0.22s; }
      html[data-motion="lite"] .ios-module-stack > .card {
        animation: iosStackCardReveal var(--motion-container-ms) var(--ios-ease) both;
        animation-delay: 0.02s;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-module-stack > .card {
        transition: none !important;
        animation: none !important;
      }
    }
    /* iOS 业务列表页：表头材质 · 行高 · 状态列语义色（td[data-hig-tone]） */
    .ios-module-stack .table-wrap {
      position: relative;
      isolation: isolate;
      border-radius: var(--ios-radius-lg);
      overflow-x: auto;
      overflow-y: visible;
      scrollbar-gutter: stable;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scrollbar-color: rgba(148, 163, 184, 0.42) transparent;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 82%, transparent);
      background: rgba(255, 255, 255, 0.55);
      background: color-mix(in srgb, var(--sys-surface) 93%, transparent);
      backdrop-filter: blur(14px) saturate(150%);
      -webkit-backdrop-filter: blur(14px) saturate(150%);
      box-shadow:
        0 2px 12px rgba(15, 23, 42, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.62);
    }
    /* 窄屏：底部轻微「轨道」感 + 横向滚动条更易看见（iOS 表格横向滑动暗示） */
    @media (max-width: 640px) {
      .ios-module-stack .table-wrap {
        box-shadow:
          0 2px 12px rgba(15, 23, 42, 0.05),
          inset 0 1px 0 rgba(255, 255, 255, 0.62),
          inset 0 -3px 10px -6px rgba(148, 163, 184, 0.22);
      }
      [data-theme='dark'] .ios-module-stack .table-wrap {
        box-shadow:
          0 4px 20px rgba(0, 0, 0, 0.22),
          inset 0 1px 0 rgba(255, 255, 255, 0.05),
          inset 0 -3px 12px -6px rgba(0, 0, 0, 0.38);
      }
      .ios-module-stack .table-wrap::-webkit-scrollbar {
        height: 5px;
      }
      .ios-module-stack .table-wrap::-webkit-scrollbar-thumb {
        background: rgba(148, 163, 184, 0.42);
        border-radius: 999px;
      }
      [data-theme='dark'] .ios-module-stack .table-wrap::-webkit-scrollbar-thumb {
        background: rgba(148, 163, 184, 0.32);
      }
    }
    [data-theme="dark"] .ios-module-stack .table-wrap {
      background: color-mix(in srgb, var(--sys-surface) 90%, transparent);
      border-color: color-mix(in srgb, var(--sys-separator) 88%, transparent);
      box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody {
      -webkit-user-select: none;
      user-select: none;
    }
    .ios-module-stack .table-wrap:not(.compact) table.ios-table-full tbody td {
      padding: 14px 15px;
      min-height: 48px;
      vertical-align: middle;
      border-bottom: 0.5px solid var(--sys-separator);
      font-size: 0.8825rem;
      letter-spacing: -0.014em;
      line-height: 1.35;
      transition: background-color 0.18s var(--ios-ease), color 0.18s var(--ios-ease);
      -webkit-user-select: none;
      user-select: none;
      -webkit-touch-callout: none;
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody td input,
    .ios-module-stack .table-wrap table.ios-table-full tbody td textarea {
      -webkit-user-select: text;
      user-select: text;
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody td.action-cell {
      padding-right: 18px;
    }
    .ios-module-stack .table-wrap.compact table.ios-table-full tbody td {
      padding: 9px 12px;
      min-height: 40px;
      font-size: 0.825rem;
      -webkit-user-select: none;
      user-select: none;
      -webkit-touch-callout: none;
    }
    .ios-module-stack .table-wrap.compact table.ios-table-full tbody td.action-cell {
      padding-right: 14px;
    }
    .ios-module-stack .table-wrap table.ios-table-full thead th {
      position: sticky;
      top: 0;
      z-index: 4;
      padding: 13px 15px 11px;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.055em;
      text-transform: uppercase;
      color: var(--muted-strong);
      border-bottom: 1px solid var(--sys-separator);
      background: rgba(255, 255, 255, 0.85);
      background: color-mix(in srgb, var(--sys-surface) 80%, transparent);
      backdrop-filter: blur(20px) saturate(170%);
      -webkit-backdrop-filter: blur(20px) saturate(170%);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
    }
    [data-theme="dark"] .ios-module-stack .table-wrap table.ios-table-full thead th {
      background: color-mix(in srgb, var(--sys-surface-2) 84%, transparent);
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04);
      color: rgba(235, 235, 245, 0.7);
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-module-stack .table-wrap table.ios-table-full tbody td {
        transition: none;
      }
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody tr {
      transition: background-color var(--ios-nav-hover-ms) var(--ios-ease);
    }
    @media (hover: hover) and (pointer: fine) {
      .ios-module-stack .table-wrap table.ios-table-full tbody tr:hover {
        background: rgba(47, 109, 246, 0.042);
      }
      .ios-module-stack .table-wrap table.ios-table-full tbody tr:hover td {
        background: transparent;
      }
      [data-theme="dark"] .ios-module-stack .table-wrap table.ios-table-full tbody tr:hover {
        background: rgba(96, 165, 250, 0.075);
      }
      [data-theme="dark"] .ios-module-stack .table-wrap table.ios-table-full tbody tr:hover td {
        background: transparent;
      }
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody tr:active {
      background: rgba(47, 109, 246, 0.072);
    }
    .ios-module-stack .table-wrap table.ios-table-full tbody tr:active td {
      background: transparent;
    }
    [data-theme="dark"] .ios-module-stack .table-wrap table.ios-table-full tbody tr:active {
      background: rgba(96, 165, 250, 0.09);
    }
    [data-theme="dark"] .ios-module-stack .table-wrap table.ios-table-full tbody tr:active td {
      background: transparent;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="neutral"] {
      color: var(--text);
      font-weight: 560;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="off"] {
      color: var(--muted-strong);
      font-weight: 560;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="info"] {
      color: var(--tone-info-fg);
      font-weight: 620;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="success"] {
      color: var(--tone-success-fg);
      font-weight: 640;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="warning"] {
      color: var(--tone-warning-fg);
      font-weight: 630;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="danger"] {
      color: var(--tone-danger-fg);
      font-weight: 600;
    }
    .ios-module-stack .ios-table-full td[data-hig-tone="aftersale"] {
      color: var(--tone-aftersale-fg);
      font-weight: 640;
    }
    .ios-module-stack .filter-bar {
      border-radius: 18px;
      padding: 12px 14px;
      gap: 10px;
      border-color: color-mix(in srgb, var(--sys-separator) 72%, transparent);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.58),
        0 8px 24px rgba(15, 23, 42, 0.055);
    }
    .ios-module-stack .filter-bar-title {
      font-size: 0.6875rem;
      font-weight: 600;
      letter-spacing: 0.07em;
      text-transform: uppercase;
      color: var(--muted-strong);
      margin-bottom: 4px;
    }
    .ios-module-stack .filter-bar .btn {
      min-height: 36px;
      padding: 7px 14px;
    }
    /* 列表筛选条：与操作条一致，flex 均分避免右侧大块留白与零星换行 */
    .ios-module-stack .filter-bar {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      align-items: center;
    }
    .ios-module-stack .filter-bar-title {
      flex: 1 0 100%;
      width: 100%;
      margin-bottom: 2px;
    }
    .ios-module-stack .filter-bar > .badge {
      flex: 1 1 auto;
    }
    .ios-module-stack .filter-bar > .btn {
      flex: 1 1 128px;
      min-width: min(128px, 100%);
      width: auto !important;
    }
    .ios-module-stack .page-head {
      align-items: center !important;
      justify-content: flex-start;
      gap: 12px 16px;
    }
    .ios-module-stack .page-head .head-meta {
      flex: 1 1 auto;
      min-width: min(160px, 100%);
    }
    .ios-module-stack .page-head .toolbar-actions {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 10px !important;
      justify-content: flex-end;
      flex: 1 1 240px;
      min-width: 0;
      margin-left: auto;
    }
    .ios-module-stack .page-head .toolbar-actions .btn {
      flex: 1 1 148px;
      min-width: min(148px, 100%);
      width: auto !important;
    }
    .ios-module-stack .module-layout-toolbar .group {
      display: flex !important;
      flex-wrap: wrap !important;
      gap: 9px !important;
      flex: 1 1 240px;
      min-width: 0;
    }
    .ios-module-stack .module-layout-toolbar .group .btn {
      flex: 1 1 148px;
      min-width: min(148px, 100%);
      width: auto !important;
    }
    .ios-module-stack .card > .module-layout-toolbar {
      border-radius: 18px;
      padding: 11px 13px;
      gap: 9px;
      border-color: color-mix(in srgb, var(--sys-separator) 72%, transparent);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.52),
        0 6px 18px rgba(15, 23, 42, 0.048);
    }
    .ios-module-stack .card > .module-layout-toolbar .btn {
      min-height: 36px;
      padding: 7px 12px;
      border-radius: 999px;
    }
    .perm-side { align-self: start; }
    .perm-main { align-self: start; min-width: 0; padding-bottom: 84px; }
    .login-meta {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      margin-top: 10px;
      min-height: 18px;
    }
    .login-meta .hint-soft {
      color: var(--muted);
      font-size: .76rem;
    }
    .btn-loading-wrap {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      width: 100%;
    }
    .btn-spinner {
      width: 14px;
      height: 14px;
      border-radius: 50%;
      border: 2px solid rgba(255,255,255,.55);
      border-top-color: rgba(255,255,255,1);
      animation: spin .72s linear infinite;
      display: none;
    }
    .btn.is-loading .btn-spinner { display: inline-block; }
    .btn.is-loading .btn-text { opacity: .98; }
    .btn[disabled] { opacity: .62; }
    @keyframes spin {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    .detail-card {
      background: rgba(255,255,255,.66);
      border-radius: var(--ios-radius-md);
      padding: 16px;
      margin-bottom: 12px;
      border: 1px solid var(--line);
    }
    [data-theme="dark"] .detail-card { background: rgba(15,23,42,.42); border-color: rgba(148,163,184,.20); }
    .detail-row {
      display: flex;
      padding: 8px 0;
      border-bottom: 1px solid var(--line);
    }
    .detail-label {
      width: 100px;
      font-weight: 600;
      color: var(--muted);
    }
    .detail-value {
      flex: 1;
      word-break: break-word;
      white-space: pre-wrap;
    }
    .hint-text {
      font-size: 0.75rem;
      color: var(--primary);
      margin-top: 4px;
    }
    .card .table-wrap table tbody tr:last-child td { border-bottom: none; }
    .badge {
      background: rgba(255,255,255,.55);
      backdrop-filter: blur(8px) saturate(120%);
      border: 1px solid rgba(148,163,184,.24);
    }
    @media (max-width: 1100px) {
      .kpi-grid {
        grid-template-columns: repeat(2, minmax(200px, 1fr));
      }
      .two-columns {
        grid-template-columns: 1fr;
      }
      .dashboard-hero { grid-template-columns: 1fr; }
    }
    @media (max-width: 768px) {
      .auth-card { width: min(94vw, 420px); padding: 22px 16px; border-radius: 22px; }
      .auth-ios { width: min(94vw, 440px); padding: 22px 16px 20px; }
      .auth-service-grid { grid-template-columns: 1fr; }
      .auth-status { width: 100%; }
      .login-meta { flex-direction: column; align-items: flex-start; gap: 2px; }
      .drawer { width: 100%; }
      .kpi-grid { grid-template-columns: 1fr; }
      .two-columns { grid-template-columns: 1fr; }
      .topbar .actions { width: 100%; }
      .more-actions-menu { position: static; margin-top: 8px; }
      .row-action-menu-list {
        right: 0;
        left: auto;
        min-width: 132px;
      }
      .action-col, .action-cell {
        width: 132px;
        min-width: 132px;
      }
      .topbar { padding: 12px 14px; }
    }
    /* Tablet safety tune: keep layout readable without changing logic */
    @media (min-width: 769px) and (max-width: 1023px) {
      .topbar { padding: 14px 16px; }
      .table-wrap table { min-width: 640px; }
      .search-input { width: 180px; }
    }
    /* Phone safety tune: avoid squeezed login cells and controls */
    @media (max-width: 640px) {
      .auth-ios-head { gap: 10px; }
      .auth-ios-mark { width: 40px; height: 40px; border-radius: var(--ios-radius-md); }
      .auth-ios-title { font-size: 1.16rem; }
      .auth-ios-fields .ios-cell {
        flex-direction: column;
        align-items: stretch !important;
        gap: 8px;
      }
      /* 账号/密码：标签在上、输入区占满宽；记住登录：保持系统设置式「左文右开关」同一行 */
      .auth-ios-fields .ios-cell.auth-ios-switch-row {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center !important;
        justify-content: space-between;
        gap: 12px;
      }
      .auth-ios-fields .ios-cell.auth-ios-switch-row .ios-cell-left {
        flex: 1 1 auto;
        min-width: 0;
        width: auto;
      }
      .auth-ios-fields .ios-cell.auth-ios-switch-row .ios-cell-right.auth-ios-switch-col {
        flex: 0 0 auto;
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
      }
      .auth-ios-fields .ios-cell-left,
      .auth-ios-fields .ios-cell-right {
        width: 100%;
      }
      .auth-ios-fields .ios-cell.auth-ios-switch-row .ios-cell-left,
      .auth-ios-fields .ios-cell.auth-ios-switch-row .ios-cell-right.auth-ios-switch-col {
        width: auto;
      }
      .btn, .ios-mini-input, .search-input { min-height: 42px; }
      .table-wrap table { min-width: 560px; }
    }
    /* Full-page responsive hardening (CSS-only, no logic changes) */
    @media (max-width: 1023px) {
      .app { height: 100dvh; }
      .main { min-width: 0; }
      .content-shell { gap: 12px; }
      .section-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
      .kpi-grid { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
      .dashboard-hero,
      .two-columns,
      .perm-layout { grid-template-columns: 1fr; }
      .perm-side {
        position: static;
        top: auto;
      }
      .perm-side .card {
        max-height: none;
        overflow: visible;
      }
      .module-layout-toolbar {
        padding: 8px;
      }
      .ios-module-stack .table-wrap {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
      }
      .perm-navcell .ios-cell-sub {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
      }
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      /* topbar actions use authoritative tablet rule below (conflict removed) */
      .module-layout-toolbar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .module-layout-toolbar .group {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }
      .module-layout-toolbar .group > * {
        width: 100%;
        min-width: 0;
      }
      .toolbar-actions {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }
      .toolbar-actions .btn {
        width: 100%;
      }
      .content-shell {
        gap: 14px;
      }
      .card {
        border-radius: 18px;
        padding: 14px;
      }
      .page-title h2 {
        font-size: 1.24rem;
      }
      .page-title p {
        font-size: .8rem;
      }
      .btn,
      .ios-mini-input,
      .search-input {
        min-height: 42px;
      }
      .ios-list .ios-cell {
        padding: 11px 12px;
      }
      .auth-ios {
        width: min(520px, 96vw);
      }
      .auth-ios-fields .ios-cell {
        align-items: flex-start;
      }
      .auth-ios-fields .ios-cell-right {
        width: min(300px, 100%);
      }
      .perm-side .section-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
      }
      .perm-side .section-nav .btn {
        width: 100%;
        justify-content: center;
      }
      .sidebar .nav button {
        min-height: 40px;
        padding: 10px 12px;
      }
      .table-wrap table {
        min-width: 620px;
      }
      .table-wrap.compact table {
        min-width: 580px;
      }
      .drawer {
        width: min(88vw, 620px);
      }
      .modal {
        width: min(92vw, 700px);
        border-radius: 16px;
      }
      .drawer-header h3,
      .modal-header h3 {
        font-size: 1.04rem;
      }
      .ios-module-stack input[style*="max-width"],
      .ios-module-stack select[style*="max-width"],
      .ios-module-stack textarea[style*="max-width"] {
        max-width: none !important;
      }
      .ios-module-stack [style*="white-space:nowrap"] {
        white-space: normal !important;
      }
      .ios-module-stack .ios-cell-title,
      .ios-module-stack .ios-cell-sub,
      .ios-module-stack .muted,
      .ios-module-stack td,
      .ios-module-stack th {
        overflow-wrap: anywhere;
        word-break: break-word;
      }
    }
    @media (max-width: 820px) {
      .topbar {
        padding: 12px 12px;
        gap: 8px;
      }
      .page-title h2 { font-size: 1.18rem; }
      .card { padding: 12px; border-radius: 16px; }
      .ios-kv { grid-template-columns: 1fr; }
      .ios-kv-item {
        align-items: flex-start;
        flex-direction: column;
      }
      .ios-form-row {
        grid-template-columns: 1fr;
        gap: 6px;
      }
      .ios-cell {
        align-items: flex-start;
      }
      .ios-cell-right {
        width: auto;
        min-width: 0;
        max-width: 50%;
        margin-left: auto;
        justify-content: flex-end;
      }
      .ios-cell-right:has(input),
      .ios-cell-right:has(select),
      .ios-cell-right:has(textarea) {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        justify-content: flex-start;
      }
      .row-actions,
      .action-grid,
      .drawer-actions-grid {
        grid-template-columns: 1fr;
      }
      .module-layout-toolbar {
        gap: 8px;
      }
      .module-layout-toolbar .group {
        width: 100%;
      }
      .module-layout-toolbar .group .btn,
      .module-layout-toolbar .group .ios-mini-input,
      .module-layout-toolbar .group .search-input {
        min-height: 40px;
      }
      .toolbar-actions {
        width: 100%;
        justify-content: flex-start;
        gap: 8px;
      }
      .toolbar-actions .btn {
        min-height: 40px;
      }
      .perm-side .section-nav {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
      }
      .perm-side .section-nav .btn {
        width: 100%;
        justify-content: center;
      }
      .drawer {
        width: min(100vw, 560px);
      }
      .modal {
        width: min(96vw, 620px);
      }
    }
    @media (max-width: 640px) {
      /* keep primary style from authoritative A tokens */
      .sidebar {
        width: min(82vw, 320px);
        padding: 16px 12px;
        box-shadow: 12px 0 24px rgba(15,23,42,.18);
        border-right: 1px solid rgba(148,163,184,.20);
        overflow: hidden;
      }
      .nav{
        overscroll-behavior: contain;
        scrollbar-width: none;
      }
      .nav::-webkit-scrollbar{ width: 0; height: 0; }
      .nav {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-right: 4px;
      }
      .sidebar-footer {
        padding-top: 12px;
      }
      .sidebar .nav button {
        min-height: 40px;
        border-radius: var(--ios-radius-md);
        padding: 10px 10px;
        transition: transform .16s var(--ios-ease), background .16s var(--ios-ease), box-shadow .16s var(--ios-ease);
      }
      .sidebar .nav button{
        display:flex;
        align-items:center;
        justify-content:space-between;
      }
      .sidebar .nav button span:last-child{
        opacity:.55;
        font-weight:800;
      }
      .sidebar .nav button:active {
        transform: scale(.985);
      }
      .sidebar .nav button.active {
        background: linear-gradient(180deg, rgba(59,130,246,.18), rgba(59,130,246,.10));
        box-shadow: inset 0 0 0 1px rgba(59,130,246,.24), 0 6px 16px rgba(59,130,246,.16);
      }
      .logo {
        font-size: 1.06rem;
      }
      .logo-icon {
        width: 32px;
        height: 32px;
        border-radius: 9px;
      }
      .card > strong {
        font-size: .92rem;
      }
      .ios-module-stack .card {
        border-radius: 16px;
        box-shadow: 0 6px 16px rgba(15,23,42,.07);
        background: rgba(255,255,255,.70);
        backdrop-filter: blur(14px) saturate(125%);
        -webkit-backdrop-filter: blur(14px) saturate(125%);
        border: 1px solid rgba(148,163,184,.18);
      }
      .ios-list {
        border-radius: 14px;
        overflow: hidden;
      }
      .module-layout-toolbar .group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .module-layout-toolbar .group > * {
        width: 100%;
        min-width: 0;
      }
      .module-layout-toolbar .form-field[style*="min-width"] {
        min-width: 0 !important;
        width: 100%;
      }
      .row-action-menu-list {
        right: 0;
        left: auto;
        min-width: 140px;
      }
      .action-col,
      .action-cell {
        width: 120px;
        min-width: 120px;
      }
      .table-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        border-radius: var(--ios-radius-md);
        position: relative;
      }
      /* subtle "scroll hint" like mobile systems */
      .table-wrap::after{
        content:'';
        position:absolute;
        top:0;
        right:0;
        width:24px;
        height:100%;
        pointer-events:none;
        background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75));
      }
      [data-theme="dark"] .table-wrap::after{
        background: linear-gradient(90deg, rgba(15,23,42,0), rgba(15,23,42,.78));
      }
      .table-wrap table {
        min-width: 520px;
      }
      .table-wrap th, .table-wrap td{
        padding-top:10px;
        padding-bottom:10px;
      }
      .table-wrap.compact table {
        min-width: 500px;
      }
      .modal .table-wrap {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
      }
      .modal .table-wrap table {
        min-width: 500px;
      }
      .ios-module-stack input[style*="max-width"],
      .ios-module-stack select[style*="max-width"],
      .ios-module-stack textarea[style*="max-width"],
      .ios-module-stack input[style*="min-width"],
      .ios-module-stack select[style*="min-width"],
      .ios-module-stack textarea[style*="min-width"] {
        max-width: none !important;
        min-width: 0 !important;
        width: 100% !important;
      }
      .ios-module-stack .ios-cell-left[style*="width:100%"] {
        width: auto !important;
        flex: 1 1 auto;
        min-width: 0;
      }
      .ios-module-stack .ios-cell-right[style*="width:min("] {
        width: auto !important;
        max-width: 100% !important;
      }
      .ios-module-stack [style*="white-space:nowrap"] {
        white-space: normal !important;
      }
      .ios-module-stack [style*="text-overflow:ellipsis"] {
        overflow: visible !important;
        text-overflow: clip !important;
      }
      .ios-module-stack .ios-cell-title,
      .ios-module-stack .ios-cell-sub,
      .ios-module-stack .muted,
      .ios-module-stack td,
      .ios-module-stack th {
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .modal-header,
      .modal-body,
      .modal-footer,
      .drawer-header,
      .drawer-body {
        padding-left: 12px;
        padding-right: 12px;
      }
      .modal-header h3,
      .drawer-header h3 {
        font-size: 1rem;
      }
      .drawer-header .btn,
      .modal-header .btn {
        min-height: 36px;
        padding: 6px 10px;
      }
      .modal-footer {
        flex-direction: column;
        position: sticky;
        bottom: 0;
        background: rgba(255,255,255,.72);
        z-index: 2;
        backdrop-filter: blur(14px) saturate(125%);
        -webkit-backdrop-filter: blur(14px) saturate(125%);
      }
      [data-theme="dark"] .modal-footer {
        background: rgba(15,23,42,.74);
      }
      .modal-footer .btn {
        width: 100%;
      }
      .btn,
      .section-nav .btn {
        min-height: 40px;
      }
      .ios-module-stack .ios-pill {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
      }
      .ios-module-stack .btn {
        max-width: 100%;
      }
      .ios-module-stack .ios-list .ios-cell {
        padding: 10px 10px;
        border-top-color: rgba(148,163,184,.14);
      }
      .ios-module-stack .ios-cell-title {
        font-size: .88rem;
      }
      .ios-module-stack .ios-cell-sub {
        font-size: .78rem;
        line-height: 1.6;
        margin-top: 6px;
      }
      .ios-module-stack .ios-list .ios-cell-right {
        width: auto;
        min-width: 0;
        max-width: 48%;
        margin-left: auto;
        justify-content: flex-end;
      }
      .ios-module-stack .ios-list .ios-cell-right:has(input),
      .ios-module-stack .ios-list .ios-cell-right:has(select),
      .ios-module-stack .ios-list .ios-cell-right:has(textarea) {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        justify-content: flex-start;
      }
      .ios-switch .track {
        width: 44px;
        height: 26px;
        transition: background .18s var(--ios-ease), border-color .18s var(--ios-ease);
      }
      .ios-switch .thumb {
        width: 22px;
        height: 22px;
        transition: transform .18s var(--ios-ease), box-shadow .18s var(--ios-ease);
        box-shadow: 0 4px 10px rgba(15,23,42,.20);
      }
      .ios-switch input:checked + .track .thumb {
        transform: translateX(16px);
      }
      .drawer-header {
        position: sticky;
        top: 0;
        background: rgba(255,255,255,.72);
        z-index: 3;
      }
      [data-theme="dark"] .drawer-header {
        background: rgba(15,23,42,.74);
      }
      .modal-body {
        padding-bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px));
      }
      .table-wrap th,
      .table-wrap td {
        font-size: .82rem;
        line-height: 1.55;
        vertical-align: top;
      }
      .btn {
        -webkit-tap-highlight-color: transparent;
        white-space: normal;
        line-height: 1.35;
      }
      .seg {
        border-radius: 999px;
        padding: 4px;
        background: rgba(255,255,255,.72);
        border-color: rgba(148,163,184,.22);
      }
      .seg button {
        min-height: 34px;
        border-radius: 999px;
      }
      .seg button.active {
        background: rgba(59,130,246,.20);
        box-shadow: inset 0 0 0 1px rgba(59,130,246,.24);
      }
      [data-theme="dark"] .seg {
        background: rgba(30,41,59,.56);
        border-color: rgba(148,163,184,.24);
      }
      [data-theme="dark"] .seg button.active {
        background: rgba(96,165,250,.24);
        box-shadow: inset 0 0 0 1px rgba(147,197,253,.28);
      }
      .btn:not(:disabled):active {
        transform: scale(.985);
      }
      [data-theme="dark"] .topbar {
        background: rgba(15,23,42,.72);
        border-color: rgba(148,163,184,.22);
        box-shadow: 0 10px 24px rgba(0,0,0,.28);
      }
      [data-theme="dark"] .ios-module-stack .card {
        background: rgba(15,23,42,.56);
        border-color: rgba(148,163,184,.22);
      }
      [data-theme="dark"] .sidebar {
        border-right-color: rgba(148,163,184,.18);
      }
    }
    @media (max-width: 480px) {
      .topbar { padding: 10px; }
      .card { padding: 10px; border-radius: var(--ios-radius-lg); }
      .page-large-title{
        font-size: 1.18rem;
      }
      .page-title h2 { font-size: 1.05rem; }
      .page-title p { font-size: .76rem; }
      .topbar .actions {
        grid-template-columns: 1fr;
      }
      .topbar .actions #globalSearch {
        grid-column: auto;
      }
      .btn, .ios-mini-input, .search-input, .section-nav .btn {
        min-height: 40px;
        font-size: .84rem;
      }
      .topbar .page-title h2 {
        font-size: 1rem;
        line-height: 1.32;
      }
      .topbar .actions {
        gap: 6px;
      }
      .card {
        margin-bottom: 10px;
      }
      .ios-list,
      .ios-module-stack .card {
        border-radius: var(--ios-radius-md);
      }
      .auth-ios { padding: 18px 12px 14px; }
      .auth-ios-fields .ios-cell { padding: 10px 10px; }
      .table-wrap table { min-width: 480px; }
      .modal .table-wrap table { min-width: 460px; }
      .table-wrap th, .table-wrap td {
        padding: 8px 10px;
        font-size: .8rem;
        line-height: 1.6;
      }
      .ios-module-stack .ios-list .ios-cell-right {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        justify-content: flex-start;
      }
      .drawer { width: 100vw; }
      .modal { width: 96vw; border-radius: var(--ios-radius-lg); }
    }

    /* Mobile safety baseline: keep readability over aggressive truncation */
    @media (max-width: 640px) {
      html, body {
        width: 100%;
        max-width: 100vw;
        overflow-x: hidden;
      }
      .content {
        overflow-x: hidden;
      }
      .ios-cell-title,
      .ios-cell-sub,
      .muted,
      .hint-text {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
      }
      .ios-cell-left {
        flex: 1 1 auto;
        min-width: 0;
      }
      .ios-cell-right {
        min-width: 0;
      }
      .table-wrap {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
      }
      .table-wrap table {
        min-width: 520px;
      }
    }

    /* Tablet sidebar should scroll (avoid hidden modules) */
    @media (min-width: 641px) and (max-width: 1023px) {
      .sidebar {
        overflow: hidden;
      }
      .nav {
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-right: 4px;
        overscroll-behavior: contain;
      }
      .nav::-webkit-scrollbar{ width: 0; height: 0; }
    }
    @supports (padding: max(0px)) {
      @media (max-width: 1023px) {
        .topbar {
          padding-left: max(12px, env(safe-area-inset-left));
          padding-right: max(12px, env(safe-area-inset-right));
        }
        .content {
          padding-left: max(12px, env(safe-area-inset-left));
          padding-right: max(12px, env(safe-area-inset-right));
          padding-bottom: max(12px, env(safe-area-inset-bottom));
        }
        .drawer,
        .modal {
          margin-bottom: env(safe-area-inset-bottom);
        }
        .modal-footer {
          padding-bottom: max(12px, env(safe-area-inset-bottom));
        }
        .drawer-header {
          padding-top: max(12px, env(safe-area-inset-top));
        }
      }
    }
    @media (max-height: 500px) and (orientation: landscape) {
      .topbar { padding-top: 8px; padding-bottom: 8px; }
      .page-title p { display: none; }
      .auth-screen { align-items: flex-start; padding-top: 10px; }
      .auth-ios { margin-bottom: 10px; }
      .modal-body,
      .drawer-body { max-height: 68vh; overflow: auto; }
    }
    @media (max-width: 1023px) {
      .ios-module-stack > .card,
      .ios-module-stack .ios-list,
      .ios-module-stack .table-wrap,
      .ios-module-stack .module-layout-toolbar {
        max-width: 100%;
        min-width: 0;
      }
      .modal,
      .drawer {
        max-height: 92dvh;
      }
      .modal-body,
      .drawer-body {
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
      }
    }

    /* Performance + stability on touch devices:
       - Avoid expensive backdrop-filter repaints during overlay animations
       - Reduce heavy shadows that cause jank on high-refresh screens
       Only active on <=1023px so desktop visuals remain unchanged. */
    @media (max-width: 1023px) {
      .modal,
      .drawer {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: var(--sys-surface) !important;
        border-color: var(--sys-separator) !important;
        box-shadow: 0 12px 30px rgba(15,23,42,.18) !important;
      }
      .drawer .form-section,
      .drawer .form-field,
      .modal .form-section,
      .modal .form-field {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
      .backdrop,
      .modal-backdrop {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
      }
    }

    /* =========================================================
      Mobile/Tablet authoritative layer (stability first)
      Goal: stop earlier media overrides from conflicting and
      causing "挤/掉行/错乱" on phone & tablet.
    ========================================================= */
    @media (max-width: 1023px) {
      /* Card list must keep right action area compact */
      .ios-module-stack .ios-list.mobile-cards:not(.mac-module-cards) .ios-cell {
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
      }
      .ios-module-stack .ios-list.mobile-cards .ios-cell-right {
        width: auto !important;
        max-width: none !important;
        margin-left: 0 !important;
        justify-content: flex-end !important;
        flex: 0 0 auto !important;
      }
      .ios-module-stack .ios-list.mobile-cards .ios-cell-left {
        flex: 1 1 auto !important;
        min-width: 0 !important;
      }

      /* Topbar rules moved to single authoritative layer near file end */
    }
    @media (max-width: 640px) {
      /* Avoid global "ios-list -> right = 100%" rules breaking cards */
      .ios-module-stack .ios-list.mobile-cards .ios-cell-right {
        width: auto !important;
        justify-content: flex-end !important;
      }

      /* Topbar rules moved to single authoritative layer near file end */
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      /* Topbar rules moved to single authoritative layer near file end */
    }

    @media (max-width: 1023px) {
      /* Sidebar/nav must always be scrollable on mobile+tablet */
      .sidebar { overflow: hidden !important; }
      .nav {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        padding-right: 4px;
        scrollbar-width: none;
      }
      .nav::-webkit-scrollbar { width: 0; height: 0; }
    }

    @media (max-width: 1023px) {
      /* Modal/Drawer stability: header+footer visible, body scrolls */
      .modal {
        top: auto !important;
        bottom: 0 !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: min(720px, calc(100vw - 24px)) !important;
        max-height: 88dvh !important;
        border-radius: 18px 18px 14px 14px !important;
      }
      .modal-header,
      .modal-footer {
        flex: 0 0 auto !important;
        background: var(--panel) !important;
      }
      .modal-body {
        flex: 1 1 auto !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
      }
      .modal-footer {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 2 !important;
      }

      .drawer {
        width: min(100vw, 560px) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
      }
      .drawer-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        background: var(--panel) !important;
      }
      .drawer-body {
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
      }
    }

    @media (max-width: 640px) {
      .modal { width: calc(100vw - 18px) !important; max-height: 90dvh !important; }
      .modal-footer { justify-content: stretch !important; }
      .modal-footer .btn { flex: 1 1 auto !important; }
      .drawer { width: 100vw !important; }
    }

    @media (max-width: 1023px) {
      /* Table safety: 横向在 wrap 内滚动；纵向交给页面，避免手机上「手指在表区域无法上滑」 */
      .ios-module-stack .table-wrap {
        position: relative !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        overscroll-behavior-y: auto !important;
      }
      .ios-module-stack .table-wrap table {
        width: 100% !important;
      }
      /* subtle scroll hint (right gradient) */
      .ios-module-stack .table-wrap::after {
        content: '';
        position: sticky;
        right: 0;
        top: 0;
        height: 100%;
        width: 28px;
        display: block;
        pointer-events: none;
        background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.75));
      }
      [data-theme="dark"] .ios-module-stack .table-wrap::after {
        background: linear-gradient(90deg, rgba(15,23,42,0), rgba(15,23,42,.55));
      }
    }
    @media (max-width: 640px) {
      /* Prevent x-overflow clipping menus inside content */
      .content { overflow-x: visible !important; }
    }

    /* Visual scale unification (phone/tablet) */
    @media (max-width: 1023px) {
      :root {
        --m-pad: 12px;
        --m-gap: 10px;
        --m-radius: 16px;
        --m-radius-sm: 12px;
        --m-font: 15px;
        --m-title: 1.12rem;
      }
      body { font-size: var(--m-font) !important; }
      /* 禁止对 .content 使用 padding 简写：会清掉顶栏预留的 padding-top（--topbar-clearance） */
      /* hub_center：团队私聊页由专用规则控制左右留白（沉浸式），此处不覆盖 */
      body:not([data-page="hub_center"]) #content.content {
        padding-left: max(var(--m-pad), env(safe-area-inset-left, 0px)) !important;
        padding-right: max(var(--m-pad), env(safe-area-inset-right, 0px)) !important;
        padding-bottom: max(var(--m-pad), env(safe-area-inset-bottom, 0px)) !important;
      }
      .card { padding: var(--m-pad) !important; border-radius: var(--m-radius) !important; }
      .ios-list { border-radius: var(--m-radius) !important; }
      .ios-cell { padding: 12px 12px !important; }
      .btn { border-radius: 999px !important; min-height: 40px !important; }
      .search-input,
      .ios-mini-input,
      .ios-select,
      textarea { border-radius: var(--m-radius-sm) !important; min-height: 42px !important; }
      .page-title h2 { font-size: var(--m-title) !important; }
      .module-layout-toolbar { gap: var(--m-gap) !important; }
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      :root {
        --m-pad: 14px;
        --m-gap: 12px;
        --m-radius: 18px;
        --m-radius-sm: 14px;
        --m-font: 15.5px;
        --m-title: 1.22rem;
      }
      .sidebar {
        width: min(92vw, max(268px, min(100vw - 28px, 360px))) !important;
      }
      .card { box-shadow: 0 10px 26px rgba(15,23,42,.08) !important; }
    }
    @media (max-width: 640px) {
      :root {
        --m-pad: 12px;
        --m-gap: 10px;
        --m-radius: 16px;
        --m-radius-sm: 12px;
        --m-font: 15px;
        --m-title: 1.08rem;
      }
      .topbar { border-radius: var(--m-radius) !important; }
      .sidebar {
        width: min(94vw, max(272px, min(100vw - 24px, 380px))) !important;
      }
      .card { box-shadow: 0 8px 18px rgba(15,23,42,.08) !important; }
    }

    /* ---------- targeted harmonization for screenshots ---------- */
    .dispatch-filter-row {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(220px, 1fr));
      gap: 12px !important;
      align-items: end;
      justify-items: stretch;
    }
    .dispatch-filter-item {
      min-width: 0 !important;
      width: 100% !important;
      margin: 0 !important;
    }
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .dispatch-filter-row {
      margin-top: var(--ios-space-2);
    }
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .page-head {
      margin-bottom: 0;
    }
    /* 可执行动作：标题与按钮纵向分区，避免与右侧按钮同一行抢宽导致说明被挤成「一字一行」 */
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .ios-list > .ios-cell.module-quick-actions-cell {
      flex-direction: column;
      align-items: stretch;
      gap: 12px;
    }
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-left {
      flex: 0 0 auto;
      max-width: 100%;
      min-width: 0;
    }
    /* 可执行动作：覆盖全局 card .ios-cell-right 的 62% 宽 + flex-end，避免换行后第二行贴右、与上一行不对齐 */
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-right.ios-inline-action-grid {
      flex: 1 1 auto !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      justify-content: flex-start !important;
      align-items: stretch;
    }
    body[data-page="dispatch_logs"] .dispatch-logs-overview-card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-right.ios-inline-action-grid > .btn {
      flex: 1 1 148px;
      min-width: min(148px, 100%);
      white-space: normal;
      text-align: center;
    }
    .dispatch-log-th-check {
      width: 56px;
      text-align: center;
    }
    .dispatch-log-th-del {
      width: 90px;
    }
    .dispatch-log-td-check {
      text-align: center;
      vertical-align: middle;
    }
    .dispatch-log-msg-td {
      min-width: 200px;
      max-width: min(560px, 100%);
      vertical-align: middle;
    }
    .dispatch-log-msg-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      flex-wrap: wrap;
    }
    .dispatch-log-msg-text {
      min-width: 0;
      flex: 1 1 auto;
      line-height: 1.45;
    }
    .modal .ios-prose-tight .table-wrap {
      border-radius: var(--ios-radius-md);
    }

    .analytics-kpi-strip {
      display: grid !important;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)) !important;
      gap: 10px !important;
    }
    /* 分析台 KPI 枚数固定时优先整齐分行（避免 4+2、6+2 等大块留白）；需 !important 以压过尾层 .stat-strip 的平板二列规则 */
    .analytics-kpi-strip:has(> :nth-child(5):last-child) {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)) !important;
    }
    @media (min-width: 720px) {
      .analytics-kpi-strip:has(> :nth-child(5):last-child) {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
      }
    }
    .analytics-kpi-strip:has(> :nth-child(6):last-child) {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 10.5rem), 1fr)) !important;
    }
    @media (min-width: 600px) {
      .analytics-kpi-strip:has(> :nth-child(6):last-child) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
      }
    }
    .analytics-kpi-strip:has(> :nth-child(8):last-child) {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr)) !important;
    }
    @media (min-width: 640px) {
      .analytics-kpi-strip:has(> :nth-child(8):last-child) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      }
    }
    @media (max-width: 560px) {
      .analytics-kpi-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
    }
    .analytics-kpi-strip .stat-pill {
      min-width: 0 !important;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    /* 任务面板 KPI：按最小宽度自动分列，5 枚等指标不再出现「一行四个 + 下一行单独一个」大块留白 */
    body[data-page="task_center"] .center-stat-strip.stat-strip {
      display: grid !important;
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.25rem), 1fr));
      gap: 10px !important;
    }
    body[data-page="task_center"] .center-stat-strip .stat-pill {
      min-width: 0 !important;
      width: 100%;
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      body[data-page="task_center"] .ios-module-stack .center-stat-strip.stat-strip {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.25rem), 1fr)) !important;
      }
    }

    /* Dashboard visual tuning for finance/ship/efficiency cards */
    .finance-overview-card .finance-overview-list .ios-cell {
      padding-top: 14px;
      padding-bottom: 14px;
    }
    .finance-overview-card .finance-overview-row {
      align-items: center;
    }
    .finance-overview-card .finance-overview-pills {
      gap: 10px;
      max-width: 100%;
      width: 100%;
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: stretch;
    }
    .finance-overview-card .finance-overview-pills .ios-pill {
      font-size: .9rem;
      font-weight: 700;
      padding: 9px 12px;
      min-height: 38px;
      width: 100%;
      justify-content: center;
      text-align: center;
      white-space: nowrap;
    }
    .finance-overview-card .finance-progress-row .ios-cell-title {
      font-size: 1.02rem;
      font-weight: 760;
    }
    .finance-overview-card .finance-progress-row .ios-cell-sub {
      font-size: .96rem;
      color: #475569;
    }

    .ship-overview-card {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 12px;
      min-height: 0;
      height: auto;
      align-self: start;
    }
    .ship-overview-card .ship-overview-list {
      margin-top: 12px !important;
      display: grid;
      grid-template-rows: repeat(3, minmax(72px, auto));
      gap: 0;
    }
    .ship-overview-card .ship-overview-list .ios-cell {
      padding-top: 16px;
      padding-bottom: 16px;
      align-items: center;
    }
    .ship-overview-card .ship-overview-list .ios-cell-title {
      font-size: 1.06rem;
      font-weight: 760;
    }
    .ship-overview-card .ship-overview-list .ios-pill {
      min-width: 40px;
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.05rem;
      font-weight: 760;
    }
    .ship-overview-card .ship-overview-actions .btn {
      min-height: 42px;
      padding: 10px 14px;
      font-size: .94rem;
      font-weight: 700;
    }
    .ship-overview-card .ship-overview-actions {
      justify-content: flex-end !important;
    }
    .approvals-overview-card {
      display: flex;
      flex-direction: column;
      min-height: 0;
      height: auto;
      align-self: start;
    }
    .approvals-overview-card .approvals-overview-list {
      margin-top: 12px !important;
      display: grid;
      grid-template-rows: repeat(3, minmax(72px, auto));
      gap: 0;
    }
    .approvals-overview-card .approvals-overview-list .ios-cell {
      padding-top: 16px;
      padding-bottom: 16px;
      align-items: center;
    }
    .approvals-overview-card .approvals-overview-list .ios-cell-title {
      font-size: 1.06rem;
      font-weight: 760;
    }
    .approvals-overview-card .approvals-overview-list .ios-pill {
      min-width: 40px;
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.05rem;
      font-weight: 760;
    }
    .approvals-overview-card .approvals-overview-list .ios-cell:last-child .ios-cell-right .btn {
      min-height: 44px;
      padding: 10px 16px;
      font-size: .96rem;
      font-weight: 760;
    }

    .efficiency-overview-card .ios-list .ios-cell {
      padding-top: 14px;
      padding-bottom: 14px;
    }
    .efficiency-overview-card .ios-list .ios-cell-title {
      font-size: 1.02rem;
      font-weight: 760;
    }
    .efficiency-overview-card .ios-list .ios-pill {
      min-width: 44px;
      min-height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 8px 12px;
      font-size: 1.2rem;
      font-weight: 780;
    }

    @media (max-width: 1023px) {
      .finance-overview-card .finance-overview-pills {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
      .ship-overview-card .ship-overview-list {
        grid-template-rows: none;
      }
      .ship-overview-card .ship-overview-list .ios-cell {
        padding-top: 12px;
        padding-bottom: 12px;
      }
      .ship-overview-card .ship-overview-list .ios-cell-title {
        font-size: .96rem;
      }
      .approvals-overview-card .approvals-overview-list {
        grid-template-rows: none;
      }
      .approvals-overview-card .approvals-overview-list .ios-cell {
        padding-top: 12px;
        padding-bottom: 12px;
      }
      .approvals-overview-card .approvals-overview-list .ios-cell-title {
        font-size: .96rem;
      }
      .efficiency-overview-card .ios-list .ios-cell-title {
        font-size: .96rem;
      }
      .efficiency-overview-card .ios-list .ios-pill {
        font-size: 1.05rem;
        min-height: 36px;
      }
    }
    @media (max-width: 640px) {
      .finance-overview-card .finance-overview-pills {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
      }
      .finance-overview-card .finance-overview-pills .ios-pill {
        font-size: .82rem;
        padding: 7px 8px;
        min-height: 34px;
      }
    }

    .dashboard-overview .dashboard-overview-row {
      align-items: stretch !important;
      gap: 8px !important;
      flex-direction: column !important;
    }
    .dashboard-overview .dashboard-overview-row .ios-cell-left {
      width: 100% !important;
      flex: 0 0 auto !important;
    }
    .dashboard-overview .dashboard-overview-right {
      flex: 1 1 auto !important;
      min-width: 0 !important;
      max-width: none !important;
      width: 100% !important;
      margin-left: 0 !important;
      justify-content: flex-start !important;
    }
    /* 自适应：用 flex 均分末行，避免 auto-fit 网格「6+1」式换行右侧大块留白 */
    .dashboard-overview .dashboard-priority-host,
    .dashboard-overview .dashboard-quick-host,
    .dashboard-overview .dashboard-shortcuts-host {
      display: flex !important;
      flex-wrap: wrap;
      gap: 8px;
      width: 100%;
      min-width: 0;
      align-items: stretch;
      align-content: flex-start;
      justify-content: flex-start;
    }
    .dashboard-overview .dashboard-priority-host .ios-pill {
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 1 1 148px;
      min-width: min(120px, 100%);
      max-width: 100%;
      box-sizing: border-box;
      min-height: 36px;
      text-align: center;
      white-space: normal;
      line-height: 1.35;
    }
    .dashboard-overview .dashboard-quick-host .btn,
    .dashboard-overview .dashboard-shortcuts-host .btn {
      flex: 1 1 152px;
      min-width: min(132px, 100%);
      max-width: 100%;
      width: auto !important;
      box-sizing: border-box;
      justify-content: center;
      min-height: 40px;
    }
    .dashboard-overview .dashboard-kpi-host .kpi-list-grid {
      width: 100%;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 10px;
    }
    .task-board-pair { align-items: stretch !important; }
    .task-board-pair > .card { height: 100% !important; }

    @media (min-width: 1024px) {
      .dashboard-overview .dashboard-overview-row { gap: 10px !important; }
      .task-board-pair .table-wrap { max-height: 360px; overflow: auto; }
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      .dispatch-filter-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .dispatch-filter-row { grid-template-columns: 1fr; gap: 8px !important; }
      .dashboard-overview .dashboard-overview-row { flex-direction: column; }
      .dashboard-overview .dashboard-priority-host .ios-pill,
      .dashboard-overview .dashboard-quick-host .btn,
      .dashboard-overview .dashboard-shortcuts-host .btn {
        flex: 1 1 100%;
        min-width: 0;
      }
    }

    /* =========================================================
      Global card readability layer (stable, less aggressive)
      Keep mainstream left-content/right-action rhythm.
    ========================================================= */
    .ios-module-stack .card { overflow: hidden; }
    .ios-module-stack .card > * { min-width: 0; max-width: 100%; }
    .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) {
      align-items: center;
      gap: 10px;
    }
    .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-left {
      flex: 1 1 auto;
      min-width: 0;
    }
    .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right {
      flex: 0 1 auto;
      width: auto !important;
      max-width: 62%;
      margin-left: auto !important;
      justify-content: flex-end !important;
      display: flex !important;
      gap: 8px;
      flex-wrap: wrap;
    }
    .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right .btn,
    .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right .ios-pill {
      width: auto;
      min-width: 0;
      white-space: nowrap;
    }
    .ios-module-stack .card .ios-cell-title,
    .ios-module-stack .card .ios-cell-sub {
      word-break: normal;
      overflow-wrap: break-word;
    }

    @media (min-width: 641px) and (max-width: 1023px) {
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) {
        align-items: flex-start;
      }
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right {
        max-width: 56%;
      }
    }
    @media (max-width: 640px) {
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) {
        align-items: flex-start;
      }
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right {
        width: 100% !important;
        max-width: 100%;
        margin-left: 0 !important;
        justify-content: flex-start !important;
      }
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right .btn,
      .ios-module-stack .card .ios-cell:not(.dashboard-overview-row) .ios-cell-right .ios-pill {
        white-space: normal;
      }
    }

    /* 模块页首行「XX概览」：右侧统计与左侧双行文案垂直居中；用 gap 收紧中间空白，避免 space-between 拉得过开 */
    .ios-module-stack .card .ios-list > .ios-cell.module-overview-cell {
      justify-content: flex-start;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px 14px;
    }
    .ios-module-stack .card .ios-list > .ios-cell.module-overview-cell .ios-cell-left {
      flex: 1 1 240px;
      min-width: 0;
    }
    .ios-module-stack .card .ios-list > .ios-cell.module-overview-cell .ios-cell-right {
      flex: 1 1 200px;
      min-width: 0;
      max-width: 100%;
      margin-left: 0 !important;
      justify-content: flex-end !important;
      align-content: center;
    }
    @media (max-width: 640px) {
      .ios-module-stack .card .ios-list > .ios-cell.module-overview-cell {
        align-items: flex-start;
      }
      .ios-module-stack .card .ios-list > .ios-cell.module-overview-cell .ios-cell-right {
        flex: 1 1 100%;
        justify-content: flex-start !important;
      }
    }

    /* 业务模块「推荐动作」：标题与按钮同一行，窄屏自动换行；按钮区柔性换行 */
    .ios-module-stack .card .ios-list > .ios-cell.module-quick-actions-cell {
      align-items: flex-start;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 10px 14px;
    }
    .ios-module-stack .card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-left {
      flex: 0 1 320px;
      min-width: min(100%, 200px);
      max-width: 100%;
    }
    .ios-module-stack .card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-right.ios-inline-action-grid {
      flex: 1 1 240px !important;
      width: auto !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      justify-content: flex-start !important;
      align-items: stretch;
    }
    .ios-module-stack .card .ios-list > .ios-cell.module-quick-actions-cell .ios-cell-right.ios-inline-action-grid > .btn {
      flex: 1 1 148px;
      min-width: min(148px, 100%);
      white-space: normal;
      text-align: center;
      justify-content: center;
    }

    /* 订单/发货等数据模块页：区块留白、节奏更松、工具条与筛选视觉更轻 */
    .ios-module-stack .card.module-browser-card {
      display: flex;
      flex-direction: column;
      gap: clamp(18px, 2.5vw, 24px);
      padding: clamp(18px, 2.3vw, 26px);
      overflow: visible;
    }
    .ios-module-stack .card.module-browser-card > .module-layout-toolbar {
      margin-bottom: 0;
      position: relative;
      z-index: 40;
      overflow: visible;
      background: color-mix(in srgb, var(--panel) 94%, rgba(148, 163, 184, 0.06));
      border-color: color-mix(in srgb, var(--sys-separator) 55%, transparent);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        0 4px 16px rgba(15, 23, 42, 0.045);
    }
    .ios-module-stack .card.module-browser-card > .page-head {
      position: relative;
      z-index: 0;
      margin-bottom: 0;
      gap: 14px 20px;
      padding-bottom: 4px;
    }
    .ios-module-stack .card.module-browser-card > .ios-list,
    .ios-module-stack .card.module-browser-card > .filter-bar,
    .ios-module-stack .card.module-browser-card > .table-wrap {
      position: relative;
      z-index: 0;
    }
    .ios-module-stack .card.module-browser-card > .page-head .head-meta strong {
      font-size: 1.05rem;
      letter-spacing: 0.02em;
      font-weight: 700;
    }
    .ios-module-stack .card.module-browser-card > .ios-list {
      margin-top: 0 !important;
      border-radius: 18px;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 58%, transparent);
      background: color-mix(in srgb, var(--sys-surface) 91%, rgba(148, 163, 184, 0.05));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
    }
    [data-theme="dark"] .ios-module-stack .card.module-browser-card > .ios-list {
      background: color-mix(in srgb, var(--sys-surface) 72%, rgba(15, 23, 42, 0.35));
      border-color: color-mix(in srgb, var(--sys-separator) 65%, transparent);
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    .ios-module-stack .card.module-browser-card > .filter-bar {
      margin-top: 0;
      margin-bottom: 0;
      padding: 14px 16px;
      gap: 11px;
      border-color: color-mix(in srgb, var(--sys-separator) 58%, transparent);
      background: color-mix(in srgb, var(--panel) 93%, rgba(148, 163, 184, 0.04));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.48),
        0 5px 18px rgba(15, 23, 42, 0.042);
    }
    [data-theme="dark"] .ios-module-stack .card.module-browser-card > .filter-bar {
      background: color-mix(in srgb, var(--panel) 88%, rgba(15, 23, 42, 0.2));
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 5px 20px rgba(0, 0, 0, 0.2);
    }
    .ios-module-stack .card.module-browser-card .module-overview-cell {
      gap: 12px 18px;
      padding-top: 14px;
      padding-bottom: 14px;
    }
    .ios-module-stack .card.module-browser-card .module-quick-actions-cell {
      gap: 12px 18px;
      padding-top: 14px;
      padding-bottom: 14px;
    }
    .ios-module-stack .card.module-browser-card .module-overview-cell .ios-pill {
      border-color: color-mix(in srgb, var(--sys-separator) 70%, transparent);
      background: color-mix(in srgb, #fff 88%, rgba(148, 163, 184, 0.08));
    }
    [data-theme="dark"] .ios-module-stack .card.module-browser-card .module-overview-cell .ios-pill {
      background: color-mix(in srgb, var(--sys-surface) 78%, rgba(148, 163, 184, 0.12));
    }
    .ios-module-stack .card.module-browser-card > .table-wrap {
      margin-top: 0;
    }
    /*
     * 模块浏览器 · 多列网格（对齐 Apple：列数跟「内容区宽度」走，不是跟整窗宽度）
     * - 外层 .mac-module-cards-outer 建立容器查询，分栏/侧栏变窄时仍会折叠列数
     * - 栅格公式类似 LazyVGrid adaptive：auto-fit + minmax + 1fr，无人为 max-width 卡死卡片
     */
    .mac-module-cards-outer {
      container-type: inline-size;
      container-name: mac-module-pane;
      width: 100%;
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards {
      --mac-col-gap: 12px;
      display: grid;
      grid-template-columns: repeat(
        auto-fit,
        minmax(min(100%, max(272px, calc((100% - 2 * var(--mac-col-gap)) / 3))), 1fr)
      );
      column-gap: var(--mac-col-gap);
      row-gap: 10px;
      align-items: stretch;
      align-content: start;
    }
    @container mac-module-pane (max-width: 1100px) {
      .ios-list.mobile-cards.mac-module-cards {
        grid-template-columns: repeat(
          auto-fit,
          minmax(min(100%, max(268px, calc((100% - 1 * var(--mac-col-gap)) / 2))), 1fr)
        );
      }
    }
    @container mac-module-pane (max-width: 680px) {
      .ios-list.mobile-cards.mac-module-cards {
        grid-template-columns: minmax(0, 1fr);
      }
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row,
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-empty {
      grid-column: 1 / -1;
      display: flex;
      align-items: stretch;
      gap: 10px;
      margin-bottom: 8px;
      padding: 11px 12px;
      border-radius: 11px;
      border: 1px solid color-mix(in srgb, var(--sys-separator, rgba(60, 60, 67, 0.12)) 88%, transparent);
      background: color-mix(in srgb, #fff 90%, rgba(0, 122, 255, 0.045));
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.03),
        0 1px 0 rgba(255, 255, 255, 0.65) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 14px rgba(15, 23, 42, 0.05);
      transition:
        background 0.16s cubic-bezier(0.25, 0.1, 0.25, 1),
        border-color 0.16s cubic-bezier(0.25, 0.1, 0.25, 1),
        box-shadow 0.18s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1);
      transform: translateZ(0);
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row {
      background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.74)) 88%, rgba(10, 132, 255, 0.08));
      border-color: rgba(148, 163, 184, 0.14);
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 6px 18px rgba(0, 0, 0, 0.28);
    }
    @media (hover: hover) {
      .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:hover {
        background: color-mix(in srgb, #fff 86%, rgba(0, 122, 255, 0.08));
        border-color: color-mix(in srgb, rgba(0, 122, 255, 0.22) 40%, rgba(60, 60, 67, 0.1));
        box-shadow:
          0 0 0 0.5px rgba(0, 0, 0, 0.035),
          0 1px 0 rgba(255, 255, 255, 0.72) inset,
          0 2px 6px rgba(15, 23, 42, 0.05),
          0 10px 22px rgba(15, 23, 42, 0.07);
        transform: translateY(-0.5px);
      }
      [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:hover {
        background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.88)) 90%, rgba(10, 132, 255, 0.1));
        border-color: color-mix(in srgb, rgba(10, 132, 255, 0.28) 35%, rgba(148, 163, 184, 0.18));
        box-shadow:
          0 0 0 0.5px rgba(0, 0, 0, 0.4),
          0 1px 0 rgba(255, 255, 255, 0.06) inset,
          0 10px 26px rgba(0, 0, 0, 0.32);
        transform: translateY(-0.5px);
      }
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:focus-within {
      outline: none;
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.03),
        0 1px 0 rgba(255, 255, 255, 0.65) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 14px rgba(15, 23, 42, 0.05),
        0 0 0 3px color-mix(in srgb, var(--primary, #3b82f6) 28%, transparent);
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:focus-within {
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 6px 18px rgba(0, 0, 0, 0.28),
        0 0 0 3px color-mix(in srgb, var(--primary, #60a5fa) 32%, transparent);
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row > div:first-child {
      display: flex;
      align-items: center;
      flex: 0 0 auto;
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row .ios-cell-title {
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: -0.012em;
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row .ios-cell-sub {
      font-size: 0.75rem;
      line-height: 1.38;
      color: var(--muted);
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell:not(.module-mac-batch-row) {
      margin-bottom: 0;
    }

    /* 宽屏卡片外壳；真正的容器查询在 .mc-mac-cq（容器不能查询自身尺寸） */
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell {
      min-width: 0;
      padding: 11px 12px 11px 11px;
      border-radius: 11px;
      border: 1px solid color-mix(in srgb, var(--sys-separator, rgba(60, 60, 67, 0.12)) 88%, transparent);
      background: color-mix(in srgb, #fff 92%, rgba(245, 245, 247, 0.65));
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.03),
        0 1px 0 rgba(255, 255, 255, 0.65) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 14px rgba(15, 23, 42, 0.05);
      transition:
        background 0.16s cubic-bezier(0.25, 0.1, 0.25, 1),
        border-color 0.16s cubic-bezier(0.25, 0.1, 0.25, 1),
        box-shadow 0.18s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.18s cubic-bezier(0.25, 0.1, 0.25, 1);
      transform: translateZ(0);
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell {
      background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.72)) 88%, rgba(0, 0, 0, 0.2));
      border-color: rgba(148, 163, 184, 0.14);
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 6px 18px rgba(0, 0, 0, 0.28);
    }
    @media (hover: hover) {
      .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:hover {
        background: color-mix(in srgb, #fff 86%, rgba(0, 122, 255, 0.07));
        border-color: color-mix(in srgb, rgba(0, 122, 255, 0.24) 42%, rgba(60, 60, 67, 0.1));
        box-shadow:
          0 0 0 0.5px rgba(0, 0, 0, 0.035),
          0 1px 0 rgba(255, 255, 255, 0.72) inset,
          0 2px 6px rgba(15, 23, 42, 0.05),
          0 10px 22px rgba(15, 23, 42, 0.07);
        transform: translateY(-0.5px);
      }
      [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:hover {
        background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.88)) 90%, rgba(10, 132, 255, 0.1));
        border-color: color-mix(in srgb, rgba(10, 132, 255, 0.28) 35%, rgba(148, 163, 184, 0.18));
        box-shadow:
          0 0 0 0.5px rgba(0, 0, 0, 0.4),
          0 1px 0 rgba(255, 255, 255, 0.06) inset,
          0 10px 26px rgba(0, 0, 0, 0.32);
        transform: translateY(-0.5px);
      }
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:active {
      background: color-mix(in srgb, #f2f2f7 85%, rgba(0, 0, 0, 0.02));
      transform: translateY(0) scale(0.997);
      transition-duration: 0.08s;
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:active {
      background: rgba(255, 255, 255, 0.05);
      transform: translateY(0) scale(0.997);
    }
    .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:focus-within {
      outline: none;
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.03),
        0 1px 0 rgba(255, 255, 255, 0.65) inset,
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 4px 14px rgba(15, 23, 42, 0.05),
        0 0 0 3px color-mix(in srgb, var(--primary, #3b82f6) 28%, transparent);
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:focus-within {
      box-shadow:
        0 0 0 0.5px rgba(0, 0, 0, 0.35),
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 6px 18px rgba(0, 0, 0, 0.28),
        0 0 0 3px color-mix(in srgb, var(--primary, #60a5fa) 32%, transparent);
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-cq {
      container-type: inline-size;
      container-name: mac-card;
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 1 1 auto;
      width: 100%;
      max-width: 100%;
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-check {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      align-self: center;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-check input {
      margin: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-bodywrap {
      flex: 1 1 auto;
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-body {
      padding: 0;
      margin: 0;
    }
    /*
     * 列表行布局（Mail / 提醒事项 / iOS Settings 同一范式）：
     * 主列 minmax(0,1fr) 占满剩余宽度；附件列 auto 仅-content 宽，永远贴右，不会在中间留「死区」
     */
    .ios-list.mobile-cards.mac-module-cards .mc-mac-head {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      column-gap: 12px;
      row-gap: 6px;
      width: 100%;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-textcol {
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-title {
      font-size: 0.8rem;
      font-size: clamp(0.74rem, 0.52rem + 0.95cqi, 0.84rem);
      font-weight: 600;
      letter-spacing: -0.015em;
      line-height: 1.3;
      color: var(--text);
      overflow-wrap: break-word;
      word-break: normal;
      writing-mode: horizontal-tb;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-meta {
      margin-top: 3px;
      font-size: 0.75rem;
      font-size: clamp(0.69rem, 0.58rem + 0.42cqi, 0.78rem);
      line-height: 1.38;
      color: var(--muted);
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      word-break: break-word;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-trail {
      display: inline-flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 8px;
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      justify-content: flex-end;
      max-width: 100%;
      min-width: 0;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill {
      font-size: 0.6875rem;
      font-weight: 600;
      padding: 2px 7px;
      border-radius: 4px;
      letter-spacing: -0.01em;
      border: 1px solid color-mix(in srgb, var(--sys-separator, rgba(60, 60, 67, 0.12)) 75%, transparent);
      background: color-mix(in srgb, #fff 86%, rgba(148, 163, 184, 0.06));
      transition: background 0.14s ease, border-color 0.14s ease, transform 0.14s ease;
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill {
      background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.6)) 80%, rgba(148, 163, 184, 0.08));
    }
    @media (hover: hover) {
      .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill:hover {
        background: color-mix(in srgb, #fff 72%, rgba(148, 163, 184, 0.12));
        border-color: color-mix(in srgb, var(--sys-separator) 55%, rgba(59, 130, 246, 0.22));
        transform: translateY(-0.5px);
      }
      [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill:hover {
        background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.72)) 78%, rgba(96, 165, 250, 0.1));
      }
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-actions {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-actions > .btn {
      flex: 0 0 auto;
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn {
      min-height: 26px;
      min-width: 26px;
      width: 26px;
      height: 26px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 5px;
      font-size: 1rem;
      line-height: 1;
      letter-spacing: 0;
      color: color-mix(in srgb, var(--text) 72%, var(--muted));
      border: 1px solid color-mix(in srgb, var(--sys-separator, rgba(60, 60, 67, 0.14)) 90%, transparent);
      background: color-mix(in srgb, #fff 88%, rgba(0, 0, 0, 0.02));
      box-shadow: 0 0.5px 0 rgba(255, 255, 255, 0.55) inset;
      transition: background 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
    }
    [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn {
      background: color-mix(in srgb, var(--sys-surface, rgba(30, 41, 59, 0.5)) 85%, transparent);
    }
    @media (hover: hover) {
      .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn:hover {
        background: color-mix(in srgb, #fff 64%, rgba(0, 0, 0, 0.04));
        border-color: color-mix(in srgb, var(--sys-separator) 65%, rgba(0, 122, 255, 0.28));
        box-shadow:
          0 0.5px 0 rgba(255, 255, 255, 0.62) inset,
          0 2px 8px rgba(15, 23, 42, 0.08);
        transform: translateY(-0.5px);
      }
    }
    .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn:active {
      transform: translateY(0) scale(0.94);
      transition-duration: 0.08s;
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell,
      .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row,
      .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill,
      .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn {
        transition: none !important;
      }
      @media (hover: hover) {
        .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:hover,
        [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.mc-mac-cell:hover,
        .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:hover,
        [data-theme="dark"] .ios-list.mobile-cards.mac-module-cards > .ios-cell.module-mac-batch-row:hover,
        .ios-list.mobile-cards.mac-module-cards .mc-mac-pills .ios-pill:hover,
        .ios-list.mobile-cards.mac-module-cards .mc-mac-actions .mc-morebtn:hover {
          transform: none !important;
        }
      }
    }

    /* 窄卡（分栏/多列里单卡变窄）：主文 + 附件改上下栈，行为接近 iOS 设置行 */
    @container mac-card (max-width: 560px) {
      .ios-list.mobile-cards.mac-module-cards .mc-mac-cq {
        align-items: flex-start;
      }
      .ios-list.mobile-cards.mac-module-cards .mc-mac-check {
        align-self: flex-start;
        padding-top: 4px;
      }
      .ios-list.mobile-cards.mac-module-cards .mc-mac-head {
        grid-template-columns: 1fr;
        align-items: start;
      }
      .ios-list.mobile-cards.mac-module-cards .mc-mac-trail {
        max-width: none;
        width: 100%;
        justify-content: space-between;
        justify-self: stretch;
      }
      .ios-list.mobile-cards.mac-module-cards .mc-mac-pills {
        justify-content: flex-start;
        flex: 1 1 auto;
      }
      .ios-list.mobile-cards.mac-module-cards .mc-mac-actions {
        flex: 0 0 auto;
      }
    }

    /* Closure center: obvious + uniform + aligned */
    [data-closure-center-root] .drawer-actions-grid {
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px !important;
      width: 100%;
    }
    [data-closure-center-root] .drawer-actions-grid .btn {
      width: 100% !important;
      min-height: 42px !important;
      justify-content: center;
      text-align: center;
      border-radius: var(--ios-radius-md);
      white-space: normal;
      line-height: 1.32;
    }
    [data-closure-center-root] .ios-list .ios-cell {
      align-items: center;
      gap: 10px;
    }
    [data-closure-center-root] .ios-list .ios-cell .ios-cell-left {
      flex: 1 1 auto;
      min-width: 0;
    }
    [data-closure-center-root] .ios-list .ios-cell .ios-cell-right {
      width: min(520px, 100%) !important;
      max-width: 100%;
      margin-left: auto !important;
      display: grid !important;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px !important;
      justify-content: stretch !important;
    }
    [data-closure-center-root] .ios-list .ios-cell .ios-cell-right .btn,
    [data-closure-center-root] .ios-list .ios-cell .ios-cell-right .ios-pill {
      width: 100%;
      text-align: center;
      justify-content: center;
      min-width: 0;
    }
    [data-closure-center-root] .closure-primary-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 10px;
    }
    [data-closure-center-root] .closure-more-actions {
      border: 1px solid rgba(148,163,184,.2);
      border-radius: var(--ios-radius-md);
      background: rgba(255,255,255,.45);
      padding: 8px;
    }
    [data-theme="dark"] [data-closure-center-root] .closure-more-actions {
      background: rgba(15,23,42,.34);
    }
    [data-closure-center-root] .closure-more-actions summary {
      cursor: pointer;
      list-style: none;
      font-weight: 700;
      color: var(--muted);
      padding: 2px 4px;
      user-select: none;
    }
    [data-closure-center-root] .closure-more-summary {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 42px;
      position: relative;
      border: 1px solid rgba(148,163,184,.24);
      border-radius: var(--ios-radius-md);
      padding: 8px 12px !important;
      color: var(--text) !important;
      background: rgba(59,130,246,.08);
      transition: background .16s var(--ios-ease), border-color .16s var(--ios-ease), transform .16s var(--ios-ease);
    }
    [data-closure-center-root] .closure-more-summary > span:first-child {
      flex: 1 1 auto;
      text-align: center;
      margin: 0 auto;
    }
    [data-closure-center-root] .closure-more-chevron {
      position: absolute;
      right: 12px;
      top: 50%;
      transform: translateY(-50%);
    }
    [data-closure-center-root] .closure-more-summary:hover {
      background: rgba(59,130,246,.12);
      border-color: rgba(59,130,246,.32);
      transform: translateY(-1px);
    }
    [data-theme="dark"] [data-closure-center-root] .closure-more-summary {
      background: rgba(96,165,250,.12);
      border-color: rgba(147,197,253,.26);
    }
    [data-closure-center-root] .closure-more-chevron {
      font-size: .92rem;
      color: var(--primary);
      transition: transform .16s var(--ios-ease);
    }
    [data-closure-center-root] .closure-more-actions[open] .closure-more-chevron { transform: rotate(180deg); }
    [data-closure-center-root] .closure-more-actions summary::-webkit-details-marker { display: none; }
    [data-closure-center-root] .closure-secondary-grid {
      margin-top: 8px;
      display: flex;
      flex-wrap: nowrap;
      gap: 8px;
      justify-content: flex-start;
      align-items: stretch;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      padding: 2px 2px 6px;
      scrollbar-width: thin;
    }
    [data-closure-center-root] .closure-secondary-grid::-webkit-scrollbar {
      height: 5px;
    }
    [data-closure-center-root] .closure-secondary-grid::-webkit-scrollbar-thumb {
      background: color-mix(in srgb, var(--sys-separator-strong) 55%, transparent);
      border-radius: 999px;
    }
    [data-closure-center-root] .closure-secondary-grid .btn,
    [data-closure-center-root] .closure-secondary-grid .closure-secondary-btn {
      width: auto !important;
      flex: 1 1 0;
      min-width: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      justify-content: center;
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      [data-closure-center-root] .drawer-actions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      [data-closure-center-root] .ios-list .ios-cell .ios-cell-right {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      [data-closure-center-root] .closure-primary-grid { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
    }
    @media (max-width: 640px) {
      [data-closure-center-root] .drawer-actions-grid {
        grid-template-columns: 1fr;
      }
      [data-closure-center-root] .ios-list .ios-cell {
        align-items: flex-start;
      }
      [data-closure-center-root] .ios-list .ios-cell .ios-cell-right {
        width: 100% !important;
        margin-left: 0 !important;
        grid-template-columns: 1fr;
      }
      [data-closure-center-root] .closure-primary-grid { grid-template-columns: 1fr; }
      /* 「更多操作」内按钮：手机改为换行，避免整条横向滚动抢走纵向滑动手势 */
      [data-closure-center-root] .closure-secondary-grid {
        flex-wrap: wrap;
        overflow-x: visible;
        overscroll-behavior-x: auto;
        padding-bottom: 2px;
      }
      [data-closure-center-root] .closure-secondary-grid .btn,
      [data-closure-center-root] .closure-secondary-grid .closure-secondary-btn {
        flex: 1 1 calc(50% - 4px);
        min-width: min(148px, 100%);
        white-space: normal;
      }
    }

    /* 最终统一问题台账：手机改为卡片块，消除横向滚动与触摸劫持 */
    @media (max-width: 640px) {
      .ios-module-stack .table-wrap.closure-ledger-responsive {
        overflow-x: visible !important;
        overscroll-behavior-x: auto !important;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody tr {
        display: block;
        margin-bottom: 12px;
        padding: 12px 14px;
        border-radius: 14px;
        border: 1px solid color-mix(in srgb, var(--sys-separator) 72%, transparent);
        background: color-mix(in srgb, var(--sys-surface) 94%, transparent);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
      }
      [data-theme="dark"] .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody tr {
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody td {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        padding: 10px 0 !important;
        border-bottom: 0.5px solid color-mix(in srgb, var(--sys-separator) 80%, transparent) !important;
        text-align: left !important;
        vertical-align: top !important;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody td:last-child {
        border-bottom: none !important;
        padding-bottom: 2px !important;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody td::before {
        content: attr(data-label);
        display: block;
        font-size: 0.68rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--muted-strong);
        margin-bottom: 5px;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-table tbody td.closure-ledger-verify {
        white-space: normal !important;
        line-height: 1.45;
        word-break: break-word;
        overflow-wrap: anywhere;
      }
      .ios-module-stack .closure-ledger-responsive .closure-ledger-metric {
        margin-top: 6px !important;
      }
      .ios-module-stack .closure-ledger-responsive .ledger-entry-actions {
        min-width: 0 !important;
      }
      .ios-module-stack .closure-ledger-responsive .ledger-entry-actions-wrap {
        justify-content: flex-start;
      }
    }

    /* Phone hardening: prevent one-character-per-line collapse */
    @media (max-width: 640px) {
      /* Generic list rows: content first, actions below */
      .ios-module-stack .ios-list .ios-cell {
        flex-wrap: wrap;
      }
      .ios-module-stack .ios-list .ios-cell .ios-cell-left {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
      }
      .ios-module-stack .ios-list .ios-cell .ios-cell-title,
      .ios-module-stack .ios-list .ios-cell .ios-cell-sub {
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
      }
      .ios-module-stack .ios-list .ios-cell .ios-cell-right {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        justify-content: flex-start !important;
      }

      /* Rows containing selection checkbox + row actions */
      .ios-module-stack .ios-list .ios-cell:has(input[type="checkbox"]) {
        align-items: flex-start !important;
      }
      .ios-module-stack .ios-list .ios-cell:has(input[type="checkbox"]) > div:first-child {
        flex: 0 0 auto !important;
      }
      .ios-module-stack .ios-list .ios-cell:has(input[type="checkbox"]) .mobile-card-body,
      .ios-module-stack .ios-list .ios-cell:has(input[type="checkbox"]) .ios-cell-left {
        flex: 1 1 calc(100% - 34px) !important;
        width: calc(100% - 34px) !important;
        min-width: 0 !important;
      }
      .ios-module-stack .ios-list .ios-cell:has(input[type="checkbox"]) .ios-cell-right {
        margin-left: 34px !important;
        width: calc(100% - 34px) !important;
        max-width: calc(100% - 34px) !important;
      }

      /* Inline "more" should never overlap neighbor buttons on phone */
      .inline-more {
        width: 100% !important;
        min-width: 0 !important;
      }
      .inline-more > summary {
        width: 100% !important;
        justify-content: center !important;
      }
      .inline-more-panel {
        min-width: 0 !important;
      }
      .inline-more-panel .btn {
        width: 100% !important;
      }

      /* Mobile cards: action row moves below content to avoid squeezing title */
      .ios-list.mobile-cards .ios-cell {
        flex-wrap: wrap;
      }
      .ios-list.mobile-cards .ios-cell-right {
        flex: 1 1 100% !important;
        width: calc(100% - 34px) !important;
        max-width: calc(100% - 34px) !important;
        margin-left: 34px !important;
        justify-content: flex-start !important;
      }
      .ios-list.mobile-cards .mobile-card-body {
        flex: 1 1 calc(100% - 34px) !important;
        width: calc(100% - 34px) !important;
      }
      .ios-list.mobile-cards .mc-top {
        flex-direction: column;
        align-items: stretch;
      }
      .ios-list.mobile-cards .mc-pills {
        justify-content: flex-start;
      }
    }

    /* Inline "more actions" pattern for crowded row actions */
    .inline-more {
      display: inline-flex;
      flex-direction: column;
      min-width: 88px;
    }
    .inline-more > summary {
      list-style: none;
      cursor: pointer;
      min-height: 34px;
      padding: 6px 10px;
      border-radius: var(--ios-radius-sm);
      border: 1px solid rgba(148,163,184,.24);
      background: rgba(255,255,255,.55);
      color: var(--muted);
      font-weight: 700;
      font-size: .78rem;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      user-select: none;
      white-space: nowrap;
    }
    .inline-more > summary::-webkit-details-marker { display: none; }
    .inline-more-panel {
      margin-top: 6px;
      padding: 6px;
      border-radius: var(--ios-radius-md);
      border: 1px solid rgba(148,163,184,.2);
      background: rgba(255,255,255,.44);
      display: grid;
      gap: 6px;
      min-width: 150px;
    }
    [data-theme="dark"] .inline-more-panel {
      background: rgba(15,23,42,.4);
      border-color: rgba(148,163,184,.24);
    }
    .inline-more-panel .btn { width: 100% !important; min-height: 34px !important; }
    .inline-more[open] > summary { color: var(--primary); border-color: rgba(59,130,246,.28); background: rgba(59,130,246,.08); }


    /* Desktop/laptop density is now controlled by the final normalization layer. */

    /* Center-page compact layout (desktop/laptop/tablet) */
    @media (min-width: 1024px) {
      .ios-module-stack .center-stat-strip {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 10px !important;
      }
      .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn {
        min-height: 40px !important;
      }
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      body:not([data-page="task_center"]) .ios-module-stack .center-stat-strip {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px !important;
      }
      .drawer-actions-grid.center-actions-grid.ios-auto-action-grid > .btn {
        min-height: 40px !important;
      }
    }
    @media (max-width: 640px) {
      .ios-module-stack .center-stat-strip {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px !important;
      }
    }

    /* Hard fix: finance pills must stay one row; shipment CTA centered */
    .finance-overview-card .finance-overview-row .finance-overview-pills {
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      display: grid !important;
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      gap: 8px !important;
      justify-content: stretch !important;
    }
    .finance-overview-card .finance-overview-row .finance-overview-pills .ios-pill {
      width: 100% !important;
      min-width: 0 !important;
      white-space: nowrap !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      text-align: center !important;
      justify-content: center !important;
    }
    .ship-overview-card .ship-overview-actions {
      width: 100% !important;
      display: flex !important;
      justify-content: flex-end !important;
      align-items: center !important;
    }
    .ship-overview-card .ship-overview-actions .btn {
      margin: 0 !important;
    }
    @media (max-width: 640px) {
      .finance-overview-card .finance-overview-row .finance-overview-pills {
        gap: 6px !important;
      }
      .finance-overview-card .finance-overview-row .finance-overview-pills .ios-pill {
        font-size: .82rem !important;
        padding: 7px 8px !important;
      }
    }

    /* Visual reset for finance row: left text + right 4 metrics */
    @media (min-width: 1024px) {
      .finance-overview-card .finance-overview-row {
        display: grid !important;
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 14px !important;
      }
      .finance-overview-card .finance-overview-row .ios-cell-left {
        min-width: 0 !important;
      }
      .finance-overview-card .finance-overview-row .ios-cell-right.finance-overview-pills {
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
      }
      .finance-overview-card .finance-overview-row .finance-overview-pills .ios-pill {
        min-height: 40px !important;
        font-size: .95rem !important;
        font-weight: 760 !important;
      }
    }

    /* Final normalization for right-side overview cards */
    @media (min-width: 1024px) {
      .approvals-overview-card,
      .efficiency-overview-card {
        overflow: visible !important;
      }
      .approvals-overview-card .ios-card-head,
      .efficiency-overview-card .ios-card-head {
        min-height: 78px !important;
        padding-bottom: 10px !important;
        margin-bottom: 10px !important;
      }
      .approvals-overview-card .ios-card-title strong,
      .efficiency-overview-card .ios-card-title strong {
        font-size: 1.02rem !important;
        font-weight: 760 !important;
      }
      .approvals-overview-card .ios-card-title .subtitle,
      .efficiency-overview-card .ios-card-title .subtitle {
        font-size: .84rem !important;
        line-height: 1.45 !important;
      }

      .approvals-overview-card > .ios-list,
      .efficiency-overview-card > .ios-list {
        min-height: 198px !important;
        height: auto !important;
        overflow: visible !important;
        display: grid !important;
        grid-template-rows: repeat(3, minmax(64px, auto)) !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell,
      .efficiency-overview-card > .ios-list > .ios-cell {
        min-height: 64px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
        height: auto !important;
        align-items: center !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell .ios-cell-title,
      .efficiency-overview-card > .ios-list > .ios-cell .ios-cell-title {
        font-size: 1rem !important;
        font-weight: 740 !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell .ios-pill,
      .efficiency-overview-card > .ios-list > .ios-cell .ios-pill {
        min-width: 40px !important;
        min-height: 40px !important;
        font-size: 1rem !important;
        padding: 8px 10px !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell:last-child .ios-cell-right .btn,
      .ship-overview-card > .ios-list > .ios-cell:last-child .ios-cell-right .btn {
        min-height: 38px !important;
        font-size: .9rem !important;
        padding: 8px 12px !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell .ios-cell-right,
      .efficiency-overview-card > .ios-list > .ios-cell .ios-cell-right {
        min-width: 112px !important;
        max-width: 56% !important;
        justify-content: flex-end !important;
      }
      .approvals-overview-card > .ios-list > .ios-cell:last-child .ios-cell-right {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
      }
      /* Shipping task card is data-driven; keep it content-adaptive */
      .ship-overview-card {
        min-height: auto !important;
      }
      .ship-overview-card > .ios-list {
        min-height: auto !important;
        display: block !important;
        grid-template-rows: none !important;
      }
      .ship-overview-card > .ios-list > .ios-cell {
        min-height: auto !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
      }
      .ship-overview-card > .ios-list > .ios-cell .ios-cell-right {
        min-width: 0 !important;
        max-width: none !important;
      }
    }

    /* Desktop typography/action rhythm normalization */
    @media (min-width: 1024px) {
      :root {
        --d-font-body: .94rem;
        --d-font-sub: .86rem;
        --d-font-title: 1.04rem;
        --d-font-page: clamp(1.24rem, 1.4vw, 1.34rem);
        --d-btn-min-h: 38px;
      }

      .page-title h2 { font-size: var(--d-font-page) !important; }
      .ios-card-title strong,
      .card > strong { font-size: var(--d-font-title) !important; }
      .ios-cell-title { font-size: var(--d-font-body) !important; }
      .ios-card-title .subtitle,
      .page-title p,
      .ios-cell-sub { font-size: var(--d-font-sub) !important; }

      .btn {
        min-height: var(--d-btn-min-h) !important;
        font-size: var(--d-font-body) !important;
      }
      .super-todo-entry-grid .btn {
        min-height: var(--d-btn-min-h) !important;
        font-size: var(--d-font-body) !important;
        padding: 8px 12px !important;
      }

      .stat-pill-label,
      .meta-subtle {
        font-size: var(--d-font-sub) !important;
      }
    }
    /* Native iOS leaning pass: lighter weight/saturation/shadow */
    :root {
      --ios-shadow-soft: 0 6px 18px rgba(15,23,42,.06);
      --ios-shadow-float: 0 12px 26px rgba(15,23,42,.10);
    }
    .btn {
      font-weight: 600 !important;
      letter-spacing: 0 !important;
      box-shadow: var(--ios-shadow-soft);
    }
    .btn:hover {
      box-shadow: var(--ios-shadow-float);
    }
    .btn-primary {
      color: #1e40af;
      border-color: rgba(59,130,246,.22);
      background: rgba(219,234,254,.78);
    }
    .btn-warning {
      color: #9a3412;
      border-color: rgba(245,158,11,.22);
      background: rgba(255,237,213,.80);
    }
    .btn-danger {
      color: #b91c1c;
      border-color: rgba(239,68,68,.24);
      background: rgba(254,226,226,.80);
    }
    .ios-card-title strong,
    .card > strong {
      font-weight: 720 !important;
      letter-spacing: 0 !important;
    }
    .ios-cell-title {
      font-weight: 650 !important;
      letter-spacing: 0 !important;
    }
    .ios-cell-sub,
    .page-title p,
    .ios-card-title .subtitle {
      letter-spacing: 0 !important;
    }
    [data-theme="dark"] .btn {
      /* 过强的外阴影易被裁切；与上方 inset 层协调 */
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 6px 18px rgba(2, 6, 23, 0.36);
    }
    [data-theme="dark"] .btn-primary {
      color: #dbeafe;
      border-color: rgba(96,165,250,.32);
      background: rgba(30,64,175,.34);
    }
    [data-theme="dark"] .btn-warning {
      color: #fde68a;
      border-color: rgba(251,191,36,.32);
      background: rgba(146,64,14,.34);
    }
    [data-theme="dark"] .btn-danger {
      color: #fecaca;
      border-color: rgba(248,113,113,.34);
      background: rgba(153,27,27,.34);
    }
    /* Native iOS segmented controls + top filters */
    .seg {
      padding: 3px;
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.20);
      background: rgba(241,245,249,.78);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
    }
    .seg button {
      min-height: 32px;
      padding: 6px 12px;
      border-radius: 999px;
      border-color: transparent;
      background: transparent;
      color: var(--muted);
      box-shadow: none;
      transition:
        background var(--motion-component-ms) var(--ios-ease-decel),
        color var(--motion-component-ms) var(--ios-ease-decel),
        border-color var(--motion-component-ms) var(--ios-ease-decel),
        box-shadow var(--motion-component-ms) var(--ios-ease-decel),
        transform var(--motion-micro-ms) var(--ios-press-ease);
    }
    .seg button:active {
      transform: scale(0.978);
    }
    .seg button.active,
    .seg button[aria-pressed="true"] {
      background: rgba(255,255,255,.95);
      color: #0f172a;
      border-color: rgba(148,163,184,.22);
      box-shadow: 0 1px 2px rgba(15,23,42,.08);
    }
    .filter-bar .btn,
    .section-nav .btn,
    .toolbar-actions .btn {
      border-color: rgba(148,163,184,.20);
      background: rgba(255,255,255,.72);
      color: #334155;
      box-shadow: none;
    }
    .filter-bar .btn.active,
    .section-nav .btn.active,
    .toolbar-actions .btn.active,
    .filter-bar .btn[aria-pressed="true"],
    .section-nav .btn[aria-pressed="true"],
    .toolbar-actions .btn[aria-pressed="true"] {
      background: rgba(219,234,254,.78);
      border-color: rgba(96,165,250,.32);
      color: #1e40af;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
    }
    [data-theme="dark"] .seg {
      background: rgba(30,41,59,.62);
      border-color: rgba(148,163,184,.24);
      box-shadow: inset 0 1px 0 rgba(148,163,184,.06);
    }
    [data-theme="dark"] .seg button {
      color: #94a3b8;
    }
    [data-theme="dark"] .seg button.active,
    [data-theme="dark"] .seg button[aria-pressed="true"] {
      background: rgba(51,65,85,.86);
      color: #e2e8f0;
      border-color: rgba(148,163,184,.30);
      box-shadow: 0 1px 2px rgba(2,6,23,.30);
    }
    .seg.ios-seg-control {
      display: flex;
      width: 100%;
      max-width: min(100%, 400px);
    }
    .seg.ios-seg-control > button {
      flex: 1 1 0;
      min-width: 0;
    }
    [data-theme="dark"] .filter-bar .btn,
    [data-theme="dark"] .section-nav .btn,
    [data-theme="dark"] .toolbar-actions .btn {
      background: rgba(30,41,59,.62);
      border-color: rgba(148,163,184,.24);
      color: #cbd5e1;
    }
    [data-theme="dark"] .filter-bar .btn.active,
    [data-theme="dark"] .section-nav .btn.active,
    [data-theme="dark"] .toolbar-actions .btn.active,
    [data-theme="dark"] .filter-bar .btn[aria-pressed="true"],
    [data-theme="dark"] .section-nav .btn[aria-pressed="true"],
    [data-theme="dark"] .toolbar-actions .btn[aria-pressed="true"] {
      background: rgba(30,64,175,.34);
      border-color: rgba(96,165,250,.34);
      color: #dbeafe;
      box-shadow: inset 0 1px 0 rgba(147,197,253,.12);
    }
    /* Permission directory: iOS split-view native baseline */
    .perm-layout {
      grid-template-columns: 280px minmax(0, 1fr);
      gap: 16px;
      align-items: start;
    }
    .perm-side {
      position: sticky;
      top: 14px;
      align-self: start;
      min-height: 0;
    }
    .perm-side .perm-side-card {
      margin: 0;
      padding: 12px;
      border-radius: 20px;
      border: 1px solid rgba(148,163,184,.16);
      background: rgba(255,255,255,.62);
      box-shadow: 0 8px 18px rgba(15,23,42,.06);
    }
    .perm-side-card .ios-card-head {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      text-align: left;
      gap: 10px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(148,163,184,.14);
    }
    .perm-side-card .ios-card-title {
      min-width: 0;
      text-align: left;
    }
    .perm-side-card .ios-card-title strong {
      display: block;
      font-weight: 760;
      letter-spacing: .005em;
      font-size: .98rem;
    }
    .perm-side-card .ios-card-title .subtitle {
      margin-top: 2px;
      color: var(--muted);
      font-size: .76rem;
      line-height: 1.35;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .perm-side-card .ios-card-head .ios-cell-right {
      width: auto;
      justify-content: flex-end;
      gap: 6px;
      flex: 0 0 auto;
    }
    .perm-navlist {
      margin-top: 10px;
      border: 1px solid rgba(148,163,184,.14);
      border-radius: 14px;
      overflow: hidden;
      background: rgba(255,255,255,.7);
    }
    .perm-navcell {
      cursor: pointer;
      user-select: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-height: 52px;
      padding: 10px 10px;
      border-top: 1px solid rgba(148,163,184,.12);
      background: transparent;
      transition: background .16s var(--ios-ease), box-shadow .16s var(--ios-ease);
    }
    .perm-navcell:first-child { border-top: none; }
    .perm-navcell .ios-cell-left { flex: 1; min-width: 0; }
    .perm-navcell .ios-cell-title {
      font-size: .92rem;
      font-weight: 680;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .perm-navcell .ios-cell-sub {
      margin-top: 2px;
      font-size: .77rem;
      color: var(--muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .perm-navcell .ios-cell-right {
      width: auto;
      flex: 0 0 auto;
      align-items: center;
      justify-content: flex-end;
      gap: 6px;
      min-width: 52px;
    }
    .perm-navcell .ios-cell-right .ios-pill:last-child {
      width: 24px;
      min-width: 24px;
      height: 24px;
      padding: 0;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      opacity: .7;
    }
    .perm-navcell:hover {
      background: rgba(59,130,246,.06);
    }
    .perm-navcell.active {
      background: rgba(47,109,246,.11);
      box-shadow: inset 2px 0 0 rgba(47,109,246,.58);
    }
    .perm-navcell.active .ios-cell-title { color: var(--primary); }
    .perm-navcell.active .ios-cell-right .ios-pill:last-child { opacity: 1; }
    [data-theme="dark"] .perm-side .perm-side-card {
      background: rgba(15,23,42,.52);
      border-color: rgba(148,163,184,.2);
      box-shadow: 0 10px 24px rgba(2,6,23,.34);
    }
    [data-theme="dark"] .perm-navlist {
      background: rgba(15,23,42,.46);
      border-color: rgba(148,163,184,.2);
    }
    [data-theme="dark"] .perm-navcell {
      border-top-color: rgba(148,163,184,.14);
    }
    [data-theme="dark"] .perm-navcell:hover {
      background: rgba(59,130,246,.14);
    }
    [data-theme="dark"] .perm-navcell.active {
      background: rgba(59,130,246,.2);
      box-shadow: inset 2px 0 0 rgba(96,165,250,.62);
    }
    @media (max-width: 1100px) {
      .perm-layout { grid-template-columns: 1fr; }
      .perm-side {
        position: static;
        top: auto;
      }
      .perm-side .perm-side-card {
        border-radius: 16px;
      }
    }
    @media (max-width: 768px) {
      .perm-side-card .ios-card-head {
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .perm-side-card .ios-card-title,
      .perm-side-card .ios-card-title .subtitle {
        text-align: center;
      }
      .perm-side-card .ios-card-head .ios-cell-right {
        width: 100%;
        justify-content: center;
      }
      .perm-navcell .ios-cell-sub { display: none; }
    }
    .perm-side-quick {
      margin-top: 10px;
      border-top: 1px dashed rgba(148,163,184,.22);
      padding-top: 10px;
      display: grid;
      gap: 8px;
    }
    .perm-side-quick-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 6px;
    }
    .perm-side-quick-stat {
      border: 1px solid rgba(148,163,184,.18);
      border-radius: 10px;
      padding: 6px 8px;
      background: rgba(255,255,255,.52);
      display: grid;
      gap: 2px;
    }
    .perm-side-quick-stat span {
      color: var(--muted);
      font-size: .72rem;
      line-height: 1.2;
    }
    .perm-side-quick-stat strong {
      font-size: .98rem;
      line-height: 1.15;
      font-variant-numeric: tabular-nums;
    }
    .perm-side-quick-actions {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
    }
    .perm-side-quick-actions .btn {
      min-height: 34px;
      border-radius: 10px;
      padding: 6px 8px;
    }
    .btn-has-dot {
      position: relative;
    }
    .btn-has-dot::after {
      content: '';
      position: absolute;
      top: 6px;
      right: 8px;
      width: 8px;
      height: 8px;
      border-radius: 999px;
      background: #ef4444;
      box-shadow: 0 0 0 2px rgba(255,255,255,.88);
    }
    [data-theme="dark"] .btn-has-dot::after {
      box-shadow: 0 0 0 2px rgba(15,23,42,.9);
    }
    [data-theme="dark"] .perm-side-quick-stat {
      background: rgba(15,23,42,.44);
      border-color: rgba(148,163,184,.2);
    }
    @media (max-width: 1200px) {
      .perm-side-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
      .perm-side-quick-stat:last-child {
        grid-column: 1 / -1;
      }
    }
    @media (max-width: 768px) {
      .perm-side-quick {
        padding-top: 8px;
      }
      .perm-side-quick-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      .perm-side-quick-stat {
        padding: 6px 6px;
      }
      .perm-side-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }
    /* Sidebar authoritative polish layer (desktop/tablet/phone) */
    .sidebar{
      padding-top: max(16px, env(safe-area-inset-top));
    }
    .sidebar .logo{
      min-height: 42px;
      align-items: center;
    }
    .sidebar .nav{
      gap: var(--sb-nav-gap, 9px);
    }
    .sidebar .nav button{
      position: relative;
      overflow: hidden;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
      will-change: transform, background-color, box-shadow;
    }
    .sidebar .nav button::before{
      content: '';
      position: absolute;
      left: 6px;
      top: 9px;
      bottom: 9px;
      width: 2.5px;
      border-radius: 999px;
      background: linear-gradient(180deg, rgba(59,130,246,.92), rgba(99,102,241,.82));
      opacity: 0;
      transform: scaleY(.7);
      transition: opacity var(--ios-nav-hover-ms) var(--ios-ease), transform var(--ios-nav-hover-ms) var(--ios-ease);
    }
    .sidebar .nav button.active::before{
      opacity: .95;
      transform: scaleY(1);
    }
    @media (hover:hover) and (pointer:fine){
      .sidebar .nav button:hover{
        transform: translateY(-.5px);
      }
    }
    .sidebar .nav button:active{
      transform: scale(.985);
    }
    .sidebar .nav button span:last-child{
      margin-left: 0;
      opacity: 1;
      font-weight: inherit;
      font-size: inherit;
      transform: none;
    }
    [data-theme="dark"] .sidebar .nav button::before{
      background: linear-gradient(180deg, rgba(147,197,253,.95), rgba(129,140,248,.84));
    }
    .sidebar .nav button.ios-nav-module-btn{
      display: flex;
      flex-direction: row;
      align-items: center;
      gap: 10px;
      grid-template-columns: unset;
    }
    /* 旧版两列 span 的 :last-child 规则会命中 .ios-nav-label-host，误把整行变淡 */
    .sidebar .nav button.ios-nav-module-btn > span.ios-nav-label-host{
      opacity: 1;
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-label-host > span:first-child{
      color: color-mix(in srgb, var(--text) 72%, var(--muted) 28%);
      font-weight: 520;
      letter-spacing: 0.01em;
    }
    .sidebar .nav button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child{
      color: color-mix(in srgb, var(--primary) 42%, var(--text) 58%);
      font-weight: 560;
    }
    [data-theme="dark"] .sidebar .nav button.ios-nav-module-btn .ios-nav-label-host > span:first-child{
      color: color-mix(in srgb, var(--text) 68%, var(--muted) 32%);
    }
    [data-theme="dark"] .sidebar .nav button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child{
      color: color-mix(in srgb, var(--primary) 48%, var(--text) 52%);
    }
    [data-theme="dark"] .sidebar .logo-text{
      color: color-mix(in srgb, var(--text) 72%, var(--muted) 28%);
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-drag-grip{
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      min-height: 40px;
      margin: -4px 2px -4px -4px;
      padding: 0 4px;
      font-style: normal;
      border-radius: 10px;
      color: color-mix(in srgb, var(--muted) 72%, var(--text) 28%);
      opacity: 0.92;
      cursor: grab;
      touch-action: none;
      -webkit-user-select: none;
      user-select: none;
      transition:
        background 0.14s var(--ios-ease),
        color 0.14s var(--ios-ease),
        opacity 0.14s var(--ios-ease),
        transform 0.12s var(--ios-ease);
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:hover .ios-nav-drag-grip{
      background: rgba(60, 60, 67, 0.06);
      color: color-mix(in srgb, var(--text) 55%, var(--muted));
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:hover .ios-nav-drag-grip{
      background: rgba(255, 255, 255, 0.06);
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-drag-grip:active{
      cursor: grabbing;
      transform: scale(0.94);
      background: rgba(59, 130, 246, 0.12);
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-grip-svg{
      opacity: .9;
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-label-host{
      flex: 1 1 auto;
      min-width: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    .sidebar .nav button.ios-nav-module-btn .ios-nav-chevron{
      opacity: 0.3;
      font-weight: 520;
      font-size: 0.82rem;
      transform: translateY(-0.5px);
      color: color-mix(in srgb, var(--muted) 88%, var(--text) 12%);
    }
    .sidebar .nav.ios-nav-editing{
      flex: 1 1 auto;
      min-height: 0;
      gap: 0;
      padding: 2px;
      border-radius: 12px;
      border: 1px solid rgba(60, 60, 67, 0.1);
      background: var(--ios-list-surface, rgba(255, 255, 255, 0.78));
      box-shadow: var(--ios-list-elevate, 0 1px 2px rgba(15, 23, 42, 0.06));
      overflow-x: hidden;
      overflow-y: auto;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-y;
      -webkit-user-select: none;
      user-select: none;
      scrollbar-width: thin;
      scrollbar-color: rgba(120, 128, 145, 0.35) transparent;
    }
    .sidebar .nav.ios-nav-editing::-webkit-scrollbar{
      width: 5px;
    }
    .sidebar .nav.ios-nav-editing::-webkit-scrollbar-thumb{
      border-radius: 99px;
      background: rgba(120, 128, 145, 0.32);
    }
    /* 侧栏内联排序拖拽：主区 #content 带 view-transition-name 时，部分 WebKit/Chromium 会把旧帧/错误层叠到侧栏上；拖拽中关闭 VT 名。
       抬高 z-index 仅限「侧栏为浮层 fixed」场景；传统分栏下侧栏为 relative，若仍 z-index:220 会整块压盖 .main（用户见主内容与侧栏重叠）。 */
    html.sidebar-nav-order-dragging #content.content {
      view-transition-name: none !important;
    }
    html.sidebar-nav-order-dragging #nav.ios-nav-editing button.ios-nav-module-btn:not(.ios-nav-row-placeholder) {
      transition: transform 0.16s cubic-bezier(0.32, 0.72, 0, 1);
    }
    /* 侧栏「编辑顺序」整段期间禁用主区 View Transition：松手瞬间恢复 VT 名时 WebKit/Chromium 常把主区整层闪一下，像控制总览被整块刷新 */
    @supports selector(:has(*)) {
      html:has(#nav.ios-nav-editing) #content.content {
        view-transition-name: none !important;
      }
    }
    html.sidebar-nav-order-dragging.is-compact-viewport #sidebar.sidebar,
    html.sidebar-nav-order-dragging.ios-sidebar-auto-hide:not(.is-compact-viewport) #sidebar.sidebar {
      z-index: 220 !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn{
      border-radius: 0;
      margin: 0;
      box-shadow: none;
      border: none;
      border-bottom: 1px solid rgba(60, 60, 67, 0.08);
      background: transparent;
      transform: none;
      will-change: auto;
      transition:
        background-color 0.14s var(--ios-ease),
        opacity 0.14s var(--ios-ease);
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:first-of-type{
      border-top-left-radius: 10px;
      border-top-right-radius: 10px;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:last-of-type{
      border-bottom: none;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:hover{
      transform: none;
      background: rgba(60, 60, 67, 0.035);
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:hover{
      background: rgba(255, 255, 255, 0.05);
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:active{
      transform: none;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.ios-nav-row-dragging{
      opacity: 0.88;
      transform: none;
      background: rgba(59, 130, 246, 0.1);
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing{
      border-color: rgba(84, 84, 88, 0.38);
      background: rgba(30, 41, 59, 0.55);
      box-shadow: none;
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn{
      border-bottom-color: rgba(84, 84, 88, 0.32);
      background: transparent;
      box-shadow: none;
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.ios-nav-row-dragging{
      background: rgba(59, 130, 246, 0.16);
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.active{
      background: rgba(59, 130, 246, 0.12);
      box-shadow: none;
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.active{
      background: rgba(59, 130, 246, 0.2);
    }
    html[data-motion="off"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn,
    .sidebar .nav.ios-nav-editing.ios-reduced-motion button.ios-nav-module-btn{
      transition: none !important;
    }
    .sidebar-nav-edit-toolbar{
      margin-top: 0;
      margin-bottom: 2px;
    }
    /* 与「固定显示侧栏」拉开节奏；工具栏挂在 #sidebarNavEditToolbarMount 内，需同时匹配 mount */
    .sidebar-layout-btn + #sidebarNavEditToolbar.sidebar-nav-edit-toolbar,
    .sidebar-layout-btn + #sidebarNavEditToolbarMount .sidebar-nav-edit-toolbar {
      margin-top: 10px;
    }
    .sidebar-layout-btn + #sidebarNavEditToolbar .ios-sidebar-nav-edit-entry,
    .sidebar-layout-btn + #sidebarNavEditToolbarMount .ios-sidebar-nav-edit-entry {
      margin-top: 0;
    }
    .ios-sidebar-nav-edit-entry{
      width: 100%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      margin-top: 8px;
      padding: 10px 12px;
      min-height: 40px;
      box-sizing: border-box;
      border-radius: 12px;
      border: 1px solid rgba(60, 60, 67, 0.1);
      background: rgba(255, 255, 255, 0.45);
      color: rgba(60, 60, 67, 0.78);
      font-weight: 560;
      font-size: 0.8125rem;
      letter-spacing: 0.01em;
      line-height: 1.28;
      cursor: pointer;
      text-align: center;
      -webkit-tap-highlight-color: transparent;
      transition: background 0.15s ease, border-color 0.15s ease, transform 0.14s var(--ios-ease);
    }
    .ios-sidebar-nav-edit-entry:hover{
      background: rgba(59, 130, 246, 0.08);
      border-color: rgba(59, 130, 246, 0.24);
      box-shadow: none;
    }
    .ios-sidebar-nav-edit-entry:active{
      transform: scale(0.988);
    }
    [data-theme="dark"] .ios-sidebar-nav-edit-entry{
      background: rgba(30, 41, 59, 0.5);
      border-color: rgba(84, 84, 88, 0.38);
      color: rgba(235, 235, 245, 0.72);
    }
    [data-theme="dark"] .ios-sidebar-nav-edit-entry:hover{
      background: rgba(59, 130, 246, 0.14);
      border-color: rgba(96, 165, 250, 0.35);
    }
    .ios-sidebar-nav-edit-glyph{
      width: 18px;
      height: 18px;
      border-radius: 6px;
      background: linear-gradient(180deg, rgba(59,130,246,.22), rgba(99,102,241,.14));
      box-shadow: inset 0 0 0 1px rgba(59,130,246,.22);
    }
    .ios-nav-edit-chrome{
      border-radius: 12px;
      padding: 0;
      border: 1px solid rgba(60, 60, 67, 0.12);
      background: color-mix(in srgb, var(--ios-surface, #fff) 96%, rgba(59,130,246,.03));
      box-shadow: 0 1px 4px rgba(15,23,42,.05);
      overflow: hidden;
    }
    [data-theme="dark"] .ios-nav-edit-chrome{
      border-color: rgba(84, 84, 88, 0.32);
      background: rgba(30, 41, 59, 0.5);
      box-shadow: 0 2px 10px rgba(0,0,0,.2);
    }
    /* 接近 iOS「列表页 + 右上角完成」：标题与说明左对齐，完成按钮顶右 */
    .ios-nav-edit-head{
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 12px 10px;
    }
    .ios-nav-edit-copy{
      flex: 1 1 auto;
      min-width: 0;
    }
    .ios-nav-edit-title{
      font-weight: 600;
      font-size: 0.9375rem;
      letter-spacing: -0.01em;
      line-height: 1.25;
      color: var(--text);
    }
    .ios-nav-edit-hint{
      margin: 6px 0 0;
      font-size: 0.8125rem;
      line-height: 1.5;
      letter-spacing: 0.01em;
      color: color-mix(in srgb, var(--muted) 88%, var(--text) 12%);
      font-weight: 450;
    }
    .ios-nav-edit-done-btn{
      flex: 0 0 auto;
      margin: 0;
      padding: 6px 4px;
      min-height: 36px;
      border: none;
      border-radius: 10px;
      background: transparent;
      color: var(--primary);
      font-size: 0.9375rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .ios-nav-edit-done-btn:hover{
      background: rgba(59, 130, 246, 0.08);
    }
    .ios-nav-edit-done-btn:active{
      opacity: 0.82;
    }
    [data-theme="dark"] .ios-nav-edit-done-btn{
      color: rgba(147, 197, 253, 0.95);
    }
    [data-theme="dark"] .ios-nav-edit-done-btn:hover{
      background: rgba(59, 130, 246, 0.14);
    }
    .ios-nav-edit-reset-btn{
      display: block;
      width: 100%;
      margin: 0;
      padding: 11px 14px 12px;
      border: none;
      border-top: 1px solid rgba(60, 60, 67, 0.1);
      border-radius: 0;
      background: color-mix(in srgb, var(--ios-surface, #fff) 92%, transparent);
      color: color-mix(in srgb, var(--muted) 70%, var(--text) 30%);
      font-size: 0.8125rem;
      font-weight: 520;
      text-align: center;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .ios-nav-edit-reset-btn:hover{
      background: rgba(59, 130, 246, 0.06);
      color: var(--text);
    }
    [data-theme="dark"] .ios-nav-edit-reset-btn{
      border-top-color: rgba(84, 84, 88, 0.35);
      background: rgba(15, 23, 42, 0.25);
      color: rgba(226, 232, 240, 0.72);
    }
    [data-theme="dark"] .ios-nav-edit-reset-btn:hover{
      background: rgba(59, 130, 246, 0.12);
      color: rgba(248, 250, 252, 0.92);
    }
    .ios-nav-order-sheet{
      margin-top: 12px;
      margin-bottom: 4px;
      padding: 12px 12px 10px;
      border-radius: 14px;
      border: 1px solid rgba(148,163,184,.2);
      background: color-mix(in srgb, var(--ios-surface, #fff) 90%, rgba(59,130,246,.04));
    }
    [data-theme="dark"] .ios-nav-order-sheet{
      border-color: rgba(148,163,184,.22);
      background: rgba(30,41,59,.5);
    }
    .perm-nav-order-list{
      display: flex;
      flex-direction: column;
      gap: 6px;
      margin-top: 8px;
    }
    .perm-nav-order-row{
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 9px 10px;
      border-radius: 12px;
      border: 1px solid rgba(148,163,184,.18);
      background: rgba(255,255,255,.55);
      cursor: grab;
      touch-action: manipulation;
      transition: transform .2s var(--ios-spring-settle), box-shadow .2s var(--ios-ease), background .2s var(--ios-ease);
    }
    [data-theme="dark"] .perm-nav-order-row{
      background: rgba(15,23,42,.35);
      border-color: rgba(148,163,184,.2);
    }
    .perm-nav-order-row.is-dragging{
      opacity: .55;
      transform: scale(.985);
    }
    .perm-nav-order-row.is-disabled{
      opacity: .5;
      cursor: not-allowed;
    }
    .perm-nav-order-grip{
      width: 18px;
      height: 22px;
      border-radius: 7px;
      background: repeating-linear-gradient(180deg, rgba(148,163,184,.55) 0 2px, transparent 2px 4px);
      opacity: .45;
      flex-shrink: 0;
    }
    .perm-nav-order-text{
      flex: 1 1 auto;
      min-width: 0;
      font-weight: 680;
      font-size: .88rem;
    }
    .perm-nav-order-id-hint{
      font-size: .72rem;
      color: var(--muted);
      font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
      opacity: .75;
    }
    .perm-nav-order-actions{
      margin-top: 10px;
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }
    @media (hover:hover) and (pointer:fine){
      .perm-nav-order-row:hover{
        transform: translateY(-.5px);
        box-shadow: 0 8px 18px rgba(15,23,42,.07);
      }
    }
    .ios-micro-gloss{
      position: relative;
      overflow: hidden;
      isolation: isolate;
    }
    .ios-micro-gloss::after{
      content: '';
      position: absolute;
      top: -40%;
      bottom: -40%;
      width: 32%;
      left: -40%;
      background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.34) 48%, transparent 100%);
      transform: translateX(0) skewX(-14deg);
      opacity: 0;
      pointer-events: none;
      transition: opacity .2s var(--ios-ease);
    }
    @media (hover:hover) and (pointer:fine){
      .ios-micro-gloss:hover::after{
        opacity: .8;
        animation: iosSheenSweep .9s var(--ios-ease) 1;
      }
    }
    .ios-depth-card{
      transition:
        box-shadow var(--motion-component-ms) var(--ios-ease-decel),
        transform var(--motion-component-ms) var(--ios-ease-decel),
        border-color var(--motion-component-ms) var(--ios-ease-decel);
    }
    @media (hover:hover) and (pointer:fine){
      .ios-depth-card:hover{
        transform: translateY(-1px);
        box-shadow: 0 10px 22px rgba(15,23,42,.10);
      }
    }
    /* Cross-module iOS consistency: chips/pickers/segments share press language */
    .ios-picker-input,
    .perm-filter-chip,
    .segmented-item,
    [data-claim-mode],
    [data-team-pwdseg],
    .seg button {
      transition:
        background var(--ios-nav-hover-ms) var(--ios-sheet-ease-out),
        border-color var(--ios-nav-hover-ms) var(--ios-sheet-ease-out),
        color var(--ios-nav-hover-ms) var(--ios-sheet-ease-out),
        box-shadow var(--ios-nav-hover-ms) var(--ios-sheet-ease-out),
        transform var(--ios-nav-press-ms) var(--ios-spring-settle);
    }
    @media (hover:hover) and (pointer:fine){
      .ios-picker-input:hover,
      .perm-filter-chip:hover,
      .segmented-item:hover,
      [data-claim-mode]:hover,
      [data-team-pwdseg]:hover,
      .seg button:hover {
        transform: translateY(-.5px);
      }
    }
    .ios-picker-input:active,
    .perm-filter-chip:active,
    .segmented-item:active,
    [data-claim-mode]:active,
    [data-team-pwdseg]:active,
    .seg button:active {
      transform: translateY(1px) scale(.986);
      box-shadow: none;
    }
    .ios-picker-input:focus-visible,
    .perm-filter-chip:focus-visible,
    .segmented-item:focus-visible,
    [data-claim-mode]:focus-visible,
    [data-team-pwdseg]:focus-visible,
    .seg button:focus-visible {
      outline: none;
      box-shadow: var(--ring);
    }
    .ios-picker-input:focus-within{
      border-color: rgba(59,130,246,.34);
      box-shadow: 0 8px 16px rgba(37,99,235,.12), inset 0 1px 0 rgba(255,255,255,.78);
    }
    [data-theme="dark"] .ios-picker-input:focus-within{
      border-color: rgba(96,165,250,.34);
      box-shadow: 0 8px 18px rgba(2,6,23,.34), inset 0 1px 0 rgba(148,163,184,.08);
    }
    @media (max-width: 640px) {
      /* Mobile: improve tap comfort and keep chips readable */
      .ios-picker-input,
      .perm-filter-chip,
      .segmented-item,
      [data-claim-mode],
      [data-team-pwdseg],
      .seg button {
        min-height: 42px;
      }
      .ios-picker-input { padding: 11px 12px; }
      .perm-filter-chip,
      .segmented-item,
      .seg button {
        padding-inline: 12px;
      }
      .perm-filter-chips {
        gap: 9px;
      }
      .segmented {
        gap: 8px;
        scroll-snap-type: x proximity;
      }
      .segmented-item {
        scroll-snap-align: start;
      }
    }
    @media (max-width: 520px) {
      .ios-picker-input .value {
        font-size: .88rem;
      }
      .perm-filter-chip,
      .segmented-item,
      .seg button {
        font-size: .8rem;
      }
    }
    @media (hover: none) and (pointer: coarse) {
      /* Touch-first devices: stronger but still subtle press feedback */
      .ios-picker-input:active,
      .perm-filter-chip:active,
      .segmented-item:active,
      [data-claim-mode]:active,
      [data-team-pwdseg]:active,
      .seg button:active {
        transform: translateY(1px) scale(.982);
      }
    }
    @keyframes iosSheenSweep {
      from { transform: translateX(0) skewX(-14deg); }
      to { transform: translateX(440%) skewX(-14deg); }
    }
    @keyframes iosTapPop {
      0% { transform: scale(1); }
      45% { transform: scale(.985); }
      100% { transform: scale(1); }
    }
    .ios-tap-pop {
      animation: iosTapPop 0.24s var(--ios-spring-settle) 1;
    }

    /* ===== Refined polish layer (authoritative, late override) ===== */
    .card,
    .ios-list,
    .ios-form,
    .table-wrap,
    .stat-pill {
      border-color: var(--hairline) !important;
      box-shadow: var(--shadow-s1) !important;
      position: relative;
      overflow: hidden;
    }
    .card::before,
    .ios-list::before,
    .ios-form::before {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      box-shadow: var(--inner-highlight);
      opacity: .92;
    }
    @media (hover:hover) and (pointer:fine){
      .card:hover,
      .ios-list:hover,
      .ios-form:hover,
      .table-wrap:hover {
        transform: translateY(-1px);
        box-shadow: var(--shadow-s2) !important;
        border-color: var(--hairline-strong) !important;
      }
    }

    .table-wrap tbody tr {
      transition: background-color var(--ios-nav-hover-ms) var(--ios-ease);
    }
    @media (hover:hover) and (pointer:fine){
      .table-wrap tbody tr:hover {
        background: color-mix(in srgb, var(--primary-weak) 34%, transparent);
      }
      .table-wrap tbody tr:hover td {
        background: transparent !important;
      }
    }
    .table-wrap tbody tr:active {
      transform: none;
      background: color-mix(in srgb, var(--primary-weak) 42%, transparent);
    }

    .row-action-menu-list,
    .more-actions-menu {
      border: 1px solid var(--hairline);
      background: var(--sys-surface);
      box-shadow: var(--shadow-s2);
    }
    .row-action-menu-list .btn,
    .more-actions-menu button,
    .more-actions-menu .menu-link {
      border-color: transparent;
    }
    @media (hover:hover) and (pointer:fine){
      .row-action-menu-list .btn:hover,
      .more-actions-menu button:hover,
      .more-actions-menu .menu-link:hover {
        background: color-mix(in srgb, var(--primary-weak) 26%, transparent);
      }
    }

    .search-input,
    .ios-mini-input,
    input,
    select,
    textarea {
      border-color: var(--hairline);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.66);
    }
    .search-input:focus,
    .ios-mini-input:focus,
    input:focus:not([type="checkbox"]):not([type="radio"]),
    select:focus,
    textarea:focus {
      border-color: color-mix(in srgb, var(--primary) 48%, var(--hairline));
      box-shadow: var(--ring), inset 0 1px 0 rgba(255,255,255,.8);
    }
    input[type="checkbox"]:focus,
    input[type="checkbox"]:focus-visible,
    input[type="radio"]:focus,
    input[type="radio"]:focus-visible {
      outline: none;
      box-shadow: none;
    }

    /* S1/S2 elevation tokens + unified press language */
    .elev-s1 { box-shadow: var(--shadow-s1) !important; }
    .elev-s2 { box-shadow: var(--shadow-s2) !important; }
    .card,
    .ios-list,
    .ios-form,
    .table-wrap,
    .stat-pill,
    .search-suggest,
    .row-action-menu-list,
    .more-actions-menu { box-shadow: var(--shadow-s1); }
    .modal,
    .drawer,
    .toast { box-shadow: var(--shadow-s2); }

    .search-suggest,
    .row-action-menu-list,
    .more-actions-menu {
      border-color: var(--hairline) !important;
      background: var(--sys-surface);
    }
    .search-suggest-item,
    .row-action-menu-list .btn,
    .more-actions-menu button,
    .more-actions-menu .menu-link {
      transition:
        background var(--ios-nav-hover-ms) var(--ios-ease),
        transform var(--ios-nav-press-ms) var(--ios-ease),
        filter var(--ios-nav-press-ms) var(--ios-ease);
      -webkit-tap-highlight-color: transparent;
    }
    @media (hover:hover) and (pointer:fine){
      .search-suggest-item:hover,
      .row-action-menu-list .btn:hover,
      .more-actions-menu button:hover,
      .more-actions-menu .menu-link:hover {
        background: color-mix(in srgb, var(--primary-weak) 30%, transparent);
      }
    }
    .search-suggest-item:active,
    .row-action-menu-list .btn:active,
    .more-actions-menu button:active,
    .more-actions-menu .menu-link:active {
      transform: translateY(var(--press-shift)) scale(var(--press-scale));
      filter: saturate(.98) brightness(.99);
    }

    .table-wrap tbody tr:active td {
      background: transparent !important;
      transform: none !important;
    }
    .ios-list .ios-cell:active {
      transform: translateY(var(--press-shift)) scale(.998);
    }

    /* Semantic tones: buttons, pills, status, toast */
    .btn-success {
      color: var(--tone-success-fg) !important;
      border-color: var(--tone-success-border) !important;
      background: linear-gradient(180deg, color-mix(in srgb, var(--tone-success-bg) 90%, #fff), var(--tone-success-bg)) !important;
    }
    .btn-warning {
      color: var(--tone-warning-fg) !important;
      border-color: var(--tone-warning-border) !important;
      background: linear-gradient(180deg, color-mix(in srgb, var(--tone-warning-bg) 92%, #fff), var(--tone-warning-bg)) !important;
    }
    .btn-danger {
      color: var(--tone-danger-fg) !important;
      border-color: var(--tone-danger-border) !important;
      background: linear-gradient(180deg, color-mix(in srgb, var(--tone-danger-bg) 92%, #fff), var(--tone-danger-bg)) !important;
    }

    .ios-pill.ios-tag-ok,
    .ios-tag-ok {
      color: var(--tone-success-fg) !important;
      border-color: var(--tone-success-border) !important;
      background: var(--tone-success-bg) !important;
    }
    .ios-pill.ios-tag-off,
    .ios-tag-off {
      color: var(--tone-warning-fg) !important;
      border-color: var(--tone-warning-border) !important;
      background: var(--tone-warning-bg) !important;
    }
    .ios-pill.ios-tag-danger,
    .ios-tag-danger {
      color: var(--tone-danger-fg) !important;
      border-color: var(--tone-danger-border) !important;
      background: var(--tone-danger-bg) !important;
    }
    .ios-pill.ios-tag-info,
    .ios-tag-info {
      color: var(--tone-info-fg) !important;
      border-color: var(--tone-info-border) !important;
      background: var(--tone-info-bg) !important;
    }
    .ios-pill.ios-tag-aftersale,
    .ios-tag-aftersale {
      color: var(--tone-aftersale-fg) !important;
      border-color: var(--tone-aftersale-border) !important;
      background: var(--tone-aftersale-bg) !important;
    }

    .auth-status.ok {
      color: var(--tone-success-fg) !important;
      border-color: var(--tone-success-border) !important;
      background: var(--tone-success-bg) !important;
    }
    .auth-status.off {
      color: var(--tone-warning-fg) !important;
      border-color: var(--tone-warning-border) !important;
      background: var(--tone-warning-bg) !important;
    }

    .toast {
      border-left-width: 4px;
      border-left-style: solid;
    }
    .toast[data-tone="success"]{
      color: var(--tone-success-fg);
      border-left-color: var(--tone-success-border) !important;
      background: color-mix(in srgb, var(--tone-success-bg) 28%, var(--sys-surface));
    }
    .toast[data-tone="warning"]{
      color: var(--tone-warning-fg);
      border-left-color: var(--tone-warning-border) !important;
      background: color-mix(in srgb, var(--tone-warning-bg) 30%, var(--sys-surface));
    }
    .toast[data-tone="danger"]{
      color: var(--tone-danger-fg);
      border-left-color: var(--tone-danger-border) !important;
      background: color-mix(in srgb, var(--tone-danger-bg) 30%, var(--sys-surface));
    }
    .toast[data-tone="info"]{
      color: var(--tone-info-fg);
      border-left-color: var(--tone-info-border) !important;
      background: color-mix(in srgb, var(--tone-info-bg) 30%, var(--sys-surface));
    }

    /* Page-level fine tuning: sidebar / dense tables */
    .sidebar .logo-text{
      font-weight: 560;
      letter-spacing: 0.012em;
      color: color-mix(in srgb, var(--text) 78%, var(--muted) 22%);
    }
    .sidebar .nav button{
      min-height: 44px;
      padding: 10px 12px;
    }
    .sidebar .nav button span:first-child{
      font-size: 0.96rem;
      font-weight: 520;
      letter-spacing: 0.004em;
      color: color-mix(in srgb, var(--text) 76%, var(--muted) 24%);
    }
    .sidebar .nav button span:last-child{
      opacity: 0.32;
      font-size: 0.8rem;
      font-weight: 520;
    }
    .sidebar .nav button.active{
      background: color-mix(in srgb, var(--primary-weak) 70%, transparent) !important;
      box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 22%, transparent) !important;
    }
    .sidebar-account {
      border-color: transparent !important;
      box-shadow: none !important;
    }
    .sidebar-account-user { font-weight: 600; letter-spacing: -0.02em; }
    .sidebar-account-role { font-weight: 650; }
    #logoutBtn.ios-sidebar-logout-row {
      border-color: transparent !important;
      box-shadow: none !important;
    }

    /* Sidebar fusion pass: iOS structure + stable density */
    .sidebar{
      padding: max(14px, env(safe-area-inset-top)) 14px 12px;
      gap: 12px;
      background: var(--sys-surface);
      border-right: 1px solid var(--hairline);
      box-shadow: 10px 0 28px rgba(15,23,42,.05), inset -1px 0 0 rgba(255,255,255,.48);
    }
    .sidebar .nav{
      gap: 7px;
      padding-right: 2px;
    }
    .sidebar .nav button{
      min-height: 46px;
      padding: 10px 12px;
      border-radius: 12px;
      border: 1px solid transparent;
      background: transparent;
      box-shadow: none;
    }
    .sidebar .nav button::before{
      display: none;
    }
    .sidebar .nav button span:first-child{
      font-size: .95rem;
      font-weight: 600;
      letter-spacing: .002em;
      line-height: 1.2;
    }
    .sidebar .nav button span:last-child{
      opacity: .28;
      font-size: .78rem;
      font-weight: 620;
    }
    .sidebar .nav button:hover{
      background: color-mix(in srgb, var(--sys-bg) 78%, var(--sys-surface));
      border-color: var(--hairline);
      box-shadow: none;
      transform: none;
    }
    .sidebar .nav button.active{
      background: color-mix(in srgb, var(--primary-weak) 48%, var(--sys-surface)) !important;
      border-color: color-mix(in srgb, var(--primary) 18%, var(--hairline)) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.68) !important;
      color: color-mix(in srgb, var(--text) 88%, var(--primary));
      transform: none;
    }
    .sidebar .nav button.active::before{
      display:none;
    }
    .sidebar-footer{
      margin-top: 10px;
      padding-top: 12px;
      border-top: 1px solid var(--hairline);
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .sidebar-settings-group{
      border: none;
      background: transparent;
      box-shadow: none;
      border-radius: 0;
    }
    .sidebar-account{
      padding: 0;
      background: transparent;
      border-radius: 0;
    }
    .sidebar-account-user {
      color: var(--text);
    }
    .sidebar-account-role {
      color: color-mix(in srgb, var(--text) 58%, var(--muted));
    }
    .sidebar-account-hint {
      color: var(--muted);
      font-weight: 400;
    }
    [data-theme="dark"] .sidebar{
      box-shadow: 10px 0 28px rgba(2,6,23,.26), inset -1px 0 0 rgba(148,163,184,.12);
    }
    [data-theme="dark"] .sidebar .nav button::before{
      background: color-mix(in srgb, var(--muted-strong) 30%, transparent);
      box-shadow: inset 0 1px 0 rgba(226,232,240,.10);
    }
    [data-theme="dark"] .sidebar .nav button:hover{
      background: color-mix(in srgb, var(--tone-info-bg) 30%, transparent);
      border-color: color-mix(in srgb, var(--tone-info-border) 28%, var(--hairline));
    }
    [data-theme="dark"] .sidebar .nav button.active{
      background: color-mix(in srgb, var(--tone-info-bg) 38%, transparent) !important;
      border-color: color-mix(in srgb, var(--tone-info-border) 34%, var(--hairline)) !important;
    }

    /* Native iOS refinement (v3): calmer structure + system rhythm */
    .sidebar{
      background: var(--sys-bg);
      border-right: 1px solid var(--sys-separator);
      box-shadow: inset -1px 0 0 rgba(255,255,255,.56);
      padding: max(14px, env(safe-area-inset-top)) 12px 12px;
      gap: 10px;
    }
    .sidebar .logo{
      min-height: 40px;
      padding: 0 4px;
    }
    .sidebar .logo-text{
      font-weight: 560;
      letter-spacing: 0.012em;
      color: color-mix(in srgb, var(--text) 78%, var(--muted) 22%);
    }
    .sidebar .nav{
      gap: 6px;
      padding-right: 0;
    }
    .sidebar .nav button{
      min-height: 44px;
      padding: 10px 12px;
      border-radius: 11px;
      background: var(--sys-surface);
      border: 1px solid var(--sys-separator);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
      transition:
        background var(--motion-component-ms) var(--ios-ease),
        border-color var(--motion-component-ms) var(--ios-ease),
        color var(--motion-component-ms) var(--ios-ease),
        transform var(--motion-micro-ms) var(--ios-ease);
      transform: translateZ(0);
    }
    .sidebar .nav button::before{
      display: none;
    }
    .sidebar .nav button span:first-child{
      font-size: .95rem;
      font-weight: 600;
      letter-spacing: .002em;
      color: var(--text);
    }
    .sidebar .nav button span:last-child{
      opacity: .3;
      font-size: .78rem;
      font-weight: 620;
      color: var(--muted-strong);
    }
    @media (hover:hover) and (pointer:fine){
      .sidebar .nav button:hover{
        background: color-mix(in srgb, var(--sys-bg) 72%, var(--sys-surface));
        border-color: color-mix(in srgb, var(--sys-separator-strong) 90%, transparent);
        transform: none;
      }
    }
    .sidebar .nav button:active{
      transform: scale(.986);
      background: color-mix(in srgb, var(--primary-weak) 38%, var(--sys-surface));
      border-color: color-mix(in srgb, var(--primary) 20%, var(--sys-separator));
    }
    .sidebar .nav button.active{
      background: color-mix(in srgb, var(--primary-weak) 42%, var(--sys-surface)) !important;
      border-color: color-mix(in srgb, var(--primary) 22%, var(--sys-separator)) !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
    }
    .sidebar .nav button.active span:first-child{
      color: color-mix(in srgb, var(--primary) 86%, var(--text));
      font-weight: 620;
    }
    .sidebar-footer{
      border-top: 1px solid var(--sys-separator);
      margin-top: 8px;
      padding-top: 10px;
    }
    .sidebar-settings-group{
      border: none;
      background: transparent;
      box-shadow: none;
      border-radius: 0;
      overflow: visible;
    }
    .sidebar-group-head{
      background: transparent;
      border-bottom: none;
      color: var(--muted-strong);
      font-weight: 600;
      letter-spacing: .08em;
    }
    .sidebar-account{
      background: transparent;
      padding: 0;
    }
    .sidebar-account:hover{
      background: rgba(99, 116, 145, 0.06);
    }
    .sidebar-account:active{
      transform: scale(.988);
      background: rgba(99, 116, 145, 0.09);
    }
    .sidebar-account-user {
      color: var(--text);
    }
    .sidebar-account-role {
      color: color-mix(in srgb, var(--text) 58%, var(--muted));
    }
    .sidebar-account-hint {
      color: var(--muted);
      font-weight: 400;
    }
    [data-theme="dark"] .sidebar{
      background: color-mix(in srgb, var(--sys-bg) 84%, #0f172a);
      box-shadow: inset -1px 0 0 rgba(148,163,184,.12);
    }
    [data-theme="dark"] .sidebar .nav button{
      background: color-mix(in srgb, var(--sys-surface) 92%, #0f172a);
      border-color: color-mix(in srgb, var(--sys-separator) 92%, transparent);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
    }
    [data-theme="dark"] .sidebar .nav button.active{
      background: color-mix(in srgb, var(--tone-info-bg) 32%, var(--sys-surface)) !important;
      border-color: color-mix(in srgb, var(--tone-info-border) 34%, var(--sys-separator)) !important;
    }

    /* iOS finish pass: 8pt grid + type hierarchy + tactile press */
    .sidebar{
      padding: max(16px, env(safe-area-inset-top)) 12px 12px;
      gap: 8px;
    }
    .sidebar .logo{
      min-height: 40px;
      padding: 0 4px;
      margin-bottom: 2px;
    }
    .sidebar .nav{
      gap: 8px;
    }
    .sidebar .nav button{
      min-height: 44px;
      padding: 10px 12px;
      border-radius: 12px;
      font-size: .95rem;
      letter-spacing: .001em;
    }
    .sidebar .nav button span:first-child{
      font-weight: 590;
      font-size: .95rem;
      line-height: 1.18;
    }
    .sidebar .nav button span:last-child{
      font-size: .78rem;
      font-weight: 600;
      opacity: .28;
    }
    .sidebar .nav button.active span:first-child{
      font-weight: 620;
    }
    .sidebar-footer{
      margin-top: 8px;
      padding-top: 8px;
      padding-bottom: max(10px, env(safe-area-inset-bottom));
    }
    .sidebar-settings-group{
      border-radius: 0;
    }
    .sidebar-group-head{
      padding: 6px 4px 8px;
      font-size: .69rem;
      line-height: 1.2;
      font-weight: 600;
    }
    .sidebar-account{
      padding: 0;
    }
    .sidebar-account-user {
      font-size: 1.02rem;
      line-height: 1.24;
      font-weight: 600;
      letter-spacing: -0.02em;
    }
    .sidebar-account-role {
      font-size: 0.6875rem;
      font-weight: 600;
      line-height: 1.2;
    }
    .sidebar-account-hint {
      margin-top: 8px;
      font-size: 0.74rem;
      line-height: 1.4;
      font-weight: 400;
    }
    @media (max-width: 768px){
      .sidebar{
        padding: max(12px, env(safe-area-inset-top)) 10px 10px;
      }
      .sidebar .nav{
        gap: 7px;
      }
      .sidebar .nav button{
        min-height: 46px;
        padding: 11px 11px;
        border-radius: 12px;
      }
      .sidebar .nav button:active{
        transform: scale(.982);
        background: color-mix(in srgb, var(--primary-weak) 46%, var(--sys-surface));
        border-color: color-mix(in srgb, var(--primary) 24%, var(--sys-separator));
      }
      .sidebar .nav button.active{
        background: color-mix(in srgb, var(--primary-weak) 48%, var(--sys-surface)) !important;
      }
    }

    /* 侧栏导航：iOS / macOS — 流体字阶与行高；桌面为极轻纵向材质 + 分层阴影 */
    @media (min-width: 1024px) {
      .sidebar {
        background:
          linear-gradient(
            180deg,
            color-mix(in srgb, #ffffff 24%, var(--sys-bg)) 0%,
            var(--sys-bg) 36%,
            color-mix(in srgb, var(--sys-bg) 90%, #c6c6cc 10%) 100%
          ) !important;
        box-shadow:
          inset -1px 0 0 rgba(60, 60, 67, 0.055),
          inset 0 1px 0 rgba(255, 255, 255, 0.42),
          10px 0 38px rgba(15, 23, 42, 0.042) !important;
      }
      [data-theme="dark"] .sidebar {
        background:
          linear-gradient(
            180deg,
            color-mix(in srgb, var(--sys-bg) 86%, #2c2c31) 0%,
            var(--sys-bg) 42%,
            color-mix(in srgb, #000000 18%, var(--sys-bg)) 100%
          ) !important;
        box-shadow:
          inset -1px 0 0 rgba(255, 255, 255, 0.05),
          inset 0 1px 0 rgba(255, 255, 255, 0.035),
          12px 0 44px rgba(0, 0, 0, 0.36) !important;
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing){
      gap: var(--sb-nav-gap, 9px) !important;
      padding: clamp(2px, 0.3vw + 1px, 4px) clamp(1px, 0.2vw, 3px) clamp(4px, 0.5vw + 2px, 8px);
      overflow-x: hidden;
      overflow-y: auto;
      background: transparent;
      border: none;
      box-shadow: none;
      border-radius: 0;
      scrollbar-gutter: stable;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing){
      background: transparent;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn{
      min-height: var(--sb-nav-min-h, 46px);
      padding: 0 var(--sb-nav-pad-x) 0 calc(var(--sb-nav-pad-x) + 2px);
      border-radius: var(--sb-nav-radius, 14px) !important;
      border: none !important;
      border-bottom: none !important;
      background: rgba(255, 255, 255, 0.94) !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.045),
        0 1px 2px rgba(15, 23, 42, 0.035),
        0 3px 12px rgba(15, 23, 42, 0.045) !important;
      -webkit-backdrop-filter: blur(18px) saturate(165%);
      backdrop-filter: blur(18px) saturate(165%);
      transition:
        background-color 0.24s var(--ios-response),
        box-shadow 0.28s var(--ios-response),
        transform 0.15s var(--ios-press-ease),
        border-color 0.24s var(--ios-response);
    }
    @supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn {
        background: #ffffff !important;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:last-child{
      border-bottom: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before{
      display: none !important;
    }
    @media (hover: hover) and (pointer: fine){
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover{
        background: rgba(255, 255, 255, 1) !important;
        box-shadow:
          0 0 0 0.5px rgba(60, 60, 67, 0.05),
          0 2px 4px rgba(15, 23, 42, 0.042),
          0 8px 22px rgba(15, 23, 42, 0.065) !important;
        transform: none;
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active{
      transform: scale(0.984);
      background: #ebebed !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.04),
        0 1px 1px rgba(15, 23, 42, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active{
      background: #e5e5ea !important;
      border-color: transparent !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.05),
        0 1px 2px rgba(15, 23, 42, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active:active{
      background: #dcdce0 !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child{
      font-size: var(--sb-nav-fs, 1.0625rem);
      font-weight: 400;
      letter-spacing: 0.01em;
      line-height: var(--sb-nav-lh, 1.28);
      color: color-mix(in srgb, var(--text) 88%, var(--muted) 12%);
      transition: color 0.22s var(--ios-response), font-weight 0.22s var(--ios-response);
      -webkit-font-smoothing: antialiased;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child{
      font-weight: 500;
      color: var(--text);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-chevron{
      opacity: 0.34;
      font-weight: 500;
      font-size: var(--sb-nav-chevron-fs, 1rem);
      color: color-mix(in srgb, var(--muted) 90%, var(--text) 10%);
      transition: opacity 0.22s var(--ios-response), color 0.22s var(--ios-response), transform 0.22s var(--ios-response);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-chevron{
      opacity: 0.42;
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover .ios-nav-chevron {
        opacity: 0.4;
      }
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn{
      background: color-mix(in srgb, var(--sys-surface) 88%, #0b1220 12%) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
      -webkit-backdrop-filter: blur(16px) saturate(145%);
      backdrop-filter: blur(16px) saturate(145%);
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover{
      background: color-mix(in srgb, var(--sys-surface) 92%, #0f172a) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.07),
        0 2px 8px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active{
      background: rgba(255, 255, 255, 0.1) !important;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25) !important;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active{
      background: rgba(255, 255, 255, 0.14) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child{
      color: color-mix(in srgb, var(--text) 82%, var(--muted) 18%);
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child{
      font-weight: 500;
      color: color-mix(in srgb, var(--text) 94%, var(--muted) 6%);
    }
    @media (prefers-reduced-motion: reduce) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-chevron,
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
        transition: none !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active {
        transform: none;
      }
    }
    html[data-motion="off"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active {
      transform: none;
    }
    /* 编辑顺序模式仍用原 ios-nav-editing 分组样式，此处仅兜底非编辑下的扁平行 */
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn{
      min-height: 44px;
    }

    .table-wrap th{
      font-size: .78rem;
      letter-spacing: .025em;
      font-weight: 700;
      color: color-mix(in srgb, var(--text) 74%, var(--muted));
      border-bottom-color: var(--hairline-strong);
    }
    .table-wrap td{
      font-size: .88rem;
      line-height: 1.42;
    }
    .table-wrap tbody tr td{
      transition: background-color var(--ios-nav-hover-ms) var(--ios-ease), color var(--ios-nav-hover-ms) var(--ios-ease);
    }
    /* 勿对 td 单独 scale：会在按压/长按时出现「白色格子」接缝感 */
    .table-wrap tbody tr:active td {
      transform: none;
    }
    [data-theme="dark"] .table-wrap th{
      color: color-mix(in srgb, #fff 72%, var(--muted));
      border-bottom-color: var(--hairline-strong);
    }

    /* Semantic motion refinement: danger > warning > success/info */
    @keyframes toneInSuccess {
      from { opacity: 0; transform: translateY(6px) scale(.992); filter: saturate(.96); }
      to { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
    }
    @keyframes toneInWarning {
      from { opacity: 0; transform: translateY(7px) scale(.988); filter: saturate(.94); }
      to { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
    }
    @keyframes toneInDanger {
      0% { opacity: 0; transform: translateY(9px) scale(.982); filter: saturate(.9); }
      55% { opacity: 1; transform: translateY(-1px) scale(1.003); filter: saturate(1.03); }
      100% { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
    }
    @keyframes tonePulseDanger {
      0% { box-shadow: 0 0 0 0 rgba(239,68,68,.18); }
      100% { box-shadow: 0 0 0 8px rgba(239,68,68,0); }
    }
    .toast[data-tone="success"],
    .toast[data-tone="info"]{
      animation: toneInSuccess .22s var(--ios-ease) both;
    }
    .toast[data-tone="warning"]{
      animation: toneInWarning .24s var(--ios-ease) both;
    }
    .toast[data-tone="danger"]{
      animation: toneInDanger .28s var(--ios-ease) both;
    }
    .toast[data-tone="danger"]::after{
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      animation: tonePulseDanger .7s var(--ios-ease) 1;
    }

    [data-motion="lite"] .toast[data-tone="success"],
    [data-motion="lite"] .toast[data-tone="info"]{
      animation-duration: .2s;
    }
    [data-motion="lite"] .toast[data-tone="warning"]{
      animation-duration: .22s;
    }
    [data-motion="lite"] .toast[data-tone="danger"]{
      animation-duration: .24s;
    }
    [data-motion="lite"] {
      --motion-micro-ms: .10s;
      --motion-component-ms: .18s;
      --motion-container-ms: .22s;
      --motion-screen-ms: .26s;
      /* 轻量动效：侧栏 / 抽屉更接近「秒开」 */
      --ios-sheet-dur: 0.28s;
      --ios-sheet-dur-close: 0.22s;
      --ios-ui-duration: 0.22s;
    }
    [data-motion="off"] .toast[data-tone],
    [data-motion="off"] .toast[data-tone]::after{
      animation: none !important;
      transition: none !important;
    }
    [data-motion="off"] {
      --motion-micro-ms: .01ms;
      --motion-component-ms: .01ms;
      --motion-container-ms: .01ms;
      --motion-screen-ms: .01ms;
    }

    /* Semantic interaction refinement (buttons + pills + status) */
    .btn-success:focus-visible {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--tone-success-border) 70%, transparent) !important;
    }
    .btn-warning:focus-visible {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--tone-warning-border) 72%, transparent) !important;
    }
    .btn-danger:focus-visible {
      box-shadow: 0 0 0 4px color-mix(in srgb, var(--tone-danger-border) 74%, transparent) !important;
    }
    @media (hover:hover) and (pointer:fine){
      /* 工具栏等处的语义按钮 hover 不用 filter，避免阴影残缺 */
      .btn-success:hover,
      .btn-warning:hover,
      .btn-danger:hover {
        filter: none;
      }
      .ios-pill.ios-tag-ok:hover,
      .auth-status.ok:hover {
        filter: saturate(1.04);
      }
      .ios-pill.ios-tag-off:hover,
      .auth-status.off:hover {
        filter: saturate(1.05);
      }
      .ios-pill.ios-tag-danger:hover {
        filter: saturate(1.06);
      }
      .ios-pill.ios-tag-info:hover,
      .ios-pill.ios-tag-aftersale:hover {
        filter: saturate(1.04);
      }
    }
    .ios-pill.ios-tag-ok:active,
    .ios-pill.ios-tag-off:active,
    .ios-pill.ios-tag-danger:active,
    .ios-pill.ios-tag-info:active,
    .ios-pill.ios-tag-aftersale:active,
    .auth-status.ok:active,
    .auth-status.off:active {
      transform: translateY(var(--press-shift)) scale(var(--press-scale));
    }

    .toast[data-tone] {
      animation-fill-mode: both;
      will-change: transform, opacity;
    }

    /* Motion rhythm unification */
    .btn,
    .nav button,
    .search-suggest-item,
    .row-action-menu-list .btn,
    .more-actions-menu button,
    .more-actions-menu .menu-link {
      transition-duration: var(--motion-micro-ms), var(--motion-component-ms), var(--motion-component-ms), var(--motion-component-ms), var(--motion-micro-ms) !important;
      transition-timing-function: var(--ios-spring-settle), var(--ios-sheet-ease-out), var(--ios-sheet-ease-out), var(--ios-sheet-ease-out), var(--ios-spring-settle) !important;
    }
    .content,
    .content.ios-page-prep {
      transition-timing-function: var(--ios-sheet-ease-out), var(--ios-ease-decel) !important;
    }
    .modal,
    .modal-backdrop {
      transition-timing-function: var(--ios-ease) !important;
    }
    .drawer-body {
      transition-timing-function: var(--ios-sheet-ease-out), var(--ios-ease-decel) !important;
    }
    .drawer {
      transition-timing-function: var(--ios-sheet-ease) !important;
    }
    .backdrop {
      transition-timing-function: var(--ios-sheet-ease-out) !important;
    }
    .content {
      transition-duration: var(--motion-container-ms), var(--motion-screen-ms) !important;
    }
    .drawer {
      transition-duration: var(--motion-screen-ms) !important;
    }
    .drawer.closing {
      transition-timing-function: var(--ios-sheet-ease-out) !important;
      transition-duration: var(--ios-sheet-dur-close) !important;
    }
    .drawer-body {
      transition-duration: var(--motion-component-ms), var(--motion-component-ms) !important;
    }
    .backdrop,
    .modal-backdrop {
      transition-duration: var(--motion-component-ms) !important;
    }
    .modal {
      animation-duration: var(--motion-container-ms) !important;
      animation-timing-function: var(--ios-ease-decel) !important;
    }
    .modal.closing {
      animation-duration: var(--motion-component-ms) !important;
      animation-timing-function: var(--ios-ease-decel) !important;
    }
    .toast {
      animation-duration: var(--motion-component-ms) !important;
      animation-timing-function: var(--ios-ease-decel) !important;
    }
    [data-motion="lite"] .ios-risk-shake-high,
    [data-motion="lite"] .ios-risk-shake-mid,
    [data-motion="lite"] .ios-risk-shake-low {
      animation-duration: 5.2s !important;
      animation-timing-function: ease-out !important;
    }
    [data-motion="lite"] .ios-micro-gloss:hover::after {
      animation-duration: 1.2s !important;
      opacity: .52 !important;
    }
    [data-motion="off"] .ios-risk-shake-high,
    [data-motion="off"] .ios-risk-shake-mid,
    [data-motion="off"] .ios-risk-shake-low,
    [data-motion="off"] .ios-micro-gloss::after,
    [data-motion="off"] .ios-depth-card,
    [data-motion="off"] .ios-module-stack > .card,
    [data-motion="off"] .btn,
    [data-motion="off"] .nav button,
    [data-motion="off"] .section-nav .btn,
    [data-motion="off"] .filter-bar .btn,
    [data-motion="off"] .toolbar-actions .btn {
      animation: none !important;
      transition-duration: .01ms !important;
      transition-delay: 0ms !important;
    }
    /* 仅 layout：勿加 paint，否则子元素 box-shadow 画出边界会被裁成「残缺阴影」 */
    .module-layout-toolbar,
    .toolbar-actions,
    .section-nav {
      contain: layout;
    }
    /* Authoritative bottom-safe layer (iOS style) */
    :root { --ios-bottom-safe: max(12px, env(safe-area-inset-bottom)); }
    .ios-module-stack > .card:last-child {
      margin-bottom: var(--ios-bottom-safe);
    }
    .module-layout-toolbar {
      margin-bottom: var(--ios-bottom-safe);
    }
    .modal {
      max-height: min(86dvh, 920px);
    }
    .modal-body,
    .drawer-body {
      padding-bottom: max(16px, calc(var(--ios-bottom-safe) + 8px));
      scroll-padding-bottom: max(96px, calc(var(--ios-bottom-safe) + 72px));
    }
    .modal-footer {
      position: sticky;
      bottom: 0;
      z-index: 3;
      padding-bottom: max(12px, var(--ios-bottom-safe));
      background: rgba(255,255,255,.76);
      backdrop-filter: blur(14px) saturate(125%);
      -webkit-backdrop-filter: blur(14px) saturate(125%);
      box-shadow: 0 -8px 20px rgba(15,23,42,.08);
    }
    [data-theme="dark"] .modal-footer {
      background: rgba(15,23,42,.76);
      box-shadow: 0 -10px 22px rgba(2,6,23,.34);
    }
    .modal-footer .btn {
      min-height: 40px;
      border-radius: 12px;
    }
    .ios-actions,
    .ios-sync-footer-actions,
    .drawer-actions-grid {
      padding-bottom: max(6px, calc(var(--ios-bottom-safe) * .35));
    }
    .ios-actions .btn,
    .ios-sync-footer-actions .btn,
    .drawer-actions-grid .btn {
      min-height: 40px;
      border-radius: 12px;
    }
    #toastContainer {
      padding-bottom: max(0px, calc(var(--ios-bottom-safe) - 8px));
    }
    .toast {
      border: 1px solid rgba(148,163,184,.22);
      border-left-width: 4px;
      background: rgba(255,255,255,.86);
      backdrop-filter: blur(14px) saturate(125%);
      -webkit-backdrop-filter: blur(14px) saturate(125%);
      box-shadow: 0 10px 24px rgba(15,23,42,.16);
    }
    [data-theme="dark"] .toast {
      background: rgba(15,23,42,.82);
      border-color: rgba(148,163,184,.26);
      box-shadow: 0 12px 28px rgba(2,6,23,.42);
    }

    /* Global iOS final harmonization (outside sidebar) */
    .topbar .page-title h2,
    .page-title h2{
      font-weight: 650 !important;
      letter-spacing: .002em !important;
    }
    .topbar .page-title p,
    .ios-card-title .subtitle,
    .card .subtitle{
      color: var(--muted-strong) !important;
      font-weight: 560 !important;
      letter-spacing: .002em;
    }
    .card > strong,
    .ios-card-title strong{
      font-weight: 640 !important;
      letter-spacing: .003em !important;
    }
    .ios-cell-title{
      font-weight: 600 !important;
      letter-spacing: .001em !important;
      line-height: 1.3 !important;
    }
    .ios-cell-sub{
      color: var(--muted-strong) !important;
      font-weight: 560 !important;
      line-height: 1.4 !important;
    }
    .btn,
    .section-nav .btn,
    .filter-bar .btn,
    .toolbar-actions .btn{
      font-weight: 600 !important;
      letter-spacing: .002em !important;
      border-radius: 12px !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.7) !important;
      transition-duration: var(--motion-component-ms) !important;
    }
    .btn:hover,
    .section-nav .btn:hover,
    .filter-bar .btn:hover,
    .toolbar-actions .btn:hover{
      transform: none !important;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 6px 14px rgba(15,23,42,.08) !important;
    }
    .btn.btn-primary:hover,
    .filter-bar .btn.btn-primary:hover,
    .toolbar-actions .btn.btn-primary:hover {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 6px 18px rgba(37, 99, 235, 0.2) !important;
    }
    .btn.btn-danger:hover,
    .filter-bar .btn.btn-danger:hover,
    .toolbar-actions .btn.btn-danger:hover {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 6px 18px rgba(220, 38, 38, 0.18) !important;
    }
    [data-theme="dark"] .btn.btn-primary:hover,
    [data-theme="dark"] .filter-bar .btn.btn-primary:hover,
    [data-theme="dark"] .toolbar-actions .btn.btn-primary:hover {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 6px 20px rgba(59, 130, 246, 0.32) !important;
    }
    [data-theme="dark"] .btn.btn-danger:hover,
    [data-theme="dark"] .filter-bar .btn.btn-danger:hover,
    [data-theme="dark"] .toolbar-actions .btn.btn-danger:hover {
      box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 6px 20px rgba(248, 113, 113, 0.22) !important;
    }
    .btn:active,
    .section-nav .btn:active,
    .filter-bar .btn:active,
    .toolbar-actions .btn:active{
      transform: scale(.986) !important;
    }
    .search-input{
      font-weight: 560 !important;
      border-radius: 12px !important;
      letter-spacing: .001em;
    }
    .table-wrap th{
      font-weight: 640 !important;
      letter-spacing: .02em !important;
      color: color-mix(in srgb, var(--text) 78%, var(--muted)) !important;
      background: color-mix(in srgb, var(--sys-bg) 72%, var(--sys-surface)) !important;
    }
    .table-wrap td{
      font-size: .87rem !important;
      line-height: 1.42 !important;
    }
    .ios-module-stack .table-wrap{
      contain: layout paint;
      content-visibility: auto;
      contain-intrinsic-size: 560px;
      will-change: transform;
    }
    .ios-module-stack .table-wrap tbody{
      contain: content;
    }
    .ios-module-stack .table-wrap tbody tr{
      contain: layout paint;
    }
    @media (hover:none){
      .ios-module-stack .table-wrap tbody tr:hover td{
        background: inherit !important;
      }
    }

    /* Step-up pack: interaction fidelity + visual stability */
    :where(
      .btn,
      .search-input,
      .ios-mini-input,
      .nav button,
      .ios-cell,
      .ios-hub-member,
      .ios-hub-send-btn
    ):focus-visible{
      outline: none !important;
      box-shadow: var(--ring) !important;
      border-color: color-mix(in srgb, var(--primary) 46%, var(--hairline)) !important;
    }
    .global-search-wrap .search-input:focus-visible{
      box-shadow: none !important;
      border-color: transparent !important;
    }
    /* 晚于全局 input:focus / .search-input:focus，彻底去掉顶栏搜索内框的第二层 ring，避免与外层 focus-within 叠影 */
    .topbar .actions .global-search-wrap #globalSearch.search-input:focus,
    .topbar .actions .global-search-wrap #globalSearch.search-input:focus-visible{
      outline: none !important;
      box-shadow: none !important;
      border-color: transparent !important;
    }
    .ios-module-stack > .card{
      contain: layout;
      border-radius: 16px;
      border: 1px solid var(--sys-separator);
      box-shadow: var(--shadow-s1), var(--inner-highlight);
      transition:
        box-shadow 0.28s var(--ios-sheet-ease-out),
        transform 0.24s var(--ios-spring-settle),
        border-color 0.24s var(--ios-ease);
    }
    @media (hover: hover) and (pointer: fine) {
      .ios-module-stack > .card:hover {
        border-color: color-mix(in srgb, var(--sys-separator-strong) 55%, transparent);
        box-shadow:
          0 12px 32px rgba(15, 23, 42, 0.08),
          var(--inner-highlight);
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-module-stack > .card {
        transition: none;
      }
    }
    .ios-card-head{
      gap: 8px;
      margin-bottom: 8px;
    }
    .topbar .actions .btn{
      min-height: 40px;
      border-radius: 12px;
    }
    .ios-list > .ios-cell{
      transition:
        background var(--motion-component-ms) var(--ios-ease),
        transform var(--motion-micro-ms) var(--ios-ease),
        border-color var(--motion-component-ms) var(--ios-ease);
    }
    .ios-list > .ios-cell:active{
      transform: scale(.996);
    }
    .filter-bar,
    .toolbar-actions{
      gap: 8px;
    }
    .filter-bar,
    .ios-card-head .btn-group{
      contain: layout;
      will-change: transform;
    }
    /* 顶栏操作区：勿用 content-visibility / 过小 contain-intrinsic / layout containment，否则 #globalSearchSuggest 在手机上被裁切或叠在主题、新增按钮之下 */
    .topbar .actions {
      contain: none;
      content-visibility: visible;
      contain-intrinsic-size: unset;
      overflow: visible;
      will-change: auto;
    }
    /* 与 module-layout-toolbar 内按钮对齐：不要给 toolbar-actions 套 content-visibility / 固定 intrinsic，会裁切阴影、边缘发灰条 */
    .toolbar-actions {
      contain: layout;
      content-visibility: visible;
      contain-intrinsic-size: unset;
      will-change: auto;
    }
    .filter-bar{
      content-visibility: auto;
      contain-intrinsic-size: 52px;
    }
    @media (max-width: 768px){
      .ios-module-stack > .card{
        border-radius: 14px;
      }
      .topbar .actions .btn{
        min-height: 42px;
      }
      .ios-list > .ios-cell{
        min-height: 46px;
      }
    }

    /* —— iOS-native global tier: touch latency, rubber-band, focus zoom —— */
    @media (pointer: coarse) {
      button:not(:disabled):not([disabled]),
      .btn:not(:disabled):not([disabled]),
      .nav button:not(:disabled):not([disabled]),
      .sidebar-toggle:not(:disabled),
      .topbar .btn:not(:disabled):not([disabled]),
      .filter-bar .btn:not(:disabled):not([disabled]),
      .toolbar-actions .btn:not(:disabled):not([disabled]),
      .modal-footer .btn:not(:disabled):not([disabled]),
      .modal-header .btn:not(:disabled):not([disabled]),
      .drawer-header .btn:not(:disabled):not([disabled]),
      .ios-actions .btn:not(:disabled):not([disabled]),
      .ios-list > button.ios-cell,
      .ios-list > .ios-cell[role='button'],
      [role='tab'],
      summary {
        touch-action: manipulation;
      }
      /* 减轻触控双击缩放等待，同时保留表格横向滑动 */
      .table-wrap {
        touch-action: manipulation;
      }
    }
    /* Safari iOS: sub-16px inputs trigger page zoom on focus — breaks “native app” feel */
    @media screen and (max-width: 768px) {
      textarea,
      select,
      input:not([type='button']):not([type='submit']):not([type='reset']):not([type='checkbox']):not([type='radio']):not([type='range']):not([type='color']):not([type='file']):not([type='hidden']):not([type='image']) {
        font-size: max(16px, 1em);
      }
    }
    @media (pointer: coarse) and (prefers-reduced-motion: no-preference) {
      .btn:active,
      .nav button:active,
      .sidebar-toggle:active,
      .topbar .actions .btn:active {
        transition-duration: var(--motion-micro-ms), var(--motion-micro-ms), var(--motion-micro-ms), var(--motion-micro-ms), var(--motion-micro-ms) !important;
      }
    }

    /* Page acceptance pass: dashboard / task / analytics / hub */
    body[data-page="dashboard"] .ios-module-stack{
      gap: 14px;
    }
    /* 局部刷新补丁容器：不参与布局，保持与原 stack 直子相同的纵向间距与卡片层次 */
    /*
      勿对 live-surface 用 display:contents：双卡会成为 .ios-module-stack 的「虚构直子」，
      WebKit/Chrome 在 HTML5 拖拽与合成层晋升时易把其中一张卡画到侧栏之上（错位叠层）。
    */
    body[data-page="dashboard"] .ios-module-stack > [data-dashboard-live-surface] {
      display: flex;
      flex-direction: column;
      gap: 14px;
      min-width: 0;
      align-self: stretch;
    }
    body[data-page="dashboard"] .ios-module-stack > [data-dashboard-widgets-root] {
      display: contents;
    }
    body[data-page="dashboard"] .ios-module-stack > [data-dashboard-live-surface] > .card {
      border-radius: 22px;
      border: 1px solid color-mix(in srgb, var(--sys-separator) 85%, transparent);
      box-shadow:
        0 2px 10px rgba(15, 23, 42, 0.04),
        0 14px 38px rgba(15, 23, 42, 0.07),
        inset 0 1px 0 rgba(255, 255, 255, 0.65);
      transition:
        box-shadow 0.26s var(--ios-sheet-ease-out),
        transform 0.22s var(--ios-spring-settle),
        border-color 0.22s var(--ios-ease);
    }
    @media (hover: hover) and (pointer: fine) {
      body[data-page="dashboard"] .ios-module-stack > [data-dashboard-live-surface] > .card:hover {
        border-color: color-mix(in srgb, var(--sys-separator-strong) 70%, transparent);
        box-shadow:
          0 4px 16px rgba(15, 23, 42, 0.06),
          0 22px 52px rgba(15, 23, 42, 0.09),
          inset 0 1px 0 rgba(255, 255, 255, 0.72);
      }
    }
    [data-theme="dark"] body[data-page="dashboard"] .ios-module-stack > [data-dashboard-live-surface] > .card {
      border-color: color-mix(in srgb, var(--sys-separator) 90%, transparent);
      box-shadow:
        0 4px 18px rgba(0, 0, 0, 0.22),
        0 18px 48px rgba(0, 0, 0, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    }
    @media (hover: hover) and (pointer: fine) {
      [data-theme="dark"] body[data-page="dashboard"] .ios-module-stack > [data-dashboard-live-surface] > .card:hover {
        border-color: var(--sys-separator-strong);
        box-shadow:
          0 6px 22px rgba(0, 0, 0, 0.28),
          0 24px 58px rgba(0, 0, 0, 0.38),
          inset 0 1px 0 rgba(255, 255, 255, 0.06);
      }
    }
    body[data-page="dashboard"] .dashboard-overview .ios-card-head{
      margin-bottom: 8px;
    }
    body[data-page="dashboard"] .dashboard-overview .ios-cell{
      min-height: 48px;
      padding-top: 10px;
      padding-bottom: 10px;
    }
    body[data-page="task_center"] .ios-module-stack{
      gap: 14px;
    }
    body[data-page="task_center"] .ios-card-head,
    body[data-page="task_center"] .toolbar-actions,
    body[data-page="task_center"] .filter-bar{
      gap: 8px;
    }
    body[data-page="task_center"] .toolbar-actions .btn,
    body[data-page="task_center"] .filter-bar .btn{
      min-height: 40px;
    }
    body[data-page="analytics_center"] .ios-module-stack{
      gap: 14px;
    }
    body[data-page="analytics_center"] .analytics-kpi-strip .stat-pill{
      min-height: 44px;
      padding-top: 9px;
      padding-bottom: 9px;
    }
    body[data-page="analytics_center"] .analytics-actions-panels .card{
      padding: 14px;
    }
    body[data-page="hub_center"] .ios-hub-wrap{
      border-radius: 16px;
      border: 1px solid var(--sys-separator);
      box-shadow: var(--shadow-s1), var(--inner-highlight);
    }
    body[data-page="hub_center"] .ios-hub-chat-nav{
      min-height: 48px;
    }
    body[data-page="hub_center"] .ios-hub-member{
      min-height: 46px;
    }
    /* Hub 注入样式可能因 #ios-hub-style 只插入一次而长期缓存；此处兜底，保证 span 版置顶/侧滑条与 flex 布局一致 */
    body[data-page="hub_center"] .ios-hub-pin{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
    }
    body[data-page="hub_center"] .ios-hub-rail-chip{
      display: inline-flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      cursor: pointer;
    }

    @media (max-width: 768px){
      body[data-page="dashboard"] .ios-module-stack,
      body[data-page="task_center"] .ios-module-stack,
      body[data-page="analytics_center"] .ios-module-stack{
        gap: 12px;
      }
      body[data-page="analytics_center"] .analytics-actions-panels .card{
        padding: 12px;
      }
      body[data-page="hub_center"] .ios-hub-wrap{
        border-radius: 14px;
      }
    }
    @media (max-width: 640px) {
      .modal-footer {
        gap: 8px;
      }
      .modal-footer .btn,
      .ios-actions .btn,
      .ios-sync-footer-actions .btn,
      .drawer-actions-grid .btn {
        min-height: 42px;
      }
      .ios-actions,
      .ios-sync-footer-actions {
        gap: 8px;
      }
      #toastContainer {
        right: 10px;
        left: 10px;
        width: auto;
        bottom: max(10px, calc(var(--ios-bottom-safe) + 2px));
      }
      body.modal-open #toastContainer {
        top: max(10px, env(safe-area-inset-top));
      }
      .toast {
        border-radius: 14px;
        padding: 11px 12px;
      }
    }
    @media (max-width: 1023px) {
      .modal {
        max-height: 88dvh;
      }
      .drawer {
        height: 100dvh;
      }
      .ios-module-stack > .card:last-child,
      .module-layout-toolbar {
        margin-bottom: max(14px, var(--ios-bottom-safe));
      }
    }
    .section-nav .btn,
    .filter-bar .btn,
    .toolbar-actions .btn {
      position: relative;
      /* visible：避免外扩 box-shadow 被裁成残缺（与 contain: paint 已弱化配合） */
      overflow: visible;
    }
    .section-nav .btn::after,
    .filter-bar .btn::after,
    .toolbar-actions .btn::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.50);
      opacity: .36;
      pointer-events: none;
    }
    .section-nav .btn.active,
    .filter-bar .btn.active,
    .toolbar-actions .btn.active,
    .section-nav .btn[aria-pressed="true"],
    .filter-bar .btn[aria-pressed="true"],
    .toolbar-actions .btn[aria-pressed="true"] {
      transform: translateY(-.5px);
      box-shadow: inset 0 0 0 1px rgba(96,165,250,.28), 0 6px 14px rgba(37,99,235,.10);
    }
    .nav,
    .modal-body,
    .drawer-body {
      scrollbar-width: thin;
      scrollbar-color: rgba(148,163,184,.35) transparent;
    }
    .nav::-webkit-scrollbar,
    .modal-body::-webkit-scrollbar,
    .drawer-body::-webkit-scrollbar {
      width: 8px;
      height: 8px;
    }
    .nav::-webkit-scrollbar-thumb,
    .modal-body::-webkit-scrollbar-thumb,
    .drawer-body::-webkit-scrollbar-thumb {
      background: rgba(148,163,184,.34);
      border-radius: 999px;
      border: 2px solid transparent;
      background-clip: padding-box;
    }
    [data-theme="dark"] .nav::-webkit-scrollbar-thumb,
    [data-theme="dark"] .modal-body::-webkit-scrollbar-thumb,
    [data-theme="dark"] .drawer-body::-webkit-scrollbar-thumb {
      background: rgba(148,163,184,.30);
      background-clip: padding-box;
    }

    /* Unified device adaptation matrix (single tail layer) */
    @media (max-width: 1200px) {
      :root {
        --density-cell-h: 46px;
        --density-cell-pad-y: 10px;
      }
      .topbar .actions .btn,
      .topbar-theme-btn,
      .search-input {
        min-height: var(--adaptive-control-h) !important;
        font-size: var(--adaptive-control-font) !important;
      }
    }
    @media (max-width: 1023px) {
      .section-grid,
      .stat-strip:not(.analytics-kpi-strip),
      .kpi-grid,
      .kpi-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      }
      .two-columns {
        grid-template-columns: 1fr !important;
      }
      .table-wrap {
        overflow-x: auto !important;
      }
      .table-wrap table {
        min-width: clamp(520px, 78vw, 640px) !important;
      }
    }
    @media (max-width: 767.98px) {
      :root {
        --density-content-pad: 10px;
      }
      .section-grid,
      .stat-strip:not(.analytics-kpi-strip),
      .action-grid,
      .kpi-grid,
      .kpi-list-grid,
      .ios-detail-grid,
      .two-columns,
      .drawer-actions-grid,
      .ios-form-row,
      .ios-form-split {
        grid-template-columns: 1fr !important;
      }
      .finance-overview-card .finance-overview-pills,
      .finance-overview-card .finance-overview-row .finance-overview-pills {
        grid-template-columns: 1fr !important;
      }
    }
    @media (max-width: 390px) {
      html.is-compact-viewport .topbar .actions {
        grid-template-columns: 1fr !important;
      }
      html.is-compact-viewport .topbar .actions > * {
        width: 100% !important;
      }
      html.is-compact-viewport .sidebar {
        width: 92vw !important;
      }
      .btn,
      .search-input,
      .ios-mini-input {
        min-height: 38px !important;
      }
    }
    /* Orders table: laptop-friendly column priority */
    @media (min-width: 1024px) and (max-width: 1680px) {
      .table-wrap[data-module="orders"] table[data-module="orders"] th[data-col="pricing_detail"],
      .table-wrap[data-module="orders"] table[data-module="orders"] td[data-col="pricing_detail"],
      .table-wrap[data-module="orders"] table[data-module="orders"] th[data-col="receiver_address"],
      .table-wrap[data-module="orders"] table[data-module="orders"] td[data-col="receiver_address"] {
        display: none;
      }
      /* Fallback for stale DOM/cache: hide same columns by position */
      .table-wrap[data-module="orders"] table[data-module="orders"] thead th:nth-child(7),
      .table-wrap[data-module="orders"] table[data-module="orders"] tbody td:nth-child(7),
      .table-wrap[data-module="orders"] table[data-module="orders"] thead th:nth-child(11),
      .table-wrap[data-module="orders"] table[data-module="orders"] tbody td:nth-child(11) {
        display: none;
      }
      .table-wrap[data-module="orders"] table[data-module="orders"] td[data-col="business_content"] {
        max-width: 14rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .table-wrap[data-module="shipments"] table[data-module="shipments"] th[data-col="receiver_info"],
      .table-wrap[data-module="shipments"] table[data-module="shipments"] td[data-col="receiver_info"],
      .table-wrap[data-module="shipments"] table[data-module="shipments"] th[data-col="after_sale_status"],
      .table-wrap[data-module="shipments"] table[data-module="shipments"] td[data-col="after_sale_status"] {
        display: none;
      }
      .table-wrap[data-module="after_sales"] table[data-module="after_sales"] th[data-col="issue"],
      .table-wrap[data-module="after_sales"] table[data-module="after_sales"] td[data-col="issue"] {
        display: none;
      }
    }
    @media (min-width: 1024px) and (max-width: 1440px) {
      .table-wrap[data-module="orders"] table[data-module="orders"] th[data-col="receiver_phone"],
      .table-wrap[data-module="orders"] table[data-module="orders"] td[data-col="receiver_phone"] {
        display: none;
      }
      .table-wrap[data-module="orders"] table[data-module="orders"] thead th:nth-child(10),
      .table-wrap[data-module="orders"] table[data-module="orders"] tbody td:nth-child(10) {
        display: none;
      }
      .table-wrap[data-module="shipments"] table[data-module="shipments"] th[data-col="carrier"],
      .table-wrap[data-module="shipments"] table[data-module="shipments"] td[data-col="carrier"] {
        display: none;
      }
      .table-wrap[data-module="after_sales"] table[data-module="after_sales"] th[data-col="created_at"],
      .table-wrap[data-module="after_sales"] table[data-module="after_sales"] td[data-col="created_at"] {
        display: none;
      }
    }
    /* Hub chat: authoritative responsive adaptation */
    /* 主内容区吃满 .main 剩余高度，聊天卡内部再滚消息，避免整页拉长后要去底部找输入框 */
    body[data-page="hub_center"] #content.content {
      display: flex;
      flex-direction: column;
    }
    body[data-page="hub_center"] #content.content > .ios-module-stack {
      flex: 1 1 auto;
      min-height: 0;
    }
    body[data-page="hub_center"] .ios-module-stack > .ios-hub-wrap {
      margin-bottom: 0;
    }
    body[data-page="hub_center"] #content.content > .ios-module-stack > .ios-hub-wrap {
      flex: 1 1 auto;
      min-height: 0;
    }
    body[data-page="hub_center"] .ios-hub-wrap {
      overflow: hidden;
      display: flex;
      flex-direction: column;
      min-height: 0;
    }
    body[data-page="hub_center"] .ios-hub-body {
      flex: 1 1 auto;
      min-height: 0;
      display: flex;
      flex-direction: column;
      overflow: hidden;
    }
    body[data-page="hub_center"] .ios-hub-chat-grid {
      display: grid;
      /* 默认两列（无分割条节点时）；≥1024px 见下：侧栏 | 拖条 | 会话 */
      grid-template-columns: clamp(260px, 26vw, 440px) minmax(0, 1fr);
      grid-template-rows: minmax(0, 1fr);
      gap: 12px;
      flex: 1 1 auto;
      min-height: 0;
      align-content: stretch;
    }
    @media (min-width: 1024px) {
      body[data-page="hub_center"] .ios-hub-chat-grid {
        grid-template-columns: var(--hub-members-split, clamp(260px, 26vw, 440px)) 6px minmax(0, 1fr) !important;
        gap: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-split-gutter {
        position: relative;
        z-index: 4;
        width: 6px;
        margin: 0 -1px;
        cursor: col-resize;
        touch-action: none;
        overscroll-behavior: none;
        user-select: none;
        -webkit-user-select: none;
        background: transparent;
        align-self: stretch;
      }
      body[data-page="hub_center"] .ios-hub-split-gutter::after {
        content: "";
        position: absolute;
        left: 50%;
        top: 12px;
        bottom: 12px;
        width: 1px;
        transform: translateX(-50%);
        background: rgba(60, 60, 67, 0.22);
        border-radius: 1px;
        opacity: 0.88;
        transition: background 0.15s ease, opacity 0.15s ease;
      }
      body[data-page="hub_center"] .ios-hub-split-gutter:hover::after,
      body[data-page="hub_center"] .ios-hub-split-gutter:focus-visible::after {
        background: rgba(10, 132, 255, 0.42);
        opacity: 1;
      }
      body.ios-hub-split-dragging {
        cursor: col-resize !important;
        user-select: none;
        -webkit-user-select: none;
      }
      body.ios-hub-split-dragging * {
        cursor: col-resize !important;
      }
    }
    @media (min-width: 1024px) and (max-width: 1200px) {
      body[data-page="hub_center"] .ios-hub-chat-grid {
        grid-template-columns: var(--hub-members-split, clamp(240px, 30vw, 360px)) 6px minmax(0, 1fr) !important;
      }
    }
    body[data-page="hub_center"] .ios-hub-members,
    body[data-page="hub_center"] .ios-hub-chat {
      min-width: 0;
      min-height: 0;
    }
    body[data-page="hub_center"] .ios-hub-members {
      display: flex;
      flex-direction: column;
      overflow: auto !important;
      overscroll-behavior: contain !important;
      -webkit-overflow-scrolling: touch;
      align-self: stretch;
    }
    body[data-page="hub_center"] .ios-hub-members-list {
      flex: 0 0 auto;
      overflow: visible !important;
      padding-bottom: max(8px, env(safe-area-inset-bottom));
    }
    /* 同步骨架：占满会话列剩余高度并居中，避免「顶上一小块、下面大片空白」的非原生观感（手机 / iPad / 桌面分栏同逻辑） */
    body[data-page="hub_center"] .ios-hub-members-list--skeleton {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      padding-top: 10px !important;
      padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
    body[data-page="hub_center"] .ios-hub-members-list--skeleton .ios-hub-team-skeleton {
      flex: 0 0 auto;
      width: 100%;
    }
    body[data-page="hub_center"] .ios-hub-chat {
      overflow: hidden !important;
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;
    }
    /* 勿对 #hubChatLog 设 max-height：由列 flex 分配高度，只在此区域内滚消息 */
    body[data-page="hub_center"] #hubChatLog {
      flex: 1 1 auto;
      overflow: auto;
      overscroll-behavior: contain;
      touch-action: pan-y;
      -webkit-overflow-scrolling: touch;
      min-height: 0;
      height: auto;
      max-height: none;
      padding-bottom: max(8px, env(safe-area-inset-bottom));
    }
    body[data-page="hub_center"] .ios-hub-chat-nav,
    body[data-page="hub_center"] .ios-hub-audit,
    body[data-page="hub_center"] [data-hub-audit-placeholder],
    body[data-page="hub_center"] .ios-hub-jump {
      flex: 0 0 auto;
    }
    body[data-page="hub_center"] .ios-hub-send {
      flex: 0 0 auto;
      position: relative;
      bottom: auto;
      z-index: 3;
      padding-bottom: max(8px, env(safe-area-inset-bottom));
      background: transparent;
    }
    body[data-page="hub_center"] .ios-hub-input,
    body[data-page="hub_center"] .ios-hub-chat-nav {
      min-width: 0;
    }
    body[data-page="hub_center"] .ios-hub-input {
      overflow: hidden;
    }
    body[data-page="hub_center"] .ios-hub-plus-btn,
    body[data-page="hub_center"] .ios-hub-util-btn,
    body[data-page="hub_center"] .ios-hub-send-btn {
      flex: 0 0 40px;
      width: 40px !important;
      min-width: 40px !important;
    }
    body[data-page="hub_center"] .ios-hub-textarea,
    body[data-page="hub_center"] #hubMsgInput {
      flex: 1 1 0 !important;
      width: auto !important;
      max-width: 100%;
      min-width: 0 !important;
      min-inline-size: 0 !important;
      min-height: 42px;
      max-height: min(28dvh, 220px);
      overflow: auto;
      resize: none;
      word-break: break-word;
      overflow-wrap: anywhere;
    }
    @media (max-width: 1023px) {
      /* 整卡限高：随顶栏自动隐藏（--topbar-clearance）增减可用高度 */
      body[data-page="hub_center"] .ios-hub-wrap {
        max-height: min(
          calc(100dvh - var(--topbar-clearance, 96px) - 10px),
          calc(100svh - var(--topbar-clearance, 96px) - 10px)
        );
        display: flex;
        flex-direction: column;
        min-height: 0;
      }
      body[data-page="hub_center"] .ios-hub-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid {
        grid-template-columns: 1fr;
        /* 上行会话列表固定高度上限，下行聊天列吃掉剩余空间，避免输入框落在视口外 */
        grid-template-rows: auto minmax(0, 1fr);
        gap: 10px;
        flex: 1 1 auto;
        min-height: 0 !important;
        max-height: 100%;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid > * {
        min-width: 0;
        min-height: 0;
      }
      body[data-page="hub_center"] .ios-hub-members {
        max-height: min(40dvh, 360px);
      }
      body[data-page="hub_center"] .ios-hub-members.hidden {
        display: none !important;
      }
      /* 与手机一致：聊天列内部 flex，顶栏固定、消息区滚动、输入条在列底（不用 sticky 撑破视口） */
      body[data-page="hub_center"] .ios-hub-chat {
        display: flex !important;
        flex-direction: column !important;
        min-height: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-nav,
      body[data-page="hub_center"] .ios-hub-audit,
      body[data-page="hub_center"] [data-hub-audit-placeholder] {
        flex: 0 0 auto !important;
      }
      body[data-page="hub_center"] #hubChatLog {
        flex: 1 1 auto !important;
        height: auto !important;
        min-height: 100px !important;
      }
      body[data-page="hub_center"] .ios-hub-jump {
        flex: 0 0 auto !important;
      }
      body[data-page="hub_center"] .ios-hub-send {
        position: relative !important;
        bottom: auto !important;
        flex: 0 0 auto !important;
        padding-bottom: max(8px, env(safe-area-inset-bottom)) !important;
      }
    }
    /* 手机 + 平板团队私聊：隐藏超管审计条（占高、窄屏以会话为主；审计请用桌面宽屏） */
    @media (max-width: 1023px) {
      body[data-page="hub_center"] .ios-hub-audit[data-hub-audit],
      body[data-page="hub_center"] [data-hub-audit-placeholder] {
        display: none !important;
      }
    }
    @media (max-width: 640px) {
      /*
       * 手机：顶栏 + 大标题/搜索占位远大于 72px；原先 max-height 过紧会把输入条裁在视口外。
       * 用 svh 兼顾地址栏伸缩；会话列表限高，把纵向空间留给聊天列。
       */
      body[data-page="hub_center"] .ios-hub-wrap {
        border-radius: 14px !important;
        max-height: min(
          calc(100svh - var(--topbar-clearance, 108px) - 12px),
          calc(100dvh - var(--topbar-clearance, 108px) - 12px)
        ) !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid {
        min-height: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-members:not(.hidden) {
        max-height: min(26dvh, 200px) !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) .ios-hub-members:not(.hidden) {
        max-height: none !important;
      }
      body[data-page="hub_center"] .ios-hub-chat {
        flex: 1 1 0 !important;
        min-height: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-nav {
        min-height: 44px;
        padding: 8px 10px;
      }
      body[data-page="hub_center"] .ios-hub-chat-nav-title {
        font-size: .95rem;
      }
      body[data-page="hub_center"] .ios-hub-search-input,
      body[data-page="hub_center"] #hubMsgInput,
      body[data-page="hub_center"] .ios-hub-send-btn,
      body[data-page="hub_center"] .ios-hub-util-btn,
      body[data-page="hub_center"] .ios-hub-plus-btn {
        min-height: 38px !important;
        font-size: .92rem;
      }
      body[data-page="hub_center"] .ios-hub-plus-btn,
      body[data-page="hub_center"] .ios-hub-util-btn,
      body[data-page="hub_center"] .ios-hub-send-btn {
        flex: 0 0 38px !important;
        width: 38px !important;
        min-width: 38px !important;
      }
      body[data-page="hub_center"] .ios-hub-send-btn {
        flex-shrink: 0 !important;
      }
      /* 输入行控件多：勿 clip；必要时横向轻扫可露出发送键；文本框优先收缩 */
      body[data-page="hub_center"] .ios-hub-input {
        gap: 5px !important;
        padding: 6px 6px calc(6px + env(safe-area-inset-bottom)) !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
      }
      body[data-page="hub_center"] .ios-hub-input::-webkit-scrollbar {
        display: none;
      }
      body[data-page="hub_center"] #hubMsgInput {
        max-height: min(22dvh, 120px);
        min-height: 38px !important;
        flex: 1 1 auto !important;
        min-width: 72px !important;
      }
      body[data-page="hub_center"] #hubChatLog {
        min-height: 80px !important;
      }
    }

    /* 分割条仅桌面；窄屏 flex 双页时从布局中移除 */
    @media (max-width: 1023px) {
      body[data-page="hub_center"] .ios-hub-split-gutter {
        display: none !important;
      }
    }
    /* 团队私聊：≤1023px 类 iOS「信息」—— 列表与聊天并排，transform 横向推入（非超管全员审计） */
    @media (max-width: 1023px) {
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch;
        width: 200% !important;
        max-width: none !important;
        gap: 0 !important;
        grid-template-columns: unset !important;
        grid-template-rows: unset !important;
        transform: translate3d(0, 0, 0);
        transition: transform 0.42s cubic-bezier(0.33, 1, 0.32, 1);
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"])[data-hub-mobile-pane="thread"] {
        transform: translate3d(-50%, 0, 0);
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) > .ios-hub-members:not(.hidden),
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) > .ios-hub-chat {
        display: flex !important;
        flex: 0 0 50% !important;
        width: 50% !important;
        max-width: 50% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-height: none !important;
        align-self: stretch;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) > .ios-hub-members:not(.hidden) {
        flex: 0 0 50% !important;
        max-height: none !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) > .ios-hub-chat {
        flex: 0 0 50% !important;
        flex-direction: column !important;
        min-height: 0 !important;
      }
      @media (prefers-reduced-motion: reduce) {
        body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) {
          transition: none !important;
        }
      }
      html[data-motion="off"] body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) {
        transition: none !important;
      }
      /* 沉浸式：去掉「大灰底 + 双圆角卡片」网页感，贴近 iOS 信息全屏会话 */
      body[data-page="hub_center"] #content.content {
        padding-left: max(0px, env(safe-area-inset-left, 0px));
        padding-right: max(0px, env(safe-area-inset-right, 0px));
      }
      body[data-page="hub_center"] #content.content > .ios-module-stack {
        gap: 0;
      }
      body[data-page="hub_center"] .ios-hub-wrap.card {
        border-radius: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: var(--panel);
      }
      body[data-page="hub_center"] .ios-hub-body {
        padding: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-members,
      body[data-page="hub_center"] .ios-hub-chat {
        border-radius: 0 !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid:not([data-hub-audit-org-wide="1"]) .ios-hub-members {
        border-bottom: none !important;
      }
      body[data-page="hub_center"] .ios-hub-chat-grid[data-hub-audit-org-wide="1"] .ios-hub-members {
        border-bottom: 1px solid var(--line);
      }
      /*
       * 手机会话列表：与其它业务页一致，由 #content 整页滚动（顶栏固定 + 内容滑入渐透）。
       * 勿用 aside 内滚 + sticky「会话」头，否则会出现「全局顶栏 + 会话栏」双层固定。
       */
      body[data-page="hub_center"]:not(.hub-chat-immersive) #content.content:has(.ios-hub-chat-grid[data-hub-mobile-pane="list"]:not([data-hub-audit-org-wide="1"])) > .ios-module-stack {
        flex: 0 1 auto !important;
        min-height: auto !important;
      }
      body[data-page="hub_center"]:not(.hub-chat-immersive) #content.content:has(.ios-hub-chat-grid[data-hub-mobile-pane="list"]:not([data-hub-audit-org-wide="1"])) > .ios-module-stack > .ios-hub-wrap {
        flex: 0 1 auto !important;
        min-height: auto !important;
        max-height: none !important;
        height: auto !important;
        overflow: visible !important;
      }
      body[data-page="hub_center"]:not(.hub-chat-immersive) .ios-hub-wrap:has(.ios-hub-chat-grid[data-hub-mobile-pane="list"]:not([data-hub-audit-org-wide="1"])) .ios-hub-body {
        overflow: visible !important;
        min-height: auto !important;
      }
      body[data-page="hub_center"]:not(.hub-chat-immersive) .ios-hub-chat-grid[data-hub-mobile-pane="list"]:not([data-hub-audit-org-wide="1"]) > .ios-hub-members:not(.hidden) {
        overflow: visible !important;
        max-height: none !important;
        -webkit-overflow-scrolling: auto;
      }
      body[data-page="hub_center"]:not(.hub-chat-immersive) .ios-hub-chat-grid[data-hub-mobile-pane="list"]:not([data-hub-audit-org-wide="1"]) .ios-hub-members-head {
        position: static !important;
        z-index: auto !important;
      }
    }

    /* 任务面板：执行动作等单元格内按钮自适应换行，避免窄屏一条横排溢出 */
    body[data-page="task_center"] .ios-list.console-block-gap > .ios-cell > .ios-cell-right {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      max-width: 100%;
    }
    @media (max-width: 640px) {
      body[data-page="task_center"] .ios-list.console-block-gap > .ios-cell {
        flex-direction: column;
        align-items: stretch;
      }
      body[data-page="task_center"] .ios-list.console-block-gap > .ios-cell > .ios-cell-right {
        justify-content: stretch;
        max-width: 100% !important;
        width: 100%;
        margin-left: 0;
      }
      body[data-page="task_center"] .ios-module-stack .ios-list .ios-cell > .ios-cell-right {
        max-width: 100% !important;
        width: 100%;
        margin-left: 0;
      }
      body[data-page="task_center"] .ios-list.console-block-gap > .ios-cell > .ios-cell-right > .btn {
        flex: 1 1 calc(50% - 4px);
        min-width: 0;
      }
    }

    /* =========================================================
      Viewport root-cause fix: one authoritative responsive layer
      - Driven by html.is-compact-viewport (set in main.js)
      - Eliminates conflicting breakpoint behavior on small laptops/tablets/phones
    ========================================================= */
    html.is-compact-viewport .sidebar {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      height: 100dvh !important;
      max-height: 100dvh !important;
      width: min(82vw, 300px) !important;
      padding: max(18px, env(safe-area-inset-top, 0px)) 16px max(18px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)) !important;
      transform: translate3d(-104%, 0, 0) !important;
      z-index: 100 !important;
      isolation: isolate !important;
      contain: none !important;
      background: var(--ios-sidebar-face-bg) !important;
      border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
      border-radius: 0 24px 24px 0 !important;
      box-shadow: var(--ios-sidebar-glass-shadow) !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease) !important;
    }
    html.is-compact-viewport .sidebar.mobile-open {
      transform: translate3d(var(--sheet-pan-x, 0px), 0, 0) !important;
      background: var(--ios-sidebar-face-bg) !important;
    }
    html.is-compact-viewport .sidebar.sidebar--dragging {
      transition: none !important;
    }
    [data-theme="dark"] html.is-compact-viewport .sidebar {
      background: var(--ios-sidebar-face-bg) !important;
      border-right-color: var(--ios-sidebar-glass-edge) !important;
      box-shadow:
        inset 0 0 0 0.5px rgba(255, 255, 255, 0.05),
        28px 0 72px rgba(0, 0, 0, 0.48),
        10px 0 28px rgba(0, 0, 0, 0.28) !important;
    }
    [data-theme="dark"] html.is-compact-viewport .sidebar.mobile-open {
      box-shadow:
        inset 0 0 0 0.5px rgba(255, 255, 255, 0.06),
        36px 0 88px rgba(0, 0, 0, 0.52),
        14px 0 34px rgba(0, 0, 0, 0.3) !important;
    }
    html.is-compact-viewport .mobile-sidebar-backdrop {
      display: block !important;
    }
    html.is-compact-viewport .sidebar-toggle {
      display: inline-flex !important;
    }
    /* 仅收边：勿对主 #content 用 padding 简写，否则会覆盖 --topbar-clearance 导致内容被顶栏遮挡 */
    html.is-compact-viewport .topbar {
      padding:
        max(12px, env(safe-area-inset-top, 0px))
        max(12px, env(safe-area-inset-right, 0px))
        12px
        max(12px, env(safe-area-inset-left, 0px)) !important;
    }
    html.is-compact-viewport body:not([data-page="hub_center"]) .app > .main > #content.content {
      padding-left: max(var(--m-pad, 12px), env(safe-area-inset-left, 0px)) !important;
      padding-right: max(var(--m-pad, 12px), env(safe-area-inset-right, 0px)) !important;
      padding-bottom: max(var(--m-pad, 12px), env(safe-area-inset-bottom, 0px)) !important;
    }
    html.is-compact-viewport .topbar .page-title,
    html.is-compact-viewport .topbar .actions,
    html.is-compact-viewport .global-search-wrap {
      min-width: 0 !important;
    }
    html.is-compact-viewport .global-search-wrap {
      flex: 1 1 auto !important;
    }
    html.is-compact-viewport .topbar .actions #globalSearch {
      width: 100% !important;
      min-width: 0 !important;
    }
    html.is-compact-viewport .topbar .actions #quickAddBtn {
      min-width: 104px !important;
    }
    @media (min-width: 641px) and (max-width: 1023px) {
      html.is-compact-viewport .topbar .actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px auto !important;
        align-items: center !important;
        gap: 8px !important;
      }
      html.is-compact-viewport .topbar .actions .global-search-wrap { grid-column: 1 / 2 !important; }
      html.is-compact-viewport .topbar .actions #themeBtn {
        grid-column: 2 / 3 !important;
        width: 42px !important;
        min-width: 42px !important;
      }
      html.is-compact-viewport .topbar .actions #quickAddBtn {
        grid-column: 3 / 4 !important;
        width: auto !important;
      }
    }
    @media (max-width: 640px) {
      html.is-compact-viewport .topbar .actions {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 8px !important;
      }
      html.is-compact-viewport .topbar .actions .global-search-wrap {
        grid-column: 1 / -1 !important;
      }
      html.is-compact-viewport .topbar .actions #themeBtn,
      html.is-compact-viewport .topbar .actions #quickAddBtn {
        width: 100% !important;
      }
    }
    @media (min-width: 1024px) {
      /* 传统大屏：侧栏占布局宽度，禁用遮罩 */
      html:not(.is-compact-viewport):not(.ios-sidebar-auto-hide) .mobile-sidebar-backdrop {
        display: none !important;
      }
      html:not(.is-compact-viewport):not(.ios-sidebar-auto-hide) .sidebar {
        position: relative !important;
        transform: none !important;
        height: 100dvh !important;
        width: var(--sb-sheet-w) !important;
        max-width: var(--sb-sheet-max-w) !important;
      }
      /* iPad / 桌面「自动收起」：侧栏浮层滑入，主区域全宽（类似 iOS 设置 / Split View 隐藏列） */
      html.ios-sidebar-auto-hide .sidebar-toggle {
        display: inline-flex !important;
      }
      html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        width: var(--sb-sheet-w) !important;
        max-width: var(--sb-sheet-max-w) !important;
        padding: max(18px, env(safe-area-inset-top, 0px)) 16px max(18px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)) !important;
        transform: translate3d(-104%, 0, 0) !important;
        z-index: 100 !important;
        isolation: isolate !important;
        contain: none !important;
        background: var(--ios-sidebar-face-bg) !important;
        border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
        border-radius: 0 24px 24px 0 !important;
        box-shadow: var(--ios-sidebar-glass-shadow) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease) !important;
      }
      html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar.mobile-open {
        transform: translate3d(var(--sheet-pan-x, 0px), 0, 0) !important;
        background: var(--ios-sidebar-face-bg) !important;
        transition: transform var(--ios-sidebar-sync-dur) var(--ios-sidebar-sync-ease) !important;
      }
      html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar.sidebar--dragging {
        transition: none !important;
      }
      [data-theme="dark"] html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar {
        background:
          linear-gradient(180deg, rgba(34, 44, 62, 0.98) 0%, rgba(22, 30, 46, 0.97) 48%, rgba(15, 23, 42, 0.96) 100%) !important;
        border-right-color: rgba(120, 128, 145, 0.28) !important;
        box-shadow:
          inset 0 0 0 0.5px rgba(255, 255, 255, 0.05),
          28px 0 72px rgba(0, 0, 0, 0.48),
          10px 0 28px rgba(0, 0, 0, 0.28) !important;
      }
      [data-theme="dark"] html:not(.is-compact-viewport).ios-sidebar-auto-hide .sidebar.mobile-open {
        box-shadow:
          inset 0 0 0 0.5px rgba(255, 255, 255, 0.06),
          36px 0 88px rgba(0, 0, 0, 0.52),
          14px 0 34px rgba(0, 0, 0, 0.3) !important;
      }
      html:not(.is-compact-viewport).ios-sidebar-auto-hide .mobile-sidebar-backdrop {
        display: block !important;
        z-index: 99 !important;
      }
    }
    :root {
      --fluid-root-font: clamp(14px, 0.18vw + 13.4px, 16px);
      --adaptive-control-h: clamp(40px, 2.4vw + 30px, 44px);
      --adaptive-control-font: clamp(0.9rem, 0.22vw + 0.84rem, 1rem);
    }
    html {
      font-size: var(--fluid-root-font);
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    .btn,
    .ios-mini-input,
    .search-input,
    input,
    select,
    textarea {
      min-height: var(--adaptive-control-h);
      font-size: var(--adaptive-control-font);
    }
    @media (max-width: 1023px) {
      html.is-compact-viewport .btn,
      html.is-compact-viewport .ios-mini-input,
      html.is-compact-viewport .search-input,
      html.is-compact-viewport input,
      html.is-compact-viewport select,
      html.is-compact-viewport textarea {
        min-height: var(--adaptive-control-h) !important;
        font-size: var(--adaptive-control-font) !important;
      }
    }
    @media (max-width: 640px) {
      html {
        font-size: clamp(14px, 1.05vw + 10.8px, 15px);
      }
      .page-large-title {
        font-size: clamp(1.18rem, 1.4vw + 0.92rem, 1.42rem);
      }
      .page-inline-title {
        font-size: clamp(0.96rem, 0.8vw + 0.8rem, 1.04rem);
      }
    }
    /* Final normalization layer (single source of truth for layout density) */
    @media (min-width: 1024px) and (max-width: 1680px) {
      .sidebar {
        width: clamp(236px, 17vw, 268px) !important;
      }
      .topbar {
        padding: clamp(12px, 1.2vw, 16px) clamp(14px, 1.5vw, 18px) !important;
        gap: clamp(8px, 0.8vw, 12px) !important;
      }
      .content {
        padding: clamp(14px, 1.2vw, 18px) !important;
      }
      .search-input {
        width: clamp(180px, 20vw, 280px) !important;
      }
      .module-layout-toolbar .group,
      .toolbar-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center;
        gap: 8px !important;
      }
      .module-layout-toolbar .group > *,
      .toolbar-actions > * {
        min-width: 0 !important;
        max-width: 100%;
      }
    }
    @media (max-width: 1200px) {
      .topbar .actions .btn,
      .topbar-theme-btn,
      .search-input {
        min-height: var(--adaptive-control-h) !important;
        font-size: var(--adaptive-control-font) !important;
      }
    }
    @media (max-width: 1023px) {
      .module-layout-toolbar,
      .toolbar-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
      }
      .module-layout-toolbar .group,
      .module-layout-toolbar .group > * {
        width: auto !important;
        max-width: 100%;
        min-width: 0 !important;
      }
      .table-wrap {
        overflow-x: auto !important;
      }
      .table-wrap table {
        min-width: clamp(520px, 78vw, 640px) !important;
      }
    }

    /* ── 移动端悬浮顶栏（iOS / macOS 毛玻璃胶囊） ── */
    :root {
      --ios-float-pill-h: 38px;
      --ios-float-pill-radius: 999px;
      --ios-float-pill-border: rgba(60, 60, 67, 0.11);
      --ios-float-pill-tint: rgba(255, 255, 255, 0.84);
      --ios-float-pill-fill:
        linear-gradient(
          165deg,
          rgba(255, 255, 255, 0.94) 0%,
          rgba(255, 255, 255, 0.78) 48%,
          rgba(248, 250, 252, 0.72) 100%
        );
      --ios-float-pill-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.95) inset,
        0 1.5px 0 rgba(255, 255, 255, 0.62) inset,
        0 -0.5px 0 rgba(15, 23, 42, 0.04) inset,
        0 1px 2px rgba(15, 23, 42, 0.06),
        0 10px 32px rgba(15, 23, 42, 0.11),
        0 2px 8px rgba(15, 23, 42, 0.05);
      --ios-float-pill-specular: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.72) 0%,
        rgba(255, 255, 255, 0) 52%
      );
      --ios-float-menu-radius: 20px;
      --topbar-float-clearance: calc(max(env(safe-area-inset-top, 0px), 10px) + var(--ios-float-pill-h) + 14px);
    }
    [data-theme="dark"] {
      --ios-float-pill-border: rgba(255, 255, 255, 0.11);
      --ios-float-pill-tint: rgba(52, 52, 54, 0.86);
      --ios-float-pill-fill:
        linear-gradient(
          165deg,
          rgba(72, 72, 74, 0.92) 0%,
          rgba(52, 52, 54, 0.84) 50%,
          rgba(44, 44, 46, 0.8) 100%
        );
      --ios-float-pill-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.14) inset,
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 1px 3px rgba(0, 0, 0, 0.35),
        0 14px 40px rgba(0, 0, 0, 0.42);
      --ios-float-pill-specular: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(255, 255, 255, 0) 55%
      );
    }
    .ios-float-pill {
      position: relative;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      box-sizing: border-box;
      height: var(--ios-float-pill-h);
      min-height: var(--ios-float-pill-h);
      max-height: var(--ios-float-pill-h);
      padding: 0 15px;
      border-radius: var(--ios-float-pill-radius);
      border: 0.5px solid var(--ios-float-pill-border);
      background: var(--ios-float-pill-fill);
      box-shadow: var(--ios-float-pill-shadow);
      color: color-mix(in srgb, var(--text) 94%, #0f172a);
      font-size: 0.84375rem;
      font-weight: 620;
      letter-spacing: -0.028em;
      line-height: 1;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
      backdrop-filter: blur(32px) saturate(210%);
      -webkit-backdrop-filter: blur(32px) saturate(210%);
      transition:
        transform 0.16s var(--ios-spring-settle),
        box-shadow 0.22s var(--ios-response),
        filter 0.22s var(--ios-response);
    }
    .ios-float-pill::after {
      content: "";
      position: absolute;
      inset: 1px 6px auto 6px;
      height: 42%;
      border-radius: inherit;
      background: var(--ios-float-pill-specular);
      opacity: 0.88;
      pointer-events: none;
      z-index: 0;
    }
    .ios-float-pill > * {
      position: relative;
      z-index: 1;
    }
    @media (hover: hover) and (pointer: fine) {
      .ios-float-pill:hover {
        filter: brightness(1.02);
        box-shadow:
          0 0 0 0.5px rgba(255, 255, 255, 0.96) inset,
          0 1.5px 0 rgba(255, 255, 255, 0.68) inset,
          0 1px 2px rgba(15, 23, 42, 0.07),
          0 12px 36px rgba(15, 23, 42, 0.13);
      }
    }
    .ios-float-pill:active {
      transform: scale(0.965);
      filter: brightness(0.97);
      transition-duration: var(--motion-micro-ms);
    }
    .ios-float-pill:focus-visible {
      outline: 2px solid color-mix(in srgb, var(--primary) 48%, transparent);
      outline-offset: 2px;
    }
    .ios-float-pill--icon {
      width: var(--ios-float-pill-h);
      min-width: var(--ios-float-pill-h);
      max-width: var(--ios-float-pill-h);
      padding: 0;
    }
    .ios-float-pill--menu {
      width: var(--ios-float-pill-h);
      min-width: var(--ios-float-pill-h);
      max-width: var(--ios-float-pill-h);
      padding: 0;
    }
    .topbar-float-chrome {
      display: none;
      pointer-events: none;
    }
    .topbar-float-cluster {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      pointer-events: auto;
    }
    .topbar-float-cluster--lead {
      min-height: var(--ios-float-pill-h);
      align-items: center;
    }
    .topbar-float-cluster--trail {
      position: relative;
      isolation: isolate;
      box-sizing: border-box;
      height: var(--ios-float-pill-h);
      min-height: var(--ios-float-pill-h);
      max-height: var(--ios-float-pill-h);
      padding: 0;
      gap: 0;
      overflow: hidden;
      border-radius: var(--ios-float-pill-radius);
      border: 0.5px solid var(--ios-float-pill-border);
      background: var(--ios-float-pill-fill);
      box-shadow: var(--ios-float-pill-shadow);
      backdrop-filter: blur(32px) saturate(210%);
      -webkit-backdrop-filter: blur(32px) saturate(210%);
    }
    .topbar-float-cluster--trail::after {
      content: "";
      position: absolute;
      inset: 1px 4px auto 4px;
      height: 44%;
      border-radius: inherit;
      background: var(--ios-float-pill-specular);
      opacity: 0.85;
      pointer-events: none;
      z-index: 0;
    }
    .topbar-float-cluster--trail .ios-float-pill {
      flex: 0 0 var(--ios-float-pill-h);
      width: var(--ios-float-pill-h);
      min-width: var(--ios-float-pill-h);
      max-width: var(--ios-float-pill-h);
      height: 100%;
      min-height: 100%;
      max-height: 100%;
      border: none;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
    }
    .topbar-float-cluster--trail .ios-float-pill--menu {
      position: relative;
      border-radius: 0;
      margin-left: 0;
    }
    .topbar-float-cluster--trail .ios-float-pill--menu::before {
      content: "";
      position: absolute;
      left: 0;
      top: 18%;
      bottom: 18%;
      width: 1px;
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(60, 60, 67, 0.16) 18%,
        rgba(60, 60, 67, 0.22) 50%,
        rgba(60, 60, 67, 0.16) 82%,
        rgba(255, 255, 255, 0) 100%
      );
      pointer-events: none;
      z-index: 2;
    }
    [data-theme="dark"] .topbar-float-cluster--trail .ios-float-pill--menu::before {
      background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(255, 255, 255, 0) 100%
      );
    }
    .topbar-float-cluster--trail .ios-float-pill--icon {
      border-radius: 0;
    }
    .topbar-float-cluster--trail .ios-float-pill {
      z-index: 1;
    }
    .topbar-float-cluster--trail .ios-float-pill::after {
      display: none;
    }
    .topbar-float-cluster--trail .ios-float-pill:active {
      background: color-mix(in srgb, var(--text) 7%, transparent);
      filter: none;
    }
    .topbar-page-pill {
      max-width: min(50vw, 208px);
      padding-inline: 16px;
      justify-content: center;
      gap: 0;
    }
    .topbar-page-pill-label {
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      font-weight: 620;
      letter-spacing: -0.03em;
      text-shadow: 0 0.5px 0 rgba(255, 255, 255, 0.35);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    [data-theme="dark"] .topbar-page-pill-label {
      text-shadow: none;
    }
    .topbar-page-pill-chevron {
      display: none;
    }
    .topbar-float-cluster--trail .sidebar-toggle-glyph {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      color: color-mix(in srgb, var(--text) 86%, var(--muted));
      opacity: 0.92;
    }
    .topbar-float-menu-glyph {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 18px;
      height: 18px;
      color: color-mix(in srgb, var(--primary) 78%, #2563eb);
      opacity: 0.96;
    }
    .topbar-float-menu-glyph svg,
    .topbar-float-cluster--trail .sidebar-toggle-glyph svg {
      display: block;
      width: 18px;
      height: 18px;
      stroke-width: 1.72;
    }
    body.topbar-float-menu-open #topbarFloatMenuBtn.ios-float-pill--menu {
      background: color-mix(in srgb, var(--primary) 14%, transparent);
      color: var(--primary);
    }
    body.topbar-float-menu-open #topbarFloatMenuBtn.ios-float-pill--menu .topbar-float-menu-glyph {
      opacity: 1;
    }
    .topbar-float-menu {
      position: fixed;
      z-index: 72;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transform: translate3d(0, -6px, 0) scale(0.97);
      transform-origin: top right;
      transition:
        opacity 0.22s var(--ios-response),
        transform 0.28s var(--ios-sheet-ease),
        visibility 0s linear 0.28s;
    }
    .topbar-float-menu:not([hidden]) {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translate3d(0, 0, 0) scale(1);
      transition:
        opacity 0.24s var(--ios-response),
        transform 0.32s var(--ios-sheet-ease),
        visibility 0s linear 0s;
    }
    .topbar-float-menu-panel {
      position: relative;
      isolation: isolate;
      min-width: min(280px, calc(100vw - 24px));
      padding: 8px;
      border-radius: var(--ios-float-menu-radius);
      border: 0.5px solid var(--ios-float-pill-border);
      background: var(--ios-float-pill-fill);
      box-shadow:
        var(--ios-float-pill-shadow),
        0 22px 50px rgba(15, 23, 42, 0.16);
      backdrop-filter: blur(36px) saturate(210%);
      -webkit-backdrop-filter: blur(36px) saturate(210%);
      overflow: hidden;
    }
    .topbar-float-menu-panel::before {
      content: "";
      position: absolute;
      inset: 0 0 auto 0;
      height: 38%;
      background: var(--ios-float-pill-specular);
      opacity: 0.75;
      pointer-events: none;
      border-radius: var(--ios-float-menu-radius) var(--ios-float-menu-radius) 0 0;
    }
    [data-theme="dark"] .topbar-float-menu-panel {
      box-shadow:
        var(--ios-float-pill-shadow),
        0 24px 56px rgba(0, 0, 0, 0.48);
    }
    .topbar-float-menu-search {
      padding: 2px 2px 6px;
    }
    .topbar-float-menu-search .global-search-wrap {
      width: 100%;
      min-width: 0;
    }
    .topbar-float-menu-search .search-input {
      width: 100%;
      min-width: 0;
      border-radius: 12px;
      min-height: 42px;
      background: color-mix(in srgb, var(--sys-surface) 88%, transparent);
    }
    .topbar-float-menu-item {
      display: flex;
      align-items: center;
      gap: 10px;
      width: 100%;
      min-height: 44px;
      padding: 0 12px;
      margin-top: 2px;
      border: none;
      border-radius: 12px;
      background: transparent;
      color: var(--text);
      font-size: 0.94rem;
      font-weight: 520;
      text-align: left;
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
      transition: background 0.18s var(--ios-response), transform 0.14s var(--ios-press-ease);
    }
    .topbar-float-menu-item:hover {
      background: color-mix(in srgb, var(--primary) 7%, transparent);
    }
    .topbar-float-menu-item:active {
      transform: scale(0.985);
      background: color-mix(in srgb, var(--primary) 11%, transparent);
    }
    .topbar-float-menu-item-icon {
      width: 22px;
      text-align: center;
      opacity: 0.88;
      flex: 0 0 auto;
    }
    .topbar-float-menu-item-icon--plus {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--primary);
    }
    @media (min-width: 1024px) {
      .topbar-float-chrome,
      .topbar-float-menu {
        display: none !important;
      }
      .topbar-legacy {
        display: contents;
      }
      .topbar-desktop-sidebar-toggle {
        display: none;
      }
      html.ios-sidebar-auto-hide .topbar-desktop-sidebar-toggle {
        display: inline-flex !important;
      }
    }
    @media (max-width: 1023px) {
      .topbar-desktop-sidebar-toggle {
        display: none !important;
      }
    }
    @media (max-width: 1023px) {
      html.is-compact-viewport body:not(.modal-open):not(.hub-chat-immersive) .app > .main > .topbar,
      html.is-compact-viewport .topbar {
        display: block;
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        z-index: 60;
        padding: 0 !important;
        margin: 0;
        border: none !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: none !important;
        pointer-events: none;
        overflow: visible;
        min-height: 0;
        transition: none !important;
      }
      html.is-compact-viewport .topbar-float-chrome {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        box-sizing: border-box;
        min-height: calc(var(--ios-float-pill-h) + max(10px, env(safe-area-inset-top, 0px)) + 8px);
        padding:
          max(10px, env(safe-area-inset-top, 0px))
          max(14px, env(safe-area-inset-right, 0px))
          8px
          max(14px, env(safe-area-inset-left, 0px));
        pointer-events: none;
      }
      /* 滚动时胶囊略「融」入内容，与顶栏渐透同拍（无 transition，避免跟手卡顿） */
      html.is-compact-viewport .topbar-float-chrome .ios-float-pill,
      html.is-compact-viewport .topbar-float-chrome .topbar-float-cluster--trail {
        opacity: calc(1 - var(--topbar-scroll-immersion, 0) * 0.12);
      }
      html.is-compact-viewport .topbar-float-cluster--lead,
      html.is-compact-viewport .topbar-float-cluster--trail {
        flex-shrink: 0;
      }
      html.is-compact-viewport .topbar-float-cluster--lead .topbar-hub-unread-chip {
        height: var(--ios-float-pill-h);
        min-height: var(--ios-float-pill-h);
        max-height: var(--ios-float-pill-h);
      }
      html.is-compact-viewport .topbar-legacy {
        display: none !important;
      }
      html.is-compact-viewport body:not(.modal-open):not(.hub-chat-immersive) .app > .main > #content.content {
        padding-top: var(--topbar-clearance, var(--topbar-float-clearance)) !important;
        scroll-padding-top: calc(var(--topbar-clearance, var(--topbar-float-clearance)) + 8px);
      }
      html.is-compact-viewport .topbar-legacy-actions #themeBtn,
      html.is-compact-viewport .topbar-legacy-actions #quickAddBtn {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }
      html.is-compact-viewport #mobileSidebarToggle.sidebar-toggle {
        display: inline-flex !important;
        min-width: var(--ios-float-pill-h);
        min-height: var(--ios-float-pill-h);
        padding: 0;
        border: none;
        box-shadow: none;
        background: transparent;
      }
      html.is-compact-viewport #mobileSidebarToggle .sidebar-toggle-glyph {
        color: color-mix(in srgb, var(--text) 90%, var(--muted));
      }
      html.is-compact-viewport #mobileSidebarToggle.has-hub-unread {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
      }
    }
    /* 大屏「自动收起侧栏」：与窄屏一致显示左上角菜单 + 私聊未读角标（否则侧栏隐藏时完全看不到提示） */
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) #mobileSidebarToggle.sidebar-toggle {
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      position: relative;
      min-width: var(--ios-float-pill-h, 36px);
      min-height: var(--ios-float-pill-h, 36px);
      overflow: visible;
    }
    html.ios-sidebar-auto-hide:not(.is-compact-viewport) .topbar-float-cluster--lead {
      flex-wrap: wrap;
      gap: 8px;
    }
    @media (pointer: fine) and (min-width: 1024px) {
      .sidebar {
        background:
          linear-gradient(180deg,
            color-mix(in srgb, var(--sys-surface) 98%, #f2f2f7) 0%,
            color-mix(in srgb, var(--sys-bg) 42%, var(--sys-surface)) 100%) !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) {
        padding: 4px 2px 8px !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn {
        border-radius: var(--sb-nav-radius, 13px) !important;
        box-shadow:
          0 0 0 0.5px rgba(60, 60, 67, 0.04),
          0 1px 2px rgba(15, 23, 42, 0.03),
          0 4px 14px rgba(15, 23, 42, 0.04) !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active {
        background: color-mix(in srgb, #e5e5ea 94%, var(--primary) 6%) !important;
        box-shadow:
          0 0 0 0.5px rgba(60, 60, 67, 0.06),
          inset 0 1px 0 rgba(255, 255, 255, 0.55),
          0 2px 8px rgba(15, 23, 42, 0.05) !important;
      }
    }
    .sidebar-account-compact {
      background: color-mix(in srgb, var(--ios-float-pill-tint) 72%, transparent) !important;
      border-color: color-mix(in srgb, var(--ios-float-pill-border) 90%, transparent) !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.55),
        0 4px 16px rgba(15, 23, 42, 0.05) !important;
      backdrop-filter: blur(14px) saturate(160%);
      -webkit-backdrop-filter: blur(14px) saturate(160%);
    }
    @media (prefers-reduced-motion: reduce) {
      .ios-float-pill,
      .topbar-float-menu,
      .topbar-float-menu-item {
        transition-duration: 0.01ms !important;
      }
      .topbar-float-menu {
        transform: none !important;
      }
    }

    /* ── 侧栏 macOS / iOS 胶囊列表 v6（独立浮卡 + 系统蓝选中 + 材质 + 丝滑按压） ── */
    .sidebar {
      --sb-pill-radius: 12px;
      --sb-pill-bg: rgba(255, 255, 255, 0.92);
      --sb-pill-border: rgba(60, 60, 67, 0.1);
      --sb-pill-shadow:
        var(--inner-highlight),
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 6px 18px rgba(15, 23, 42, 0.06);
      --sb-pill-active-bg: linear-gradient(180deg, rgba(219, 234, 254, 0.98), rgba(239, 246, 255, 0.94));
      --sb-pill-active-border: color-mix(in srgb, var(--primary) 42%, rgba(59, 130, 246, 0.35));
      background:
        radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--primary) 6%, transparent), transparent 55%),
        linear-gradient(180deg, color-mix(in srgb, var(--sys-bg) 92%, #e8eaf2), var(--sys-bg)) !important;
      border-right: 1px solid var(--hairline) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.45) !important;
    }
    @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
      .sidebar {
        background:
          radial-gradient(120% 80% at 0% 0%, color-mix(in srgb, var(--primary) 8%, transparent), transparent 50%),
          color-mix(in srgb, var(--chrome-bg) 88%, var(--sys-bg)) !important;
        -webkit-backdrop-filter: blur(28px) saturate(185%);
        backdrop-filter: blur(28px) saturate(185%);
      }
    }
    [data-theme="dark"] .sidebar {
      --sb-pill-bg: color-mix(in srgb, var(--sys-surface) 94%, rgba(255, 255, 255, 0.04));
      --sb-pill-border: rgba(84, 84, 88, 0.42);
      --sb-pill-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.07),
        0 2px 10px rgba(0, 0, 0, 0.28);
      --sb-pill-active-bg: linear-gradient(180deg, color-mix(in srgb, var(--tone-info-bg) 88%, transparent), color-mix(in srgb, var(--tone-info-bg) 55%, transparent));
      --sb-pill-active-border: color-mix(in srgb, var(--tone-info-border) 75%, transparent);
      background:
        radial-gradient(100% 70% at 0% 0%, rgba(59, 130, 246, 0.12), transparent 52%),
        linear-gradient(180deg, #0b0b10, #121218) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.05) !important;
    }
    .sidebar .logo {
      padding: 2px 6px 8px;
    }
    .sidebar .logo-icon {
      width: 34px;
      height: 34px;
      border-radius: 9px;
      background: linear-gradient(145deg, var(--primary), #6366f1) !important;
      box-shadow: var(--inner-highlight), 0 4px 14px rgba(47, 109, 246, 0.28);
      font-weight: 700;
    }
    .sidebar .logo-text {
      font-size: 1.02rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: var(--text);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button .hub-nav-chevron {
      display: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) {
      gap: 7px !important;
      padding: 2px 4px 8px !important;
      margin: 0 !important;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      border-radius: 0 !important;
      overflow-x: hidden;
      overflow-y: auto;
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      text-align: left !important;
      width: 100%;
      min-height: var(--sb-nav-min-h, 44px);
      margin: 0 !important;
      padding: 0 14px !important;
      border-radius: var(--sb-pill-radius) !important;
      border: 1px solid var(--sb-pill-border) !important;
      border-bottom: 1px solid var(--sb-pill-border) !important;
      background: var(--sb-pill-bg) !important;
      box-shadow: var(--sb-pill-shadow) !important;
      -webkit-backdrop-filter: blur(14px) saturate(165%);
      backdrop-filter: blur(14px) saturate(165%);
      transition:
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        background var(--motion-component-ms) var(--ios-response),
        border-color var(--motion-component-ms) var(--ios-response),
        box-shadow var(--motion-component-ms) var(--ios-response),
        color var(--motion-component-ms) var(--ios-response) !important;
      will-change: transform, background-color, box-shadow;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before {
      display: none !important;
    }
    /* 修复：.nav button span:last-child { margin-left:auto } 会把 label-host 顶到右侧 */
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn > span.ios-nav-label-host,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry > .hub-nav-main {
      flex: 1 1 auto;
      min-width: 0;
      margin-left: 0 !important;
      margin-right: 0 !important;
      opacity: 1 !important;
      text-align: left !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-main {
      display: flex !important;
      align-items: center;
      justify-content: flex-start !important;
      width: 100%;
      gap: 0;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      display: block;
      flex: 1 1 auto;
      min-width: 0;
      width: auto;
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-align: left !important;
      opacity: 1 !important;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-chevron {
      display: none;
      flex: 0 0 auto;
      width: auto;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 0.005em;
      line-height: 1.3;
      color: var(--text) !important;
      -webkit-font-smoothing: antialiased;
      transition: color var(--motion-component-ms) var(--ios-response);
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:hover {
        background: rgba(255, 255, 255, 1) !important;
        border-color: color-mix(in srgb, var(--primary) 18%, var(--sb-pill-border)) !important;
        box-shadow:
          var(--inner-highlight),
          0 2px 6px rgba(15, 23, 42, 0.05),
          0 10px 26px rgba(15, 23, 42, 0.08) !important;
        transform: translateY(-0.5px);
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:active {
      transform: scale(0.984) translateY(0) !important;
      background: color-mix(in srgb, var(--sys-bg) 35%, var(--sb-pill-bg)) !important;
      box-shadow:
        inset 0 1px 2px rgba(15, 23, 42, 0.06),
        0 1px 2px rgba(15, 23, 42, 0.04) !important;
      transition-duration: 0.1s !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active {
      background: var(--sb-pill-active-bg) !important;
      border: 1.5px solid var(--sb-pill-active-border) !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        0 2px 8px rgba(47, 109, 246, 0.14),
        0 8px 22px rgba(47, 109, 246, 0.1) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      font-weight: 600;
      color: color-mix(in srgb, var(--primary) 82%, #1d4ed8) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-main {
      gap: 10px !important;
      align-items: center !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-copy {
      flex: 1 1 auto;
      min-width: 0;
      display: flex !important;
      flex-direction: column !important;
      align-items: flex-start !important;
      justify-content: center !important;
      gap: 2px !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      width: 100%;
      max-width: 100%;
      margin-left: 0 !important;
      margin-right: 0 !important;
      text-align: left !important;
      opacity: 1 !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title {
      font-size: 0.9rem;
      font-weight: 600;
      color: color-mix(in srgb, var(--text) 92%, var(--muted)) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      font-size: 0.78rem;
      font-weight: 500;
      line-height: 1.35;
      color: var(--muted-strong) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-status {
      color: color-mix(in srgb, var(--text) 58%, var(--muted-strong)) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-unread {
      flex: 0 0 auto;
      margin-left: auto !important;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      color: color-mix(in srgb, var(--text) 94%, var(--muted)) !important;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:hover {
      background: color-mix(in srgb, var(--sys-surface) 98%, white) !important;
      transform: none;
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      color: var(--tone-info-fg) !important;
    }
    .sidebar-footer {
      padding: 10px 4px max(8px, env(safe-area-inset-bottom));
      margin-top: auto;
      border-top: none;
      background: transparent !important;
    }
    .sidebar-account-compact {
      min-height: 48px;
      padding: 8px 12px;
      border-radius: var(--sb-pill-radius);
      border: 1px solid var(--sb-pill-border) !important;
      background: var(--sb-pill-bg) !important;
      box-shadow: var(--sb-pill-shadow) !important;
      -webkit-backdrop-filter: blur(14px) saturate(165%);
      backdrop-filter: blur(14px) saturate(165%);
      transition:
        transform var(--ios-nav-press-ms) var(--ios-spring-settle),
        background var(--motion-component-ms) var(--ios-response),
        box-shadow var(--motion-component-ms) var(--ios-response);
    }
    .sidebar-account-compact:hover {
      border-color: color-mix(in srgb, var(--primary) 16%, var(--sb-pill-border)) !important;
      box-shadow:
        var(--inner-highlight),
        0 8px 22px rgba(15, 23, 42, 0.07) !important;
    }
    .sidebar-account-compact:active {
      transform: scale(0.984);
    }
    .sidebar-account-compact-name {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--text);
    }
    .sidebar-account-compact-sub {
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--muted-strong);
    }
    .sidebar-account-compact-avatar {
      width: 32px;
      height: 32px;
      font-weight: 600;
      color: #1d4ed8;
      background: linear-gradient(145deg, #e8efff, #f4f7ff);
      border: 1px solid rgba(59, 130, 246, 0.2);
      box-shadow: var(--inner-highlight);
    }
    @media (max-width: 1023px) {
      .sidebar.mobile-open {
        border-radius: 0 var(--ios-radius-lg) var(--ios-radius-lg) 0;
        box-shadow: var(--ios-shadow-float) !important;
      }
      html.is-compact-viewport button.mobile-sidebar-backdrop.show,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) button.mobile-sidebar-backdrop.show {
        background: var(--ios-sidebar-scrim-tint) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry,
      .sidebar-account-compact {
        transition-duration: 0.01ms !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
      .sidebar-account-compact:active {
        transform: none !important;
      }
    }

    /* ── 侧栏 v8：macOS 级精进（选中条 / 滚动 / 焦点 / 层次 / 动效） ── */
    .sidebar {
      --sb-pill-radius: 13px;
      --sb-pill-gap: 6px;
      --sb-pill-bg: color-mix(in srgb, #ffffff 94%, var(--sys-bg));
      --sb-pill-border: color-mix(in srgb, var(--sys-separator-strong) 65%, transparent);
      --sb-pill-shadow:
        var(--inner-highlight),
        0 0.5px 1px rgba(15, 23, 42, 0.035),
        0 4px 14px rgba(15, 23, 42, 0.055);
      --sb-pill-active-bg: color-mix(in srgb, var(--primary-weak) 72%, #ffffff);
      --sb-pill-active-border: color-mix(in srgb, var(--primary) 28%, var(--sb-pill-border));
      --sb-pill-active-glow: 0 0 0 1px color-mix(in srgb, var(--primary) 12%, transparent),
        0 4px 16px color-mix(in srgb, var(--primary) 14%, transparent);
    }
    .sidebar .logo {
      margin-bottom: 4px;
      padding-bottom: 10px;
      border-bottom: 1px solid color-mix(in srgb, var(--hairline) 85%, transparent);
    }
    .sidebar .logo-icon {
      border-radius: 10px;
      transition: transform 0.35s var(--ios-spring-settle), box-shadow 0.35s var(--ios-response);
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar .logo:hover .logo-icon {
        transform: scale(1.03);
        box-shadow: var(--inner-highlight), 0 6px 18px rgba(47, 109, 246, 0.32);
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) {
      gap: var(--sb-pill-gap) !important;
      padding: 4px 5px 10px !important;
      scrollbar-width: thin;
      scrollbar-color: color-mix(in srgb, var(--muted) 45%, transparent) transparent;
      mask-image: linear-gradient(
        180deg,
        transparent 0,
        #000 10px,
        #000 calc(100% - 12px),
        transparent 100%
      );
      -webkit-mask-image: linear-gradient(
        180deg,
        transparent 0,
        #000 10px,
        #000 calc(100% - 12px),
        transparent 100%
      );
    }
    .sidebar #nav.nav:not(.ios-nav-editing)::-webkit-scrollbar {
      width: 5px;
    }
    .sidebar #nav.nav:not(.ios-nav-editing)::-webkit-scrollbar-thumb {
      border-radius: 99px;
      background: color-mix(in srgb, var(--muted) 38%, transparent);
    }
    .sidebar #nav.nav:not(.ios-nav-editing)::-webkit-scrollbar-thumb:hover {
      background: color-mix(in srgb, var(--muted) 52%, transparent);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: 0 13px 0 15px !important;
      border: 1px solid var(--sb-pill-border) !important;
      border-bottom: 1px solid var(--sb-pill-border) !important;
      letter-spacing: 0.003em;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::after,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::after {
      content: '';
      position: absolute;
      left: 5px;
      top: 50%;
      width: 3px;
      height: 0;
      border-radius: 99px;
      background: linear-gradient(180deg, var(--primary), color-mix(in srgb, var(--primary) 70%, #6366f1));
      transform: translateY(-50%) scaleY(0);
      opacity: 0;
      transition:
        height 0.28s var(--ios-spring-settle),
        opacity 0.22s var(--ios-response),
        transform 0.28s var(--ios-spring-settle);
      pointer-events: none;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active::after,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active::after {
      height: 58%;
      min-height: 18px;
      opacity: 1;
      transform: translateY(-50%) scaleY(1);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      font-size: var(--sb-nav-fs, 0.9rem);
      font-weight: 600;
      letter-spacing: 0.006em;
      color: color-mix(in srgb, var(--text) 92%, var(--muted)) !important;
      transition:
        color 0.26s var(--ios-response),
        font-weight 0.26s var(--ios-response);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active {
      background: var(--sb-pill-active-bg) !important;
      border: 1px solid var(--sb-pill-active-border) !important;
      box-shadow: var(--inner-highlight), var(--sb-pill-active-glow) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child {
      font-weight: 600;
      color: color-mix(in srgb, var(--primary) 78%, #1e3a8a) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 50px;
      padding-top: 6px !important;
      padding-bottom: 6px !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active {
      background: var(--sb-pill-active-bg) !important;
      border: 1px solid var(--sb-pill-active-border) !important;
      box-shadow: var(--inner-highlight), var(--sb-pill-active-glow) !important;
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:focus-visible,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:focus-visible,
      .sidebar-account-compact:focus-visible {
        outline: 2px solid color-mix(in srgb, var(--primary) 55%, transparent);
        outline-offset: 2px;
        box-shadow: var(--inner-highlight), var(--sb-pill-shadow), 0 0 0 4px color-mix(in srgb, var(--primary) 16%, transparent) !important;
      }
    }
    .sidebar-account-compact-more {
      width: 32px;
      height: 32px;
      border-radius: 9px;
      color: color-mix(in srgb, var(--muted-strong) 90%, var(--text));
      transition: background 0.2s var(--ios-response), color 0.2s var(--ios-response), transform 0.14s var(--ios-spring-settle);
    }
    .sidebar-account-compact-more:hover {
      background: color-mix(in srgb, var(--primary) 8%, transparent);
      color: var(--primary);
    }
    .sidebar-account-compact-more:active {
      transform: scale(0.94);
    }
    @media (prefers-reduced-motion: no-preference) {
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button {
        animation: iosSidebarNavPillIn 0.42s var(--ios-sidebar-sheet-ease) both;
      }
      @keyframes iosSidebarNavPillIn {
        from {
          opacity: 0;
          transform: translate3d(-8px, 0, 0) scale(0.985);
        }
        to {
          opacity: 1;
          transform: translate3d(0, 0, 0) scale(1);
        }
      }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(1),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(1) { animation-delay: 0.03s; }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(2),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(2) { animation-delay: 0.045s; }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(3),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(3) { animation-delay: 0.06s; }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(4),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(4) { animation-delay: 0.075s; }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(5),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(5) { animation-delay: 0.09s; }
    }
    [data-theme="dark"] .sidebar {
      --sb-pill-bg: color-mix(in srgb, var(--sys-surface) 92%, rgba(255, 255, 255, 0.03));
      --sb-pill-active-bg: color-mix(in srgb, var(--tone-info-bg) 62%, var(--sys-surface));
    }
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    [data-theme="dark"] .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      color: var(--tone-info-fg) !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::after,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::after {
        transition: none !important;
      }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button {
        animation: none !important;
      }
    }

    /* ── 侧栏 v9：分组内缩列表 + macOS 选中 pill + SF 彩色图标 ── */
    .sidebar {
      --sb-nav-inset-radius: 14px;
      --sb-selection-fill: color-mix(in srgb, var(--primary) 16%, transparent);
      --sb-selection-fill-hover: color-mix(in srgb, var(--text) 5%, transparent);
      --sb-nav-group-bg: color-mix(in srgb, #ffffff 90%, var(--sys-bg));
      --sb-nav-group-border: color-mix(in srgb, var(--sys-separator-strong) 55%, transparent);
      --sb-nav-group-shadow:
        var(--inner-highlight),
        inset 0 1px 0 rgba(255, 255, 255, 0.75),
        0 2px 10px rgba(15, 23, 42, 0.045);
    }
    [data-theme="dark"] .sidebar {
      --sb-selection-fill: color-mix(in srgb, var(--tone-info-bg) 55%, transparent);
      --sb-selection-fill-hover: color-mix(in srgb, #ffffff 6%, transparent);
      --sb-nav-group-bg: color-mix(in srgb, var(--sys-surface) 94%, rgba(255, 255, 255, 0.03));
      --sb-nav-group-border: rgba(84, 84, 88, 0.38);
      --sb-nav-group-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 4px 14px rgba(0, 0, 0, 0.22);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) {
      margin: 0 7px !important;
      padding: 5px !important;
      gap: 1px !important;
      border-radius: var(--sb-nav-inset-radius) !important;
      border: 1px solid var(--sb-nav-group-border) !important;
      background: var(--sb-nav-group-bg) !important;
      box-shadow: var(--sb-nav-group-shadow) !important;
      -webkit-backdrop-filter: blur(12px) saturate(1.12);
      backdrop-filter: blur(12px) saturate(1.12);
      mask-image: none !important;
      -webkit-mask-image: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 40px;
      padding: 0 8px 0 6px !important;
      gap: 10px !important;
      border: none !important;
      border-bottom: none !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      border-radius: 10px !important;
      overflow: visible !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::before {
      display: block !important;
      content: '' !important;
      position: absolute !important;
      left: 3px !important;
      right: 3px !important;
      top: 1px !important;
      bottom: 1px !important;
      width: auto !important;
      height: auto !important;
      border-radius: 9px !important;
      background: var(--sb-selection-fill) !important;
      opacity: 0;
      transform: scale(0.97);
      transition:
        opacity 0.22s var(--ios-response),
        transform 0.28s var(--ios-spring-settle),
        background 0.22s var(--ios-response) !important;
      pointer-events: none;
      z-index: 0;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn > *,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry > * {
      position: relative;
      z-index: 1;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::after,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::after {
      display: none !important;
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover:not(.active)::before,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:hover:not(.active):not(.has-unread)::before {
        opacity: 1;
        transform: scale(1);
        background: var(--sb-selection-fill-hover) !important;
      }
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:hover {
        transform: none !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:active {
      transform: scale(0.988) !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active::before {
      opacity: 1 !important;
      transform: scale(1) !important;
      background: var(--sb-selection-fill) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.has-unread:not(.active)::before {
      opacity: 1 !important;
      transform: scale(1) !important;
      background: color-mix(in srgb, #34c759 14%, transparent) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.has-unread:not(.active) {
      border: none !important;
      box-shadow: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-glyph {
      width: 22px;
      height: 22px;
      flex: 0 0 22px;
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(165deg, var(--nav-glyph-accent-hi, var(--nav-glyph-accent, #8e8e93)), var(--nav-glyph-accent-lo, var(--nav-glyph-accent, #636366)));
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.34),
        0 1px 2px color-mix(in srgb, var(--nav-glyph-accent, #8e8e93) 28%, transparent);
      -webkit-mask: var(--nav-glyph-mask, none) center / 13px 13px no-repeat;
      mask: var(--nav-glyph-mask, none) center / 13px 13px no-repeat;
      color: transparent;
      font-size: 0;
      transition: transform 0.28s var(--ios-spring-settle), box-shadow 0.22s var(--ios-response);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-glyph {
      transform: scale(1.04);
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.42),
        0 2px 6px color-mix(in srgb, var(--nav-glyph-accent, var(--primary)) 32%, transparent);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host {
      gap: 0;
      flex: 1 1 auto;
      min-width: 0;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 46px;
      padding-top: 4px !important;
      padding-bottom: 4px !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-main {
      gap: 10px !important;
      width: 100%;
    }
    .sidebar-account-compact {
      margin: 0 7px;
      border-radius: 12px !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::before {
        transition: none !important;
        transform: none !important;
      }
    }

    /* ── 侧栏 v10：克制材质 + 全列表入场 + 修复 Hub 伪元素冲突 ── */
    .sidebar {
      background: var(--chrome-bg, var(--sys-bg)) !important;
      box-shadow: inset -1px 0 0 var(--hairline) !important;
    }
    @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
      .sidebar {
        background: color-mix(in srgb, var(--chrome-bg, var(--sys-bg)) 92%, transparent) !important;
        -webkit-backdrop-filter: blur(20px) saturate(1.2);
        backdrop-filter: blur(20px) saturate(1.2);
      }
    }
    .sidebar .nav button::before {
      content: none !important;
      display: none !important;
      width: 0 !important;
      height: 0 !important;
      flex: none !important;
      -webkit-mask: none !important;
      mask: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) {
      flex: 1 1 auto;
      min-height: 0;
      margin: 0 !important;
      padding: 4px 2px 8px !important;
      gap: 2px !important;
      border: none !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      border-radius: 0 !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 36px;
      padding: 0 10px 0 8px !important;
      gap: 9px !important;
      border-radius: 8px !important;
      font-weight: 500;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 44px;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::before {
      content: '' !important;
      display: block !important;
      width: auto !important;
      height: auto !important;
      flex: none !important;
      -webkit-mask: none !important;
      mask: none !important;
      background: color-mix(in srgb, var(--primary) 14%, transparent) !important;
      box-shadow: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button[data-page="hub_center"]::before {
      background: color-mix(in srgb, var(--primary) 14%, transparent) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title {
      font-size: 0.8125rem !important;
      font-weight: 500 !important;
      letter-spacing: 0.01em !important;
      color: color-mix(in srgb, var(--text) 88%, var(--muted)) !important;
      text-decoration: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      font-weight: 600 !important;
      color: var(--text) !important;
    }
    .sidebar .nav button[data-page="hub_center"].active,
    .sidebar .nav button.hub-nav-entry.active {
      color: var(--text) !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      font-size: 0.75rem !important;
      font-weight: 400 !important;
      color: var(--muted-strong) !important;
      text-decoration: none !important;
      opacity: 1 !important;
      margin-left: 0 !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-copy,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      text-align: left !important;
    }
    .sidebar .nav button span:last-child {
      margin-left: 0 !important;
      opacity: 1 !important;
      font-weight: inherit !important;
      font-size: inherit !important;
      transform: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-glyph {
      width: 20px;
      height: 20px;
      flex: 0 0 20px;
      border-radius: 5px;
      background: none !important;
      background-color: color-mix(in srgb, var(--nav-glyph-accent, #8e8e93) 52%, var(--muted-strong)) !important;
      box-shadow: none !important;
      -webkit-mask: var(--nav-glyph-mask) center / 12px 12px no-repeat;
      mask: var(--nav-glyph-mask) center / 12px 12px no-repeat;
      opacity: 0.92;
      transition: background-color 0.2s var(--ios-response), opacity 0.2s var(--ios-response), transform 0.2s var(--ios-response);
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-glyph {
      background-color: var(--nav-glyph-accent, var(--primary)) !important;
      opacity: 1;
      transform: none;
      box-shadow: none !important;
    }
    .sidebar-account-compact {
      margin: 0 2px;
      min-height: 44px;
      padding: 7px 10px;
      border: none !important;
      background: color-mix(in srgb, var(--text) 4%, transparent) !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      border-radius: 10px !important;
    }
    .sidebar-account-compact:hover {
      background: color-mix(in srgb, var(--text) 6%, transparent) !important;
      box-shadow: none !important;
    }
    .sidebar .logo {
      border-bottom: none;
      margin-bottom: 2px;
      padding-bottom: 6px;
    }
    @media (prefers-reduced-motion: no-preference) {
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button {
        animation: iosSidebarNavItemIn 0.36s var(--ios-sidebar-sheet-ease, cubic-bezier(0.22, 1, 0.36, 1)) both !important;
        animation-delay: calc(0.016s + var(--nav-stagger-i, 0) * 0.012s) !important;
      }
      @keyframes iosSidebarNavItemIn {
        from {
          opacity: 0;
          transform: translate3d(-6px, 0, 0);
        }
        to {
          opacity: 1;
          transform: translate3d(0, 0, 0);
        }
      }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter {
        animation: iosSidebarNavGroupIn 0.32s var(--ios-sidebar-sheet-ease, cubic-bezier(0.22, 1, 0.36, 1)) both;
      }
      @keyframes iosSidebarNavGroupIn {
        from { opacity: 0.72; }
        to { opacity: 1; }
      }
      /* 覆盖 v8 仅前 5 项错峰 + 旧 .nav button 规则 */
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button {
        animation: none;
      }
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(n),
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing) > button:nth-child(n) {
        animation-delay: unset;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button,
      html.is-compact-viewport .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter {
        animation: none !important;
      }
    }

    /* ── 侧栏 v11：全站字号对齐 + macOS 纯文字导航 + 丝滑 pointer 排序 ── */
    .sidebar {
      --sb-nav-fs: 0.875rem;
      --sb-nav-lh: 1.35;
      --sb-nav-fw: 500;
      --sb-nav-fw-active: 600;
      --sb-selection-fill: color-mix(in srgb, var(--primary) 12%, transparent);
      font-size: var(--sb-nav-fs);
      line-height: var(--sb-nav-lh);
    }
    .sidebar .logo-text {
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: -0.02em;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) .hub-nav-glyph {
      display: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: var(--sb-nav-min-h, 40px);
      padding: 0 12px !important;
      gap: 0 !important;
      font-size: var(--sb-nav-fs) !important;
      font-weight: var(--sb-nav-fw) !important;
      line-height: var(--sb-nav-lh) !important;
      letter-spacing: -0.01em !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title {
      font-size: inherit !important;
      font-weight: inherit !important;
      line-height: inherit !important;
      letter-spacing: inherit !important;
      color: color-mix(in srgb, var(--text) 90%, var(--muted)) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      font-weight: var(--sb-nav-fw-active) !important;
      color: var(--text) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      font-size: 0.75rem !important;
      line-height: 1.3 !important;
      font-weight: 400 !important;
      color: var(--muted-strong) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::before {
      background: var(--sb-selection-fill) !important;
      border-radius: 8px !important;
    }
    .sidebar .nav.ios-nav-editing {
      flex: 1 1 auto;
      min-height: 0;
      margin: 0 6px !important;
      padding: 4px !important;
      gap: 0 !important;
      border-radius: 12px !important;
      border: 1px solid color-mix(in srgb, var(--sys-separator-strong) 70%, transparent) !important;
      background: color-mix(in srgb, var(--sys-surface) 94%, var(--sys-bg)) !important;
      box-shadow: none !important;
      overflow-x: hidden;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      touch-action: pan-y;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      min-height: var(--sb-nav-min-h, 44px) !important;
      padding: 0 10px 0 4px !important;
      margin: 0 !important;
      gap: 8px !important;
      border: none !important;
      border-bottom: 1px solid color-mix(in srgb, var(--sys-separator-strong) 55%, transparent) !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      font-size: var(--sb-nav-fs) !important;
      font-weight: var(--sb-nav-fw) !important;
      line-height: var(--sb-nav-lh) !important;
      color: var(--text) !important;
      transform: none !important;
      transition:
        background-color 0.16s var(--ios-response),
        transform 0.22s var(--ios-spring-settle),
        box-shadow 0.22s var(--ios-response),
        opacity 0.16s var(--ios-response) !important;
      will-change: transform, background-color;
    }
    .sidebar .nav.ios-nav-editing button.hub-nav-entry {
      min-height: 48px !important;
      align-items: center !important;
    }
    .sidebar .nav.ios-nav-editing button.hub-nav-entry .hub-nav-main {
      flex: 1 1 auto;
      min-width: 0;
      gap: 0 !important;
    }
    .sidebar .nav.ios-nav-editing button.hub-nav-entry .hub-nav-copy {
      gap: 2px !important;
    }
    .sidebar .nav.ios-nav-editing button.hub-nav-entry .hub-nav-title,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry .hub-nav-status {
      font-size: inherit !important;
      font-weight: inherit !important;
      color: inherit !important;
      text-decoration: none !important;
      opacity: 1 !important;
      margin: 0 !important;
      text-align: left !important;
    }
    .sidebar .nav.ios-nav-editing button.hub-nav-entry .hub-nav-status {
      font-size: 0.75rem !important;
      font-weight: 400 !important;
      color: var(--muted-strong) !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn:last-of-type,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry:last-of-type {
      border-bottom: none !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn .ios-nav-drag-grip,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry > .ios-nav-drag-grip {
      width: 28px;
      min-height: 36px;
      margin: 0;
      padding: 0;
      flex: 0 0 28px;
      color: color-mix(in srgb, var(--muted) 80%, var(--text));
      touch-action: none;
      cursor: grab;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      font-size: inherit !important;
      font-weight: inherit !important;
      color: inherit !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.ios-nav-row-dragging,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry.ios-nav-row-dragging {
      z-index: 3;
      opacity: 1 !important;
      border-bottom-color: transparent !important;
      background: var(--sys-surface) !important;
      box-shadow:
        0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent),
        0 10px 28px rgba(15, 23, 42, 0.14) !important;
      transform: scale(1.015) !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-insert-marker {
      position: relative;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-insert-marker::after {
      content: '';
      position: absolute;
      left: 36px;
      right: 10px;
      top: 0;
      height: 2px;
      border-radius: 99px;
      background: var(--primary);
      opacity: 0.85;
      pointer-events: none;
    }
    html.sidebar-nav-order-dragging .sidebar .nav.ios-nav-editing {
      scroll-behavior: auto;
    }
    .sidebar-account-compact-name {
      font-size: var(--sb-account-name-fs, 0.8125rem) !important;
      font-weight: 600 !important;
    }
    .sidebar-account-compact-sub {
      font-size: var(--sb-account-sub-fs, 0.75rem) !important;
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing {
      background: color-mix(in srgb, var(--sys-surface) 88%, transparent) !important;
      border-color: rgba(84, 84, 88, 0.42) !important;
    }
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.ios-nav-row-dragging,
    [data-theme="dark"] .sidebar .nav.ios-nav-editing button.hub-nav-entry.ios-nav-row-dragging {
      box-shadow:
        0 0 0 1px color-mix(in srgb, var(--tone-info-border) 55%, transparent),
        0 12px 32px rgba(0, 0, 0, 0.38) !important;
    }

    /* ── 侧栏 v12 权威层：macOS/iOS 毛玻璃胶囊列表（覆盖 v9–v11 扁平/分组） ── */
    .sidebar {
      --sb-pill-radius: 11px;
      --sb-pill-bg: color-mix(in srgb, #ffffff 70%, transparent);
      --sb-pill-border: color-mix(in srgb, rgba(255, 255, 255, 0.75) 35%, var(--sys-separator-strong));
      --sb-pill-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        0 1px 2px rgba(15, 23, 42, 0.05),
        0 4px 14px rgba(15, 23, 42, 0.06);
      --sb-pill-active-bg: color-mix(in srgb, var(--primary) 24%, rgba(255, 255, 255, 0.72));
      --sb-pill-active-border: color-mix(in srgb, var(--primary) 38%, transparent);
      --sb-nav-fs: clamp(0.875rem, 0.08vw + 0.84rem, 0.9375rem);
      font-size: var(--sb-nav-fs);
      background: color-mix(in srgb, var(--chrome-bg, var(--sys-bg)) 78%, transparent) !important;
      border-right: 1px solid color-mix(in srgb, var(--hairline) 80%, transparent) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.35) !important;
    }
    @supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
      .sidebar {
        -webkit-backdrop-filter: blur(36px) saturate(1.88) !important;
        backdrop-filter: blur(36px) saturate(1.88) !important;
      }
    }
    [data-theme="dark"] .sidebar {
      --sb-pill-bg: color-mix(in srgb, var(--sys-surface) 68%, transparent);
      --sb-pill-border: color-mix(in srgb, rgba(255, 255, 255, 0.12) 40%, rgba(84, 84, 88, 0.45));
      --sb-pill-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 12px rgba(0, 0, 0, 0.28);
      --sb-pill-active-bg: color-mix(in srgb, var(--tone-info-bg) 72%, transparent);
      --sb-pill-active-border: color-mix(in srgb, var(--tone-info-border) 65%, transparent);
    }
    .sidebar .logo-text {
      font-size: 1rem !important;
      font-weight: 600 !important;
      letter-spacing: -0.02em !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) {
      margin: 0 !important;
      padding: 4px 8px 10px !important;
      gap: 6px !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      mask-image: none !important;
      -webkit-mask-image: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      position: relative;
      isolation: isolate;
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: 100%;
      min-height: var(--sb-nav-min-h, 42px) !important;
      margin: 0 !important;
      padding: 0 14px !important;
      gap: 0 !important;
      border-radius: var(--sb-pill-radius) !important;
      border: 0.5px solid var(--sb-pill-border) !important;
      border-bottom: 0.5px solid var(--sb-pill-border) !important;
      background: var(--sb-pill-bg) !important;
      box-shadow: var(--sb-pill-shadow) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.7) !important;
      backdrop-filter: blur(20px) saturate(1.7) !important;
      font-size: var(--sb-nav-fs) !important;
      font-weight: 500 !important;
      line-height: 1.32 !important;
      letter-spacing: -0.01em !important;
      color: var(--text) !important;
      overflow: hidden !important;
      transform: none !important;
      transition:
        background 0.22s var(--ios-response),
        border-color 0.22s var(--ios-response),
        box-shadow 0.22s var(--ios-response),
        transform 0.14s var(--ios-spring-settle) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn::after,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::before,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry::after {
      display: none !important;
      content: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn > span.ios-nav-label-host,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry > .hub-nav-main {
      margin-left: 0 !important;
      opacity: 1 !important;
      text-align: left !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-title {
      font-size: inherit !important;
      font-weight: inherit !important;
      line-height: inherit !important;
      color: color-mix(in srgb, var(--text) 92%, var(--muted)) !important;
      text-decoration: none !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry {
      min-height: 46px !important;
      padding-top: 6px !important;
      padding-bottom: 6px !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry .hub-nav-status {
      font-size: 0.75rem !important;
      font-weight: 400 !important;
      color: var(--muted-strong) !important;
      opacity: 1 !important;
    }
    @media (hover: hover) and (pointer: fine) {
      .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:hover {
        background: color-mix(in srgb, #ffffff 82%, transparent) !important;
        border-color: color-mix(in srgb, var(--primary) 16%, var(--sb-pill-border)) !important;
        transform: translateY(-0.5px) !important;
      }
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry:active {
      transform: scale(0.988) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active {
      background: var(--sb-pill-active-bg) !important;
      border-color: var(--sb-pill-active-border) !important;
      box-shadow:
        var(--sb-pill-shadow),
        0 0 0 1px color-mix(in srgb, var(--primary) 14%, transparent) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-title {
      font-weight: 600 !important;
      color: color-mix(in srgb, var(--primary) 78%, #1e3a8a) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) button.hub-nav-entry.active .hub-nav-status {
      color: color-mix(in srgb, var(--text) 58%, var(--muted-strong)) !important;
    }
    .sidebar #nav.nav:not(.ios-nav-editing) .ios-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) .hub-nav-glyph,
    .sidebar #nav.nav:not(.ios-nav-editing) .hub-nav-chevron {
      display: none !important;
    }
    .sidebar-account-compact {
      margin: 0 8px !important;
      border-radius: var(--sb-pill-radius) !important;
      border: 0.5px solid var(--sb-pill-border) !important;
      background: var(--sb-pill-bg) !important;
      box-shadow: var(--sb-pill-shadow) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.7) !important;
      backdrop-filter: blur(20px) saturate(1.7) !important;
    }
    .sidebar .nav.ios-nav-editing button::before,
    .sidebar .nav.ios-nav-editing button::after {
      display: none !important;
      content: none !important;
    }
    .sidebar .nav.ios-nav-editing button.ios-nav-module-btn.ios-nav-row-dragging,
    .sidebar .nav.ios-nav-editing button.hub-nav-entry.ios-nav-row-dragging {
      opacity: 0.42 !important;
      transform: none !important;
      box-shadow: none !important;
      background: color-mix(in srgb, var(--primary) 10%, transparent) !important;
    }

    /* ══ 侧栏 v13 最终层：Apple 半透明毛玻璃胶囊 + iOS 排序交互（覆盖全部历史侧栏样式） ══ */
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      --apple-sidebar-tint: rgba(246, 246, 250, 0.42);
      --apple-pill-fill: rgba(255, 255, 255, 0.38);
      --apple-pill-hover: rgba(255, 255, 255, 0.52);
      --apple-pill-stroke: rgba(255, 255, 255, 0.55);
      --apple-pill-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.65), 0 1px 3px rgba(0, 0, 0, 0.04);
      --apple-pill-active: rgba(0, 122, 255, 0.22);
      --apple-pill-active-stroke: rgba(0, 122, 255, 0.38);
      --apple-pill-active-text: #007aff;
      --apple-nav-fs: clamp(0.8125rem, 0.06vw + 0.79rem, 0.875rem);
      --apple-nav-lh: 1.35;
      --apple-pill-radius: 10px;
      font-size: var(--apple-nav-fs);
      line-height: var(--apple-nav-lh);
      color: var(--text);
      background: var(--apple-sidebar-tint) !important;
      border-right: 0.5px solid rgba(0, 0, 0, 0.06) !important;
      box-shadow: inset -0.5px 0 0 rgba(255, 255, 255, 0.45) !important;
      -webkit-backdrop-filter: blur(48px) saturate(1.85) brightness(1.04) !important;
      backdrop-filter: blur(48px) saturate(1.85) brightness(1.04) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar,
    [data-theme="dark"] aside.sidebar.apple-sidebar {
      --apple-sidebar-tint: rgba(22, 22, 24, 0.58);
      --apple-pill-fill: rgba(255, 255, 255, 0.07);
      --apple-pill-hover: rgba(255, 255, 255, 0.11);
      --apple-pill-stroke: rgba(255, 255, 255, 0.1);
      --apple-pill-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.08), 0 2px 8px rgba(0, 0, 0, 0.22);
      --apple-pill-active: rgba(10, 132, 255, 0.28);
      --apple-pill-active-stroke: rgba(10, 132, 255, 0.45);
      --apple-pill-active-text: #0a84ff;
      border-right-color: rgba(255, 255, 255, 0.06) !important;
      box-shadow: inset -0.5px 0 0 rgba(255, 255, 255, 0.04) !important;
      -webkit-backdrop-filter: blur(48px) saturate(1.65) brightness(0.92) !important;
      backdrop-filter: blur(48px) saturate(1.65) brightness(0.92) !important;
    }
    #sidebar.apple-sidebar .logo {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      padding-bottom: 6px;
    }
    #sidebar.apple-sidebar .logo-text {
      font-size: 0.9375rem !important;
      font-weight: 600 !important;
      letter-spacing: -0.022em !important;
      color: var(--text) !important;
    }
    #sidebar.apple-sidebar #nav.nav {
      flex: 1 1 auto;
      min-height: 0;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      margin: 0 !important;
      padding: 2px 10px 12px !important;
      gap: 5px !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      mask-image: none !important;
      -webkit-mask-image: none !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button {
      position: relative;
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: 100%;
      min-height: 34px !important;
      margin: 0 !important;
      padding: 0 12px !important;
      gap: 0 !important;
      border-radius: var(--apple-pill-radius) !important;
      border: 0.5px solid var(--apple-pill-stroke) !important;
      background: var(--apple-pill-fill) !important;
      box-shadow: var(--apple-pill-shadow) !important;
      -webkit-backdrop-filter: blur(24px) saturate(1.75) !important;
      backdrop-filter: blur(24px) saturate(1.75) !important;
      font-size: var(--apple-nav-fs) !important;
      font-weight: 500 !important;
      line-height: var(--apple-nav-lh) !important;
      letter-spacing: -0.012em !important;
      color: color-mix(in srgb, var(--text) 94%, transparent) !important;
      text-align: left !important;
      overflow: hidden;
      transform: none !important;
      transition:
        background 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
        border-color 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
        box-shadow 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.12s cubic-bezier(0.34, 1.2, 0.64, 1) !important;
      -webkit-tap-highlight-color: transparent;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::before,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::after {
      display: none !important;
      content: none !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-main {
      flex: 1 1 auto;
      min-width: 0;
      margin: 0 !important;
      opacity: 1 !important;
      text-align: left !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host > span,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-title {
      font: inherit !important;
      color: inherit !important;
      text-decoration: none !important;
      opacity: 1 !important;
      margin: 0 !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: 42px !important;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-status {
      font-size: 0.75rem !important;
      font-weight: 400 !important;
      line-height: 1.3 !important;
      color: var(--muted-strong) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-glyph,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-glyph,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) .hub-nav-chevron {
      display: none !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button:hover {
        background: var(--apple-pill-hover) !important;
        border-color: color-mix(in srgb, var(--apple-pill-stroke) 80%, rgba(0, 122, 255, 0.2)) !important;
      }
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button:active {
      transform: scale(0.985) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      background: var(--apple-pill-active) !important;
      border-color: var(--apple-pill-active-stroke) !important;
      box-shadow: var(--apple-pill-shadow), inset 0 0 0 0.5px rgba(0, 122, 255, 0.12) !important;
      color: var(--apple-pill-active-text) !important;
      font-weight: 600 !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active .hub-nav-status {
      color: color-mix(in srgb, var(--text) 55%, var(--muted-strong)) !important;
      font-weight: 400 !important;
    }
    #sidebar.apple-sidebar .sidebar-account-compact {
      margin: 0 10px !important;
      min-height: 42px;
      padding: 7px 11px !important;
      border-radius: var(--apple-pill-radius) !important;
      border: 0.5px solid var(--apple-pill-stroke) !important;
      background: var(--apple-pill-fill) !important;
      box-shadow: var(--apple-pill-shadow) !important;
      -webkit-backdrop-filter: blur(24px) saturate(1.75) !important;
      backdrop-filter: blur(24px) saturate(1.75) !important;
    }
    #sidebar.apple-sidebar .sidebar-footer {
      background: transparent !important;
      border: none !important;
      padding-top: 8px;
    }
    /* iOS 设置式排序列表 */
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      margin: 0 10px 10px !important;
      padding: 0 !important;
      gap: 0 !important;
      border-radius: 11px !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
      background: rgba(255, 255, 255, 0.42) !important;
      -webkit-backdrop-filter: blur(28px) saturate(1.7) !important;
      backdrop-filter: blur(28px) saturate(1.7) !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.55) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      background: rgba(44, 44, 46, 0.5) !important;
      border-color: rgba(255, 255, 255, 0.08) !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button {
      display: flex !important;
      align-items: center !important;
      min-height: 44px !important;
      margin: 0 !important;
      padding: 0 12px 0 6px !important;
      gap: 10px !important;
      border: none !important;
      border-radius: 0 !important;
      border-bottom: 0.5px solid rgba(60, 60, 67, 0.12) !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      font-size: var(--apple-nav-fs) !important;
      font-weight: 500 !important;
      color: var(--text) !important;
      transform: none !important;
      transition: background 0.15s ease !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button:last-child {
      border-bottom: none !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button::before,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button::after {
      display: none !important;
      content: none !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing .ios-nav-drag-grip {
      flex: 0 0 28px;
      width: 28px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: color-mix(in srgb, var(--muted) 75%, var(--text));
      cursor: grab;
      touch-action: none;
      -webkit-user-select: none;
      user-select: none;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing .ios-nav-drag-grip:active {
      cursor: grabbing;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button.ios-nav-row-placeholder {
      opacity: 0.22 !important;
      background: rgba(0, 122, 255, 0.06) !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button.ios-nav-insert-before {
      position: relative;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button.ios-nav-insert-before::after {
      content: '' !important;
      display: block !important;
      position: absolute;
      left: 38px;
      right: 12px;
      top: -1px;
      height: 2px;
      border-radius: 1px;
      background: #007aff;
      opacity: 0.95;
      pointer-events: none;
      z-index: 2;
    }
    .ios-nav-drag-ghost {
      border-radius: 11px !important;
      border: 0.5px solid rgba(0, 122, 255, 0.28) !important;
      background: rgba(255, 255, 255, 0.78) !important;
      -webkit-backdrop-filter: blur(32px) saturate(1.9) !important;
      backdrop-filter: blur(32px) saturate(1.9) !important;
      box-shadow:
        0 14px 38px rgba(0, 0, 0, 0.16),
        0 0 0 0.5px rgba(0, 122, 255, 0.14),
        inset 0 0.5px 0 rgba(255, 255, 255, 0.75) !important;
      transform: scale(1.02);
      opacity: 0.96;
      transition: none !important;
      will-change: top;
    }
    [data-theme="dark"] .ios-nav-drag-ghost {
      background: rgba(44, 44, 46, 0.82) !important;
      border-color: rgba(10, 132, 255, 0.35) !important;
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45), inset 0 0.5px 0 rgba(255, 255, 255, 0.1) !important;
    }
    html.sidebar-nav-order-dragging #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      scroll-behavior: auto;
    }

    /* ══ 侧栏 v14：真·半透明 vibrancy（覆盖 v13 偏实色胶囊） ══ */
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      --apple-sidebar-tint: rgba(246, 246, 250, 0.26) !important;
      --apple-pill-fill: rgba(255, 255, 255, 0.2) !important;
      --apple-pill-hover: rgba(255, 255, 255, 0.32) !important;
      --apple-pill-stroke: rgba(255, 255, 255, 0.42) !important;
      --apple-pill-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.5) !important;
      --apple-pill-active: rgba(0, 122, 255, 0.16) !important;
      --apple-pill-active-stroke: rgba(0, 122, 255, 0.32) !important;
      -webkit-backdrop-filter: blur(52px) saturate(1.95) brightness(1.06) !important;
      backdrop-filter: blur(52px) saturate(1.95) brightness(1.06) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar,
    [data-theme="dark"] aside.sidebar.apple-sidebar {
      --apple-sidebar-tint: rgba(22, 22, 24, 0.42) !important;
      --apple-pill-fill: rgba(255, 255, 255, 0.06) !important;
      --apple-pill-hover: rgba(255, 255, 255, 0.1) !important;
      --apple-pill-stroke: rgba(255, 255, 255, 0.08) !important;
      --apple-pill-active: rgba(10, 132, 255, 0.22) !important;
      --apple-pill-active-stroke: rgba(10, 132, 255, 0.38) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      gap: 5px !important;
      padding: 4px 10px 12px !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button {
      min-height: 32px !important;
      padding: 0 11px !important;
      border-radius: 9px !important;
      font-weight: 500 !important;
      -webkit-backdrop-filter: blur(28px) saturate(1.8) !important;
      backdrop-filter: blur(28px) saturate(1.8) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      font-weight: 600 !important;
      box-shadow: var(--apple-pill-shadow), inset 0 0 0 0.5px rgba(0, 122, 255, 0.1) !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      background: rgba(255, 255, 255, 0.28) !important;
      -webkit-backdrop-filter: blur(32px) saturate(1.75) !important;
      backdrop-filter: blur(32px) saturate(1.75) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      background: rgba(44, 44, 46, 0.38) !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing.ios-nav-insert-slot-end::after {
      content: '' !important;
      display: block !important;
      height: 2px;
      margin: 0 12px 4px;
      border-radius: 1px;
      background: #007aff;
      opacity: 0.9;
    }
    html.sidebar-nav-order-dragging #content.content {
      view-transition-name: none !important;
    }

    /* ══ 侧栏 v15 权威：恢复原底色 + macOS 胶囊 + 修复主区闪屏（覆盖 v6–v14） ══ */
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      --apple-sidebar-tint: transparent !important;
      --apple-pill-fill: rgba(255, 255, 255, 0.52) !important;
      --apple-pill-hover: rgba(255, 255, 255, 0.62) !important;
      --apple-pill-stroke: rgba(0, 0, 0, 0.05) !important;
      --apple-pill-active: rgba(0, 122, 255, 0.18) !important;
      -webkit-backdrop-filter: blur(22px) saturate(1.65) !important;
      backdrop-filter: blur(22px) saturate(1.65) !important;
    }
    #sidebar.sidebar,
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      background: var(--chrome-bg, var(--sys-surface)) !important;
      border-right: 1px solid var(--sys-separator, var(--hairline)) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.42) !important;
      -webkit-backdrop-filter: blur(22px) saturate(1.65) !important;
      backdrop-filter: blur(22px) saturate(1.65) !important;
    }
    [data-theme="dark"] #sidebar.sidebar,
    [data-theme="dark"] #sidebar.apple-sidebar,
    [data-theme="dark"] aside.sidebar.apple-sidebar {
      background: var(--chrome-bg, var(--sys-surface)) !important;
      box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.05) !important;
      -webkit-backdrop-filter: blur(22px) saturate(1.45) !important;
      backdrop-filter: blur(22px) saturate(1.45) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing),
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      margin: 0 !important;
      padding: 4px 10px 12px !important;
      gap: 6px !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      mask-image: none !important;
      -webkit-mask-image: none !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button {
      position: relative;
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: 100%;
      min-height: 36px !important;
      margin: 0 !important;
      padding: 0 12px !important;
      gap: 0 !important;
      border-radius: 9px !important;
      border: 0.5px solid rgba(0, 0, 0, 0.05) !important;
      background: rgba(255, 255, 255, 0.52) !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.7) !important;
      -webkit-backdrop-filter: blur(18px) saturate(1.7) !important;
      backdrop-filter: blur(18px) saturate(1.7) !important;
      font-size: clamp(0.8125rem, 0.06vw + 0.79rem, 0.875rem) !important;
      font-weight: 500 !important;
      line-height: 1.34 !important;
      letter-spacing: -0.012em !important;
      color: var(--text) !important;
      transform: none !important;
      transition:
        background 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
        border-color 0.2s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.12s cubic-bezier(0.34, 1.15, 0.64, 1) !important;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button {
      background: rgba(255, 255, 255, 0.09) !important;
      border-color: rgba(255, 255, 255, 0.08) !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.1) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button::before,
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button::after,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::before,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::after {
      display: none !important;
      content: none !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      background: rgba(0, 122, 255, 0.18) !important;
      border-color: rgba(0, 122, 255, 0.32) !important;
      color: #007aff !important;
      font-weight: 600 !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.55) !important;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      background: rgba(10, 132, 255, 0.24) !important;
      border-color: rgba(10, 132, 255, 0.38) !important;
      color: #0a84ff !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host,
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-main,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-main {
      margin-left: 0 !important;
      opacity: 1 !important;
      text-align: left !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: 44px !important;
      padding-top: 5px !important;
      padding-bottom: 5px !important;
    }
    #sidebar.sidebar .sidebar-account-compact,
    #sidebar.apple-sidebar .sidebar-account-compact {
      margin: 0 10px !important;
      background: rgba(255, 255, 255, 0.48) !important;
      border: 0.5px solid rgba(0, 0, 0, 0.05) !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.65) !important;
      -webkit-backdrop-filter: blur(18px) saturate(1.7) !important;
      backdrop-filter: blur(18px) saturate(1.7) !important;
      border-radius: 9px !important;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      margin: 0 10px 10px !important;
      padding: 0 !important;
      gap: 0 !important;
      border-radius: 10px !important;
      flex: 1 1 auto !important;
      min-height: 0 !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
      background: rgba(255, 255, 255, 0.62) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.6) !important;
      backdrop-filter: blur(20px) saturate(1.6) !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.75) !important;
      touch-action: pan-y;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav.ios-nav-editing,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      background: rgba(44, 44, 46, 0.72) !important;
      border-color: rgba(255, 255, 255, 0.1) !important;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing > button,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button {
      cursor: default;
      touch-action: none;
      -webkit-user-select: none;
      user-select: none;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing .ios-nav-drag-grip,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing .ios-nav-drag-grip {
      flex: 0 0 30px;
      width: 30px;
      min-height: 36px;
      display: inline-flex !important;
      align-items: center;
      justify-content: center;
      pointer-events: auto;
      cursor: grab;
      touch-action: none;
      color: color-mix(in srgb, var(--muted) 70%, var(--text));
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing > button.ios-nav-row-placeholder,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button.ios-nav-row-placeholder {
      opacity: 0.25 !important;
    }
    html.sidebar-overlay-open #content.content {
      view-transition-name: none !important;
      transform: none !important;
      filter: none !important;
      opacity: 1 !important;
      will-change: auto !important;
      transition: none !important;
    }
    /* 侧栏动画/权限重页：侧栏用实底，避免 64px frost 叠加重绘 */
    html.sidebar-sheet-opening #sidebar.sidebar,
    html.sidebar-sheet-opening #sidebar.apple-sidebar,
    html.sidebar-sheet-closing #sidebar.sidebar,
    html.sidebar-sheet-closing #sidebar.apple-sidebar,
    html.sidebar-sheet-pan-active #sidebar.sidebar.mobile-open,
    html.sidebar-sheet-pan-active #sidebar.apple-sidebar.mobile-open,
    /* ══ 侧栏 v18：整栏高质量磨砂（参考 iOS 浮层材质） ══ */
    #sidebar.sidebar,
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      --sb-divider: color-mix(in srgb, var(--sys-separator) 55%, transparent);
      --glass-muted: rgba(60, 60, 67, 0.58);
      position: relative;
      isolation: isolate;
      overflow: hidden;
      background: var(--frost-bg) !important;
      border-right: 0.5px solid var(--frost-stroke-outer) !important;
      box-shadow: var(--frost-shadow), var(--frost-inset) !important;
      -webkit-backdrop-filter: var(--frost-blur-panel) !important;
      backdrop-filter: var(--frost-blur-panel) !important;
    }
    #sidebar.sidebar::before,
    #sidebar.apple-sidebar::before {
      content: '' !important;
      display: block !important;
      position: absolute;
      left: -8%;
      top: 6%;
      width: 92%;
      height: 42%;
      border-radius: 50%;
      background: var(--frost-glow);
      filter: blur(36px);
      opacity: 0.95;
      pointer-events: none;
      z-index: 0;
    }
    #sidebar.sidebar::after,
    #sidebar.apple-sidebar::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      pointer-events: none;
      z-index: 0;
      box-shadow: var(--frost-inset);
    }
    #sidebar.sidebar > *,
    #sidebar.apple-sidebar > * {
      position: relative;
      z-index: 1;
    }
    [data-theme="dark"] #sidebar.sidebar,
    [data-theme="dark"] #sidebar.apple-sidebar,
    [data-theme="dark"] aside.sidebar.apple-sidebar {
      --glass-muted: rgba(235, 235, 245, 0.52);
    }
    [data-theme="dark"] #sidebar.sidebar::before,
    [data-theme="dark"] #sidebar.apple-sidebar::before {
      opacity: 0.65;
    }
    #sidebar.sidebar .logo,
    #sidebar.apple-sidebar .logo,
    #sidebar.sidebar #nav.nav,
    #sidebar.apple-sidebar #nav.nav,
    #sidebar.sidebar .sidebar-footer,
    #sidebar.apple-sidebar .sidebar-footer,
    #sidebar.sidebar .sidebar-account-compact,
    #sidebar.apple-sidebar .sidebar-account-compact,
    #sidebar.sidebar .sidebar-nav-edit-toolbar-mount-pinned .ios-sidebar-nav-edit-entry,
    #sidebar.apple-sidebar .sidebar-nav-edit-toolbar-mount-pinned .ios-sidebar-nav-edit-entry {
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    #sidebar.sidebar .logo,
    #sidebar.apple-sidebar .logo {
      margin: max(12px, env(safe-area-inset-top)) 14px 0 !important;
      padding: 0 6px 12px !important;
      min-height: 40px !important;
      border-radius: 0 !important;
      border-bottom: 0.5px solid var(--sb-divider) !important;
    }
    #sidebar.sidebar .logo-text,
    #sidebar.apple-sidebar .logo-text {
      font-weight: 650 !important;
      letter-spacing: -0.028em !important;
      font-size: 0.9375rem !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing),
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      flex: 1 1 auto;
      min-height: 0;
      margin: 0 !important;
      padding: 8px 10px 10px !important;
      gap: 2px !important;
      border-radius: 0 !important;
      mask-image: none !important;
      -webkit-mask-image: none !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button {
      display: flex !important;
      align-items: center !important;
      width: 100%;
      min-height: 42px !important;
      margin: 0 !important;
      padding: 9px 12px !important;
      gap: 0 !important;
      border: none !important;
      border-radius: 12px !important;
      background: transparent !important;
      box-shadow: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      font-size: 0.875rem !important;
      font-weight: 500 !important;
      line-height: 1.35 !important;
      letter-spacing: -0.018em !important;
      color: var(--text) !important;
      transform: none !important;
      transition:
        background 0.18s cubic-bezier(0.25, 0.1, 0.25, 1),
        color 0.18s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button::before,
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button::after,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::before,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button::after {
      display: none !important;
      content: none !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button:hover,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button:hover {
        background: var(--frost-row-hover) !important;
        transform: none !important;
      }
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button:active {
      transform: scale(0.988) !important;
      background: var(--frost-row-hover) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      background: var(--frost-row-active) !important;
      border: none !important;
      color: var(--text) !important;
      font-weight: 600 !important;
      box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.55) !important;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active {
      color: var(--text) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host > span,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .ios-nav-label-host > span {
      font-weight: 560 !important;
      color: inherit !important;
      letter-spacing: -0.02em !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: 52px !important;
      padding-top: 10px !important;
      padding-bottom: 10px !important;
      align-items: flex-start !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-title,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-title {
      font-size: 0.875rem !important;
      font-weight: 600 !important;
      letter-spacing: -0.022em !important;
      line-height: 1.28 !important;
      color: inherit !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-status,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-status {
      margin-top: 2px !important;
      font-size: 0.75rem !important;
      font-weight: 450 !important;
      line-height: 1.32 !important;
      letter-spacing: -0.01em !important;
      color: var(--glass-muted) !important;
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active .hub-nav-status,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active .hub-nav-status {
      color: var(--glass-muted) !important;
    }
    /* 侧栏团队私聊未读：与 iOS/macOS 一致用系统红数字角标（非蓝色圆点） */
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-unread,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-unread {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      min-width: 20px !important;
      height: 20px !important;
      padding: 0 6px !important;
      border-radius: 999px !important;
      font-size: 11px !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      font-variant-numeric: tabular-nums !important;
      letter-spacing: -0.02em !important;
      color: #fff !important;
      background: linear-gradient(180deg, #ff6259 0%, #ff3b30 52%, #e6352b 100%) !important;
      border: 1.5px solid rgba(255, 255, 255, 0.92) !important;
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.32) inset, 0 4px 12px rgba(255, 59, 48, 0.28) !important;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-unread,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button .hub-nav-unread {
      border-color: rgba(30, 41, 59, 0.88) !important;
      box-shadow: 0 1px 0 rgba(255, 255, 255, 0.18) inset, 0 6px 16px rgba(255, 59, 48, 0.34) !important;
    }
    #sidebar.sidebar .sidebar-footer,
    #sidebar.apple-sidebar .sidebar-footer {
      padding: 8px 14px max(12px, env(safe-area-inset-bottom)) !important;
      border-top: 0.5px solid var(--sb-divider) !important;
    }
    #sidebar.sidebar .sidebar-account-compact,
    #sidebar.apple-sidebar .sidebar-account-compact {
      margin: 0 !important;
      padding: 10px 6px !important;
      min-height: 52px !important;
      border-radius: 10px !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.sidebar .sidebar-account-compact:hover,
      #sidebar.apple-sidebar .sidebar-account-compact:hover {
        background: var(--frost-row-hover) !important;
      }
    }
    #sidebar.sidebar .sidebar-account-compact-name,
    #sidebar.apple-sidebar .sidebar-account-compact-name {
      font-weight: 600 !important;
      letter-spacing: -0.02em !important;
    }
    #sidebar.sidebar .sidebar-account-compact-sub,
    #sidebar.apple-sidebar .sidebar-account-compact-sub {
      color: var(--glass-muted) !important;
      font-size: 0.75rem !important;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      margin: 0 10px 10px !important;
      padding: 0 !important;
      gap: 0 !important;
      border-radius: 12px !important;
      overflow: hidden;
      border: 0.5px solid var(--sb-divider) !important;
      background: var(--frost-row-hover) !important;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing > button,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button {
      min-height: 44px !important;
      margin: 0 !important;
      padding: 0 10px 0 0 !important;
      border: none !important;
      border-radius: 0 !important;
      background: transparent !important;
      box-shadow: none !important;
      border-bottom: 0.5px solid rgba(60, 60, 67, 0.12) !important;
    }
    #sidebar.sidebar #nav.nav.ios-nav-editing > button:last-child,
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button:last-child {
      border-bottom: none !important;
    }
    [data-theme="dark"] #sidebar.sidebar #nav.nav.ios-nav-editing > button,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button {
      border-bottom-color: rgba(255, 255, 255, 0.1) !important;
    }
    #sidebar.sidebar .sidebar-nav-edit-toolbar-mount-pinned .ios-sidebar-nav-edit-entry,
    #sidebar.apple-sidebar .sidebar-nav-edit-toolbar-mount-pinned .ios-sidebar-nav-edit-entry {
      margin: 0 10px 8px !important;
      border-radius: 999px !important;
      background: var(--frost-row-hover) !important;
      border: 0.5px solid var(--sb-divider) !important;
    }
    .ios-nav-drag-ghost {
      border-radius: 14px !important;
      background: var(--frost-bg) !important;
      border: 0.5px solid var(--frost-stroke) !important;
      -webkit-backdrop-filter: var(--frost-blur) !important;
      backdrop-filter: var(--frost-blur) !important;
      box-shadow: var(--frost-shadow), var(--frost-inset) !important;
      transform: scale(1.015) !important;
      opacity: 0.94 !important;
    }
    [data-theme="dark"] .ios-nav-drag-ghost {
      background: rgba(58, 58, 60, 0.88) !important;
      border-color: rgba(255, 255, 255, 0.14) !important;
    }
    @media (max-width: 1023px) {
      #sidebar.sidebar.mobile-open,
      #sidebar.apple-sidebar.mobile-open,
      aside.sidebar.apple-sidebar.mobile-open {
        background: var(--ios-sidebar-face-bg) !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
        box-shadow: var(--ios-sidebar-glass-shadow) !important;
        border-radius: 0 28px 28px 0 !important;
      }
    }
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active .ios-nav-label-host > span,
    #sidebar.sidebar #nav.nav:not(.ios-nav-editing) > button.active .hub-nav-title,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active .ios-nav-label-host > span,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.active .hub-nav-title {
      color: var(--text) !important;
    }

    /* ── 侧栏 v19：frost 磨砂底 + 气泡模块卡 + #e5e5ea 选中 ── */
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      background: var(--frost-bg) !important;
      border-right: 0.5px solid var(--frost-stroke-outer) !important;
      box-shadow: var(--frost-shadow), var(--frost-inset) !important;
      -webkit-backdrop-filter: var(--frost-blur-panel) !important;
      backdrop-filter: var(--frost-blur-panel) !important;
    }
    /* 覆盖 v15 实色 chrome、大屏抽屉 97% 不透明渐变，统一回 frost */
    html:not(.is-compact-viewport):not(.ios-sidebar-auto-hide) #sidebar.apple-sidebar,
    html:not(.is-compact-viewport):not(.ios-sidebar-auto-hide) aside.sidebar.apple-sidebar,
    html:not(.is-compact-viewport).ios-sidebar-auto-hide #sidebar.apple-sidebar.mobile-open,
    html:not(.is-compact-viewport).ios-sidebar-auto-hide aside.sidebar.apple-sidebar.mobile-open {
      background: var(--ios-sidebar-face-bg) !important;
      border-right: 0.5px solid var(--ios-sidebar-glass-edge) !important;
      box-shadow: var(--ios-sidebar-glass-shadow) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    html.is-compact-viewport #sidebar.apple-sidebar,
    html.is-compact-viewport aside.sidebar.apple-sidebar,
    html.ios-sidebar-auto-hide #sidebar.apple-sidebar,
    html.ios-sidebar-auto-hide aside.sidebar.apple-sidebar {
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    html.is-compact-viewport #sidebar.apple-sidebar.mobile-open::before,
    html.ios-sidebar-auto-hide #sidebar.apple-sidebar.mobile-open::before {
      display: block !important;
      filter: none !important;
      opacity: 0.42 !important;
    }
    html.is-compact-viewport #sidebar.apple-sidebar.sidebar--dragging::before,
    html.ios-sidebar-auto-hide #sidebar.apple-sidebar.sidebar--dragging::before {
      display: none !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      gap: var(--sb-nav-gap, 9px) !important;
      padding: 4px 8px 12px !important;
      background: transparent !important;
      border: none !important;
      box-shadow: none !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.ios-nav-module-btn .ios-nav-label-host {
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      justify-content: flex-start !important;
      gap: 0 !important;
      width: 100%;
      min-width: 0;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.ios-nav-module-btn .ios-nav-label-host > span:first-child {
      display: block !important;
      flex: 1 1 auto !important;
      min-width: 0 !important;
      width: auto !important;
      white-space: nowrap !important;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      font-size: var(--sb-nav-fs, 1.0625rem) !important;
      font-weight: 400 !important;
      line-height: var(--sb-nav-lh, 1.28) !important;
      color: color-mix(in srgb, var(--text) 88%, var(--muted) 12%) !important;
    }
    /* 气泡模块：独立圆角浮卡（间距由 #nav gap 露出 frost 底） */
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: var(--sb-nav-min-h, 46px) !important;
      padding: 0 var(--sb-nav-pad-x, 14px) 0 calc(var(--sb-nav-pad-x, 14px) + 2px) !important;
      border-radius: var(--sb-nav-radius, 14px) !important;
      border: none !important;
      background: rgba(255, 255, 255, 0.82) !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.045),
        0 1px 2px rgba(15, 23, 42, 0.035),
        0 4px 14px rgba(15, 23, 42, 0.06) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.65) !important;
      backdrop-filter: blur(20px) saturate(1.65) !important;
      color: var(--text) !important;
      font-weight: 400 !important;
      transform: none !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: 50px !important;
      padding-top: 8px !important;
      padding-bottom: 8px !important;
      align-items: flex-start !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover {
        background: rgba(255, 255, 255, 0.94) !important;
        box-shadow:
          0 0 0 0.5px rgba(60, 60, 67, 0.05),
          0 2px 4px rgba(15, 23, 42, 0.042),
          0 8px 22px rgba(15, 23, 42, 0.07) !important;
        transform: none !important;
      }
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:active {
      transform: scale(0.984);
      background: #ebebed !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.04),
        0 1px 1px rgba(15, 23, 42, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    }
    /* 选中：第一版系统灰气泡 */
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
      background: #e5e5ea !important;
      border: none !important;
      color: var(--text) !important;
      font-weight: 500 !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.05),
        0 1px 2px rgba(15, 23, 42, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active:active {
      background: #dcdce0 !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active .ios-nav-label-host > span:first-child,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active .hub-nav-title {
      font-weight: 500 !important;
      color: var(--text) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active .hub-nav-status {
      color: color-mix(in srgb, var(--text) 55%, var(--muted-strong)) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      background: color-mix(in srgb, var(--sys-surface) 78%, rgba(255, 255, 255, 0.08)) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover {
      background: color-mix(in srgb, var(--sys-surface) 88%, rgba(255, 255, 255, 0.1)) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
      background: rgba(255, 255, 255, 0.16) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    }
    #sidebar.apple-sidebar .sidebar-account-compact {
      background: rgba(255, 255, 255, 0.78) !important;
      border: none !important;
      border-radius: var(--sb-nav-radius, 14px) !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.045),
        0 1px 2px rgba(15, 23, 42, 0.035),
        0 4px 14px rgba(15, 23, 42, 0.06) !important;
      -webkit-backdrop-filter: blur(20px) saturate(1.65) !important;
      backdrop-filter: blur(20px) saturate(1.65) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar .sidebar-account-compact {
      background: color-mix(in srgb, var(--sys-surface) 78%, rgba(255, 255, 255, 0.08)) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    }

    /* ── 侧栏 v25：iOS / macOS 质感 + 丝滑交互（frost 底 + 气泡卡 + #e5e5ea 选中） ── */
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      --sb-bubble-ease: var(--ios-response);
      --sb-bubble-spring: var(--ios-spring-settle);
      --sb-bubble-press: var(--ios-press-ease);
      --sb-bubble-dur: var(--motion-component-ms);
      --sb-bubble-press-dur: var(--motion-micro-ms);
      position: relative;
      isolation: isolate;
      font-family: inherit;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    #sidebar.apple-sidebar::before {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      border-radius: inherit;
      background: var(--frost-glow);
      opacity: 0.92;
    }
    #sidebar.apple-sidebar > * {
      position: relative;
      z-index: 1;
    }
    #sidebar.apple-sidebar .logo {
      padding-bottom: 8px !important;
      margin-bottom: 2px !important;
    }
    #sidebar.apple-sidebar .logo-text {
      font-size: 0.9375rem !important;
      font-weight: 650 !important;
      letter-spacing: -0.024em !important;
    }
    #sidebar.apple-sidebar .logo-icon {
      transition: transform 0.42s var(--sb-bubble-spring), box-shadow 0.42s var(--sb-bubble-ease) !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar .logo:hover .logo-icon {
        transform: scale(1.04);
      }
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      scroll-behavior: smooth;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior: contain;
      scrollbar-width: thin;
      scrollbar-color: color-mix(in srgb, var(--muted) 38%, transparent) transparent;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing)::-webkit-scrollbar {
      width: 4px;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing)::-webkit-scrollbar-thumb {
      border-radius: 99px;
      background: color-mix(in srgb, var(--muted) 32%, transparent);
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
      will-change: transform, background-color, box-shadow;
      border: 0.5px solid rgba(255, 255, 255, 0.72) !important;
      background: color-mix(in srgb, #ffffff 88%, transparent) !important;
      box-shadow:
        var(--inner-highlight),
        0 0 0 0.5px rgba(60, 60, 67, 0.04),
        0 1px 2px rgba(15, 23, 42, 0.04),
        0 5px 16px rgba(15, 23, 42, 0.055) !important;
      -webkit-backdrop-filter: blur(24px) saturate(1.78) !important;
      backdrop-filter: blur(24px) saturate(1.78) !important;
      transition:
        transform var(--sb-bubble-press-dur) var(--sb-bubble-press),
        background-color var(--sb-bubble-dur) var(--sb-bubble-ease),
        border-color var(--sb-bubble-dur) var(--sb-bubble-ease),
        box-shadow var(--sb-bubble-dur) var(--sb-bubble-spring),
        color var(--sb-bubble-dur) var(--sb-bubble-ease) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.ios-nav-module-btn .ios-nav-label-host > span:first-child,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry .hub-nav-title {
      transition: color var(--sb-bubble-dur) var(--sb-bubble-ease), font-weight var(--sb-bubble-dur) var(--sb-bubble-ease) !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover {
        transform: translate3d(0, -0.5px, 0) !important;
        background: rgba(255, 255, 255, 0.96) !important;
        border-color: rgba(255, 255, 255, 0.92) !important;
        box-shadow:
          var(--inner-highlight),
          0 0 0 0.5px rgba(60, 60, 67, 0.05),
          0 3px 8px rgba(15, 23, 42, 0.05),
          0 10px 26px rgba(15, 23, 42, 0.08) !important;
      }
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:active {
      transform: scale(0.976) translate3d(0, 0, 0) !important;
      transition-duration: 0.1s !important;
      transition-timing-function: var(--sb-bubble-press) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
      background: #e5e5ea !important;
      border-color: rgba(255, 255, 255, 0.55) !important;
      color: var(--text) !important;
      transform: none !important;
      box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.62),
        0 0 0 0.5px rgba(60, 60, 67, 0.06),
        0 2px 6px rgba(15, 23, 42, 0.05) !important;
    }
    @media (prefers-reduced-motion: no-preference) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
        animation: iosNavBubbleSelect 0.38s var(--ios-hub-chrome-entrance-ease) both;
      }
      @keyframes iosNavBubbleSelect {
        0% {
          transform: scale(0.985);
        }
        55% {
          transform: scale(1.008);
        }
        100% {
          transform: scale(1);
        }
      }
      html.is-compact-viewport .sidebar.apple-sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button,
      html.ios-sidebar-auto-hide:not(.is-compact-viewport) .sidebar.apple-sidebar.mobile-open #nav.nav:not(.ios-nav-editing).sidebar-nav-enter > button {
        animation: iosSidebarNavBubbleIn var(--ios-sidebar-sync-dur-open) var(--ios-sidebar-sheet-ease) both !important;
        animation-delay: calc(0.02s + var(--nav-stagger-i, 0) * 0.014s) !important;
      }
      @keyframes iosSidebarNavBubbleIn {
        from {
          opacity: 0;
          transform: translate3d(0, 8px, 0) scale(0.96);
        }
        to {
          opacity: 1;
          transform: translate3d(0, 0, 0) scale(1);
        }
      }
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      border-color: rgba(255, 255, 255, 0.1) !important;
    }
    #sidebar.apple-sidebar .sidebar-footer {
      border-top: none !important;
      padding-top: 10px !important;
      background: transparent !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
    }
    #sidebar.apple-sidebar .sidebar-account-compact {
      transition:
        transform var(--sb-bubble-press-dur) var(--sb-bubble-press),
        background-color var(--sb-bubble-dur) var(--sb-bubble-ease),
        box-shadow var(--sb-bubble-dur) var(--sb-bubble-spring) !important;
      -webkit-tap-highlight-color: transparent;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar .sidebar-account-compact:hover {
        transform: translate3d(0, -0.5px, 0);
        box-shadow:
          var(--inner-highlight),
          0 0 0 0.5px rgba(60, 60, 67, 0.05),
          0 6px 20px rgba(15, 23, 42, 0.08) !important;
      }
    }
    #sidebar.apple-sidebar .sidebar-account-compact:active {
      transform: scale(0.982);
      transition-duration: 0.1s !important;
    }
    @media (prefers-reduced-motion: reduce) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry,
      #sidebar.apple-sidebar .sidebar-account-compact {
        transition: none !important;
        animation: none !important;
        will-change: auto;
      }
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover,
      #sidebar.apple-sidebar .sidebar-account-compact:hover {
        transform: none !important;
      }
    }
    html[data-motion="off"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    html[data-motion="off"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry,
    html[data-motion="off"] #sidebar.apple-sidebar .sidebar-account-compact {
      transition: none !important;
      animation: none !important;
      will-change: auto;
    }

    /* ── 侧栏 v26：滑出抽屉优先 + 编辑顺序可滚动可拖拽 ── */
    html.ios-sidebar-auto-hide #sidebar.apple-sidebar,
    html.ios-sidebar-auto-hide aside.sidebar.apple-sidebar {
      background: var(--frost-bg) !important;
      border-right: 0.5px solid var(--frost-stroke-outer) !important;
      box-shadow: var(--frost-shadow), var(--frost-inset) !important;
      -webkit-backdrop-filter: var(--frost-blur-panel) !important;
      backdrop-filter: var(--frost-blur-panel) !important;
    }
    html.ios-sidebar-auto-hide #sidebar.apple-sidebar.mobile-open,
    html.ios-sidebar-auto-hide aside.sidebar.apple-sidebar.mobile-open {
      border-radius: 0 28px 28px 0 !important;
    }
    #sidebar.apple-sidebar,
    aside.sidebar.apple-sidebar {
      display: flex !important;
      flex-direction: column !important;
      min-height: 0 !important;
    }
    #sidebar.apple-sidebar #nav.nav {
      flex: 1 1 auto !important;
      min-height: 0 !important;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      max-height: none !important;
      margin: 0 8px 6px !important;
      overflow-x: hidden !important;
      overflow-y: auto !important;
      overscroll-behavior: contain !important;
      -webkit-overflow-scrolling: touch !important;
      touch-action: pan-y !important;
      scrollbar-gutter: stable;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing > button {
      touch-action: manipulation;
      flex-shrink: 0;
    }
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing .ios-nav-drag-grip {
      touch-action: none !important;
      cursor: grab !important;
    }
    html:has(#nav.ios-nav-editing) #sidebar.apple-sidebar .sidebar-footer,
    html:has(#nav.ios-nav-editing) aside.sidebar.apple-sidebar .sidebar-footer {
      display: none !important;
    }
    html:has(#nav.ios-nav-editing) #sidebar.apple-sidebar .sidebar-nav-edit-toolbar-mount-pinned,
    html:has(#nav.ios-nav-editing) aside.sidebar.apple-sidebar .sidebar-nav-edit-toolbar-mount-pinned {
      flex: 0 0 auto !important;
      margin-top: auto !important;
      padding: 6px 8px max(8px, env(safe-area-inset-bottom, 0px)) !important;
      border-top: 0.5px solid var(--frost-stroke-outer) !important;
      background: color-mix(in srgb, var(--frost-surface-top) 42%, transparent) !important;
      -webkit-backdrop-filter: var(--frost-blur) !important;
      backdrop-filter: var(--frost-blur) !important;
    }
    html:has(#nav.ios-nav-editing) .sidebar-nav-edit-toolbar-mount-pinned .ios-nav-edit-chrome {
      border-radius: 12px !important;
      box-shadow: var(--frost-inset) !important;
    }
    html:has(#nav.ios-nav-editing) .sidebar-nav-edit-toolbar-mount-pinned .ios-nav-edit-hint {
      font-size: 0.72rem !important;
      line-height: 1.35 !important;
    }

    /* ══ 侧栏 v38：macOS/iOS 原生式（细线 + 让位，无蓝槽） ══ */
    #nav.nav.ios-nav-editing .ios-nav-drop-gap {
      display: none !important;
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap.is-slot-bump {
      animation: iosNavGapSlotBump 0.34s cubic-bezier(0.32, 0.72, 0, 1);
    }
    @keyframes iosNavGapSlotBump {
      0% { transform: scale(0.98); filter: brightness(1); }
      45% { transform: scale(1.02); filter: brightness(1.08); }
      100% { transform: scale(1); filter: brightness(1); }
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap-icon {
      flex: 0 0 22px;
      width: 22px;
      height: 22px;
      border-radius: 6px;
      background: rgba(0, 122, 255, 0.2);
      color: #007aff;
      font-size: 0.82rem;
      font-weight: 700;
      line-height: 22px;
      text-align: center;
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap-icon::before {
      content: '↓';
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap-copy {
      display: flex;
      flex-direction: column;
      gap: 1px;
      min-width: 0;
      flex: 1 1 auto;
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap-label {
      font-size: 0.78rem;
      font-weight: 600;
      letter-spacing: 0.01em;
      color: #0068d6;
      line-height: 1.3;
    }
    #nav.nav.ios-nav-editing .ios-nav-drop-gap-sub {
      font-size: 0.7rem;
      font-weight: 500;
      color: rgba(0, 100, 210, 0.9);
      line-height: 1.25;
    }
    .ios-nav-drag-ghost-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      max-width: min(168px, 42vw);
      padding: 6px 10px 6px 6px;
      border-radius: 10px;
      border: 1px solid rgba(0, 122, 255, 0.35);
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14), 0 0 0 0.5px rgba(0, 122, 255, 0.2);
      backdrop-filter: blur(12px) saturate(1.4);
      -webkit-backdrop-filter: blur(12px) saturate(1.4);
      transition: transform 0.2s cubic-bezier(0.32, 0.72, 0, 1), box-shadow 0.2s ease;
    }
    .ios-nav-drag-ghost-chip.is-floating {
      transform: scale(1.02);
      box-shadow: 0 10px 26px rgba(0, 122, 255, 0.22), 0 0 0 0.5px rgba(0, 122, 255, 0.28);
    }
    .ios-nav-drag-ghost-chip.is-docked-near-slot {
      opacity: 0.88;
      z-index: 4;
    }
    .ios-nav-drag-ghost-chip-grip {
      flex: 0 0 auto;
      display: inline-flex;
      color: rgba(0, 122, 255, 0.85);
      transform: scale(0.85);
    }
    .ios-nav-drag-ghost-chip-grip .ios-nav-grip-svg {
      display: block;
    }
    .ios-nav-drag-ghost-chip-name {
      font-size: 0.72rem;
      font-weight: 600;
      color: #1c1c1e;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    html.sidebar-nav-order-dragging #nav.ios-nav-editing > button.ios-nav-row-placeholder,
    html.sidebar-nav-order-dragging #nav.ios-nav-editing > button.ios-nav-drag-source.ios-nav-row-placeholder {
      height: 0 !important;
      min-height: 0 !important;
      max-height: 0 !important;
      padding: 0 !important;
      margin: 0 !important;
      border: none !important;
      overflow: hidden !important;
      opacity: 0 !important;
      pointer-events: none !important;
    }
    html.sidebar-nav-order-dragging #nav.ios-nav-editing > button.ios-nav-drag-source.ios-nav-row-placeholder::before {
      display: none !important;
    }
    html.sidebar-nav-order-dragging #nav.ios-nav-editing.ios-nav-reorder-preview > button.ios-nav-module-btn:not(.ios-nav-row-placeholder) {
      opacity: 1 !important;
      filter: none !important;
    }
    .ios-nav-drag-ghost-badge {
      position: absolute;
      right: 8px;
      top: 6px;
      padding: 2px 7px;
      border-radius: 99px;
      font-size: 0.62rem;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: #fff;
      background: rgba(0, 122, 255, 0.88);
      box-shadow: 0 2px 8px rgba(0, 122, 255, 0.35);
      pointer-events: none;
    }
    [data-theme="dark"] #nav.nav.ios-nav-editing .ios-nav-drop-gap {
      border-color: rgba(10, 132, 255, 0.62);
      background: linear-gradient(135deg, rgba(10, 132, 255, 0.22), rgba(10, 132, 255, 0.1));
    }
    [data-theme="dark"] #nav.nav.ios-nav-editing .ios-nav-drop-gap-label {
      color: #64b5ff;
    }

    /* ══ 侧栏 v28：iOS 式拖拽反馈 + 控制总览防闪 ══ */
    #sidebar.apple-sidebar #nav.nav.ios-nav-editing,
    #sidebar.sidebar #nav.nav.ios-nav-editing {
      position: relative !important;
    }
    body > .ios-nav-drop-indicator {
      --ios-reorder-spring: cubic-bezier(0.32, 0.72, 0, 1);
      position: fixed;
      height: 0;
      margin: 0;
      padding: 0;
      pointer-events: none;
      z-index: 10050;
      opacity: 0;
      transition:
        top 0.28s var(--ios-reorder-spring),
        left 0.16s ease,
        width 0.16s ease,
        opacity 0.12s ease;
    }
    body > .ios-nav-drop-indicator.is-active {
      opacity: 1;
    }
    /* 触屏：纯 iOS 设置式，只靠行让位，不显示插入线 */
    html.sidebar-nav-order-dragging body > .ios-nav-drop-indicator {
      display: none;
    }
    /* 鼠标：macOS Finder 式极淡插入线 */
    @media (pointer: fine) {
      html.sidebar-nav-order-dragging body > .ios-nav-drop-indicator {
        display: block;
      }
      body > .ios-nav-drop-indicator::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        width: 5px;
        height: 5px;
        margin-top: -2.5px;
        border-radius: 50%;
        background: rgba(0, 122, 255, 0.55);
      }
      body > .ios-nav-drop-indicator::after {
        content: '';
        position: absolute;
        left: 9px;
        right: 0;
        top: 50%;
        height: 1px;
        margin-top: -0.5px;
        border-radius: 1px;
        background: rgba(0, 122, 255, 0.5);
      }
      [data-theme="dark"] body > .ios-nav-drop-indicator::before,
      [data-theme="dark"] body > .ios-nav-drop-indicator::after {
        background: rgba(10, 132, 255, 0.55);
      }
    }
    #nav.nav.ios-nav-editing.ios-nav-reorder-preview > button.ios-nav-preview-shift {
      position: relative;
      z-index: 1;
      transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1) !important;
      will-change: transform;
    }
    #nav.nav.ios-nav-editing > button.ios-nav-flip-shift {
      transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1) !important;
      will-change: transform;
    }
    html[data-motion="off"] #nav.nav.ios-nav-editing.ios-nav-reorder-preview > button.ios-nav-preview-shift {
      transition: none !important;
    }
    /* iOS 拾起：与编辑列表行同形，轻阴影，非白胶囊 */
    .ios-nav-drag-ghost.ios-nav-drag-ghost-lift {
      opacity: 1 !important;
      border-radius: 10px !important;
      border: none !important;
      border-bottom: 1px solid rgba(60, 60, 67, 0.1) !important;
      background: var(--ios-list-surface, rgba(255, 255, 255, 0.88)) !important;
      -webkit-backdrop-filter: blur(16px) saturate(1.25);
      backdrop-filter: blur(16px) saturate(1.25);
      box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.04),
        0 6px 18px rgba(0, 0, 0, 0.1) !important;
      transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1), box-shadow 0.28s cubic-bezier(0.32, 0.72, 0, 1) !important;
    }
    .ios-nav-drag-ghost.ios-nav-drag-ghost-lift.is-lifted {
      box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.05),
        0 10px 28px rgba(0, 0, 0, 0.12) !important;
    }
    .ios-nav-drag-ghost.ios-nav-drag-ghost-lift.active {
      background: var(--ios-list-surface, rgba(255, 255, 255, 0.88)) !important;
      box-shadow:
        0 2px 4px rgba(0, 0, 0, 0.05),
        0 10px 28px rgba(0, 0, 0, 0.12) !important;
    }
    [data-theme="dark"] .ios-nav-drag-ghost.ios-nav-drag-ghost-lift {
      background: rgba(38, 42, 52, 0.92) !important;
      border-bottom-color: rgba(84, 84, 88, 0.35) !important;
      box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.35),
        0 12px 32px rgba(0, 0, 0, 0.45) !important;
    }
    html.ios-nav-reorder-quiesce #content.content,
    html.ios-nav-reorder-quiesce:has(#nav.ios-nav-editing) #content.content,
    html.ios-nav-reorder-main-guard #content.content {
      view-transition-name: none !important;
    }
    @supports (view-transition-name: none) {
      @media (prefers-reduced-motion: no-preference) {
        html.ios-nav-reorder-soft-refresh.ios-soft-content-refresh::view-transition-old(app-main-content),
        html.ios-nav-reorder-soft-refresh.ios-soft-content-refresh::view-transition-new(app-main-content) {
          animation-duration: 0.58s !important;
          animation-timing-function: cubic-bezier(0.28, 0.88, 0.36, 1) !important;
        }
        html.ios-nav-reorder-soft-refresh.ios-soft-content-refresh::view-transition-old(app-main-content) {
          animation-name: iosVtNavReorderSoftOut !important;
        }
        html.ios-nav-reorder-soft-refresh.ios-soft-content-refresh::view-transition-new(app-main-content) {
          animation-name: iosVtNavReorderSoftIn !important;
        }
        @keyframes iosVtNavReorderSoftOut {
          from { opacity: 1; }
          to { opacity: 0.993; }
        }
        @keyframes iosVtNavReorderSoftIn {
          from { opacity: 0.989; }
          to { opacity: 1; }
        }
      }
    }
    html[data-motion="off"] body > .ios-nav-drop-indicator,
    html[data-motion="off"] #nav.nav.ios-nav-editing > button.ios-nav-flip-shift {
      transition: none !important;
      animation: none !important;
    }

    /* ══ 全站交互质感 v2（晚置权威层） ══ */
    :root {
      --ui-interactive-ease: var(--ios-press-ease);
      --ui-interactive-press: var(--press-scale);
    }
    html[data-motion="lite"] {
      --ios-sidebar-sync-dur-open: 0.34s;
      --ios-sidebar-sync-dur-close: 0.28s;
      --ios-sidebar-scrim-blur-open: 14px;
    }
    html[data-motion="off"] .ios-tap-pop {
      animation: none !important;
    }
    html[data-motion="lite"] .ios-tap-pop {
      animation-duration: 0.14s;
    }
    .btn,
    .ios-float-pill,
    .topbar-float-menu-item,
    .seg button,
    .segmented-item,
    .perm-filter-chip,
    [data-claim-mode],
    [data-team-pwdseg],
    .sidebar-layout-btn,
    .pwd-toggle-btn,
    .auth-ios-submit {
      -webkit-tap-highlight-color: transparent;
      touch-action: manipulation;
      transition:
        transform var(--motion-micro-ms) var(--ui-interactive-ease),
        box-shadow var(--motion-component-ms) var(--ios-response),
        background var(--motion-component-ms) var(--ios-response),
        border-color var(--motion-component-ms) var(--ios-response),
        color var(--motion-component-ms) var(--ios-response);
    }
    @media (hover: hover) and (pointer: fine) {
      .btn:hover,
      .ios-float-pill:hover,
      .topbar-float-menu-item:hover,
      .seg button:hover:not(.active),
      .segmented-item:hover:not(.active),
      .perm-filter-chip:hover:not(.active),
      [data-claim-mode]:hover:not(.active),
      [data-team-pwdseg]:hover:not(.active) {
        box-shadow: var(--shadow-s1);
      }
      .ios-float-pill:hover {
        transform: translateY(-0.5px);
      }
    }
    .btn:active:not(:disabled),
    .ios-float-pill:active,
    .topbar-float-menu-item:active,
    .seg button:active:not(:disabled),
    .segmented-item:active:not(:disabled),
    .perm-filter-chip:active,
    [data-claim-mode]:active,
    [data-team-pwdseg]:active,
    .sidebar-layout-btn:active,
    .pwd-toggle-btn:active,
    .auth-ios-submit:active:not(:disabled) {
      transform: scale(var(--ui-interactive-press));
      transition-duration: var(--motion-micro-ms);
    }
    .nav button {
      transition:
        transform var(--motion-micro-ms) var(--ui-interactive-ease),
        background-color var(--motion-component-ms) var(--ios-response),
        box-shadow var(--motion-component-ms) var(--ios-response),
        color var(--motion-component-ms) var(--ios-response);
    }
    .nav button:active:not(:disabled) {
      transform: scale(0.988);
      transition-duration: var(--motion-micro-ms);
    }
    .ios-pill {
      transition:
        box-shadow var(--motion-component-ms) var(--ios-response),
        background var(--motion-component-ms) var(--ios-response),
        border-color var(--motion-component-ms) var(--ios-response),
        color var(--motion-component-ms) var(--ios-response);
    }
    .ios-cell {
      transition: background-color var(--motion-component-ms) var(--ios-response);
    }
    .ios-cell:active {
      background-color: color-mix(in srgb, var(--line) 28%, transparent);
    }
    button:focus-visible,
    .btn:focus-visible,
    .ios-float-pill:focus-visible,
    .nav button:focus-visible {
      outline: none;
      box-shadow: var(--ring);
    }
    .toast {
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    html[data-motion="off"] .ios-pill.ios-risk-pill,
    html[data-motion="off"] .ios-pill.ios-risk-shake-high,
    html[data-motion="off"] .ios-pill.ios-risk-shake-mid {
      animation: none !important;
    }

    /* ══ 全站 Frost 沉浸 v3（与账户弹层同系磨砂） ══ */
    @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
      html:not([data-motion="off"]) .auth-card.auth-ios {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .modal {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .drawer {
        background: var(--frost-bg);
        border-left: 0.5px solid var(--frost-stroke-outer);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
        box-shadow: var(--frost-shadow), var(--frost-inset);
      }
      html:not([data-motion="off"]) .modal-backdrop,
      html:not([data-motion="off"]) #modalBackdrop.modal-backdrop {
        background: rgba(15, 23, 42, 0.32);
        -webkit-backdrop-filter: blur(20px) saturate(1.35);
        backdrop-filter: blur(20px) saturate(1.35);
      }
      html:not([data-motion="off"]) .backdrop.show,
      html:not([data-motion="off"]) #drawerBackdrop.backdrop.show {
        background: rgba(15, 23, 42, 0.34);
        -webkit-backdrop-filter: blur(20px) saturate(1.35);
        backdrop-filter: blur(20px) saturate(1.35);
      }
      html:not([data-motion="off"]) .toast {
        background: color-mix(in srgb, var(--frost-surface-top) 92%, transparent);
        border: 0.5px solid var(--frost-stroke-outer);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur);
        backdrop-filter: var(--frost-blur);
      }
      html:not([data-motion="off"]) .topbar-float-menu-panel {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .more-actions-menu,
      html:not([data-motion="off"]) .row-action-menu-list {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .ios-list,
      html:not([data-motion="off"]) .ios-sidebar-inset-card {
        background: color-mix(in srgb, var(--frost-surface-top) 88%, var(--panel));
        border: 0.5px solid var(--frost-stroke-outer);
        box-shadow: var(--shadow-s1), var(--frost-inset);
      }
      html:not([data-motion="off"]) .seg,
      html:not([data-motion="off"]) .segmented {
        background: color-mix(in srgb, var(--frost-surface-mid) 72%, transparent);
        border: 0.5px solid var(--frost-stroke-outer);
        -webkit-backdrop-filter: blur(24px) saturate(1.5);
        backdrop-filter: blur(24px) saturate(1.5);
      }
      html:not([data-motion="off"]) body:not(.sidebar-overlay-open) .app > .main > .topbar {
        background: color-mix(in srgb, var(--chrome-bg-strong) 94%, transparent);
        -webkit-backdrop-filter: blur(var(--chrome-blur)) saturate(var(--chrome-sat));
        backdrop-filter: blur(var(--chrome-blur)) saturate(var(--chrome-sat));
      }
      html:not([data-motion="off"]) .card {
        background: color-mix(in srgb, var(--frost-surface-top) 78%, var(--panel));
        border: 0.5px solid var(--frost-stroke-outer);
        box-shadow: var(--shadow-s1), var(--frost-inset);
      }
      html:not([data-motion="off"]) .stat-pill,
      html:not([data-motion="off"]) .kpi,
      html:not([data-motion="off"]) .kpi-list-item {
        background: color-mix(in srgb, var(--frost-surface-mid) 80%, var(--panel));
        border: 0.5px solid var(--frost-stroke-outer);
      }
      html:not([data-motion="off"]) .ios-form,
      html:not([data-motion="off"]) .table-wrap {
        background: color-mix(in srgb, var(--frost-surface-top) 82%, var(--panel));
        border: 0.5px solid var(--frost-stroke-outer);
        box-shadow: var(--shadow-s1), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur);
        backdrop-filter: var(--frost-blur);
      }
      html:not([data-motion="off"]) .search-suggest.open {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke-outer);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .search-suggest-context {
        background: color-mix(in srgb, var(--frost-surface-mid) 55%, transparent);
        border-bottom-color: var(--frost-stroke-outer);
      }
      html:not([data-motion="off"]) .sidebar-account-sheet-panel {
        background: var(--frost-bg);
        border: 0.5px solid var(--frost-stroke);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur-panel);
        backdrop-filter: var(--frost-blur-panel);
      }
      html:not([data-motion="off"]) .sidebar-account-sheet-backdrop {
        background: var(--ios-sidebar-scrim-tint);
        -webkit-backdrop-filter: blur(20px) saturate(1.35);
        backdrop-filter: blur(20px) saturate(1.35);
      }
      html:not([data-motion="off"]) .ios-float-pill,
      html:not([data-motion="off"]) .topbar-float-cluster--trail {
        background: color-mix(in srgb, var(--frost-surface-top) 78%, transparent);
        border-color: var(--frost-stroke-outer);
        box-shadow: var(--frost-shadow), var(--frost-inset);
        -webkit-backdrop-filter: var(--frost-blur);
        backdrop-filter: var(--frost-blur);
      }
      html:not([data-motion="off"]) .ios-detail-stat,
      html:not([data-motion="off"]) .ios-card-surface {
        background: color-mix(in srgb, var(--frost-surface-top) 72%, var(--panel));
        border-color: var(--frost-stroke-outer);
        box-shadow: var(--shadow-s1), var(--frost-inset);
      }
    }
    [data-theme="dark"] html:not([data-motion="off"]) .modal-backdrop,
    [data-theme="dark"] html:not([data-motion="off"]) .backdrop.show {
      background: rgba(0, 0, 0, 0.48);
    }
    html[data-motion="lite"] .modal,
    html[data-motion="lite"] .drawer,
    html[data-motion="lite"] .toast {
      -webkit-backdrop-filter: blur(32px) saturate(1.45);
      backdrop-filter: blur(32px) saturate(1.45);
    }

    /* ===== iOS / macOS Toast v4（覆盖旧版色条 / 脉冲） ===== */
    #toastContainer {
      left: 50%;
      right: auto;
      top: max(10px, calc(env(safe-area-inset-top, 0px) + 8px));
      bottom: auto;
      width: min(360px, calc(100vw - 28px));
      transform: translateX(-50%);
      gap: 8px;
      align-items: stretch;
    }
    body.modal-open #toastContainer {
      top: max(10px, calc(env(safe-area-inset-top, 0px) + 8px));
      bottom: auto;
      transform: translateX(-50%);
    }
    @media (min-width: 769px) {
      #toastContainer {
        left: auto;
        right: max(16px, env(safe-area-inset-right, 0px));
        top: max(14px, calc(env(safe-area-inset-top, 0px) + 10px));
        transform: none;
        width: min(340px, calc(100vw - 48px));
      }
      body.modal-open #toastContainer {
        transform: none;
      }
    }
    .toast {
      display: flex;
      align-items: flex-start;
      gap: 11px;
      margin: 0;
      padding: 11px 13px 11px 11px;
      border-radius: 14px;
      border: 0.5px solid rgba(60, 60, 67, 0.14);
      border-left-width: 0.5px !important;
      background: rgba(255, 255, 255, 0.72);
      color: rgba(0, 0, 0, 0.88);
      font-size: 0.9375rem;
      font-weight: 590;
      letter-spacing: -0.022em;
      line-height: 1.35;
      -webkit-font-smoothing: antialiased;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.55) inset,
        0 1px 2px rgba(0, 0, 0, 0.04),
        0 8px 28px rgba(0, 0, 0, 0.1),
        0 22px 48px rgba(15, 23, 42, 0.08);
      -webkit-backdrop-filter: blur(40px) saturate(180%);
      backdrop-filter: blur(40px) saturate(180%);
      animation: iosToastIn 0.38s var(--ios-spring-settle, cubic-bezier(0.32, 0.72, 0, 1)) both;
      animation-delay: calc(var(--toast-stack, 0) * 40ms);
    }
    .toast__glyph {
      flex: 0 0 26px;
      width: 26px;
      height: 26px;
      margin-top: 1px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      font-size: 0.8125rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      color: #fff;
      background: rgba(60, 60, 67, 0.42);
    }
    .toast__text {
      flex: 1 1 auto;
      min-width: 0;
      padding-top: 3px;
      word-break: break-word;
    }
    .toast[data-tone="success"] {
      color: rgba(0, 0, 0, 0.88);
      background: rgba(255, 255, 255, 0.72) !important;
      border-color: rgba(60, 60, 67, 0.14) !important;
    }
    .toast[data-tone="success"] .toast__glyph {
      background: #34c759;
    }
    .toast[data-tone="info"] {
      color: rgba(0, 0, 0, 0.88);
      background: rgba(255, 255, 255, 0.72) !important;
      border-color: rgba(60, 60, 67, 0.14) !important;
    }
    .toast[data-tone="info"] .toast__glyph {
      background: #007aff;
      font-style: italic;
      font-weight: 650;
    }
    .toast[data-tone="warning"] {
      color: rgba(0, 0, 0, 0.88);
      background: rgba(255, 255, 255, 0.72) !important;
      border-color: rgba(60, 60, 67, 0.14) !important;
    }
    .toast[data-tone="warning"] .toast__glyph {
      background: #ff9500;
    }
    .toast[data-tone="danger"] {
      color: rgba(0, 0, 0, 0.88);
      background: rgba(255, 255, 255, 0.72) !important;
      border-color: rgba(60, 60, 67, 0.14) !important;
    }
    .toast[data-tone="danger"] .toast__glyph {
      background: #ff3b30;
    }
    .toast[data-tone]::after {
      display: none !important;
      animation: none !important;
    }
    [data-theme="dark"] .toast {
      background: rgba(44, 44, 46, 0.78) !important;
      border-color: rgba(84, 84, 88, 0.42) !important;
      color: rgba(255, 255, 255, 0.92);
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.08) inset,
        0 1px 2px rgba(0, 0, 0, 0.28),
        0 10px 32px rgba(0, 0, 0, 0.42);
    }
    [data-theme="dark"] .toast[data-tone] {
      background: rgba(44, 44, 46, 0.78) !important;
      border-color: rgba(84, 84, 88, 0.42) !important;
      color: rgba(255, 255, 255, 0.92);
    }
    @keyframes iosToastIn {
      from {
        opacity: 0;
        transform: translateY(-8px) scale(0.96);
      }
      to {
        opacity: 1;
        transform: translateY(0) scale(1);
      }
    }
    html[data-motion="lite"] .toast,
    [data-motion="lite"] .toast[data-tone] {
      animation: iosToastIn 0.28s var(--ios-ease-decel) both !important;
    }
    html[data-motion="off"] .toast,
    [data-motion="off"] .toast[data-tone],
    [data-motion="off"] .toast[data-tone]::after {
      animation: none !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    @media (prefers-reduced-motion: reduce) {
      .toast { animation: none !important; }
    }
    /* 省略号气泡：与 Toast 同一套材质 */
    .ios-ellipsis-tooltip {
      padding: 9px 12px;
      border-radius: 12px;
      border: 0.5px solid rgba(60, 60, 67, 0.14);
      background: rgba(255, 255, 255, 0.78);
      font-size: 0.875rem;
      font-weight: 560;
      letter-spacing: -0.018em;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.5) inset,
        0 6px 22px rgba(0, 0, 0, 0.1);
      -webkit-backdrop-filter: blur(36px) saturate(175%);
      backdrop-filter: blur(36px) saturate(175%);
      transform: translateY(4px) scale(0.97);
    }
    .ios-ellipsis-tooltip.show {
      transform: translateY(0) scale(1);
    }
    [data-theme="dark"] .ios-ellipsis-tooltip {
      background: rgba(44, 44, 46, 0.82);
      border-color: rgba(84, 84, 88, 0.4);
      color: rgba(255, 255, 255, 0.92);
    }

    /* ══════════════════════════════════════════════════════════
       iOS / macOS Native Controls v5 — 去「网页廉价按钮风」
       分组列表 · 系统色 · 磁贴芯片 · 仪表盘 Widget
    ══════════════════════════════════════════════════════════ */
    :root {
      --ios-sys-blue: #007aff;
      --ios-sys-green: #34c759;
      --ios-sys-orange: #ff9500;
      --ios-sys-red: #ff3b30;
      --ios-sys-indigo: #5856d6;
      --ios-sys-fill: rgba(120, 120, 128, 0.16);
      --ios-sys-fill-secondary: rgba(120, 120, 128, 0.1);
      --ios-sys-separator: rgba(60, 60, 67, 0.16);
      --ios-grouped-bg: rgba(255, 255, 255, 0.82);
      --ios-grouped-bg-elevated: rgba(255, 255, 255, 0.94);
      --ios-label: rgba(0, 0, 0, 0.88);
      --ios-label-secondary: rgba(60, 60, 67, 0.68);
    }
    [data-theme="dark"] {
      --ios-sys-blue: #0a84ff;
      --ios-sys-green: #30d158;
      --ios-sys-orange: #ff9f0a;
      --ios-sys-red: #ff453a;
      --ios-sys-indigo: #5e5ce6;
      --ios-sys-fill: rgba(120, 120, 128, 0.32);
      --ios-sys-fill-secondary: rgba(120, 120, 128, 0.22);
      --ios-sys-separator: rgba(84, 84, 88, 0.42);
      --ios-grouped-bg: rgba(44, 44, 46, 0.78);
      --ios-grouped-bg-elevated: rgba(58, 58, 60, 0.92);
      --ios-label: rgba(255, 255, 255, 0.92);
      --ios-label-secondary: rgba(235, 235, 245, 0.62);
    }

    /* 去掉典型网页 hover 上浮 */
    html .ios-module-stack .btn:hover,
    html .drawer .btn:hover,
    html .modal .btn:hover,
    html .ios-action-group-list .btn:hover,
    html .ios-auto-action-grid .btn:hover {
      transform: none !important;
      filter: none !important;
    }

    /* ── 抽屉 / 弹层：Settings 分组操作列表 ── */
    .drawer-body .ios-action-group,
    .modal-body .ios-action-group {
      margin: 0 0 14px;
    }
    .drawer-body .ios-action-group-label,
    .modal-body .ios-action-group-label {
      margin: 0 0 6px;
      padding: 0 4px;
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: var(--ios-label-secondary);
      text-transform: none;
    }
    .ios-action-group-list,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) {
      display: flex;
      flex-direction: column;
      gap: 0;
      width: 100%;
      margin: 0;
      padding: 0;
      border-radius: var(--ios-radius-lg);
      overflow: hidden;
      background: var(--ios-grouped-bg-elevated);
      border: 0.5px solid var(--ios-sys-separator);
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.45) inset,
        0 1px 2px rgba(0, 0, 0, 0.04);
      -webkit-backdrop-filter: blur(28px) saturate(1.65);
      backdrop-filter: blur(28px) saturate(1.65);
    }
    [data-theme="dark"] .ios-action-group-list,
    [data-theme="dark"] .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) {
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06) inset,
        0 2px 10px rgba(0, 0, 0, 0.22);
    }
    .ios-action-group-list .btn,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn {
      width: 100%;
      min-height: 50px;
      margin: 0;
      padding: 0 16px;
      border: none;
      border-radius: 0;
      border-bottom: 0.5px solid var(--ios-sys-separator);
      background: transparent;
      box-shadow: none;
      color: var(--ios-sys-blue);
      font-size: 1.0625rem;
      font-weight: 400;
      letter-spacing: -0.024em;
      line-height: 1.25;
      justify-content: center;
      text-align: center;
    }
    .ios-action-group-list .btn:last-child,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn:last-child {
      border-bottom: none;
    }
    .ios-action-group-list .btn:active:not(:disabled),
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn:active:not(:disabled) {
      background: var(--ios-sys-fill);
      transform: scale(1) !important;
    }
    .ios-action-group-list .btn:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-success),
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn:not(.btn-primary):not(.btn-danger):not(.btn-warning):not(.btn-success) {
      color: var(--ios-label);
    }
    .ios-action-group-list .btn-primary,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn-primary {
      color: var(--ios-sys-blue);
      background: transparent;
      border: none;
      box-shadow: none;
    }
    .ios-action-group-list .btn-success,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn-success {
      color: var(--ios-sys-green);
      background: transparent;
    }
    .ios-action-group-list .btn-warning,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn-warning {
      color: var(--ios-sys-orange);
      background: transparent;
    }
    .ios-action-group-list .btn-danger,
    .drawer .drawer-actions-grid:not(.ios-auto-action-grid):not(.center-actions-grid) .btn-danger {
      color: var(--ios-sys-red);
      background: transparent;
      font-weight: 500;
    }
    .ios-action-group--footer .ios-action-group-list .btn,
    .ios-action-cancel {
      color: var(--ios-label-secondary) !important;
      font-weight: 500;
    }

    /* 旧 action-group 网格在抽屉内也改为列表 */
    .drawer .action-group,
    .modal .action-group {
      border: none;
      background: transparent;
      padding: 0;
      box-shadow: none;
      border-left: none !important;
    }
    .drawer .action-group .action-grid {
      display: flex;
      flex-direction: column;
      gap: 0;
      border-radius: var(--ios-radius-lg);
      overflow: hidden;
      background: var(--ios-grouped-bg-elevated);
      border: 0.5px solid var(--ios-sys-separator);
    }
    .drawer .action-group-title {
      font-size: 0.8125rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      text-transform: none;
      color: var(--ios-label-secondary);
      margin: 0 0 6px;
      padding: 0 4px;
    }
    .drawer .action-group .action-grid .btn {
      width: 100%;
      min-height: 50px;
      border: none;
      border-radius: 0;
      border-bottom: 0.5px solid var(--ios-sys-separator);
      background: transparent;
      box-shadow: none;
      font-size: 1.0625rem;
      font-weight: 400;
      color: var(--ios-sys-blue);
    }
    .drawer .action-group .action-grid .btn:last-child {
      border-bottom: none;
    }

    /* ── 控制台 / 仪表盘：macOS 磁贴按钮（非大色块） ── */
    .ios-auto-action-grid,
    .dashboard-overview .dashboard-quick-host,
    .dashboard-overview .dashboard-shortcuts-host {
      gap: 8px !important;
    }
    .ios-auto-action-grid > .btn,
    .ios-tile-btn {
      flex: 1 1 148px;
      min-width: min(128px, 100%);
      min-height: 44px;
      padding: 10px 14px;
      border-radius: 12px;
      border: 0.5px solid var(--ios-sys-separator);
      background: var(--ios-grouped-bg);
      color: var(--ios-label);
      font-size: 0.9375rem;
      font-weight: 500;
      letter-spacing: -0.02em;
      line-height: 1.3;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.35) inset,
        0 1px 2px rgba(0, 0, 0, 0.03);
      -webkit-backdrop-filter: blur(20px) saturate(1.5);
      backdrop-filter: blur(20px) saturate(1.5);
    }
    .ios-auto-action-grid > .btn:active:not(:disabled),
    .ios-tile-btn:active:not(:disabled) {
      background: var(--ios-sys-fill);
      transform: scale(0.98) !important;
    }
    .ios-auto-action-grid > .btn-primary,
    .ios-tile-btn--primary {
      background: var(--ios-sys-blue);
      border-color: color-mix(in srgb, var(--ios-sys-blue) 88%, #000);
      color: #fff;
      font-weight: 600;
      box-shadow:
        0 1px 2px rgba(0, 0, 0, 0.08),
        0 4px 14px rgba(0, 122, 255, 0.22);
    }
    .ios-auto-action-grid > .btn-success,
    .ios-tile-btn--success {
      background: color-mix(in srgb, var(--ios-sys-green) 14%, var(--ios-grouped-bg));
      border-color: color-mix(in srgb, var(--ios-sys-green) 35%, var(--ios-sys-separator));
      color: var(--ios-sys-green);
    }
    .ios-auto-action-grid > .btn-warning,
    .ios-tile-btn--warning {
      background: color-mix(in srgb, var(--ios-sys-orange) 12%, var(--ios-grouped-bg));
      border-color: color-mix(in srgb, var(--ios-sys-orange) 32%, var(--ios-sys-separator));
      color: var(--ios-sys-orange);
    }
    .ios-auto-action-grid > .btn-danger,
    .ios-tile-btn--danger {
      background: color-mix(in srgb, var(--ios-sys-red) 10%, var(--ios-grouped-bg));
      border-color: color-mix(in srgb, var(--ios-sys-red) 30%, var(--ios-sys-separator));
      color: var(--ios-sys-red);
    }
    [data-theme="dark"] .ios-auto-action-grid > .btn-primary,
    [data-theme="dark"] .ios-tile-btn--primary {
      box-shadow: 0 4px 16px rgba(10, 132, 255, 0.28);
    }

    /* 覆盖旧版渐变语义色（排除磁贴 / 分组列表专用样式） */
    html .ios-module-stack .btn.btn-primary:not(.ios-tile-btn):not([class*="ios-tile-btn--"]),
    html .modal .btn.btn-primary:not(.ios-tile-btn) {
      background: color-mix(in srgb, var(--ios-sys-blue) 12%, transparent) !important;
      border: 0.5px solid color-mix(in srgb, var(--ios-sys-blue) 28%, var(--ios-sys-separator)) !important;
      color: var(--ios-sys-blue) !important;
      box-shadow: none !important;
    }
    html .ios-module-stack .btn.btn-warning:not(.ios-tile-btn):not([class*="ios-tile-btn--"]),
    html .modal .btn.btn-warning:not(.ios-tile-btn) {
      background: color-mix(in srgb, var(--ios-sys-orange) 10%, transparent) !important;
      border-color: color-mix(in srgb, var(--ios-sys-orange) 26%, var(--ios-sys-separator)) !important;
      color: var(--ios-sys-orange) !important;
      box-shadow: none !important;
    }
    html .ios-module-stack .btn.btn-danger:not(.ios-tile-btn):not([class*="ios-tile-btn--"]),
    html .modal .btn.btn-danger:not(.ios-tile-btn) {
      background: color-mix(in srgb, var(--ios-sys-red) 8%, transparent) !important;
      border-color: color-mix(in srgb, var(--ios-sys-red) 24%, var(--ios-sys-separator)) !important;
      color: var(--ios-sys-red) !important;
      box-shadow: none !important;
    }
    html .ios-module-stack .btn.btn-success:not(.ios-tile-btn):not([class*="ios-tile-btn--"]),
    html .modal .btn.btn-success:not(.ios-tile-btn) {
      background: color-mix(in srgb, var(--ios-sys-green) 10%, transparent) !important;
      border-color: color-mix(in srgb, var(--ios-sys-green) 26%, var(--ios-sys-separator)) !important;
      color: var(--ios-sys-green) !important;
      box-shadow: none !important;
    }
    html .ios-module-stack .btn:not(.btn-primary):not(.btn-warning):not(.btn-danger):not(.btn-success):not(.ios-tile-btn):not([class*="ios-tile-btn--"]) {
      background: var(--ios-grouped-bg) !important;
      border: 0.5px solid var(--ios-sys-separator) !important;
      color: var(--ios-label) !important;
      box-shadow: 0 0 0 0.5px rgba(255, 255, 255, 0.28) inset !important;
    }

    /* ── 仪表盘 KPI：Widget 磁贴 ── */
    .dashboard-overview .kpi-list-grid {
      gap: 8px;
    }
    .dashboard-overview .kpi-list-item,
    html .ios-module-stack .dashboard-overview .kpi-list-item {
      min-height: 78px;
      padding: 12px 14px;
      border-radius: 16px;
      border: 0.5px solid var(--ios-sys-separator);
      background: var(--ios-grouped-bg);
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.42) inset,
        0 1px 3px rgba(0, 0, 0, 0.04);
      gap: 2px;
    }
    .dashboard-overview .kpi-list-item .kpi-label {
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.01em;
      color: var(--ios-label-secondary);
    }
    .dashboard-overview .kpi-list-item .kpi-value {
      font-size: 1.375rem !important;
      font-weight: 700 !important;
      letter-spacing: -0.03em;
      color: var(--ios-label) !important;
    }
    .dashboard-overview .kpi-list-item .kpi-desc {
      font-size: 0.6875rem;
      color: var(--ios-label-secondary);
    }

    /* ── 优先事项：指标芯片（非长条渐变 pill） ── */
    .ios-metric-chip {
      display: inline-flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center;
      gap: 1px;
      min-height: 52px;
      padding: 8px 12px;
      border-radius: 14px;
      border: 0.5px solid var(--ios-sys-separator);
      background: var(--ios-grouped-bg);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
      flex: 1 1 140px;
      min-width: min(120px, 100%);
      box-sizing: border-box;
    }
    .ios-metric-chip-label {
      font-size: 0.75rem;
      font-weight: 500;
      color: var(--ios-label-secondary);
      line-height: 1.25;
    }
    .ios-metric-chip-value {
      font-size: 1.125rem;
      font-weight: 700;
      letter-spacing: -0.03em;
      font-variant-numeric: tabular-nums;
      color: var(--ios-label);
      line-height: 1.1;
    }
    .ios-metric-chip[data-tone="danger"] {
      border-color: color-mix(in srgb, var(--ios-sys-red) 28%, var(--ios-sys-separator));
      background: color-mix(in srgb, var(--ios-sys-red) 6%, var(--ios-grouped-bg));
    }
    .ios-metric-chip[data-tone="danger"] .ios-metric-chip-value {
      color: var(--ios-sys-red);
    }
    .ios-metric-chip[data-tone="warning"] {
      border-color: color-mix(in srgb, var(--ios-sys-orange) 26%, var(--ios-sys-separator));
      background: color-mix(in srgb, var(--ios-sys-orange) 5%, var(--ios-grouped-bg));
    }
    .ios-metric-chip[data-tone="warning"] .ios-metric-chip-value {
      color: var(--ios-sys-orange);
    }
    .ios-metric-chip[data-tone="success"] {
      border-color: color-mix(in srgb, var(--ios-sys-green) 26%, var(--ios-sys-separator));
      background: color-mix(in srgb, var(--ios-sys-green) 5%, var(--ios-grouped-bg));
    }
    .ios-metric-chip[data-tone="success"] .ios-metric-chip-value {
      color: var(--ios-sys-green);
    }
    .dashboard-overview .dashboard-priority-host {
      gap: 8px !important;
    }
    .dashboard-overview .dashboard-priority-host .ios-metric-chip {
      align-items: center;
      text-align: center;
    }

    /* 标签 / 风险 pill：去渐变 */
    html .ios-module-stack .ios-tag-ok,
    html .ios-module-stack .ios-tag-off,
    html .ios-module-stack .ios-tag-danger,
    html .ios-module-stack .ios-risk-pill-high,
    html .ios-module-stack .ios-risk-pill-mid,
    html .ios-module-stack .ios-risk-pill-low {
      background: var(--ios-sys-fill-secondary) !important;
      border: 0.5px solid var(--ios-sys-separator) !important;
      box-shadow: none !important;
      font-weight: 600;
      letter-spacing: -0.01em;
    }
    html .ios-module-stack .ios-tag-ok,
    html .ios-module-stack .ios-risk-pill-low { color: var(--ios-sys-green) !important; }
    html .ios-module-stack .ios-tag-off,
    html .ios-module-stack .ios-risk-pill-mid { color: var(--ios-sys-orange) !important; }
    html .ios-module-stack .ios-tag-danger,
    html .ios-module-stack .ios-risk-pill-high { color: var(--ios-sys-red) !important; }

    /* 表单底栏 / 弹窗 footer */
    .modal-footer .btn,
    .drawer-body > .actions .btn,
    form .actions .btn {
      min-height: 44px;
      border-radius: 12px;
      font-weight: 600;
      letter-spacing: -0.02em;
    }
    .modal-footer .btn-primary,
    form .actions .btn-primary {
      background: var(--ios-sys-blue) !important;
      color: #fff !important;
      border-color: transparent !important;
    }

    @media (prefers-reduced-motion: reduce) {
      .ios-action-group-list .btn,
      .ios-tile-btn,
      .ios-auto-action-grid > .btn {
        transition: none !important;
      }
    }

    /* ══ 权限页 + 侧栏：统一遮罩模糊与开栏主列位移（勿单独降级） ══ */
    #content.content[data-rendered-page="permission_center"],
    #content.content[data-rendered-page="permission_center"] .ios-perm-center {
      animation: none !important;
    }

    /* ══ 侧栏 v28：恢复气泡浮卡视觉（无逐条 backdrop-filter，侧栏仅一层 frost，兼顾性能） ══ */
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) {
      gap: var(--sb-nav-gap, 9px) !important;
      padding: 4px 8px 12px !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: var(--sb-nav-min-h, 46px) !important;
      padding: 0 var(--sb-nav-pad-x, 14px) 0 calc(var(--sb-nav-pad-x, 14px) + 2px) !important;
      border-radius: var(--sb-nav-radius, 14px) !important;
      border: none !important;
      background: rgba(255, 255, 255, 0.82) !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.045),
        0 1px 2px rgba(15, 23, 42, 0.035),
        0 4px 14px rgba(15, 23, 42, 0.06) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
      transform: none !important;
      font-weight: 400 !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      min-height: 50px !important;
      padding-top: 8px !important;
      padding-bottom: 8px !important;
      align-items: flex-start !important;
    }
    @media (hover: hover) and (pointer: fine) {
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
      #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover {
        background: rgba(255, 255, 255, 0.94) !important;
        box-shadow:
          0 0 0 0.5px rgba(60, 60, 67, 0.05),
          0 2px 4px rgba(15, 23, 42, 0.042),
          0 8px 22px rgba(15, 23, 42, 0.07) !important;
      }
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:active {
      transform: scale(0.984) !important;
      background: #ebebed !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.04),
        0 1px 1px rgba(15, 23, 42, 0.035),
        inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
      background: #e5e5ea !important;
      border: none !important;
      color: var(--text) !important;
      font-weight: 500 !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.05),
        0 1px 2px rgba(15, 23, 42, 0.045),
        inset 0 1px 0 rgba(255, 255, 255, 0.52) !important;
    }
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active:active,
    #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active:active {
      background: #dcdce0 !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry {
      background: color-mix(in srgb, var(--sys-surface) 78%, rgba(255, 255, 255, 0.08)) !important;
      box-shadow:
        0 0 0 0.5px rgba(255, 255, 255, 0.06),
        0 1px 2px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn:hover,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry:hover {
      background: color-mix(in srgb, var(--sys-surface) 88%, rgba(255, 255, 255, 0.1)) !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) button.ios-nav-module-btn.active,
    [data-theme="dark"] #sidebar.apple-sidebar #nav.nav:not(.ios-nav-editing) > button.hub-nav-entry.active {
      background: rgba(255, 255, 255, 0.16) !important;
    }
    #sidebar.apple-sidebar .sidebar-account-compact {
      background: rgba(255, 255, 255, 0.78) !important;
      border: none !important;
      border-radius: var(--sb-nav-radius, 14px) !important;
      box-shadow:
        0 0 0 0.5px rgba(60, 60, 67, 0.045),
        0 1px 2px rgba(15, 23, 42, 0.035),
        0 4px 14px rgba(15, 23, 42, 0.06) !important;
      -webkit-backdrop-filter: none !important;
      backdrop-filter: none !important;
    }
    [data-theme="dark"] #sidebar.apple-sidebar .sidebar-account-compact {
      background: color-mix(in srgb, var(--sys-surface) 78%, rgba(255, 255, 255, 0.08)) !important;
    }