* { box-sizing: border-box; }
body {
    margin: 0;
    padding: 40px 20px;
    background: #f5f6f8;
    color: #20242a;
    font-family: Arial, Helvetica, sans-serif;
}
.auth-panel {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 32px;
    background: #ffffff;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
}
.auth-brand { margin-bottom: 24px; text-align: center; }
.auth-brand img { display: block; width: 160px; max-width: 100%; height: auto; margin: 0 auto; }
h1 { margin: 0 0 24px; font-size: 22px; }
p { line-height: 1.5; }
form + form { margin-top: 28px; padding-top: 24px; border-top: 1px solid #e5e8ec; }
label { display: block; margin-bottom: 18px; color: #515964; font-size: 14px; }
input:not([type="hidden"]) {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #d8dde3;
    border-radius: 6px;
    background: #ffffff;
    color: #20242a;
    font: inherit;
    font-size: 16px;
}
button, .auth-panel > a {
    display: inline-block;
    padding: 10px 14px;
    border: 1px solid #2675d8;
    border-radius: 6px;
    background: #2675d8;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}
button:hover, .auth-panel > a:hover { background: #1d60b3; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #2675d8; outline-offset: 3px; }
code { overflow-wrap: anywhere; font-size: 14px; }
ul { padding-left: 24px; line-height: 1.8; }
@media (max-width: 480px) {
    body { padding: 24px 12px; }
    .auth-panel { padding: 24px; }
}
@media print {
    body { padding: 0; background: #ffffff; }
    .auth-panel { max-width: none; border: 0; }
    .auth-panel > a { display: none; }
}
