:root{
  --brand:#ff7700; --brand-600:#e35d00; --success-600:#1f8a3b; --danger-600:#c62828;
  --text:#232323; --surface:#f6f8fa; --radius:.6rem;
}
html,body{ background:var(--surface); color:var(--text); }

/* Botones base */
.btn{ border-radius:var(--radius); font-weight:600; letter-spacing:.2px; box-shadow:none!important; }
.btn + .btn{ margin-left:.5rem; }

/* Primario corporativo */
.btn-primary{ background:var(--brand)!important; border-color:var(--brand)!important; color:#fff!important; }
.btn-primary:hover,.btn-primary:focus{ background:var(--brand-600)!important; border-color:var(--brand-600)!important; }

/* Neutro contorno */
.btn-outline-secondary{ color:#344054!important; background:#fff!important; border-color:#D0D5DD!important; }
.btn-outline-secondary:hover,.btn-outline-secondary:focus{ background:#F9FAFB!important; color:#101828!important; }

/* Éxito / Peligro */
.btn-success{ background:var(--success-600)!important; border-color:var(--success-600)!important; }
.btn-danger{ background:var(--danger-600)!important; border-color:var(--danger-600)!important; }

/* Mapeos para no tocar plantillas antiguas */
.btn-warning,.btn-secondary,.btn-outline-primary,.btn-info{
  background:var(--brand)!important; border-color:var(--brand)!important; color:#fff!important;
}
.btn-warning:hover,.btn-warning:focus,
.btn-secondary:hover,.btn-secondary:focus,
.btn-outline-primary:hover,.btn-outline-primary:focus,
.btn-info:hover,.btn-info:focus{
  background:var(--brand-600)!important; border-color:var(--brand-600)!important; color:#fff!important;
}

/* Inputs y Select2 */
.form-control,.form-select{ height:38px; border-radius:var(--radius); }
.select2-container .select2-selection--single{
  height:38px!important; border-radius:var(--radius)!important; border-color:#D0D5DD!important; display:flex; align-items:center;
}
.select2-selection__rendered{ line-height:38px!important; padding-left:.75rem!important; }
.select2-selection__arrow{ height:38px!important; }

/* Cards */
.card{ border-radius:.75rem; box-shadow:0 2px 8px rgba(44,62,80,.05); }

/* Navbar branding por si hay bases distintas */
.navbar-brand{ color:var(--brand)!important; font-weight:700; }

/* Print */
@media print{
  nav,.btn,.card-header,.card-footer,.no-print{ display:none!important; }
  .card,.card-body{ box-shadow:none!important; border:none!important; }
  body{ background:#fff!important; }
  .table{ font-size:12px; }
}