.brand-cruz { color: #ffc107; font-size: 1.4rem; margin: 0 .6rem 0 .8rem; }
.small-box { border-radius: .4rem; } .small-box .inner { padding: 8px 10px; } .small-box h4 { margin-bottom: 2px; font-weight: 700; }
.tabla-mensual td, .tabla-mensual th { white-space: nowrap; font-size: .85rem; }
.btn-xs { padding: .1rem .35rem; font-size: .75rem; }
/* pantalla de entrada: foto de la Iglesia de fondo */
.fondo-iglesia { background: #343a40 url('fondo-iglesia.jpg') center / cover no-repeat fixed; }
.fondo-iglesia::before { content: ''; position: fixed; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, .6)); }
.fondo-iglesia .login-box { position: relative; z-index: 1; }
.titulo-publico { color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, .6); }
.titulo-publico h1 { font-size: 1.9rem; font-weight: 700; margin: 0; }
.titulo-publico .subtitulo { color: #ffc107; letter-spacing: .04em; }
.cruz-grande { font-size: 2.4rem; color: #ffc107; line-height: 1; }
.credito { color: rgba(255, 255, 255, .8); font-size: .8rem; margin-top: 12px; text-shadow: 0 1px 4px rgba(0, 0, 0, .7); }
.login-box { width: 380px; max-width: calc(100vw - 32px); }
@media print { .main-sidebar, .main-header, form, .main-footer, .btn { display: none !important; } .content-wrapper { margin-left: 0 !important; } }
