
  @media (max-width: 1000px) {
    .kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .content-grid { grid-template-columns: 1fr 1fr; }
    .channel-grid { grid-template-columns: 1fr 1fr; }
    .pv-metrics { grid-template-columns: 1fr 1fr; }
    .journey-columns { grid-template-columns: 1fr 1fr; }
    .journey-column::after { display: none; }
    .journey-detail-funnel,
    .journey-detail-transitions { grid-template-columns: 1fr; }
    .journey-detail-streams { align-items: stretch; }
    .journey-detail-stream { width: 100%; }
    .journey-detail-goal { min-height: 0; order: -1; }
    .goals-overview { grid-template-columns: 1fr; }
    .users-overview { grid-template-columns: 1fr; }
    .online-summary { grid-template-columns: 1fr; }
  }
  @media (max-width: 700px) {
    html,
    body { min-width: 0; overflow-x: hidden; }
    body.mobile-menu-open { overflow: hidden; touch-action: none; }
    .crm { width: 100%; min-width: 0; min-height: 100dvh; }
    .sidebar {
      position: fixed;
      z-index: 118;
      inset: 0 0 0 auto;
      display: flex;
      width: min(360px, calc(100vw - 12px));
      max-width: calc(100vw - 12px);
      height: 100dvh;
      padding: max(72px, calc(64px + env(safe-area-inset-top))) 16px max(22px, env(safe-area-inset-bottom));
      overflow-x: hidden;
      overflow-y: auto;
      border-right: 0;
      border-left: 1px solid #e5e5e5;
      box-shadow: -24px 0 64px rgba(10,12,18,.24);
      transform: translateX(100%);
      visibility: hidden;
      transition: transform .22s ease, visibility 0s linear .22s;
      overscroll-behavior: contain;
      -webkit-overflow-scrolling: touch;
    }
    .sidebar-navigation-settings,
    .desktop-sidebar-toggle,
    .desktop-sidebar-edge-trigger { display: none; }
    .sidebar.mobile-open {
      transform: translateX(0);
      visibility: visible;
      transition: transform .22s ease, visibility 0s;
    }
    .mobile-menu-backdrop {
      position: fixed;
      z-index: 112;
      inset: 0;
      display: block;
      width: 100%;
      height: 100dvh;
      border: 0;
      background: rgba(7,9,14,.56);
      opacity: 0;
      visibility: hidden;
      cursor: pointer;
      transition: opacity .2s ease, visibility 0s linear .2s;
      backdrop-filter: blur(2px);
    }
    .mobile-menu-backdrop.open {
      opacity: 1;
      visibility: visible;
      transition: opacity .2s ease, visibility 0s;
    }
    .mobile-menu-button {
      position: fixed;
      z-index: 124;
      top: max(12px, env(safe-area-inset-top));
      right: max(12px, env(safe-area-inset-right));
      display: inline-flex;
      width: 46px;
      height: 46px;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 5px;
      border: 1px solid #dedfe5;
      border-radius: 11px;
      background: rgba(255,255,255,.96);
      color: #343741;
      box-shadow: 0 8px 24px rgba(18,21,29,.12);
      cursor: pointer;
      -webkit-tap-highlight-color: transparent;
    }
    .mobile-menu-button span {
      display: block;
      width: 19px;
      height: 2px;
      border-radius: 2px;
      background: currentColor;
      transition: transform .2s ease, opacity .16s ease;
    }
    body.mobile-menu-open .mobile-menu-button span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    body.mobile-menu-open .mobile-menu-button span:nth-child(2) { opacity: 0; }
    body.mobile-menu-open .mobile-menu-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
    .sidebar .nav-item { min-height: 44px; padding-block: 10px; font-size: 15px; }
    .sidebar .sidebar-nav-toggle { min-height: 42px; font-size: 13px; }
    .sidebar .sidebar-favorite { width: 36px; height: 36px; }
    .main {
      width: 100%;
      min-width: 0;
      min-height: 100dvh;
      padding: max(14px, env(safe-area-inset-top)) 14px max(20px, env(safe-area-inset-bottom));
      overflow-x: hidden;
      overflow-y: visible;
    }
    .page-view.active {
      width: 100%;
      min-width: 0;
      min-height: 0;
      overflow: visible;
    }
    body.access-page-active .main { height: 100dvh; min-height: 0; overflow: hidden; }
    #page-access.active { flex: 1 1 auto; height: auto; min-height: 0; overflow: auto; }
    .page-header { min-width: 0; padding-right: 52px; align-items: stretch; flex-wrap: wrap; }
    .page-header > :first-child,
    .access-page-heading,
    .online-page-heading,
    .audit-page-heading { min-width: 0; }
    .page-title { font-size: clamp(22px, 7vw, 30px); line-height: 1.12; }
    .page-sub { max-width: 100%; line-height: 1.4; }
    .topbar { width: 100%; min-width: 0; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; }
    .settings-stack { margin-left: auto; }
    .kpi-grid { grid-template-columns: 1fr 1fr; }
    .content-grid { grid-template-columns: 1fr; }
    .theme-symbol { display: none; }
    :is(.theme-toggle,.pv-appearance-toggle) { padding: 5px; }
    .crm-onboarding-callout,
    .crm-onboarding-callout.is-complete {
      right: 10px;
      bottom: max(10px,env(safe-area-inset-bottom));
      left: 10px !important;
      top: auto !important;
      width: auto;
      max-height: min(54dvh,420px);
      overflow-y: auto;
      padding: 18px;
      transform: none;
    }
    .crm-onboarding-title { font-size: 18px; }
    .ads-summary { align-items: flex-start; flex-direction: column; }
    #page-online.active .online-page-heading { flex: 1; }
    #page-online.active .online-page-close { order: 2; }
    #page-online.active #global-topbar { order: 3; }
    #page-access.active .access-page-heading { flex: 1; }
    #page-access.active .access-page-close { order: 2; }
    #page-access.active #global-topbar { order: 3; }
    .crm-online { order: -1; min-width: 164px; justify-content: center; }
    .period-control { width: 100%; align-items: stretch; }
    .topbar .period-control { width: auto; flex: 1; }
    .period-tabs { width: 100%; }
    .period-tab { flex: 0 0 auto; }
    .period-selection { padding-left: 4px; }
    .period-preset-popover { right: auto; left: 0; }
    .custom-period-popover { right: auto; left: 0; width: min(310px, 100%); }
    .export-overlay { align-items: flex-end; padding: 10px; }
    .export-dialog { max-height: calc(100dvh - 20px); border-radius: 16px; }
    .export-dialog-head { padding: 18px 18px 14px; }
    .export-dialog-body { padding: 16px 18px 19px; }
    .export-period-fields { grid-template-columns: 1fr 1fr; }
    .export-period-fields .export-field:last-child { grid-column: 1 / -1; }
    .export-data-list { grid-template-columns: 1fr; }
    .export-dialog-actions { align-items: stretch; flex-direction: column; }
    .export-download { width: 100%; }
    .pv-metrics { grid-template-columns: 1fr; }
    .pv-chart-panel { padding: 16px; }
    .pv-chart-wrap { height: 210px; }
    .journey-kpis { grid-template-columns: 1fr 1fr; }
    .journey-columns,
    .journey-route-grid { grid-template-columns: 1fr; }
    .journey-routes-head { align-items: stretch; }
    .journey-routes-tools,
    .journey-endpoint-controls { width: 100%; justify-content: flex-start; }
    .journey-routes-count { width: 100%; }
    .goals-overview { grid-template-columns: 1fr; }
    .goal-pair { grid-template-columns: minmax(132px, 38%) minmax(0,1fr); }
    .goal-chart-card { min-width: 0; }
    .goal-chart-head { align-items: flex-start; flex-wrap: wrap; }
    .goal-chart-head-actions { width: 100%; justify-content: space-between; }
    .goal-chart-wrap { min-width: 0; }
    .journey-detail-shell { padding: 16px; }
    .journey-detail-topbar { grid-template-columns: minmax(0,1fr) auto; }
    .journey-detail-topbar .journey-detail-period { width: 100%; grid-column: 1 / -1; grid-row: 2; justify-self: stretch; align-items: flex-start; }
    .journey-detail-canvas { padding: 13px; }
    .journey-detail-stream,
    .journey-detail-streams[data-stream-count="1"] .journey-detail-stream,
    .journey-detail-streams:is([data-stream-count="2"],[data-stream-count="3"]) .journey-detail-stream { width: 100%; grid-template-columns: 1fr; gap: 8px; padding: 14px; }
    .journey-detail-streams[data-stream-count="1"] .journey-detail-stage,
    .journey-detail-streams:is([data-stream-count="2"],[data-stream-count="3"]) .journey-detail-stage { min-width: 0; }
    .journey-detail-to-goal { align-items: flex-start; }
    .journey-detail-to-goal::before { width: 70px; }
    .login-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .login-history-stat-featured { grid-column: span 1; }
    .login-history-stat-secondary { grid-column: span 1; }
    .login-history-event { align-items: flex-start; flex-wrap: wrap; }
    .login-history-event-label { flex-basis: calc(100% - 28px); }
    .login-history-session-times { width: 100%; padding-left: 19px; }
    .login-history-duration { width: 100%; padding-left: 19px; text-align: left; }
    .online-summary,
    .channel-grid,
    .pv-metrics { grid-template-columns: 1fr; }
    .users-table-scroll,
    .ads-table-wrap,
    .audit-table-wrap,
    .pv-payments,
    .online-history-table-wrap {
      width: 100%;
      max-width: 100%;
      overflow: auto;
      overscroll-behavior-inline: contain;
      -webkit-overflow-scrolling: touch;
    }
    #page-access.active .access-table-wrap {
      width: max-content;
      min-width: 100%;
      max-width: none;
      overflow: visible;
    }
    .access-table,
    .users-table,
    .audit-table,
    .pv-payments-table { min-width: 760px; }
    .online-history-table { min-width: 1000px; }
    .funnel-controls { align-items: stretch; }
    .funnel-controls select,
    .funnel-controls input { max-width: 100%; }
    .journey-endpoint-controls { grid-template-columns: 1fr; }
    .pv-series-controls { align-items: flex-start; }
    .panel,
    .journey-map,
    .pv-chart-panel,
    .pv-payments { min-width: 0; }
    .settings-menu {
      position: fixed;
      top: calc(max(14px, env(safe-area-inset-top)) + 50px);
      right: 14px;
      width: min(360px, calc(100vw - 28px));
      max-height: calc(100dvh - 82px);
      overflow-y: auto;
    }
    .login-history-modal { align-items: flex-end; padding: 8px; }
    .login-history-dialog { width: 100%; max-height: calc(100dvh - 16px); border-radius: 16px; }
    .login-history-head { padding: 17px 17px 14px; }
    .login-history-recognition { min-width: 190px; flex-basis: 210px; }
    .login-history-summary { padding: 12px 17px; }
    .login-history-body { padding: 15px 17px max(20px,env(safe-area-inset-bottom)); }
    :is(.ads-dialog-overlay,.planning-modal-overlay,.social-connection-overlay,.crm-invite-overlay,.presence-delete-modal,.staff-agreements-modal-layer) { align-items: flex-end; padding: 0; }
    :is(.ads-dialog,.planning-modal,.social-connection-dialog,.crm-invite-dialog,.presence-delete-dialog,.staff-agreements-modal) {
      width: 100%;
      max-width: none;
      max-height: 94dvh;
      overflow-y: auto;
      border-radius: 18px 18px 0 0;
      padding-bottom: max(16px,env(safe-area-inset-bottom));
    }
    :is(.ads-dialog,.planning-modal,.social-connection-dialog,.crm-invite-dialog,.presence-delete-dialog,.staff-agreements-modal) :is(input,select,textarea) { font-size: 16px; }
    :is(.modal-actions,.ads-dialog-actions,.planning-modal-actions,.social-connection-actions,.staff-agreements-modal-actions) { align-items: stretch; flex-direction: column-reverse; }
    :is(.modal-actions,.ads-dialog-actions,.planning-modal-actions,.social-connection-actions,.staff-agreements-modal-actions) > button { width: 100%; min-height: 44px; }
    .pv2-retention-filters { grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
    .pv2-retention-settings-grid,.pv2-curators-settings > div,.pv2-retention-curator-statuses,.pv2-retention-form-grid { grid-template-columns: 1fr; }
    .coming-soon-page.active { min-height: calc(100dvh - 30px); }
  }
  @media (max-width: 520px) {
    .main { padding-inline: 10px; }
    .page-header { padding-right: 50px; }
    .kpi-grid { grid-template-columns: 1fr; }
    .user-stats-grid { grid-template-columns: 1fr; }
    .users-kpi-grid { grid-template-columns: 1fr; }
    .paths-filter-controls { grid-template-columns: auto minmax(0,1fr); }
    .paths-filter-controls > .funnel-arrow-between { display: none; }
    .journey-endpoint-field { flex-basis: 100%; }
    .journey-endpoint-arrow { display: none; }
    .goal-pair { grid-template-columns: 1fr; }
    .goal-pair .kpi-card { border-right: 0; border-bottom: 1px solid #ececf0; }
    .goal-chart-card { min-height: 210px; }
    .period-tabs { overflow-x: auto; justify-content: flex-start; scrollbar-width: none; }
    .period-tabs::-webkit-scrollbar { display: none; }
    .period-tab { min-height: 38px; padding-inline: 12px; }
    .topbar .period-control { flex: 1 1 100%; }
    .crm-online { max-width: calc(100% - 54px); }
    .login-history-summary { grid-template-columns: 1fr; }
    .login-history-stat-featured,
    .login-history-stat-secondary { grid-column: 1; }
    .login-history-head { flex-wrap: wrap; }
    .login-history-recognition { order: 3; width: 100%; flex-basis: 100%; }
    .export-period-fields { grid-template-columns: 1fr; }
    .export-period-fields .export-field:last-child { grid-column: auto; }
    .crm-profile-actions { grid-template-columns: 1fr; }
    #page-access.active #global-topbar .access-header-invite,
    #page-access.active #global-topbar .access-header-invite-history { width: 38px; min-width: 38px; padding: 0; }
    #page-access.active #global-topbar .access-header-invite span:last-child,
    #page-access.active #global-topbar .access-header-invite-history span:last-child { display: none; }
  }
