/* === ITA — Ingeniería Tecnológica Adaptativa === */

:root {
  --positive: #059669;
  --positive-bg: #d1fae5;
  --negative: #dc2626;
  --negative-bg: #fee2e2;
  --neutral: #9ca3af;
}

/* Balance colors */
.positivo { color: var(--positive); }
.negativo { color: var(--negative); }
.cero { color: var(--neutral); }

.monto {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* KPI cards - base class */
.kpi-card {
  @apply bg-white rounded-xl shadow-sm border border-gray-100 p-5;
}

.kpi-card .kpi-label {
  @apply text-xs font-semibold uppercase tracking-wider text-gray-400;
}

.kpi-card .kpi-value {
  @apply text-2xl font-bold mt-1.5 tracking-tight;
}

/* Table container */
.table-container {
  @apply bg-white rounded-xl shadow-sm border border-gray-100 overflow-hidden;
}

.table-container .table-title {
  @apply px-5 py-4 text-sm font-semibold text-gray-700 border-b border-gray-100 bg-gray-50/50;
}

/* Modern tables */
table.modern {
  @apply w-full text-sm;
}

table.modern thead th {
  @apply px-4 py-3 text-left text-xs font-semibold uppercase tracking-wider text-gray-500 bg-gray-50 border-b border-gray-200;
}

table.modern tbody td {
  @apply px-4 py-2.5 border-b border-gray-50;
}

table.modern tbody tr:hover {
  @apply bg-gray-50/50;
}

table.modern tbody tr:nth-child(even) {
  @apply bg-gray-50/30;
}

table.modern tbody tr.total-row td {
  @apply font-semibold bg-gray-50 border-t-2 border-gray-200;
}

table.modern tbody tr.total-row-final td {
  @apply font-bold text-white bg-gray-800;
}

/* Text alignment utilities (Tailwind doesn't have all we need) */
.text-right { text-align: right; }
.text-center { text-align: center; }

/* Monthly grid for cards */
.monthly-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.25rem 1rem;
}

@media (max-width: 640px) {
  .monthly-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Chart cards */
.chart-card {
  @apply bg-white rounded-xl shadow-sm border border-gray-100 p-5;
}

.chart-card h3 {
  @apply text-sm font-semibold text-gray-700 mb-4;
}

.chart-container {
  position: relative;
  height: 280px;
}

/* Year selector */
.anio-selector {
  @apply mb-6;
}

.anio-selector select {
  @apply px-4 py-2.5 rounded-xl border border-gray-200 bg-white text-sm font-medium text-gray-700
         shadow-sm cursor-pointer transition-colors;
}

.anio-selector select:focus {
  @apply outline-none ring-2 ring-emerald-500/30 border-emerald-400;
}

/* Print styles */
@media print {
  header, footer, .anio-selector, .no-print { display: none !important; }
  body { background: white !important; }
  .kpi-card, .table-container, .chart-card { 
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    break-inside: avoid;
  }
  @page { margin: 1.5cm; size: A4; }
}
