body {
      font-family: Arial, sans-serif;
      background-color: #e9f5ec;
      color: #1c1c1c;
      margin: 0;
      display: flex;
      flex-direction: row; /* Padrão para telas grandes */
      min-height: 100vh; /* Garante que o body ocupe toda a altura da viewport */
    }

    /* Estilos para a sidebar em telas grandes (padrão) */
    .sidebar {
      width: 220px;
      background-color: #075e54;
      color: white;
      height: 100vh;
      padding: 20px;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      align-items: center;
      position: sticky; /* Mantém a sidebar visível ao rolar */
      top: 0;
      left: 0;
      z-index: 1000; /* Garante que a sidebar fique acima de outros elementos */
      transition: transform 0.3s ease-in-out; /* Transição para o slide do menu */
    }
    .logo {
      margin-bottom: 20px;
    }
    .logo img {
      width: 120px;
      height: auto;
    }
    .sidebar h2 {
      font-size: 20px;
      margin-bottom: 30px;
      text-align: center;
    }
    .sidebar button {
      background-color: #0e7868;
      border: none;
      color: white;
      font-size: 16px;
      padding: 10px;
      text-align: left;
      width: 100%;
      cursor: pointer;
      border-radius: 8px;
      margin-bottom: 10px;
      display: flex;
      align-items: center;
      gap: 10px;
      transition: background-color 0.3s ease;
    }
    .sidebar button:hover {
      background-color: #128c7e;
    }
	
	.sidebar-footer {
        margin-top: auto; /* Empurra o footer para o final do flex container */
        color: rgba(255, 255, 255, 0.7); /* Cor mais suave */
        font-size: 12px;
        text-align: center;
        padding-top: 20px; /* Espaço acima do texto */
        width: 100%; /* Ocupa a largura total da sidebar */
    }

    /* Estilo do botão do menu hambúrguer (visível apenas em telas pequenas) */
    .hamburger-menu {
      display: none; /* Escondido por padrão */
      background-color: #075e54;
      color: white;
      padding: 15px;
      cursor: pointer;
      font-size: 24px;
      text-align: center;
      border: none;
      width: 100%;
      box-sizing: border-box;
      position: sticky; /* Fica fixo no topo */
      top: 0;
      left: 0;
      z-index: 1001; /* Acima da sidebar escondida */
      justify-content: space-between; /* Espaço entre o ícone e o logo */
      align-items: center;
    }
    .hamburger-menu .logo-mini {
        height: 30px; /* Tamanho do logo no menu hambúrguer */
        width: auto;
    }


    .main {
      flex: 1;
      padding: 20px;
      display: flex;
      justify-content: center;
      align-items: flex-start;
      padding-top: 20px; /* Ajusta o padding top para telas grandes */
    }
    .container {
      max-width: 600px;
      width: 100%;
      background: #ffffff;
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      padding: 30px;
      box-sizing: border-box;
    }
    h1 {
      text-align: center;
      color: #075e54;
      margin-bottom: 25px;
    }
    label {
      display: block;
      margin-top: 15px;
      font-weight: bold;
      color: #333;
    }
    input, textarea {
      width: 100%;
      padding: 10px;
      margin-top: 5px;
      border-radius: 8px;
      border: 1px solid #ccc;
      box-sizing: border-box;
      font-size: 16px;
    }
    textarea {
        resize: vertical;
    }
    button.gerar {
      background-color: #25d366;
      color: white;
      padding: 12px;
      border: none;
      border-radius: 8px;
      margin-top: 20px;
      cursor: pointer;
      font-size: 18px;
      width: 100%;
      transition: background-color 0.3s ease;
    }
    button.gerar:hover {
      background-color: #1ebe5d;
    }
    .btn-copiar {
      background-color: #25d366;
      color: white;
      border: none;
      padding: 10px 20px;
      border-radius: 8px;
      font-size: 14px;
      cursor: pointer;
      margin-top: 10px;
      transition: background-color 0.3s ease;
    }
    .btn-copiar:hover {
      background-color: #1ebe5d;
    }
    .output {
      margin-top: 20px;
      text-align: center;
      padding-top: 15px;
      border-top: 1px solid #eee;
    }
    .output input {
      font-size: 14px;
      text-align: center;
      cursor: text;
    }
    .qr-code {
      margin-top: 15px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .qr-code canvas {
      max-width: 100%;
      height: auto !important;
    }
    .hidden {
      display: none !important;
    }
    .link-item {
      background: #f0f9f5;
      padding: 15px;
      margin: 10px 0;
      border: 1px solid #ccc;
      border-radius: 8px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .link-item strong {
      color: #075e54;
      font-size: 0.9em;
    }
    .link-item a {
      color: #075e54;
      word-break: break-all;
      font-size: 0.95em;
    }
    .link-item .botoes {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 8px;
    }
    .btn-historico {
      padding: 8px 12px;
      border: none;
      border-radius: 5px;
      cursor: pointer;
      font-size: 13px;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: white;
      transition: background-color 0.3s ease;
    }
    .btn-copiar-historico {
      background-color: #25d366;
    }
    .btn-copiar-historico:hover {
      background-color: #1ebe5d;
    }
    .btn-excluir-historico {
      background-color: #dc3545;
    }
    .btn-excluir-historico:hover {
      background-color: #b52a39;
    }
    .btn-publico-historico {
      background-color: #128c7e;
    }
    .btn-publico-historico:hover {
      background-color: #0b5e4f;
    }

    /* Ajustes para tela pública sem título e QR responsivo */
    #publico.container {
      padding: 0;
      height: calc(100vh - 40px);
      max-width: 100%;
      margin: 0 auto;
      box-shadow: none;
      border-radius: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
    }
    #qrcodePublico {
      flex-grow: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 600px;
      padding: 20px;
      box-sizing: border-box;
    }
    #qrcodePublico > canvas {
      width: 100% !important;
      height: auto !important;
      max-height: 80vh;
      object-fit: contain;
    }
    #publico div[style*="margin-top: 10px"] {
      padding-bottom: 20px;
      font-size: 0.9em;
    }

    /* ========================================================= */
    /* RESPONSIVIDADE - MEDIA QUERIES */
    /* ========================================================= */

    /* Estilos para telas com largura máxima de 768px (Tablets e Smartphones) */
    @media (max-width: 768px) {
      body {
        flex-direction: column; /* Em telas menores, o layout se empilha */
      }

      /* Sidebar escondida por padrão em telas pequenas */
      .sidebar {
        position: fixed; /* Fixa a sidebar fora da tela */
        top: 0;
        left: -220px; /* Esconde a sidebar para a esquerda */
        width: 220px;
        height: 100vh;
        z-index: 1002; /* Acima do conteúdo e do menu hambúrguer */
        box-shadow: 2px 0 5px rgba(0,0,0,0.2); /* Sombra para quando estiver aberto */
        flex-direction: column; /* Itens da sidebar em coluna */
        justify-content: flex-start;
        align-items: center;
        padding-top: 20px;
      }
      /* Quando a sidebar está aberta */
      .sidebar.open {
        transform: translateX(220px); /* Move a sidebar para a direita (visível) */
      }

      /* Menu hambúrguer visível em telas pequenas */
      .hamburger-menu {
        display: flex; /* Mostra o menu hambúrguer */
      }

      .sidebar .logo {
        margin-bottom: 20px; /* Restaura a margem inferior para o menu aberto */
      }
      .sidebar .logo img {
        width: 120px; /* Restaura o tamanho do logo */
      }
      .sidebar h2 {
        display: block; /* Mostra o título "WhatsApp Tools" no menu aberto */
      }
      .sidebar button {
        width: 100%; /* Botões ocupam a largura total no menu aberto */
        text-align: left;
        margin-bottom: 10px;
        font-size: 16px;
      }
      .sidebar button .fas {
        margin-right: 10px; /* Restaura o espaçamento do ícone */
      }
	  .sidebar-footer {
          margin-top: auto; /* Ainda empurra para o final */
          padding-top: 20px;
      }

      .main {
        padding: 15px; /* Reduz o padding do conteúdo principal */
        padding-top: 70px; /* Espaço para o menu hambúrguer fixo no topo */
        width: 100%; /* Garante que o main ocupe a largura total */
        box-sizing: border-box;
      }

      .container {
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      }

      h1 {
        font-size: 24px;
        margin-bottom: 20px;
      }

      input, textarea, button.gerar {
        font-size: 15px;
        padding: 10px;
      }

      .btn-copiar {
        font-size: 13px;
        padding: 8px 15px;
      }

      .link-item {
        padding: 12px;
      }

      .btn-historico {
        font-size: 12px;
        padding: 7px 10px;
      }

      /* Ajustes específicos para a tela pública em mobile */
      #publico.container {
        height: calc(100vh - 80px); /* Ajusta a altura para compensar o menu hambúrguer */
        padding: 10px;
      }
    }

    /* Media Query para telas ainda menores (apenas para refinar) */
    @media (max-width: 480px) {
        .link-item .botoes {
            flex-direction: column; /* Empilha os botões em telas muito pequenas */
        }
        .btn-historico {
            width: 100%; /* Ocupa a largura total se empilhado */
            justify-content: center; /* Centraliza o conteúdo do botão */
        }
    }