/* Styles used only by the sign-in page. */
.login-page{padding:28px 18px;background:radial-gradient(ellipse at top,#315c96,#1c3967);}
.login-card{max-width:580px;padding:30px 36px;border:0;box-shadow:0 20px 65px #10284c40;}
.login-heading{text-align:center;}
.login-logo{display:block;width:100px;height:126px;object-fit:contain;margin:0 auto 12px;}
.login-card h1{font-size:36px;color:#203f72;margin:0;line-height:1.4;}
.login-subtitle{font-size:14px;letter-spacing:1px;margin:4px 0 22px;color:#63738b;}
.login-systems{display:grid;gap:16px;}
.login-system{padding:20px;border:1px solid #dce6f5;border-radius:16px;background:#f5f8ff;}
.login-system h2{font-size:19px;color:#203f72;}
.login-system p{font-size:14px;line-height:1.9;margin:7px 0 16px;color:#4f6078;}
.login-system .button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:12px 16px;font-size:15px;line-height:1.65;text-align:left;white-space:normal;}
.login-google{background:#2464d5;color:white;}
.login-google:hover{background:#1b50b1;}
.login-official{background:#f0faf7;border-color:#cde9df;}
.login-official h2{color:#14654f;}
.login-external{background:#128065;color:white;}
.login-external:hover{background:#0b644e;}
.login-note{margin-top:22px;padding-top:17px;border-top:1px solid #e2e7ef;text-align:center;}
.login-note p{font-size:12px;line-height:1.9;color:#65738a;margin:0 0 5px;}
@media(max-width:480px){.login-page{padding:18px 12px;}.login-card{padding:24px 20px;}.login-card h1{font-size:31px;}.login-logo{width:88px;height:110px;}.login-system{padding:17px;}.login-system .button{font-size:14px;}}
