@media (max-width: 900px) {
  body.nivo-portal-shell-theme { font-size: 16px; padding-bottom: 72px; }

  .nivo-shell { display: block; }

  .nivo-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(84vw, 320px);
    transform: translateX(-104%);
    transition: transform .22s ease;
    box-shadow: var(--nivo-shadow-popover);
  }

  body.nivo-sidebar-open .nivo-sidebar { transform: translateX(0); }

  .nivo-sidebar-toggle { display: inline-grid; }

  .nivo-topbar {
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 68px;
    padding: 10px 16px;
  }

  .nivo-topbar-search { display: none; }
  .nivo-topbar-title span { display: none; }
  .nivo-topbar-title strong { font-size: 16px; }
  .nivo-user-pill span { display: none; }

  .nivo-content {
    padding: 18px 16px 92px;
  }

  .nivo-page-header {
    display: block;
    margin-bottom: var(--nivo-space-5);
  }

  .nivo-page-header h1 { font-size: 28px; }
  .nivo-page-actions { margin-top: var(--nivo-space-4); }

  .nivo-widget-grid-4,
  .nivo-dashboard-columns,
  .nivo-app-grid,
  .nivo-app-grid-large,
  .nivo-dashboard-aside,
  .nivo-table-filterbar {
    grid-template-columns: 1fr;
  }

  .nivo-card,
  .nivo-app-card { padding: var(--nivo-space-4); border-radius: var(--nivo-radius-lg); }

  .nivo-app-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .nivo-app-card > .nivo-badge {
    grid-column: 2;
    justify-self: start;
  }

  .nivo-section-heading,
  .nivo-card-header { display: block; }
  .nivo-card-header .nivo-badge { margin-top: 12px; }

  .nivo-table-card { display: none; }

  .nivo-action-tile {
    min-height: 56px;
    border-radius: 18px;
  }

  .nivo-mobile-nav {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 40;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    padding: 8px;
    border: 1px solid var(--nivo-border);
    border-radius: 24px;
    background: rgba(255,255,255,0.94);
    box-shadow: var(--nivo-shadow-popover);
    backdrop-filter: blur(14px);
  }

  .nivo-mobile-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    gap: 3px;
    border-radius: 18px;
    text-decoration: none;
    color: var(--nivo-text-muted);
    font-size: 11px;
    font-weight: 700;
  }

  .nivo-mobile-nav a:hover,
  .nivo-mobile-nav a:focus-visible {
    background: rgba(69,136,38,0.1);
    color: var(--nivo-green-dark);
    outline: none;
  }

  .nivo-login-page { grid-template-columns: 1fr; }
  .nivo-login-aside { min-height: 280px; order: -1; }
  .nivo-login-panel { border-right: 0; }
}
