/*
=============================================================
Zenty Emite 2.0
EMPRESAS EMISORAS — DISEÑO COMPACTO Y RESPONSIVE
=============================================================
Solo modifica presentación y distribución.
No altera API, datos tributarios, certificados, CAF ni base de datos.
*/

.empresas-page {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
}

/* Ocultar encabezado grande y métricas */
.empresas-page > .welcome-panel.page-heading-panel,
.empresas-page > .stat-grid.compact-stats {
  display: none !important;
}

/* Mensajes */
.empresas-page > .alert {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 11px !important;
  font-size: 0.74rem !important;
  font-weight: 400 !important;
}

/* Formulario a la izquierda, listado a la derecha */
.empresas-page .content-grid.empresas-grid {
  display: grid !important;
  grid-template-columns:
    minmax(390px, 0.83fr)
    minmax(0, 1.17fr) !important;
  gap: 14px !important;
  align-items: start !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Tarjetas */
.empresas-page .panel-card {
  min-width: 0 !important;
  overflow: hidden !important;
  border: 1px solid #dbe7ea !important;
  border-radius: 17px !important;
  background: #ffffff !important;
  box-shadow: 0 9px 25px rgba(24, 57, 66, 0.065) !important;
}

.empresas-page .panel-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 15px 17px 12px !important;
  border-bottom: 1px solid #e8eff1 !important;
}

.empresas-page .panel-card-header .eyebrow {
  margin-bottom: 3px !important;
  color: #0f766e !important;
  font-size: 0.61rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.085em !important;
}

.empresas-page .panel-card-header h3 {
  margin: 0 !important;
  color: #17343b !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.025em !important;
}

.empresas-page .panel-card-header .btn {
  min-height: 33px !important;
  padding: 0 10px !important;
  border-radius: 8px !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
}

/* Formulario */
.empresas-page .empresa-form-card .system-form {
  display: grid !important;
  gap: 10px !important;
  padding: 15px 17px 17px !important;
}

.empresas-page .form-section-title {
  margin: 2px 0 -1px !important;
  padding: 8px 0 5px !important;
  border-top: 1px solid #edf2f3 !important;
  color: #0f766e !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

.empresas-page .system-form > .form-section-title:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

.empresas-page .form-grid,
.empresas-page .form-grid.two-cols {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
  margin: 0 !important;
}

.empresas-page .system-form label {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
  color: #3b555c !important;
  font-size: 0.69rem !important;
  font-weight: 500 !important;
}

.empresas-page .form-control,
.empresas-page .system-form input,
.empresas-page .system-form select,
.empresas-page .system-form textarea {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 39px !important;
  padding: 7px 9px !important;
  border: 1px solid #ccdde1 !important;
  border-radius: 9px !important;
  color: #17343b !important;
  background: #ffffff !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.73rem !important;
  font-weight: 400 !important;
}

.empresas-page .system-form textarea {
  min-height: 62px !important;
  resize: vertical !important;
}

.empresas-page .form-control:focus,
.empresas-page .system-form input:focus,
.empresas-page .system-form select:focus,
.empresas-page .system-form textarea:focus {
  border-color: #14b8a6 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(20, 184, 166, 0.12) !important;
}

/* Checks DTE */
.empresas-page .check-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 !important;
}

.empresas-page .soft-check {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 39px !important;
  padding: 8px 10px !important;
  border: 1px solid #dbe7ea !important;
  border-radius: 9px !important;
  color: #3b555c !important;
  background: #f8fbfb !important;
  font-size: 0.67rem !important;
  font-weight: 500 !important;
}

.empresas-page .soft-check input {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.empresas-page .full-label {
  grid-column: 1 / -1 !important;
}

.empresas-page .form-actions {
  display: flex !important;
  justify-content: flex-end !important;
  margin-top: 2px !important;
}

.empresas-page .form-actions .btn {
  min-width: 155px !important;
  min-height: 40px !important;
  border-radius: 9px !important;
  font-size: 0.71rem !important;
  font-weight: 600 !important;
}

/* Listado */
.empresas-page .empresa-list-card {
  min-width: 0 !important;
}

.empresas-page .search-box {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 4px !important;
  margin: 12px 14px !important;
  padding: 0 10px !important;
  border: 1px solid #ccdde1 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}

.empresas-page .search-box i {
  color: #0f766e !important;
  font-size: 0.82rem !important;
}

.empresas-page .search-box input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 39px !important;
  padding: 7px 0 !important;
  border: 0 !important;
  outline: 0 !important;
  color: #17343b !important;
  background: transparent !important;
  font-family: "Inter", sans-serif !important;
  font-size: 0.73rem !important;
  font-weight: 400 !important;
}

.empresas-page .empresa-list {
  display: grid !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
}

/* Cada empresa en una sola fila */
.empresas-page .empresa-row {
  display: grid !important;
  grid-template-columns:
    minmax(250px, 1.3fr)
    minmax(160px, 0.72fr)
    auto !important;
  gap: 11px !important;
  align-items: center !important;
  min-width: 0 !important;
  padding: 12px 14px !important;
  border: 0 !important;
  border-top: 1px solid #e7eef0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: background 150ms ease !important;
}

.empresas-page .empresa-row:hover {
  background: #fbfdfd !important;
}

.empresas-page .empresa-row-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 9px !important;
  align-items: center !important;
  min-width: 0 !important;
}

.empresas-page .empresa-row-main > div:first-child {
  min-width: 0 !important;
}

.empresas-page .empresa-row-main strong {
  display: block !important;
  overflow: hidden !important;
  color: #17343b !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.empresas-page .empresa-row-main > div:first-child > span {
  display: block !important;
  overflow: hidden !important;
  margin-top: 3px !important;
  color: #64787e !important;
  font-size: 0.62rem !important;
  font-weight: 400 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.empresas-page .badge-stack {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

.empresas-page .soft-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 23px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  font-size: 0.56rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.empresas-page .empresa-dte-tags {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  min-width: 0 !important;
}

.empresas-page .empresa-dte-tags span {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 23px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  color: #0f5e58 !important;
  background: #dff8f3 !important;
  font-size: 0.56rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.empresas-page .empresa-dte-tags .ok {
  color: #065f46 !important;
  background: #d1fae5 !important;
}

.empresas-page .empresa-dte-tags .off {
  color: #475569 !important;
  background: #e2e8f0 !important;
}

.empresas-page .empresa-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 5px !important;
  min-width: 0 !important;
}

.empresas-page .empresa-actions .btn {
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 9px !important;
  border-radius: 8px !important;
  font-size: 0.61rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

/* Estado vacío */
.empresas-page .empty-state {
  padding: 30px 18px !important;
}

.empresas-page .empty-state strong {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

.empresas-page .empty-state span {
  margin-top: 4px !important;
  font-size: 0.68rem !important;
  font-weight: 400 !important;
}

/* Notebook */
@media (max-width: 1280px) and (min-width: 1051px) {
  .empresas-page .content-grid.empresas-grid {
    grid-template-columns:
      minmax(370px, 0.78fr)
      minmax(0, 1.22fr) !important;
  }

  .empresas-page .empresa-row {
    grid-template-columns:
      minmax(220px, 1fr)
      minmax(145px, 0.65fr) !important;
  }

  .empresas-page .empresa-actions {
    grid-column: 1 / -1 !important;
    justify-content: flex-end !important;
  }
}

/* Tablet */
@media (max-width: 1050px) {
  .empresas-page .content-grid.empresas-grid {
    grid-template-columns: 1fr !important;
  }

  .empresas-page .empresa-row {
    grid-template-columns:
      minmax(220px, 1.2fr)
      minmax(170px, 0.8fr)
      auto !important;
  }
}

/* Celular */
@media (max-width: 720px) {
  .empresas-page {
    gap: 10px !important;
  }

  .empresas-page .panel-card {
    border-radius: 14px !important;
  }

  .empresas-page .panel-card-header {
    padding: 13px !important;
  }

  .empresas-page .empresa-form-card .system-form {
    padding: 13px !important;
  }

  .empresas-page .form-grid,
  .empresas-page .form-grid.two-cols,
  .empresas-page .check-grid {
    grid-template-columns: 1fr !important;
  }

  .empresas-page .form-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .empresas-page .empresa-row {
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin: 0 10px 10px !important;
    padding: 12px !important;
    border: 1px solid #dbe7ea !important;
    border-radius: 12px !important;
  }

  .empresas-page .empresa-row-main {
    grid-template-columns: 1fr !important;
  }

  .empresas-page .empresa-row-main strong,
  .empresas-page .empresa-row-main > div:first-child > span {
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .empresas-page .badge-stack {
    justify-content: flex-start !important;
  }

  .empresas-page .empresa-actions {
    justify-content: stretch !important;
    flex-wrap: wrap !important;
  }

  .empresas-page .empresa-actions .btn {
    flex: 1 1 120px !important;
  }
}
