 :root {
     --azul-xlhr: #1D3557;
     --verde-xlhr: #2ECC71;
     --gris-claro: #F5F6FA;
     --gris: #E0E0E0;
     --blanco: #fff;
 }

 body {
     margin: 0;
     font-family: 'Open Sans', Arial, sans-serif;
     background: var(--gris-claro);
     color: var(--azul-xlhr);
 }

 header {
     color: var(--azul-xlhr);
     background-color: var(--blanco);
     padding: 2rem 0 1rem 0;
     text-align: center;
     position: relative;
 }

 .logo-xlhr {
     display: flex;
     justify-content: center;
     align-items: center;
     margin-bottom: 1rem;
 }

 .logo-xlhr img {
     height: 64px;
     width: auto;
 }

 h1 {
     font-family: 'Montserrat', 'Inter', 'Poppins', sans-serif;
     font-size: 2.5rem;
     font-weight: 700;
     margin: 0;
     letter-spacing: 2px;
 }

 h2 {
     font-family: 'Montserrat', 'Inter', 'Poppins', sans-serif;
     font-size: 1.5rem;
     font-weight: 600;
     margin-top: 2rem;
     color: var(--azul-xlhr);
 }

 main {
     max-width: 600px;
     margin: 2rem auto;
     background: var(--blanco);
     border-radius: 16px;
     box-shadow: 0 2px 16px rgba(29, 53, 87, 0.08);
     padding: 2rem;
 }

 section {
     margin-bottom: 2rem;
 }

 form {
     display: flex;
     flex-direction: column;
     gap: 1rem;
 }

 input {
     padding: 0.75rem 1rem;
     border: 1px solid var(--gris);
     border-radius: 8px;
     font-size: 1rem;
     font-family: 'Open Sans', Arial, sans-serif;
 }

 button {
     background: var(--verde-xlhr);
     color: var(--blanco);
     border: none;
     border-radius: 8px;
     padding: 0.75rem 1.5rem;
     font-size: 1.1rem;
     font-family: 'Montserrat', 'Inter', 'Poppins', sans-serif;
     font-weight: 600;
     cursor: pointer;
     transition: background 0.2s;
 }

 button:hover {
     background: #27ae60;
 }

 footer {
     text-align: center;
     padding: 1.5rem 0;
     background: var(--gris-claro);
     color: var(--azul-xlhr);
     font-size: 1rem;
 }

 /* Íconos flat minimalistas */
 .icon-person {
     display: inline-block;
     vertical-align: middle;
     width: 24px;
     height: 24px;
     background: url('data:image/svg+xml;utf8,<svg fill="%231D3557" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="8" r="4"/><rect x="4" y="16" width="16" height="6" rx="3"/></svg>') no-repeat center center;
     background-size: contain;
     margin-right: 8px;
 }

 p, section {
    margin-bottom: 0;
 }

 h2 {
    margin-top: 0;
 }

 .container, footer, header {
    padding-left: 1rem;
    padding-right: 1rem;
 }