* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body.aicp-login {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 24px;
    color: #172033;
    background: #f5f7fb;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.aicp-login__card {
    width: min(100%, 420px);
    padding: 44px 40px 40px;
    border: 1px solid #e3e8f2;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(30, 43, 70, .12);
}
.aicp-login__logo { display: block; width: min(100%, 320px); height: auto; margin: 0 auto 34px; }
.aicp-login__form { display: grid; gap: 9px; }
.aicp-login__form label { margin-top: 8px; font-size: 14px; font-weight: 650; }
.aicp-login__form input[type="text"],
.aicp-login__form input[type="password"] {
    width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #cbd5e1; border-radius: 9px;
    color: #111827; background: #fff; font: inherit;
}
.aicp-login__form input:focus { border-color: #2563eb; outline: 3px solid rgba(37, 99, 235, .18); }
.aicp-login__remember { display: flex; gap: 8px; align-items: center; font-weight: 500 !important; }
.aicp-login__button {
    width: 100%; min-height: 50px; margin-top: 12px; padding: 14px 20px; border: 0; border-radius: 10px;
    color: #fff; background: #2563eb; font-size: 17px; font-weight: 700; cursor: pointer;
}
.aicp-login__button:hover { background: #1d4ed8; }
.aicp-login__button:focus-visible { outline: 3px solid #111827; outline-offset: 3px; }
.aicp-login__error { margin: 0 0 20px; padding: 12px 14px; border: 1px solid #fecaca; border-radius: 8px; color: #991b1b; background: #fef2f2; font-size: 14px; line-height: 1.45; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 520px) { body.aicp-login { padding: 16px; } .aicp-login__card { padding: 34px 24px 28px; } }

