Files
glm-id-card-generator/glm-card-generator/src/components/Login.css
T

155 lines
2.8 KiB
CSS

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--azul-glm: #4F758B;
--azul-medio: #5B7F95;
--acero-claro: #6B8FA3;
--verde-glm: #6CC24A;
--verde-claro: #A4D65E;
--verde-bg: #EEF6E8;
--azul-seccion: #D6E8F4;
--gris-oscuro: #4A4A4A;
--gris-medio: #D0D0D0;
--gris-claro: #F5F5F5;
--blanco: #FFFFFF;
--naranja: #FF6A13;
}
.login-page {
min-height: 90vh;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
font-family: Arial, Helvetica, sans-serif;
}
.login-page.loading .login-card {
pointer-events: none;
opacity: 0.8;
}
.login-card {
background: var(--blanco);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(79, 117, 139, 0.12);
padding: 48px 40px;
width: 100%;
max-width: 400px;
text-align: center;
border: 1px solid var(--gris-medio);
}
.logo {
width: 180px;
height: auto;
margin-bottom: 24px;
}
.title {
font-size: 22px;
font-weight: 700;
color: var(--azul-glm);
letter-spacing: 0.5px;
margin-bottom: 6px;
text-transform: uppercase;
}
.login-divider {
height: 2px;
background: var(--verde-glm);
margin: 24px 0;
border-radius: 1px;
}
.btn-google {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
width: 100%;
padding: 14px 24px;
background: var(--blanco);
border: 2px solid var(--gris-medio);
border-radius: 10px;
font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
font-weight: 600;
color: var(--gris-oscuro);
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.btn-google:hover:not(:disabled) {
border-color: var(--verde-glm);
background: var(--verde-bg);
color: var(--azul-glm);
box-shadow: 0 4px 16px rgba(108, 194, 74, 0.2);
transform: translateY(-1px);
}
.btn-google:active:not(:disabled) {
transform: translateY(0);
}
.btn-google:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.google-icon {
flex-shrink: 0;
}
.domain-hint {
margin-top: 14px;
font-size: 12px;
color: var(--acero-claro);
font-weight: 500;
}
.error-message {
margin-top: 16px;
padding: 12px 16px;
background: #FDECEA;
border: 1px solid #F5C6CB;
border-radius: 8px;
font-size: 13px;
color: #C0392B;
text-align: left;
}
.spinner {
width: 40px;
height: 40px;
border: 3px solid var(--gris-medio);
border-top-color: var(--verde-glm);
border-radius: 50%;
animation: spin 0.8s linear infinite;
margin: 16px auto 0;
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}
@media (max-width: 480px) {
.login-card {
padding: 36px 24px;
}
.title {
font-size: 19px;
}
.logo {
width: 150px;
}
}