    /* =============== RESPONSIVO =============== */

    @media (max-width: 860px) {
      #menu-toggle {
        display: flex;
      }

      #sidebar-close {
        display: flex;
      }

      #sidebar {
        position: fixed;
        top: 0;
        left: 0;
        transform: translateX(-100%);
        width: min(var(--sb-w), 82vw);
        box-shadow: 12px 0 32px rgba(0, 0, 0, 0.35);
        background-color: var(--purple-deep2);
        background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.42));
        backdrop-filter: none;
      }

      #sidebar.open {
        transform: translateX(0);
      }

      #sidebar-backdrop.visible {
        display: block;
      }

      #main-header {
        padding-top: calc(clamp(10px, 2vh, 18px) + env(safe-area-inset-top));
      }
    }

    @media (min-width: 861px) {
      #sidebar-backdrop {
        display: none !important;
      }
    }

    @media (max-width: 900px) {
      #cards-scroll {
        padding-bottom: calc(14px + env(safe-area-inset-bottom));
      }
    }

    /* Telas médias (tablets/laptops pequenos): os 6 cards ficam apertados
       em uma linha só, então passam a 2 colunas com rolagem vertical. */
    @media (min-width: 901px) and (max-width: 1180px) {
      #cards-scroll {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow-y: auto;
      }

      .card {
        height: auto;
        min-height: 220px;
      }
    }

    /* Telas largas (desktop grande): os 6 cards cabem lado a lado em uma
       única linha, sem precisar de rolagem — o layout "uma tela só".
       Limiar mais alto que antes (1600px) porque agora são 6 cards, não 5
       — abaixo disso, a regra de 3 colunas (2 linhas) já dá conta. */
    @media (min-width: 1600px) {
      #cards-scroll {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        overflow: hidden;
      }

      .card {
        height: 100%;
        min-height: 0;
      }
    }

    /* Celulares em pé (a maioria dos smartphones) */
    @media (max-width: 480px) {
      #cards-scroll {
        grid-template-columns: minmax(0, 1fr);
      }

      #main-header {
        padding-left: clamp(14px, 4vw, 24px);
        padding-right: clamp(14px, 4vw, 24px);
      }

      #main-header h1 {
        font-size: 1.05rem;
      }

      .card {
        padding: 14px 16px;
      }

      .btn,
      .sidebar-btn {
        min-height: 40px;
      }

      .modal-content {
        width: 95%;
      }

      .login-container {
        max-width: 90%;
        padding: 32px 24px;
      }
    }

    @media (max-height: 480px) and (max-width: 900px) {
      #timer-ring {
        width: clamp(64px, 18vh, 90px);
        height: clamp(64px, 18vh, 90px);
      }

      #clk-time {
        font-size: 1.6rem;
      }
    }
