
*{ 
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial, Helvetica, sans-serif;
}
body{ 
    background:#eae6f3; 
}

.contenedor{
    width:90%;
    max-width:1100px;
    margin:30px auto;
}
h1{
    text-align:center;
    color:#2b1055; 
    margin-bottom:30px;
}
.caja{
    background:white;
    margin-bottom:25px;
    padding:20px;
    border-radius:10px;
    box-shadow:0px 4px 12px rgba(43, 16, 85, 0.12); 
}
h2{
    color:#5c3a93; 
    margin-bottom:20px; 
}
label{
    display:block;
    margin-top:15px;
    font-weight:bold;
    color:#4a3b63; 
}
input{
    width:100%;
    padding:10px;
    margin-top:5px;
    border:1px solid #c3b2db; 
    border-radius:5px;
    font-size:15px;
}
input:focus{
    outline:none;
    border:2px solid #7c52b7; 
    background:#f6f2ff;
}


button{
    margin-top:20px;
    padding:12px 20px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    color:white;
    font-size:15px;
    margin-right:10px;
    transition:.3s;
}
#btnValidar{   background:#8e6bb8;} 
#btnGuardar{   background:#5c3a93;} 
#btnConsultar{ background:#442375;} 
#btnLoad{      background:#2b1055;} 

button:hover{
    opacity:.85;
    transform:scale(1.03);
}


#respuesta{
    background:#f6f2ff;
    border:1px solid #c3b2db;
    padding:15px;
    min-height:40px;
    border-radius:6px;
    color: #442375;
}
#datosServidor{
    margin-top:15px;
    background:#faf8ff;
    padding:15px;
    border-radius:6px;
    border:1px solid #dcd1ed;
    color: #442375;
}
#contenidoLoad{
    margin-top:15px;
    background:#f1ebf7;
    padding:15px;
    border-radius:6px;
    border:1px solid #b8a4d4;
    color: #2b1055;
}


#buscar{
    margin-bottom:20px;
}
table{
    width:100%;
    border-collapse:collapse;
}
table th{
    background:#442375; 
    color:white;
    padding:12px;
}
table td{
    padding:10px;
    border:1px solid #dee2e6;
}
table tr:nth-child(even){
    background:#f9f7fc;
}
table tr:hover{
    background:#e8def8; 
}


.error{
    color:#b3261e; 
    font-size:13px;
    margin-top:5px;
}
.correcto{
    border:2px solid #146c36;
}
.incorrecto{
    border:2px solid #b3261e;
}


@media(max-width:700px){
    button{
        width:100%;
        margin-bottom:10px;
    }
}
