:root{
  --vs:#dc2626;           /* rojo marca */
  --bg:#0b0f17;           /* fondo principal */
  --bg-soft:#111827;      /* paneles */
  --line:#1f2937;         /* bordes suaves */
  --txt:#e5e7eb;          /* texto base */
  --muted:#9ca3af;        /* texto tenue */
}

html, body{
  background: linear-gradient(180deg, #0b0f17, #0a0e15 35%, #0a0d13 100%);
  color: var(--txt);
}

.card{
  background: linear-gradient(180deg, rgba(17,24,39,.85), rgba(17,24,39,.65));
  border: 1px solid var(--line);
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
}

.soft{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  outline: none;
}
.soft:focus{
  border-color: rgba(255,255,255,.15);
  box-shadow: 0 0 0 3px rgba(220,38,38,.25);
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.35rem .6rem;
  border-radius:999px;
  font-weight:600;
}

.tbl thead th{
  position: sticky; top:0;
  background: rgba(10,14,21,.9);
  backdrop-filter: blur(4px);
  border-bottom: 1px solid var(--line);
  z-index:1;
}
.tbl tbody tr{
  border-bottom: 1px dashed rgba(255,255,255,.06);
}
.tbl tbody tr:hover{
  background: rgba(255,255,255,.03);
}

.badge{
  display:inline-flex; align-items:center; gap:.25rem;
  padding:.1rem .45rem; border-radius:.45rem;
  font-size:.75rem; font-weight:600;
  background: rgba(99,102,241,.15); color:#c7d2fe; border:1px solid rgba(99,102,241,.25);
}

.btn-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:.5rem;
  background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
}
.btn-icon:hover{ background: rgba(255,255,255,.1); }

/* toast */
#toast{
  background: linear-gradient(180deg,#10b981,#059669);
  border: 1px solid rgba(255,255,255,.2);
}

/* scroll */
::-webkit-scrollbar{ height:10px; width:10px; }
::-webkit-scrollbar-thumb{ background:#202b3a; border-radius:999px; }
::-webkit-scrollbar-track{ background:transparent; }



/* ===== IMPRESIÓN ===== */
@media print {
  /* Colores y fondos */
  html, body {
    background: #fff !important;
    color: #000 !important;
  }

  /* Ocultar todo lo no relevante */
  header,
  #actions-drawer,
  #toast,
  #btn-actions-menu,
  #btn-actions-close,
  #btn-export,
  #btn-print,
  #btn-add,
  #btn-clear,
  #btn-suggest,
  #sel-prov,
  #inp-search {
    display: none !important;
  }

  /* Encabezado de impresión */
  #print-header {
    display: block !important;
    margin: 0 0 10mm 0;
  }

  /* Contenedor / layout */
  main, .max-w-screen-2xl, .mx-auto, .px-6 {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Tarjetas en blanco, sin sombras */
  .card {
    background: #fff !important;
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    page-break-inside: avoid;
    break-inside: avoid;
    margin: 0 0 12mm 0;
  }

  /* Header de la card */
  .card > .flex.flex-wrap {
    padding: 0 0 3mm 0 !important;
    border-bottom: 1px solid #ccc !important;
    margin-bottom: 3mm !important;
  }

  /* Cuerpo de la card */
  .card .mt-3 {
    margin-top: 3mm !important;
  }

  /* Burbujas/“pills”: texto simple */
  .pill {
    background: none !important;
    color: #000 !important;
    padding: 0 !important;
    border-radius: 0 !important;
  }

  /* Tablas legibles */
  .soft.rounded.p-2 {
    padding: 0 !important;
    border: none !important;
  }

  .tbl thead th {
    position: static !important;   /* sin sticky en impresión */
    background: #fff !important;
    color: #000 !important;
    border-bottom: 1px solid #ccc !important;
  }

  .tbl tbody tr {
    border-bottom: 1px solid #eee !important;
  }

  .tbl tbody tr:hover {
    background: #fff !important;
  }

  .tbl th, .tbl td {
    color: #000 !important;
    word-break: break-word;
    white-space: normal;
  }
}
