:root {
    --kaira-ink: #25251f;
    --kaira-gold: #92600b;
    --kaira-paper: #fbf8f1;
    --kaira-border: #e9dfcb;
}
body { color: var(--kaira-ink); }
body.task-login { background: radial-gradient(ellipse at 20% 10%, #fff0cd, transparent 65%), var(--kaira-paper); }
body.task-login #layout-content { background: transparent; }
body.task-login #logo { width: 225px; height: 70px; max-width: 70vw; margin: 0 auto 24px; }
body.task-login #login-form { width: min(100%, 400px); padding: 28px; background: #fff; border: 1px solid var(--kaira-border); border-radius: 20px; }
.kaira-intro { text-align: left; margin: 0 0 20px; }
.kaira-intro h2 { font-size: 24px; font-weight: 700; color: var(--kaira-ink); margin: 0 0 8px; }
.kaira-intro p { font-size: 15px; line-height: 1.5; color: #655e50; margin: 0; }
.task-login .formbuttons .btn { min-height: 48px; width: 100%; background: var(--kaira-gold); border-color: var(--kaira-gold); }
.task-login .formbuttons .btn:hover { background: #744c08; }
.task-login input.form-control { min-height: 48px; font-size: 16px; }
.task-login td.input { padding: 0 0 16px; }
.task-login td.input label { display: block; text-align: left; font-size: 14px; margin-bottom: 7px; font-weight: 600; }
.task-login #login-footer { font-size: 14px; }
.task-login .cf-turnstile { width: 100%; margin: 8px 0; }
input:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #a77212; outline-offset: 3px; }
#messagelist td.subject span.subject, #message-header .subject { overflow-wrap: anywhere; }
@media (max-width: 480px) {
    .task-login #layout-content { padding: 24px 16px; box-sizing: border-box; }
    body.task-login #login-form { padding: 22px 18px; box-sizing: border-box; }
    .task-login .formbuttons .btn { min-height: 48px; }
    .kaira-intro h2 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
