    html, body { max-width: 100%; }
    @media (max-width: 768px) {
      html, body { overflow-x: hidden; }

      body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }

      .exec-table, table.exec-table { min-width: 640px; }
      .panel-body, .modal-body { overflow-x: auto; -webkit-overflow-scrolling: touch; }

      button, .btn, .pp-menu-item, .project-tile, .pill,
      input[type="checkbox"], input[type="radio"] { min-height: 40px; }
      .btn, button { touch-action: manipulation; }

      input, select, textarea { font-size: 16px !important; }

      .modal-bg .modal, #projectFinanceBg .modal, #modalBg .modal,
      #teamCardPage, #allTeamCardsPage {
        width: 100vw !important;
        max-width: 100vw !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
      }
      .modal-bg .modal, #projectFinanceBg .modal, #modalBg .modal {
        max-height: 92dvh !important;
        overflow-y: auto !important;
      }

      .kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

      .login-card { width: 94vw !important; max-width: 420px; }
      .project-tiles, #projectTiles { grid-template-columns: 1fr !important; }

      #pickerProjectList { grid-template-columns: 1fr !important; }

      .executive-frame, #executiveFrame { width: 100% !important; }
      .exec-shell-title { font-size: 12px !important; }

      .actions { flex-wrap: wrap !important; }
    }

    @media (max-width: 430px) {
      .kpi-grid { grid-template-columns: 1fr !important; }
      .exec-shell-bar { gap: 6px !important; }
    }
