 :root {
     --unt-verde: #0C8F3D;
     --unt-dorado: #E6AD09;
     --unt-negro: #373435;
     --unt-amarillo: #FDF107;
     --unt-rojo: #D8261A;
     --unt-blanco: #FEFEFE;
     --unt-azul-osc: #1E1A17;
     --unt-azul: #12377B;
 }

 body {
     font-family: 'Segoe UI', system-ui, sans-serif;
     background: url('../../images/bg-login.png') center center / cover no-repeat;
     min-height: 100vh;
     display: flex;
     align-items: center;
 }

 body::before {
     content: '';
     position: fixed;
     inset: 0;
     background: rgba(18, 55, 123, 0.65);
 }

 .container {
     position: relative;
     z-index: 1;
 }

 .login-card {
     border: none;
     border-radius: 12px;
     box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4);
     overflow: hidden;
 }

 .login-header {
     background: var(--unt-azul);
     border-bottom: 4px solid var(--unt-dorado);
     padding: 1.75rem 1.5rem 1.5rem;
     text-align: center;
     color: var(--unt-blanco);
 }

 .login-header .escudo {
     margin-bottom: .6rem;
 }

 .login-header h5 {
     font-weight: 700;
     font-size: .95rem;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     margin: 0;
 }

 .login-header small {
     color: var(--unt-dorado);
     font-size: .7rem;
     letter-spacing: 1px;
 }

 .login-body {
     padding: 2rem;
     background: var(--unt-blanco);
 }

 .form-label {
     font-weight: 700;
     font-size: .8rem;
     color: var(--unt-negro);
 }

 .input-group-text {
     background: #f0f4ff;
     border-right: none;
     color: var(--unt-azul);
 }

 .form-control {
     border-left: none;
     color: var(--unt-negro);
 }

 .form-control:focus {
     border-color: var(--unt-azul);
     box-shadow: 0 0 0 .2rem rgba(18, 55, 123, .2);
     border-left: none;
 }

 .btn-login {
     background: var(--unt-azul);
     border: none;
     color: var(--unt-blanco);
     font-weight: 700;
     letter-spacing: 1px;
     padding: .65rem;
     transition: background .2s;
 }

 .btn-login:hover {
     background: var(--unt-verde);
     color: var(--unt-blanco);
 }

 .card-footer {
     background: var(--unt-negro) !important;
     color: var(--unt-dorado) !important;
     font-size: .65rem;
     letter-spacing: 1.5px;
     text-transform: uppercase;
     text-align: center;
     padding: .6rem;
 }
