:root{
  --rz-bg:#f4f5f7;
  --rz-card:#ffffff;
  --rz-text:#1f2937;
  --rz-muted:#6b7280;
  --rz-border:rgba(15,23,42,.08);
  --rz-shadow:0 2px 10px rgba(15,23,42,.06);
  --rz-radius:16px;
  --rz-sidebar:#050913;
  --rz-sidebar-text:rgba(229,231,235,.88);
  --rz-sidebar-muted:rgba(229,231,235,.48);
  --rz-sidebar-w:272px;
  --bs-body-font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

html,body{height:100%}
html,body,button,input,select,textarea{
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
body{
  background:var(--rz-bg);
  color:var(--rz-text);
}

@media (max-width: 991.98px){
  html,body,.rz-main{
    overflow-x:hidden;
    max-width:100%;
  }
  .rz-page{
    max-width:100%;
    box-sizing:border-box;
  }
}

.rz-card{
  border:none;
  border-radius:var(--rz-radius);
  background:var(--rz-card);
  box-shadow:var(--rz-shadow);
}
.rz-muted{color:var(--rz-muted)}
.rz-btn{border-radius:14px;font-weight:600;padding:.75rem 1rem}
.rz-main{
  flex:1;
}
body.rz-app .rz-main{
  padding:22px 0 32px;
}
.rz-page{
  max-width:1400px;
  margin:0 auto;
  padding:0 16px;
}
@media (min-width: 992px){
  .rz-page{padding:0 22px}
}

.rz-feature-icon{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 48px;
  border-radius:16px;
  background:rgba(13,110,253,.1);
  color:#0d6efd;
  font-size:1.2rem;
}

.rz-logo{
  width:40px;
  height:40px;
  border-radius:12px;
  object-fit:contain;
  background:#fff;
  border:1px solid var(--rz-border);
  padding:5px;
}
.rz-sidebar-brand .rz-logo-app{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:10px;
  background:#fff;
  color:#050913;
  border:0;
  padding:0;
  font-size:1.15rem;
  line-height:1;
}
.rz-brand{font-weight:700}

body.rz-app{
  display:flex;
  min-height:100%;
  margin:0;
}
.rz-sidebar{
  width:var(--rz-sidebar-w);
  flex:0 0 var(--rz-sidebar-w);
  background:var(--rz-sidebar);
  color:#e5e7eb;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  position:sticky;
  top:0;
  height:100vh;
  z-index:30;
}
.rz-sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:#f9fafb;
}
.rz-sidebar-brand strong{
  display:block;
  font-size:.95rem;
  letter-spacing:.01em;
}
.rz-sidebar-brand span{
  display:block;
  font-size:.68rem;
  color:var(--rz-sidebar-muted);
  margin-top:1px;
}
.rz-sidebar-nav{
  flex:1;
  overflow:auto;
  padding:12px 10px 20px;
}
.rz-nav-section{
  margin:14px 8px 6px;
  font-size:.64rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--rz-sidebar-muted);
}
.rz-nav-link,
.rz-nav-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  border:0;
  background:transparent;
  color:var(--rz-sidebar-text);
  text-decoration:none;
  text-align:left;
  padding:9px 10px;
  border-radius:10px;
  font-size:.84rem;
  font-weight:500;
  cursor:pointer;
  font-family:inherit;
}
.rz-nav-link i,
.rz-nav-toggle i:first-child{
  width:18px;
  text-align:center;
  opacity:.9;
}
.rz-nav-link:hover,
.rz-nav-toggle:hover{
  background:rgba(255,255,255,.08);
  color:#fff;
}
.rz-nav-link.active,
.rz-nav-toggle.active{
  background:rgba(59,130,246,.28);
  color:#fff;
}
.rz-nav-link.rz-nav-soon{
  opacity:.45;
  cursor:default;
}
.rz-nav-chevron{
  margin-left:auto;
  font-size:.65rem;
  opacity:.55;
  transition:transform .15s ease;
}
.rz-nav-toggle.open .rz-nav-chevron{transform:rotate(180deg)}
.rz-nav-sub{
  display:none;
  padding:2px 0 6px 12px;
}
.rz-nav-toggle.open + .rz-nav-sub{display:block}
.rz-nav-sub .rz-nav-link{
  font-size:.8rem;
  padding:7px 10px;
  font-weight:400;
}
.rz-badge-soon{
  margin-left:auto;
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(229,231,235,.7);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:.12rem .4rem;
}
.rz-sidebar-user{
  border-top:1px solid rgba(255,255,255,.08);
  padding:12px;
}
.rz-sidebar-who{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 6px 10px;
}
.rz-sidebar-who i{font-size:1.3rem;opacity:.8}
.rz-sidebar-who small{
  display:block;
  color:var(--rz-sidebar-muted);
  font-size:.68rem;
}
.rz-sidebar-user a{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:10px;
  text-decoration:none;
  color:var(--rz-sidebar-text);
  font-size:.78rem;
}
.rz-sidebar-user a:hover{background:rgba(255,255,255,.08);color:#fff}

.rz-shell{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.rz-shell-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 22px;
  background:#fff;
  border-bottom:1px solid var(--rz-border);
  position:sticky;
  top:0;
  z-index:5;
}
.rz-shell-top-start{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.rz-shell-top-actions{
  display:flex;
  align-items:center;
  gap:12px;
}
.rz-menu-btn{
  display:none;
  border:1px solid var(--rz-border);
  background:#fff;
  border-radius:10px;
  padding:8px 10px;
  color:var(--rz-text);
}
.rz-area-chip{
  display:inline-flex;
  align-items:center;
  padding:.35rem .7rem;
  border-radius:999px;
  background:#eef2ff;
  color:#1e3a8a;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.02em;
  white-space:nowrap;
}
.rz-topbar-user{
  color:var(--rz-muted);
  font-size:.85rem;
}
.rz-topbar-user:hover{color:#0d6efd}
.rz-user-menu .dropdown-item{
  display:flex;
  align-items:center;
  gap:10px;
}
.rz-topbar-logout{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .55rem;
  border-radius:10px;
  font-size:.78rem;
  font-weight:500;
  color:var(--rz-muted);
  text-decoration:none;
  border:1px solid transparent;
}
.rz-topbar-logout:hover{
  color:var(--rz-text);
  background:rgba(15,23,42,.04);
  border-color:var(--rz-border);
}
.rz-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(2,6,23,.45);
  z-index:20;
}
.rz-shortcut-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.rz-shortcut-card{
  position:relative;
  background:#fff;
  border-radius:var(--rz-radius);
  box-shadow:var(--rz-shadow);
  min-height:132px;
  display:flex;
  align-items:stretch;
}
.rz-shortcut-handle{
  position:absolute;
  top:8px;
  left:8px;
  width:28px;
  height:28px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--rz-muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:grab;
  z-index:1;
}
.rz-shortcut-handle:active{cursor:grabbing}
.rz-shortcut-link,
.rz-shortcut-add{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:18px 18px 18px 16px;
  text-decoration:none;
  color:inherit;
  background:transparent;
  border:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.rz-shortcut-link{
  padding-left:40px;
}
.rz-shortcut-link:hover,
.rz-shortcut-add:hover{color:inherit}
.rz-shortcut-add{
  border:1.5px dashed rgba(15,23,42,.16);
  background:transparent;
  box-shadow:none;
}
.rz-shortcut-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:14px;
  background:rgba(59,130,246,.12);
  color:#2563eb;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.15rem;
}
.rz-shortcut-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.rz-shortcut-copy strong{
  font-size:.95rem;
  font-weight:600;
  line-height:1.25;
}
.rz-shortcut-copy small{
  color:var(--rz-muted);
  font-size:.75rem;
}
.rz-shortcut-del{
  position:absolute;
  top:8px;
  right:8px;
  width:28px;
  height:28px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--rz-muted);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.rz-shortcut-del:hover{
  background:rgba(15,23,42,.06);
  color:#111827;
}
.rz-shortcut-empty{
  padding:56px 24px;
  text-align:center;
  max-width:560px;
  margin:12px auto 0;
}
.rz-shortcut-empty h2{
  margin:16px 0 8px;
  font-size:1.15rem;
}
.rz-shortcut-empty p{
  color:var(--rz-muted);
  margin:0 0 20px;
}
.rz-acceso-group{margin-bottom:16px}
.rz-acceso-group-title{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--rz-muted);
  margin-bottom:8px;
}
.rz-acceso-option{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  border:0;
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  text-align:left;
  font:inherit;
  margin-bottom:6px;
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.rz-acceso-option:hover{background:#f8fafc}
.rz-acceso-option .rz-shortcut-icon{
  width:36px;
  height:36px;
  flex-basis:36px;
  font-size:.95rem;
  border-radius:10px;
}

@media (max-width: 991.98px){
  .rz-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 575.98px){
  .rz-shortcut-grid{grid-template-columns:1fr}
}

@media (max-width: 991.98px){
  .rz-sidebar{
    position:fixed;
    left:0;
    top:0;
    transform:translateX(-105%);
    transition:transform .2s ease;
    height:100vh;
  }
  .rz-sidebar.open{transform:none}
  .rz-overlay.show{display:block}
  .rz-menu-btn{display:inline-flex}
}

.btn-primary{
  background-color:#0d6efd;
  border-color:#0d6efd;
}
.btn-outline-primary{
  border-color:#0d6efd;
  color:#0d6efd;
}
.btn-outline-primary:hover{
  background-color:#0d6efd;
  border-color:#0d6efd;
  color:#fff;
}

.dataTables_wrapper{
  width:100%;
  font-family:"Inter",system-ui,-apple-system,sans-serif;
}
table.dataTable{
  width:100% !important;
  font-size:.8rem;
  color:#212529;
}
table.dataTable thead th{
  font-weight:600;
  font-size:.8rem;
  text-transform:uppercase;
  white-space:nowrap;
}
table.dataTable tbody td{
  font-weight:300;
  white-space:nowrap;
  vertical-align:middle;
  border-top-color:#edf0f4;
}
table.dataTable tbody tr{border-bottom-color:#edf0f4}

table.dataTable.rz-table-compact thead th,
table.dataTable.rz-table-compact tbody td{
  padding:.35rem .45rem;
}

table.dataTable.rz-table-compact th.no-sort,
table.dataTable.rz-table-compact td.actions{
  width:1%;
}

.rz-mobile-subline{
  margin-top:2px;
  color:#6c757d;
  font-size:.68rem;
  line-height:1.15;
}
.ficha-table-pending{
  visibility:hidden;
}

.rz-catalogo-header .rz-logo{
  width:auto;
  height:64px;
  max-height:64px;
}

.rz-catalogo-header-text{
  flex:1;
  min-width:0;
}

@media (max-width: 767.98px){
  table.dataTable.rz-table-compact{
    table-layout:fixed;
    font-size:.72rem;
    min-width:0 !important;
    width:100% !important;
  }
  table.dataTable.rz-table-compact thead th,
  table.dataTable.rz-table-compact tbody td{
    padding:.28rem .18rem;
  }
  table.dataTable.rz-table-compact td.actions .btn{
    min-width:28px;
    padding:.22rem .3rem;
  }
  table.dataTable.rz-table-compact td.actions .btn-masinfo{
    font-size:0;
  }
  table.dataTable.rz-table-compact td.actions .btn-masinfo i{
    margin-right:0 !important;
    font-size:.8rem;
  }
  table.dataTable.rz-table-compact tbody td{
    overflow-wrap:anywhere;
  }

  #tablaPropio thead th:nth-child(n+4):nth-child(-n+9),
  #tablaPropio tbody td:nth-child(n+4):nth-child(-n+9),
  #tablaTerceros thead th:nth-child(n+3):nth-child(-n+7),
  #tablaTerceros tbody td:nth-child(n+3):nth-child(-n+7),
  #tablaClientes thead th:nth-child(9),
  #tablaClientes tbody td:nth-child(9),
  #tablaClientes thead th:nth-child(10),
  #tablaClientes tbody td:nth-child(10),
  #tablaMandantes thead th:nth-child(3),
  #tablaMandantes tbody td:nth-child(3),
  #tablaMandantes thead th:nth-child(8),
  #tablaMandantes tbody td:nth-child(8),
  #tablaMandantes thead th:nth-child(9),
  #tablaMandantes tbody td:nth-child(9),
  #tablaOrigenes thead th:nth-child(6),
  #tablaOrigenes tbody td:nth-child(6),
  #tablaNomenclaturas thead th:nth-child(3),
  #tablaNomenclaturas tbody td:nth-child(3),
  #tablaNomenclaturas thead th:nth-child(4),
  #tablaNomenclaturas tbody td:nth-child(4),
  #tablaAreasAcopio thead th:nth-child(3),
  #tablaAreasAcopio tbody td:nth-child(3),
  #tablaAreasAcopio thead th:nth-child(4),
  #tablaAreasAcopio tbody td:nth-child(4){
    display:none;
  }

  #tablaCatalogoProductos .catalogo-mobile-hide{
    display:none !important;
  }
  #tablaCatalogoProductos .catalogo-stock-col,
  #tablaCatalogoProductos .catalogo-neto-col{
    display:table-cell !important;
  }

  #tablaCatalogoProductos thead th:nth-child(1),
  #tablaCatalogoProductos tbody td:nth-child(1){
    width:54%;
    white-space:normal;
  }
  #tablaCatalogoProductos .catalogo-stock-col{
    width:18%;
    white-space:nowrap;
  }
  #tablaCatalogoProductos .catalogo-neto-col{
    width:28%;
    white-space:nowrap;
  }
  #tablaCatalogoProductos .badge{
    padding:.35em .45em;
  }

  #tablaPropio thead th:nth-child(1),
  #tablaPropio tbody td:nth-child(1),
  #tablaTerceros thead th:nth-child(1),
  #tablaTerceros tbody td:nth-child(1){
    width:34%;
  }
  #tablaPropio thead th:nth-child(3),
  #tablaPropio tbody td:nth-child(3),
  #tablaTerceros thead th:nth-child(2),
  #tablaTerceros tbody td:nth-child(2){
    width:34%;
  }
  #tablaPropio thead th:nth-child(10),
  #tablaPropio tbody td:nth-child(10),
  #tablaTerceros thead th:nth-child(8),
  #tablaTerceros tbody td:nth-child(8){
    width:12%;
  }
  #tablaPropio thead th:nth-child(11),
  #tablaPropio tbody td:nth-child(11),
  #tablaTerceros thead th:nth-child(9),
  #tablaTerceros tbody td:nth-child(9){
    width:20%;
  }

  #tablaClientes thead th:nth-child(1),
  #tablaClientes tbody td:nth-child(1),
  #tablaMandantes thead th:nth-child(1),
  #tablaMandantes tbody td:nth-child(1){
    width:32%;
  }
  #tablaClientes thead th:nth-child(2),
  #tablaClientes tbody td:nth-child(2),
  #tablaMandantes thead th:nth-child(2),
  #tablaMandantes tbody td:nth-child(2){
    width:52%;
  }
  #tablaClientes thead th:nth-child(11),
  #tablaClientes tbody td:nth-child(11),
  #tablaMandantes thead th:nth-child(10),
  #tablaMandantes tbody td:nth-child(10){
    width:16%;
  }

  #tablaOrigenes thead th:nth-child(1),
  #tablaOrigenes tbody td:nth-child(1){
    width:62%;
  }
  #tablaOrigenes thead th:nth-child(5),
  #tablaOrigenes tbody td:nth-child(5){
    width:18%;
  }
  #tablaOrigenes thead th:nth-child(7),
  #tablaOrigenes tbody td:nth-child(7){
    width:20%;
  }

  #tablaNomenclaturas thead th:nth-child(1),
  #tablaNomenclaturas tbody td:nth-child(1),
  #tablaAreasAcopio thead th:nth-child(1),
  #tablaAreasAcopio tbody td:nth-child(1){
    width:30%;
  }
  #tablaNomenclaturas thead th:nth-child(2),
  #tablaNomenclaturas tbody td:nth-child(2),
  #tablaAreasAcopio thead th:nth-child(2),
  #tablaAreasAcopio tbody td:nth-child(2){
    width:54%;
  }
  #tablaNomenclaturas thead th:nth-child(5),
  #tablaNomenclaturas tbody td:nth-child(5),
  #tablaAreasAcopio thead th:nth-child(5),
  #tablaAreasAcopio tbody td:nth-child(5){
    width:16%;
  }
}

thead .filters th{
  padding:4px;
  background-color:#f8f9fa;
}
thead .filters input{
  width:100%;
  font-size:11px;
  padding:3px 5px;
  border-radius:6px;
  border:1px solid #dee2e6;
}

.dataTables_info,
.dataTables_length,
.dataTables_paginate{
  font-size:.8rem;
  color:#6c757d;
}
.dataTables_paginate{
  display:flex;
  align-items:center;
  gap:6px;
}
.dataTables_paginate .paginate_button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  font-size:.85rem;
  line-height:1;
  padding:0;
  margin:0 !important;
  border-radius:.45rem;
  border:1px solid #e9ecef;
  background-color:#f8f9fa;
  color:#495057 !important;
  cursor:pointer !important;
  text-decoration:none !important;
  transition:all .15s ease-in-out;
}
.dataTables_paginate .paginate_button.current{
  background-color:#0d6efd;
  color:#fff !important;
  border-color:#0d6efd;
  font-weight:500;
  cursor:default !important;
}
.dataTables_paginate .paginate_button.disabled{display:none !important}
.dataTables_paginate > span{display:flex;gap:6px}

table .badge{
  font-weight:500;
  padding:.45em .65em;
  line-height:1;
  border-radius:.2rem;
}
table .badge.bg-success{
  background-color:#d1e7dd !important;
  color:#0f5132 !important;
}
table .badge.bg-danger{
  background-color:#f8d7da !important;
  color:#842029 !important;
}
table .badge.bg-secondary{
  background-color:#e9ecef !important;
  color:#495057 !important;
}

.btn-masinfo{
  padding:5px 10px;
  font-size:12px;
  border-radius:8px;
}
.item-field{
  background:#f8f9fa;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #e9ecef;
}
.item-label{
  font-size:10px;
  font-weight:600;
  color:#6c757d;
  text-transform:uppercase;
  margin-bottom:3px;
}
.item-value{
  font-size:13px;
  font-weight:500;
  color:#2e3440;
}
.ficha-section{
  padding:16px;
  margin-bottom:16px;
  border:1px solid #e9ecef;
  border-radius:14px;
  background:#fff;
}
.ficha-section h6{
  margin-bottom:14px;
  font-size:.92rem;
  font-weight:700;
  color:#2e3440;
}
.ficha-code-badge{
  padding:.45rem .75rem;
  font-size:1rem;
  letter-spacing:.01em;
}
.ficha-image-picker{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
  min-height:240px;
  padding:12px;
  overflow:hidden;
  border:1px dashed #ced4da;
  border-radius:14px;
  background:#f8f9fa;
  cursor:pointer;
}
.ficha-image-picker img{
  width:100%;
  height:210px;
  object-fit:contain;
}
.ficha-image-picker span{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(13,110,253,.92);
  color:#fff;
  font-size:.85rem;
  font-weight:500;
}
.ficha-status-badge{
  min-width:84px;
  padding:.65rem .85rem;
  font-size:.95rem;
}
.dt-buttons{
  margin-bottom:10px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:.5rem;
}
.dt-buttons .dt-button.btn{
  background-image:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
  white-space:nowrap;
}
.dt-buttons .dt-button.btn-success{
  background-color:#198754 !important;
  border:1px solid #198754 !important;
  color:#fff !important;
}
.dt-buttons .dt-button.btn-success:hover,
.dt-buttons .dt-button.btn-success:focus,
.dt-buttons .dt-button.btn-success:active{
  background-color:#157347 !important;
  border-color:#146c43 !important;
  color:#fff !important;
}
.dt-buttons .dt-button.btn-success::before{
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  content:"\f1c3";
  margin-right:.35rem;
}
.dt-buttons .dt-button.btn-outline-secondary{
  background-color:transparent !important;
  border:1px solid #6c757d !important;
  color:#6c757d !important;
}
.dt-buttons .dt-button.btn-outline-secondary:hover,
.dt-buttons .dt-button.btn-outline-secondary:focus{
  background-color:#6c757d !important;
  color:#fff !important;
}
.rz-permiso-matrix th.rz-perm-check,
.rz-permiso-matrix td.rz-perm-check{
  width:7.5rem;
  text-align:center;
}
.rz-permiso-matrix .rz-perm-module{
  background:var(--rz-bg);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--rz-muted);
}
.rz-permiso-matrix tr.rz-perm-locked td{
  opacity:.55;
}
.rz-permiso-matrix .form-check-input:disabled{
  cursor:not-allowed;
}

.zs-wa-setup ol{font-size:.9rem}
.zs-wa-setup code{font-size:.85em}
.zs-wa-inbox{
  display:grid;
  grid-template-columns:minmax(240px, 320px) minmax(0, 1fr);
  min-height:calc(100vh - 220px);
  overflow:hidden;
}
.zs-wa-list{
  border-right:1px solid var(--rz-border);
  overflow:auto;
  background:#fafbfc;
}
.zs-wa-item{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  border-bottom:1px solid var(--rz-border);
  background:transparent;
  padding:14px 16px;
  font:inherit;
  color:inherit;
}
.zs-wa-item:hover{background:rgba(13,110,253,.06)}
.zs-wa-item.is-active{background:rgba(13,110,253,.12)}
.zs-wa-item-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.zs-wa-item-title{font-weight:600;font-size:.92rem}
.zs-wa-item-sub,.zs-wa-item-preview{
  color:var(--rz-muted);
  font-size:.78rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.zs-wa-badge{
  min-width:1.4rem;
  height:1.4rem;
  padding:0 .35rem;
  border-radius:999px;
  background:#0d6efd;
  color:#fff;
  font-size:.72rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.zs-wa-empty-list,.zs-wa-placeholder{
  padding:28px 18px;
  color:var(--rz-muted);
  font-size:.9rem;
}
.zs-wa-thread{
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;
}
.zs-wa-thread-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid var(--rz-border);
}
.zs-wa-window{
  font-size:.75rem;
  font-weight:600;
  padding:.25rem .6rem;
  border-radius:999px;
  background:rgba(25,135,84,.12);
  color:#157347;
  white-space:nowrap;
}
.zs-wa-window.is-closed{
  background:rgba(220,53,69,.12);
  color:#b02a37;
}
.zs-wa-messages{
  flex:1;
  overflow:auto;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#f3f5f8;
}
.zs-wa-msg{
  max-width:min(72%, 560px);
  padding:10px 12px;
  border-radius:14px;
  font-size:.9rem;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.zs-wa-msg.is-in{
  align-self:flex-start;
  background:#fff;
  border-top-left-radius:4px;
}
.zs-wa-msg.is-out{
  align-self:flex-end;
  background:#dbeafe;
  border-top-right-radius:4px;
}
.zs-wa-msg-type{
  font-size:.75rem;
  color:var(--rz-muted);
  margin-bottom:4px;
}
.zs-wa-msg-body{white-space:pre-wrap;word-break:break-word}
.zs-wa-msg-error{color:#b02a37;font-size:.8rem;margin-top:4px}
.zs-wa-msg-meta{
  margin-top:6px;
  font-size:.72rem;
  color:var(--rz-muted);
  text-align:right;
}
.zs-wa-composer{
  display:flex;
  gap:10px;
  padding:12px 16px;
  border-top:1px solid var(--rz-border);
  background:#fff;
}
.zs-wa-composer textarea{
  flex:1;
  resize:none;
  border:1px solid var(--rz-border);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
}
.zs-wa-locked{
  padding:12px 16px;
  font-size:.85rem;
  color:#b02a37;
  background:rgba(220,53,69,.08);
  border-top:1px solid var(--rz-border);
}
@media (max-width: 767.98px){
  .zs-wa-inbox{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .zs-wa-list{max-height:280px}
  .zs-wa-messages{min-height:320px}
}

.pub-tabs .nav-link{
  border-radius:999px;
  padding:.4rem .9rem;
  font-weight:500;
}
.pub-tabs .nav-link .pub-tab-count{
  font-weight:600;
}
.pub-tabs .nav-link.active .pub-tab-count{
  color:inherit;
  opacity:.9;
}
.pub-thumb{
  width:40px;
  height:40px;
  object-fit:cover;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f3f4f6;
  color:var(--rz-muted);
  font-size:10px;
  text-align:center;
  line-height:1.1;
}
.pub-thumb--empty{width:40px;height:40px;padding:4px}
.pub-compare{color:var(--rz-muted);text-decoration:line-through}
.pub-check-col{width:2.25rem}
.pub-preview-html p{margin:0 0 .35rem}
.pub-toolbar .btn{white-space:nowrap}
.pub-sticky{
  position:sticky;
  bottom:12px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding:12px 16px;
  border-radius:var(--rz-radius);
  background:var(--rz-card);
  border:1px solid var(--rz-border);
}
.zs-legal-page .rz-catalogo-header,
.zs-legal{max-width:52rem;margin-left:auto;margin-right:auto}
.zs-legal h2{
  font-size:1.05rem;
  font-weight:600;
  margin:1.5rem 0 .5rem;
}
.zs-legal p,.zs-legal li{font-size:.92rem;line-height:1.55}
.zs-legal ul{padding-left:1.15rem}

.ficha-search-card{
  margin-bottom:1rem;
}
.ficha-search-bar{
  display:flex;
  gap:.75rem;
  align-items:stretch;
}
.ficha-search-field{
  position:relative;
  flex:1;
  min-width:0;
}
.ficha-search-field > i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:var(--rz-muted);
  pointer-events:none;
}
.ficha-search-field .form-control{
  padding-left:2.4rem;
  padding-right:2.6rem;
  border-radius:14px;
  min-height:52px;
}
.ficha-search-clear{
  position:absolute;
  right:6px;
  top:50%;
  transform:translateY(-50%);
  color:var(--rz-muted);
  text-decoration:none;
  width:36px;
  height:36px;
  padding:0;
}
.ficha-search-clear:hover{color:var(--rz-text)}
.ficha-search-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-top:1rem;
}
.ficha-search-actions .btn.disabled{
  pointer-events:none;
  opacity:.55;
}
.ficha-search-status{
  min-height:1.5rem;
  margin-bottom:.75rem;
}
.ficha-search-hint,
.ficha-search-loading{
  color:var(--rz-muted);
  font-size:.9rem;
}
.ficha-search-empty{
  text-align:center;
  padding:2.5rem 1rem;
  background:var(--rz-card);
  border-radius:var(--rz-radius);
  box-shadow:var(--rz-shadow);
}
.ficha-search-empty i{
  font-size:1.6rem;
  color:#0d6efd;
  margin-bottom:.75rem;
}
.ficha-search-empty h2{
  font-size:1.05rem;
  font-weight:600;
  margin:0 0 .35rem;
}
.ficha-search-empty p{
  margin:0;
  color:var(--rz-muted);
  font-size:.9rem;
}
.ficha-result-list{
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.ficha-result-card{
  display:flex;
  gap:1rem;
  align-items:stretch;
  padding:1rem;
  background:var(--rz-card);
  border-radius:var(--rz-radius);
  box-shadow:var(--rz-shadow);
}
.ficha-result-thumb{
  flex:0 0 96px;
  width:96px;
  height:96px;
  border-radius:12px;
  overflow:hidden;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ficha-result-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.ficha-result-thumb.is-empty{
  color:#9ca3af;
  font-size:1.4rem;
}
.ficha-result-body{
  flex:1;
  min-width:0;
}
.ficha-result-top{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.ficha-result-code{
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:.01em;
}
.ficha-result-title{
  margin-top:.15rem;
  font-size:.95rem;
  font-weight:500;
}
.ficha-result-vehicle{
  margin-top:.15rem;
  color:var(--rz-muted);
  font-size:.85rem;
}
.ficha-result-actions{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-shrink:0;
}
.ficha-result-stock{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.2rem;
}
.ficha-result-label{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--rz-muted);
}
.ficha-result-facts{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:.45rem 1rem;
  margin:.75rem 0 0;
}
.ficha-result-fact dt{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--rz-muted);
  margin:0;
}
.ficha-result-fact dd{
  margin:0;
  font-size:.86rem;
  font-weight:500;
}
.ficha-result-flags{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin-top:.65rem;
}
@media (max-width: 767.98px){
  .ficha-search-bar{flex-direction:column}
  .ficha-result-card{
    flex-direction:column;
    gap:.75rem;
  }
  .ficha-result-thumb,
  .ficha-result-thumb img{
    width:100%;
    height:160px;
    flex-basis:auto;
  }
  .ficha-result-top{
    flex-direction:column;
  }
  .ficha-result-actions{
    width:100%;
    justify-content:space-between;
  }
}

.rz-home-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
}
.rz-home-tile{
  display:flex;
  gap:16px;
  align-items:center;
  padding:20px;
  background:var(--rz-card);
  border-radius:var(--rz-radius);
  box-shadow:var(--rz-shadow);
  text-decoration:none;
  color:inherit;
  min-height:112px;
}
.rz-home-tile:hover{
  color:inherit;
  background:#f8fafc;
}
.rz-home-tile-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:16px;
  background:rgba(13,110,253,.1);
  color:#0d6efd;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.2rem;
}
.rz-home-tile h2{
  margin:0 0 4px;
  font-size:1.05rem;
  font-weight:600;
}
.rz-home-tile p{
  margin:0;
  color:var(--rz-muted);
  font-size:.85rem;
}
.badge-estado-en-carga{
  background:#dbeafe !important;
  color:#1e3a8a !important;
}
.badge-estado-publicada{
  background:#fff3cd !important;
  color:#856404 !important;
}
.badge-estado-cerrada{
  background:#f8d7da !important;
  color:#842029 !important;
}

.rz-login-hero{
  position:relative;
  overflow:hidden;
}
.rz-login-photo{
  position:absolute;
  inset:-16px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  /* 30 en escala 0-100; 100 = 20px */
  filter:blur(6px);
}
.rz-login-hero > .container{
  position:relative;
  z-index:1;
}

.rz-accordion .accordion-item{
  border:0;
  border-radius:var(--rz-radius);
  background:#fff;
  box-shadow:var(--rz-shadow);
  margin-bottom:16px;
  overflow:hidden;
}
.rz-accordion .accordion-button{
  font-weight:700;
  background:#fff;
  color:var(--rz-text);
  box-shadow:none;
}
.rz-accordion .accordion-button:not(.collapsed){
  background:#fff;
  color:var(--rz-text);
  box-shadow:none;
}
.rz-accordion .accordion-button:focus{
  box-shadow:none;
  border-color:transparent;
}
.rz-accordion .accordion-body{padding:1.25rem}
.ficha-section{
  padding:16px;
  margin-bottom:16px;
  border:1px solid #e9ecef;
  border-radius:var(--rz-radius);
  background:#fff;
}
.ficha-section h6{
  margin-bottom:14px;
  font-size:.92rem;
  font-weight:700;
}
.ficha-section:last-child{margin-bottom:0}
.ficha-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px 16px;
}
.ficha-grid .span-2{grid-column:span 2}
.ficha-grid .span-3{grid-column:span 3}
.ficha-grid .span-4{grid-column:span 4}
.ficha-field{min-width:0}
.ficha-field .form-label{
  margin-bottom:4px;
  font-size:.78rem;
  font-weight:600;
  color:#5c6570;
}
.ficha-apply{
  margin-top:6px;
  min-height:1.25rem;
}
.ficha-apply .form-check-label{font-size:.75rem;color:#6b7280}
@media (max-width: 991.98px){
  .ficha-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .ficha-grid .span-3,
  .ficha-grid .span-4{grid-column:span 2}
}
@media (max-width: 575.98px){
  .ficha-grid{grid-template-columns:1fr}
  .ficha-grid .span-2,
  .ficha-grid .span-3,
  .ficha-grid .span-4{grid-column:auto}
}
.lote-dropzone{
  border:1.5px dashed #cbd5e1;
  border-radius:14px;
  background:#f8fafc;
  color:#64748b;
  text-align:center;
  padding:28px 16px;
  cursor:pointer;
}
.lote-dropzone.is-over{
  border-color:#0d6efd;
  background:#eff6ff;
  color:#1d4ed8;
}
.lote-dropzone.is-disabled{
  cursor:not-allowed;
  opacity:.7;
}
.lote-galeria{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.lote-media{
  position:relative;
  width:148px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.lote-media img,
.lote-media video{
  display:block;
  width:100%;
  height:110px;
  object-fit:cover;
  background:#0f172a;
}
.lote-media-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:6px 8px;
  font-size:.72rem;
  color:#64748b;
}
.lote-upload-item{margin-top:10px}
