/**

 * CCRMV Login — Sport Tech Premium V5.2 Clean (escopo isolado: .ccrmv-login)

 */

:root {

    --ccrmv-login-navy: #050810;

    --ccrmv-login-navy-mid: #0a101c;

    --ccrmv-login-navy-light: #111827;

    --ccrmv-login-accent: #f26422;

    --ccrmv-login-accent-hover: #ff8a19;

    --ccrmv-login-accent-soft: rgba(242, 100, 34, 0.2);

    --ccrmv-login-text: #eef2f8;

    --ccrmv-login-text-muted: rgba(200, 212, 230, 0.72);

    --ccrmv-login-card-bg: rgba(10, 16, 28, 0.92);

    --ccrmv-login-card-text: #eef2f8;

    --ccrmv-login-card-muted: rgba(168, 182, 204, 0.78);

    --ccrmv-login-card-border: rgba(100, 130, 170, 0.28);

    --ccrmv-login-input-bg: rgba(4, 8, 16, 0.55);

    --ccrmv-login-input-border: rgba(90, 115, 145, 0.38);

    --ccrmv-login-border: rgba(255, 255, 255, 0.08);

    --ccrmv-login-radius: 20px;

    --ccrmv-login-input-h: 52px;

}



html.ccrmv-login-page,

body.ccrmv-login-page {

    margin: 0;

    min-height: 100dvh;

    overflow-x: hidden;

    background: var(--ccrmv-login-navy);

    color: var(--ccrmv-login-text);

    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

}



.ccrmv-login {

    position: relative;

    min-height: 100dvh;

    display: flex;

    flex-direction: column;

    padding:

        max(1.25rem, env(safe-area-inset-top))

        max(1rem, env(safe-area-inset-right))

        max(1.25rem, env(safe-area-inset-bottom))

        max(1rem, env(safe-area-inset-left));

}



.ccrmv-login__bg {

    position: fixed;

    inset: 0;

    z-index: 0;

    pointer-events: none;

    background:

        radial-gradient(ellipse 90% 65% at 48% 44%, rgba(60, 140, 255, 0.06), transparent 62%),

        radial-gradient(ellipse 85% 60% at 50% 42%, rgba(242, 100, 34, 0.07), transparent 62%),

        radial-gradient(ellipse 55% 45% at 18% 28%, rgba(242, 100, 34, 0.05), transparent 55%),

        radial-gradient(ellipse 45% 40% at 82% 68%, rgba(60, 100, 160, 0.05), transparent 50%),

        linear-gradient(160deg, var(--ccrmv-login-navy) 0%, var(--ccrmv-login-navy-mid) 42%, var(--ccrmv-login-navy-light) 100%);

}



.ccrmv-login__bg-grid {

    position: absolute;

    inset: 0;

    opacity: 0.35;

    background-image:

        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),

        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);

    background-size: 48px 48px;

    mask-image: radial-gradient(ellipse 75% 65% at 50% 45%, #000 20%, transparent 78%);

    -webkit-mask-image: radial-gradient(ellipse 75% 65% at 50% 45%, #000 20%, transparent 78%);

}



.ccrmv-login__bg-glow {

    position: absolute;

    inset: 0;

    background: radial-gradient(ellipse 42% 38% at 48% 46%, rgba(60, 140, 255, 0.06), transparent 70%);

    pointer-events: none;

}



.ccrmv-login__bg-pattern {

    position: absolute;

    inset: 0;

    opacity: 0;

    background: none;

}



.ccrmv-login__shell {

    position: relative;

    z-index: 1;

    flex: 1;

    display: grid;

    align-items: center;

    gap: 1.75rem;

    width: 100%;

    max-width: 100%;

    margin: 0 auto;

}



@media (min-width: 601px) {

    .ccrmv-login__shell {

        max-width: min(1380px, 94vw);

    }

}



@media (min-width: 1100px) {

    .ccrmv-login__shell {

        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

        gap: clamp(2rem, 5vw, 4.5rem);

        min-height: calc(100dvh - 5.5rem);

        align-items: center;

        max-width: min(1480px, 94vw);

    }

}



@media (min-width: 1366px) {

    .ccrmv-login__shell {

        max-width: min(1480px, 92vw);

        gap: clamp(2.5rem, 4vw, 4rem);

    }

}



.ccrmv-login__hero {

    position: relative;

    display: flex;

    flex-direction: column;

    justify-content: center;

    gap: 1.35rem;

    padding: 0.25rem 0;

    z-index: 1;

}



/* === Hero / identidade === */

.ccrmv-login__logo-wrap {

    display: inline-block;

    max-width: 220px;

    position: relative;

    z-index: 1;

}



.ccrmv-login__logo {

    display: block;

    width: auto;

    height: auto;

    max-width: min(220px, 44vw);

    max-height: 132px;

    object-fit: contain;

    filter: drop-shadow(0 14px 36px rgba(0, 0, 0, 0.38));

}



@media (min-width: 1100px) {

    .ccrmv-login__logo {

        max-width: 250px;

        max-height: 150px;

    }

}



@media (min-width: 1366px) {

    .ccrmv-login__logo-wrap {

        max-width: 300px;

    }



    .ccrmv-login__logo {

        max-width: 290px;

        max-height: 175px;

    }

}



.ccrmv-login__headline {

    margin: 0;

    position: relative;

    z-index: 1;

    font-size: clamp(1.85rem, 3.2vw, 2.75rem);

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -0.02em;

    color: #fff;

    text-transform: uppercase;

}



.ccrmv-login__headline-line {

    display: block;

    font-size: 0.72em;

    font-weight: 700;

    letter-spacing: 0.02em;

    margin-bottom: 0.12em;

}



@media (min-width: 1366px) {

    .ccrmv-login__headline {

        font-size: clamp(2rem, 2.75vw, 2.95rem);

    }

}



.ccrmv-login__headline-accent {

    display: block;

    color: var(--ccrmv-login-accent);

    font-size: 1.05em;

    letter-spacing: -0.01em;

}



.ccrmv-login__subtitle {

    margin: 0;

    position: relative;

    z-index: 1;

    max-width: 30rem;

    font-size: clamp(1rem, 1.45vw, 1.15rem);

    line-height: 1.55;

    color: var(--ccrmv-login-text-muted);

}



.ccrmv-login__features {

    list-style: none;

    margin: 0.35rem 0 0;

    padding: 0;

    display: flex;

    flex-direction: column;

    gap: 0.85rem;

    position: relative;

    z-index: 1;

}



.ccrmv-login__feature {

    display: flex;

    align-items: flex-start;

    gap: 0.85rem;

}



.ccrmv-login__feature-icon {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    width: 2.25rem;

    height: 2.25rem;

    border-radius: 10px;

    border: 1px solid rgba(255, 120, 50, 0.35);

    background: rgba(255, 100, 30, 0.06);

    color: rgba(255, 120, 40, 0.92);

    font-size: 1rem;

}



.ccrmv-login__feature-copy {

    display: flex;

    flex-direction: column;

    gap: 0.15rem;

    min-width: 0;

}



.ccrmv-login__feature-title {

    font-size: 0.875rem;

    font-weight: 700;

    color: var(--ccrmv-login-text);

    line-height: 1.35;

    text-transform: uppercase;

    letter-spacing: 0.04em;

}



.ccrmv-login__feature-desc {

    display: none;

    font-size: 0.8125rem;

    line-height: 1.45;

    color: var(--ccrmv-login-text-muted);

}



@media (min-width: 1100px) {

    .ccrmv-login__feature-desc {

        display: block;

    }

}



.ccrmv-login__mobile-tagline {
    display: none;
    margin: 0;
    font-size: 0.95rem;
    color: var(--ccrmv-login-text-muted);
    text-align: center;
}

.ccrmv-login__mobile-headline {
    display: none;
    margin: 0;
    text-align: center;
    font-size: clamp(1.35rem, 5.2vw, 1.55rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
    max-width: 100%;
    overflow-wrap: anywhere;
}



/* === Painel login === */

.ccrmv-login__panel {

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    width: 100%;

    position: relative;

    z-index: 2;

}



.ccrmv-login__card {

    position: relative;

    width: 100%;

    max-width: 460px;

    background: var(--ccrmv-login-card-bg);

    color: var(--ccrmv-login-card-text);

    border-radius: var(--ccrmv-login-radius);

    border: 1px solid var(--ccrmv-login-card-border);

    box-shadow:

        0 32px 64px -20px rgba(0, 0, 0, 0.65),

        0 16px 32px -12px rgba(0, 0, 0, 0.45),

        inset 0 1px 0 rgba(255, 255, 255, 0.04);

    overflow: hidden;

    backdrop-filter: blur(8px);

    -webkit-backdrop-filter: blur(8px);

}



.ccrmv-login__card-accent {

    height: 2px;

    background: linear-gradient(90deg, transparent 0%, var(--ccrmv-login-accent) 30%, var(--ccrmv-login-accent-hover) 70%, transparent 100%);

    opacity: 0.9;

}



@media (prefers-reduced-motion: no-preference) {

    .ccrmv-login__card {

        animation: ccrmvLoginEnter 0.55s cubic-bezier(0.16, 1, 0.3, 1);

    }

}



@keyframes ccrmvLoginEnter {

    from {

        opacity: 0;

        transform: translateY(14px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}



.ccrmv-login__card-body {

    padding: 1.85rem 2rem 1.65rem;

}



@media (max-width: 600px) {

    .ccrmv-login__card-body {

        padding: 1.5rem 1.25rem 1.35rem;

    }

}



.ccrmv-login__card-title {

    margin: 0 0 0.3rem;

    font-size: 1.375rem;

    font-weight: 700;

    letter-spacing: -0.01em;

    color: var(--ccrmv-login-card-text);

    padding-bottom: 0.55rem;

    border-bottom: 2px solid var(--ccrmv-login-accent);

    display: inline-block;

}



.ccrmv-login__card-subtitle {

    margin: 0 0 1.35rem;

    font-size: 0.875rem;

    color: var(--ccrmv-login-card-muted);

    line-height: 1.4;

}



/* Form scoped */

.ccrmv-login .ccrmv-login__label {

    display: block;

    margin-bottom: 0.4rem;

    font-size: 0.875rem;

    font-weight: 600;

    color: var(--ccrmv-login-card-text);

}



.ccrmv-login .ccrmv-login__field {

    margin-bottom: 1.05rem;

}



.ccrmv-login .ccrmv-login__input-group {

    display: flex;

    align-items: stretch;

    border-radius: 11px;

    border: 1px solid var(--ccrmv-login-input-border);

    background: var(--ccrmv-login-input-bg);

    transition: border-color 0.18s ease, box-shadow 0.18s ease;

}



.ccrmv-login .ccrmv-login__input-group:focus-within {

    border-color: var(--ccrmv-login-accent);

    background: rgba(6, 10, 18, 0.75);

    box-shadow: 0 0 0 3px var(--ccrmv-login-accent-soft);

}



.ccrmv-login .ccrmv-login__input-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    min-width: 48px;

    color: var(--ccrmv-login-card-muted);

    font-size: 1.05rem;

}



.ccrmv-login .ccrmv-login__input-group:focus-within .ccrmv-login__input-icon {

    color: var(--ccrmv-login-accent);

}



.ccrmv-login .ccrmv-login__input {

    flex: 1;

    min-height: var(--ccrmv-login-input-h);

    padding: 0 1rem;

    border: 0;

    background: transparent;

    font-size: 1rem;

    color: var(--ccrmv-login-card-text);

    border-radius: 0;

}



.ccrmv-login .ccrmv-login__input:focus {

    outline: none;

    box-shadow: none;

}



.ccrmv-login .ccrmv-login__input::placeholder {

    color: rgba(140, 155, 175, 0.75);

}



.ccrmv-login .ccrmv-login__input.is-invalid {

    color: var(--ccrmv-login-card-text);

}



.ccrmv-login .ccrmv-login__input-group.is-invalid {

    border-color: #dc3545;

    box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);

}



.ccrmv-login .btn-toggle-pwd {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 0.35rem;

    min-width: 48px;

    min-height: var(--ccrmv-login-input-h);

    padding: 0 0.85rem;

    border: 0;

    background: transparent;

    color: var(--ccrmv-login-card-muted);

    cursor: pointer;

    border-radius: 0 10px 10px 0;

    transition: color 0.18s ease;

}



.ccrmv-login .btn-toggle-pwd:hover,

.ccrmv-login .btn-toggle-pwd:focus-visible {

    color: var(--ccrmv-login-accent);

    outline: none;

}



.ccrmv-login .capslock-warn {

    display: none;

    margin-top: 0.35rem;

    padding: 0.2rem 0.55rem;

    font-size: 0.72rem;

    border-radius: 6px;

    background: rgba(255, 193, 7, 0.22);

    color: #856404;

    width: fit-content;

}



.ccrmv-login .capslock-warn.show {

    display: inline-flex;

    align-items: center;

    gap: 0.25rem;

}



.ccrmv-login .ccrmv-login__remember {

    margin-bottom: 1.15rem;

}



.ccrmv-login .ccrmv-login__remember .form-check-label {

    color: var(--ccrmv-login-card-muted);

    font-size: 0.875rem;

}



.ccrmv-login .ccrmv-login__remember .form-check-input {

    background-color: rgba(4, 8, 16, 0.6);

    border-color: var(--ccrmv-login-input-border);

}



.ccrmv-login .ccrmv-login__remember .form-check-input:checked {

    background-color: var(--ccrmv-login-accent);

    border-color: var(--ccrmv-login-accent);

}



.ccrmv-login .ccrmv-login__remember .form-check-input:focus {

    border-color: var(--ccrmv-login-accent);

    box-shadow: 0 0 0 0.2rem var(--ccrmv-login-accent-soft);

}



.ccrmv-login .ccrmv-login__submit {

    width: 100%;

    min-height: 54px;

    margin-bottom: 1rem;

    border: 0;

    border-radius: 11px;

    background: linear-gradient(135deg, #f26422 0%, #ff8a19 100%);

    color: #fff;

    font-size: 0.95rem;

    font-weight: 700;

    letter-spacing: 0.06em;

    text-transform: uppercase;

    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;

}



.ccrmv-login .ccrmv-login__submit:hover:not(:disabled) {

    transform: translateY(-1px);

    box-shadow: 0 12px 32px rgba(242, 100, 34, 0.38);

}



.ccrmv-login .ccrmv-login__submit:active:not(:disabled) {

    transform: translateY(0);

}



.ccrmv-login .ccrmv-login__submit:disabled {

    opacity: 0.92;

    cursor: not-allowed;

}



.ccrmv-login .ccrmv-login__submit .spinner-border-sm {

    width: 1rem;

    height: 1rem;

    border-width: 2px;

}



.ccrmv-login .link-forgot {

    color: var(--ccrmv-login-accent);

    text-decoration: none;

    font-weight: 600;

    font-size: 0.9rem;

    transition: color 0.18s ease;

}



.ccrmv-login .link-forgot:hover {

    color: var(--ccrmv-login-accent-hover);

}



.ccrmv-login .invalid-feedback {

    display: block;

    margin-top: 0.35rem;

    font-size: 0.85rem;

    font-weight: 500;

    color: #f5a8ae;

}



.ccrmv-login .alert {

    border-radius: 12px;

    border: none;

    font-size: 0.9rem;

}



.ccrmv-login .alert-danger {

    background: rgba(220, 53, 69, 0.16);

    color: #f5b7bc;

}



.ccrmv-login .alert-success {

    background: rgba(25, 135, 84, 0.16);

    color: #9fdcb8;

}



/* Footer */

.ccrmv-login__footer {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding-top: 1rem;
    color: rgba(200, 212, 230, 0.82);
}

.ccrmv-login__footer-desktop {
    display: none;
    width: 100%;
    max-width: min(1380px, 94vw);
    margin: 0 auto;
    padding: 1rem 0 0.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    gap: clamp(1rem, 2.5vw, 2rem);
    align-items: flex-start;
    justify-content: space-between;
}

.ccrmv-login__footer-block {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex: 1;
    min-width: 0;
}

.ccrmv-login__footer-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(242, 100, 34, 0.85);
    font-size: 0.95rem;
}

.ccrmv-login__footer-copy {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ccrmv-login__footer-title {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ccrmv-login-text);
    letter-spacing: 0.02em;
}

.ccrmv-login__footer-desc {
    font-size: 0.75rem;
    line-height: 1.45;
    color: rgba(180, 195, 215, 0.72);
}

.ccrmv-login__footer-mobile {
    text-align: center;
    font-size: 0.875rem;
    line-height: 1.5;
}

.ccrmv-login__footer-text {
    display: inline-block;
    max-width: 100%;
}

@media (min-width: 601px) {
    .ccrmv-login__footer-desktop {
        display: flex;
    }

    .ccrmv-login__footer-mobile {
        display: none;
    }
}



/* Modal harmonizado */

.ccrmv-login .modal-content {

    border-radius: var(--ccrmv-login-radius);

    border: 1px solid rgba(15, 23, 42, 0.08);

}



.ccrmv-login .modal-header {

    border-bottom-color: rgba(15, 23, 42, 0.08);

}



.ccrmv-login .modal-footer .btn-primary {

    background: linear-gradient(135deg, var(--ccrmv-login-accent) 0%, #e85a1a 100%);

    border: none;

}



.ccrmv-login .modal-footer .btn-primary:hover {

    background: linear-gradient(135deg, var(--ccrmv-login-accent-hover) 0%, #e85a1a 100%);

}



/* Tablet */

@media (min-width: 601px) and (max-width: 1099px) {

    .ccrmv-login__shell {

        grid-template-columns: 1fr;

        max-width: min(520px, 92vw);

        gap: 1rem;

        align-content: center;

    }



    .ccrmv-login__hero {

        text-align: center;

        align-items: center;

        gap: 0.75rem;

        padding: 0;

        order: 1;

    }



    .ccrmv-login__panel {

        order: 2;

        margin-top: 0.15rem;

    }



    .ccrmv-login__logo-wrap {

        max-width: 180px;

    }



    .ccrmv-login__logo {

        max-width: 180px;

        max-height: 108px;

    }



    .ccrmv-login__headline {

        font-size: clamp(1.5rem, 4vw, 1.85rem);

    }



    .ccrmv-login__subtitle {

        max-width: none;

        font-size: 0.95rem;

        margin-bottom: 0.15rem;

    }



    .ccrmv-login__features {

        align-items: stretch;

        width: 100%;

        max-width: 20rem;

        margin-left: auto;

        margin-right: auto;

        gap: 0.65rem;

    }



    .ccrmv-login__feature {

        align-items: center;

    }



    .ccrmv-login__feature-icon {

        width: 2rem;

        height: 2rem;

        font-size: 0.9rem;

    }



    .ccrmv-login__feature-desc {

        display: none;

    }



    .ccrmv-login__panel {

        margin-top: 0.25rem;

    }

}



/* Mobile — V3: app premium, zero overflow horizontal */
@media (max-width: 600px) {
    html.ccrmv-login-page,
    body.ccrmv-login-page {
        overflow-x: clip;
    }

    .ccrmv-login {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding-top: max(1.25rem, env(safe-area-inset-top));
        padding-bottom: max(1rem, env(safe-area-inset-bottom));
        padding-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));
    }

    .ccrmv-login__bg-pattern {
        opacity: 0.14;
        background-size: cover;
        background-position: center;
    }

    .ccrmv-login__hero--desktop {
        display: none !important;
        height: 0;
        margin: 0;
        padding: 0;
        overflow: hidden;
    }

    .ccrmv-login__shell {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        gap: 0;
        align-content: start;
    }

    .ccrmv-login__mobile-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        gap: 0;
        margin: 0 0 1.625rem;
        padding-top: 0.35rem;
    }

    .ccrmv-login__mobile-headline {
        display: block;
        margin-top: 0.875rem;
    }

    .ccrmv-login__mobile-tagline {
        display: none !important;
    }

    .ccrmv-login__logo-wrap--mobile {
        max-width: 100%;
    }

    .ccrmv-login__logo-wrap--mobile .ccrmv-login__logo {
        width: auto;
        max-width: min(125px, 34vw);
        max-height: 78px;
        height: auto;
    }

    .ccrmv-login__panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0 0 1.75rem;
    }

    .ccrmv-login__card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        border-radius: 19px;
    }

    .ccrmv-login__card-body {
        padding: 1.375rem 1.25rem 1.25rem;
        box-sizing: border-box;
    }

    .ccrmv-login #formLogin {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .ccrmv-login .ccrmv-login__field {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .ccrmv-login .ccrmv-login__input-group {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .ccrmv-login .ccrmv-login__input-icon {
        flex-shrink: 0;
        min-width: 44px;
        width: 44px;
        padding: 0;
    }

    .ccrmv-login .ccrmv-login__input {
        flex: 1 1 auto;
        min-width: 0;
        width: 0;
        padding-inline: 0.65rem;
        font-size: 16px;
    }

    .ccrmv-login .btn-toggle-pwd {
        flex-shrink: 0;
        min-width: 44px;
        padding: 0 0.5rem;
        gap: 0.2rem;
    }

    .ccrmv-login .ccrmv-login__submit {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .ccrmv-login .link-forgot {
        word-break: break-word;
    }

    .ccrmv-login__footer {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        padding-top: 0;
        padding-inline: 0;
    }

    .ccrmv-login__footer-text {
        display: block;
        width: 100%;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: auto;
        font-size: 0.8125rem;
        line-height: 1.45;
        color: rgba(232, 237, 245, 0.88);
    }
}

@media (max-width: 390px) {
    .ccrmv-login__card-body {
        padding: 1.25rem 1.125rem 1.125rem;
    }
}

@media (max-width: 360px) {
    .ccrmv-login__mobile-brand {
        margin-bottom: 1.5rem;
    }

    .ccrmv-login__logo-wrap--mobile .ccrmv-login__logo {
        max-width: min(118px, 32vw);
        max-height: 72px;
    }

    .ccrmv-login__card-body {
        padding: 1.125rem 1rem 1rem;
    }

    .ccrmv-login__card {
        border-radius: 18px;
    }
}

@media (max-width: 380px) {
    .ccrmv-login .btn-toggle-pwd .pwd-text-hidden,
    .ccrmv-login .btn-toggle-pwd .pwd-text-visible {
        display: none !important;
    }

    .ccrmv-login .btn-toggle-pwd {
        min-width: 44px;
        padding: 0 0.4rem;
    }
}



@media (min-width: 601px) {

    .ccrmv-login__mobile-brand {

        display: none;

    }



    .ccrmv-login__hero--desktop {

        display: flex;

    }

}



/* === V5.2 — layout clean hero + card === */

@media (min-width: 1100px) {

    .ccrmv-login {

        min-height: 100dvh;

        height: 100dvh;

        padding-top: max(0.65rem, env(safe-area-inset-top));

        padding-bottom: max(0.5rem, env(safe-area-inset-bottom));

    }



    .ccrmv-login__shell {

        min-height: 0;

        flex: 1 1 auto;

        align-items: center;

    }



    .ccrmv-login__hero {

        gap: clamp(0.65rem, 1vh, 0.9rem);

        max-width: none;

    }



    .ccrmv-login__panel {

        display: flex;

        justify-content: center;

        align-items: center;

        max-width: none;

        margin-left: 0;

    }



    .ccrmv-login__card {

        max-width: min(480px, 100%);

        width: 100%;

    }



    .ccrmv-login__features {

        gap: 0.55rem;

        margin-top: 0.05rem;

    }



    .ccrmv-login__footer {

        padding-top: 0.4rem;

        flex-shrink: 0;

    }



    .ccrmv-login__footer-desktop {

        padding: 0.4rem 0 0;

    }

}



@media (min-width: 1100px) and (max-height: 820px) {

    .ccrmv-login {

        padding-top: max(0.5rem, env(safe-area-inset-top));

        padding-bottom: max(0.4rem, env(safe-area-inset-bottom));

    }



    .ccrmv-login__logo {

        max-height: 112px;

    }



    .ccrmv-login__logo-wrap {

        max-width: 195px;

    }



    .ccrmv-login__headline {

        font-size: clamp(1.6rem, 2.2vw, 2.05rem);

    }



    .ccrmv-login__subtitle {

        font-size: 0.92rem;

        line-height: 1.45;

    }



    .ccrmv-login__feature-desc {

        font-size: 0.75rem;

        line-height: 1.35;

    }



    .ccrmv-login__card-body {

        padding: 1.35rem 1.65rem 1.25rem;

    }

}



@media (prefers-reduced-motion: reduce) {

    .ccrmv-login__card {

        animation: none;

    }



    .ccrmv-login .ccrmv-login__submit,

    .ccrmv-login .ccrmv-login__input-group,

    .ccrmv-login .link-forgot {

        transition: none;

    }

}


