/* ===== Identidad Tickets Impro =====
   Paleta inspirada en el puerto: navy profundo + terracota (los cerros
   de casas de colores), sobre un fondo cálido neutro. Solo fuentes de
   sistema (sin depender de internet, ya que corre en intranet). */
:root{
  --brand-navy-900:#152e35;
  --brand-navy-800:#1d3f47;
  --brand-navy-700:#28525c;
  --brand-coral-500:#e0704a;
  --brand-coral-600:#c85c38;
  --brand-coral-100:#fbe3d8;
  --brand-cream:#faf7f2;
  --brand-ink-900:#28323a;
  --brand-ink-500:#68767d;
  --brand-border:#e7e1d8;

  /* Se reasignan variables de Bootstrap para que cascaden a sus componentes */
  --bs-primary:var(--brand-coral-500);
  --bs-primary-rgb:224,112,74;
  --bs-link-color:var(--brand-coral-600);
  --bs-link-color-rgb:200,92,56;
  --bs-link-hover-color:var(--brand-navy-800);
  --bs-body-bg:var(--brand-cream);
  --bs-body-color:var(--brand-ink-900);
  --bs-border-radius:.55rem;
  --bs-border-radius-sm:.4rem;
  --bs-border-radius-lg:.8rem;
}

body{
  background:var(--brand-cream);
  color:var(--brand-ink-900);
  font-size:.95rem;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

.btn-primary{--bs-btn-hover-bg:var(--brand-coral-600);--bs-btn-hover-border-color:var(--brand-coral-600);
  --bs-btn-active-bg:var(--brand-coral-600);--bs-btn-active-border-color:var(--brand-coral-600);
  box-shadow:0 1px 2px rgba(200,92,56,.25);}
.btn{transition:transform .08s ease,box-shadow .15s ease;}
.btn:not(:disabled):hover{transform:translateY(-1px);}
.btn-sm:hover{transform:none;}

/* ---------- Navbar ---------- */
.navbar{
  background:linear-gradient(135deg,var(--brand-navy-900),var(--brand-navy-700));
  box-shadow:0 2px 10px rgba(21,46,53,.25);
  padding-top:.65rem;padding-bottom:.65rem;
}
.navbar-brand{display:flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:.2px}
.navbar-brand i.fa-ticket{
  background:var(--brand-coral-500);color:#fff;width:2rem;height:2rem;border-radius:.5rem;
  display:inline-flex;align-items:center;justify-content:center;margin:0;font-size:.9rem;
}
#usuarioInfo{opacity:.95}
#usuarioInfo i{opacity:.75}

/* ---------- Tabs principales ---------- */
.nav-tabs{border-bottom:1px solid var(--brand-border);gap:.15rem}
.nav-tabs .nav-link{
  color:var(--brand-ink-500);border:none;border-bottom:2px solid transparent;
  border-radius:0;padding:.6rem 1rem;font-weight:500;transition:color .15s ease,border-color .15s ease;
}
.nav-tabs .nav-link:hover{color:var(--brand-navy-800);background:transparent}
.nav-tabs .nav-link.active{
  color:var(--brand-navy-900);font-weight:700;background:transparent;
  border-bottom-color:var(--brand-coral-500);
}

/* ---------- Pills de mantenedores ---------- */
#mantPills .nav-link{color:var(--brand-navy-800);border-radius:2rem;padding:.35rem 1rem;font-weight:500}
#mantPills .nav-link.active{background:var(--brand-navy-800);color:#fff}

/* ---------- Cards y tablas ---------- */
.card{border:1px solid var(--brand-border);box-shadow:0 2px 10px rgba(40,50,58,.06);border-radius:var(--bs-border-radius-lg)}
.card-header{background:#fff;border-bottom:1px solid var(--brand-border);font-weight:600;font-size:.85rem;color:var(--brand-ink-500);border-radius:var(--bs-border-radius-lg) var(--bs-border-radius-lg) 0 0}
.table{--bs-table-hover-bg:var(--brand-coral-100)}
.table thead th{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-ink-500);
  font-weight:700;border-bottom-width:1px;background:#fbfaf7;
}
.table td{vertical-align:middle}
.cursor-p{cursor:pointer}
.cursor-p:hover{background:var(--brand-coral-100)}

/* ---------- KPIs del dashboard ---------- */
.kpi-card{border-radius:var(--bs-border-radius-lg);padding:1.1rem 1.2rem;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .15s ease}
.kpi-card:hover{transform:translateY(-2px)}
.kpi-card .num{font-size:2rem;font-weight:800;line-height:1.1}
.kpi-card div:last-child{font-size:.8rem;opacity:.9;font-weight:500}

/* ---------- Badges ---------- */
.badge{font-weight:600;letter-spacing:.02em;padding:.4em .65em;border-radius:1rem}
.badge-prio-Crítica{background:#c0392b}.badge-prio-Alta{background:#d9822b}
.badge-prio-Media{background:var(--brand-navy-700)}.badge-prio-Baja{background:#8a97a0}

/* ---------- Comentarios ---------- */
#tComentarios .comentario{border-left:3px solid var(--brand-coral-500);padding:.5rem .8rem;margin-bottom:.5rem;background:#fbfaf7;border-radius:0 .4rem .4rem 0}

/* ---------- Campos deshabilitados (modo solo-lectura para no-admin) ---------- */
.form-control:disabled,.form-select:disabled{
  background:#fbfaf7;color:var(--brand-ink-900);opacity:1;border-color:var(--brand-border);cursor:default;
}

/* ---------- Login ---------- */
.login-screen{
  position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 20% 20%,var(--brand-navy-700),var(--brand-navy-900) 60%);
}
.login-card{
  background:#fff;border-radius:var(--bs-border-radius-lg);padding:2.2rem 2rem;width:100%;max-width:380px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:4px solid var(--brand-coral-500);
}
.login-card h4{color:var(--brand-navy-900);display:flex;align-items:center;gap:.5rem}
.login-card h4 i{
  background:var(--brand-coral-500);color:#fff;width:2rem;height:2rem;border-radius:.5rem;
  display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;margin:0;
}

/* ---------- Auto-actualización de tickets (siempre activa, sin controles visibles) ---------- */
.fila-nueva{animation:sgt-destacar-fila 3.5s ease-out}
@keyframes sgt-destacar-fila{
  0%{background:var(--brand-coral-100)}
  100%{background:transparent}
}

.badge-count{font-size:.72rem;color:var(--brand-ink-500);font-weight:500;margin-left:.5rem;white-space:nowrap}
.badge-count i{margin-right:.15rem}

.aviso-nuevos-tickets{position:fixed;top:1rem;right:1rem;z-index:2100;display:flex;flex-direction:column;gap:.5rem;max-width:320px}
.aviso-nuevos-tickets-item{
  background:var(--brand-navy-900);color:#fff;padding:.65rem 1rem;border-radius:var(--bs-border-radius);
  box-shadow:0 8px 24px rgba(21,46,53,.35);font-size:.85rem;border-left:3px solid var(--brand-coral-500);
  animation:sgt-entrar-aviso .25s ease-out;
}
@keyframes sgt-entrar-aviso{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}

/* ---------- Previsualización de adjuntos ---------- */
.preview-text{white-space:pre-wrap;word-break:break-word;background:#fbfaf7;border:1px solid var(--brand-border);border-radius:.4rem;padding:.9rem;font-size:.82rem;max-height:70vh;overflow:auto}
.docx-preview{background:#fff;border:1px solid var(--brand-border);border-radius:.4rem;padding:1.2rem 1.5rem;max-height:70vh;overflow:auto}
.docx-preview img{max-width:100%}
.docx-preview table{border-collapse:collapse;margin-bottom:1rem}
.docx-preview table td,.docx-preview table th{border:1px solid var(--brand-border);padding:.3rem .5rem}
