:root {
    --mm-auth-accent: #0075b2;
    --mm-auth-accent-dark: #005a8b;
    --mm-auth-panel: rgba(255, 255, 255, 0.96);
    --mm-auth-border: rgba(15, 23, 42, 0.12);
    --mm-auth-shadow: 0 30px 80px rgba(15, 23, 42, 0.14);
    --mm-auth-text: #122033;
    --mm-auth-muted: #5f6f85;
    --mm-auth-bg-a: #f4f8fc;
    --mm-auth-bg-b: #e9f2f8;
}

body.mileminder-admin .page-content,
body.mileminder-admin .content-wrapper,
body.mileminder-admin main {
    background:
        radial-gradient(circle at top left, rgba(0, 117, 178, 0.12), transparent 36%),
        linear-gradient(180deg, var(--mm-auth-bg-a), var(--mm-auth-bg-b));
}

body.mileminder-admin .pa-auth-card,
body.mileminder-admin .pa-auth-login-card,
body.mileminder-admin .users.form.content .card {
    border: 1px solid var(--mm-auth-border);
    border-radius: 24px;
    background: var(--mm-auth-panel);
    box-shadow: var(--mm-auth-shadow);
    color: var(--mm-auth-text);
}

body.mileminder-admin .pa-auth-card,
body.mileminder-admin .users.form.content .card {
    max-width: 560px;
    margin: 2rem auto;
    overflow: hidden;
}

body.mileminder-admin .pa-auth-login-card {
    max-width: 680px;
    margin: 2rem auto;
}

body.mileminder-admin .pa-auth-header,
body.mileminder-admin .users.form.content .card-body {
    padding: 2rem 2rem 1.5rem;
}

body.mileminder-admin .pa-auth-body,
body.mileminder-admin .pa-auth-footer {
    padding-left: 2rem;
    padding-right: 2rem;
}

body.mileminder-admin .pa-auth-title,
body.mileminder-admin .users.form.content h3 {
    color: var(--mm-auth-text);
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.mileminder-admin .pa-auth-subtitle,
body.mileminder-admin .users.form.content .text-muted {
    color: var(--mm-auth-muted) !important;
}

body.mileminder-admin .form-control,
body.mileminder-admin input.form-control,
body.mileminder-admin select.form-control,
body.mileminder-admin textarea.form-control {
    border-radius: 14px;
    border: 1px solid rgba(15, 23, 42, 0.14);
    min-height: 46px;
    padding: 0.75rem 0.95rem;
    box-shadow: none;
}

body.mileminder-admin .form-control:focus {
    border-color: rgba(0, 117, 178, 0.48);
    box-shadow: 0 0 0 0.2rem rgba(0, 117, 178, 0.12);
}

body.mileminder-admin .btn-primary,
body.mileminder-admin button.btn-primary,
body.mileminder-admin input.btn-primary {
    background: var(--mm-auth-accent) !important;
    border-color: var(--mm-auth-accent) !important;
    border-radius: 14px;
    font-weight: 800;
    min-height: 44px;
}

body.mileminder-admin .btn-primary:hover,
body.mileminder-admin .btn-primary:focus,
body.mileminder-admin button.btn-primary:hover,
body.mileminder-admin button.btn-primary:focus {
    background: var(--mm-auth-accent-dark) !important;
    border-color: var(--mm-auth-accent-dark) !important;
}

body.mileminder-admin .alert {
    border-radius: 14px;
}

body.mileminder-admin .pa-auth-footer,
body.mileminder-admin .pa-auth-footer a,
body.mileminder-admin .pa-auth-body a,
body.mileminder-admin .users.form.content a {
    color: var(--mm-auth-accent);
}

body.mileminder-admin .pa-auth-footer a:hover,
body.mileminder-admin .pa-auth-body a:hover,
body.mileminder-admin .users.form.content a:hover {
    color: var(--mm-auth-accent-dark);
}
