:root { --sutev: #1b7a3e; --sutev-dark: #135c2e; --sutev-light: #e8f4ec; }
body { background: #f4f6f5; }
.bg-sutev { background: var(--sutev) !important; }
.text-sutev { color: var(--sutev) !important; }
.btn-sutev { background: var(--sutev); border-color: var(--sutev); color: #fff; }
.btn-sutev:hover, .btn-sutev:focus { background: var(--sutev-dark); border-color: var(--sutev-dark); color: #fff; }
.logo-nav { height: 34px; background: #fff; border-radius: 4px; padding: 2px; }
.navbar .nav-link.active { font-weight: 600; border-bottom: 2px solid #fff; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.card-header { background: #fff; font-weight: 600; }
.stat { border-left: 4px solid var(--sutev); }
.stat .num { font-size: 2rem; font-weight: 700; color: var(--sutev); line-height: 1; }
.table-sm td, .table-sm th { vertical-align: middle; }
.table thead th { background: var(--sutev-light); white-space: nowrap; }
.vacante-libre { background: #fff8e1; }
.vacante-llena td.cupo { color: var(--sutev); font-weight: 600; }
.container-publico { max-width: 980px; }
.login-box { max-width: 420px; margin: 6vh auto; }
.login-box .logo { max-width: 180px; }
.item-row .form-control, .item-row .form-select { font-size: .875rem; }
.small-muted { font-size: .8rem; color: #6c757d; }
@media print { .navbar, .no-print, footer { display: none !important; } }
