body {
    margin: 0;
    font-family: 'Segoe UI', sans-serif;
    background-color: #f2f8ff;
  }

  html, body {
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }
  
  .container {
    display: flex;
    height: 100vh;
  }
  
  .sidebar {
    width: 220px;
    background: #2e86de;
    color: white;
    padding: 20px;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    align-self: flex-start;
    height: 100%;
    overflow-y: auto;
  }
  
  .sidebar h2 {
    text-align: center;
    font-size: 22px;
    margin-bottom: 30px;
  }
  
  .sidebar ul {
    list-style: none;
    padding: 0;
  }
  
  .sidebar li a {
    color: white;
    text-decoration: none;
    display: block;
    padding: 12px 8px;
    border-radius: 5px;
  }
  
  .sidebar li a:hover {
    background-color: #1e6cc4;
  }
  
  .main {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
  }
  
  .header {
    background: #dbefff;
    padding: 10px 20px;
    border-bottom: 1px solid #c0ddf6;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  
  .header h1 {
    margin-bottom: 5px;
  }
  
  main {
    flex: 1;
    overflow-y: auto; /* ✅ libera rolagem somente no conteúdo */
    padding: 20px;
    background: white;
  }
  
  .footer {
    background: #dbefff;
    padding: 15px;
    text-align: center;
    border-top: 1px solid #c0ddf6;
    height: 50px;
    flex-shrink: 0;
  }
  
  /* Login Page */
  .login-page {
    display: flex;
    height: 100vh;
    align-items: center;
    justify-content: center;
    background: #dbefff;
  }
  
  .login-form {
    background: white;
    padding: 30px;
    border-radius: 10px;
    width: 300px;
    box-shadow: 0 0 10px #ccc;
  }
  
  .login-form h2 {
    text-align: center;
    margin-bottom: 20px;
  }
  
  .login-form input, .login-form button {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
  }
  
  .login-form button {
    background: #2e86de;
    color: white;
    cursor: pointer;
  }
  
  .login-form button:hover {
    background: #1e6cc4;
  }
  
  .erro {
    color: red;
    text-align: center;
  }

  .dashboard-cards {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
  }
  
  .card {
    flex: 1;
    background: #e1f0ff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 4px #ccc;
    text-align: center;
  }

  .has-submenu > a {
    position: relative;
    cursor: pointer;
  }
  
  .submenu {
    display: none;
    list-style: none;
    padding-left: 15px;
    margin-top: 5px;
  }
  
  .has-submenu.active .submenu {
    display: block;
  }
  
  .submenu li a {
    font-size: 14px;
    display: block;
    padding: 5px 0;
    color: #ecf0f1;
  }
  
  .submenu li a:hover {
    color: #ffffff;
    text-decoration: underline;
  }

  /* Estilização geral dos inputs */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 16px;
  transition: all 0.3s ease-in-out;
}

/* Foco nos inputs */
input:focus,
textarea:focus,
select:focus {
  border-color: #2e86de;
  box-shadow: 0 0 8px rgba(46, 134, 222, 0.2);
  outline: none;
}

/* Placeholder estilizado */
::placeholder {
  color: #aaa;
  font-style: italic;
}

/* Estilização geral dos links */
a {
  color: #2e86de;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

/* Hover nos links */
a:hover {
  color: #1e6cc4;
  text-decoration: underline;
}

/* Links dentro da sidebar */
.sidebar a {
  display: block;
  padding: 10px 15px;
  border-radius: 4px;
  transition: background-color 0.3s ease-in-out;
}

.sidebar a:hover {
  background-color: #1e6cc4;
  color: #fff;
}

/* Compact header */
.compact-header {
  background: #dbefff;
  padding: 10px 20px;
  border-bottom: 1px solid #c0ddf6;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 50px;
}

/* User info */
.user-info {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 500;
  color: #2e3d49;
}

.user-icon {
  font-size: 20px;
}
 
  
  