* { box-sizing: border-box; margin: 0; padding: 0; }

:root {
--primary: #1c2e72;
--secondary: #116dc8;
--danger-bg: #FFF0F0;
--danger-color: #E65B5B;
--danger-border: #FFE5E5;
--success-bg: #F0FFF4;
--success-color: #48BB78;
--success-border: #DCFCE7;
--body-bg: #f8f9fa;
}


body { 
font-family: 'Inter', sans-serif;
background: var(--body-bg) url("../img/bg-transito.svg") center/cover no-repeat fixed;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
}


.logo-muni {
width: 100px;
height: 100px;
margin: 0 auto 1.5rem;
background: url("https://recursos.losangeles.cl/img/escudo_transparente.png") center/contain no-repeat;
}


.main-card {
background: #fff;
max-width: 850px;
width: 100%;
padding: 3.5rem 2.5rem;
border-radius: 3rem;
box-shadow: 0 20px 50px rgba(93,89,131,0.23);
text-align: center;
}

h2 { font-size: 1.7rem; font-weight: 900; color: #190634; }
.A { font-size: 1.8rem; font-weight: 900; color: var(--primary); margin-bottom: 30px; }


.form-group { margin-bottom: 1.5rem; }
input[type="text"] {
width: 100%;
padding: 1rem;
background: #fff;
border: 0;
text-align: center;
outline: none;
}

.btn-base {
width: 340px;
margin: 0 auto;             
display: flex;              
justify-content: center;    
align-items: center;        
background-color: #116dc8; 
color: white;
border: none;
padding: .9rem 0.4rem;
border-radius: .4rem;
font-size: .8rem; 
font-weight: 600;  
cursor: pointer;
text-transform: uppercase;
letter-spacing: 1px;
position: relative; 
overflow: hidden;   
z-index: 1;         
-webkit-font-smoothing: subpixel-antialiased;
backface-visibility: hidden;
}

.btn-shine::before {
content: '';
position: absolute; top:0; left:-100%;
width: 100%; height: 100%;
background: linear-gradient(120deg, transparent, rgba(255,255,255,.3), transparent);
z-index: 1;
}
.btn-shine:hover::before { left:100%; transition: all 1.4s; }


.btn {
background-color: #1c2e72; 
color: white;
font-weight: 500;
padding: 8px 10px;
border-radius: 8px;
border: none;
font-size: .9rem;
cursor: pointer;
display: inline-block;
}

.alert {
padding: 15px;
margin-bottom: 15px;
border-radius: 1rem;
font-size: 0.9rem;
font-weight: 600;
border: none;
text-align: center;
}
.alert-danger { background: var(--danger-bg); color: var(--danger-color); border: 2px solid var(--danger-border);}
.alert-success { background: var(--success-bg); color: var(--success-color); border: 2px solid var(--success-border);}

#msg {
min-height: 2px;
margin-bottom: 1rem;
width: 100%;
display: flex;
justify-content: center;
}

@media (max-width: 650px) {
body { padding: 1rem; }
.main-card { padding: 1.8rem 1.2rem; border-radius: 2rem; }
h2 { font-size: 1.3rem; }
.A { font-size: 1.5rem; margin-bottom: 20px; }
.btn-base { width: 100%; padding: .8rem; font-size: .8rem; }
.logo-muni { width: 80px; height: 80px; margin-bottom: 1rem; }

#msg, .alert {
border-radius: 18px;
padding: 1rem 1.2rem;
margin-bottom: .9rem;
font-size: 1rem;
font-weight: 600;
line-height: 1;
}
#msg .btn, .alert .btn { display: block; width: 100%; margin-top: .6rem; padding: .8rem; border-radius: 8px; font-size: .9rem; }
#msg .btn.imprimir, #msg .btn.llenar { background-color: #142c5a; color: #fff; border: none; }
}

/* Normal */
a {
    text-decoration: none;
}

/* Al pasar el ratón (hover) */
a:hover {
    text-decoration: none;
}

/* Cuando está visitado */
a:visited {
    text-decoration: none;
}

/* Cuando está activo (click) */
a:active {
    text-decoration: none;
}

/* Cuando tiene foco */
a:focus {
    text-decoration: none;
}
  
