.clientes-page {
  width:
    100%;

  max-width:
    1700px;

  margin:
    0 auto;

  padding:
    32px;
}

.clientes-page__header {
  display:
    flex;

  align-items:
    flex-end;

  justify-content:
    space-between;

  gap:
    24px;

  margin-bottom:
    24px;
}

.clientes-page__header h1 {
  margin:
    6px 0;

  font-size:
    32px;
}

.clientes-page__header p {
  margin:
    0;

  color:
    var(--text-muted);
}

.clientes-panel {
  overflow:
    hidden;

  border:
    1px solid var(--border);

  border-radius:
    14px;

  background:
    var(--surface);
}

.clientes-filters {
  display:
    grid;

  grid-template-columns:
    minmax(280px, 1fr) 150px 150px 140px 170px auto;

  align-items:
    end;

  gap:
    12px;

  padding:
    20px;

  border-bottom:
    1px solid var(--border);

  background:
    var(--surface-muted);
}

.clientes-table-header {
  display:
    flex;

  align-items:
    center;

  min-height:
    54px;

  padding:
    0 20px;

  border-bottom:
    1px solid var(--border);
}

.clientes-table-wrapper {
  width:
    100%;

  overflow-x:
    auto;
}

.clientes-table {
  width:
    100%;

  min-width:
    1450px;

  border-collapse:
    collapse;
}

.clientes-table th,
.clientes-table td {
  padding:
    14px 16px;

  border-bottom:
    1px solid var(--border);

  text-align:
    left;

  vertical-align:
    middle;
}

.clientes-table th {
  background:
    #fafbf8;

  color:
    var(--text-muted);

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    0.05em;

  text-transform:
    uppercase;
}

.clientes-table td {
  font-size:
    13px;
}

.clientes-table tbody tr:hover {
  background:
    #fafbf8;
}

.cliente-identity {
  display:
    flex;

  align-items:
    center;

  gap:
    11px;
}

.cliente-avatar {
  display:
    grid;

  flex:
    0 0 auto;

  width:
    40px;

  height:
    40px;

  place-items:
    center;

  border:
    1px solid var(--border);

  border-radius:
    10px;

  background:
    var(--accent-soft);

  color:
    var(--accent-dark);

  font-size:
    12px;

  font-weight:
    800;
}

.cliente-avatar--large {
  width:
    54px;

  height:
    54px;

  font-size:
    15px;
}

.cliente-identity strong,
.cliente-identity span,
.cliente-detail-cell strong,
.cliente-detail-cell span {
  display:
    block;
}

.cliente-identity span,
.cliente-detail-cell span {
  margin-top:
    3px;

  color:
    var(--text-muted);

  font-size:
    11px;
}

.coordinate-link,
.coordinate-missing {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    28px;

  padding:
    0 9px;

  border:
    1px solid var(--border);

  border-radius:
    999px;

  font-size:
    10px;

  font-weight:
    800;
}

.coordinate-link {
  border-color:
    #b8cfaf;

  background:
    #edf5e9;

  color:
    #456b39;
}

.coordinate-missing {
  background:
    #f4f4f1;

  color:
    var(--text-muted);
}

.priority-badge {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    27px;

  padding:
    0 9px;

  border:
    1px solid var(--border);

  border-radius:
    999px;

  font-size:
    10px;

  font-weight:
    800;
}

.priority-badge--baja {
  background:
    #f4f4f1;

  color:
    #6d746a;
}

.priority-badge--normal {
  border-color:
    #b8cfaf;

  background:
    #edf5e9;

  color:
    #456b39;
}

.priority-badge--alta {
  border-color:
    #dfc791;

  background:
    #fff8e6;

  color:
    #806426;
}

.priority-badge--critica {
  border-color:
    #d7aaa7;

  background:
    #fff1f0;

  color:
    #963f3a;
}

.clientes-empty {
  height:
    180px;

  color:
    var(--text-muted);

  text-align:
    center !important;
}

.clientes-empty--error {
  color:
    #963f3a;
}

.clientes-pagination {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    14px;

  min-height:
    66px;

  padding:
    12px 20px;
}

.clientes-pagination span {
  color:
    var(--text-muted);

  font-size:
    12px;

  font-weight:
    600;
}

.clientes-message {
  margin-bottom:
    16px;

  padding:
    13px 16px;

  border:
    1px solid var(--border);

  border-radius:
    10px;

  font-size:
    13px;

  font-weight:
    600;
}

.clientes-message--success {
  border-color:
    #b8cfaf;

  background:
    #edf5e9;

  color:
    #456b39;
}

.clientes-message--error {
  border-color:
    #d5b9b7;

  background:
    #fff2f1;

  color:
    #8f423e;
}

.clientes-modal {
  position:
    fixed;

  z-index:
    1100;

  inset:
    0;

  display:
    grid;

  place-items:
    center;

  padding:
    24px;
}

.clientes-modal__backdrop {
  position:
    absolute;

  inset:
    0;

  background:
    rgba(25, 30, 24, 0.56);
}

.clientes-modal__dialog {
  position:
    relative;

  z-index:
    1;

  width:
    min(960px, 100%);

  max-height:
    calc(100vh - 48px);

  overflow-y:
    auto;

  border:
    1px solid var(--border);

  border-radius:
    15px;

  background:
    var(--surface);
}

.clientes-modal__header {
  position:
    sticky;

  z-index:
    3;

  top:
    0;

  display:
    flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap:
    20px;

  padding:
    22px 24px;

  border-bottom:
    1px solid var(--border);

  background:
    var(--surface);
}

.clientes-modal__header span {
  color:
    var(--accent);

  font-size:
    10px;

  font-weight:
    800;

  letter-spacing:
    0.1em;
}

.clientes-modal__header h2 {
  margin:
    5px 0 0;

  font-size:
    22px;
}

.cliente-form {
  padding:
    24px;
}

.cliente-form textarea {
  width:
    100%;

  padding:
    12px 14px;

  border:
    1px solid var(--border-strong);

  border-radius:
    10px;

  outline:
    none;

  resize:
    vertical;

  background:
    var(--surface);

  color:
    var(--text);
}

.cliente-form textarea:focus {
  border-color:
    var(--accent);
}

.checkbox-field {
  display:
    flex;

  align-items:
    center;

  gap:
    10px;

  min-height:
    44px;

  padding:
    10px 12px;

  border:
    1px solid var(--border);

  border-radius:
    9px;

  background:
    var(--surface-muted);
}

.checkbox-field input {
  width:
    17px;

  height:
    17px;

  accent-color:
    var(--accent);
}

.checkbox-field span {
  font-size:
    13px;

  font-weight:
    700;
}

.coordinate-actions {
  display:
    flex;

  flex-wrap:
    wrap;

  gap:
    10px;
}

.clientes-modal__footer {
  display:
    flex;

  align-items:
    center;

  justify-content:
    flex-end;

  gap:
    10px;

  padding:
    18px 24px;

  border-top:
    1px solid var(--border);

  background:
    #fafbf8;
}

.cliente-form > .clientes-modal__footer {
  margin:
    24px -24px -24px;
}

.button-link {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  text-decoration:
    none;
}

.cliente-detail {
  padding:
    24px;
}

.cliente-detail__summary {
  display:
    flex;

  align-items:
    center;

  gap:
    14px;

  padding:
    18px;

  border:
    1px solid var(--border);

  border-radius:
    12px;

  background:
    var(--surface-muted);
}

.cliente-detail__summary strong,
.cliente-detail__summary span {
  display:
    block;
}

.cliente-detail__summary strong {
  font-size:
    18px;
}

.cliente-detail__summary span {
  margin-top:
    4px;

  color:
    var(--text-muted);

  font-size:
    12px;
}

.cliente-detail-grid {
  display:
    grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  margin-top:
    22px;

  overflow:
    hidden;

  border:
    1px solid var(--border);

  border-radius:
    12px;
}

.cliente-detail-grid > div {
  min-height:
    78px;

  padding:
    15px;

  border-right:
    1px solid var(--border);

  border-bottom:
    1px solid var(--border);
}

.cliente-detail-grid > div:nth-child(even) {
  border-right:
    0;
}

.cliente-detail-grid__full {
  grid-column:
    1 /
    -1;

  border-right:
    0 !important;
}

.cliente-detail-grid span,
.cliente-detail-grid strong {
  display:
    block;
}

.cliente-detail-grid span {
  color:
    var(--text-muted);

  font-size:
    11px;

  font-weight:
    700;

  text-transform:
    uppercase;
}

.cliente-detail-grid strong {
  margin-top:
    7px;

  font-size:
    13px;

  line-height:
    1.5;
}

@media (
  max-width: 1300px
) {
  .clientes-filters {
    grid-template-columns:
      repeat(3, minmax(0, 1fr));
  }

  .filter-field--search {
    grid-column:
      1 /
      -1;
  }
}

@media (
  max-width: 780px
) {
  .clientes-page {
    padding:
      20px;
  }

  .clientes-page__header {
    align-items:
      stretch;

    flex-direction:
      column;
  }

  .clientes-page__header .primary-button {
    width:
      100%;
  }

  .clientes-filters {
    grid-template-columns:
      1fr;
  }

  .filter-field--search {
    grid-column:
      auto;
  }

  .cliente-detail-grid {
    grid-template-columns:
      1fr;
  }

  .cliente-detail-grid > div {
    border-right:
      0;
  }
}

@media (
  max-width: 520px
) {
  .clientes-page {
    padding:
      14px;
  }

  .clientes-modal {
    align-items:
      end;

    padding:
      0;
  }

  .clientes-modal__dialog {
    width:
      100%;

    max-height:
      94vh;

    border-right:
      0;

    border-bottom:
      0;

    border-left:
      0;

    border-radius:
      16px 16px 0 0;
  }

  .clientes-modal__footer {
    align-items:
      stretch;

    flex-direction:
      column-reverse;
  }

  .clientes-modal__footer button,
  .clientes-modal__footer a {
    width:
      100%;
  }

  .coordinate-actions {
    flex-direction:
      column;
  }

  .coordinate-actions button {
    width:
      100%;
  }
}

/* =========================================================
   AGRO INTEL · CLIENTES A TODO EL ANCHO
   ========================================================= */

#page-content {
  width: 100%;
  max-width: none;
}

.clients-page,
.clientes-page,
.clients-container,
.clientes-container,
.clients-content,
.clientes-content,
.clients-list,
.clientes-list,
.clients-detail,
.clientes-detail {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.clients-page,
.clientes-page {
  padding:
    24px
    18px;
}

.clients-page > *,
.clientes-page > *,
.clients-container > *,
.clientes-container > *,
.clients-content > *,
.clientes-content > * {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.clients-header,
.clientes-header,
.clients-filters,
.clientes-filters,
.clients-table-container,
.clientes-table-container,
.clients-panel,
.clientes-panel,
.clients-card,
.clientes-card {
  width: 100%;
  max-width: none;
  min-width: 0;
}

@media (min-width: 821px) {
  .clients-page,
  .clientes-page {
    width: 100%;
    padding:
      24px
      28px;
  }

  body.sidebar-desktop-collapsed
  .clients-page,
  body.sidebar-desktop-collapsed
  .clientes-page {
    padding-inline:
      32px;
  }
}

@media (max-width: 820px) {
  .clients-page,
  .clientes-page {
    width: 100%;
    max-width: 100%;
    padding:
      16px
      12px;
  }

  .clients-page > *,
  .clientes-page > *,
  .clients-container > *,
  .clientes-container > *,
  .clients-content > *,
  .clientes-content > * {
    width: 100%;
    max-width: 100%;
  }
}
