:root{font-family:Inter,"Segoe UI",sans-serif;color:#21384b;background:#f3f6f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:5vh 20px;background:radial-gradient(ellipse at 15% 0,#dae8f0,transparent 55%),#f3f6f9}.auth-card{width:min(100%,550px);margin:auto;padding:40px;background:white;border:1px solid #dde5ec;border-radius:24px;box-shadow:0 20px 80px #1d3c5510}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#233c51;font-size:21px;font-weight:750}.brand small{display:block;font-size:9px;letter-spacing:1.5px;color:#72879a;font-weight:500;margin-top:6px}.monogram{display:grid;place-items:center;width:53px;height:53px;border-radius:16px;background:#294f69;color:#fff;font-size:18px}h1{font-size:30px;letter-spacing:-.9px;margin:34px 0 12px}h2{font-size:16px;margin:28px 0 12px}p{font-size:14px;line-height:1.7;color:#667a8b}.hint{font-size:12px;color:#7c8e9c}.notice,.error{padding:13px 15px;border-radius:10px;font-size:13px;line-height:1.6;margin:18px 0}.notice{background:#ecf6f1;color:#366b57}.error{background:#fff0ee;color:#a3483d}label{display:block;font-size:12px;font-weight:600;margin:18px 0;color:#526a7e}input{display:block;width:100%;margin-top:8px;min-height:47px;padding:11px 13px;border:1px solid #d8e2ea;border-radius:10px;font:inherit;font-size:14px;background:#fcfdfe;color:#223c50}input:focus{outline:3px solid #e2eef5;border-color:#668fa9}.fields{display:grid;grid-template-columns:2fr 1fr;gap:14px}button,.button{display:block;width:100%;padding:14px 16px;border:0;border-radius:10px;font:inherit;font-size:14px;font-weight:650;color:#fff;background:#2e5b78;cursor:pointer;text-align:center;text-decoration:none;margin-top:24px}button span{float:right}button:hover,.button:hover{background:#244960}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#edf2f6;color:#38566d}.secondary:hover{background:#e1eaf1}.logout{margin-top:32px;padding-top:8px;border-top:1px solid #e5ebef}.back{color:#326b8c;font-size:13px}footer{font-size:11px;color:#8d9aa5;margin-top:32px;padding-top:20px;border-top:1px solid #e8edf1}@media(max-width:550px){body{padding:24px 14px}.auth-card{padding:28px 22px;border-radius:18px}h1{font-size:27px}.brand{font-size:20px}}
