/*
 * 演示数据看板手机端专用样式。
 * 所有规则都限制在 960px 及以下，PC 版布局和交互保持原样；该范围覆盖手机横屏。
 */
.mobile-appbar,
.mobile-tabbar,
.mobile-sheet-mask,
.mobile-activity-trend,
.mobile-activity-daily,
.mobile-day-editor-mask,
.mobile-churn-summary,
.mobile-mail-empty,
.mobile-user-scope,
.mobile-table-sort,
.mobile-focus-workspace-nav,
.mobile-year-trend,
.cost-list-context {
  display: none;
}

.cost-summary-comparison,
.cost-status-count,
.cost-summary-item small {
  display: none;
}

@media (max-width: 960px) {
  :root {
    --mobile-orange: #f97316;
    --mobile-blue: #2563eb;
    --mobile-ink: #0f1f3d;
    --mobile-muted: #667085;
    --mobile-line: #e3e8ef;
    --mobile-bg: #f6f8fb;
    --mobile-radius: 14px;
  }

  html,
  body {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
  }

  html {
    height: auto !important;
    min-height: 100%;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body[data-dashboard-page="activity"],
  body[data-dashboard-page="business"],
  body[data-dashboard-page="churn"],
  body[data-dashboard-page="profit"] {
    height: auto !important;
    min-height: 100%;
    overflow-y: auto !important;
    overscroll-behavior-y: auto;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  button,
  [role="button"],
  input,
  select {
    min-height: 44px;
  }

  button:active,
  [role="button"]:active {
    opacity: .76;
  }

  /* 统一入口：手机只保留紧凑页头、内容区和底部导航。 */
  body[data-dashboard-page="shell"] {
    height: 100dvh;
    overflow: hidden !important;
    background: #fff;
  }

  body[data-dashboard-page="shell"] .shell,
  body[data-dashboard-page="shell"] .shell.sidebar-collapsed {
    height: 100dvh;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 52px minmax(0, 1fr) calc(60px + env(safe-area-inset-bottom));
    overflow: hidden;
  }

  body[data-dashboard-page="shell"] .sidebar {
    display: none;
  }

  body[data-dashboard-page="shell"] .mobile-appbar {
    position: relative;
    z-index: 8;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    align-items: center;
    border-bottom: 1px solid var(--mobile-line);
    background: rgba(255, 255, 255, .98);
    color: var(--mobile-ink);
  }

  body[data-dashboard-page="shell"] .mobile-appbar > strong {
    overflow: hidden;
    font-size: 19px;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-dashboard-page="shell"] .mobile-appbar-button {
    width: 44px;
    height: 44px;
    margin: 4px 2px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--mobile-ink);
    font-size: 36px;
    line-height: 1;
  }

  body[data-dashboard-page="shell"] .mobile-more-button {
    font-size: 18px;
    letter-spacing: 2px;
  }

  body[data-dashboard-page="shell"] .viewer {
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--mobile-bg);
    touch-action: pan-x pan-y;
  }

  body[data-dashboard-page="shell"] .board-frame {
    width: 100%;
    height: 100%;
    overflow: auto;
    background: var(--mobile-bg);
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body[data-dashboard-page="shell"] .board-frame.active {
    display: block;
  }

  body[data-dashboard-page="shell"] .mobile-tabbar {
    position: relative;
    z-index: 8;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 4px 8px env(safe-area-inset-bottom);
    border-top: 1px solid var(--mobile-line);
    background: rgba(255, 255, 255, .98);
  }

  body[data-dashboard-page="shell"] .mobile-tabbar button {
    display: grid;
    place-items: center;
    align-content: center;
    gap: 2px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #526079;
    font-size: 11px;
  }

  body[data-dashboard-page="shell"] .mobile-tabbar button.active,
  body[data-dashboard-page="shell"] .mobile-tabbar button:focus-visible {
    color: var(--mobile-orange);
  }

  body[data-dashboard-page="shell"] .mobile-tab-icon {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
  }

  body[data-dashboard-page="shell"] .mobile-tab-icon svg {
    width: 22px;
    height: 22px;
  }

  body[data-dashboard-page="shell"] .frame-loading {
    inset: 14px;
    align-self: center;
    justify-self: center;
    width: calc(100% - 28px);
    height: auto;
    min-height: 250px;
    max-height: 420px;
    border: 1px solid var(--mobile-line);
    border-radius: var(--mobile-radius);
    background: #fff;
    box-shadow: 0 12px 34px rgba(15, 23, 42, .08);
  }

  body[data-dashboard-page="shell"] .frame-retry {
    min-height: 44px;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-mask {
    position: fixed;
    inset: 52px 0 calc(60px + env(safe-area-inset-bottom));
    z-index: 30;
    display: flex;
    align-items: stretch;
    justify-content: center;
    padding: 0;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-mask.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  body[data-dashboard-page="shell"] .mobile-sheet {
    width: 100%;
    height: 100%;
    max-height: none;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
    transform: translateY(10px);
    transition: transform .2s ease;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-mask.open .mobile-sheet {
    transform: translateY(0);
  }

  body[data-dashboard-page="shell"] .mobile-sheet > header {
    min-height: 66px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--mobile-line);
  }

  body[data-dashboard-page="shell"] .mobile-sheet > header strong,
  body[data-dashboard-page="shell"] .mobile-sheet > header small {
    display: block;
  }

  body[data-dashboard-page="shell"] .mobile-sheet > header strong {
    color: var(--mobile-ink);
    font-size: 18px;
  }

  body[data-dashboard-page="shell"] .mobile-sheet > header small {
    margin-top: 2px;
    color: var(--mobile-muted);
    font-size: 11px;
  }

  body[data-dashboard-page="shell"] .mobile-sheet > header button {
    width: 44px;
    min-width: 44px;
    border: 1px solid var(--mobile-line);
    border-radius: 12px;
    background: #fff;
    color: var(--mobile-ink);
    font-size: 22px;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-body {
    max-height: none;
    overflow-y: auto;
    padding: 14px 16px 24px;
    background: #f8fafc;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  body[data-dashboard-page="shell"] .mobile-board-list,
  body[data-dashboard-page="shell"] .mobile-action-list {
    display: grid;
    gap: 12px;
  }

  body[data-dashboard-page="shell"] .mobile-board-card {
    width: 100%;
    min-height: 82px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid var(--mobile-line);
    border-radius: 14px;
    background: #fff;
    color: var(--mobile-ink);
    text-align: left;
  }

  body[data-dashboard-page="shell"] .mobile-board-card.active {
    border-color: #fdba74;
    background: #fff8ef;
    box-shadow: inset 4px 0 0 var(--mobile-orange);
  }

  body[data-dashboard-page="shell"] .mobile-board-card strong,
  body[data-dashboard-page="shell"] .mobile-board-card small {
    display: block;
  }

  body[data-dashboard-page="shell"] .mobile-board-card strong {
    font-size: 15px;
  }

  body[data-dashboard-page="shell"] .mobile-board-card small {
    margin-top: 3px;
    color: var(--mobile-muted);
    font-size: 11px;
  }

  body[data-dashboard-page="shell"] .mobile-board-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    background: #eef4ff;
    color: var(--mobile-blue);
    font-weight: 800;
  }

  body[data-dashboard-page="shell"] .mobile-board-card.active .mobile-board-icon {
    background: #ffedd5;
    color: var(--mobile-orange);
  }

  body[data-dashboard-page="shell"] .mobile-board-card > b {
    color: #7f8a9d;
    font-size: 26px;
    font-weight: 400;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-action,
  body[data-dashboard-page="shell"] .mobile-action-list button {
    width: 100%;
    min-height: 50px;
    margin-top: 10px;
    border: 1px solid var(--mobile-line);
    border-radius: 12px;
    background: #fff;
    color: var(--mobile-ink);
    font-weight: 700;
  }

  body[data-dashboard-page="shell"] .mobile-action-list button {
    margin-top: 0;
    text-align: left;
    padding: 0 14px;
  }

  body[data-dashboard-page="shell"] .global-search-dialog {
    padding-bottom: env(safe-area-inset-bottom);
  }

  /* 平台运营总览：手机外壳已经提供标题，页面内只保留结果和紧凑分区导航。 */
  body[data-dashboard-page="overview"] {
    min-height: 100%;
    overflow-x: hidden;
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="overview"] .page {
    width: 100%;
    padding: 8px 8px calc(24px + env(safe-area-inset-bottom));
  }

  body[data-dashboard-page="overview"] .page-head {
    display: none;
  }

  body[data-dashboard-page="overview"] .anchor-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    min-height: 46px;
    gap: 3px;
    margin-bottom: 8px;
    padding: 3px;
    overflow-x: auto;
    border-radius: 11px;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
    scrollbar-width: none;
  }

  body[data-dashboard-page="overview"] .anchor-nav::-webkit-scrollbar {
    display: none;
  }

  body[data-dashboard-page="overview"] .anchor-nav a,
  body[data-dashboard-page="overview"] .anchor-nav button {
    min-height: 40px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    font-size: 12px;
  }

  body[data-dashboard-page="overview"] .anchor-nav .space {
    display: none;
  }

  body[data-dashboard-page="overview"] .source-health {
    min-height: 42px;
    margin: 0 0 8px;
    padding: 7px 10px;
    overflow-x: auto;
    border-radius: 10px;
    white-space: nowrap;
    scrollbar-width: none;
  }

  body[data-dashboard-page="overview"] .source-health::-webkit-scrollbar {
    display: none;
  }

  body[data-dashboard-page="overview"] .source-health .health-items {
    flex-wrap: nowrap;
  }

  body[data-dashboard-page="overview"] .section {
    margin-bottom: 9px;
    scroll-margin-top: 56px;
  }

  body[data-dashboard-page="overview"] .section-title,
  body[data-dashboard-page="overview"] .section-title-actions {
    margin: 0 2px 6px;
  }

  body[data-dashboard-page="overview"] .section-title-actions {
    align-items: end;
  }

  body[data-dashboard-page="overview"] .section-title h2 {
    font-size: 15px;
  }

  body[data-dashboard-page="overview"] .section-title p,
  body[data-dashboard-page="overview"] .section-title-actions > .refresh-note {
    display: none;
  }

  body[data-dashboard-page="overview"] .brief {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
    background: #fff;
  }

  body[data-dashboard-page="overview"] .brief-title {
    gap: 8px;
    font-size: 15px;
  }

  body[data-dashboard-page="overview"] .brief-icon {
    width: 30px;
    height: 30px;
    border-radius: 9px;
  }

  body[data-dashboard-page="overview"] .brief-points {
    grid-template-columns: 1fr;
  }

  body[data-dashboard-page="overview"] .brief-point {
    padding: 7px 0;
    border-top: 1px solid #edf1f6;
    border-left: 0;
    font-size: 12px;
    line-height: 1.55;
  }

  body[data-dashboard-page="overview"] .kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body[data-dashboard-page="overview"] .kpi {
    min-height: 104px;
    padding: 11px;
    border-radius: var(--mobile-radius);
    box-shadow: none;
  }

  body[data-dashboard-page="overview"] .kpi::after {
    width: 54px;
    height: 54px;
  }

  body[data-dashboard-page="overview"] .kpi-head {
    gap: 6px;
    font-size: 12px;
  }

  body[data-dashboard-page="overview"] .kpi-icon {
    width: 27px;
    height: 27px;
  }

  body[data-dashboard-page="overview"] .kpi > strong {
    margin-top: 8px;
    font-size: clamp(18px, 5.2vw, 23px);
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body[data-dashboard-page="overview"] .kpi-foot {
    margin-top: 6px;
    font-size: 10px;
  }

  body[data-dashboard-page="overview"] .profile-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body[data-dashboard-page="overview"] .profile-grid > *:last-child {
    grid-column: auto;
  }

  body[data-dashboard-page="overview"] .profile-card,
  body[data-dashboard-page="overview"] .trend-card,
  body[data-dashboard-page="overview"] .table-card {
    min-height: 0;
    padding: 12px;
    border-radius: var(--mobile-radius);
    box-shadow: none;
  }

  body[data-dashboard-page="overview"] .panel-head {
    margin-bottom: 10px;
  }

  body[data-dashboard-page="overview"] .registration-body {
    grid-template-columns: 1fr 92px;
    gap: 10px;
  }

  body[data-dashboard-page="overview"] .donut {
    width: 88px;
    height: 88px;
  }

  body[data-dashboard-page="overview"] .donut::after {
    width: 58px;
    height: 58px;
  }

  body[data-dashboard-page="overview"] .profile-main {
    grid-template-columns: 1fr;
  }

  body[data-dashboard-page="overview"] .profit-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="overview"] .trend-head,
  body[data-dashboard-page="overview"] .table-toolbar {
    display: grid;
    gap: 8px;
    margin-bottom: 8px;
  }

  body[data-dashboard-page="overview"] .date-filter-trigger {
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  body[data-dashboard-page="overview"] .chart-wrap {
    height: 390px;
  }

  body[data-dashboard-page="overview"] .table-toolbar-actions,
  body[data-dashboard-page="overview"] .tabs {
    width: 100%;
  }

  body[data-dashboard-page="overview"] .tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-dashboard-page="overview"] .tabs button {
    min-height: 40px;
    flex: 1 0 auto;
  }

  body[data-dashboard-page="overview"] .table-toolbar-actions .manage-btn {
    width: 100%;
    min-height: 44px;
  }

  body[data-dashboard-page="overview"] .source-foot {
    display: block;
    line-height: 1.55;
  }

  body[data-dashboard-page="overview"] .source-foot span + span {
    display: none;
  }

  body[data-dashboard-page="overview"] .drawer,
  body[data-dashboard-page="overview"] .config-dialog {
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
  }

  body[data-dashboard-page="overview"] .drawer-foot {
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
  }

  /* 活动看板 */
  body[data-dashboard-page="activity"] {
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="activity"] main {
    width: 100%;
    min-height: 100%;
    padding: 12px 12px calc(28px + env(safe-area-inset-bottom));
    overflow: visible !important;
  }

  body[data-dashboard-page="activity"] header {
    display: block;
    margin: 0 0 12px;
  }

  body[data-dashboard-page="activity"] > main > header > div:first-child {
    display: none;
  }

  body[data-dashboard-page="activity"] .header-actions {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px 76px;
    gap: 8px;
  }

  body[data-dashboard-page="activity"] .header-actions .badge {
    grid-column: 1 / -1;
    min-height: 38px;
    justify-content: flex-start;
    padding: 7px 10px;
    border-color: #dbe7fb;
    background: #f2f7ff;
    color: #526079;
    white-space: normal;
  }

  body[data-dashboard-page="activity"] .header-actions .button {
    min-width: 0;
    padding: 0 8px;
  }

  body[data-dashboard-page="activity"] #open-settings,
  body[data-dashboard-page="activity"] #return-default {
    display: none;
  }

  body[data-dashboard-page="activity"] .kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
  }

  body[data-dashboard-page="activity"] .panel {
    padding: 13px;
    border-radius: var(--mobile-radius);
    box-shadow: 0 3px 12px rgba(15, 23, 42, .05);
  }

  body[data-dashboard-page="activity"] .kpi {
    min-height: 118px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body[data-dashboard-page="activity"] .kpi .label,
  body[data-dashboard-page="activity"] .kpi .label-row {
    color: #526079;
    font-size: 13px;
  }

  body[data-dashboard-page="activity"] .kpi .value {
    margin-top: 8px;
    color: var(--mobile-blue);
    font-size: clamp(20px, 6vw, 27px);
    overflow-wrap: anywhere;
  }

  body[data-dashboard-page="activity"] .kpi .note {
    display: none;
  }

  body[data-dashboard-page="activity"] .target-grid,
  body[data-dashboard-page="activity"] .target-grid[data-tier-count="1"],
  body[data-dashboard-page="activity"] .target-grid[data-tier-count="2"] {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body[data-dashboard-page="activity"] .target-card {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 15px;
    border: 1px solid #fed7aa;
    border-left: 4px solid var(--mobile-orange);
    background: #fff;
  }

  body[data-dashboard-page="activity"] .target-head,
  body[data-dashboard-page="activity"] .target-card > .note,
  body[data-dashboard-page="activity"] .target-meta {
    grid-column: 1 / -1;
  }

  body[data-dashboard-page="activity"] .target-head {
    margin-bottom: 0;
  }

  body[data-dashboard-page="activity"] .target-main-label {
    align-self: center;
    margin: 0;
  }

  body[data-dashboard-page="activity"] .daily-target {
    align-self: center;
    font-size: clamp(22px, 6vw, 28px);
    text-align: right;
  }

  body[data-dashboard-page="activity"] .target-card > .note {
    margin-top: 0;
    padding: 8px 10px;
    border-radius: 8px;
    background: #fff7ed;
  }

  body[data-dashboard-page="activity"] .target-meta {
    margin-top: 2px;
  }

  body[data-dashboard-page="activity"] .two-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body[data-dashboard-page="activity"] .table-wrap {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-x: auto;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body[data-dashboard-page="activity"] table {
    min-width: 680px;
  }

  /* 用户内部、重点用户和营销费用共享页面 */
  body[data-dashboard-page="business"] {
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="business"] .topbar {
    min-height: 52px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-bottom: 1px solid var(--mobile-line);
    background: #fff;
  }

  body[data-dashboard-page="business"].dashboard-embedded .topbar {
    display: none;
  }

  body[data-dashboard-page="business"] .topbar-title,
  body[data-dashboard-page="business"] .mobile-header-toggle,
  body[data-dashboard-page="business"] #helpBtn,
  body[data-dashboard-page="business"] #settingsBtn,
  body[data-dashboard-page="business"] #overviewToggle {
    display: none !important;
  }

  body[data-dashboard-page="business"] .top-actions {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0;
  }

  body[data-dashboard-page="business"] #topbarStatus {
    min-width: 0;
    display: block;
  }

  body[data-dashboard-page="business"] #topbarStatus strong {
    display: block;
    overflow: hidden;
    color: #16803c;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-dashboard-page="business"] #topbarStatus span {
    display: none;
  }

  body[data-dashboard-page="business"] #refreshBtn {
    width: 44px;
    min-width: 44px;
    height: 44px;
  }

  body[data-dashboard-page="business"] .content {
    width: 100%;
    min-height: 100%;
    padding: 8px 8px calc(24px + env(safe-area-inset-bottom));
    overflow: visible !important;
  }

  body[data-dashboard-page="business"] .panel {
    border-radius: var(--mobile-radius);
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
  }

  body[data-dashboard-page="business"] #trendPanel {
    margin-bottom: 10px;
  }

  body[data-dashboard-page="business"] .trend-panel-head,
  body[data-dashboard-page="business"] .list-panel-head,
  body[data-dashboard-page="business"] .focus-compact-toolbar,
  body[data-dashboard-page="business"] .cost-toolbar {
    gap: 7px;
    padding: 8px;
  }

  body[data-dashboard-page="business"] .mobile-data-cards:not(.hidden) {
    gap: 8px;
    padding: 8px;
  }

  body[data-dashboard-page="business"] .mobile-data-card {
    border-radius: 14px;
    box-shadow: none;
  }

  body[data-dashboard-page="business"] .mobile-card-head {
    padding: 11px;
  }

  body[data-dashboard-page="business"] .mobile-card-title strong,
  body[data-dashboard-page="business"] .mobile-card-title .user-identity-name {
    font-size: 15px;
  }

  body[data-dashboard-page="business"] .mobile-card-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-card-stat {
    min-height: 66px;
    padding: 8px 10px;
  }

  body[data-dashboard-page="business"] .mobile-card-stat label {
    min-height: 0;
    color: #667085;
    font-size: 11px;
  }

  body[data-dashboard-page="business"] .mobile-card-stat strong {
    margin-top: 5px;
    color: var(--mobile-blue);
    font-size: 18px;
  }

  body[data-dashboard-page="business"] .mobile-card-stat:nth-child(3n) {
    border-right: 1px solid #edf1f6;
  }

  body[data-dashboard-page="business"] .mobile-card-stat:nth-child(2n) {
    border-right: 0;
  }

  body[data-dashboard-page="business"] .focus-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .cost-table-scroll {
    overflow: visible;
  }

  body[data-dashboard-page="business"] .cost-table,
  body[data-dashboard-page="business"] .cost-table tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  body[data-dashboard-page="business"] .cost-table thead {
    display: none;
  }

  body[data-dashboard-page="business"] .cost-table tbody {
    display: grid;
    gap: 9px;
    padding: 9px;
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="business"] .panel > .table-wrap,
  body[data-dashboard-page="business"] .focus-main,
  body[data-dashboard-page="business"] #focusUsersWorkspace,
  body[data-dashboard-page="business"] #marketingCostWorkspace {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body[data-dashboard-page="business"] .cost-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr);
    gap: 8px 12px;
    padding: 12px;
    border: 1px solid var(--mobile-line);
    border-radius: 12px;
    background: #fff;
  }

  body[data-dashboard-page="business"] .cost-table tbody td {
    width: auto !important;
    min-width: 0;
    height: auto;
    padding: 0;
    border: 0;
    white-space: normal;
    text-align: left;
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(1),
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(6),
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(10) {
    display: none;
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(2),
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(13),
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(14) {
    grid-column: 1 / -1;
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(4)::before {
    content: "开始日期";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(5)::before {
    content: "结束日期";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(7)::before {
    content: "结算方式";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(8)::before {
    content: "周期订单";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(9)::before {
    content: "周期付款金额";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(11)::before {
    content: "费用金额";
  }

  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(4)::before,
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(5)::before,
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(7)::before,
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(8)::before,
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(9)::before,
  body[data-dashboard-page="business"] .cost-table tbody td:nth-child(11)::before {
    display: block;
    margin-bottom: 3px;
    color: var(--mobile-muted);
    font-size: 10px;
  }

  body[data-dashboard-page="business"] .cost-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  body[data-dashboard-page="business"] .cost-actions .btn {
    min-width: 0;
    min-height: 44px;
    padding: 0 5px;
  }

  /* 流失看板：来源切换常驻，宽筛选改为可横滑，用户表改卡片。 */
  body[data-dashboard-page="churn"] {
    height: auto;
    min-height: 100%;
    overflow-y: auto !important;
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="churn"] .page {
    width: 100%;
    height: auto;
    min-height: 100%;
    padding: 10px 10px calc(28px + env(safe-area-inset-bottom));
    overflow: visible;
  }

  body[data-dashboard-page="churn"] .topbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin: 0 0 9px;
  }

  body[data-dashboard-page="churn"] .title-wrap {
    display: none;
  }

  body[data-dashboard-page="churn"] .source-switch {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body[data-dashboard-page="churn"] .source-switch button {
    min-width: 0;
    min-height: 46px;
  }

  body[data-dashboard-page="churn"] .top-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 48px;
    gap: 7px;
  }

  body[data-dashboard-page="churn"] .top-actions .fresh {
    min-width: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 0 10px;
    border: 1px solid #dbe7fb;
    border-radius: 10px;
    background: #f2f7ff;
    color: #526079;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-dashboard-page="churn"] #reloadBtn {
    width: 48px;
    min-width: 48px;
    overflow: hidden;
    color: transparent;
    font-size: 0;
  }

  body[data-dashboard-page="churn"] #reloadBtn::before {
    content: "↻";
    color: var(--mobile-ink);
    font-size: 22px;
  }

  body[data-dashboard-page="churn"] #toggleSelectorsBtn,
  body[data-dashboard-page="churn"] #helpBtn,
  body[data-dashboard-page="churn"] #ruleBtn {
    display: none;
  }

  body[data-dashboard-page="churn"] .selector-stack,
  body[data-dashboard-page="churn"] .mail-mode .selector-stack {
    display: grid !important;
    gap: 9px;
    margin: 0 0 9px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-dashboard-page="churn"] .card {
    border-radius: var(--mobile-radius);
    box-shadow: 0 3px 12px rgba(15, 23, 42, .045);
  }

  body[data-dashboard-page="churn"] .selector-card,
  body[data-dashboard-page="churn"] .segment-panel {
    padding: 10px;
  }

  body[data-dashboard-page="churn"] .selector-head,
  body[data-dashboard-page="churn"] .segment-toolbar {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  body[data-dashboard-page="churn"] .selector-title span,
  body[data-dashboard-page="churn"] .segment-toolbar p,
  body[data-dashboard-page="churn"] .selector-actions,
  body[data-dashboard-page="churn"] .business-tools,
  body[data-dashboard-page="churn"] .segment-actions {
    display: none !important;
  }

  body[data-dashboard-page="churn"] .selector-title h2,
  body[data-dashboard-page="churn"] .segment-toolbar h2 {
    margin: 0 0 7px;
    font-size: 13px;
  }

  body[data-dashboard-page="churn"] .rail-shell,
  body[data-dashboard-page="churn"] .segment-rail-shell {
    display: block;
    min-width: 0;
  }

  body[data-dashboard-page="churn"] .rail-arrow {
    display: none;
  }

  body[data-dashboard-page="churn"] .rail,
  body[data-dashboard-page="churn"] .segment-rail {
    gap: 7px;
    overflow-x: auto;
    padding: 1px 1px 5px;
    scroll-snap-type: x proximity;
    touch-action: pan-x pan-y;
    overscroll-behavior-inline: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body[data-dashboard-page="churn"] .rail::-webkit-scrollbar,
  body[data-dashboard-page="churn"] .segment-rail::-webkit-scrollbar {
    display: none;
  }

  body[data-dashboard-page="churn"] .platform-tab,
  body[data-dashboard-page="churn"] .business-chip,
  body[data-dashboard-page="churn"] .segment-tab {
    flex: 0 0 min(176px, calc(50vw - 24px));
    min-height: 54px;
    scroll-snap-align: start;
  }

  body[data-dashboard-page="churn"] .segment-kpis {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid var(--mobile-line);
    border-radius: 10px;
    background: var(--mobile-line);
  }

  body[data-dashboard-page="churn"] .segment-context,
  body[data-dashboard-page="churn"] .segment-kpi {
    min-width: 0 !important;
    padding: 9px !important;
    border: 0 !important;
    background: #fff !important;
  }

  body[data-dashboard-page="churn"] .mail-overview {
    margin-bottom: 9px;
  }

  body[data-dashboard-page="churn"] .mail-overview-head {
    padding: 11px;
  }

  body[data-dashboard-page="churn"] .mail-trend-grid {
    grid-template-columns: 1fr;
    padding: 0 10px 10px;
  }

  body[data-dashboard-page="churn"] .mail-trend-card {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  body[data-dashboard-page="churn"] .table-card {
    overflow: hidden;
  }

  body[data-dashboard-page="churn"] .table-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 11px;
  }

  body[data-dashboard-page="churn"] .mobile-user-scope {
    display: block;
    margin: 0 11px 8px;
    padding: 9px 10px;
    border: 1px solid #dbe6f5;
    border-radius: 9px;
    background: #f4f8ff;
    color: #365b8d;
    font-size: 12px;
    line-height: 1.5;
  }

  body[data-dashboard-page="churn"] .mobile-table-sort {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    margin: 0 11px 9px;
  }

  body[data-dashboard-page="churn"] .mobile-table-sort label {
    color: var(--mobile-muted);
    font-size: 12px;
  }

  body[data-dashboard-page="churn"] .mobile-table-sort select,
  body[data-dashboard-page="churn"] .mobile-table-sort button {
    min-width: 0;
    min-height: 44px;
    border: 1px solid var(--mobile-line);
    border-radius: 9px;
    background: #fff;
    color: var(--mobile-ink);
    font: inherit;
  }

  body[data-dashboard-page="churn"] .mobile-table-sort select {
    padding: 0 10px;
  }

  body[data-dashboard-page="churn"] .mobile-table-sort button {
    padding: 0 12px;
    color: #8b5200;
    font-weight: 700;
  }

  body[data-dashboard-page="churn"] .table-tools {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
  }

  body[data-dashboard-page="churn"] .table-tools .search,
  body[data-dashboard-page="churn"] .table-tools .search input {
    width: 100%;
  }

  body[data-dashboard-page="churn"] .history-range,
  body[data-dashboard-page="churn"] .filter-tabs {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-dashboard-page="churn"] .history-range button,
  body[data-dashboard-page="churn"] .filter-tab {
    flex: 0 0 auto;
    min-height: 44px;
  }

  body[data-dashboard-page="churn"] .table-wrap {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body[data-dashboard-page="churn"] .table-wrap table,
  body[data-dashboard-page="churn"] #userRows {
    display: block;
    width: 100%;
    min-width: 0;
  }

  body[data-dashboard-page="churn"] #tableHead {
    display: none;
  }

  body[data-dashboard-page="churn"] #userRows {
    display: grid;
    gap: 9px;
    padding: 9px;
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="churn"] #userRows tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 12px;
    border: 1px solid var(--mobile-line);
    border-radius: 12px;
    background: #fff;
  }

  body[data-dashboard-page="churn"] #userRows td {
    width: auto !important;
    min-width: 0;
    height: auto;
    padding: 0;
    border: 0;
    white-space: normal;
    text-align: left;
  }

  body[data-dashboard-page="churn"] #userRows td[data-mobile-label]::before {
    content: attr(data-mobile-label);
    display: block;
    margin-bottom: 4px;
    color: var(--mobile-muted);
    font-size: 10px;
    font-weight: 600;
  }

  body[data-dashboard-page="churn"] #userRows td.mobile-secondary {
    display: none;
  }

  body[data-dashboard-page="churn"] #userRows td.identity,
  body[data-dashboard-page="churn"] #userRows td.note-cell,
  body[data-dashboard-page="churn"] #userRows td.reason,
  body[data-dashboard-page="churn"] #userRows td:nth-last-child(3) {
    grid-column: 1 / -1;
  }

  body[data-dashboard-page="churn"] #userRows td .daily {
    max-width: 100%;
    overflow-x: auto;
  }

  body[data-dashboard-page="churn"] .table-foot {
    display: none;
  }

  body[data-dashboard-page="churn"] .drawer,
  body[data-dashboard-page="churn"] .wide-dialog,
  body[data-dashboard-page="churn"] .note-dialog,
  body[data-dashboard-page="churn"] .help-dialog,
  body[data-dashboard-page="churn"] .user-detail-dialog {
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
  }

  /* 毛利看板：年度信息改为纵向摘要，表格保留编辑并在容器内横滑。 */
  body[data-dashboard-page="profit"] {
    min-height: 100%;
    overflow-y: auto !important;
    background: var(--mobile-bg);
  }

  body[data-dashboard-page="profit"] .topbar {
    min-height: 0;
    display: block;
    padding: 8px 10px;
  }

  body[data-dashboard-page="profit"] .topbar > div:first-child,
  body[data-dashboard-page="profit"] .actions #helpBtn,
  body[data-dashboard-page="profit"] .actions #auditBtn,
  body[data-dashboard-page="profit"] .actions #targetBtn {
    display: none;
  }

  body[data-dashboard-page="profit"] .source-strip {
    margin-bottom: 7px;
    padding: 9px 10px;
    border: 1px solid #dbe7fb;
    border-radius: 10px;
    background: #f2f7ff;
  }

  body[data-dashboard-page="profit"] .source-row strong {
    font-size: 11px;
  }

  body[data-dashboard-page="profit"] .source-row span {
    font-size: 10px;
  }

  body[data-dashboard-page="profit"] .actions {
    display: grid;
    grid-template-columns: minmax(0, .58fr) minmax(0, 1.42fr);
    justify-content: stretch;
  }

  body[data-dashboard-page="profit"] .actions .btn {
    width: 100%;
  }

  body[data-dashboard-page="profit"] .actions .tag {
    min-height: 40px;
    display: grid;
    place-items: center;
    padding: 0 8px;
    text-align: center;
  }

  body[data-dashboard-page="profit"] .content {
    width: 100%;
    min-height: 100%;
    padding: 0 10px calc(28px + env(safe-area-inset-bottom));
    overflow: visible !important;
  }

  body[data-dashboard-page="profit"] .periodbar {
    width: 100%;
    overflow-x: auto;
    padding: 5px;
    scrollbar-width: none;
  }

  body[data-dashboard-page="profit"] .period {
    flex: 0 0 66px;
    min-width: 66px;
    height: 44px;
  }

  body[data-dashboard-page="profit"] .period-info {
    display: none;
  }

  body[data-dashboard-page="profit"] .year-hero,
  body[data-dashboard-page="profit"] .month-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body[data-dashboard-page="profit"] .hero-card,
  body[data-dashboard-page="profit"] .month-hero {
    grid-column: 1 / -1;
    min-height: 128px;
    padding: 17px;
    border-radius: var(--mobile-radius);
    background: var(--mobile-blue);
    box-shadow: none;
  }

  body[data-dashboard-page="profit"] .hero-card strong,
  body[data-dashboard-page="profit"] .month-hero strong {
    font-size: clamp(27px, 8vw, 34px);
    overflow-wrap: anywhere;
  }

  body[data-dashboard-page="profit"] .kpi,
  body[data-dashboard-page="profit"] .month-kpi {
    min-height: 98px;
    padding: 12px 8px;
    text-align: center;
  }

  body[data-dashboard-page="profit"] .kpi strong,
  body[data-dashboard-page="profit"] .month-kpi strong {
    font-size: clamp(11px, 3.15vw, 14px);
    letter-spacing: -.045em;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  body[data-dashboard-page="profit"] .kpi small,
  body[data-dashboard-page="profit"] .month-kpi small {
    display: none;
  }

  body[data-dashboard-page="profit"] .half-grid,
  body[data-dashboard-page="profit"] .project-analysis,
  body[data-dashboard-page="profit"] .month-analysis {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  body[data-dashboard-page="profit"] .half-numbers {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-dashboard-page="profit"] .half-number {
    min-width: 0;
    padding: 8px;
  }

  body[data-dashboard-page="profit"] .half-number b {
    font-size: clamp(12px, 3.45vw, 15px);
    letter-spacing: -.02em;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  body[data-dashboard-page="profit"] .project-analysis aside {
    display: none;
  }

  body[data-dashboard-page="profit"] .project-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="profit"] .project-chart,
  body[data-dashboard-page="profit"] .chart {
    height: 230px;
  }

  body[data-dashboard-page="profit"] .year-bars {
    display: none;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend {
    width: 100%;
    height: 220px;
    display: block;
    overflow: visible;
    touch-action: pan-y;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .grid {
    stroke: #e7ecf3;
    stroke-width: 1;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .zero {
    stroke: #cbd5e1;
    stroke-dasharray: 4 4;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .area {
    fill: rgba(37, 99, 235, .1);
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .line {
    fill: none;
    stroke: var(--mobile-blue);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .hit {
    fill: transparent;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .halo {
    fill: #fff;
    stroke: rgba(37, 99, 235, .18);
    stroke-width: 4;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .dot {
    fill: var(--mobile-blue);
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .month,
  body[data-dashboard-page="profit"] .mobile-year-trend .value,
  body[data-dashboard-page="profit"] .mobile-year-trend .empty {
    fill: #647286;
    font-family: inherit;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .value {
    fill: #29344a;
    font-size: 10px;
    font-weight: 700;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .month-point.current .dot {
    fill: var(--mobile-orange);
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .month-point.current .halo {
    stroke: rgba(249, 115, 22, .22);
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .value.current,
  body[data-dashboard-page="profit"] .mobile-year-trend .month-point.current .month {
    fill: #b86200;
    font-weight: 700;
  }

  body[data-dashboard-page="profit"] .mobile-year-trend .month-point:focus-visible .hit {
    fill: rgba(37, 99, 235, .08);
    stroke: var(--mobile-blue);
    stroke-width: 2;
  }

  body[data-dashboard-page="profit"] .year-analysis .section-head p {
    display: none;
  }

  body[data-dashboard-page="profit"] .annual-data-head {
    display: block;
    padding: 12px;
  }

  body[data-dashboard-page="profit"] .annual-data-tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
  }

  body[data-dashboard-page="profit"] .annual-data-tabs button {
    min-width: 0;
    min-height: 44px;
    padding: 5px;
  }

  body[data-dashboard-page="profit"] .section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding: 12px;
  }

  body[data-dashboard-page="profit"] .section-tools {
    width: 100%;
    display: flex;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  body[data-dashboard-page="profit"] .section-tools .btn {
    flex: 0 0 auto;
    min-height: 44px;
  }

  body[data-dashboard-page="profit"] .annual-table-wrap,
  body[data-dashboard-page="profit"] .matrix-wrap {
    width: 100%;
    max-height: none;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: auto;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
  }

  body[data-dashboard-page="profit"] .annual-project-table,
  body[data-dashboard-page="profit"] .annual-table,
  body[data-dashboard-page="profit"] .matrix {
    min-width: 1120px;
  }

  body[data-dashboard-page="profit"] .modal,
  body[data-dashboard-page="profit"] .modal.medium,
  body[data-dashboard-page="profit"] .modal.small {
    width: 100%;
    max-width: none;
    max-height: 100dvh;
    border-radius: 16px 16px 0 0;
  }

  body[data-dashboard-page="profit"] .layer {
    align-items: flex-end;
    padding: 0;
  }

  body[data-dashboard-page="profit"] .modal-grid,
  body[data-dashboard-page="profit"] .group-settings,
  body[data-dashboard-page="profit"] .form-grid,
  body[data-dashboard-page="profit"] .help-grid,
  body[data-dashboard-page="profit"] .calc-strip {
    grid-template-columns: 1fr;
  }

  body[data-dashboard-page="profit"] .manage {
    border-right: 0;
    border-bottom: 1px solid var(--mobile-line);
  }

  body[data-dashboard-page="profit"] .drawer {
    width: 100%;
  }

  body[data-dashboard-page="profit"] .expanded-table {
    inset: 0 !important;
    border-radius: 0 !important;
  }

  /* 设计对齐 v4：手机端改为结果优先，复杂筛选保留但收纳到后续层级。 */
  body[data-dashboard-page="shell"] .mobile-sheet-mask[data-mode="boards"] .mobile-sheet > header {
    display: none;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-mask[data-mode="boards"] .mobile-sheet {
    grid-template-rows: minmax(0, 1fr);
  }

  body[data-dashboard-page="shell"] .mobile-board-intro {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 58px;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    padding: 12px 2px 17px;
    border-bottom: 1px solid var(--mobile-line);
  }

  body[data-dashboard-page="shell"] .mobile-board-intro img {
    width: 84px;
    height: auto;
    aspect-ratio: 2749 / 789;
    display: block;
    object-fit: contain;
  }

  body[data-dashboard-page="shell"] .mobile-board-intro strong,
  body[data-dashboard-page="shell"] .mobile-board-intro small,
  body[data-dashboard-page="shell"] .mobile-board-section-title strong,
  body[data-dashboard-page="shell"] .mobile-board-section-title small {
    display: block;
  }

  body[data-dashboard-page="shell"] .mobile-board-intro strong {
    color: var(--mobile-ink);
    font-size: 18px;
  }

  body[data-dashboard-page="shell"] .mobile-board-intro small {
    margin-top: 3px;
    color: var(--mobile-muted);
    font-size: 11px;
  }

  body[data-dashboard-page="shell"] .mobile-board-intro button {
    min-height: 44px;
    border: 1px solid #fdba74;
    border-radius: 12px;
    background: #fff8ef;
    color: #c65f00;
    font-weight: 700;
  }

  body[data-dashboard-page="shell"] .mobile-board-section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
  }

  body[data-dashboard-page="shell"] .mobile-board-section-title strong {
    color: var(--mobile-ink);
    font-size: 16px;
  }

  body[data-dashboard-page="shell"] .mobile-board-section-title small {
    color: var(--mobile-muted);
    font-size: 11px;
  }

  body[data-dashboard-page="shell"] .mobile-sheet-body {
    padding-top: 10px;
  }

  body[data-dashboard-page="shell"] .mobile-board-card {
    min-height: 74px;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body[data-dashboard-page="activity"] .kpi-grid .kpi:nth-child(3),
  body[data-dashboard-page="activity"] .kpi-grid .kpi:nth-child(4) {
    display: none;
  }

  body[data-dashboard-page="activity"] .kpi {
    min-height: 96px;
    padding: 12px;
  }

  body[data-dashboard-page="activity"] .kpi .value {
    margin-top: 5px;
    font-size: clamp(20px, 5.6vw, 25px);
  }

  body[data-dashboard-page="activity"] .target-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  body[data-dashboard-page="activity"] .target-grid[data-tier-count="1"] {
    grid-template-columns: 1fr;
  }

  body[data-dashboard-page="activity"] .target-grid[data-tier-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="activity"] .target-card {
    grid-template-columns: 1fr;
    align-content: start;
    gap: 5px;
    padding: 11px 12px;
    border-left-width: 1px;
  }

  body[data-dashboard-page="activity"] .target-card > .note,
  body[data-dashboard-page="activity"] .target-meta {
    display: none;
  }

  body[data-dashboard-page="activity"] .target-head {
    grid-column: 1;
  }

  body[data-dashboard-page="activity"] .target-main-label {
    font-size: 11px;
  }

  body[data-dashboard-page="activity"] .daily-target {
    font-size: clamp(18px, 5vw, 22px);
    text-align: left;
  }

  body[data-dashboard-page="activity"] .mobile-activity-trend {
    display: block;
    margin: 10px 0;
    padding: 12px;
  }

  body[data-dashboard-page="activity"] .mobile-activity-trend-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
  }

  body[data-dashboard-page="activity"] .mobile-activity-trend h2 {
    margin: 0;
    font-size: 15px;
  }

  body[data-dashboard-page="activity"] .mobile-activity-trend small {
    display: block;
    margin-top: 3px;
    color: var(--mobile-muted);
    font-size: 10px;
  }

  body[data-dashboard-page="activity"] .mobile-activity-trend-head > strong {
    color: var(--mobile-blue);
    font-size: 15px;
  }

  body[data-dashboard-page="activity"] #mobile-activity-trend-chart {
    width: 100%;
    height: 128px;
    margin-top: 5px;
  }

  body[data-dashboard-page="activity"] .mobile-activity-daily {
    display: grid;
    gap: 8px;
    margin-top: 10px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    padding: 12px;
    border: 1px solid var(--mobile-line);
    border-radius: 12px;
    background: #fff;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-head strong,
  body[data-dashboard-page="activity"] .mobile-day-card-head small {
    display: block;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-head strong {
    color: var(--mobile-ink);
    font-size: 14px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-head small {
    margin-top: 3px;
    color: var(--mobile-muted);
    font-size: 10px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-used {
    text-align: right;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-used span,
  body[data-dashboard-page="activity"] .mobile-day-card-used strong {
    display: block;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-used span {
    color: var(--mobile-muted);
    font-size: 10px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-used strong {
    margin-top: 3px;
    color: var(--mobile-blue);
    font-size: 16px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-meta {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card-meta span {
    min-width: 0;
    padding: 7px 8px;
    border-radius: 8px;
    background: #f7f9fc;
    color: #526079;
    font-size: 11px;
  }

  body[data-dashboard-page="activity"] .mobile-day-card button {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
    border: 1px solid #bfcef0;
    border-radius: 9px;
    background: #f5f8ff;
    color: #1f56c2;
    font-weight: 700;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-mask {
    position: fixed;
    inset: 0;
    z-index: 90;
    align-items: flex-end;
    padding: 0;
    background: rgba(15, 23, 42, .52);
    overscroll-behavior: contain;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-mask.open {
    display: flex;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor {
    width: 100%;
    max-height: 92dvh;
    overflow: auto;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
    border-radius: 18px 18px 0 0;
    background: #fff;
    box-shadow: 0 -18px 50px rgba(15, 23, 42, .18);
    overscroll-behavior: contain;
  }

  body[data-dashboard-page="activity"].mobile-day-editor-open {
    overflow: hidden !important;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-head h2,
  body[data-dashboard-page="activity"] .mobile-day-editor-head p {
    margin: 0;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-head h2 {
    font-size: 18px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-head p {
    margin-top: 4px;
    color: var(--mobile-muted);
    font-size: 12px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-close {
    width: 44px;
    min-width: 44px;
    border: 0;
    border-radius: 10px;
    background: #f2f4f7;
    color: var(--mobile-ink);
    font-size: 22px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-body {
    display: grid;
    gap: 8px;
    margin-top: 18px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-body label {
    color: var(--mobile-ink);
    font-size: 13px;
    font-weight: 700;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-body input {
    width: 100%;
    min-height: 50px;
    padding: 0 12px;
    border: 1px solid #cdd7e5;
    border-radius: 10px;
    font-size: 16px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-body small {
    color: var(--mobile-muted);
    font-size: 12px;
    line-height: 1.6;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 18px;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-actions button {
    min-height: 48px;
    border: 1px solid var(--mobile-line);
    border-radius: 10px;
    background: #fff;
    color: #344055;
    font-weight: 700;
  }

  body[data-dashboard-page="activity"] .mobile-day-editor-actions .primary {
    border-color: var(--mobile-blue);
    background: var(--mobile-blue);
    color: #fff;
  }

  body[data-dashboard-page="activity"] .mobile-day-data-section > .table-wrap {
    display: none;
  }

  body[data-dashboard-page="business"] .content {
    display: flex;
    flex-direction: column;
  }

  body[data-dashboard-page="business"] .content > #trendPanel {
    order: 3;
  }

  body[data-dashboard-page="business"] .content > .panel:not(#trendPanel) {
    order: 1;
  }

  body[data-dashboard-page="business"] .list-panel-head {
    display: block;
  }

  body[data-dashboard-page="business"] .list-panel-head > div:first-child {
    margin-bottom: 8px;
  }

  body[data-dashboard-page="business"] #listToolbar,
  body[data-dashboard-page="business"] .unified-search {
    width: 100%;
  }

  body[data-dashboard-page="business"] .unified-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    gap: 7px;
  }

  body[data-dashboard-page="business"] #mobileListFilterToggle {
    width: 100%;
    min-height: 44px;
    border-color: #d9e2ef;
    background: #f8fafc;
    color: #344055;
  }

  body[data-dashboard-page="business"] #listToolbar.mobile-filters-collapsed #viewTabs,
  body[data-dashboard-page="business"] #listToolbar.mobile-filters-collapsed #dailyControls,
  body[data-dashboard-page="business"] #listToolbar.mobile-filters-collapsed #metricTabs,
  body[data-dashboard-page="business"] #listToolbar.mobile-filters-collapsed #levelTabs {
    display: none !important;
  }

  body[data-dashboard-page="business"] #viewTabs,
  body[data-dashboard-page="business"] #metricTabs,
  body[data-dashboard-page="business"] #levelTabs {
    width: 100%;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-dashboard-page="business"] #viewTabs button,
  body[data-dashboard-page="business"] #metricTabs button,
  body[data-dashboard-page="business"] #levelTabs button {
    flex: 0 0 auto;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip,
  body[data-dashboard-page="churn"] .mobile-churn-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--mobile-line);
    border-radius: 13px;
    background: #fff;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip {
    grid-column: 1 / -1;
    margin-bottom: 1px;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip > div,
  body[data-dashboard-page="churn"] .mobile-churn-summary > div {
    min-width: 0;
    padding: 10px 7px;
    text-align: center;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip > div + div,
  body[data-dashboard-page="churn"] .mobile-churn-summary > div + div {
    border-left: 1px solid #edf1f6;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip span,
  body[data-dashboard-page="churn"] .mobile-churn-summary span {
    display: block;
    overflow: hidden;
    color: var(--mobile-muted);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip strong,
  body[data-dashboard-page="churn"] .mobile-churn-summary strong {
    display: block;
    margin-top: 4px;
    color: var(--mobile-blue);
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip strong.down,
  body[data-dashboard-page="churn"] .mobile-churn-summary strong.danger {
    color: #d92d20;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip strong.up,
  body[data-dashboard-page="churn"] .mobile-churn-summary strong.success {
    color: #16803c;
  }

  body[data-dashboard-page="business"] .mobile-overview-strip strong.warning,
  body[data-dashboard-page="churn"] .mobile-churn-summary strong.warning {
    color: #e96d00;
  }

  body[data-dashboard-page="business"] .focus-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-focus-workspace-nav {
    position: sticky;
    top: 0;
    z-index: 12;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 8px;
    border-bottom: 1px solid var(--mobile-line);
    background: rgba(246, 248, 251, .96);
    backdrop-filter: blur(10px);
  }

  body[data-dashboard-page="business"] .mobile-focus-workspace-nav button {
    min-width: 0;
    min-height: 44px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #667085;
    font-size: 14px;
    font-weight: 700;
  }

  body[data-dashboard-page="business"] .mobile-focus-workspace-nav button.active {
    border-color: #f3bf72;
    background: #fff7e8;
    color: #b86200;
    box-shadow: 0 2px 8px rgba(217, 119, 6, .08);
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-head {
    align-items: center;
    padding: 10px 11px;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-title {
    flex: 1 1 auto;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .user-identity {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 7px;
    align-items: center;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .user-identity-name-row {
    grid-column: 1 / -1;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .user-identity-meta,
  body[data-dashboard-page="business"] .mobile-focus-card .user-identity-phone {
    min-width: 0;
    margin: 0;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .user-identity-copy {
    min-height: 30px;
    padding: 3px 6px;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-note {
    display: -webkit-box;
    max-height: 58px;
    overflow: hidden;
    padding: 8px 11px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-stat {
    min-height: 60px;
    padding: 7px 8px;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-stat strong {
    margin-top: 3px;
    font-size: clamp(15px, 4.3vw, 18px);
    white-space: nowrap;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats .mobile-card-stat:nth-child(3n) {
    border-right: 0;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats .mobile-card-stat:nth-child(2n):not(:nth-child(3n)) {
    border-right: 1px solid #edf1f6;
  }

  body[data-dashboard-page="business"] .mobile-focus-more {
    border-bottom: 1px solid #edf1f6;
  }

  body[data-dashboard-page="business"] .mobile-focus-more > summary,
  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-daily > summary,
  body[data-dashboard-page="business"] .mobile-focus-card .mobile-card-actions > summary {
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0 11px;
    color: var(--mobile-blue);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
  }

  body[data-dashboard-page="business"] .mobile-focus-more > summary::-webkit-details-marker {
    display: none;
  }

  body[data-dashboard-page="business"] .mobile-focus-secondary-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-focus-secondary-stats .mobile-card-stat:last-child {
    border-right: 0;
  }

  body[data-dashboard-page="business"] .focus-header-workspace:not(.hidden) {
    width: 100%;
  }

  body[data-dashboard-page="business"] .focus-workspace-tabs {
    width: 100%;
    gap: 7px;
  }

  body[data-dashboard-page="business"] .focus-group-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
  }

  body[data-dashboard-page="business"] .focus-group-label {
    display: none;
  }

  body[data-dashboard-page="business"] .focus-group-tabs {
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-dashboard-page="business"] .focus-compact-toolbar {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 8px;
  }

  body[data-dashboard-page="business"] .focus-compact-toolbar .focus-entity-select,
  body[data-dashboard-page="business"] .focus-compact-toolbar .search-with-clear,
  body[data-dashboard-page="business"] .focus-range-inline {
    grid-column: 1 / -1;
  }

  body[data-dashboard-page="business"] .focus-compact-toolbar .segmented,
  body[data-dashboard-page="business"] .focus-range-inline .segmented {
    width: 100%;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  body[data-dashboard-page="business"] .focus-compact-toolbar .segmented button,
  body[data-dashboard-page="business"] .focus-range-inline .segmented button {
    flex: 1 0 auto;
  }

  body[data-dashboard-page="business"] .focus-range-label {
    display: none;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] #marketingCostWorkspace:not(.hidden) {
    display: flex;
    flex-direction: column;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-summary {
    order: 1;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-list-context {
    display: block;
    order: 2;
    margin: 0 9px 9px;
    padding: 10px 11px;
    border: 1px solid #f2d6a5;
    border-radius: 10px;
    background: #fff9ee;
    color: #805000;
    font-size: 12px;
    line-height: 1.55;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-toolbar {
    order: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-table-scroll {
    order: 4;
  }

  body[data-dashboard-page="business"] .cost-summary-item small {
    display: block;
    margin-top: 3px;
    color: var(--mobile-muted);
    font-size: 10px;
    font-weight: 500;
  }

  body[data-dashboard-page="business"] .cost-summary-comparison,
  body[data-dashboard-page="business"] .cost-status-count {
    display: inline;
  }

  body[data-dashboard-page="business"] .cost-entity-filter:not(.hidden) {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    border: 1px solid #f0b75a;
    border-radius: 9px;
    background: #fff7e8;
    color: #8b5200;
  }

  body[data-dashboard-page="business"] .cost-toolbar #addMarketingCostBtn,
  body[data-dashboard-page="business"] .cost-toolbar > .search-with-clear,
  body[data-dashboard-page="business"] .cost-toolbar #marketingCostRangeTabs,
  body[data-dashboard-page="business"] .cost-toolbar #marketingCostStatusTabs,
  body[data-dashboard-page="business"] .cost-toolbar #refreshMarketingCostBtn {
    grid-column: 1 / -1;
    width: 100%;
  }

  body[data-dashboard-page="business"] .cost-toolbar .segmented {
    display: flex;
  }

  body[data-dashboard-page="business"] .cost-toolbar .segmented button {
    flex: 1 1 0;
  }

  body[data-dashboard-page="business"] .cost-empty {
    min-height: 132px;
    padding: 36px 18px !important;
    border: 1px dashed #cbd5e1 !important;
    border-radius: 12px;
    background: #f8fafc;
    color: var(--mobile-muted);
    text-align: center !important;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-table-scroll:has(.cost-empty) {
    min-height: 132px;
    height: auto;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-table-scroll:has(.cost-empty) table {
    min-width: 0;
    table-layout: fixed;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-table tbody tr:has(.cost-empty) {
    grid-template-columns: 1fr;
    min-height: 132px;
  }

  body[data-dashboard-page="business"][data-focus-workspace="costs"] .cost-table tbody td.cost-empty {
    display: grid;
    grid-column: 1 / -1;
    width: auto;
    min-height: 108px;
    place-content: center;
    white-space: normal !important;
    line-height: 1.6;
  }

  body[data-dashboard-page="churn"] .mobile-churn-summary {
    margin: 0 0 9px;
  }

  body[data-dashboard-page="churn"].mail-mode.mail-data-empty .mobile-mail-empty {
    display: grid;
    min-height: 220px;
    margin: 10px 0 0;
    padding: 44px 30px;
    place-content: center;
    gap: 8px;
    border: 1px solid var(--mobile-line);
    border-radius: var(--mobile-radius);
    background: #fff;
    color: var(--mobile-muted);
    text-align: center;
    line-height: 1.6;
  }

  body[data-dashboard-page="churn"].mail-mode.mail-data-empty .mobile-mail-empty strong {
    color: var(--mobile-ink);
    font-size: 17px;
  }

  body[data-dashboard-page="churn"].mail-mode.mail-data-empty .mobile-mail-empty span {
    font-size: 13px;
  }

  body[data-dashboard-page="churn"] .top-actions {
    grid-template-columns: 92px minmax(0, 1fr) 48px;
  }

  body[data-dashboard-page="churn"] #toggleSelectorsBtn {
    display: block !important;
    min-width: 0;
    padding: 0 7px;
    font-size: 11px;
  }

  body[data-dashboard-page="churn"].selectors-collapsed .selector-stack,
  body[data-dashboard-page="churn"].mail-mode.selectors-collapsed .selector-stack {
    display: none !important;
  }

  body[data-dashboard-page="churn"] .segment-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-dashboard-page="profit"] #yearView:not(.hidden) {
    display: flex;
    flex-direction: column;
  }

  body[data-dashboard-page="profit"] #yearView .year-hero {
    order: 1;
  }

  body[data-dashboard-page="profit"] #yearView .project-analysis {
    order: 2;
  }

  body[data-dashboard-page="profit"] #yearView .half-grid {
    order: 3;
  }

  body[data-dashboard-page="profit"] #yearView .year-analysis {
    order: 4;
  }

  body[data-dashboard-page="profit"] #yearView .annual-data-head {
    order: 5;
  }

  body[data-dashboard-page="profit"] #yearView .annual-project-panel {
    order: 6;
  }

  body[data-dashboard-page="profit"] #yearView .annual-subitem-panel {
    order: 7;
  }

  body[data-dashboard-page="profit"] #yearView .annual-table-panel {
    order: 8;
  }

  body[data-dashboard-page="profit"] .project-analysis-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 118px;
    align-items: center;
  }

  body[data-dashboard-page="profit"] .project-picker {
    display: block;
  }

  body[data-dashboard-page="profit"] .project-picker label {
    display: none;
  }

  body[data-dashboard-page="profit"] .project-picker .select {
    width: 100%;
    min-height: 44px;
  }

  body[data-dashboard-page="profit"] .project-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 0;
    padding: 10px 12px 4px;
  }

  body[data-dashboard-page="profit"] .project-metric {
    min-width: 0;
    padding: 0 7px;
  }

  body[data-dashboard-page="profit"] .project-metric strong {
    overflow: visible;
    font-size: 13px;
    letter-spacing: -.02em;
    text-overflow: clip;
    white-space: nowrap;
  }

  body[data-dashboard-page="profit"] .project-chart {
    height: 192px;
  }

  body[data-dashboard-page="profit"] .half {
    padding: 12px;
  }

  body[data-dashboard-page="profit"] .half-numbers {
    margin: 10px 0;
  }

  body[data-dashboard-page="profit"] .half-note {
    display: none;
  }

  body[data-dashboard-page="profit"] .source-strip {
    max-height: 58px;
    overflow: hidden;
  }

  body[data-dashboard-page="business"] .loading-card,
  body[data-dashboard-page="business"] .error-panel,
  body[data-dashboard-page="churn"] .empty,
  body[data-dashboard-page="profit"] .empty {
    border: 1px solid var(--mobile-line);
    border-radius: var(--mobile-radius);
    background: #fff;
    color: var(--mobile-muted);
    box-shadow: none;
    line-height: 1.65;
  }

  .dashboard-state-page {
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 18px;
    background: var(--mobile-bg);
  }

  .dashboard-state {
    width: min(100%, 460px);
    margin: 16px auto !important;
    padding: 34px 24px !important;
    display: grid;
    justify-items: center;
    gap: 8px;
    border: 1px solid var(--mobile-line) !important;
    border-radius: var(--mobile-radius) !important;
    background: #fff !important;
    color: var(--mobile-muted) !important;
    text-align: center;
    box-shadow: none !important;
  }

  .dashboard-state-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff7ed;
    color: #c2410c;
    font-size: 20px;
    font-weight: 800;
  }

  .dashboard-state .dashboard-state-kicker {
    margin: 4px 0 0;
    color: #c2410c;
    font-size: 12px;
    font-weight: 750;
  }

  .dashboard-state h1 {
    margin: 0;
    color: var(--mobile-ink);
    font-size: 19px;
  }

  .dashboard-state p {
    margin: 0;
    font-size: 13px;
    line-height: 1.65;
  }

  .dashboard-state .dashboard-state-hint {
    color: var(--mobile-muted);
  }

  .dashboard-state-action {
    min-width: 132px;
    margin-top: 8px;
    border: 0;
    border-radius: 10px;
    background: var(--mobile-blue);
    color: #fff;
    font-weight: 750;
  }

  button:focus-visible,
  [role="button"]:focus-visible,
  input:focus-visible,
  select:focus-visible {
    outline: 2px solid var(--mobile-blue);
    outline-offset: 2px;
  }
}

@media (max-width: 380px) {
  body[data-dashboard-page="overview"] .kpis,
  body[data-dashboard-page="activity"] .target-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-card-stats,
  body[data-dashboard-page="churn"] .segment-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats,
  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-secondary-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats .mobile-card-stat:nth-child(2n),
  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-secondary-stats .mobile-card-stat:nth-child(2n) {
    border-right: 0;
  }

  body[data-dashboard-page="business"] .mobile-focus-card .mobile-focus-primary-stats .mobile-card-stat:nth-child(odd) {
    border-right: 1px solid #edf1f6;
  }
}

@media (max-width: 960px) and (orientation: landscape) {
  body[data-dashboard-page="shell"] .shell,
  body[data-dashboard-page="shell"] .shell.sidebar-collapsed {
    grid-template-rows: 50px minmax(0, 1fr) 54px;
  }

  body[data-dashboard-page="shell"] .mobile-tabbar button {
    grid-auto-flow: column;
    gap: 6px;
  }

  body[data-dashboard-page="activity"] .kpi-grid,
  body[data-dashboard-page="profit"] .year-hero,
  body[data-dashboard-page="profit"] .month-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  body[data-dashboard-page="profit"] .hero-card,
  body[data-dashboard-page="profit"] .month-hero {
    grid-column: span 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-sheet-mask,
  .mobile-sheet {
    transition: none !important;
  }
}
