/*
 * Ajustes compartidos para pantallas de escritorio y laptop.
 * Las tablas distribuyen sus columnas dentro de su tarjeta y las vistas
 * activan u ocultan campos secundarios según el ancho disponible.
 */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

#main,
#content,
#content .container,
.card,
.card-body,
.card-body.card-padding {
  min-width: 0;
  max-width: 100%;
}

.datatables .dataTables_wrapper,
.table-responsive {
  width: 100%;
  max-width: 100%;
  overflow: visible;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.datatables .desktop-table-scroll {
  display: block;
  overflow: visible;
}

.datatables table.dataTable,
.datatables #data-table-command {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: auto;
}

.datatables #data-table-command th,
.datatables #data-table-command td {
  overflow-wrap: anywhere;
  word-break: normal;
}

.datatables .dataTables_wrapper {
  padding-bottom: 10px;
}

@media (max-width: 1199px) {
  .datatables .dataTables_length,
  .datatables .dataTables_filter {
    float: none !important;
    display: inline-block;
    margin: 0 18px 14px 0;
    vertical-align: top;
  }

  .datatables .dataTables_filter input {
    width: 220px !important;
    max-width: 100% !important;
  }

  .datatables .dataTables_info,
  .datatables .dataTables_paginate {
    float: none !important;
    display: inline-block;
    margin: 10px 18px 0 0;
    vertical-align: middle;
  }
}

/* El mensaje se incluye en todo el administrador pero solo aparece en móvil. */
#desktop-required-message {
  display: none;
}

@media (max-width: 767px), (max-width: 900px) and (orientation: landscape) and (hover: none) {
  body:not(.login-content) {
    overflow: hidden !important;
  }

  body:not(.login-content) > *:not(#desktop-required-message) {
    display: none !important;
  }

  body:not(.login-content) #desktop-required-message {
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    overflow: hidden;
    background: #1b1b1b;
    color: #ffffff;
    text-align: center;
  }

  .desktop-required-message__content {
    max-width: 430px;
  }

  .desktop-required-message__content > i {
    display: inline-flex;
    width: 70px;
    height: 70px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    color: #aa8453;
    font-size: 34px;
  }

  .desktop-required-message__brand {
    margin: 0 0 10px;
    color: #aa8453;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  .desktop-required-message__content h1 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.22;
  }

  .desktop-required-message__content p:last-child {
    margin: 0;
    color: #d5d5d5;
    font-size: 16px;
    line-height: 1.55;
  }
}

@media (max-width: 767px) {
  body.login-content #desktop-required-message {
    display: none !important;
  }
}
