/*
 * BRUSS Guardian - Densidad global compacta
 *
 * Este archivo solamente modifica presentación.
 * No modifica permisos, licencias, compras,
 * Bunny Stream ni lógica JavaScript.
 */

:root {
  --bruss-ui-scale: 0.88;
}

/* ---------------------------------------------------------
   TIPOGRAFÍA GENERAL
   --------------------------------------------------------- */

html {
  font-size: 88%;
}

body,
button,
input,
select,
textarea {
  font-size: 1rem;
}

/* Evitar controles innecesariamente altos */
button,
.btn,
input,
select,
textarea {
  line-height: 1.25;
}

/* ---------------------------------------------------------
   ESPACIADO DE CONTROLES
   --------------------------------------------------------- */

button,
.btn {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

input,
select,
textarea {
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

/* ---------------------------------------------------------
   GUÍA PRINCIPAL
   --------------------------------------------------------- */

.guide {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.guide-title h2 {
  font-size: 26px !important;
}

.search {
  margin-top: 14px !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
}

.count {
  margin-top: 7px !important;
  margin-bottom: 7px !important;
}

.grid {
  grid-template-columns:
    repeat(auto-fill, minmax(245px, 1fr)) !important;
  gap: 10px !important;
}

.card {
  padding: 13px !important;
  min-height: 96px !important;
}

.part {
  font-size: 16px !important;
}

.muted {
  font-size: 12px !important;
  margin-top: 5px !important;
}

.gestion {
  margin-top: 6px !important;
}

/* ---------------------------------------------------------
   DETALLES / MODALES
   --------------------------------------------------------- */

.detail {
  padding: 18px !important;
}

.row {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.buttons {
  gap: 7px !important;
  margin-top: 14px !important;
}

/* ---------------------------------------------------------
   TARJETAS GENERALES
   --------------------------------------------------------- */

.resource-card {
  padding: 13px !important;
}

.resource-name {
  font-size: 1rem !important;
}

.resource-price {
  font-size: 1.05rem !important;
}

/* ---------------------------------------------------------
   TABLAS ADMINISTRATIVAS
   --------------------------------------------------------- */

table th,
table td {
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

/* ---------------------------------------------------------
   PANTALLAS PEQUEÑAS
   No comprimir demasiado móviles.
   --------------------------------------------------------- */

@media (max-width: 700px) {
  html {
    font-size: 94%;
  }

  .grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   BRUSS COMPACTO 80% - AJUSTE GLOBAL
   ========================================================= */

html {
  font-size: 80% !important;
}

/* Texto general */
body {
  font-size: 13px !important;
}

/* Encabezados */
h1 {
  font-size: 24px !important;
}

h2 {
  font-size: 21px !important;
}

h3 {
  font-size: 17px !important;
}

h4 {
  font-size: 15px !important;
}

/* Navegación superior */
header,
.topbar,
.navbar,
.nav,
.header {
  font-size: 13px !important;
}

header button,
header .btn,
header a,
.topbar button,
.topbar .btn,
.topbar a,
.navbar button,
.navbar .btn,
.navbar a {
  font-size: 12px !important;
}

/* Botones de todo BRUSS */
button,
.btn {
  font-size: 12px !important;
  padding: 7px 11px !important;
  min-height: 0 !important;
}

/* Formularios */
input,
select,
textarea {
  font-size: 12px !important;
  padding: 7px 10px !important;
}

/* Guía */
.guide-title h2 {
  font-size: 22px !important;
}

.search {
  font-size: 13px !important;
  padding: 9px 12px !important;
}

/* Tarjetas de ECU */
.grid {
  grid-template-columns:
    repeat(auto-fill, minmax(215px, 1fr)) !important;
  gap: 8px !important;
}

.card {
  padding: 10px 12px !important;
  min-height: 78px !important;
}

.part {
  font-size: 14px !important;
}

.muted {
  font-size: 11px !important;
  margin-top: 3px !important;
}

.gestion {
  font-size: 12px !important;
  margin-top: 4px !important;
}

/* Recursos */
.resource-card {
  padding: 10px !important;
}

.resource-name {
  font-size: 13px !important;
}

.resource-price {
  font-size: 14px !important;
}

.resource-bruss,
.resource-pro {
  font-size: 11px !important;
}

/* Modales y detalles */
.detail {
  padding: 14px !important;
}

.row {
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

.label {
  font-size: 11px !important;
}

.value {
  font-size: 12px !important;
}

/* Tablas administrativas */
table {
  font-size: 11px !important;
}

table th,
table td {
  padding: 5px 7px !important;
}

/* En móvil no reducir tanto */
@media (max-width:700px) {
  html {
    font-size: 90% !important;
  }

  body {
    font-size: 14px !important;
  }

  .grid {
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   BRUSS ULTRA COMPACTO 72%
   ========================================================= */

html {
  font-size: 72% !important;
}

body {
  font-size: 12px !important;
}

/* Títulos */
h1 { font-size: 21px !important; }
h2 { font-size: 18px !important; }
h3 { font-size: 15px !important; }
h4 { font-size: 13px !important; }

.guide-title h2 {
  font-size: 20px !important;
}

/* Barra superior */
header,
.topbar,
.navbar,
.nav,
.header {
  font-size: 11px !important;
}

header button,
header .btn,
header a,
.topbar button,
.topbar .btn,
.topbar a,
.navbar button,
.navbar .btn,
.navbar a {
  font-size: 11px !important;
}

/* Botones */
button,
.btn {
  font-size: 11px !important;
  padding: 6px 9px !important;
}

/* Buscadores y formularios */
input,
select,
textarea {
  font-size: 11px !important;
  padding: 6px 9px !important;
}

.search {
  font-size: 12px !important;
  padding: 7px 10px !important;
  margin-top: 9px !important;
}

/* Guía más densa */
.guide {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.count {
  font-size: 11px !important;
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.grid {
  grid-template-columns:
    repeat(auto-fill, minmax(185px, 1fr)) !important;
  gap: 7px !important;
}

/* Tarjetas ECU */
.card {
  padding: 8px 10px !important;
  min-height: 64px !important;
}

.part {
  font-size: 12px !important;
}

.muted {
  font-size: 10px !important;
  margin-top: 2px !important;
}

.gestion {
  font-size: 11px !important;
  margin-top: 3px !important;
}

/* Recursos */
.resource-card {
  padding: 8px !important;
}

.resource-name {
  font-size: 12px !important;
}

.resource-price {
  font-size: 12px !important;
}

.resource-bruss,
.resource-pro {
  font-size: 10px !important;
}

/* Detalles */
.detail {
  padding: 11px !important;
}

.row {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.label {
  font-size: 10px !important;
}

.value {
  font-size: 11px !important;
}

/* Tablas */
table {
  font-size: 10px !important;
}

table th,
table td {
  padding: 4px 6px !important;
}

/* Móvil conserva tamaño cómodo */
@media (max-width:700px) {
  html {
    font-size: 90% !important;
  }

  body {
    font-size: 14px !important;
  }

  .grid {
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   BRUSS GUARDIAN
   ESCALA VISUAL GLOBAL DE ESCRITORIO
   =========================================================
   Solo presentación.
   No modifica datos, licencias, pagos ni funcionalidad.
   ========================================================= */

@media (min-width: 901px) {

  html {
    zoom: 0.95 !important;
  }

}


/* =========================================================
   TABLET
   Reducción más moderada
   ========================================================= */

@media (min-width: 701px) and (max-width: 900px) {

  html {
    zoom: 0.88 !important;
  }

}


/* =========================================================
   MOVIL
   Mantener tamaño cómodo para lectura y controles táctiles
   ========================================================= */

@media (max-width: 700px) {

  html {
    zoom: 1 !important;
  }

}


/* =========================================================
   MODALES RESPONSIVE BRUSS V1
   Aprovechar pantalla y evitar scroll interno innecesario.
   El visor técnico conserva su propio scroll.
   ========================================================= */

@media (min-width: 900px) {

  #modal {
    width: min(1120px, 98vw) !important;
    max-width: 1120px !important;
    max-height: 98vh !important;
    margin: auto !important;
  }

  #modal > .detail {
    padding: 10px 14px !important;
  }

  #modal .detail h2 {
    margin-top: 2px !important;
    margin-bottom: 8px !important;
    font-size: 20px !important;
  }

  #modal .row {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  #modal .label {
    font-size: 10px !important;
  }

  #modal .value {
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  #modal .btn {
    padding: 7px 10px !important;
    font-size: 12px !important;
    min-height: auto !important;
  }

  #modal .close {
    font-size: 22px !important;
    line-height: 1 !important;
  }
}


/*
   Pantallas con poca altura:
   compactamos todavía más antes de recurrir al scroll.
*/
@media (min-width: 900px) and (max-height: 850px) {

  #modal {
    max-height: 99vh !important;
  }

  #modal > .detail {
    padding: 7px 10px !important;
  }

  #modal .detail h2 {
    font-size: 18px !important;
    margin: 1px 0 5px !important;
  }

  #modal .btn {
    padding: 6px 8px !important;
    font-size: 11px !important;
  }

  #modal .row {
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
}


/*
   Seguridad móvil/tablet:
   si físicamente el contenido no cabe, permitimos scroll.
   Nunca ocultamos botones ni información.
*/
@media (max-width: 899px) {

  #modal {
    width: 96vw !important;
    max-height: 96vh !important;
  }

  #modal > .detail {
    padding: 10px !important;
  }
}

/* FIN MODALES RESPONSIVE BRUSS V1 */
