
:root{font-family:Inter,Arial,sans-serif;color:#102a56;background:#f4f7fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:40px 24px;
background:radial-gradient(ellipse at 12% 10%,#e1ebff,transparent 52%),radial-gradient(ellipse at 90% 90%,#e7f2ff,transparent 48%),#f7f9fd}
main{width:100%;max-width:460px;background:white;border:1px solid #e5ebf5;border-radius:28px;padding:42px;box-shadow:0 20px 70px #102a560c}
main.home{max-width:780px}img{display:block;width:136px;height:156px;object-fit:contain;margin:0 auto 30px}
.eyebrow{text-align:center;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:#61728e}
h1{text-align:center;font-size:27px;letter-spacing:-.7px;margin:12px 0}p{font-size:15px;line-height:1.6;color:#64738b;text-align:center;margin:0 0 30px}
label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}input{width:100%;font:inherit;border:1px solid #cbd5e5;border-radius:12px;padding:14px;background:#fbfcfe;color:#102a56}
input:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #006dfe;outline-offset:4px}
button,.button{border:0;border-radius:12px;background:#006dfe;color:white;font:inherit;font-weight:600;padding:15px;cursor:pointer}
.submit{width:100%;margin-top:26px}.note{margin:24px 0 0;font-size:12px}.error{background:#fff1f0;color:#9d2929;border-radius:10px;padding:12px;margin:20px 0 0;font-size:14px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.card{display:block;border:1px solid #dce5f4;border-radius:18px;padding:26px;text-decoration:none;color:#102a56;transition:border-color .15s,background .15s}
.card:hover{border-color:#006dfe;background:#f8fbff}.icon{font-size:30px;display:block;margin-bottom:22px}.card h2{font-size:20px;margin:0 0 10px}.card p{text-align:left;margin:0 0 24px;font-size:14px}.card strong{color:#006dfe;font-size:14px}
.logout{display:block;margin:28px auto 0;background:transparent;color:#64738b;font-size:13px;padding:10px}
@media(max-width:600px){main{padding:30px 24px}.cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}
