/* Ajustes cloud y responsive. Cargado al final para prevalecer sobre estilos heredados. */
@media (max-width: 950px) {
  .mobile-menu-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .workspace {
    display: block;
  }

  .content-area {
    width: 100%;
    min-width: 0;
  }

  .sidebar {
    position: fixed;
    left: 0;
    top: 88px;
    bottom: 0;
    width: min(84vw, 340px);
    height: calc(100dvh - 88px);
    min-height: 0;
    z-index: 80;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    transform: translateX(-105%);
    transition: transform .2s ease;
    box-shadow: 8px 0 28px #0004;
  }

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

  body.mobile-nav-open::after {
    content: "";
    position: fixed;
    inset: 88px 0 0;
    background: #0007;
    z-index: 70;
  }

  .sidebar-brand {
    display: flex;
    justify-content: flex-start;
    padding: 14px;
  }

  .sidebar-brand div,
  .nav-group-title,
  .nav-item > span:not(.nav-icon),
  .sidebar-user,
  .sidebar-user .user-session span,
  .sidebar-user .user-session small {
    display: block;
  }

  .sidebar nav {
    display: block;
    padding: 10px 12px 18px;
  }

  .nav-group {
    display: block;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #333;
  }

  .nav-group-title {
    display: flex;
  }

  .nav-item {
    width: 100%;
    min-width: 0;
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    font-size: 13px;
    padding: 10px 12px;
  }

  .content-header {
    top: 88px;
  }

  main {
    max-width: 100%;
  }
}

@media (max-width: 650px) {
  .company-tabs {
    height: 68px;
  }

  .company-tab {
    min-width: 0;
    padding: 6px 4px;
    gap: 4px;
  }

  .company-tab span {
    font-size: 11px;
    line-height: 1.15;
  }

  .company-tab img {
    height: 38px;
    max-width: 70px;
  }

  .sidebar {
    top: 68px;
    width: min(88vw, 340px);
    height: calc(100dvh - 68px);
  }

  body.mobile-nav-open::after {
    inset: 68px 0 0;
  }

  .content-header {
    top: 68px;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  main {
    padding: 16px 12px 34px;
  }
}
