:root{
  --bg:#f6f8fb;
  --surface:#ffffff;
  --primary:#0e6b63; /* teal */
  --primary-600:#0b5b50;
  --accent:#ffb703; /* warm yellow */
  --muted:#6b7280;
  --card-border:rgba(16,24,32,0.06);
}

html{font-size:14px}
@media (min-width:768px){html{font-size:16px}}

html{position:relative;min-height:100%}
body{background:var(--bg);margin-bottom:60px;font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial}

/* Cards */
.card{background:var(--surface);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 6px 18px rgba(16,24,32,0.06)}
.card-header{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-600) 100%);color:#fff;border-bottom:0;padding:0.9rem 1.25rem;border-top-left-radius:12px;border-top-right-radius:12px}
.card-title{font-weight:600}

/* Buttons */
.btn{border-radius:8px}
.btn-primary{background:var(--primary);border-color:var(--primary-600);color:#fff}
.btn-primary:hover{background:var(--primary-600)}
.btn-success{background:#0b8a66;border-color:#087155;color:#fff}
.btn-outline-warning{border-color:#f59e0b;color:#f59e0b}

/* Form controls */
.form-control{border-radius:8px;border:1px solid rgba(16,24,32,0.08)}
.form-control:focus{box-shadow:0 4px 18px rgba(14,107,99,0.08);border-color:var(--primary)}

/* Table */
.table{background:transparent}
.table thead{background:transparent}
.table thead th{border-bottom:0;color:#0f172a}
.table thead.table-dark th, .table thead.table-dark td {
  /* asegurar contraste cuando se usa la clase table-dark */
  color: #fff !important;
}

/* Sobrescribir fondo oscuro por defecto y usar paleta primaria */
.table thead.table-dark{
  background: linear-gradient(90deg,var(--primary),var(--primary-600)) !important;
}
.table thead.table-dark th, .table thead.table-dark td{
  color: #ffffff !important;
  vertical-align: middle;
}
.table tbody tr:hover{background:rgba(14,107,99,0.03)}

/* Badges */
.badge{border-radius:6px;padding:.35em .6em;font-weight:600}
.badge.bg-info{background:#e6f6f2;color:var(--primary)}

/* Footer */
.footer{position:fixed;bottom:0;width:100%;background:transparent}

/* Helper */
.text-primary{color:var(--primary)!important}

/* Validation focus */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {box-shadow:0 0 0 0.1rem white,0 0 0 0.25rem rgba(14,107,99,0.22)}

/* Dashboard: números más gruesos */
.card .display-6, .card .display-5 {
  font-weight: 800;
  color: var(--primary);
  letter-spacing: -0.5px;
}

