/* Calibração responsiva de escala: preserva o dashboard e ajusta proporções. */
@media screen and (min-width: 1366px) and (max-height: 1000px) {
  .app-shell {
    grid-template-columns: clamp(212px, 12vw, 224px) minmax(0, 1fr);
  }

  .sidebar {
    padding: 16px 14px;
    gap: 16px;
  }

  .workspace,
  .admin-shell {
    padding: clamp(16px, 1.15vw, 20px);
    gap: 14px;
  }

  .hero h1,
  .admin-header h1 {
    font-size: clamp(25px, 1.45vw, 28px);
  }

  .hero p {
    font-size: 13px;
  }

  .login-card {
    padding: 22px;
  }

  .login-card h1 {
    font-size: 28px;
  }
}

@media screen and (min-width: 861px) and (max-width: 1365px) {
  .workspace,
  .admin-shell {
    padding: 18px;
  }

  .hero h1,
  .admin-header h1 {
    font-size: 27px;
  }
}

@media screen and (max-width: 860px) {
  .workspace,
  .admin-shell {
    padding-right: clamp(12px, 3vw, 16px);
    padding-left: clamp(12px, 3vw, 16px);
    gap: 14px;
  }

  .hero h1,
  .admin-header h1 {
    font-size: clamp(22px, 5.5vw, 25px);
    line-height: 1.12;
  }

  .login-card h1 {
    font-size: clamp(25px, 6.5vw, 29px);
  }
}

@media screen and (max-width: 540px) {
  .workspace,
  .admin-shell {
    padding-right: 12px;
    padding-left: 12px;
  }

  .hero,
  .admin-header {
    gap: 12px;
  }

  .hero h1,
  .admin-header h1 {
    font-size: 22px;
  }

  .hero p {
    font-size: 13px;
    line-height: 1.5;
  }

  .login-shell {
    padding: 14px;
  }

  .login-card {
    padding: 20px 18px;
  }
}
