﻿/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
for details on configuring this project to bundle and minify static web assets. */

a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

/* Provide sufficient contrast against white background */
a {
    color: #0366d6;
}

.btn-primary {
    color: #fff;
    background-color: #0066CC !important;
    border-color: #0066CC !important;
}

.btn-primary:hover {
    color: #fff;
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
    color: #0066CC;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    font-size: 14px !important;
}

@media (min-width: 768px) {
    html {
        font-size: 14px;
    }
}

.border-top {
    border-top: 1px solid #e5e5e5;
}

.border-bottom {
    border-bottom: 1px solid #e5e5e5;
}

.box-shadow {
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    font-family: 'Open Sans' !important;
    font-weight: 400;
    min-height: 100vh;
}

/* Hide native browser password reveal icons to avoid duplicate eye controls */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}

input[type="password"]::-webkit-credentials-auto-fill-button {
    visibility: hidden;
    display: none !important;
    pointer-events: none;
}

.layout {
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 79px);
}

.page-content {
    flex: 1 0 auto;
}

.u-hidden {
    display: none;
}

.u-w-100 {
    width: 100%;
}

.layout-main-content {
    min-height: 0;
    flex: 1 0 auto;
}

.cookie-consent-banner {
    top: 2rem;
}

/*@font-face {
    font-family: 'SamsungOneLatin-200';
    src: url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.eot');
    src: url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.eot?#iefix') format('embedded-opentype'), url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.woff2') format('woff2'), url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.woff') format('woff'), url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.ttf') format('truetype'), url('https://db.onlinewebfonts.com/t/7b1ad57b38b686cd11c5363bad5e75eb.svg#SamsungOneLatin-200') format('svg');
}*/

.samsung-font {
    font-family: 'Open Sans' !important;
    background-color: #f7f7f7;
}

.default-font {
    font-family: 'Open Sans' !important;
}

.header-samsung {
    border-bottom: 1px solid #DADADA;
    box-shadow: 0px 4px 8px 2px rgba(0, 0, 0, 0.1);
}

.nav-link-samsung {
    padding: 34px !important;
    font-size: 16px;
    line-height: 28px;
}

a.nav-link-side {
    display: block;
    padding: 20px !important;
    color: inherit;
    text-decoration: none;
}

nav-link-side-samsung {
    font-weight: 600;
    color: #3C4D6A;
}

a.nav-link-side-samsung {
    display: block;
    padding: 20px !important;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #ddd;
}

a.nav-link-side-samsung.active {
    color: #0066CC;
    font-size: 16px;
    font-weight: 600;
    border-left: none !important;
    border-right: 2px solid #0066CC;
}

.nav-item:last-child a.nav-link-side-samsung {
    border-bottom: none;
}


.footer {
    transform: translateY(60px);
    left: 0;
    width: 100%;
    line-height: 60px;
    background-color: #44464B;
    flex-shrink: 0;
}

#page-content-wrappe {
    position: relative;
    z-index: 1;
}

.footer a,
.footer p {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: normal;
    text-decoration: none;
    padding: 0 15px;
}

.footer a:hover {
    text-decoration: underline;
}

.curved-footer {
    height: 35px;
}

.content-disabled {
    color: #C0C0C0 !important;
}

.chip {
    display: inline-block;
    padding: 0 20px;
    height: 32px;
    font-size: 12px;
    line-height: 32px;
    border-radius: 20px;
    font-weight: bold;
}

.chip span {
    margin-left: -15px;
    margin-right: -15px;
    float: left;
    height: 50px;
    width: 50px;
    border-radius: 50%;
}

.chip-red {
    background-color: #D4145A;
    color: white;
}

.top-nav {
    height: 75px;
    margin-bottom: 0 !important;
}

.top-nav-icon {
    color: black;
    margin-right: 30px;
    padding-right: 40px;
}

#hline {
    margin-top: 0;
    padding-top: 0;
    width: 100%;
    height: 4px;
    background-color: #0066CC;
}

.menu {
    font-size: 15px;
    font-weight: 600;
    background-color: rgba(153, 153, 153, 0.1);
    margin-bottom: 10px;
}

#menu-icon {
    text-decoration: none;
    color: black
}

.nav-link {
    color: black
}

a.nav-link.active {
    color: #0066CC;
}

#sidebar li {
    padding: 0px;
    font-size: 15px;
    font-weight: 600;
}

#sidebar ul.navbar-nav {
    margin: 0;
    padding: 0;
    width: 100%;
}

#sidebar li.nav-item {
    padding: 0;
    margin: 0;
    width: 100%;
}

#sidebar li.nav-item a.nav-link-side {
    display: block;
    width: 100%;
    padding: 20px;
    /* Se quiser o mesmo espa├ºo que antes */
    text-decoration: none;
    color: #212529;
}

.sidebar-samsung {
    height: calc(100vh - 80px - 60px);
    overflow-y: auto;
}

.sidebar-nav {
    background-color: white;
    float: left;
    width: 270px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-nav a:hover {
    color: #0066CC;
}

#wrapper.active #sidebar-wrapper {
    left: 10%;
}

.banner-mobile {
    width: 100%;
    position: relative;
    top: 0px;
    left: 0px;
    z-index: -1;
    overflow: hidden;
}

.btn-trocaSenha {
    position: absolute;
    top: 130px;
    left: 40px;
}

.filtro {
    position: relative;
    left: 67%;
}

.btn-responsive {
    margin-left: 20px;
    margin-right: 20px;
}


.recaptcha {
    color: rgba(0, 0, 0, .50);
}

.grecaptcha-badge {
    width: 256px !important;
    height: 60px !important;
    position: fixed !important;
    bottom: 80px !important;
    z-index: 10001 !important;
}

.icons {
    color: #0066CC;
    padding-left: 10px;
}

.subtitle {
    color: #3d515a;
    font-size: 18px;
    font-weight: 600;
}

.phone {
    color: #3d515a;
    font-size: 24px;
    font-weight: 600;
}

.title {
    color: #13223b;
    font-weight: 700;
    font-size: 32px
}

.card-list {
    /*background: rgba(153, 153, 153, 0.1);*/
}

.card-title {
    color: #0066CC;
    font-size: 18px;
    font-weight: 600;
}

.card-home {
    border-radius: 8px;
}

.card-img {
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}

#card-login {
    background: rgba(255, 255, 255, 0.9);
    /*opacity: 0.8;*/
    border-radius: 16px;
    position: relative;
    left: 42vw;
    bottom: 35px;
}

.label-geral {
    font-weight: 600;
    font-size: 14px;
}

.row.status-apolice-vigente {
    color: #409800 !important;
}

.row.status-apolice-expirado {
    color: #D4145A !important;
}

.row.status-apolice-default {
    color: #3D515A !important;
}

.status-apolice-text {
    font-weight: 700;
}

.label-detalhe {
    font-weight: 600;
    font-size: 20px;
}

.sub-profile {
    color: #9999;
    font-size: 15px;
    font-weight: 600;
}

#sub-login {
    color: #13223b;
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 20px;
}

#sub-fc {
    margin-top: 10px;
    padding-bottom: 15px;
}

.fale-conosco-wrap {
    font-family: 'Open Sans', sans-serif;
}

.fale-conosco-wrap .fale-conosco-subtitle p {
    color: #282529;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 0;
}

.fale-conosco-wrap .fale-conosco-icon {
    padding-left: 0;
    font-size: 40px;
}

.fale-conosco-wrap .fale-conosco-card {
    border: 1px solid #d9d9d9;
}

.fale-conosco-wrap .fale-conosco-channel {
    padding: 18px 28px;
}

.fale-conosco-wrap .fale-conosco-channel-chat {
    border-left: 1px solid #e6e6e6;
}

.fale-conosco-wrap .fale-conosco-card-title {
    color: #0066CC;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.fale-conosco-wrap .fale-conosco-text,
.fale-conosco-wrap .fale-conosco-phone {
    color: #282529;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 8px;
}

.fale-conosco-wrap .fale-conosco-horario {
    font-weight: 400;
}

.fale-conosco-wrap .fale-conosco-horario-label {
    font-weight: 600;
}

.fale-conosco-wrap .fale-conosco-cta {
    color: #0070B9;
    border-color: #0070B9;
    font-size: 16px;
    font-weight: 600;
    margin-top: 8px;
    padding: 7px 18px;
}

.fale-conosco-wrap .fale-conosco-cta:hover,
.fale-conosco-wrap .fale-conosco-cta:focus {
    color: #0070B9;
    border-color: #0070B9;
    background-color: rgba(0, 112, 185, 0.08);
}

#sub-home {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    color: #13223c;
    font-size: 18px;
    font-weight: 600;
}

#segurodetalhe {
    margin-top: 30px;
    margin-bottom: 20px;
}

#cobertura {
    padding-top: 20px;
}

.thead-titulo {
    background-color: #0066cc;
    color: white;
    font-size: 24px;
    font-weight: 700;
}

.thead-titulo th {
    border: none;
}

.thead-detalhe {
    background-color: #F8FAFB;
    color: #596981;
    font-size: 14px;
    font-weight: 400;
}

.table-bordered {
    border-radius: 8px !important;
    border: 1px #DBE1E2 !important;
}

.table-detalhe {
    border-radius: 8px !important;
    border: 1px #DBE1E2 !important;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
}

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 8px;
}

table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

#clausula {
    padding-top: 15px;
}


.spacer {
    margin-top: 7%;
}


.bg {
    background-image: url('../Imagens/bg-segurado.png');
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.bg:has(.login-page),
.bg.auth-login {
    background-image: url('../Imagens/new-bg-login.png') !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-attachment: fixed !important;
    min-height: 100vh;
    position: relative;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.bg:has(.login-page) .container,
.bg:has(.login-page) #page-content-wrapper,
.bg:has(.login-page) .page-content,
.bg:has(.login-page) .col-md-12,
.bg.auth-login .container,
.bg.auth-login #page-content-wrapper,
.bg.auth-login .page-content,
.bg.auth-login .col-md-12 {
    padding: 0 !important;
    margin: 0 !important;
}

.bg:has(.login-page) #page-content-wrapper,
.bg.auth-login #page-content-wrapper {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

@media (min-width: 769px) {

    .bg:has(.login-page),
    .bg.auth-login {
        background-image: url('../Imagens/new-bg-login.png?v=10') !important;
    }
}

#title-login {
    font-size: 44px;
    font-weight: 700;
    color: #0066CC;
    position: relative;
    top: 220px;
    right: 50px;
}

.logo-login {
    position: relative;
    top: 160px;
    left: 30px;
}

.breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1rem 0rem !important;
    margin-bottom: 1rem !important;
    list-style: none;
    background-color: #fff !important;
    border-radius: 0.25rem;
    font-weight: bold !important;
    font-size: 12px !important;
}

.breadcrumb-home {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #fff;
    border-radius: 0;
    font-weight: bold;
    opacity: 0.5;
    z-index: 1;
    width: 100%;
    color: #000;
    position: absolute;
    left: 0px;
    font-size: 12px;
    height: 56px;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: "/" !important;
}

.breadcrumb:not(.breadcrumb-home) {
    font-family: "Open Sans", sans-serif;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 28px;
    letter-spacing: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 8px !important;
}

.breadcrumb:not(.breadcrumb-home) .breadcrumb-item {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #13223C;
}

.breadcrumb:not(.breadcrumb-home) .breadcrumb-item+.breadcrumb-item::before {
    content: "/" !important;
    color: #13223C;
    font-weight: 400;
}

.breadcrumb:not(.breadcrumb-home) .breadcrumb-item a {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #2972C8;
    text-decoration: underline !important;
    text-decoration-style: solid;
}

.breadcrumb:not(.breadcrumb-home) .breadcrumb-item a:hover {
    color: #1a5aab;
}

.breadcrumb:not(.breadcrumb-home) .breadcrumb-item.active {
    color: #13223C;
    font-weight: 400;
}

a {
    text-decoration: none !important;
    background-color: transparent;
}

.breadcrumb-item {
    color: #13223b
}

.breadcrumb-item a {
    color: #2972cb;
    text-decoration: underline !important;
}


.label-destaque {
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
}

.label-destaque-valor {
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
}

a.nav-link-side.active {
    color: #0066CC;
    font-size: 16px;
    font-weight: 600;
    border-left: 4px solid #0066CC;
}

.nav-link-side:hover,
.nav-link-side:focus {
    text-decoration: none;
}

.nav-link-side {
    color: black;
    text-decoration: none;
}

.border {
    border: 1px solid #E18801 !important;
}

.alert-warning {
    color: #3D515A;
    background-color: #E16D010D;
    border-color: #ffeeba;
}

.alert-heading {
    color: inherit;
    font-weight: bold;
    font-size: 16px;
}

.seguro-detalhe-alert {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.seguro-detalhe-alert-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.seguro-detalhe-alert-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    object-fit: contain;
    margin-top: 2px;
}

.seguro-detalhe-alert-content {
    max-width: 420px;
}

.seguro-detalhe-alert-content .alert-heading {
    margin-bottom: 8px;
}

.seguro-detalhe-alert-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 300px;
    color: #343a40;
    background-color: #fff !important;
    border-color: #343a40;
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    padding-top: 5.25px !important;
    padding-bottom: 5.25px !important;
    padding-left: 42px !important;
    padding-right: 42px !important;
}

.seguro-detalhe-alert-button-loading {
    display: none;
    align-items: center;
    gap: 8px;
}

.seguro-detalhe-alert-button-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: seguro-button-spin 0.8s linear infinite;
}

.seguro-nav-inline-loading .seguro-detalhe-alert-button-text {
    display: none;
}

.seguro-nav-inline-loading .seguro-detalhe-alert-button-loading {
    display: inline-flex;
}

.seguro-nav-inline-loading.seguro-detalhe-alert-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@keyframes seguro-button-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 767.98px) {
    .seguro-detalhe-alert-header {
        gap: 12px;
    }

    .seguro-detalhe-alert-content {
        max-width: none;
    }

    .seguro-detalhe-alert-button {
        min-width: 0;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
}

.btn-outline-dark:hover {
    color: #fff;
    background-color: #343a40 !important;
    border-color: #343a40;
}

.btn-franquia-status-white,
.btn-franquia-status-white:focus {
    background-color: #fff !important;
}

.btn-franquia-status-white:hover,
.btn-franquia-status-white:focus-visible {
    background-color: #0066cc !important;
    border-color: #0066cc !important;
    color: #fff !important;
}

#sinistroFranquiaVC .sinistro-franquia-success-alert {
    width: 100%;
    min-height: 72px;
    margin-bottom: 0;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #0A7125;
    background: #D7FFE0;
}

#sinistroFranquiaVC .sinistro-franquia-success-grid {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    column-gap: 16px;
    align-items: start;
}

#sinistroFranquiaVC .sinistro-franquia-success-icon-wrap {
    width: 24px;
    height: 24px;
    color: #0A7125;
}

#sinistroFranquiaVC .sinistro-franquia-success-icon {
    width: 24px;
    height: 24px;
    display: block;
}

#sinistroFranquiaVC .sinistro-franquia-success-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

#sinistroFranquiaVC .sinistro-franquia-success-title {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: #262626;
}

#sinistroFranquiaVC .sinistro-franquia-success-description {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #4D4D4D;
}

#sinistroFranquiaVC .sinistro-franquia-status-btn {
    width: 252px;
    max-width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border-radius: 6px;
    border: 1px solid #0070B9;
    color: #0070B9;
    background: #FFFFFF;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
}

#sinistroFranquiaVC .sinistro-franquia-success-close {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #444A60;
    cursor: pointer;
}

#sinistroFranquiaVC .sinistro-franquia-success-close:focus-visible {
    outline: 2px solid #0070B9;
    outline-offset: 2px;
    border-radius: 4px;
}

#sinistroFranquiaVC .sinistro-franquia-close-icon {
    width: 24px;
    height: 24px;
    display: block;
}

#sinistroFranquiaVC .sinistro-franquia-status-btn {
    align-self: flex-start;
    margin-left: 0;
    margin-right: 0;
}

.franquia-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 24px;
    height: 24px;
    font-size: 24px;
    line-height: 1;
    /* font-weight: 700; */
}

@media (max-width: 767.98px) {
    #sinistroFranquiaVC .sinistro-franquia-success-alert {
        padding: 16px 12px;
    }

    #sinistroFranquiaVC .sinistro-franquia-success-grid {
        grid-template-columns: 24px minmax(0, 1fr);
        row-gap: 8px;
    }

    #sinistroFranquiaVC .sinistro-franquia-success-close {
        grid-column: 2;
        justify-self: end;
        margin-top: -32px;
    }

    #sinistroFranquiaVC .sinistro-franquia-status-btn {
        width: 100%;
    }

    #sinistroFranquiaVC .sinistro-franquia-warning-alert {
        padding: 16px 12px;
    }

    #sinistroFranquiaVC .sinistro-franquia-warning-grid {
        grid-template-columns: 24px minmax(0, 1fr);
        row-gap: 8px;
    }

    #sinistroFranquiaVC .sinistro-franquia-warning-btn {
        width: 100%;
    }
}

/* ── Franquia Warning (Pendente) ── */
#sinistroFranquiaVC .sinistro-franquia-warning-alert {
    width: 100%;
    min-height: 72px;
    margin-bottom: 0;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #D16A0E;
    background: #FCEFC9;
}

#sinistroFranquiaVC .sinistro-franquia-warning-grid {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    column-gap: 8px;
    align-items: start;
}

#sinistroFranquiaVC .sinistro-franquia-warning-icon-wrap {
    position: relative;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: #BB5102;
}

#sinistroFranquiaVC .sinistro-franquia-warning-icon {
    position: absolute;
    top: 3.54px;
    left: 4.47px;
    width: 16.01px;
    height: 16px;
    display: block;
}

#sinistroFranquiaVC .sinistro-franquia-warning-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

#sinistroFranquiaVC .sinistro-franquia-warning-title {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: #262626;
}

#sinistroFranquiaVC .sinistro-franquia-warning-description {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #4D4D4D;
}

#sinistroFranquiaVC .sinistro-franquia-warning-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 166px;
    max-width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border-radius: 6px;
    border: 1px solid #0070B9;
    background: #FFFFFF;
    color: #0070B9;
    text-align: center;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    text-decoration: none;
    cursor: pointer;
    align-self: flex-start;
}

#sinistroFranquiaVC .sinistro-franquia-warning-btn:hover,
#sinistroFranquiaVC .sinistro-franquia-warning-btn:focus-visible {
    background: #0070B9;
    color: #FFFFFF;
    text-decoration: none;
    outline: none;
}

#sinistroFranquiaVC .sinistro-franquia-warning-btn.seguro-nav-busy {
    pointer-events: none;
}

#sinistroFranquiaVC .sinistro-franquia-btn-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(0, 112, 185, 0.3);
    border-top-color: #0070B9;
    border-radius: 50%;
    animation: pf-spin 0.7s linear infinite;
    margin-right: 8px;
}

.card-franquia {
    box-shadow: 0px 3px 14px 0px #D8DDEABF;
}

.sinistro-details-typography .sinistro-detail-subtitle {
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #262626;
    margin: 0;
}

.sinistro-details-typography .sinistro-detail-description {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #4D4D4D;
    margin: 0;
}

.sinistro-details-grid {
    row-gap: 0;
}

.sinistro-details-column {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.sinistro-details-item {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sinistro-details-item .label-destaque,
.sinistro-details-item .label-destaque-valor,
.sinistro-details-item .sinistro-detail-subtitle,
.sinistro-details-item .sinistro-detail-description {
    display: block;
    width: 100%;
}

@media (max-width: 767.98px) {
    .sinistro-details-column {
        gap: 24px;
    }
}

/* ── PagamentoFranquia – Figma tokens ── */

/* Tabela de detalhes do sinistro */
.pf-details-panel {
    margin-top: 32px;
}

.pf-details-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 0 !important;
    font-family: "Open Sans", sans-serif;
}

.pf-details-table thead,
.pf-details-table tbody,
.pf-details-table tfoot,
.pf-details-table tr,
.pf-details-table th,
.pf-details-table td {
    border-radius: 0 !important;
}

.pf-details-table th {
    height: 56px;
    padding: 17px 16px;
    background: #F6F7F9;
    border-top: 1px solid #D6D8E1;
    border-left: 1px solid #D6D8E1;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.15%;
    color: #4D4D4D;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.pf-details-table th:last-child {
    border-right: 1px solid #D6D8E1;
}

.pf-details-table td {
    height: 56px;
    padding: 12px 16px;
    background: #FFFFFF;
    border-top: 1px solid #D6D8E1;
    border-bottom: 1px solid #D6D8E1;
    border-left: 1px solid #D6D8E1;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0.15%;
    color: #4D4D4D;
    vertical-align: middle;
    white-space: nowrap;
}

.pf-details-table td:last-child {
    border-right: 1px solid #D6D8E1;
}

.pf-status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
    position: relative;
    top: -1px;
}

.pf-status-dot-pending {
    background: #E18801;
}

.pf-status-dot-paid {
    background: var(--status-success-0, #047D26);
}

.pf-status-dot-neutral {
    background: #9CA3AF;
}

.pagamento-franquia-title {
    font-family: "Open Sans", sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0;
    color: #13223C;
    margin-bottom: 8px;
}

.pagamento-franquia-subtitle {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 27px;
    letter-spacing: 0;
    color: #3D515A;
    margin-bottom: 24px;
}

/* Card */
.pf-card {
    background: #FEFEFE;
    border-radius: 6px;
    box-shadow: 0px 3px 14px 0px #D8DDEABF;
    overflow: hidden;
}

#payment-method-card {
    width: 740px;
    max-width: 100%;
    min-height: 286px;
}

.pf-card-header {
    padding: 20px 24px 16px;
    border-bottom: 1px solid #E5E9F0;
}

.pf-card-title {
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0;
    color: #13223C;
    margin: 0;
}

.pf-card-body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.pf-card-description {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0;
    color: #3D515A;
    margin: 0;
}

.pf-buttons-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.pf-btn-payment {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 338px;
    max-width: 100%;
    height: 44px;
    padding: 11px 24px;
    border-radius: 6px;
    border: none;
    background: #0066CC;
    color: #FFFFFF;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s;
}

.pf-btn-payment:hover,
.pf-btn-payment:focus-visible {
    background: #0052A3;
    color: #FFFFFF;
    text-decoration: none;
    outline: none;
}

.pf-card-footer {
    border-top: 1px solid #E5E9F0;
    padding: 16px 24px 24px;
}

.pf-btn-voltar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 178px;
    max-width: 100%;
    height: 48px;
    padding: 11px 24px;
    border-radius: 6px;
    border: 1px solid #0066CC;
    background: #FAFCFF;
    color: #0066CC;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: none;
}

.pf-btn-voltar:hover,
.pf-btn-voltar:focus-visible {
    background: #E8F0FB;
    color: #0066CC;
    text-decoration: none;
    outline: none;
}

.pf-btn-voltar.pf-btn-voltar-disabled {
    background: #F2F2F2;
    border-color: #BDC4C7;
    color: #6D6D6D;
    pointer-events: none;
    cursor: not-allowed;
}

.pf-credit-card {
    width: 740px;
    max-width: 100%;
    min-height: 696px;
}

.pf-credit-card.pf-credit-card-state-feedback {
    min-height: 0;
}

.pf-credit-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 64px;
    padding: 16px 24px;
    background: #FCFCFC;
    border-top: 1px solid #DBE1E2;
    border-bottom: 1px solid #DBE1E2;
}

.pf-credit-card-title {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
    color: #13223C;
}

.pf-credit-change-link {
    border: 0;
    background: transparent;
    padding: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #2972C8;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}

.pf-credit-change-link:hover,
.pf-credit-change-link:focus-visible {
    color: #1A5AAB;
    border-bottom-color: #1A5AAB;
    outline: none;
}

.pf-credit-card-body {
    padding: 24px;
}

.pf-credit-card-description {
    margin: 0 0 16px;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #3D515A;
}

.pf-boleto-download-btn {
    width: 338px;
    max-width: 100%;
}

.pf-boleto-info {
    margin: 16px 0 0;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #3D515A;
}

.pf-payment-success-block {
    width: 100%;
}

.pf-payment-success-notification {
    width: 100%;
    max-width: 692px;
    min-height: 72px;
    border-radius: 6px;
    border: 1px solid #0A7125;
    background: #D7FFE0;
    padding: 16px 24px;
}

.pf-payment-success-inner {
    display: flex;
    width: 100%;
    min-height: 60px;
    gap: 8px;
}

.pf-payment-success-icon-slot {
    width: 24px;
    min-width: 24px;
    min-height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.pf-payment-success-icon {
    width: 24px;
    height: 24px;
    color: #0A7125;
}

.pf-payment-success-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pf-payment-success-title {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #262626;
}

.pf-payment-success-description {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #4D4D4D;
}

.pf-payment-success-outside {
    margin: 16px 0 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0;
    color: #3D515A;
}

.pf-payment-error-block {
    width: 100%;
}

.pf-payment-error-notification {
    width: 100%;
    max-width: 692px;
    min-height: 72px;
    border-radius: 6px;
    border: 1px solid #DB0000;
    background: #FFDCDC;
    padding: 16px 24px;
}

.pf-payment-error-inner {
    display: flex;
    width: 100%;
    min-height: 60px;
    gap: 8px;
}

.pf-payment-error-icon-slot {
    width: 24px;
    min-width: 24px;
    min-height: 60px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.pf-payment-error-icon {
    width: 16px;
    height: 16px;
    margin-top: 4px;
    color: #DB0000;
}

.pf-payment-error-content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pf-payment-error-title {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #262626;
}

.pf-payment-error-description {
    margin: 12px 0 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #4D4D4D;
}

.pf-payment-error-outside {
    margin: 16px 0 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0;
    color: #3D515A;
}

.pf-credit-form-layout {
    display: grid;
    grid-template-columns: minmax(320px, 390px) minmax(220px, 1fr);
    gap: 24px;
    align-items: start;
}

.pf-credit-inputs-frame {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pf-credit-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pf-credit-label {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0.15%;
    color: #4D4D4D;
}

.pf-credit-input {
    width: 100%;
    height: 48px;
    border-radius: 8px;
    border: 1px solid #B1B7C8;
    background: #FAFAFA;
    padding: 12px 16px;
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #262626;
}

.pf-credit-input::placeholder {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #6D6D6D;
    opacity: 1;
}

.pf-credit-input:focus {
    border-color: #0070B9;
    outline: 2px solid rgba(0, 112, 185, 0.2);
    outline-offset: 0;
}

/* input wrapper com ícone de erro */
.pf-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.pf-input-wrap .pf-credit-input {
    width: 100%;
}

.pf-input-error-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #DB0000;
    pointer-events: none;
    display: none;
    flex-shrink: 0;
}

/* no select o ícone fica antes da seta (deslocado para a esquerda da seta) */
.pf-input-error-icon-select {
    right: 36px;
}

.pf-input-error-msg {
    display: none;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0;
    color: #B90000;
}

/* estado de erro ativo */
.pf-input-wrap.pf-has-error .pf-credit-input {
    border-color: #DB0000 !important;
    outline: none !important;
}

.pf-input-wrap.pf-has-error .pf-input-error-icon {
    display: block;
}

.pf-input-wrap.pf-has-error + .pf-input-error-msg {
    display: block;
}

.pf-credit-input-disabled,
.pf-credit-input[readonly].pf-credit-input-disabled {
    background: #F6F7F9 !important;
    border-color: #B1B7C8 !important;
    color: #8790A9 !important;
    cursor: not-allowed;
    outline: none !important;
}

.pf-credit-label-disabled {
    color: #8790A9 !important;
}

/* spinner no botão Pagar */
.pf-btn-spinner {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: #FFFFFF;
    border-radius: 50%;
    animation: pf-spin 0.7s linear infinite;
    vertical-align: middle;
    margin-right: 4px;
}

@keyframes pf-spin {
    to { transform: rotate(360deg); }
}

.pf-credit-expiry-cvv-row {
    display: flex;
    gap: 12px;
}

.pf-credit-half-field {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pf-credit-cpf-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 24px;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox] {
    position: relative;
    width: 36px;
    min-width: 36px;
    height: 20px;
    margin: 0;
    border: 0;
    border-radius: 9999px;
    background: #3B3F51;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox]::after {
    content: "";
    position: absolute;
    top: -2px;
    left: -2px;
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background: #FFFFFF;
    border: 2px solid #3B3F51;
    transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox]:checked {
    background: #0070B9;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox]:checked::after {
    transform: translateX(16px);
    background: #0070B9;
    border: 2px solid #FFFFFF;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 4px #FAFCFF, 0 0 0 6px #0066CC;
}

.pf-credit-cpf-switch .form-check-input[type=checkbox]:focus {
    margin: 0;
    outline: none;
}

.pf-credit-switch-label {
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.15%;
    color: #4D4D4D;
    margin: 0;
}

.pf-credit-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 44px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='%2338475d' d='M2.47 5.97a.75.75 0 0 1 1.06 0L8 10.44l4.47-4.47a.75.75 0 1 1 1.06 1.06l-5 5a.75.75 0 0 1-1.06 0l-5-5a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
}

.pf-credit-preview-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-top: 40px;
}

/* cena 3D */
.pf-credit-preview-scene {
    width: 264px;
    max-width: 100%;
    height: 165px;
    perspective: 700px;
}

.pf-credit-preview-card {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform 0.55s ease;
    cursor: default;
    border-radius: 10px;
}

.pf-credit-preview-card.pf-credit-preview-flipped {
    transform: rotateY(180deg);
}

/* faces */
.pf-credit-preview-front,
.pf-credit-preview-back {
    position: absolute;
    inset: 0;
    border-radius: 10px;
    background: #8B929B;
    overflow: hidden;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.pf-credit-preview-back {
    transform: rotateY(180deg);
}

/* frente */
.pf-credit-preview-chip {
    position: absolute;
    top: 18px;
    left: 18px;
    width: 46px;
    height: 30px;
    border-radius: 4px;
    background: linear-gradient(180deg, #D9D9D9 0%, #BFC4CB 100%);
}

.pf-credit-preview-number {
    position: absolute;
    top: 76px;
    left: 20px;
    right: 20px;
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    white-space: nowrap;
    overflow: hidden;
}

.pf-credit-preview-footer {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.pf-credit-preview-name {
    min-width: 0;
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pf-credit-preview-expiry-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    flex: 0 0 auto;
}

.pf-credit-preview-expiry-label {
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 9px;
    font-weight: 400;
    line-height: 12px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    text-transform: uppercase;
    opacity: 0.7;
}

.pf-credit-preview-expiry {
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 12px;
    font-weight: 400;
    line-height: 22px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    text-transform: uppercase;
}

/* verso do cartão */
.pf-credit-preview-stripe {
    position: absolute;
    top: 30px;
    left: 0;
    right: 0;
    height: 36px;
    background: #2E2E2E;
}

.pf-credit-preview-cvv-wrap {
    position: absolute;
    top: 88px;
    left: 20px;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.pf-credit-preview-cvv-label {
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 9px;
    font-weight: 400;
    line-height: 12px;
    letter-spacing: 0.02em;
    color: #FFFFFF;
    text-transform: uppercase;
    opacity: 0.7;
}

.pf-credit-preview-cvv-band {
    background: #FFFFFF;
    border-radius: 3px;
    width: 80px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 10px;
}

.pf-credit-preview-cvv-value {
    font-family: "OCR A Std", "Courier New", monospace;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: 0.04em;
    color: #2E2E2E;
}

.pf-credit-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

#boleto-footer-actions {
    justify-content: center;
}

.pf-credit-btn-continue {
    width: 178px;
    height: 48px;
    border: 1px solid #BDC4C7;
    border-radius: 6px;
    background: #F2F2F2;
    color: #6D6D6D;
    font-weight: 600;
    line-height: 24px;
    flex-shrink: 0;
}

.pf-credit-card-footer-error {
    min-height: 64px;
    background: #FCFCFC;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 24px;
}

.pf-credit-btn-retry {
    width: 250px;
    max-width: 100%;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #0066CC;
    background: #FAFCFF;
    color: #0066CC;
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    transition: none;
}

.pf-credit-btn-retry:hover,
.pf-credit-btn-retry:focus-visible {
    background: #FAFCFF;
    border-color: #0066CC;
    color: #0066CC;
    outline: none;
}

.pf-credit-btn-continue:hover,
.pf-credit-btn-continue:focus-visible {
    background: #F2F2F2;
    color: #6D6D6D;
    border-color: #BDC4C7;
}

.pf-credit-btn-continue:disabled {
    background: #F2F2F2;
    color: #6D6D6D;
    border-color: #BDC4C7;
    cursor: not-allowed;
}

.pf-credit-btn-continue.is-enabled,
.pf-credit-btn-continue:enabled {
    background: #0066CC;
    border-color: #0066CC;
    color: #FFFFFF;
}

.pf-credit-btn-continue.is-enabled:hover,
.pf-credit-btn-continue.is-enabled:focus-visible,
.pf-credit-btn-continue:enabled:hover,
.pf-credit-btn-continue:enabled:focus-visible {
    background: #0052A3;
    border-color: #0052A3;
    color: #FFFFFF;
}

@media (max-width: 767.98px) {
    .pf-btn-payment {
        width: 100%;
    }

    .pf-btn-voltar {
        width: 100%;
    }

    .pf-credit-card-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .pf-credit-change-link {
        white-space: normal;
    }

    .pf-credit-form-layout {
        grid-template-columns: 1fr;
    }

    .pf-credit-preview-wrap {
        padding-top: 0;
    }

    .pf-credit-preview-scene,
    .pf-credit-preview-card {
        margin: 0 auto;
    }

    .pf-credit-expiry-cvv-row {
        flex-direction: column;
    }

    .pf-credit-card-footer {
        flex-direction: column;
        align-items: stretch;
    }

    #boleto-footer-actions {
        align-items: center;
    }

    #back-button-boleto {
        width: 178px;
    }

    .pf-credit-btn-continue {
        width: 100%;
    }

    .pf-payment-success-notification {
        padding: 16px;
    }

    .pf-payment-success-description,
    .pf-payment-success-outside,
    .pf-payment-error-description,
    .pf-payment-error-outside {
        line-height: 24px;
    }

    .pf-credit-btn-retry {
        width: 100%;
    }

    #payment-method-card {
        min-height: 0;
    }
}

.card-header-franquia,
.card-footer-franquia {
    background-color: #fff !important;
}

.hidden {
    display: none;
}

.table-samsung {
    border-collapse: collapse;
    width: 100%;
    border-radius: 0px !important;
}

.table-samsung th,
.table-samsung td {
    border: 1px solid #dee2e6;
    padding: 10px;
    text-align: initial;
    vertical-align: middle;
    color: #3D515A;
}

.table-samsung thead {
    background-color: #f8f9fa;
    font-weight: bold;
    color: #596981;
    font-weight: 600;
}

.card-samsumg {
    border-radius: 6px !important;
    box-shadow: 0px 3px 14px 0px #D8DDEABF !important;
}

.card-franquia-samsung {
    background-color: #DBE1E2;
}

.card-meu-atendimento {
    background-color: #F7F7F7;
    padding: 20px;
    border-radius: 8px;
}

.card-meu-atendimento p {
    margin: 5px 0;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    line-height: 30px;
}

.card-meu-atendimento strong {
    color: #596981;
    min-width: 120px;
}

.title-samsung {
    font-weight: 700;
    color: #13223C;
}

.subtitle-samsung {
    font-weight: 700;
    color: #3D515A;
    font-size: 16px;
}

.card-preview {
    width: 100%;
    max-width: 280px;
    height: 180px;
    background: #f8f9fa;
    border-radius: 12px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 0 auto;
    overflow: hidden;
}

#credit-card-payment-card .franquia-expiry-cvv-row {
    gap: 12px;
}

#credit-card-payment-card .franquia-expiry-col,
#credit-card-payment-card .franquia-cvv-col {
    flex: 1 1 0;
}

#credit-card-payment-card .franquia-cpf-switch {
    display: flex;
    align-items: center;
    min-height: 32px;
    padding-left: 0;
    margin-bottom: 18px;
}

#credit-card-payment-card .franquia-cpf-switch .form-check-input {
    position: relative;
    width: 28px;
    height: 14px;
    margin: 0;
    margin-right: 10px;
    border: 1px solid #c7ced9;
    border-radius: 999px;
    background-color: #e8ecf2;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

#credit-card-payment-card .franquia-cpf-switch .form-check-input::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ffffff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease;
}

#credit-card-payment-card .franquia-cpf-switch .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

#credit-card-payment-card .franquia-cpf-switch .form-check-input:checked::after {
    transform: translateX(14px);
}

#credit-card-payment-card .franquia-cpf-switch .form-check-input:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.15);
}

#credit-card-payment-card .franquia-cpf-switch .form-check-label {
    margin-bottom: 0;
    color: #13223c;
    cursor: pointer;
}

#credit-card-payment-card .franquia-modern-select {
    height: 30px;
    border-radius: 8px;
    border: 1px solid #cfd7e4;
    color: #13223c;
    padding-right: 44px;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16'%3E%3Cpath fill='%2338475d' d='M2.47 5.97a.75.75 0 0 1 1.06 0L8 10.44l4.47-4.47a.75.75 0 1 1 1.06 1.06l-5 5a.75.75 0 0 1-1.06 0l-5-5a.75.75 0 0 1 0-1.06z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
}

#credit-card-payment-card .franquia-modern-select:focus {
    border-color: #7ea7e5;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.15);
}

#credit-card-payment-card .franquia-modern-select:disabled {
    background-color: #f5f7fa;
    color: #6c757d;
}

/* ===== XS: at├⌐ 500px ===== */
@media (max-width: 500px) {
    .banner-mobile {
        width: 100%;
        bottom: 12vh;
        margin: 10px 0;
    }
}

/* ===== SM: at├⌐ 767px ===== */
@media (max-width: 767px) {
    #credit-card-payment-card .franquia-expiry-cvv-row {
        flex-direction: column;
        gap: 10px;
    }

    .banner {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    .recaptcha {
        display: none;
    }

    .bg {
        background-image: url('../Imagens/bg-mobile.jpg') !important;
    }

    .grecaptcha-badge {
        visibility: hidden;
    }

    .logo-login,
    .curved-footer {
        display: none;
    }

    #title-login {
        font-size: 34px !important;
        top: 40px !important;
        right: 20px !important;
    }

    #card-login {
        left: 0 !important;
        top: 10vh !important;
    }

    .chip-responsive {
        position: absolute;
        bottom: 12vh;
        margin: 10px 0;
    }

    .btn-atendimento {
        position: absolute;
        left: 410px;
        bottom: 65px;
    }

    .btn-trocaSenha {
        top: 20px;
        left: 20px;
    }

    .card-titleMobile {
        position: absolute;
        left: 100px;
        bottom: 170px;
    }

    .card-titleAtendimento {
        position: absolute;
        left: 70px;
        bottom: 15px;
    }

    .heading {
        align-content: center;
    }

    .filtro {
        position: static;
    }

    .card-iconMobile {
        display: inline-block;
        margin: 0 15px;
    }

    .card-responsive {
        display: block !important;
    }

    .iconSinistro {
        margin-right: 45px;
    }

    .btn-responsive {
        display: block !important;
        width: 100%;
        margin: 15px 0;
        padding: 0 !important;
    }

    #collapseOne .card-body div {
        margin: 0 !important;
        text-align: center;
    }

    .card-preview {
        max-width: 220px;
        height: 140px;
    }

    .fale-conosco-wrap .fale-conosco-channel {
        padding: 16px;
    }

    .fale-conosco-wrap .fale-conosco-channel-chat {
        border-left: none;
        border-top: 1px solid #e6e6e6;
    }

    .fale-conosco-wrap .fale-conosco-card-title {
        font-size: 24px;
    }

    .fale-conosco-wrap .fale-conosco-cta {
        width: 100%;
        text-align: center;
    }
}

/* ===== Esconde o banner mobile a partir de 992px =====*/
@media (max-width: 425px) {
    a.btn.btn-outline-primary.btn-responsive.label-geral.btn-espacamento {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }
}


/* ===== MD: at├⌐ 992px ===== */
@media (max-width: 992px) {

    .menu,
    .breadcrumb,
    .breadcrumb-home,
    .breadcrumb-item {
        display: none !important;
    }

    .sidebar-nav {
        position: absolute;
        z-index: 1;
    }
}

/* ===== Esconde o banner mobile a partir de 992px =====*/
@media (min-width: 1066px) {
    .banner-mobile {
        display: none;
    }
}

/* ===== LG: at├⌐ 1065px ===== */
@media (max-width: 1065px) {
    .card-responsive {
        display: block !important;
    }

    .banner-img {
        display: none;
    }
}

/* ===== Sinistro Upload ===== */
@media (min-width: 1100px) {
    .sinistroUpload {
        flex-wrap: nowrap !important;
    }

    .btn-trocaSenha {
        top: 20px;
        left: 20px;
    }

    .filtro {
        position: static;
    }
}

/* Ajustes Portal Segurado */
.card-list .card-actions {
    padding-right: 24px;
    padding-left: 24px;
}

.seguro-nav-busy {
    pointer-events: none;
    opacity: 0.7;
    cursor: wait !important;
}

.sinistro-section {
    margin-bottom: 24px;
}

/* ============================================
   LOGIN PAGE - Design Figma (Desktop + Mobile)
   ============================================ */

/* Container Principal */
.login-page {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    flex: 1 0 auto;
}

/* Esconder header padr├úo do layout na p├ígina de login */
.bg:has(.login-page) header,
.bg:has(.login-page) .top-nav,
.bg:has(.login-page) #hline {
    display: none !important;
}

.bg.auth-login>header,
.bg.auth-login>.top-nav,
.bg.auth-login>#hline {
    display: none !important;
}

/* Esconder curved-footer na p├ígina de login */
.bg:has(.login-page) .curved-footer,
.bg.auth-login .curved-footer {
    display: none !important;
}

/* Remover padding/margin dos containers quando h├í login-page */
.bg:has(.login-page) .container,
.bg:has(.login-page) #page-content-wrapper,
.bg:has(.login-page) .page-content,
.bg:has(.login-page) .col-md-12,
.bg:has(.login-page) main,
.bg.auth-login .container,
.bg.auth-login #page-content-wrapper,
.bg.auth-login .page-content,
.bg.auth-login .col-md-12,
.bg.auth-login main {
    padding: 0 !important;
    margin: 0 !important;
}

.bg:has(.login-page) .container,
.bg.auth-login .container {
    max-width: 100% !important;
}

/* Header Desktop - Login */
.login-header {
    display: none;
}

.login-header-container {
    display: flex;
    align-items: center;
    height: 96px;
    padding: 0 24px;
}

.login-logo {
    height: 40px;
    width: auto;
}

/* Card Wrapper Desktop */
.login-card-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 40px 120px 56px;
    z-index: 50;
}

@media (max-width: 768px) {

    /* Remover posicionamento absoluto herdado no mobile */
    .login-card-wrapper {
        position: relative;
        right: auto;
        left: auto;
        top: auto;
        transform: none;
    }
}

/* Card de Login */
.login-card {
    background: #FFFFFF;
    border: 1px solid #DBE1E2;
    border-radius: 8px;
    box-shadow: 0px 8px 16px 2px rgba(48, 57, 82, 0.1);
    padding: 100px 120px;
    width: 641px;
    position: relative;
    z-index: 50;
}

/* T├¡tulo */
.login-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 48px;
    color: #13223C;
    margin: 0 0 40px 0;
    text-align: center;
}

/* Form */
.login-form {
    width: 100%;
}

.login-form-content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
}

/* Campos */
.login-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 401px;
}

.login-field:last-of-type {
    gap: 12px;
}

.login-label {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #596981;
    margin: 0;
}

/* Input Wrapper */
.login-input-wrapper {
    position: relative;
    background: #FCFCFC;
    border: 1px solid #7D898D;
    border-radius: 6px;
    display: flex;
    align-items: center;
    padding: 8px 12px;
    transition: all 0.2s;
}

.login-input-wrapper:focus-within {
    border-color: #06C;
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.1);
}

.password-input-wrapper {
    gap: 8px;
}

/* Input */
.login-input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    color: #3D515A;
    padding: 0;
    width: 100%;
}

.login-input::placeholder {
    color: #68758B;
}

/* Password Toggle */
.btn-toggle-password {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 24px;
    flex-shrink: 0;
}

.btn-toggle-password:hover {
    opacity: 0.8;
}

.btn-toggle-password:focus {
    outline: none;
}

.btn-toggle-password .login-icon-eye-open {
    display: none;
}

.btn-toggle-password .login-icon-eye-off {
    display: block;
}

.btn-toggle-password.is-showing .login-icon-eye-open {
    display: block;
}

.btn-toggle-password.is-showing .login-icon-eye-off {
    display: none;
}

/* Link Esqueci Senha */
.login-link-forgot {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #2972C8;
    text-decoration: underline !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 1px;
    text-decoration-skip-ink: none;
    text-underline-position: from-font;
    cursor: pointer;
    text-align: left;
    display: block;
    width: 100%;
}

.login-link-forgot:hover {
    color: #1E5AA3;
    text-decoration: underline !important;
}

/* Bot├╡es */
.login-buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 401px;
}

.btn-login-primary {
    width: 100%;
    height: 48px;
    background: var(--interactive-0, #0066CC);
    border: none;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--text-inverse, #FFFFFF);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    margin-bottom: 0;
}

.btn-login-primary:hover:not(:disabled) {
    background: #0052A3;
}

.btn-login-primary:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: var(--text-menu, #3C4D6A);
    opacity: 1;
    cursor: not-allowed;
}

.btn-login-secondary {
    width: 100%;
    height: 48px;
    background: #FAFCFF;
    border: 1px solid #06C;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #06C;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    margin-top: 0;
}

.login-buttons .btn-login-secondary,
.login-buttons .btn-login-secondary:link,
.login-buttons .btn-login-secondary:visited {
    background: #FAFCFF;
    border: 1px solid #06C;
    color: #06C;
    text-decoration: none;
}

.login-buttons .btn-login-secondary:hover,
.login-buttons .btn-login-secondary:focus,
.login-buttons .btn-login-secondary:active {
    background: #F0F5FF;
    border-color: #0052A3;
    color: #0052A3;
    text-decoration: none;
}

.login-buttons .btn-login-secondary:focus {
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.15);
}

/* Error messages */
.error-userName,
.error-passCode {
    color: #B90000;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    min-height: 0;
    display: none;
}

.login-alert {
    width: 401px;
    min-height: 72px;
    border-radius: 8px;
    border: 1px solid transparent;
    padding: 16px;
    margin-bottom: 8px;
}

.login-alert-error {
    background: #FCF2F2;
    border-color: #B90000;
}

.login-alert-inner {
    display: flex;
    gap: 8px;
    align-items: flex-start;
}

.login-alert-icon-col {
    width: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

.login-alert-icon {
    width: 16px;
    height: 16px;
    font-size: 18px;
    line-height: 1;
    color: #B90000;
    flex-shrink: 0;
}

.login-alert-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.login-alert-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.login-alert-text {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.login-input-wrapper.login-input-wrapper-error {
    border: 1px solid #B90000;
}

.login-input-wrapper.login-input-wrapper-error:focus-within {
    border: 1px solid #B90000;
    box-shadow: 0 0 0 2px rgba(185, 0, 0, 0.12);
}

.login-input-error-icon {
    display: none;
    color: #B90000;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
}

.login-input-wrapper.login-input-wrapper-error .login-input-error-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.error-userName:not(:empty) {
    display: block;
}

.error-passCode:not(:empty) {
    display: block;
}

/* Footer Login Page - Desktop + Mobile */
.bg:has(.login-page) .footer,
.bg.auth-login .footer,
.mfa-page .footer {
    background: #303340 !important;
    padding: 22px 24px !important;
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    z-index: 100 !important;
    margin-top: auto;
}

.bg:has(.login-page) .footer .footer-inner,
.bg.auth-login .footer .footer-inner,
.mfa-page .footer .footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 20px;
}

.bg:has(.login-page) .footer .footer-left,
.bg.auth-login .footer .footer-left,
.mfa-page .footer .footer-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.bg:has(.login-page) .footer .footer-logo,
.bg.auth-login .footer .footer-logo,
.mfa-page .footer .footer-logo {
    height: 24px;
    width: auto;
}

.bg:has(.login-page) .footer .footer-copyright,
.bg.auth-login .footer .footer-copyright,
.mfa-page .footer .footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    margin: 0;
    padding: 0;
}

.bg:has(.login-page) .footer .footer-right,
.bg.auth-login .footer .footer-right,
.mfa-page .footer .footer-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.bg:has(.login-page) .footer .footer-right a,
.bg.auth-login .footer .footer-right a,
.mfa-page .footer .footer-right a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    text-decoration: underline !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 1px !important;
    transition: opacity 0.15s;
}

.bg:has(.login-page) .footer .footer-right a:hover,
.bg.auth-login .footer .footer-right a:hover,
.mfa-page .footer .footer-right a:hover {
    text-decoration: none !important;
    opacity: 0.9;
}

.bg:has(.login-page) .footer .footer-version,
.bg.auth-login .footer .footer-version,
.mfa-page .footer .footer-version {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    opacity: 0.9;
    margin-top: 0;
}

.footer-app {
    background: #303340;
    padding: 22px 24px;
    position: relative;
    transform: none;
    line-height: normal;
    width: 100%;
    z-index: 100;
    margin-top: auto;
}

.footer-app .footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 20px;
}

.footer-app .footer-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.footer-app .footer-logo {
    height: 24px;
    width: auto;
}

.footer-app .footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    margin: 0;
    padding: 0;
}

.footer-app .footer-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-app .footer-right a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    text-decoration: underline !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 1px !important;
    transition: opacity 0.15s;
}

.footer-app .footer-right a:hover {
    text-decoration: none !important;
    opacity: 0.9;
}

.footer-app .footer-version {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    opacity: 0.9;
    margin-top: 0;
}

/* ============================================
   RESPONSIVE - MOBILE
   ============================================ */

@media (max-width: 768px) {

    /* Mobile Layout */
    .login-page {
        position: relative;
        width: 100%;
        background: #FFFFFF !important;
        margin: 0;
        padding: 0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .bg,
    .bg.auth-login {
        width: 100%;
        margin: 0;
    }

    /* Header Mobile - 56px conforme Figma */
    .login-header {
        position: relative !important;
        width: 100% !important;
        height: 56px !important;
        background: #FFFFFF !important;
        box-shadow: 0px 8px 16px 2px rgba(48, 57, 82, 0.1) !important;
        z-index: 100 !important;
    }

    .login-header-container {
        height: 56px !important;
        padding: 16px 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .login-logo {
        height: 24px !important;
        width: auto !important;
    }

    /* Banner mobile */
    .login-page::before {
        content: '';
        display: block !important;
        width: 100%;
        height: 230px;
        background-image: url('../Imagens/new-bg-mobile.png?v=8') !important;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        flex-shrink: 0;
    }

    /* Background container */
    .bg {
        background: transparent !important;
        background-image: none !important;
        min-height: 100vh;
        position: relative;
        display: flex;
        flex-direction: column;
    }

    .bg::before {
        display: none !important;
    }

    /* Card Wrapper Mobile */
    .login-card-wrapper {
        position: relative !important;
        width: 100% !important;
        z-index: 50 !important;
        padding: 0 12px 20px !important;
        margin: 0 auto !important;
        flex: 1 0 auto;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        min-height: 0;
    }

    .login-card {
        width: 100%;
        max-width: 100%;
        padding: 44px 16px 28px;
        background: #FFFFFF;
        border: none;
        border-radius: 16px 16px 0 0;
        box-shadow: none;
        position: relative;
        z-index: 50;
        margin: 0;
        margin-top: -16px;
        flex: 0 0 auto;
    }

    .login-title {
        font-family: 'Open Sans', sans-serif !important;
        font-weight: 600 !important;
        font-size: 22px !important;
        line-height: 32px !important;
        color: #13223C !important;
        text-align: center !important;
        margin-bottom: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
    }

    .login-form-content {
        gap: 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .login-field {
        width: 100%;
        gap: 4px;
    }

    .login-field:last-of-type {
        gap: 12px;
    }

    .login-buttons {
        width: 100%;
        gap: 16px;
        display: flex;
        flex-direction: column;
    }

    .login-link-forgot {
        text-align: left;
        width: 100%;
    }

    /* Footer Mobile */
    .bg:has(.login-page) .footer,
    .bg.auth-login .footer,
    .mfa-page .footer {
        padding: 20px 20px !important;
    }

    .footer-app {
        padding: 20px 20px;
    }

    .bg:has(.login-page) .footer .footer-inner,
    .bg.auth-login .footer .footer-inner,
    .mfa-page .footer .footer-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .footer-app .footer-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .bg:has(.login-page) .footer .footer-left,
    .bg.auth-login .footer .footer-left,
    .mfa-page .footer .footer-left {
        order: 2 !important;
    }

    .footer-app .footer-left {
        order: 2;
    }

    .bg:has(.login-page) .footer .footer-right,
    .bg.auth-login .footer .footer-right,
    .mfa-page .footer .footer-right {
        order: 1 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .footer-app .footer-right {
        order: 1;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .bg:has(.login-page) .footer .footer-right a,
    .bg.auth-login .footer .footer-right a,
    .mfa-page .footer .footer-right a {
        font-size: 13px !important;
        line-height: 22px !important;
        text-decoration: underline !important;
        text-decoration-color: currentColor !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 1px !important;
    }

    .footer-app .footer-right a {
        font-size: 13px;
        line-height: 22px;
    }
}

@media (min-width: 426px) and (max-width: 768px) {
    .login-page {
        position: relative;
        width: 100%;
        background: transparent !important;
        margin: 0;
        padding: 0;
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
    }

    .bg.auth-login .login-page {
        background: transparent !important;
    }

    .bg,
    .bg.auth-login {
        width: 100%;
        margin: 0;
    }

    .login-header {
        position: relative !important;
        width: 100% !important;
        height: 56px !important;
        background: #FFFFFF !important;
        box-shadow: 0px 8px 16px 2px rgba(48, 57, 82, 0.1) !important;
        z-index: 100 !important;
    }

    .login-header-container {
        height: 56px !important;
        padding: 16px 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .login-logo {
        height: 24px !important;
        width: auto !important;
    }

    .login-page::before {
        display: none !important;
    }

    .bg,
    .bg.auth-login {
        background-image: url('../Imagens/new-bg-login.png?v=10') !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-attachment: scroll !important;
        min-height: 100vh;
        position: relative;
        display: flex;
        flex-direction: column;
    }

    .bg::before {
        display: none !important;
    }

    .login-card-wrapper {
        position: relative !important;
        width: 100% !important;
        z-index: 50 !important;
        padding: 150px 24px 24px !important;
        margin: 0 auto !important;
        flex: 1 0 auto;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        min-height: 0;
    }

    .login-card {
        width: min(650px, calc(100vw - 48px));
        max-width: 650px;
        min-height: 560px;
        padding: 70px 56px 52px;
        background: #FFFFFF;
        border: 1px solid #DBE1E2;
        border-radius: 12px;
        box-shadow: 0px 8px 16px 2px rgba(48, 57, 82, 0.1);
        margin: 0;
        margin-top: 0;
    }

    .login-form-content {
        gap: 28px;
    }

    .login-field,
    .login-buttons {
        width: 100%;
        max-width: 520px;
    }

    .login-link-forgot {
        text-align: left;
        width: 100%;
    }
}

@media (min-width: 426px) and (max-width: 768px) {

    .bg:has(.login-page) .footer,
    .bg.auth-login .footer,
    .mfa-page .footer {
        padding: 24px 32px !important;
    }

    .bg:has(.login-page) .footer .footer-inner,
    .bg.auth-login .footer .footer-inner,
    .mfa-page .footer .footer-inner {
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }

    .bg:has(.login-page) .footer .footer-left,
    .bg.auth-login .footer .footer-left,
    .mfa-page .footer .footer-left {
        order: 1 !important;
        gap: 12px !important;
    }

    .bg:has(.login-page) .footer .footer-right,
    .bg.auth-login .footer .footer-right,
    .mfa-page .footer .footer-right {
        order: 2 !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        text-align: right !important;
        flex-wrap: nowrap !important;
    }

    .bg:has(.login-page) .footer .footer-right a,
    .bg.auth-login .footer .footer-right a,
    .mfa-page .footer .footer-right a {
        font-size: 12px !important;
        line-height: 18px !important;
        text-align: right !important;
    }

    .bg:has(.login-page) .footer .footer-version,
    .bg.auth-login .footer .footer-version,
    .mfa-page .footer .footer-version {
        display: block;
        width: 100%;
        text-align: right;
    }
}

@media (max-width: 425px) and (max-height: 780px) {
    .login-page::before {
        height: 168px;
    }

    .login-card {
        padding-top: 24px;
        margin-top: -12px;
    }

    .login-form-content {
        gap: 24px;
    }

    .login-field,
    .login-buttons {
        width: min(312px, 100%);
    }

    .bg:has(.login-page) .footer,
    .bg.auth-login .footer {
        padding: 16px 16px !important;
    }
}

/* Tablet - Ajustes intermedi├írios */
@media (min-width: 769px) and (max-width: 1200px) {

    .bg:has(.login-page),
    .bg.auth-login {
        background-image: url('../Imagens/new-bg-login.png?v=10') !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-attachment: scroll !important;
    }

    .login-card-wrapper {
        padding: 48px 40px 48px;
    }

    .login-card {
        width: 90%;
        max-width: 641px;
        padding: 60px 40px;
    }

    .login-field,
    .login-buttons {
        width: 100%;
        max-width: 401px;
    }
}

/* reCAPTCHA - remover configura├º├╡es que estavam interferindo */

/* ============================================
   MFA PAGE - Fator de Autentica├º├úo
   ============================================ */

.mfa-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: #f4f4f4;
    background-image: url('/Imagens/mfa-background.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
}

/* Header MFA */
.mfa-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 96px;
    background: #FFFFFF;
    box-shadow: 0px 6px 12px 2px rgba(48, 57, 82, 0.1);
    z-index: 100;
}

.mfa-header-container {
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 1440px;
    margin: 0 24px;
}

.mfa-header-content {
    width: 1392px;
    max-width: 100%;
    height: 96px;
    display: flex;
    align-items: center;
    gap: 40px;
}

.mfa-header-logo-area {
    width: 1088px;
    min-width: 200px;
    height: 40px;
    display: flex;
    align-items: center;
}

.mfa-logo {
    width: 192px;
    height: 40px;
    display: block;
    object-fit: contain;
}

/* Card Wrapper */
.mfa-card-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 140px 24px 24px;
}

/* Card MFA */
.mfa-card {
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
    box-shadow: none;
    width: 641px;
    height: 452px;
    max-width: 641px;
    box-sizing: border-box;
    padding: 100px 120px;
}

.mfa-card.is-factor-selected {
    width: 641px;
    height: 656px;
    padding: 100px 120px;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
}

.mfa-card.is-code-sent {
    width: 641px;
    height: 628px;
    padding: 100px 120px;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
    box-shadow: 0px 8px 16px 2px var(--layoutelevation, rgba(48, 57, 82, 0.12));
}

.mfa-card.is-code-error {
    width: 641px;
    height: 784px;
    padding: 80px 120px;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
    box-shadow: 0px 8px 16px 2px var(--layoutelevation, rgba(48, 57, 82, 0.12));
}

.mfa-content {
    width: 401px;
    min-height: 252px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.mfa-card.is-factor-selected .mfa-content {
    min-height: 456px;
}

.mfa-card.is-code-sent .mfa-content {
    width: 401px;
    height: 428px;
    min-height: 428px;
    gap: 40px;
}

.mfa-card.is-code-error .mfa-content {
    width: 401px;
    height: 624px;
    min-height: 624px;
    gap: 40px;
}

.mfa-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 48px;
    color: #13223C;
    margin: 0;
    text-align: center;
}

.mfa-subtitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
    margin: 0;
    text-align: left;
}

.mfa-subtitle-highlight {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
}

/* Form */
.mfa-form {
    width: 401px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.mfa-form-group {
    margin-bottom: 0;
}

#inputCanalGroup {
    position: relative;
}

#codigoMFAGroup {
    position: relative;
}

.mfa-label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #596981;
    margin-bottom: 8px;
}

.mfa-select-native {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.mfa-select-wrapper {
    position: relative;
    width: 401px;
}

.mfa-select-trigger {
    width: 401px;
    height: 48px;
    padding: 12px 16px;
    border-radius: 6px;
    border: 1px solid #BDC4C7;
    background: #FCFCFC;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    box-sizing: border-box;
    cursor: pointer;
}

.mfa-select-wrapper.is-open .mfa-select-trigger {
    border-color: #BDC4C7;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.mfa-select-trigger:focus,
.mfa-select-trigger:active {
    outline: none;
    border-color: #BDC4C7;
    box-shadow: none;
}

.mfa-select-trigger:focus-visible {
    outline: none;
    border-color: #BDC4C7;
    box-shadow: none;
}

.mfa-select-text {
    flex: 1;
    min-width: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #68758B;
    text-align: left;
}

.mfa-select-wrapper.has-value .mfa-select-text {
    color: #3C4D6A;
}

.mfa-select-icon {
    width: 12px;
    height: 8px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23596981' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
    flex: 0 0 auto;
}

.mfa-select-wrapper.is-open .mfa-select-icon {
    transform: rotate(180deg);
}

.mfa-select-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 401px;
    padding: 4px 0;
    border-radius: 6px;
    border: 1px solid #0066CC;
    background: #FFFFFF;
    box-shadow: 0px 4px 8px 2px rgba(48, 57, 82, 0.1);
    display: none;
    z-index: 50;
    box-sizing: border-box;
}

.mfa-select-wrapper.is-open .mfa-select-dropdown {
    display: block;
}

.mfa-select-option {
    width: 100%;
    height: 40px;
    border: none;
    background: #FFFFFF;
    padding: 8px 12px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3C4D6A;
    text-align: left;
    cursor: pointer;
}

.mfa-select-option:hover,
.mfa-select-option.is-active {
    background: #E6F2FD;
    color: #007DFA;
}

.mfa-select-option:focus,
.mfa-select-option:focus-visible,
.mfa-select-option:active {
    outline: none;
    box-shadow: none;
}

.mfa-input {
    width: 100%;
    height: 48px;
    background: #FCFCFC;
    border: 1px solid #7D898D;
    border-radius: 6px;
    padding: 12px 16px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #13223C;
}

.mfa-input.text-center {
    letter-spacing: 4px;
}

#codigoAcesso {
    text-align: left !important;
}

#codigoAcesso::placeholder {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: #68758B;
    opacity: 1;
}

.mfa-input:focus {
    outline: none;
    border-color: #0066CC;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.mfa-input.error {
    border-color: #B90000;
}

#inputCanal.error {
    padding-right: 48px;
}

#codigoAcesso.error {
    padding-right: 48px;
}

.mfa-input-error-icon {
    display: none;
    position: absolute;
    right: 16px;
    top: 42px;
    width: 24px;
    height: 24px;
    opacity: 1;
    pointer-events: none;
}

#inputCanal.error+.mfa-input-error-icon {
    display: block;
}

#codigoAcesso.error+.mfa-input-error-icon {
    display: block;
}

.mfa-input-error-icon::before {
    content: '';
    position: absolute;
    top: 3.54px;
    left: 4.47px;
    width: 16.01345px;
    height: 16.00027px;
    background-repeat: no-repeat;
    background-size: 16.01345px 16.00027px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M8.47 1.5L15.22 13.5H1.72L8.47 1.5Z' stroke='%23B90000' stroke-width='1.4'/%3E%3Cpath d='M8.47 5.4V8.9' stroke='%23B90000' stroke-width='1.4' stroke-linecap='round'/%3E%3Ccircle cx='8.47' cy='11.3' r='0.9' fill='%23B90000'/%3E%3C/svg%3E");
}

.error-message {
    color: #b90000;
    /* Cor de erro do Figma */
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 22px;
    margin-top: 4px;
    display: none;
    /* Oculto por padr├úo */
}

.mfa-helper-text {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #7D898D;
    margin-top: 8px;
}

.mfa-code-error-card {
    width: 401px;
    max-width: 100%;
    height: 156px;
    min-height: 72px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 12px;
    border: 1px solid #B90000;
    border-radius: 8px;
    background: #FCF2F2;
    padding: 16px;
    box-sizing: border-box;
}

.mfa-code-error-card.u-hidden {
    display: none;
}

.mfa-code-error-card-inner {
    width: 369px;
    max-width: 100%;
    height: 84px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.mfa-code-error-card-icon {
    width: 24px;
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B90000;
    font-size: 20px;
    line-height: 1;
    flex: 0 0 24px;
}

.mfa-code-error-card-content {
    width: 337px;
    max-width: calc(100% - 32px);
    height: 84px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mfa-code-error-card-title {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.mfa-code-error-card-description {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.mfa-info {
    background: #E3F2FD;
    border: 1px solid #90CAF9;
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 24px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #1976D2;
}

.mfa-info i {
    margin-right: 8px;
}

/* Actions */
.mfa-actions {
    display: flex;
    gap: 16px;
    margin-top: 32px;
    margin-bottom: 16px;
}

.btn-mfa-primary {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    background: #0066CC;
    border: none;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-mfa-primary:hover:not(:disabled) {
    background: #0052A3;
}

.btn-mfa-primary:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: #3C4D6A;
    opacity: 0.6;
    cursor: not-allowed;
}

#btnEnviarCodigo {
    width: 401px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #BDC4C7;
    background: #F2F2F2;
    color: #3C4D6A;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}

#btnEnviarCodigo:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: #3C4D6A;
    opacity: 1;
}

#btnEnviarCodigo:not(:disabled) {
    background: #0066CC;
    border: 1px solid #0066CC;
    color: #FFFFFF;
}

#submitCodigoAcesso {
    width: 401px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #BDC4C7;
    background: #F2F2F2;
    color: #3C4D6A;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}

#submitCodigoAcesso:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: #3C4D6A;
    opacity: 1;
}

#submitCodigoAcesso:not(:disabled) {
    background: #0066CC;
    border: 1px solid #0066CC;
    color: #FFFFFF;
    opacity: 1;
}

#btnReenviarCodigo {
    width: 401px;
    height: 48px;
    border-radius: 6px;
    border: 1px solid #BDC4C7;
    background: #F2F2F2;
    color: #3C4D6A;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
}

#btnReenviarCodigo:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: #3C4D6A;
    opacity: 1;
}

#btnReenviarCodigo:not(:disabled) {
    background: #FAFCFF;
    border: 1px solid #0066CC;
    color: #0066CC;
    opacity: 1;
}

.btn-mfa-secondary {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    height: 48px;
    background: #FAFCFF;
    border: 1px solid #0066CC;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #0066CC;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-mfa-secondary:hover {
    background: #F0F5FF;
    border-color: #0052A3;
    color: #0052A3;
}

.btn-mfa-link {
    background: none;
    border: none;
    color: #0066CC;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    cursor: pointer;
    text-decoration: underline;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.btn-mfa-link:hover {
    color: #0052A3;
}

.btn-mfa-link:disabled {
    color: #7A8797;
    cursor: not-allowed;
    opacity: 1;
    text-decoration: none;
}

.btn-mfa-link:disabled:hover {
    color: #7A8797;
}

/* Footer MFA */
.mfa-footer {
    background: #303340;
    padding: 24px 32px;
}

.mfa-footer-container {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.mfa-footer-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mfa-footer-logo {
    height: 25px;
    width: auto;
}

.mfa-footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #FFFFFF;
    margin: 0;
}

.mfa-footer-right {
    display: flex;
    gap: 24px;
}

.mfa-footer a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #FFFFFF;
    text-decoration: none;
}

.mfa-footer a:hover {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 768px) {
    .mfa-header {
        height: 56px;
    }

    .mfa-header-container {
        padding: 16px 24px;
    }

    .mfa-header-content {
        width: 100%;
        height: 56px;
        gap: 16px;
    }

    .mfa-header-logo-area {
        width: auto;
        min-width: 0;
        height: 24px;
    }

    .mfa-logo {
        width: auto;
        height: 24px;
    }

    .mfa-card-wrapper {
        padding: 72px 12px 24px;
        align-items: flex-start;
        justify-content: center;
    }

    .mfa-card {
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 24px 16px;
        border-radius: 4px;
        margin-top: 0;
        min-height: 420px;
    }

    .mfa-card.is-factor-selected,
    .mfa-card.is-code-sent,
    .mfa-card.is-code-error {
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 24px 16px;
        min-height: 420px;
    }

    .mfa-content {
        width: 100%;
        max-width: 100%;
        gap: 16px;
        min-height: unset;
        height: auto;
    }

    .mfa-card.is-factor-selected .mfa-content,
    .mfa-card.is-code-sent .mfa-content,
    .mfa-card.is-code-error .mfa-content {
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: unset;
        gap: 16px;
    }

    .mfa-form,
    .mfa-select-wrapper,
    .mfa-select-trigger,
    .mfa-select-dropdown {
        width: 100%;
        max-width: 100%;
    }

    .mfa-select-wrapper.is-open {
        margin-bottom: 88px;
    }

    .mfa-title {
        font-size: 24px;
        line-height: 36px;
    }

    .mfa-actions {
        flex-direction: column;
    }

    .mfa-footer-container {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    .mfa-footer-right {
        flex-direction: column;
        gap: 16px;
    }
}

/* ============================================
   PRIMEIRO ACESSO PAGE
   ============================================ */

.primeiro-acesso-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(135deg, #E8F5E9 0%, #FFF9C4 25%, #FFE0B2 50%, #F8BBD0 75%, #E1BEE7 100%);
    position: relative;
}

/* Header */
.primeiro-acesso-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 96px;
    background: #FFFFFF;
    box-shadow: 0px 6px 12px 2px rgba(48, 57, 82, 0.1);
    z-index: 100;
}

.primeiro-acesso-header-container {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 24px;
    max-width: 1440px;
    margin: 0 auto;
}

.primeiro-acesso-logo {
    height: 40px;
    width: auto;
}

/* Card Wrapper */
.primeiro-acesso-card-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 120px 24px 24px;
}

/* Card */
.primeiro-acesso-card {
    background: #FFFFFF;
    border-radius: 8px;
    box-shadow: 0px 8px 16px 2px rgba(48, 57, 82, 0.1);
    padding: 48px;
    width: 100%;
    max-width: 640px;
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.primeiro-acesso-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 48px;
    color: #13223C;
    margin: 0 0 16px 0;
    text-align: center;
}

.primeiro-acesso-subtitle {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    color: #596981;
    margin: 0 0 16px 0;
    text-align: center;
}

.primeiro-acesso-important {
    background: #FFF3CD;
    border: 1px solid #FFE69C;
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 32px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: #856404;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.primeiro-acesso-important i {
    font-size: 20px;
    margin-top: 2px;
    flex-shrink: 0;
}

/* Form */
.primeiro-acesso-form {
    width: 100%;
}

.form-group-pa {
    margin-bottom: 24px;
}

.label-pa {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 22px;
    color: #596981;
    margin-bottom: 8px;
}

.input-pa {
    width: 100%;
    height: 48px;
    background: #FCFCFC;
    border: 1px solid #7D898D;
    border-radius: 6px;
    padding: 12px 16px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    color: #13223C;
}

.input-pa:focus {
    outline: none;
    border-color: #0066CC;
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

.input-wrapper-pa {
    position: relative;
    width: 100%;
}

.input-wrapper-pa .input-pa {
    padding-right: 48px;
}

.btn-toggle-password-pa {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #7D898D;
    font-size: 20px;
    z-index: 2;
}

/* Password Requirements */
.password-requirements {
    margin-top: 12px;
    padding: 12px;
    background: #F8F9FA;
    border-radius: 6px;
}

.requirements-title {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: #596981;
    margin: 0 0 8px 0;
}

.requirements-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.requirement-item {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    line-height: 20px;
    color: #7D898D;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.requirement-item i {
    font-size: 16px;
}

.requirement-item.invalid i {
    color: #DC3545;
}

.requirement-item.valid i {
    color: #28A745;
}

.requirement-item.valid {
    color: #28A745;
}

/* Checkbox */
.checkbox-group {
    margin: 32px 0;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #596981;
    cursor: pointer;
}

.checkbox-label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 2px;
}

.checkbox-label a {
    color: #0066CC;
    text-decoration: underline;
}

/* Actions */
.primeiro-acesso-actions {
    display: flex;
    gap: 16px;
    margin-top: 32px;
}

.btn-pa-primary {
    flex: 1;
    height: 48px;
    background: #0066CC;
    border: none;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-pa-primary:hover:not(:disabled) {
    background: #0066CC;
    color: #FFFFFF;
}

.btn-pa-primary:disabled {
    background: #F2F2F2;
    border: 1px solid #BDC4C7;
    color: #3C4D6A;
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-pa-secondary {
    flex: 1;
    height: 48px;
    background: #FAFCFF;
    border: 1px solid #0066CC;
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #0066CC;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-pa-secondary:hover {
    background: #FAFCFF;
    border-color: #0066CC;
    color: #0066CC;
}

/* Footer */
.primeiro-acesso-footer {
    background: #303340;
    padding: 24px 32px;
}

.primeiro-acesso-footer-container {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.primeiro-acesso-footer-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.primeiro-acesso-footer-logo {
    height: 25px;
    width: auto;
}

.primeiro-acesso-footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: #FFFFFF;
    margin: 0;
}

.primeiro-acesso-footer-right {
    display: flex;
    gap: 24px;
}

.primeiro-acesso-footer a {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    color: #FFFFFF;
    text-decoration: none;
}

.primeiro-acesso-footer a:hover {
    text-decoration: underline;
}

/* Mobile */
@media (max-width: 768px) {
    .primeiro-acesso-header {
        height: 56px;
    }

    .primeiro-acesso-header-container {
        padding: 16px 24px;
    }

    .primeiro-acesso-logo {
        height: 24px;
    }

    .primeiro-acesso-card-wrapper {
        padding: 80px 16px 16px;
    }

    .primeiro-acesso-card {
        padding: 24px 16px;
    }

    .primeiro-acesso-title {
        font-size: 24px;
        line-height: 36px;
    }

    .primeiro-acesso-actions {
        flex-direction: column;
    }

    .primeiro-acesso-footer-container {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }

    .primeiro-acesso-footer-right {
        flex-direction: column;
        gap: 16px;
    }
}

/* ===================== */
/* Primeiro Acesso (Multi-Step) */
/* ===================== */
.pa-page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: white url('/Imagens/Background.png') center center / cover no-repeat;
    margin: 0;
    padding: 0;
}

/* Esconder curved-footer quando h├í .pa-page */
.bg:has(.pa-page) .curved-footer {
    display: none !important;
}

.pa-header {
    width: 100%;
    height: 96px;
    background-color: white;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pa-header-container {
    width: 100%;
    max-width: 1200px;
    padding: 0 40px;
}

.pa-logo {
    height: 32px;
}

.pa-card-wrapper {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 24px 20px 40px;
}

.pa-card {
    width: 100%;
    max-width: 520px;
    background: white;
    border-radius: 4px;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

/* Header do Card */
.pa-card-header {
    background-color: #FCFCFC;
    border-bottom: 1px solid #E9ECEF;
    padding: 16px 24px;
}

.pa-title {
    font-size: 18px;
    font-weight: 600;
    color: #13223C;
    margin: 0 0 8px 0;
    text-align: left;
}

.pa-step-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #596981;
    margin-bottom: 12px;
}

/* Body do Card */
.pa-card-body {
    padding: 24px;
}

/* Footer do Card */
.pa-card-footer {
    background-color: #FCFCFC;
    border-top: 1px solid #E9ECEF;
    padding: 12px 16px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

#paStepText {
    font-weight: 500;
}

#paNextStep {
    font-weight: 400;
}

/* Stepper */
.pa-stepper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 0;
}

.pa-step {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.pa-step-circle {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #BDC4C7;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
    color: transparent;
    box-sizing: border-box;
}

.pa-step.active .pa-step-circle {
    position: relative;
    border-color: #BDC4C7;
    background-color: #FFFFFF;
}

.pa-step.active .pa-step-circle::after {
    content: '';
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid #2490EE;
    background: transparent;
    box-sizing: border-box;
}

.pa-step.completed .pa-step-circle {
    position: relative;
    border-color: #047D26;
    background-color: #047D26;
    color: transparent;
}

.pa-step.completed .pa-step-circle::before {
    content: '';
    width: 12px;
    height: 9.6px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='9.6' viewBox='0 0 12 9.6' fill='none'%3E%3Cpath d='M1 4.9L4.1 8L11 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 9.6px;
}

.pa-step-line {
    flex: 1 1 auto;
    width: auto;
    height: 6px;
    background-color: #F2F2F2;
    margin: 0;
}

.pa-step-line.from-active {
    margin-left: 3px;
}

.pa-step-line.to-active {
    margin-right: 3px;
}

#step-indicator-1.completed+.pa-step-line,
#step-indicator-2.completed+.pa-step-line {
    background-color: #BDC4C7;
}

/* Form Content */
.pa-step-content {
    display: none;
}

.pa-step-content.active {
    display: block;
}

.pa-form-group {
    margin-bottom: 16px;
}

.pa-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #596981;
    margin-bottom: 6px;
}

.pa-input {
    width: 100%;
    height: 40px;
    padding: 8px 12px;
    font-size: 14px;
    color: #3D515A;
    border: 1px solid #D0D5DD;
    border-radius: 4px;
    outline: none;
    transition: border-color 0.2s;
}

.pa-input:focus {
    border-color: #1570EF;
    box-shadow: 0 0 0 4px rgba(21, 112, 239, 0.1);
}

.pa-input.error {
    border-color: #B90000 !important;
}

.pa-input-readonly {
    background-color: #F9FAFB;
    color: #667085;
    cursor: not-allowed;
}

.pa-input-wrapper {
    position: relative;
}

.pa-toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.pa-toggle-password:hover,
.pa-toggle-password:focus,
.pa-toggle-password:focus-visible {
    outline: none;
    box-shadow: none;
}

.pa-eye-icon {
    width: 16.0115px;
    height: 10.0021px;
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='11' viewBox='0 0 17 11' fill='none'%3E%3Cpath d='M1 5.00102C2.60053 2.4808 5.35763 1 8.33708 1C11.3165 1 14.0736 2.4808 15.6742 5.00102C14.0736 7.52123 11.3165 9.00204 8.33708 9.00204C5.35763 9.00204 2.60053 7.52123 1 5.00102Z' stroke='%230066CC' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='8.337' cy='5.001' r='2.126' stroke='%230066CC' stroke-width='1.5'/%3E%3C/svg%3E");
}

.pa-eye-icon.is-visible {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='11' viewBox='0 0 17 11' fill='none'%3E%3Cpath d='M1 5.00102C2.60053 2.4808 5.35763 1 8.33708 1C11.3165 1 14.0736 2.4808 15.6742 5.00102C14.0736 7.52123 11.3165 9.00204 8.33708 9.00204C5.35763 9.00204 2.60053 7.52123 1 5.00102Z' stroke='%230066CC' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='8.337' cy='5.001' r='2.126' fill='%230066CC'/%3E%3C/svg%3E");
}

.pa-error-message {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 20px;
    color: #B90000;
    margin-top: 4px;
    display: none;
}

.pa-error-message:not(:empty) {
    display: block;
}

/* Password Requirements */
.pa-password-requirements {
    margin-top: 12px;
}

.pa-req-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pa-req-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    color: #3D515A;
    margin-bottom: 6px;
}

.pa-req-dot {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    border: 1px solid #FFFFFF;
    background: #B2C2CB;
    box-sizing: border-box;
    flex: 0 0 auto;
}

.pa-req-item.valid .pa-req-dot {
    background: #047D26;
}

/* Aviso CPF Já Cadastrado */
.pa-cpf-warning-box {
    width: 401px;
    max-width: 100%;
    min-height: 183px;
    padding: 16px;
    margin-top: 12px;
    border: 1px solid #E18801;
    border-radius: 8px;
    background: #FEF8F2;
    box-sizing: border-box;
}

.pa-cpf-warning-box.u-hidden {
    display: none;
}

.pa-cpf-warning-inner {
    width: 100%;
    min-height: 144px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
}

.pa-cpf-warning-icon {
    width: 24px;
    height: 144px;
    flex: 0 0 24px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    color: #9D5E00;
    font-size: 20px;
    line-height: 1;
}

.pa-cpf-warning-content {
    width: 337px;
    max-width: calc(100% - 32px);
    min-height: 144px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 12px;
}

.pa-cpf-warning-title {
    width: 337px;
    min-height: 24px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.pa-cpf-warning-description {
    width: 337px;
    min-height: 48px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.pa-cpf-warning-btn {
    width: 223px;
    max-width: 100%;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 12px 16px;
    border-radius: 6px;
    border: 1px solid #7D898D;
    background: #FAFCFF;
    color: #0066CC;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    align-self: flex-start;
}

.pa-cpf-warning-btn:hover,
.pa-cpf-warning-btn:focus,
.pa-cpf-warning-btn:focus-visible {
    color: #0066CC;
    text-decoration: none;
    outline: none;
    box-shadow: none;
}

/* Success Box */
.pa-success-box {
    background-color: #ECFDF3;
    border: 1px solid #A6F4C5;
    border-radius: 4px;
    padding: 12px;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pa-success-icon {
    color: #12B76A;
    font-size: 20px;
}

.pa-success-message {
    font-size: 13px;
    font-weight: 600;
    color: #027A48;
    margin: 0;
}

.pa-success-subtitle {
    font-size: 14px;
    color: #667085;
    text-align: center;
    margin-bottom: 16px;
}

/* Step 4 (Cadastro finalizado) */
.pa-step4-content {
    width: 401px;
    max-width: 100%;
    min-height: auto;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.pa-step4-title {
    width: 100%;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 32px;
    line-height: 48px;
    text-align: center;
    color: #13223C;
}

.pa-step4-description {
    width: 401px;
    max-width: 100%;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    text-align: center;
    color: #3D515A;
}

.pa-card.is-step4 {
    width: 641px !important;
    max-width: 641px !important;
    min-height: 528px;
    border: 1px solid #DBE1E2 !important;
    box-shadow: none !important;
}

.pa-card.is-step4 .pa-card-header {
    display: none;
}

.pa-card.is-step4 .pa-card-body {
    padding: 100px 120px 0 120px !important;
}

.pa-card.is-step4 .pa-card-body .pa-step-content {
    max-width: 401px;
}

.pa-card.is-step4 .pa-success-box {
    width: 401px;
    max-width: 100%;
    min-height: 92px;
    margin: 0;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #047D26;
    background: #ECF7F0;
    gap: 16px;
    box-sizing: border-box;
}

.pa-card.is-step4 .pa-success-icon {
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
    flex: 0 0 16px;
}

.pa-card.is-step4 .pa-success-icon i {
    display: none;
}

.pa-card.is-step4 .pa-success-icon::before {
    content: '';
    position: absolute;
    width: 14.98277px;
    height: 14.97933px;
    top: 1px;
    left: 0.02px;
    border: 1.4px solid #047D26;
    border-radius: 50%;
    box-sizing: border-box;
}

.pa-card.is-step4 .pa-success-icon::after {
    content: '';
    position: absolute;
    width: 11.99959px;
    height: 10.00067px;
    top: 0;
    left: 4px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2L4.2 8.3L11 1.2' stroke='%23047D26' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 12px 10px;
}

.pa-card.is-step4 .pa-success-message {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
}

.pa-card.is-step4 .pa-card-footer {
    background: transparent !important;
    border-top: none !important;
    padding: 24px 120px 48px 120px !important;
    justify-content: flex-start;
}

.pa-card.is-step4 #btnVoltar {
    display: none !important;
}

.pa-card.is-step4 #btnContinuar {
    width: 401px !important;
    min-width: 401px !important;
    height: 44px !important;
    padding: 11px 24px !important;
    border-radius: 6px !important;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 22px;
    color: #FFFFFF;
}

@media (max-width: 768px) {
    .pa-card.is-step4 {
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto;
    }

    .pa-card.is-step4 .pa-card-body {
        padding: 32px 24px 0 24px !important;
    }

    .pa-card.is-step4 .pa-card-footer {
        padding: 24px !important;
    }

    .pa-card.is-step4 #btnContinuar {
        width: 100% !important;
        min-width: 100% !important;
    }

    .pa-step4-title {
        width: 100%;
        font-size: 32px;
        line-height: 48px;
    }
}

/* Bot├╡es com tamanho reduzido para Primeiro Acesso */
.pa-btn-small {
    width: auto !important;
    height: 36px !important;
    padding: 0 24px !important;
    font-size: 14px !important;
}

/* Mobile */
@media (max-width: 768px) {
    .pa-header {
        height: 56px;
    }

    .pa-header-container {
        padding: 0 24px;
    }

    .pa-logo {
        height: 24px;
    }

    .pa-card-wrapper {
        padding: 16px 12px;
    }

    .pa-card {
        max-width: 100%;
    }

    .pa-card-header,
    .pa-card-body,
    .pa-card-footer {
        padding: 16px;
    }

    .pa-title {
        font-size: 16px;
    }

    .pa-step-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        font-size: 11px;
    }

    .pa-step-circle {
        width: 24px;
        height: 24px;
    }

    .pa-step-line {
        width: auto;
        margin: 0;
    }

    .pa-card-footer {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        height: auto;
        gap: 12px;
    }

    .pa-card-footer #btnContinuar,
    .pa-card-footer #btnVoltar {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .pa-card-footer #btnContinuar {
        order: 1;
    }

    .pa-card-footer #btnVoltar {
        order: 2;
    }
}

/* ===================================
   ESQUECI MINHA SENHA (EMS)
   =================================== */

.ems-page {
    min-height: 100%;
    flex: 1 0 auto;
    background: white url('/Imagens/Background.png') center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 20px 40px;
}

.ems-card-wrapper {
    width: 100%;
    max-width: 641px;
    display: flex;
    justify-content: center;
}

.ems-card {
    width: 641px;
    min-height: 540px;
    height: auto;
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
    box-shadow: none;
    padding: 100px 120px;
    box-sizing: border-box;
}

.ems-content {
    width: 401px;
    min-height: 340px;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.ems-card.is-step-2 {
    min-height: 452px;
    padding-top: 100px;
    padding-right: 120px;
    padding-bottom: 100px;
    padding-left: 120px;
}

.ems-card.is-step-2 .ems-content {
    min-height: auto;
}

.ems-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 48px;
    color: #13223C;
    margin: 0;
    text-align: left;
    width: 328px;
}

.ems-card-body {
    padding: 0;
}

.ems-step {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ems-step.u-hidden {
    display: none;
}

.ems-description {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--text-body, #3D515A);
    margin: 0;
}

.ems-form-group {
    margin-bottom: 0;
    position: relative;
}

.ems-form-group label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 22px;
    color: var(--text-caption, #596981);
    margin-bottom: 6px;
}

.ems-input {
    width: 100%;
    height: 48px;
    padding: 12px 16px;
    background: var(--layout-layout-inputs, #FCFCFC);
    border: 1px solid var(--layout-high-contrast-1, #BDC4C7);
    border-radius: 6px;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #13223C;
    transition: all 0.2s;
    box-sizing: border-box;
}

.ems-select-native {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
}

.ems-select-wrapper {
    position: relative;
    width: 401px;
    max-width: 100%;
}

.ems-select-trigger {
    width: 100%;
    height: 48px;
    padding: 12px 16px;
    border-radius: 6px;
    border: 1px solid #BDC4C7;
    background: #FCFCFC;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    box-sizing: border-box;
    cursor: pointer;
}

.ems-select-wrapper.is-open .ems-select-trigger {
    border-color: #BDC4C7;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.ems-select-trigger:focus,
.ems-select-trigger:active,
.ems-select-trigger:focus-visible {
    outline: none;
    border-color: #BDC4C7;
    box-shadow: none;
}

.ems-select-text {
    flex: 1;
    min-width: 0;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #68758B;
    text-align: left;
}

.ems-select-wrapper.has-value .ems-select-text {
    color: #3C4D6A;
}

.ems-select-icon {
    width: 12px;
    height: 8px;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23596981' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease;
    flex: 0 0 auto;
}

.ems-select-wrapper.is-open .ems-select-icon {
    transform: rotate(180deg);
}

.ems-select-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    width: 100%;
    padding: 4px 0;
    border-radius: 6px;
    border: 1px solid #0066CC;
    background: #FFFFFF;
    box-shadow: 0px 4px 8px 2px rgba(48, 57, 82, 0.1);
    display: none;
    z-index: 50;
    box-sizing: border-box;
}

.ems-select-wrapper.is-open .ems-select-dropdown {
    display: block;
}

.ems-select-option {
    width: 100%;
    height: 40px;
    border: none;
    background: #FFFFFF;
    padding: 8px 12px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: #3C4D6A;
    text-align: left;
    cursor: pointer;
}

.ems-select-option:hover,
.ems-select-option.is-active {
    background: #E6F2FD;
    color: #007DFA;
}

.ems-select-option:focus,
.ems-select-option:focus-visible,
.ems-select-option:active {
    outline: none;
    box-shadow: none;
}

.ems-input::placeholder,
.ems-select-text {
    color: var(--text-description, #68758B);
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.ems-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ems-input:focus,
.ems-select-trigger:focus {
    border-color: #BDC4C7;
    box-shadow: none;
    outline: none;
}

.ems-input.is-invalid {
    border: 1px solid var(--status-error-0, #B90000);
    box-shadow: none;
    padding-right: 48px;
    background-image: none;
}

.ems-input-error-icon {
    display: none;
    position: absolute;
    right: 16px;
    top: 39px;
    width: 24px;
    height: 24px;
    opacity: 1;
    pointer-events: none;
}

.ems-input.is-invalid+.ems-input-error-icon {
    display: block;
}

.ems-input-error-icon::before {
    content: '';
    position: absolute;
    top: 3.54px;
    left: 4.47px;
    width: 16.01345px;
    height: 16.00027px;
    background-repeat: no-repeat;
    background-size: 16.01345px 16.00027px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='16' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M8.47 1.5L15.22 13.5H1.72L8.47 1.5Z' stroke='%23B90000' stroke-width='1.4'/%3E%3Cpath d='M8.47 5.4V8.9' stroke='%23B90000' stroke-width='1.4' stroke-linecap='round'/%3E%3Ccircle cx='8.47' cy='11.3' r='0.9' fill='%23B90000'/%3E%3C/svg%3E");
}

.ems-error-message {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 22px;
    color: var(--status-error-0, #B90000);
    margin-top: 6px;
    opacity: 0;
    transition: opacity 0.2s;
}

.ems-error-message.active {
    opacity: 1;
}

/* Box de aviso - Cadastro ausente */
.ems-warning-box {
    width: 401px;
    max-width: 100%;
    min-height: 183px;
    background: #FEF8F2;
    border: 1px solid #E18801;
    border-radius: 8px;
    padding: 16px;
    margin-top: 12px;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    box-sizing: border-box;
}

.ems-warning-box.u-hidden {
    display: none;
}

.ems-warning-icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    opacity: 1;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ems-warning-icon i {
    display: none;
}

.ems-warning-icon::before {
    content: '';
    width: 15.999996px;
    height: 16px;
    opacity: 1;
    background-repeat: no-repeat;
    background-size: 15.999996px 16px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M8 1.5L14.5 13.5H1.5L8 1.5Z' stroke='%239D5E00' stroke-width='1.4'/%3E%3Cpath d='M8 5.4V8.9' stroke='%239D5E00' stroke-width='1.4' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.3' r='0.9' fill='%239D5E00'/%3E%3C/svg%3E");
}

.ems-warning-content {
    width: 337px;
    max-width: calc(100% - 32px);
    min-height: 144px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ems-warning-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: #3D515A;
    margin: 0;
}

.ems-warning-message {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #3D515A;
    margin: 0;
}

.ems-warning-content .ems-btn-small {
    width: 161px;
    height: 48px !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    gap: 4px;
    opacity: 1;
    border: none !important;
    background: var(--interactive-0, #0066CC) !important;
    color: var(--text-always-white, #FFFFFF) !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 24px !important;
    text-align: center !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.ems-warning-content .ems-btn-small:hover,
.ems-warning-content .ems-btn-small:focus,
.ems-warning-content .ems-btn-small:active {
    background: var(--interactive-0, #0066CC) !important;
    color: var(--text-always-white, #FFFFFF) !important;
    border: none !important;
}

/* Box de sucesso */
.ems-success-box {
    width: 401px;
    max-width: 100%;
    height: 92px;
    min-height: 72px;
    background: #F3FAF5;
    border: 1px solid var(--status-success-0, #047D26);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
}

.ems-success-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    position: relative;
    opacity: 1;
}

.ems-success-icon i {
    display: none;
}

.ems-success-icon::before {
    content: '';
    width: 24px;
    height: 24px;
    display: block;
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='7.49138' stroke='%23047D26' stroke-width='1.4'/%3E%3Cpath d='M8.65 12.15L11.05 14.55L15.35 10.25' stroke='%23047D26' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ems-success-message {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    color: var(--text-body, #3D515A);
    margin: 0;
}

.ems-btn-small {
    width: 100%;
    height: 48px !important;
    padding: 12px 16px !important;
    font-size: 16px !important;
    min-width: 0 !important;
}

#emsCard.is-step-2 #btnContinuar {
    width: 401px;
    max-width: 100%;
    height: 48px !important;
    border-radius: 6px !important;
    opacity: 1;
    background: var(--interactive-0, #0066CC) !important;
    text-align: center;
}

#emsCard.is-step-2 #btnContinuar .ems-btn-content {
    width: 221px;
    height: 48px;
    max-height: 48px;
    border-radius: 6px;
    padding-right: 16px;
    padding-left: 16px;
    gap: 4px;
    opacity: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    text-align: center;
    color: var(--text-inverse, #FFFFFF);
}

.ems-actions .btn.u-hidden {
    display: none;
}

/* Responsivo — mobile */
@media (max-width: 768px) {
    .ems-page {
        padding: 56px 0 40px;
        align-items: flex-start;
        justify-content: center;
    }

    .ems-card-wrapper {
        width: calc(100% - 48px);
        max-width: 360px;
        margin: 0 auto;
    }

    .ems-card {
        width: 100%;
        min-height: unset;
        height: auto;
        padding: 40px 20px;
        border-radius: 12px;
        border-width: 1px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
    }

    .ems-card.is-step-2 {
        min-height: unset;
        padding: 40px 20px;
        border-radius: 12px;
    }

    .ems-content {
        width: 100%;
        min-height: unset;
        height: auto;
        gap: 10px;
    }

    .ems-title {
        font-size: 24px;
        line-height: 32px;
        width: 100%;
    }

    .ems-description {
        font-size: 14px;
        line-height: 22px;
    }

    .ems-select-wrapper {
        width: 100%;
    }

    .ems-warning-box,
    .ems-success-box {
        width: 100%;
    }
}

/* ===================================
   TROCAR SENHA (TS)
   =================================== */

.ts-page {
    min-height: 100%;
    flex: 1 0 auto;
    background: white url('/Imagens/Background.png') center center / cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 20px 40px;
}

.ts-card-wrapper {
    width: 100%;
    max-width: 641px;
    display: flex;
    justify-content: center;
}

.ts-card {
    width: 641px;
    min-height: 846px;
    height: auto;
    background: #FFFFFF;
    border-radius: 8px;
    border: 1px solid #DBE1E2;
    box-shadow: 0px 8px 16px 2px var(--layoutelevation, rgba(48, 57, 82, 0.12));
    padding: 100px 120px;
    box-sizing: border-box;
}

.ts-content {
    width: 401px;
    min-height: 646px;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.ts-frame {
    width: 401px;
    min-height: 470px;
    height: auto;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    opacity: 1;
}

.ts-form {
    width: 401px;
    max-width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ts-title {
    width: 344px;
    height: 48px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 32px;
    font-weight: 600;
    line-height: 48px;
    color: #13223C;
    text-align: center;
    align-self: center;
}

.ts-description {
    width: 401px;
    min-height: 64px;
    margin: 0;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: var(--text-body, #3D515A);
}

.ts-description--spaced {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ts-form-group {
    margin-bottom: 0;
}

.ts-label {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    color: #596981;
    margin-bottom: 8px;
}

.ts-input-wrapper {
    position: relative;
}

.ts-input {
    width: 100%;
    height: 48px;
    padding: 12px 45px 12px 16px;
    border: 1px solid #BDC4C7;
    border-radius: 6px;
    background: #FCFCFC;
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    line-height: 24px;
    color: #3D515A;
    transition: all 0.2s;
}

.ts-input:focus {
    border-color: #0066CC;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25);
    outline: none;
}

.ts-input.is-invalid {
    border-color: #DC3545;
}

.ts-input.is-valid {
    border-color: #047D26;
}

.ts-toggle-password {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: right 0.2s;
}

.ts-toggle-password .ts-icon-eye-open {
    display: none;
}

.ts-toggle-password .ts-icon-eye-off {
    display: block;
}

.ts-toggle-password.is-showing .ts-icon-eye-open {
    display: block;
}

.ts-toggle-password.is-showing .ts-icon-eye-off {
    display: none;
}

.ts-toggle-password:hover {
    opacity: 0.8;
}

.ts-input-valid-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    display: none;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.ts-input-wrapper.has-valid .ts-input-valid-icon {
    display: flex;
}

.ts-input-wrapper.has-valid .ts-toggle-password {
    right: 36px;
}

.ts-input-wrapper.has-valid .ts-input {
    padding-right: 72px;
}

.ts-error-message {
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    color: #DC3545;
    margin-top: 6px;
    opacity: 0;
    transition: opacity 0.2s;
}

.ts-error-message.active {
    opacity: 1;
}

/* Requisitos de senha */
.ts-password-requirements {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 0;
}

.ts-requirements-title {
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #495057;
    margin: 0 0 12px 0;
}

.ts-requirements-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ts-requirements-list .requirement-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 22px;
    letter-spacing: 0;
    color: #3D515A;
    margin-bottom: 8px;
    transition: color 0.2s, opacity 0.2s;
}

.ts-requirements-list .requirement-item:last-child {
    margin-bottom: 0;
}

.ts-requirements-list .requirement-item::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: var(--status-neutral, #B2C2CB);
    border: 1px solid var(--layout-background-1, #FFFFFF);
    flex-shrink: 0;
}

.ts-requirements-list .requirement-item.valid {
    color: #047D26;
}

.ts-requirements-list .requirement-item.valid::before {
    background: var(--status-success-0, #047D26);
}

.ts-password-success {
    width: 100%;
    min-height: 72px;
    border-radius: 8px;
    border: 1px solid var(--status-success-0, #047D26);
    background: #F3FAF5;
    padding: 16px;
    gap: 16px;
    display: none;
    flex-direction: column;
    justify-content: center;
}

.ts-password-success.is-visible {
    display: flex;
}

.ts-password-success-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    height: 24px;
}

.ts-password-success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.ts-password-success-text {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: var(--text-body, #3D515A);
}

.ts-card-footer {
    display: none;
}

.ts-actions {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.ts-btn {
    height: 48px !important;
    padding: 12px 24px !important;
    font-size: 16px !important;
    min-width: 120px !important;
}

.ts-btn-alterar {
    width: 100%;
    height: 48px;
    border-radius: 6px;
    border: 1px solid var(--layout-high-contrast-1, #BDC4C7);
    background: var(--layout-low-contrast-1, #F2F2F2);
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    color: var(--text-menu, #3C4D6A);
    text-align: center;
    cursor: not-allowed;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ts-btn-alterar:not([disabled]) {
    background: var(--brand-1, #0066CC);
    border-color: var(--brand-1, #0066CC);
    color: #FFFFFF;
    cursor: pointer;
}

.ts-btn-alterar:not([disabled]):hover {
    background: #0052a3;
    border-color: #0052a3;
}

/* Responsivo */
@media (max-width: 768px) {
    .ts-page {
        padding: 20px 16px;
    }

    .ts-card {
        width: 100%;
        max-width: 100%;
        min-height: auto;
        padding: 32px 24px;
    }

    .ts-content,
    .ts-frame,
    .ts-form,
    .ts-description {
        width: 100%;
        min-height: auto;
    }

    .ts-title {
        width: 100%;
        height: auto;
        font-size: 32px;
        line-height: 48px;
    }

    .ts-actions {
        flex-direction: column;
    }

    .ts-btn {
        width: 100%;
    }
}

/* ===================================
   FIX: Esconder background do .bg nas p├íginas especiais
   =================================== */

/* Esconder background do .bg nas p├íginas especiais (Primeiro Acesso, Esqueci Senha, Trocar Senha) */
.bg:has(.pa-page),
.bg:has(.ems-page),
.bg:has(.ts-page),
.bg.auth-primeiro-acesso,
.bg.auth-esqueci-senha,
.bg.auth-trocar-senha {
    background-image: none !important;
    background: transparent !important;
}

/* Esconder header e footer nas p├íginas especiais */
.bg:has(.pa-page) header,
.bg:has(.pa-page) .top-nav,
.bg:has(.pa-page) #hline,
.bg:has(.pa-page) .curved-footer,
.bg:has(.ems-page) header,
.bg:has(.ems-page) .top-nav,
.bg:has(.ems-page) #hline,
.bg:has(.ems-page) .curved-footer,
.bg:has(.ts-page) header,
.bg:has(.ts-page) .top-nav,
.bg:has(.ts-page) #hline,
.bg:has(.ts-page) .curved-footer {
    display: none !important;
}

.bg.auth-primeiro-acesso>header,
.bg.auth-primeiro-acesso>.top-nav,
.bg.auth-primeiro-acesso>#hline,
.bg.auth-primeiro-acesso>.curved-footer,
.bg.auth-esqueci-senha>header,
.bg.auth-esqueci-senha>.top-nav,
.bg.auth-esqueci-senha>#hline,
.bg.auth-esqueci-senha>.curved-footer,
.bg.auth-trocar-senha>header,
.bg.auth-trocar-senha>.top-nav,
.bg.auth-trocar-senha>#hline,
.bg.auth-trocar-senha>.curved-footer {
    display: none !important;
}

/* Questionario de checklist do sinistro (THEFT) */
#questionarioModal {
    display: none;
    background-color: rgba(0, 0, 0, 0.5);
}

#questionarioModal.questionario-open {
    display: block;
    opacity: 1;
}

body.questionario-modal-open {
    overflow: hidden;
}

/* Fix: Ajuste de posicionamento para EMS e TS pages */
.ems-page,
.ts-page {
    margin: 0 !important;
    position: relative !important;
}

/* Garantir que o container pai n├úo interfira */
.bg:has(.ems-page),
.bg:has(.ts-page),
.bg.auth-esqueci-senha,
.bg.auth-trocar-senha {
    padding: 0 !important;
    margin: 0 !important;
}

.bg:has(.pa-page) .container,
.bg:has(.pa-page) #page-content-wrapper,
.bg:has(.pa-page) .page-content,
.bg:has(.pa-page) .col-md-12,
.bg:has(.ems-page) .container,
.bg:has(.ems-page) #page-content-wrapper,
.bg:has(.ems-page) .page-content,
.bg:has(.ems-page) .col-md-12,
.bg:has(.ts-page) .container,
.bg:has(.ts-page) #page-content-wrapper,
.bg:has(.ts-page) .page-content,
.bg:has(.ts-page) .col-md-12,
.bg.auth-primeiro-acesso .container,
.bg.auth-primeiro-acesso #page-content-wrapper,
.bg.auth-primeiro-acesso .page-content,
.bg.auth-primeiro-acesso .col-md-12,
.bg.auth-esqueci-senha .container,
.bg.auth-esqueci-senha #page-content-wrapper,
.bg.auth-esqueci-senha .page-content,
.bg.auth-esqueci-senha .col-md-12,
.bg.auth-trocar-senha .container,
.bg.auth-trocar-senha #page-content-wrapper,
.bg.auth-trocar-senha .page-content,
.bg.auth-trocar-senha .col-md-12 {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

/* Padrao de layout/rodape para telas auth especiais */
.bg.auth-primeiro-acesso,
.bg.auth-esqueci-senha,
.bg.auth-trocar-senha {
    height: 100vh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: white url('/Imagens/Background.png') center center / cover no-repeat !important;
}

.bg.auth-boleto-link {
    min-height: 100vh;
    background: #fff !important;
}

.bg.auth-boleto-link,
.bg.auth-boleto-link #page-content-wrapper,
.bg.auth-boleto-link .page-content,
.bg.auth-boleto-link .col-md-12,
.bg.auth-boleto-link .container,
.bg.auth-boleto-link main {
    background: #fff !important;
}

.bg.auth-boleto-link .container,
.bg.auth-boleto-link #page-content-wrapper,
.bg.auth-boleto-link .page-content,
.bg.auth-boleto-link .col-md-12 {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
}

.bg.auth-primeiro-acesso #page-content-wrapper,
.bg.auth-esqueci-senha #page-content-wrapper,
.bg.auth-trocar-senha #page-content-wrapper {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

.bg.auth-primeiro-acesso main,
.bg.auth-esqueci-senha main,
.bg.auth-trocar-senha main,
.bg.auth-primeiro-acesso .container,
.bg.auth-esqueci-senha .container,
.bg.auth-trocar-senha .container,
.bg.auth-primeiro-acesso .page-content,
.bg.auth-esqueci-senha .page-content,
.bg.auth-trocar-senha .page-content,
.bg.auth-primeiro-acesso .col-md-12,
.bg.auth-esqueci-senha .col-md-12,
.bg.auth-trocar-senha .col-md-12 {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.bg.auth-primeiro-acesso .pa-page,
.bg.auth-esqueci-senha .ems-page,
.bg.auth-trocar-senha .ts-page {
    flex: 1 0 auto;
    min-height: 0;
}

.bg.auth-primeiro-acesso .pa-card-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bg.auth-esqueci-senha .ems-page,
.bg.auth-trocar-senha .ts-page {
    justify-content: center;
    align-items: center;
}

.bg.auth-primeiro-acesso .footer,
.bg.auth-esqueci-senha .footer,
.bg.auth-trocar-senha .footer {
    background: #303340 !important;
    padding: 22px 24px !important;
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    z-index: 100 !important;
    margin-top: auto;
}

.bg:has(.ts-page) .footer,
.bg.auth-trocar-senha .footer {
    display: none !important;
}

.bg.auth-primeiro-acesso .footer .footer-inner,
.bg.auth-esqueci-senha .footer .footer-inner,
.bg.auth-trocar-senha .footer .footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    max-width: none;
    margin: 0;
    gap: 20px;
}

.bg.auth-primeiro-acesso .footer .footer-left,
.bg.auth-esqueci-senha .footer .footer-left,
.bg.auth-trocar-senha .footer .footer-left {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.bg.auth-primeiro-acesso .footer .footer-logo,
.bg.auth-esqueci-senha .footer .footer-logo,
.bg.auth-trocar-senha .footer .footer-logo {
    height: 24px;
    width: auto;
}

.bg.auth-primeiro-acesso .footer .footer-copyright,
.bg.auth-esqueci-senha .footer .footer-copyright,
.bg.auth-trocar-senha .footer .footer-copyright {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    margin: 0;
    padding: 0;
}

.bg.auth-primeiro-acesso .footer .footer-right,
.bg.auth-esqueci-senha .footer .footer-right,
.bg.auth-trocar-senha .footer .footer-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.bg.auth-primeiro-acesso .footer .footer-right a,
.bg.auth-esqueci-senha .footer .footer-right a,
.bg.auth-trocar-senha .footer .footer-right a {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    text-decoration: underline !important;
    text-decoration-color: currentColor !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 1px !important;
    transition: opacity 0.15s;
}

.bg.auth-primeiro-acesso .footer .footer-right a:hover,
.bg.auth-esqueci-senha .footer .footer-right a:hover,
.bg.auth-trocar-senha .footer .footer-right a:hover {
    text-decoration: none !important;
    opacity: 0.9;
}

.bg.auth-primeiro-acesso .footer .footer-version,
.bg.auth-esqueci-senha .footer .footer-version,
.bg.auth-trocar-senha .footer .footer-version {
    font-family: 'Open Sans', sans-serif;
    font-size: 12px;
    line-height: 18px;
    color: #FFFFFF;
    opacity: 0.9;
    margin-top: 0;
}

@media (max-width: 768px) {

    .bg.auth-primeiro-acesso,
    .bg.auth-esqueci-senha,
    .bg.auth-trocar-senha {
        height: auto;
        min-height: 100vh;
    }

    .bg.auth-primeiro-acesso .pa-card-wrapper,
    .bg.auth-esqueci-senha .ems-page,
    .bg.auth-trocar-senha .ts-page {
        align-items: flex-start;
        justify-content: center;
    }

    .bg.auth-primeiro-acesso .footer,
    .bg.auth-esqueci-senha .footer,
    .bg.auth-trocar-senha .footer {
        padding: 20px 20px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-inner,
    .bg.auth-esqueci-senha .footer .footer-inner,
    .bg.auth-trocar-senha .footer .footer-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-left,
    .bg.auth-esqueci-senha .footer .footer-left,
    .bg.auth-trocar-senha .footer .footer-left {
        order: 2 !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-right,
    .bg.auth-esqueci-senha .footer .footer-right,
    .bg.auth-trocar-senha .footer .footer-right {
        order: 1 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-right a,
    .bg.auth-esqueci-senha .footer .footer-right a,
    .bg.auth-trocar-senha .footer .footer-right a {
        font-size: 13px !important;
        line-height: 22px !important;
        text-decoration: underline !important;
        text-decoration-color: currentColor !important;
        text-decoration-thickness: 1px !important;
        text-underline-offset: 1px !important;
    }
}

@media (min-width: 426px) and (max-width: 768px) {

    .bg.auth-primeiro-acesso .footer,
    .bg.auth-esqueci-senha .footer,
    .bg.auth-trocar-senha .footer {
        padding: 24px 32px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-inner,
    .bg.auth-esqueci-senha .footer .footer-inner,
    .bg.auth-trocar-senha .footer .footer-inner {
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-left,
    .bg.auth-esqueci-senha .footer .footer-left,
    .bg.auth-trocar-senha .footer .footer-left {
        order: 1 !important;
        gap: 12px !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-right,
    .bg.auth-esqueci-senha .footer .footer-right,
    .bg.auth-trocar-senha .footer .footer-right {
        order: 2 !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        text-align: right !important;
        flex-wrap: nowrap !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-right a,
    .bg.auth-esqueci-senha .footer .footer-right a,
    .bg.auth-trocar-senha .footer .footer-right a {
        font-size: 12px !important;
        line-height: 18px !important;
        text-align: right !important;
    }

    .bg.auth-primeiro-acesso .footer .footer-version,
    .bg.auth-esqueci-senha .footer .footer-version,
    .bg.auth-trocar-senha .footer .footer-version {
        display: block;
        width: 100%;
        text-align: right;
    }
}

@media (max-width: 425px) and (max-height: 780px) {

    .bg.auth-primeiro-acesso .footer,
    .bg.auth-esqueci-senha .footer,
    .bg.auth-trocar-senha .footer {
        padding: 16px 16px !important;
    }
}

@media (max-height: 820px) {
    .login-card-wrapper {
        padding-top: 24px;
        padding-bottom: 32px;
    }

    .pa-card-wrapper,
    .ems-page,
    .ts-page {
        padding-top: 16px;
        padding-bottom: 24px;
    }
}

/* ===================================
   FIX: Ajustar estilo do Primeiro Acesso para ficar igual ao Esqueci minha Senha
   =================================== */

.pa-card {
    width: 100%;
    max-width: 594px !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden;
}

.pa-card-header {
    background: #FCFCFC !important;
    padding: 24px !important;
    border-bottom: 1px solid #E9ECEF !important;
}

.pa-title {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #212529 !important;
    margin: 0 !important;
    text-align: left !important;
}

.pa-card-body {
    padding: 32px 24px !important;
}

.pa-card-body .pa-step-content {
    width: 100%;
    max-width: 401px;
    margin-left: auto;
    margin-right: auto;
}

.pa-card-body .pa-step-content .pa-form-group {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pa-card-body .pa-step-content .pa-form-group:last-child {
    margin-bottom: 0;
}

.pa-card-footer {
    background: #FCFCFC !important;
    padding: 20px 24px !important;
    border-top: 1px solid #E9ECEF !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.pa-card-footer #btnVoltar {
    width: 82px !important;
    height: 48px !important;
    border-radius: 6px !important;
    border: 1px solid #0066CC !important;
    background: #FAFCFF !important;
    color: #0066CC !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.pa-card-footer #btnContinuar {
    min-width: 113px !important;
    height: 48px !important;
    border-radius: 6px !important;
    border: none !important;
    background: #0066CC !important;
    color: #FFFFFF !important;
    padding: 12px 16px !important;
    gap: 4px;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.pa-card-footer #btnContinuar:disabled {
    background: #0066CC !important;
    color: #FFFFFF !important;
    border: none !important;
    opacity: 0.6;
    cursor: not-allowed;
}

.pa-card-footer #btnVoltar,
.pa-card-footer #btnContinuar {
    outline: none !important;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
}

.pa-card-footer #btnVoltar:hover,
.pa-card-footer #btnVoltar:focus,
.pa-card-footer #btnVoltar:focus-visible,
.pa-card-footer #btnVoltar:active {
    background: #FAFCFF !important;
    border: 1px solid #0066CC !important;
    color: #0066CC !important;
}

.pa-card-footer #btnContinuar:hover,
.pa-card-footer #btnContinuar:focus,
.pa-card-footer #btnContinuar:focus-visible,
.pa-card-footer #btnContinuar:active {
    background: #0066CC !important;
    border: none !important;
    color: #FFFFFF !important;
}

.pa-card-footer #btnVoltar:focus,
.pa-card-footer #btnVoltar:focus-visible,
.pa-card-footer #btnVoltar:active,
.pa-card-footer #btnContinuar:focus,
.pa-card-footer #btnContinuar:focus-visible,
.pa-card-footer #btnContinuar:active {
    outline: none !important;
    box-shadow: none !important;
}

.pa-card-footer #btnVoltar::-moz-focus-inner,
.pa-card-footer #btnContinuar::-moz-focus-inner {
    border: 0;
}

/* Labels dos inputs */
.pa-label {
    display: block;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #596981 !important;
    line-height: 22px !important;
    margin-bottom: 0 !important;
}

/* Inputs */
.pa-input {
    width: 100%;
    height: 44px !important;
    padding: 8px 12px !important;
    background: #FCFCFC !important;
    border: 1px solid #7D898D !important;
    border-radius: 6px !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: #3D515A !important;
    box-sizing: border-box;
    transition: all 0.2s;
}

.pa-input::placeholder {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: #65758B !important;
}

.pa-input:focus {
    border-color: #0066CC !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 102, 204, 0.25) !important;
    outline: none !important;
}

.pa-input[readonly],
.pa-input.pa-input-readonly {
    background: #F2F2F2 !important;
    border: 1px solid #DBE1E2 !important;
    color: #68758B !important;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .pa-card-body .pa-step-content {
        max-width: 100%;
    }

    .pa-card-footer {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        height: auto;
        gap: 12px;
    }

    .pa-card-footer #btnContinuar,
    .pa-card-footer #btnVoltar {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .pa-card-footer #btnContinuar {
        order: 1;
    }

    .pa-card-footer #btnVoltar {
        order: 2;
    }
}

/* Descri├º├╡es/subt├¡tulos */
.pa-step-info,
.pa-description {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    color: #596981 !important;
    margin-bottom: 24px;
    line-height: 1.5;
}

/* ===================================
   FIX: Sombra no header quando n├úo logado
   =================================== */

header.header-not-logged {
    box-shadow: 0px 6px 12px 2px rgba(48, 57, 82, 0.1);
    position: relative;
    z-index: 100;
}

/* Garantir que a sombra do header n├úo logado apare├ºa corretamente */
header.header-not-logged .top-nav {
    box-shadow: none !important;
}