/** Login — breakpoints layout (tablette / mobile) */
@media (max-width: 900px) {
    .login-shell { grid-template-columns: 1fr; min-height: auto; }

    .login-brand {
        padding: 40px 28px;
        min-height: auto;
        flex-direction: column;
        gap: 0;
    }

    .login-brand::before { width: 380px; height: 380px; top: -110px; right: -110px; }
    .login-brand::after  { display: none; }

    .brand-inner { width: 100%; max-width: 460px; }
    .brand-card { padding: 18px 24px; gap: 28px; margin-bottom: 20px; }
    .brand-card img { height: 44px; max-width: 130px; }
    .brand-accent { margin-bottom: 14px; }
    .brand-title { font-size: 1.5rem; }

    .brand-footer {
        position: static;
        margin-top: 20px;
        width: 100%;
        text-align: center;
    }

    .login-form-wrap { padding: 40px 24px 56px; }
    .form-title { font-size: 1.5rem; }
}

@media (max-width: 480px) {
    .login-brand { padding: 24px 16px 28px; }
    .brand-inner { max-width: 100%; }
    .brand-card { gap: 20px; padding: 14px 18px; margin-bottom: 14px; }
    .brand-card img { height: 34px; max-width: 110px; }
    .brand-accent { width: 40px; height: 3px; margin-bottom: 10px; }
    .brand-title { font-size: 1.25rem; margin: 0; }
    .brand-footer { margin-top: 14px; font-size: 0.72rem; }
    .login-form-wrap { padding: 28px 20px 44px; }
    .form-title { font-size: 1.4rem; }
    .form-hint { font-size: 0.88rem; margin-bottom: 24px; }
    .field input { font-size: 16px; }
    .btn-submit { padding: 15px; min-height: 52px; font-size: 1rem; }
    .btn-ndf { font-size: 0.9rem; min-height: 52px; }
    .ndf-separator { margin: 18px 0 12px; }
}
