:root {
    --border-radius-buttons: 7px;
    --bg-color-dark: #383838;
    --bg-color-light: #eee;

    --upper-bar-height: 6rem;

    --profile-picture-box: 4rem;
    --profile-picture-box-big: 13rem;

    --person-picture-box: 3rem;
    --person-picture-box-hover: 8rem;

    --dependent-picture-box: 4rem;
    --dependent-picture-box-hover: 6rem;

    --carteira-picture-box: 5rem;
    --validacao-picture-box: 8rem;
}

.dark-body {
    background-color: var(--bg-color-dark);
    background-image: linear-gradient(to bottom, var(--bs-primary), var(--bg-color-dark), var(--bg-color-dark));
}

.light-body {
    position: relative;
    isolation: isolate;
    background-color: var(--bg-color-light);
    background-image: none;
}

.light-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(to bottom, var(--bs-primary-hover-border-color), var(--bg-color-light));
}

.img-body {
    position: relative;
    isolation: isolate;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    background-color: #17241f;
    background-image: url('../images/BG.jpeg');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.img-body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-color: rgba(0, 0, 0, .28);
}

body {
    background-size: cover;
    background-repeat: no-repeat;
    font-family: "Montserrat", sans-serif;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
}

.on-hover-up {
    position: relative;
    transition: .2s !important;
    box-shadow: 3px 3px 10px rgba(0,0,0,0.3);
}

.on-hover-up:hover {
    bottom: .2rem;
    box-shadow: 3px 15px 15px rgba(0,0,0,0.15);
    scale: 1.02;
}

.card-glass {
    overflow: hidden;
    position: relative;
}

.bg-glass {
    top: 0;
    left: 0;
    position: absolute;
    height: 100% !important;
    width: 100% !important;
    z-index: -1;
    backdrop-filter: blur(8px);
}

.logo-bg {
    position: fixed;
    bottom: 33%;
    right: 40%;
    height: 33vh;
    width: auto;
    z-index: -1;
    opacity: 0.2;
}

.logo-floater {
    position: absolute;
    width: 20%;
    height: auto;
    z-index: -1;
    opacity: .2;
    filter: grayscale(100%) invert(100%);
}

.logo-floater.logo-1 {
    top: 30%;
    left: 10%;
}

.logo-floater.logo-2 {
    top: 30%;
    right: 10%;
}

.btn-sm.btn-icon {
    position: relative;
    border-radius: var(--border-radius-buttons) !important;
    padding-left: 35px;
    overflow: hidden;
    border: none;
    vertical-align: middle;
    margin-bottom: 0.5rem;
    z-index: 1 !important;
}

.icon-button {
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    padding: 4px 8px;
    background: rgba(0, 0, 0, 0.15);
    border-radius: var(--border-radius-buttons) 0 0 var(--border-radius-buttons) !important;
    height: 100%;
    vertical-align: middle;
    z-index: 1 !important;
}

.view-password {
    position: relative;
    top: 0.5rem;
    margin: 1rem;
}

.view-password:hover {
    color: var(--bs-primary);
}

.cursor-pointer {
    cursor: pointer;
}

.cursor-default {
    cursor: default;
}

.inferior-bar {
    position: fixed;
    z-index: 100 !important;
    bottom: .5rem;
    width: 100vw;
    overflow-x: auto;
    max-height: 7rem;
}

.btn-circle-shadow {
    border-radius: 100%;
    border: none;
    transition: .3s;
    filter: brightness(100%);
}

.btn-circle-shadow:hover {
    border: none;
    box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.3);
    filter: brightness(120%);
}

.main-space {
    padding-top: calc(0.7rem + var(--upper-bar-height)) !important;
    padding-bottom: 8rem;
    transition: 0.3s;
    width: 100vw !important;
}

.quadro-vinculacao {
    height: 40vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.espaco-vinculacao {
    height: 40vh !important;
}

.show-on-small {
    display: none;
}

.menu-active-small {
    display: none;
}

.nav-link {
    transition: .2s;
}

@media (max-width: 767px) {
    .hide-on-small {
        display: none !important;
    }

    .show-on-small {
        display: initial;
    }

    .quadro-vinculacao,
    .espaco-vinculacao {
        height: 18vh !important;
    }

    .nav-link.active .menu-active-small {
        display: initial;
        font-size: 11px;
    }

    .nav-link.active {
        padding: 5px 5px !important;
    }

    .nav-link i {
        font-size: 25px !important;
    }
}

.text-justify {
    text-align: justify !important;
}

.btn-menu {
    color: var(--bs-primary);
    border: none;
    font-size: 16px;
    width: 100%;
    transition: .3s;
    border-radius: 0.5rem;
}

.btn-menu:hover {
    color: var(--bs-primary-hover-bg);
    border: none;
}

.btn-menu.ativo {
    background-color: var(--bs-primary);
    color: white;
}

.btn-menu.ativo:hover {
    background-color: var(--bs-primary-hover-bg);
}

.btn-menu i {
    font-size: 20px;
    margin-right: .5rem;
    transition: .3s;
}

.btn-menu:hover i {
    margin-right: 1rem;
}

.btn-main-menu {
    border: none;
    font-size: 12px;
    transition: .3s;
    border-radius: .3rem;
    color: white;
}

.btn-main-menu:hover {
    background-color: var(--bs-primary-hover-bg);
    border: none;
    color: white;
}

.btn-main-menu.ativo {
    border: solid 2px white;
}

.btn-main-menu.ativo:hover {
    background-color: var(--bs-primary-hover-bg);
}

.btn-main-menu i {
    font-size: 25px;
    transition: .3s;
}

.menu-inicial {
    background-color: white;
    color: var(--bs-primary);
    font-size: 22px;
    transition: .3s;
    overflow: hidden;
}

.menu-inicial i {
    font-size: 38px;
    margin-right: 1rem;
    transition: .3s;
}

.menu-inicial:hover {
    background-color: var(--bs-primary);
    color: white;
    cursor: pointer;
}

.menu-inicial:hover i {
    margin-right: 2rem;
}

.nav.nav-tabs {
    border-bottom: 2px solid var(--bs-primary);
}

.nav-link {
    color: var(--bs-primary) !important;
}

.nav-link.active {
    color: white !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.nav-link:hover {
    border-color: var(--bs-primary) !important;
}

td,
th {
    border-top: none !important;
    border-bottom: none !important;
    vertical-align: middle;
    white-space: nowrap;
}

thead {
    position: sticky;
    top: 0;
    z-index: 10 !important;
}

tfoot {
    position: sticky;
    bottom: -0.2rem;
    z-index: 10 !important;
}

.table-responsive {
    max-height: 60vh !important;
    transition: 0.3s;
}

tr,
th,
td {
    vertical-align: middle;
}

thead th,
tfoot th {
    font-size: 13px;
}

tfoot tr {
    background-color: #eee;
}

tbody tr {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
    margin-bottom: 1rem;
    transition: .3s;
}

tbody td {
    font-size: 14px;
    padding: 1rem 0.5rem 1rem 0.5rem !important;
}

tfoot th {
    padding: 0.3rem 0.5rem 0.3rem 0.5rem !important;
}

.border-drop-primary {
    border: 0.15rem dashed var(--bs-primary);
}

.file-upload-label i {
    font-size: 45px;
}

.file-upload-label span {
    font-size: 17px;
    white-space: wrap !important;
}

.file-upload-label {
    width: 100%;
    padding: 15px;
    transition: 0.2s;
}

.drop-insider {
    margin: 2rem;
    overflow: hidden;
    white-space: normal !important;
}

.border-file-drop {
    border-radius: 0.5rem;
    margin: 1rem;
}

.droper-primary {
    color: var(--bs-primary) !important;
}

.droper-primary:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.15) !important;
    cursor: pointer;
}

.droper-primary .border-file-drop {
    border: 0.15rem dashed var(--bs-primary);
}

.alert-generated-primary {
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.2);
}

.alert-generated-danger {
    color: var(--bs-danger);
    background-color: rgba(var(--bs-danger-rgb), 0.2);
}

.alert-generated-success {
    color: var(--bs-success);
    background-color: rgba(var(--bs-success-rgb), 0.2);
}

.alert-generated-secondary {
    color: var(--bs-secondary);
    background-color: rgba(var(--bs-secondary-rgb), 0.2);
}

.alert-generated-info {
    color: var(--bs-info);
    background-color: rgba(var(--bs-info-rgb), 0.2);
}

.alert-generated-warning {
    color: var(--bs-warning);
    background-color: rgba(var(--bs-warning-rgb), 0.2);
}

.alert-generated-light {
    color: var(--bs-light);
    background-color: rgba(var(--bs-light-rgb), 0.2);
}

.alert-generated-dark {
    color: var(--bs-dark);
    background-color: rgba(var(--bs-dark-rgb), 0.2);
}

[data-notify="container"] {
    z-index: 2147483000 !important;
}

.object-fit-cover {
    object-fit: cover !important;
}

.min-w-0 {
    min-width: 0 !important;
}

.bg-primary-subtle {
    background-color: rgba(var(--bs-primary-rgb), .12) !important;
}

.system-soccer-ball {
    display: inline-block;
    font-style: normal;
    line-height: 1;
}

.system-soccer-ball::before {
    content: "\26BD\FE0F";
}

.system-top-bar {
    z-index: 9999;
}

.system-top-bar .container {
    position: relative;
    z-index: 1;
}

.system-page-space {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
}

.system-team-list-image {
    width: 88px;
    height: 88px;
}

.system-team-profile-image {
    width: 92px;
    height: 92px;
    flex-shrink: 0;
}

.system-game-list-image {
    width: 74px;
    height: 74px;
}

.system-game-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
}

.system-game-card-score > div > span:not(.badge) {
    font-size: 2.5rem;
    line-height: 1;
}

.system-scoreboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 1.5rem;
}

.system-score-team-image {
    width: 112px;
    height: 112px;
}

.system-score-numbers {
    gap: 1rem;
}

.system-score-numbers > span:not(.fs-4) {
    font-size: 4rem;
    line-height: 1;
}

.system-score-numbers .system-penalty-score {
    font-size: clamp(1.35rem, 2.5vw, 2.25rem) !important;
    font-weight: 750;
}

.match-event-card {
    display: grid;
    grid-template-columns: 42px 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

.match-event-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.match-event-player-photo {
    width: 44px;
    height: 44px;
}

.match-event-description strong,
.match-event-description small {
    display: block;
    overflow-wrap: anywhere;
}

.match-event-description strong {
    line-height: 1.2;
}

.match-event-description small {
    margin-top: .12rem;
    line-height: 1.2;
}

.match-event-badge {
    max-width: 110px;
    white-space: normal;
    text-align: center;
    line-height: 1.05;
}

@media (max-width: 575.98px) {
    .system-page-space {
        padding-top: .75rem;
        padding-bottom: 1.25rem;
    }

    .system-page-space > .row {
        --bs-gutter-x: .75rem;
    }

    .system-scoreboard {
        padding-left: .5rem !important;
        padding-right: .5rem !important;
    }

    .system-scoreboard-grid {
        grid-template-columns: minmax(0, 1fr) minmax(72px, auto) minmax(0, 1fr);
        gap: .25rem;
    }

    .system-score-team-image {
        width: clamp(58px, 20vw, 82px);
        height: clamp(58px, 20vw, 82px);
    }

    .system-score-team h5 {
        font-size: .82rem;
    }

    .system-score-team .badge,
    .system-score-center small,
    .system-score-center .badge {
        font-size: .62rem;
    }

    .system-score-numbers {
        gap: .35rem;
    }

    .system-score-numbers > span:not(.fs-4) {
        font-size: clamp(2rem, 10vw, 3rem);
    }

    .system-score-numbers .system-penalty-score {
        font-size: clamp(1rem, 5vw, 1.4rem) !important;
    }

    .system-score-numbers .fs-4 {
        font-size: 1rem !important;
    }

    .system-team-list-image {
        width: 68px;
        height: 68px;
    }

    .system-team-profile-image {
        width: 72px;
        height: 72px;
    }

    .system-game-list-image {
        width: clamp(52px, 17vw, 68px);
        height: clamp(52px, 17vw, 68px);
    }

    .system-game-card-grid {
        gap: .25rem;
    }

    .system-game-card-score > div {
        gap: .25rem !important;
    }

    .system-game-card-score > div > span:not(.badge) {
        font-size: clamp(1.75rem, 9vw, 2.5rem);
    }

    .system-game-card-grid h6,
    .system-game-card-grid small {
        font-size: .72rem;
    }

    #eventos_lista .badge {
        white-space: normal !important;
        text-align: center;
        max-width: 92px;
    }

    .match-event-card {
        grid-template-columns: 38px 42px minmax(0, 1fr);
        gap: .5rem;
        padding: .65rem !important;
    }

    .match-event-icon {
        width: 38px;
        height: 38px;
    }

    .match-event-player-photo {
        width: 42px;
        height: 42px;
    }

    .match-event-description strong {
        font-size: .92rem;
    }

    .match-event-description small {
        font-size: .72rem;
    }

    .match-event-badge {
        grid-column: 2 / 4;
        justify-self: start;
        max-width: 100% !important;
        margin-top: -.1rem;
        padding-left: .65rem;
        padding-right: .65rem;
    }

    .table-responsive .btn span {
        display: none !important;
    }
}

.classification-body,
.final-body,
.result-body {
    --sponsors-carousel-width: clamp(110px, 11vw, 180px);
    --developer-ad-width: clamp(140px, 11vw, 180px);
    overflow: hidden;
    color: #fff;
}

.sponsors-carousel {
    position: fixed;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: clamp(.5rem, 1.2vw, 1.5rem);
    width: var(--sponsors-carousel-width);
    overflow: hidden;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(to bottom, transparent, #000 4%, #000 96%, transparent);
}

.sponsors-carousel-track {
    display: flex;
    flex-direction: column;
    width: 100%;
    animation: sponsors-scroll-down 42s linear infinite;
    will-change: transform;
}

.sponsors-carousel-group {
    flex: none;
    width: 100%;
}

.sponsors-carousel-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: clamp(110px, 14vh, 170px);
    padding: clamp(.5rem, 1.2vh, 1rem) 0;
}

.sponsors-carousel-item img {
    display: block;
    width: auto;
    max-width: 80%;
    height: auto;
    max-height: clamp(90px, 11vh, 140px);
    object-fit: contain;
    filter: drop-shadow(0 .45rem .7rem rgba(0, 0, 0, .35));
}

@keyframes sponsors-scroll-down {
    from { transform: translateY(-50%); }
    to { transform: translateY(0); }
}

.developer-ad {
    position: fixed;
    z-index: 3;
    right: clamp(.5rem, 1.2vw, 1.5rem);
    bottom: clamp(.75rem, 2vh, 1.5rem);
    width: var(--developer-ad-width);
}

.developer-ad a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(.4rem, 1vh, .75rem);
    padding: clamp(.6rem, 1vw, .9rem);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1rem;
    color: #fff;
    background: rgba(10, 18, 15, .76);
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .3);
    backdrop-filter: blur(12px);
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.developer-ad a:hover,
.developer-ad a:focus-visible {
    color: #fff;
    border-color: rgba(255, 255, 255, .4);
    background: rgba(18, 30, 25, .9);
    transform: translateY(-3px);
}

.developer-ad span {
    font-size: clamp(.58rem, .72vw, .76rem);
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.developer-ad span strong {
    display: block;
    font-size: 1.12em;
}

.developer-ad-logo {
    width: 80%;
    max-height: clamp(55px, 8vh, 85px);
    border-radius: .65rem;
    object-fit: contain;
}

.developer-ad-qrcode {
    width: min(86%, 135px);
    height: auto;
    padding: .3rem;
    border-radius: .45rem;
    background: #fff;
}

.classification-stage {
    position: relative;
    z-index: 1;
    width: min(94vw, 1500px);
    height: 100vh;
    height: 100dvh;
    margin: 0 auto;
    padding: clamp(1rem, 2.2vh, 2rem) 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: clamp(.65rem, 1.4vh, 1.25rem);
}

@media (min-width: 1350px) {
    .classification-stage,
    .final-stage,
    .result-stage {
        width: min(calc(100vw - var(--sponsors-carousel-width) - var(--developer-ad-width) - 5rem), 1500px);
        margin-left: calc(var(--sponsors-carousel-width) + clamp(1.5rem, 2.5vw, 3rem));
        margin-right: auto;
    }
}

@media (min-width: 1200px) and (max-width: 1349.98px) {
    .classification-stage,
    .final-stage,
    .result-stage {
        width: min(calc(100vw - var(--sponsors-carousel-width) - 3.5rem), 1500px);
        margin-left: calc(var(--sponsors-carousel-width) + clamp(1.5rem, 2.5vw, 3rem));
        margin-right: auto;
    }

    .developer-ad {
        display: none;
    }
}

@media (max-width: 1199.98px) {
    .sponsors-carousel,
    .developer-ad {
        display: none;
    }
}

.classification-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.classification-brand > img {
    width: clamp(52px, 5vw, 82px);
    height: clamp(52px, 5vw, 82px);
    object-fit: contain;
}

.classification-brand > div:nth-child(2) {
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.classification-brand > div:nth-child(2) span {
    font-size: clamp(.7rem, 1vw, 1rem);
    opacity: .75;
}

.classification-brand > div:nth-child(2) strong {
    font-size: clamp(1.15rem, 2.25vw, 2.15rem);
    line-height: 1.05;
}

.classification-live {
    margin-left: auto;
    padding: .45rem .8rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: rgba(0, 0, 0, .3);
    font-size: clamp(.65rem, .85vw, .85rem);
    font-weight: 700;
    white-space: nowrap;
}

.classification-live span {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    margin-right: .35rem;
    border-radius: 50%;
    background: #ff3d4f;
    box-shadow: 0 0 0 0 rgba(255, 61, 79, .7);
    animation: classification-live-pulse 1.6s infinite;
}

@keyframes classification-live-pulse {
    70% { box-shadow: 0 0 0 .5rem rgba(255, 61, 79, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 61, 79, 0); }
}

.classification-board {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    padding: clamp(.55rem, 1vw, 1rem);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 1rem;
    background: rgba(10, 18, 15, .76);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .28);
    backdrop-filter: blur(12px);
}

.championship-panels {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.85fr) minmax(310px, .85fr);
    gap: clamp(.65rem, 1.2vw, 1.15rem);
}

.classification-panel-label {
    padding: 0 clamp(.5rem, 1vw, 1rem) .4rem;
    color: #fff;
    font-size: clamp(.8rem, 1vw, 1rem);
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.scorers-quantity {
    color: rgba(255, 255, 255, .55);
    font-size: clamp(.55rem, .7vw, .7rem);
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

.classification-columns,
.classification-row {
    display: grid;
    grid-template-columns: clamp(48px, 5vw, 76px) minmax(190px, 1fr) repeat(6, minmax(54px, .52fr));
    align-items: center;
    column-gap: clamp(.25rem, .75vw, .8rem);
}

.classification-columns {
    padding: .25rem clamp(.5rem, 1vw, 1rem) .65rem;
    color: rgba(255, 255, 255, .62);
    font-size: clamp(.65rem, .85vw, .85rem);
    font-weight: 700;
    text-align: center;
}

.classification-team-column {
    grid-column: 1 / 3;
    text-align: left;
}

.classification-red-card,
.classification-yellow-card {
    justify-self: center;
    width: .75rem;
    height: 1rem;
    border-radius: 2px;
}

.classification-red-card { background: #e73546; }
.classification-yellow-card { background: #ffc928; }

.classification-list {
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(6, minmax(0, 1fr));
    gap: clamp(.35rem, .75vh, .7rem);
}

.classification-row,
.classification-placeholder {
    min-height: 0;
    border-radius: .75rem;
    background: linear-gradient(90deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .07));
}

.classification-row {
    padding: clamp(.35rem, .65vh, .65rem) clamp(.5rem, 1vw, 1rem);
    border-left: .3rem solid var(--bs-primary);
    will-change: transform;
}

.classification-row:nth-child(1) {
    border-left-color: #f2c94c;
    background: linear-gradient(90deg, rgba(242, 201, 76, .25), rgba(255, 255, 255, .08));
}

.classification-row.classification-moved {
    background-color: rgba(var(--bs-primary-rgb), .3);
}

.classification-position {
    font-size: clamp(1.25rem, 2.3vw, 2.25rem);
    font-weight: 800;
    text-align: center;
}

.classification-team {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: clamp(.55rem, 1vw, 1rem);
}

.classification-team img {
    width: clamp(42px, 4.2vw, 68px);
    height: clamp(42px, 4.2vw, 68px);
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    object-fit: cover;
}

.classification-team-name {
    min-width: 0;
}

.classification-team-name strong,
.classification-team-name small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.classification-team-name strong {
    font-size: clamp(.9rem, 1.55vw, 1.45rem);
}

.classification-team-name small {
    color: rgba(255, 255, 255, .6);
    font-size: clamp(.6rem, .85vw, .8rem);
}

.classification-stat {
    font-size: clamp(1rem, 1.8vw, 1.65rem);
    font-weight: 650;
    text-align: center;
}

.classification-points {
    font-size: clamp(1.25rem, 2.2vw, 2rem);
    font-weight: 850;
}

.classification-card-stat {
    justify-self: center;
    min-width: 2.1rem;
    padding: .2rem .4rem;
    border-radius: .35rem;
    color: #fff;
}

.classification-card-stat.red { background: #c9283a; }
.classification-card-stat.yellow { background: #e2ad00; color: #211d0b; }

.classification-placeholder {
    position: relative;
    overflow: hidden;
}

.classification-placeholder::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .08), transparent);
    animation: classification-loading 1.2s infinite;
}

@keyframes classification-loading {
    100% { transform: translateX(100%); }
}

.classification-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(255, 255, 255, .7);
    font-size: clamp(.62rem, .85vw, .8rem);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.scorers-board {
    min-height: 0;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    padding: clamp(.55rem, 1vw, 1rem);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 1rem;
    background: rgba(10, 18, 15, .76);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .28);
    backdrop-filter: blur(12px);
}

.scorers-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    padding: .25rem .65rem .65rem;
    color: rgba(255, 255, 255, .62);
    font-size: clamp(.65rem, .8vw, .8rem);
    font-weight: 700;
    text-transform: uppercase;
}

.scorers-columns span:last-child {
    text-align: center;
}

.scorers-list {
    min-height: 0;
    overflow-y: hidden;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    gap: clamp(.35rem, .65vh, .6rem);
    padding-right: .15rem;
}

.scorer-row {
    display: grid;
    grid-template-columns: 42px 52px minmax(0, 1fr) 58px;
    align-items: center;
    gap: .55rem;
    height: clamp(56px, 7vh, 76px);
    min-height: clamp(56px, 7vh, 76px);
    flex-shrink: 0;
    padding: .45rem .55rem;
    border-left: .25rem solid var(--bs-primary);
    border-radius: .7rem;
    background: linear-gradient(90deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .07));
    will-change: transform;
}

.scorer-row:first-child {
    border-left-color: #f2c94c;
    background: linear-gradient(90deg, rgba(242, 201, 76, .25), rgba(255, 255, 255, .08));
}

.scorer-row.classification-moved {
    background-color: rgba(var(--bs-primary-rgb), .3);
}

.scorer-row > img {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    object-fit: cover;
}

.scorer-position {
    font-size: clamp(1.05rem, 1.5vw, 1.4rem);
    font-weight: 800;
    text-align: center;
}

.scorer-row > strong {
    min-width: 0;
    overflow: hidden;
    font-size: clamp(.78rem, 1.1vw, 1.05rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scorer-goals {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1;
}

.scorer-goals span {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 850;
}

.scorer-goals small {
    margin-top: .2rem;
    color: rgba(255, 255, 255, .55);
    font-size: .58rem;
    text-transform: uppercase;
}

.scorers-empty {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    color: rgba(255, 255, 255, .6);
    text-align: center;
}

.championship-event-notifications {
    position: fixed;
    z-index: 2147482000;
    top: clamp(1rem, 3vh, 2rem);
    right: clamp(1rem, 3vw, 3rem);
    width: min(430px, calc(100vw - 2rem));
    pointer-events: none;
}

.championship-event-popup {
    display: grid;
    grid-template-columns: 58px 78px minmax(0, 1fr);
    align-items: center;
    gap: .85rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(255, 255, 255, .35);
    border-left: .45rem solid var(--bs-primary);
    border-radius: 1rem;
    color: #fff;
    background: rgba(9, 18, 15, .94);
    box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, .45);
    backdrop-filter: blur(14px);
    opacity: 0;
    transform: translateX(calc(100% + 3rem));
    transition: opacity .4s ease, transform .45s cubic-bezier(.22, 1, .36, 1);
}

.championship-event-popup.show {
    opacity: 1;
    transform: translateX(0);
}

.championship-event-popup.success { border-left-color: #35c47c; }
.championship-event-popup.warning { border-left-color: #ffc928; }
.championship-event-popup.danger { border-left-color: #ef4054; }

.championship-event-popup > img {
    width: 76px;
    height: 76px;
    border: 2px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    background: #fff;
    object-fit: cover;
}

.championship-event-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    font-size: 1.75rem;
}

.championship-event-popup.warning .championship-event-icon { color: #ffc928; }
.championship-event-popup.danger .championship-event-icon { color: #ef4054; }
.championship-event-popup.success .championship-event-icon { color: #62dfa1; }

.championship-event-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.championship-event-content small,
.championship-event-content em {
    color: rgba(255, 255, 255, .62);
    font-size: .68rem;
    font-style: normal;
}

.championship-event-content small {
    text-transform: uppercase;
    letter-spacing: .08em;
}

.championship-event-content strong {
    font-size: 1.45rem;
    line-height: 1.05;
}

.championship-event-content span,
.championship-event-content em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.championship-event-content span {
    margin-top: .2rem;
    font-weight: 700;
}

.final-body {
    overflow: hidden;
    color: #fff;
}

.final-stage {
    position: relative;
    z-index: 1;
    width: min(92vw, 1450px);
    height: 100vh;
    height: 100dvh;
    margin: 0 auto;
    padding: clamp(1rem, 2.2vh, 2rem) 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: clamp(.75rem, 1.6vh, 1.5rem);
}

.final-panel {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: clamp(.6rem, 1.25vw, 1.15rem);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 1.25rem;
    background: rgba(10, 18, 15, .76);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .3);
    backdrop-filter: blur(12px);
}

.final-dashboard {
    width: 100%;
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1.35fr) minmax(190px, .65fr);
    gap: clamp(.55rem, 1.2vh, .9rem);
}

.final-loading,
.final-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    color: rgba(255, 255, 255, .72);
    text-align: center;
}

.final-empty strong {
    color: #fff;
    font-size: clamp(1.25rem, 2.5vw, 2.25rem);
}

.final-match {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, .65fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(1rem, 3vw, 3rem);
    padding: clamp(.65rem, 1.4vh, 1rem) clamp(.75rem, 2vw, 1.75rem);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 1rem;
    background: radial-gradient(circle at 50% 45%, rgba(242, 201, 76, .08), transparent 34%), rgba(255, 255, 255, .025);
}

.final-team {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.final-team > img {
    width: clamp(105px, 13vw, 185px);
    height: clamp(105px, 13vw, 185px);
    margin: clamp(.4rem, 1vh, .8rem) 0;
    border: clamp(3px, .35vw, 6px) solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    object-fit: cover;
    box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .28);
}

.final-team > strong {
    max-width: 100%;
    overflow: hidden;
    font-size: clamp(1rem, 1.65vw, 1.65rem);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.final-team-tag,
.final-status {
    padding: .4rem .75rem;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    font-size: clamp(.65rem, 1vw, .9rem);
    font-weight: 700;
    text-transform: uppercase;
}

.final-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.final-trophy {
    color: #f2c94c;
    font-size: clamp(2rem, 4vw, 4rem);
    filter: drop-shadow(0 .35rem .5rem rgba(0, 0, 0, .25));
}

.final-score > small {
    color: rgba(255, 255, 255, .58);
    font-size: clamp(.65rem, 1vw, .9rem);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.final-score-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(.6rem, 1.5vw, 1.5rem);
    margin: .4rem 0 .8rem;
}

.final-score-numbers strong {
    font-size: clamp(4.5rem, 7.8vw, 8.25rem);
    line-height: .95;
}

.final-score-numbers span {
    color: rgba(255, 255, 255, .55);
    font-size: clamp(1.5rem, 2.5vw, 2.5rem);
}

.final-support-panels {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr);
    gap: clamp(.55rem, 1vw, .85rem);
}

.final-standings-mini,
.final-scorers-mini {
    min-height: 0;
    overflow: hidden;
    padding: clamp(.45rem, .75vw, .7rem);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: .85rem;
    background: rgba(0, 0, 0, .2);
}

.final-mini-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    min-height: 24px;
    margin-bottom: .25rem;
    padding: 0 .25rem;
    font-size: clamp(.62rem, .72vw, .76rem);
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.final-mini-heading small {
    color: rgba(255, 255, 255, .5);
    font-size: .72em;
    font-weight: 650;
    white-space: nowrap;
}

.final-mini-heading small .bi-broadcast {
    color: #64dfa1;
}

.final-standings-head,
.final-standing-row {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) repeat(4, minmax(34px, .22fr));
    align-items: center;
    gap: clamp(.2rem, .55vw, .55rem);
}

.final-standings-head {
    padding: .18rem .4rem;
    color: rgba(255, 255, 255, .45);
    font-size: clamp(.48rem, .55vw, .58rem);
    font-weight: 700;
    text-align: center;
}

.final-standings-head span:first-child {
    text-align: left;
}

.final-standings-list,
.final-scorers-list {
    min-height: 0;
    overflow: hidden;
}

.final-standing-row {
    min-height: clamp(23px, 3vh, 32px);
    padding: .15rem .4rem;
    border-top: 1px solid rgba(255, 255, 255, .07);
    font-size: clamp(.54rem, .68vw, .72rem);
    text-align: center;
}

.final-standing-row:first-child {
    border-left: 3px solid #f2c94c;
    background: linear-gradient(90deg, rgba(242, 201, 76, .13), transparent 65%);
}

.final-standing-team {
    min-width: 0;
    display: grid;
    grid-template-columns: 26px 24px minmax(0, 1fr);
    align-items: center;
    gap: .35rem;
    text-align: left;
}

.final-standing-team b {
    color: rgba(255, 255, 255, .58);
    text-align: center;
}

.final-standing-team img {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff;
    object-fit: cover;
}

.final-standing-team span,
.final-scorer-row > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.final-standing-row > strong {
    color: #f2c94c;
}

.final-scorer-row {
    min-height: clamp(29px, 3.7vh, 39px);
    display: grid;
    grid-template-columns: 28px 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: .4rem;
    padding: .18rem .4rem;
    border-top: 1px solid rgba(255, 255, 255, .07);
    font-size: clamp(.55rem, .68vw, .72rem);
}

.final-scorer-row:first-child {
    border-left: 3px solid #f2c94c;
    background: linear-gradient(90deg, rgba(242, 201, 76, .13), transparent 72%);
}

.final-scorer-row > b {
    color: rgba(255, 255, 255, .58);
    text-align: center;
}

.final-scorer-row img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .85);
    object-fit: cover;
}

.final-scorer-row > strong {
    color: #f2c94c;
    white-space: nowrap;
}

.final-scorer-row > strong small {
    color: rgba(255, 255, 255, .52);
    font-size: .72em;
    font-weight: 600;
}

.final-mini-empty {
    display: grid;
    min-height: 70px;
    place-items: center;
    color: rgba(255, 255, 255, .45);
    font-size: .7rem;
}

@media (max-width: 767.98px) {
    .final-body {
        overflow: auto;
        max-height: none !important;
    }

    .final-stage {
        width: calc(100% - 1rem);
        min-height: 100dvh;
        height: auto;
    }

    .final-panel {
        min-height: 68vh;
        padding: .75rem;
        overflow: visible;
    }

    .final-dashboard {
        height: auto;
        grid-template-rows: auto auto;
    }

    .final-match {
        grid-template-columns: minmax(0, 1fr) minmax(92px, auto) minmax(0, 1fr);
        gap: .25rem;
    }

    .final-team > img {
        width: clamp(72px, 25vw, 130px);
        height: clamp(72px, 25vw, 130px);
        margin: .65rem 0;
    }

    .final-team > strong {
        font-size: clamp(.72rem, 3vw, 1rem);
    }

    .final-team-tag,
    .final-status {
        padding: .3rem .45rem;
        font-size: .55rem;
    }

    .final-trophy {
        font-size: 2rem;
    }

    .final-score-numbers {
        gap: .35rem;
    }

    .final-score-numbers strong {
        font-size: clamp(3.15rem, 14vw, 5rem);
    }

    .final-score-numbers span {
        font-size: 1.1rem;
    }

    .final-support-panels {
        grid-template-columns: 1fr;
    }

    .final-standings-mini,
    .final-scorers-mini {
        overflow-x: auto;
    }

    .final-standings-head,
    .final-standing-row {
        min-width: 440px;
    }
}

.result-body { overflow: hidden; color: #fff; }
.result-stage { position: relative; z-index: 1; width: min(94vw, 1500px); height: 100dvh; margin: 0 auto; padding: clamp(1rem, 2.2vh, 2rem) 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: clamp(.65rem, 1.4vh, 1.25rem); }
.result-complete { margin-left: auto; padding: .45rem .8rem; border: 1px solid rgba(98,223,161,.35); border-radius: 999px; color: #83efb7; background: rgba(20,90,55,.28); font-size: clamp(.62rem,.85vw,.85rem); font-weight: 800; white-space: nowrap; }
.result-panel { position: relative; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: clamp(.75rem,2vw,2rem); border: 1px solid rgba(255,255,255,.18); border-radius: 1.25rem; background: radial-gradient(circle at 50% 22%, rgba(242,201,76,.16), transparent 35%), rgba(10,18,15,.78); box-shadow: 0 1.5rem 4rem rgba(0,0,0,.3); backdrop-filter: blur(12px); }
.result-content { width: 100%; height: 100%; min-height: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.result-content.has-scorers { display: grid; grid-template-columns: minmax(0,1.8fr) minmax(250px,.62fr); align-items: stretch; gap: clamp(.65rem,1.5vw,1.4rem); padding-top: clamp(2.2rem,5vh,3.7rem); }
.team-award { min-width: 0; min-height: 0; display: flex; flex-direction: column; justify-content: flex-end; }
.championship-finished { position: absolute; z-index: 4; top: clamp(.65rem,1.4vh,1.2rem); left: 50%; display: flex; align-items: center; gap: .75rem; padding: .4rem 1.15rem; border: 1px solid rgba(242,201,76,.38); border-radius: 999px; color: #ffe58b; background: rgba(53,42,10,.62); box-shadow: 0 0 1.5rem rgba(242,201,76,.12); font-size: clamp(.58rem,.8vw,.78rem); font-weight: 850; letter-spacing: .14em; white-space: nowrap; opacity: 0; transform: translate(-50%,-15px); }
.champion-celebration { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-bottom: clamp(.25rem,1vh,.8rem); color: #f8d96d; font-size: clamp(1rem,2vw,1.8rem); font-weight: 900; letter-spacing: .22em; opacity: 0; transform: translateY(-20px); }
.podium { flex: 1; min-height: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; gap: clamp(.5rem,2vw,2rem); }
.podium-place { position: relative; z-index: 2; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; opacity: 0; transform: translateY(80px); }
.podium-place > img { width: clamp(76px,10vw,155px); height: clamp(76px,10vw,155px); border: 4px solid rgba(255,255,255,.7); border-radius: 50%; background: #fff; object-fit: cover; box-shadow: 0 .8rem 2rem rgba(0,0,0,.3); }
.podium-first > img { width: clamp(100px,13vw,195px); height: clamp(100px,13vw,195px); border-color: #f2c94c; box-shadow: 0 0 2rem rgba(242,201,76,.28), 0 1rem 2.5rem rgba(0,0,0,.35); }
.podium-place > small { margin-top: .5rem; color: rgba(255,255,255,.6); font-size: clamp(.55rem,.8vw,.8rem); font-weight: 750; text-transform: uppercase; }
.podium-place > strong { max-width: 100%; overflow: hidden; margin-bottom: .5rem; font-size: clamp(.8rem,1.5vw,1.45rem); text-overflow: ellipsis; white-space: nowrap; }
.podium-medal { color: #cbd1d8; font-size: clamp(1.5rem,2.5vw,2.6rem); filter: drop-shadow(0 .3rem .3rem rgba(0,0,0,.3)); }
.podium-third .podium-medal { color: #c98d55; }
.champion-trophy { color: #f2c94c; font-size: clamp(3rem,6vw,6rem); line-height: 1; filter: drop-shadow(0 .45rem .65rem rgba(0,0,0,.35)); transform-origin: 50% 100%; }
.champion-crown { position: absolute; z-index: 4; top: clamp(4.9rem,10vw,9.3rem); right: calc(50% - clamp(58px,7.5vw,110px)); color: #fff1a3; font-size: clamp(1rem,2vw,2rem); filter: drop-shadow(0 0 .5rem #f2c94c); opacity: 0; transform: rotate(18deg) scale(.4); }
.podium-first::before { content: ""; position: absolute; z-index: -1; top: clamp(3rem,6vw,6rem); width: clamp(160px,24vw,350px); aspect-ratio: 1; border-radius: 50%; background: repeating-conic-gradient(from 0deg, rgba(255,220,91,.18) 0 5deg, transparent 5deg 15deg); opacity: 0; pointer-events: none; }
.podium-block { width: 100%; height: clamp(105px,17vh,185px); display: flex; flex-direction: column; align-items: center; padding-top: .6rem; border-radius: .75rem .75rem 0 0; background: linear-gradient(180deg,#aeb8c5,#697482); box-shadow: inset 0 1px rgba(255,255,255,.35), 0 -.5rem 1.4rem rgba(0,0,0,.18); }
.podium-first .podium-block { height: clamp(145px,24vh,250px); color: #302606; background: linear-gradient(180deg,#f8df78,#c89d24); }
.podium-third .podium-block { height: clamp(80px,13vh,145px); background: linear-gradient(180deg,#cf9967,#8e5c35); }
.podium-block b { font-size: clamp(2rem,4vw,4rem); line-height: 1; }
.podium-block span { font-size: clamp(.55rem,.85vw,.85rem); font-weight: 800; text-transform: uppercase; }
.award-show .podium-second { animation: podium-rise .75s .15s cubic-bezier(.22,1,.36,1) forwards; }
.award-show .podium-third { animation: podium-rise .75s .35s cubic-bezier(.22,1,.36,1) forwards; }
.award-show .podium-first { animation: podium-rise .9s .75s cubic-bezier(.22,1,.36,1) forwards; }
.award-show .champion-celebration { animation: champion-title .7s 1.45s ease forwards; }
.award-show .champion-trophy { animation: trophy-celebrate 1.15s 1.55s cubic-bezier(.34,1.56,.64,1) both; }
.award-show .champion-trophy i { display: inline-block; animation: trophy-float 2.8s 2.7s ease-in-out infinite; }
.award-show .champion-crown { animation: crown-arrive .7s 2.15s cubic-bezier(.34,1.56,.64,1) forwards, crown-glow 2s 2.85s ease-in-out infinite; }
.award-show .podium-first::before { animation: rays-show .7s 1.7s ease forwards, champion-rays 18s 2.4s linear infinite; }
.award-show .podium-first > img { animation: champion-pulse 2.8s 2.7s ease-in-out infinite; }
.award-show .championship-finished { animation: finished-arrive .7s 2.2s ease forwards, finished-glow 2.6s 2.9s ease-in-out infinite; }
.result-confetti { position: absolute; z-index: 3; inset: 0; overflow: hidden; pointer-events: none; }
.result-confetti i { position: absolute; top: -8%; width: 9px; height: 18px; border-radius: 2px; background: #f2c94c; opacity: .85; animation: confetti-fall 5.4s linear infinite; }
.result-confetti i:nth-child(2n) { background: #62dfa1; width: 7px; height: 13px; animation-duration: 6.8s; }
.result-confetti i:nth-child(3n) { background: #fff; animation-duration: 7.4s; }
.result-confetti i:nth-child(4n) { background: #ef4054; }
.result-confetti i:nth-child(1) { left: 5%; animation-delay: -1s; } .result-confetti i:nth-child(2) { left: 14%; animation-delay: -4s; } .result-confetti i:nth-child(3) { left: 23%; animation-delay: -2.2s; } .result-confetti i:nth-child(4) { left: 32%; animation-delay: -5s; } .result-confetti i:nth-child(5) { left: 41%; animation-delay: -.4s; } .result-confetti i:nth-child(6) { left: 49%; animation-delay: -3.1s; } .result-confetti i:nth-child(7) { left: 57%; animation-delay: -1.8s; } .result-confetti i:nth-child(8) { left: 66%; animation-delay: -4.6s; } .result-confetti i:nth-child(9) { left: 74%; animation-delay: -2.8s; } .result-confetti i:nth-child(10) { left: 82%; animation-delay: -.7s; } .result-confetti i:nth-child(11) { left: 90%; animation-delay: -3.7s; } .result-confetti i:nth-child(12) { left: 96%; animation-delay: -5.4s; }
.result-fireworks { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.result-fireworks span { position: absolute; width: 6px; height: 6px; border-radius: 50%; opacity: 0; box-shadow: 0 -28px #f2c94c, 20px -20px #fff, 28px 0 #62dfa1, 20px 20px #f2c94c, 0 28px #fff, -20px 20px #62dfa1, -28px 0 #f2c94c, -20px -20px #fff; animation: firework-burst 4.5s ease-out infinite; }
.result-fireworks span:nth-child(1) { left: 14%; top: 22%; } .result-fireworks span:nth-child(2) { left: 86%; top: 28%; animation-delay: -2.2s; } .result-fireworks span:nth-child(3) { left: 27%; top: 43%; animation-delay: -3.5s; } .result-fireworks span:nth-child(4) { left: 73%; top: 48%; animation-delay: -1.1s; } .result-fireworks span:nth-child(5) { left: 7%; top: 58%; animation-delay: -2.9s; } .result-fireworks span:nth-child(6) { left: 93%; top: 62%; animation-delay: -.5s; }
.scorers-award { position: relative; z-index: 5; min-width: 0; min-height: 0; display: flex; flex-direction: column; overflow: hidden; padding: clamp(.65rem,1.2vw,1.15rem); border: 1px solid rgba(242,201,76,.3); border-radius: 1rem; background: radial-gradient(circle at 50% 20%,rgba(242,201,76,.2),transparent 38%),linear-gradient(160deg,rgba(33,47,40,.96),rgba(12,21,17,.94)); box-shadow: inset 0 1px rgba(255,255,255,.08),0 1rem 2.5rem rgba(0,0,0,.3); opacity: 0; transform: translateX(60px); }
.scorers-award::before { content: ""; position: absolute; inset: -50%; background: conic-gradient(transparent 0 42%,rgba(242,201,76,.07) 48%,transparent 54% 100%); animation: scorer-bg-spin 12s linear infinite; pointer-events: none; }
.scorers-award-heading { position: relative; z-index: 1; display: flex; align-items: center; gap: .65rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.scorers-award-heading > div { min-width: 0; display: flex; flex-direction: column; }
.scorers-award-heading small { color: rgba(255,255,255,.55); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; }
.scorers-award-heading strong { font-size: clamp(.78rem,1.15vw,1.08rem); line-height: 1.1; }
.scorers-ball { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; color: #241c05; background: linear-gradient(145deg,#fff0a0,#c9971a); font-size: 1.3rem; box-shadow: 0 0 1rem rgba(242,201,76,.3); }
.scorers-spark { margin-left: auto; color: #ffe88a; }
.scorers-champions { position: relative; z-index: 1; min-height: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; gap: clamp(.4rem,.8vh,.7rem); overflow-y: auto; padding: .65rem .1rem; }
.scorer-champion { position: relative; display: grid; grid-template-columns: clamp(48px,5vw,70px) minmax(0,1fr) auto; align-items: center; gap: .65rem; padding: .55rem; border: 1px solid rgba(242,201,76,.2); border-radius: .8rem; background: linear-gradient(90deg,rgba(242,201,76,.16),rgba(255,255,255,.055)); box-shadow: 0 .5rem 1.1rem rgba(0,0,0,.16); }
.scorer-champion > img { width: clamp(48px,5vw,70px); height: clamp(48px,5vw,70px); border: 3px solid #e6bd43; border-radius: 50%; background: #fff; object-fit: cover; box-shadow: 0 0 1rem rgba(242,201,76,.25); }
.scorer-champion > strong { min-width: 0; overflow: hidden; font-size: clamp(.72rem,1vw,1rem); text-overflow: ellipsis; white-space: nowrap; }
.scorer-laurel { position: absolute; z-index: 2; left: clamp(38px,4.2vw,59px); top: .25rem; color: #fff1a1; font-size: 1rem; filter: drop-shadow(0 0 .35rem #f2c94c); }
.scorer-goal-total { display: flex; flex-direction: column; align-items: center; min-width: 45px; color: #f7d86d; line-height: .9; }
.scorer-goal-total b { font-size: clamp(1.5rem,2.4vw,2.3rem); }
.scorer-goal-total span { margin-top: .25rem; color: rgba(255,255,255,.6); font-size: .55rem; font-weight: 800; text-transform: uppercase; }
.scorers-footer { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; gap: .55rem; padding-top: .55rem; border-top: 1px solid rgba(255,255,255,.12); color: #f6d56a; font-size: clamp(.55rem,.75vw,.72rem); font-weight: 900; letter-spacing: .12em; }
.award-show .scorers-award { animation: scorer-award-arrive .85s 2.45s cubic-bezier(.22,1,.36,1) forwards, scorer-award-glow 3s 3.3s ease-in-out infinite; }
.award-show .scorers-ball { animation: scorer-ball 4s 3.1s ease-in-out infinite; }
.award-show .scorer-champion > img { animation: scorer-photo-glow 2.6s 3.2s ease-in-out infinite; }
.award-show .scorer-laurel { animation: scorer-star 1.8s 3.2s ease-in-out infinite; }
@keyframes podium-rise { to { opacity: 1; transform: translateY(0); } }
@keyframes champion-title { to { opacity: 1; transform: translateY(0); text-shadow: 0 0 1.5rem rgba(242,201,76,.65); } }
@keyframes trophy-celebrate { 0% { transform: scale(.2) rotate(-14deg); opacity: 0; } 55% { transform: scale(1.25) rotate(8deg); opacity: 1; } 75% { transform: scale(.92) rotate(-3deg); } 100% { transform: scale(1) rotate(0); opacity: 1; } }
@keyframes trophy-float { 0%,100% { transform: translateY(0) rotate(-2deg); filter: drop-shadow(0 0 .25rem rgba(242,201,76,.4)); } 50% { transform: translateY(-10px) rotate(2deg); filter: drop-shadow(0 0 1rem rgba(242,201,76,.95)); } }
@keyframes crown-arrive { to { opacity: 1; transform: rotate(18deg) scale(1); } }
@keyframes crown-glow { 50% { color: #fff; filter: drop-shadow(0 0 1.1rem #f2c94c); transform: rotate(12deg) scale(1.12); } }
@keyframes rays-show { to { opacity: 1; } } @keyframes champion-rays { to { transform: rotate(360deg); } }
@keyframes champion-pulse { 50% { border-color: #fff1a3; box-shadow: 0 0 3.3rem rgba(242,201,76,.62), 0 1rem 2.5rem rgba(0,0,0,.35); transform: scale(1.035); } }
@keyframes finished-arrive { to { opacity: 1; transform: translate(-50%,0); } } @keyframes finished-glow { 50% { border-color: rgba(255,229,139,.8); box-shadow: 0 0 2rem rgba(242,201,76,.32); } }
@keyframes confetti-fall { 0% { transform: translate3d(0,-20px,0) rotate(0); } 50% { transform: translate3d(35px,50vh,0) rotate(360deg); } 100% { transform: translate3d(-15px,105vh,0) rotate(720deg); } }
@keyframes firework-burst { 0%,72% { opacity: 0; transform: scale(.2); } 78% { opacity: .9; } 92%,100% { opacity: 0; transform: scale(1.65); } }
@keyframes scorer-award-arrive { to { opacity: 1; transform: translateX(0); } } @keyframes scorer-award-glow { 50% { border-color: rgba(242,201,76,.72); box-shadow: 0 0 2rem rgba(242,201,76,.2),0 1rem 2.5rem rgba(0,0,0,.3); } }
@keyframes scorer-bg-spin { to { transform: rotate(360deg); } } @keyframes scorer-ball { 50% { transform: translateY(-5px) rotate(180deg); box-shadow: 0 0 1.4rem rgba(242,201,76,.75); } 100% { transform: rotate(360deg); } }
@keyframes scorer-photo-glow { 50% { border-color: #fff2aa; box-shadow: 0 0 1.5rem rgba(242,201,76,.65); transform: scale(1.035); } } @keyframes scorer-star { 50% { transform: scale(1.25) rotate(12deg); filter: drop-shadow(0 0 .8rem #f2c94c); } }
@media (prefers-reduced-motion: reduce) { .award-show .podium-place, .award-show .champion-celebration, .award-show .champion-trophy, .award-show .champion-trophy i, .award-show .champion-crown, .award-show .podium-first::before, .award-show .podium-first > img, .award-show .championship-finished, .result-confetti i, .result-fireworks span, .award-show .scorers-award, .scorers-award::before, .award-show .scorers-ball, .award-show .scorer-champion > img, .award-show .scorer-laurel { animation-duration: .01ms; animation-delay: 0s; animation-iteration-count: 1; } }
@media (max-width: 767.98px) { .result-body { overflow: auto; } .result-stage { width: calc(100% - 1rem); min-height: 100dvh; height: auto; } .result-panel { min-height: 70vh; padding: .5rem; } .result-content.has-scorers { display: flex; height: auto; padding-top: 3rem; } .podium { min-height: 530px; gap: .3rem; } .podium-place > img { border-width: 2px; } .podium-block { padding-top: .4rem; } .champion-trophy { font-size: 2.5rem; } .champion-celebration { letter-spacing: .1em; } .scorers-award { margin-top: .75rem; max-height: none; } .scorers-champions { overflow: visible; } }

@media (max-width: 767.98px) {
    .classification-body {
        overflow: auto;
        max-height: none !important;
    }

    .classification-stage {
        width: calc(100% - 1rem);
        min-height: 100dvh;
        height: auto;
    }

    .classification-board {
        overflow-x: auto;
    }

    .championship-panels {
        grid-template-columns: 1fr;
    }

    .classification-columns,
    .classification-row {
        min-width: 680px;
        grid-template-columns: 48px minmax(175px, 1fr) repeat(6, 62px);
    }

    .classification-list {
        min-height: 520px;
    }

    .scorers-board {
        min-height: 420px;
    }
}

@media (max-width: 480px) {
    .classification-brand > img {
        width: 46px;
        height: 46px;
    }

    .classification-live {
        padding: .35rem .55rem;
    }

    .classification-footer span:first-child {
        display: none;
    }

    .classification-footer {
        justify-content: flex-end;
    }

    .championship-event-notifications {
        top: .65rem;
        right: .5rem;
        width: calc(100vw - 1rem);
    }

    .championship-event-popup {
        grid-template-columns: 42px 58px minmax(0, 1fr);
        gap: .55rem;
        padding: .7rem;
    }

    .championship-event-icon {
        width: 40px;
        height: 40px;
        font-size: 1.25rem;
    }

    .championship-event-popup > img {
        width: 56px;
        height: 56px;
    }

    .championship-event-content strong {
        font-size: 1.1rem;
    }
}

.linha-danger-light {
    background-color: rgba(var(--bs-danger-rgb), 0.15);
}

.logo-img {
    height: auto !important;
    width: 5rem;
    max-width: 8rem;
    transition: .3s;
}

.logo-img:hover {
    width: 8rem;
}

.img-perfil-box {
    width: var(--profile-picture-box) !important;
    height: var(--profile-picture-box) !important;
    max-width: var(--profile-picture-box) !important;
    max-height: var(--profile-picture-box) !important;
}

.img-perfil-box-big {
    width: var(--profile-picture-box-big) !important;
    height: var(--profile-picture-box-big) !important;
    max-width: var(--profile-picture-box-big) !important;
    max-height: var(--profile-picture-box-big) !important;
}

.carteira-picture {
    width: var(--carteira-picture-box) !important;
    height: var(--carteira-picture-box) !important;
    max-width: var(--carteira-picture-box) !important;
    max-height: var(--carteira-picture-box) !important;
}

.validacao-picture {
    width: var(--validacao-picture-box) !important;
    height: var(--validacao-picture-box) !important;
    max-width: var(--validacao-picture-box) !important;
    max-height: var(--validacao-picture-box) !important;
}

.person-picture {
    transition: .3s;
    width: var(--person-picture-box) !important;
    height: var(--person-picture-box) !important;
    max-width: var(--person-picture-box) !important;
    max-height: var(--person-picture-box) !important;
}

.person-picture:hover {
    border-radius: .5rem !important;
    width: var(--person-picture-box-hover) !important;
    height: var(--person-picture-box-hover) !important;
    max-width: var(--person-picture-box-hover) !important;
    max-height: var(--person-picture-box-hover) !important;
}

.file-picture {
    border-radius: .5rem !important;
    transition: .3s;
    width: var(--person-picture-box) !important;
    height: var(--person-picture-box) !important;
    max-width: var(--person-picture-box) !important;
    max-height: var(--person-picture-box) !important;
}

.file-picture:hover {
    border-radius: .3rem !important;
    width: var(--person-picture-box-hover) !important;
    height: var(--person-picture-box-hover) !important;
    max-width: var(--person-picture-box-hover) !important;
    max-height: var(--person-picture-box-hover) !important;
}

.person-icon {
    width: var(--profile-picture-box) !important;
    height: var(--profile-picture-box) !important;
    max-width: var(--profile-picture-box) !important;
    max-height: var(--profile-picture-box) !important;
}

.dependent-picture {
    transition: .3s;
    width: var(--dependent-picture-box) !important;
    height: var(--dependent-picture-box) !important;
    max-width: var(--dependent-picture-box) !important;
    max-height: var(--dependent-picture-box) !important;
}

.dependent-picture:hover {
    border-radius: .5rem !important;
    width: var(--dependent-picture-box-hover) !important;
    height: var(--dependent-picture-box-hover) !important;
    max-width: var(--dependent-picture-box-hover) !important;
    max-height: var(--dependent-picture-box-hover) !important;
}

.type-icon {
    height: auto;
    width: 2rem;
}

.footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    margin-bottom: 2rem;
}

.logo-footer {
    width: 3rem;
    height: auto;
}

.min-square-pagination {
    min-width: 2.2rem;
}

.table-responsive::-webkit-scrollbar,
.dselect-items::-webkit-scrollbar,
.main-space::-webkit-scrollbar,
body::-webkit-scrollbar {
    height: 4px;
    width: 4px;
    border-radius: 2px;
}

.table-responsive::-webkit-scrollbar-track,
.dselect-items::-webkit-scrollbar-track,
.main-space::-webkit-scrollbar-track,
.tablebodyit-scrollbar-track {
    background: #eee;
    border-radius: 2px;
}

.table-responsive::-webkit-scrollbar-thumb,
.dselect-items::-webkit-scrollbar-thumb,
.main-space::-webkit-scrollbar-thumb,
.tablebodyit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
}

.table-responsive::-webkit-scrollbar-thumb:hover,
.dselect-items::-webkit-scrollbar-thumb:hover,
.main-space::-webkit-scrollbar-thumb:hover {
    background: var(--bs-primary);
    border-radius: 2px;
}

.min-scroll-bar::-webkit-scrollbar {
    height: 4px;
    width: 4px;
    border-radius: 2px;
}

.min-scroll-bar::-webkit-scrollbar-track {
    background: #eee;
    border-radius: 2px;
}

.min-scroll-bar::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 2px;
}

.min-scroll-bar::-webkit-scrollbar-thumb:hover {
    background: var(--bs-primary);
    border-radius: 2px;
    cursor: pointer;
}

.texto-longo {
    max-width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.items-cliente-modal {
    overflow-y: auto;
    max-height: 60vh;
}

@media (max-width:992px) {
    .items-cliente-modal {
        overflow-y: none;
        max-height: none;
    }
}

.form-floating .counter {
    font-size: 11px;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0.5rem;
    pointer-events: none;
    transition: all 0.3s ease;
}

.form-floating>.form-control:not(:-moz-placeholder-shown)~.counter {
    opacity: .65;
    padding: 0.7rem;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control-plaintext~.counter,
.form-floating>.form-control:focus~.counter,
.form-floating>.form-control:not(:placeholder-shown)~.counter,
.form-floating>.form-select~.counter {
    opacity: .65;
    padding: 0.7rem;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.form-floating>.form-control:-webkit-autofill~.counter {
    opacity: .65;
    padding: 0.7rem;
    transform: scale(.85) translateY(-.5rem) translateX(.15rem)
}

.cliente-filetype {
    font-size: 40px;
    color: var(--bs-primary);
}

.upper-bar {
    position: fixed;
    top: 0 !important;
    z-index: 1000 !important;
    height: var(--upper-bar-height) !important;
    vertical-align: middle;
}

.progress-tokens {
    height: 5px;
    background-color: #ddd;
    width: 100%;
}

.progress-tables {
    height: 15px;
    background-color: #ddd;
    width: 100%;
}

.checkbox {
    font-size: 20px;
    position: relative;
    left: 0.5rem;
    border-radius: 50% !important;
    transition: .3s;
}

.checkbox:hover {
    cursor: pointer;
}

.checkbox-all-page {
    left: 0.9rem;
}

.checkbox.form-check-label {
    position: relative;
    top: 0.1rem;
    left: -20rem;
    font-size: 13px;
    font-weight: 400;
}

.checkbox.form-check-label.active {
    position: relative;
    top: 0.1rem;
    left: 0.9rem;
}

.checkbox-all {
    display: none;
}

.checkbox-all.active {
    left: 2.4rem;
    display: initial;
}

#button_call_helper {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    z-index: 100000;
}

:root {
    --pulse-transparency: 0.5;
    --pulse-color: rgba(0, 0, 0, var(--pulse-transparency));
    --pulse-color-low: rgba(0, 0, 0, 0);
    --pulse-color-primary: rgba(var(--bs-primary-rgb), var(--pulse-transparency));
    --pulse-color-low-primary: rgba(var(--bs-primary-rgb), 0);
    --pulse-color-secondary: rgba(var(--bs-secondary-rgb), var(--pulse-transparency));
    --pulse-color-low-secondary: rgba(var(--bs-secondary-rgb), 0);
    --pulse-color-success: rgba(var(--bs-success-rgb), var(--pulse-transparency));
    --pulse-color-low-success: rgba(var(--bs-success-rgb), 0);
    --pulse-color-info: rgba(var(--bs-info-rgb), var(--pulse-transparency));
    --pulse-color-low-info: rgba(var(--bs-info-rgb), 0);
    --pulse-color-warning: rgba(var(--bs-warning-rgb), var(--pulse-transparency));
    --pulse-color-low-warning: rgba(var(--bs-warning-rgb), 0);
    --pulse-color-danger: rgba(var(--bs-danger-rgb), var(--pulse-transparency));
    --pulse-color-low-danger: rgba(var(--bs-danger-rgb), 0);
    --pulse-color-dark: rgba(var(--bs-dark-rgb), var(--pulse-transparency));
    --pulse-color-low-dark: rgba(var(--bs-dark-rgb), 0);
    --pulse-color-light: rgba(var(--bs-light-rgb), var(--pulse-transparency));
    --pulse-color-low-light: rgba(var(--bs-light-rgb), 0);
    --pulse-size: 35px;
    --pulse-shadow: 35px;
    --pulse-time: 2.2s;
    --pulse-function: ease-out;
}

.pulse {
    box-shadow: 0 0 0 var(--pulse-color);
    animation: pulse var(--pulse-time) var(--pulse-function) infinite;
    z-index: 1050 !important;
}

@-webkit-keyframes pulse {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low);
    }
}

@keyframes pulse {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color);
        box-shadow: 0 0 0 0 var(--pulse-color);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low);
        box-shadow: 0 0 0 0 var(--pulse-color-low);
    }
}

.pulse.pulse-primary {
    animation: pulse-primary var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-primary {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-primary);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-primary);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-primary);
    }
}

@keyframes pulse-primary {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-primary);
        box-shadow: 0 0 0 0 var(--pulse-color-primary);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-primary);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-primary);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-primary);
        box-shadow: 0 0 0 0 var(--pulse-color-low-primary);
    }
}

.pulse.pulse-secondary {
    animation: pulse-secondary var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-secondary {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-secondary);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-secondary);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-secondary);
    }
}

@keyframes pulse-secondary {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-secondary);
        box-shadow: 0 0 0 0 var(--pulse-color-secondary);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-secondary);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-secondary);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-secondary);
        box-shadow: 0 0 0 0 var(--pulse-color-low-secondary);
    }
}

.pulse.pulse-success {
    animation: pulse-success var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-success {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-success);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-success);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-success);
    }
}

@keyframes pulse-success {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-success);
        box-shadow: 0 0 0 0 var(--pulse-color-success);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-success);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-success);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-success);
        box-shadow: 0 0 0 0 var(--pulse-color-low-success);
    }
}

.pulse.pulse-info {
    animation: pulse-info var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-info {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-info);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-info);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-info);
    }
}

@keyframes pulse-info {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-info);
        box-shadow: 0 0 0 0 var(--pulse-color-info);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-info);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-info);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-info);
        box-shadow: 0 0 0 0 var(--pulse-color-low-info);
    }
}

.pulse.pulse-warning {
    animation: pulse-warning var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-warning {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-warning);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-warning);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-warning);
    }
}

@keyframes pulse-warning {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-warning);
        box-shadow: 0 0 0 0 var(--pulse-color-warning);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-warning);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-warning);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-warning);
        box-shadow: 0 0 0 0 var(--pulse-color-low-warning);
    }
}

.pulse.pulse-danger {
    animation: pulse-danger var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-danger {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-danger);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-danger);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-danger);
    }
}

@keyframes pulse-danger {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-danger);
        box-shadow: 0 0 0 0 var(--pulse-color-danger);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-danger);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-danger);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-danger);
        box-shadow: 0 0 0 0 var(--pulse-color-low-danger);
    }
}

.pulse.pulse-dark {
    animation: pulse-dark var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-dark {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-dark);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-dark);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-dark);
    }
}

@keyframes pulse-dark {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-dark);
        box-shadow: 0 0 0 0 var(--pulse-color-dark);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-dark);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-dark);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-dark);
        box-shadow: 0 0 0 0 var(--pulse-color-low-dark);
    }
}

.pulse.pulse-light {
    animation: pulse-light var(--pulse-time) var(--pulse-function) infinite !important;
}

@-webkit-keyframes pulse-light {
    0% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-light);
    }

    70% {
        -webkit-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-light);
    }

    100% {
        -webkit-box-shadow: 0 0 0 0 var(--pulse-color-low-light);
    }
}

@keyframes pulse-light {
    0% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-light);
        box-shadow: 0 0 0 0 var(--pulse-color-light);
    }

    70% {
        -moz-box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-light);
        box-shadow: 0 0 var(--pulse-shadow) var(--pulse-size) var(--pulse-color-low-light);
    }

    100% {
        -moz-box-shadow: 0 0 0 0 var(--pulse-color-low-light);
        box-shadow: 0 0 0 0 var(--pulse-color-low-light);
    }
}

.icon-options {
    transition: .3s;
}

.icon-options.show {
    rotate: 90deg;
}

.dropdown-menu {
    transition: .1s;
}

.echart-graphic {
    height: 35vh;
}

.menu-exame {
    overflow-y: scroll;
    max-height: 60vh;
}

a {
    color: var(--bs-dark);
    text-decoration: none;
}

a:hover {
    color: var(--bs-primary);
}

.categoria-beneficio.active {
    transition: .3s !important;
    border: .1rem solid var(--bs-light) !important;
}

.card-beneficio {
    transition: .3s !important;
}

.card-beneficio:hover {
    border: .1rem solid var(--bs-light) !important;
}

.card-beneficio img {
    transition: .3s !important;
}

.card-beneficio:hover img {
    transform: scale(1.15);
}

.aviso {
    background-color: #FCFCA8;
    position: relative;
}

.aviso .glue {
    width: 100%;
    height: 2rem;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.1);
}

.modal-backdrop,
.offcanvas-backdrop {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.modal-backdrop.show,
.offcanvas-backdrop.show {
    opacity: 1 !important;
    backdrop-filter: blur(4px) !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.male-icon {
    background-color: rgba(52, 152, 219, 0.15);
    color: #3498db;
    transition: .3s;
}

.male-icon:hover {
    color: white;
    background-color: #3498db
}

.female-icon {
    background-color: rgba(232, 62, 140, 0.15);
    color: #e83e8c;
    transition: .3s;
}

.female-icon:hover {
    color: white;
    background-color: #e83e8c
}

.system-upload-box {
    border: 2px dashed rgba(var(--bs-primary-rgb), .25);
    background-color: rgba(var(--bs-primary-rgb), .03);
    transition: .3s;
}

.system-upload-box:hover,
.system-upload-box.dragging {
    border-color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), .06);
}

.system-upload-icon {
    width: 3.5rem;
    height: 3.5rem;
    color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), .1);
    font-size: 1.5rem;
}

.system-processing-box .spinner-border {
    width: 1.15rem;
    height: 1.15rem;
}
