.ol-login-page{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:32px 20px;
}
.ol-login-card{
width:100%;
max-width:598px;
min-height:412px;
background:#fff;
border:1px solid #d9d9d9;
border-radius:12px;
box-shadow:0 2px 5px rgba(0,0,0,.28);
padding:62px 40px 50px;
display:flex;
flex-direction:column;
align-items:center;
}
.ol-brand{
font-size:36px;
line-height:1;
letter-spacing:.22em;
font-weight:700;
color:#2385ff;
margin-bottom:24px;
text-align:center;
}
.ol-title{
margin:0 0 36px;
font-size:30px;
line-height:1.15;
font-weight:800;
color:#101828;
text-align:center;
}
.ol-google-btn{
width:100%;
min-height:56px;
border:0;
border-radius:10px;
background:#062f49;
color:#fff;
text-decoration:none;
display:flex;
align-items:center;
justify-content:center;
gap:12px;
padding:12px 18px;
font-size:20px;
font-weight:700;
transition:background .2s ease, transform .2s ease;
}
.ol-google-btn:hover{
background:#05283e;
transform:translateY(-1px);
}
.ol-google-icon{
width:38px;
height:38px;
border-radius:50%;
background:#fff;
color:#1a73e8;
display:inline-flex;
align-items:center;
justify-content:center;
font-size:29px;
font-weight:800;
font-family:Arial,Helvetica,sans-serif;
flex:0 0 38px;
}
.ol-divider{
width:100%;
display:flex;
align-items:center;
gap:20px;
margin:32px 0 18px;
color:#667085;
font-size:17px;
}
.ol-divider::before,
.ol-divider::after{
content:"";
height:1px;
flex:1;
background:#d0d5dd;
}
.ol-email-toggle{
appearance:none;
border:0;
background:transparent;
padding:0;
font:inherit;
color:#101828;
font-size:22px;
line-height:1.3;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
}
.ol-chevron{
width:10px;
height:10px;
border-right:2px solid currentColor;
border-bottom:2px solid currentColor;
transform:rotate(45deg) translateY(-2px);
transition:transform .2s ease;
}
.ol-email-toggle[aria-expanded="true"] .ol-chevron{
transform:rotate(225deg) translate(-1px,-1px);
}
.ol-email-form{
display:none;
width:100%;
margin-top:24px;
}
.ol-email-form.open{display:block}
.ol-field{
width:100%;
height:52px;
border:1px solid #cfd4dc;
border-radius:8px;
padding:0 14px;
font-size:16px;
margin-bottom:12px;
outline:none;
}
.ol-field:focus{
border-color:#2385ff;
box-shadow:0 0 0 3px rgba(35,133,255,.12);
}
.ol-submit{
width:100%;
height:52px;
border:0;
border-radius:8px;
background:#2385ff;
color:#fff;
font-size:17px;
font-weight:700;
cursor:pointer;
}
/* Tablet */
@media (max-width:768px){
.ol-login-page{padding:26px 18px}
.ol-login-card{
max-width:540px;
min-height:auto;
padding:52px 34px 44px;
}
.ol-brand{font-size:31px;margin-bottom:22px}
.ol-title{font-size:34px;margin-bottom:30px}
.ol-google-btn{font-size:18px;min-height:54px}
.ol-email-toggle{font-size:20px}
}
/* Mobile */
@media (max-width:480px){
.ol-login-page{
min-height:100svh;
padding:22px 14px;
}
.ol-login-card{
max-width:100%;
border-radius:10px;
padding:38px 20px 34px;
box-shadow:0 2px 6px rgba(0,0,0,.20);
}
.ol-brand{
font-size:25px;
letter-spacing:.16em;
margin-bottom:20px;
}
.ol-title{
font-size:30px;
line-height:1.15;
margin-bottom:28px;
}
.ol-google-btn{
min-height:52px;
border-radius:8px;
font-size:16px;
gap:10px;
padding:10px 12px;
}
.ol-google-icon{
width:32px;
height:32px;
flex-basis:32px;
font-size:24px;
}
.ol-divider{
margin:25px 0 17px;
gap:14px;
font-size:15px;
}
.ol-email-toggle{
font-size:17px;
gap:8px;
}
.ol-field,
.ol-submit{
height:50px;
font-size:16px;
}
}
/* Very small phones */
@media (max-width:360px){
.ol-login-card{padding:32px 16px 30px}
.ol-brand{font-size:22px}
.ol-title{font-size:27px}
.ol-google-btn{font-size:15px}
.ol-email-toggle{font-size:16px}
}
(function(){
const toggle = document.querySelector('.ol-email-toggle');
const form = document.getElementById('olEmailForm');
if(toggle && form){
toggle.addEventListener('click', function(){
const isOpen = form.classList.toggle('open');
toggle.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
});
}
})();