:root {
    --bg: #08110f;
    --bg-soft: #101916;
    --panel: rgba(21, 28, 25, 0.92);
    --panel-2: rgba(19, 25, 23, 0.88);
    --border: rgba(98, 118, 110, 0.18);
    --text: #ecf1ee;
    --muted: #93a099;
    --green: #1fd06b;
    --green-dark: #10a554;
    --yellow: #f5b126;
    --red: #ff4747;
    --shadow: 0 0 0 0.0625rem rgba(255,255,255,.02), 0 1.125rem 3.125rem rgba(0,0,0,.35);
    --radius: 1.125rem;
    --radius-sm: 0.75rem;
    --radius-pill: 62.5rem;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
    color: var(--text);
    background:
        radial-gradient(circle at top center, rgba(32, 58, 44, 0.22), transparent 32%),
        repeating-linear-gradient(
            90deg,
            rgba(27, 60, 45, 0.14) 0,
            rgba(27, 60, 45, 0.14) 0.0625rem,
            transparent 0.0625rem,
            transparent 7.5rem
        ),
        linear-gradient(180deg, #07100f 0%, var(--bg) 100%);
}

body.page-loading {
    cursor: progress;
}

body.page-loading .main-wrap {
    opacity: .72;
    transition: opacity .2s ease;
}

.page-loader {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(7, 14, 12, 0.68);
    backdrop-filter: blur(0.25rem);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
}

.page-loader.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.page-loader-content {
    min-width: 10rem;
    padding: 1rem 1.25rem;
    border-radius: 1rem;
    border: 0.0625rem solid rgba(31, 208, 107, 0.28);
    background: linear-gradient(180deg, rgba(20, 27, 25, .95), rgba(14, 20, 18, .95));
    box-shadow: 0 1rem 2.25rem rgba(0,0,0,.35);
    display: grid;
    gap: .4rem;
    justify-items: center;
    text-align: center;
}

.page-loader-spinner {
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    border: 0.1875rem solid rgba(255,255,255,.16);
    border-top-color: var(--green);
    animation: girar .65s linear infinite;
}

.page-loader-title {
    font-family: 'Oswald', sans-serif;
    color: var(--green);
    font-size: 1.1rem;
    letter-spacing: .02em;
    line-height: 1;
    text-transform: uppercase;
}

.page-loader-text {
    color: rgba(236, 241, 238, 0.75);
    font-size: .82rem;
}

.main-wrap footer {
    margin: 2rem 0 0;
    font-size: 0.82rem;
    color: rgba(236, 241, 238, 0.82);
    text-align: center;
}

.main-wrap footer p {
    margin: 0 0 0.25rem;
}

.main-wrap footer p:last-child {
    margin-bottom: 0;
}

.main-wrap footer strong {
    font-weight: 600;
    color: #FFF;
}

.main-wrap footer a {
    font-weight: 600;
    color: var(--green);
    text-decoration: none;
}

.main-wrap footer a:hover {
    text-decoration: underline;
}

.modal .modal-content {
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(20, 27, 25, .96), rgba(13, 19, 17, .96));
    box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,.38);
}

.modal .modal-header,
.modal .modal-footer {
    border-color: rgba(255,255,255,.08);
}

.modal .modal-title {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: var(--text);
}

.modal .modal-body {
    color: rgba(236, 241, 238, 0.86);
    line-height: 1.5;
}

.modal .btn-close {
    filter: invert(1) grayscale(1) brightness(210%);
    opacity: .78;
}

.app-shell {
    min-height: 100vh;
    padding: 1.5rem;
}

.app-frame {
    border: 0.0625rem solid rgba(182, 204, 195, 0.12);
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(8, 15, 13, 0.65);
    box-shadow: var(--shadow);
    backdrop-filter: blur(0.5rem);
}

.topbar {
    border-bottom: 0.0625rem solid rgba(182, 204, 195, 0.08);
    background: rgba(18, 24, 22, 0.72);
    backdrop-filter: blur(0.625rem);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    color: var(--text);
    min-width: 0;
}

.brand-mark {
    background: radial-gradient(circle at top left, #FFF, var(--green), var(--green-dark), #FFF);
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 1.25rem;
    color: var(--bg);
    box-shadow: 0 0 0 0.25rem rgba(255,255,255,.05);
}

.brand-img {
    width: 2.25rem;
    height: 2.25rem;
}

.brand-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}

.brand-name,
.page-title,
.section-title,
.metric-value,
.cta-label,
.login-title,
.side-title,
.report-value {
    font-family: 'Oswald', sans-serif;
    letter-spacing: .02em;
}

.brand-name {
    display: flex;
    gap: 0.125rem;
    color: var(--green);
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    flex-direction: column;
    align-items: flex-start;
}

.brand-racha {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(236, 241, 238, 0.8);
}

.nav-pills .nav-link {
    font-size: 1rem;
    color: rgba(237, 242, 239, 0.76);
    border-radius: 0.75rem;
    padding: 0.5rem 1.125rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border: 0.0625rem solid transparent;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: var(--green);
    color: var(--bg);
    font-weight: 600;
    box-shadow: 0 0.625rem 1.75rem rgba(31, 208, 107, 0.18);
}

.nav-pills .nav-link.nav-link-warning:not(.active) {
    border-color: rgba(245, 177, 38, 0.42);
    background: rgba(245, 177, 38, 0.08);
    color: rgba(255, 221, 136, 0.95);
}

.nav-pills .nav-link .nav-link-warning-icon {
    color: #f5b126;
    font-size: 1rem;
}

.nav-pills .nav-link.active .nav-link-warning-icon,
.nav-pills .show > .nav-link .nav-link-warning-icon {
    color: var(--bg);
}

.topbar-nav {
    display: flex;
    align-items: center;
}

.nav-menu {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border-radius: 0.875rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
    line-height: 1;
    flex-shrink: 0;
    border: 0.0625rem solid var(--green);
    background: var(--green);
    color: var(--bg);
    box-shadow: 0 0.25rem 0.75rem rgba(31, 208, 107, 0.16);
    transition: all .2s ease;
}

.nav-menu:hover,
.nav-menu:focus {
    border-color: var(--green);
    background: var(--green);
    color: var(--bg);
}

.nav-menu:focus-visible {
    box-shadow: 0 0 0 0.1875rem rgba(31, 208, 107, 0.2), 0 0.25rem 0.75rem rgba(31, 208, 107, 0.18);
}

.nav-menu[aria-expanded="true"],
.nav-menu.menu-aberto {
    border-color: var(--green);
    background: var(--green);
    color: var(--bg);
}

.menu-icon {
    font-size: 1.2rem;
    line-height: 1;
    display: block;
    color: var(--bg);
    text-shadow: none;
}

.nav-menu[aria-expanded="true"] .menu-icon,
.nav-menu.menu-aberto .menu-icon {
    color: var(--bg);
}

.nav-mobile-offcanvas {
    --bs-offcanvas-width: min(20rem, 88vw);
    height: 100vh;
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    color: var(--text);
    border-left: 0.0625rem solid var(--border);
}

.nav-mobile-offcanvas .offcanvas-header {
    border-bottom: 0.0625rem solid rgba(255,255,255,.06);
}

.nav-mobile-offcanvas .offcanvas-title {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.nav-mobile-offcanvas .btn-close {
    filter: invert(1) grayscale(1) brightness(210%);
    opacity: .85;
}

.nav-mobile-offcanvas .offcanvas-body {
    overflow-y: auto;
}

.nav-mobile-list {
    gap: .45rem;
}

.nav-mobile-list .nav-link {
    width: 100%;
    justify-content: flex-start;
}

.main-wrap {
    max-width: 67.5rem;
    margin: 0 auto;
    padding: 2rem 1.25rem 3rem;
}

.page-logar .main-wrap {
    max-width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    position: relative;
    overflow: hidden;
    flex-direction: column;
}

.page-title {
    font-size: 2.5rem;
    line-height: .95;
    margin-bottom: .5rem;
    text-transform: uppercase;
}

.page-subtitle,
.side-text,
.feature-text,
.login-subtitle,
.form-label,
.small-note {
    color: var(--muted);
}

.page-subtitle {
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
}

.glass-card,
.player-row,
.metric-card,
.month-pill,
.presence-pill,
.report-stat,
.feature-item {
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    border: 0.0625rem solid var(--border);
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
}

.glass-card {
    border-radius: var(--radius);
    padding: 1rem;
}

.form-label {
    margin-bottom: .35rem;
    font-size: .95rem;
}

.form-label-warning {
    color: #ffd47b;
}

.form-control,
.form-select {
    min-height: 2.625rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid transparent;
    color: var(--text);
    background: rgba(54, 67, 62, 0.55);
}

.form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 2.3rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath fill='%23a9b8b1' d='M8 10 0 2h2.2L8 7.7 13.8 2H16z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .85rem center;
    background-size: .8rem .5rem;
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
    padding-right: .75rem;
    background-image: none;
}

.form-control::placeholder {
    color: rgba(223, 230, 226, 0.42);
}

.form-control:focus,
.form-select:focus {
    color: var(--text);
    background-color: rgba(55, 69, 64, 0.8);
    border-color: var(--green);
    box-shadow: 0 0 0 0.2rem rgba(31, 208, 107, 0.15);
}

.form-control.is-warning {
    border-color: rgba(245, 177, 38, 0.55);
    background: rgba(77, 60, 20, 0.34);
}

.form-control.is-warning:focus {
    border-color: rgba(245, 177, 38, 0.8);
    box-shadow: 0 0 0 0.2rem rgba(245, 177, 38, 0.18);
}

.form-control:disabled,
.form-select:disabled {
    color: rgba(236, 241, 238, 0.62);
    background: rgba(47, 59, 55, 0.64);
    border-color: rgba(255,255,255,.08);
    opacity: 1;
}

.form-control.js-slug-automatico[readonly] {
    color: rgba(236, 241, 238, 0.58);
    background: rgba(44, 55, 51, 0.5);
    border-color: rgba(255,255,255,.08);
    cursor: default;
}

.form-control.js-slug-automatico[readonly]:focus {
    color: rgba(236, 241, 238, 0.58);
    background: rgba(44, 55, 51, 0.5);
    border-color: rgba(255,255,255,.08);
    box-shadow: none;
}

textarea.form-control {
    resize: none;
}

.date-flatpickr-wrap {
    position: relative;
    width: 100%;
}

.date-flatpickr-wrap > input[type="date"] {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
    border: 0;
    padding: 0;
}

.date-flatpickr-input {
    padding-right: 2.45rem;
    cursor: text;
}

.date-flatpickr-trigger {
    position: absolute;
    top: 50%;
    right: .3rem;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: rgba(236, 241, 238, 0.72);
    width: 2rem;
    height: 2rem;
    border-radius: .65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color .2s ease, background-color .2s ease;
}

.date-flatpickr-trigger:hover,
.date-flatpickr-trigger:focus {
    color: var(--green);
    background: rgba(31, 208, 107, 0.12);
}

.flatpickr-calendar {
    border: 0.0625rem solid var(--border);
    border-radius: 0.9rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    box-shadow: 0 0.875rem 2.125rem rgba(0,0,0,.38);
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
    border-bottom-color: rgba(20, 27, 25, .98);
}

.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    color: rgba(236, 241, 238, .9);
    fill: rgba(236, 241, 238, .9);
}

.flatpickr-months {
    padding: .2rem .25rem 0;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    top: .22rem;
    padding: .35rem .45rem;
    border-radius: .55rem;
}

.flatpickr-current-month {
    padding-top: .32rem;
    font-size: .95rem;
    line-height: 1.1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .28rem;
}

.flatpickr-current-month .cur-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    font-size: 1.05rem;
    font-weight: 600;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
    background: transparent;
    border: 0;
}

.flatpickr-current-month .cur-month {
    color: #fff;
}

.flatpickr-current-month input.cur-year,
.flatpickr-current-month .numInput.cur-year,
.flatpickr-current-month .numInputWrapper input.cur-year {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: transparent !important;
    padding-right: 1.05rem;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

.flatpickr-current-month input.cur-year {
    min-width: 4.25rem;
    padding: 0;
}

.flatpickr-current-month .numInputWrapper input.cur-year::-webkit-outer-spin-button,
.flatpickr-current-month .numInputWrapper input.cur-year::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option {
    color: rgba(236, 241, 238, .92);
    background: #13201b;
}

.flatpickr-current-month .numInputWrapper {
    width: 3.85rem;
    margin-left: .14rem;
}

.flatpickr-current-month .numInputWrapper .arrowUp,
.flatpickr-current-month .numInputWrapper .arrowDown {
    right: .06rem;
    border-left-width: .2rem;
    border-right-width: .2rem;
}

.flatpickr-current-month .numInputWrapper input.cur-year:disabled {
    cursor: default;
}

.flatpickr-current-month .numInputWrapper input.cur-year:disabled::-webkit-outer-spin-button,
.flatpickr-current-month .numInputWrapper input.cur-year:disabled::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.flatpickr-current-month .numInputWrapper input.cur-year:disabled ~ .arrowUp,
.flatpickr-current-month .numInputWrapper input.cur-year:disabled ~ .arrowDown,
.flatpickr-current-month .numInputWrapper .arrowUp.disabled,
.flatpickr-current-month .numInputWrapper .arrowDown.disabled {
    display: none !important;
    pointer-events: none;
}

.flatpickr-weekdays {
    background: rgba(255,255,255,.03);
    border-top: 0.0625rem solid rgba(255,255,255,.07);
    border-bottom: 0.0625rem solid rgba(255,255,255,.07);
    margin-top: .2rem;
}

.flatpickr-weekday {
    color: #fff !important;
    font-size: .76rem;
    font-weight: 700;
    text-transform: uppercase;
}

.flatpickr-days {
    padding: .18rem .28rem .35rem;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

.flatpickr-days .dayContainer {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
}

.flatpickr-days .flatpickr-day {
    max-width: calc(100% / 7);
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
    fill: rgba(236, 241, 238, .8);
}

.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--green);
}

.flatpickr-day {
    color: rgba(236, 241, 238, .9);
    font-size: .94rem;
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: rgba(236, 241, 238, .28);
}

.flatpickr-day.today {
    border-color: rgba(31, 208, 107, 0.55);
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: rgba(31, 208, 107, 0.16);
    border-color: rgba(31, 208, 107, 0.28);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover {
    background: var(--green) !important;
    border-color: var(--green) !important;
    color: #072011 !important;
}

.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.selected.prevMonthDay:hover,
.flatpickr-day.selected.nextMonthDay:hover {
    background: var(--green) !important;
    border-color: var(--green) !important;
    color: #072011 !important;
}

.ts-wrapper {
    width: 100%;
}

.ts-wrapper.single .ts-control,
.ts-wrapper.multi .ts-control {
    min-height: 2.625rem;
    border-radius: 0.875rem;
    border: 0.0625rem solid transparent;
    color: var(--text);
    background: rgba(54, 67, 62, 0.55);
    box-shadow: none;
    padding: 0.38rem 0.75rem;
}

.ts-wrapper.single .ts-control input,
.ts-wrapper.multi .ts-control input {
    color: var(--text) !important;
}

.ts-wrapper.single .ts-control > input::placeholder,
.ts-wrapper.multi .ts-control > input::placeholder {
    color: rgba(223, 230, 226, 0.42);
}

.ts-wrapper.single .ts-control .item {
    color: var(--text);
}

.ts-wrapper.ts-single-search-dropdown .ts-control > input {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ts-wrapper.multi .ts-control .item {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
    border-radius: 0.625rem;
    border: 0.0625rem solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.08);
    color: rgba(236, 241, 238, 0.92);
    padding: 0.2rem 0.72rem 0.2rem 0.62rem;
}

.ts-wrapper.multi .ts-control .item.active {
    background: var(--green);
    color: var(--text);
}

.ts-wrapper.plugin-remove_button .item .remove {
    border-left: none !important;
    margin: 0 0.14rem 0 0.04rem !important;
    padding: 0 !important;
    width: 1.06rem;
    height: 1.06rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(236, 241, 238, 0.58) !important;
    opacity: 0.62;
    background: transparent !important;
    transition: opacity .18s ease, background-color .18s ease, color .18s ease;
}

.ts-wrapper.plugin-remove_button .item .remove:hover {
    background: rgba(255,255,255,.12) !important;
    color: rgba(236, 241, 238, 1) !important;
    opacity: 1;
}

.ts-wrapper.plugin-remove_button .item .remove::before {
    content: none !important;
}

.ts-wrapper.focus .ts-control {
    color: var(--text);
    background-color: rgba(55, 69, 64, 0.8);
    border-color: var(--green);
    box-shadow: 0 0 0 0.2rem rgba(31, 208, 107, 0.15);
}

.ts-wrapper .ts-dropdown {
    margin-top: 0.32rem;
    border: 0.0625rem solid var(--border);
    border-radius: 0.85rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    box-shadow: 0 0.875rem 2.125rem rgba(0,0,0,.38);
    color: rgba(236, 241, 238, 0.9);
    overflow: hidden;
}

.ts-wrapper .ts-dropdown .option,
.ts-wrapper .ts-dropdown .optgroup-header,
.ts-wrapper .ts-dropdown .no-results {
    padding: 0.5rem 0.75rem;
}

.ts-wrapper .ts-dropdown .option {
    color: rgba(236, 241, 238, 0.88);
}

.ts-wrapper .ts-dropdown .dropdown-input-wrap,
.ts-wrapper .ts-dropdown .ts-dropdown-input-wrap {
    padding: 0.45rem 0.55rem;
    border-bottom: 0.0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
}

.ts-wrapper .ts-dropdown .dropdown-input,
.ts-wrapper .ts-dropdown .ts-dropdown-input {
    width: 100%;
    min-height: 2.25rem;
    border-radius: 0.7rem;
    border: 0.0625rem solid transparent;
    color: var(--text);
    background: rgba(54, 67, 62, 0.55);
    padding: 0.35rem 0.65rem;
    outline: none;
}

.ts-wrapper .ts-dropdown .dropdown-input::placeholder,
.ts-wrapper .ts-dropdown .ts-dropdown-input::placeholder {
    color: rgba(223, 230, 226, 0.42);
}

.ts-wrapper .ts-dropdown .dropdown-input:focus,
.ts-wrapper .ts-dropdown .ts-dropdown-input:focus {
    background-color: rgba(55, 69, 64, 0.8);
    border-color: var(--green);
    box-shadow: 0 0 0 0.125rem rgba(31, 208, 107, 0.15);
}

.ts-wrapper .ts-dropdown .active {
    background: rgba(31, 208, 107, .16);
    color: #d7fbe7;
}

.ts-wrapper .ts-dropdown .selected {
    background: rgba(31, 208, 107, .22);
    color: #e3ffef;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.25rem;
    font-weight: 600;
    border-radius: 0.875rem;
}

.btn-success,
.btn-login {
    background: var(--green);
    border-color: var(--green);
    color: var(--bg);
}

.btn-success:hover,
.btn-success:focus,
.btn-login:hover,
.btn-login:focus {
    background: #2ade79;
    border-color: #2ade79;
    color: var(--bg);
}

.btn-icon {
    display: inline-flex;
    background: transparent;
    font-size: 1rem;
    padding: 0.25rem 0.75rem;
    color: var(--bs-btn-color);
    align-items: center;
    border-color: transparent;
}

.btn-icon:hover {
    color: #FFF;
}

.btn-group-sm > .btn,
.btn-sm {
    padding: 0.375rem 0.875rem;
    font-size: 0.875rem;
}

.btn-soft {
    background: rgba(70, 82, 77, 0.8);
    color: var(--text);
    border: 0.0625rem solid rgba(255,255,255,.03);
}

.btn-soft:hover {
    background: rgba(90, 102, 97, .9);
    color: var(--text);
}

.btn-panel,
.exportar-dropdown .exportar-btn {
    border: 0.0625rem solid var(--border);
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    color: var(--text);
    min-width: 8.75rem;
    text-align: left;
    border-radius: 1rem;
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
    font-weight: 600;
    padding: .62rem 1.05rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.btn-panel {
    text-decoration: none;
    justify-content: center;
    min-height: 2.875rem;
}

.btn-panel:focus-visible {
    box-shadow: 0 0 0 0.1875rem rgba(31, 208, 107, 0.2), inset 0 0.0625rem 0 rgba(255,255,255,.02);
}

.btn-panel i {
    line-height: 1;
}

.btn-panel:hover,
.btn-panel:focus,
.btn-panel:active,
.exportar-dropdown .exportar-btn:hover,
.exportar-dropdown .exportar-btn:focus,
.exportar-dropdown .exportar-btn:active,
.exportar-dropdown .show > .exportar-btn {
    background: linear-gradient(180deg, rgba(27, 35, 32, .9), rgba(20, 27, 25, .9));
    border-color: rgba(31, 208, 107, 0.3);
    color: var(--text);
}

.exportar-dropdown .dropdown-menu {
    margin-top: .35rem;
    border: 0.0625rem solid var(--border);
    border-radius: .85rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    box-shadow: 0 0.875rem 2.125rem rgba(0,0,0,.38);
    min-width: 14.75rem;
    padding: .35rem;
}

.exportar-dropdown .dropdown-toggle::after {
    display: none;
}

.exportar-dropdown .exportar-chevron {
    margin-left: .2rem;
    font-size: 1rem;
    line-height: 1;
    transition: transform .2s ease;
}

.exportar-dropdown .show .exportar-chevron {
    transform: rotate(180deg);
}

.exportar-dropdown .dropdown-item {
    color: rgba(236, 241, 238, 0.88);
    display: flex;
    align-items: center;
    gap: .35rem;
    border-radius: .6rem;
    margin: .2rem .35rem;
    width: auto;
    padding: .45rem .65rem;
}

.exportar-dropdown .dropdown-item:hover,
.exportar-dropdown .dropdown-item:focus,
.exportar-dropdown .dropdown-item:active,
.exportar-dropdown .dropdown-item.active {
    background: rgba(31, 208, 107, .16);
    color: #d7fbe7;
}

.exportar-dropdown .dropdown-divider {
    border-top-color: rgba(255, 255, 255, 0.22);
    opacity: 1;
    margin: .35rem .65rem;
}

.sort-management-dropdown .settings-fab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.sort-management-dropdown .dropdown-menu {
    min-width: 16rem;
}

.sort-management-dropdown .dropdown-item.text-danger {
    color: #fda4af !important;
}

.sort-management-dropdown .dropdown-item.text-danger:hover,
.sort-management-dropdown .dropdown-item.text-danger:focus,
.sort-management-dropdown .dropdown-item.text-danger:active {
    background: rgba(239, 68, 68, .16);
    color: #fecdd3 !important;
}

.jogador-carteirinha-dropdown .exportar-btn {
    min-height: 2.75rem;
}

.alert {
    border-radius: 0.875rem;
    border: 0.0625rem solid transparent;
    padding: 0.75rem 1rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.alert-success {
    background: rgba(16, 165, 84, 0.2);
    border-color: rgba(31, 208, 107, 0.45);
    color: #b9f8d6;
}

.alert-danger {
    background: rgba(239, 68, 68, 0.18);
    border-color: rgba(255, 71, 71, 0.45);
    color: #ffc7c7;
}

.alert-warning {
    background: rgba(245, 177, 38, 0.2);
    border-color: rgba(245, 177, 38, 0.45);
    color: #ffe7b6;
}

.alert-info {
    background: rgba(59, 130, 246, 0.2);
    border-color: rgba(96, 165, 250, 0.45);
    color: #d0e4ff;
}

.app-alert {
    position: relative;
    padding-right: 3.1rem;
}

.app-alert-message {
    line-height: 1.35;
}

.app-alert-details {
    font-weight: 500;
}

.alert-dismissible {
    position: relative;
    padding-right: 3.1rem;
}

.alert-dismissible .btn-close {
    position: absolute;
    top: 50%;
    right: .75rem;
    transform: translateY(-50%);
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 0;
    opacity: .85;
    padding: 0;
    background-size: .62rem;
    filter: invert(1) grayscale(1) brightness(220%) !important;
    box-shadow: none;
}

.alert-success .btn-close,
.alert-danger .btn-close,
.alert-warning .btn-close,
.alert-info .btn-close {
    filter: invert(1) grayscale(1) brightness(220%) !important;
}

.alert-dismissible .btn-close:hover,
.alert-dismissible .btn-close:focus {
    opacity: 1;
    box-shadow: none;
}

.form-switch .form-check-input {
    width: 2.9rem;
    height: 1.5rem;
    background-color: rgba(97, 108, 104, 0.42);
    border: none;
    cursor: pointer;
    box-shadow: none;
}

.form-switch .form-check-input:checked,
.form-check-input:checked {
    background-color: var(--green);
    border-color: var(--green);
}

.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2308110f'/%3e%3c/svg%3e")
}

.form-check-input {
    background-color: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.12);
    box-shadow: none;
}

.form-check-input:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 0.25rem rgba(31, 208, 107, 0.25);
}

.form-check-label {
    color: rgba(236, 241, 238, 0.8);
}

.usuarios-create-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.btn-usuarios-collapse {
    min-width: 10.25rem;
}

.jogador-create-form {
    padding: 1.1rem;
}

.jogador-modal-form {
    display: grid;
    gap: .8rem;
    padding: .15rem .35rem .35rem;
}

.jogador-modal-intro {
    margin: 0;
    color: rgba(236, 241, 238, 0.74);
    line-height: 1.5;
}

.jogador-modal-section {
    border-radius: .9rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.015);
    padding: .85rem;
}

.jogador-modal-section-title {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: rgba(236, 241, 238, 0.93);
    margin-bottom: .6rem;
    font-size: 1rem;
}

.jogador-modal-section-title .mdi {
    color: var(--green);
    font-size: 1.05rem;
}

.jogador-modal-form .form-label {
    margin-bottom: .35rem;
}

.jogador-modal-form .jogador-switch-card {
    min-height: 3rem;
    padding: .58rem .82rem;
}

.jogador-modal-form .jogador-create-submit .btn {
    min-height: 2.9rem;
}

.jogador-foto-upload {
    display: flex;
    align-items: center;
    gap: .95rem;
    min-width: 0;
}

.jogador-foto-input {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    padding: 0;
    margin: -0.0625rem;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.jogador-foto-trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
}

.jogador-foto-trigger:focus-visible {
    outline: 0.125rem solid rgba(31, 208, 107, 0.75);
    outline-offset: 0.1875rem;
}

.jogador-foto-avatar {
    width: 4.25rem;
    height: 4.25rem;
    font-size: 1.35rem;
    border: 0.125rem solid rgba(31, 208, 107, 0.4);
    box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.22);
    transition: border-color .2s ease, box-shadow .2s ease, filter .2s ease;
}

.jogador-foto-trigger:hover .jogador-foto-avatar,
.jogador-foto-trigger:focus-visible .jogador-foto-avatar {
    border-color: var(--green);
    box-shadow: 0 0.9rem 1.75rem rgba(0,0,0,.3);
    filter: brightness(1.08);
}

.jogador-foto-camera {
    position: absolute;
    right: -0.12rem;
    bottom: -0.12rem;
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0.125rem solid #101916;
    background: var(--green);
    color: #06120d;
    font-size: .95rem;
}

.jogador-foto-upload-content {
    display: grid;
    gap: .38rem;
    flex: 1;
    min-width: 0;
}

.jogador-foto-upload-content .btn {
    justify-self: start;
}

.jogador-foto-status {
    display: block;
    max-width: 100%;
    color: rgba(236, 241, 238, 0.58);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.jogador-cadastro-visualizacao {
    display: grid;
    gap: .8rem;
    padding: .15rem .35rem .35rem;
}

.jogador-cadastro-hero {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
    padding: .15rem 0 .2rem;
}

.avatar.user.jogador-cadastro-avatar {
    width: 4.75rem;
    height: 4.75rem;
    font-size: 1.45rem;
    border: 0.125rem solid rgba(31, 208, 107, 0.35);
    box-shadow: 0 0.75rem 1.55rem rgba(0,0,0,.24);
}

.jogador-cadastro-hero-content {
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.jogador-cadastro-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .45rem;
    min-width: 0;
}

.jogador-cadastro-name {
    color: #f8fbf9;
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.18;
}

.jogador-cadastro-name.cancelled {
    text-decoration: line-through;
    opacity: .68;
}

.jogador-cadastro-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .35rem;
}

.jogador-cadastro-grid,
.jogador-cadastro-profile {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.jogador-cadastro-profile {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.jogador-cadastro-field {
    display: grid;
    gap: .22rem;
    min-width: 0;
    border-radius: .65rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(255,255,255,.025);
    padding: .62rem .75rem;
}

.jogador-cadastro-label {
    color: rgba(236, 241, 238, 0.56);
    font-size: .78rem;
    line-height: 1.2;
}

.jogador-cadastro-field strong,
.jogador-cadastro-link {
    color: rgba(248, 251, 249, 0.94);
    font-size: .96rem;
    font-weight: 600;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.jogador-cadastro-link {
    text-decoration: none;
}

.jogador-cadastro-link:hover,
.jogador-cadastro-link:focus {
    color: var(--green);
}

.jogador-cadastro-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    justify-content: flex-end;
    padding-top: .15rem;
}

.jogador-avatar-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.jogador-avatar-link .avatar {
    transition: box-shadow .2s ease, filter .2s ease, outline-color .2s ease;
}

.jogador-avatar-link:hover .avatar,
.jogador-avatar-link:focus-visible .avatar {
    box-shadow: 0 0 0 .16rem rgba(31, 208, 107, 0.26), 0 .65rem 1.35rem rgba(0,0,0,.25);
    filter: brightness(1.07);
}

.jogador-avatar-link:focus-visible {
    outline: 0.125rem solid rgba(31, 208, 107, 0.75);
    outline-offset: 0.1875rem;
}

.jogador-foto-zoom-trigger {
    display: inline-flex;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    line-height: 1;
    cursor: zoom-in;
}

.jogador-foto-zoom-trigger .avatar {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease;
}

.jogador-foto-zoom-trigger:hover .avatar,
.jogador-foto-zoom-trigger:focus-visible .avatar {
    transform: translateY(-0.0625rem);
    border-color: var(--green);
    box-shadow: 0 1rem 1.9rem rgba(0,0,0,.34);
    filter: brightness(1.06);
}

.jogador-foto-zoom-trigger:focus-visible {
    outline: 0.125rem solid rgba(31, 208, 107, 0.75);
    outline-offset: 0.1875rem;
}

.jogador-foto-lightbox-open {
    overflow: hidden;
}

.jogador-foto-lightbox {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    background: rgba(0,0,0,.82);
}

.jogador-foto-lightbox-panel {
    position: relative;
    max-width: min(92vw, 52rem);
    max-height: 90vh;
}

.jogador-foto-lightbox-panel img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    border-radius: .75rem;
    border: 0.0625rem solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.05);
    box-shadow: 0 1.5rem 3rem rgba(0,0,0,.45);
    object-fit: contain;
}

.jogador-foto-lightbox-close {
    position: absolute;
    top: .65rem;
    right: .65rem;
    width: 2.25rem;
    height: 2.25rem;
    border: 0.0625rem solid rgba(255,255,255,.18);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(10, 15, 13, .76);
    color: #fff;
    font-size: 1.25rem;
    line-height: 1;
}

.jogador-foto-lightbox-close:hover,
.jogador-foto-lightbox-close:focus-visible {
    border-color: var(--green);
    color: var(--green);
}

@media (max-width: 767.98px) {
    .jogador-modal-form {
        padding: 0;
        gap: .65rem;
    }

    .jogador-modal-section {
        padding: .72rem;
    }

    .jogador-modal-form .jogador-switch-card {
        min-height: 2.75rem;
        padding: .52rem .75rem;
    }

    .jogador-foto-upload {
        align-items: flex-start;
    }

    .jogador-foto-avatar {
        width: 3.8rem;
        height: 3.8rem;
    }

    .jogador-cadastro-visualizacao {
        padding: 0;
        gap: .65rem;
    }

    .jogador-cadastro-hero {
        align-items: flex-start;
    }

    .avatar.user.jogador-cadastro-avatar {
        width: 4rem;
        height: 4rem;
        font-size: 1.2rem;
    }

    .jogador-cadastro-name {
        font-size: 1.12rem;
    }

    .jogador-cadastro-grid,
    .jogador-cadastro-profile {
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    .jogador-cadastro-actions {
        display: grid;
    }
}

.usuario-create-form {
    padding: 1.1rem;
}

.jogador-create-header {
    display: grid;
    gap: .4rem;
    margin-bottom: .9rem;
}

.usuario-create-header {
    display: grid;
    gap: .4rem;
    margin-bottom: .9rem;
}

.jogador-create-subtitle {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.usuario-create-subtitle {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.jogador-create-main {
    margin-bottom: .2rem;
}

.jogador-create-main-secondary {
    margin-bottom: .25rem;
}

.usuario-create-main {
    margin-bottom: .2rem;
}

.jogador-create-submit .btn {
    min-height: 2.625rem;
}

.usuario-create-submit .btn {
    min-height: 3.4rem;
}

.usuario-switch-card,
.jogador-switch-card {
    border-radius: 0.875rem;
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.02);
    padding: .7rem .9rem;
    min-height: 3.4rem;
    display: flex;
    align-items: center;
}

.usuario-switch-card .form-check,
.jogador-switch-card .form-check {
    width: 100%;
    margin-bottom: 0;
    padding-left: 0;
}

.usuario-switch-card .form-check-label,
.jogador-switch-card .form-check-label {
    color: rgba(236, 241, 238, 0.9);
    font-weight: 600;
}

.financeiro-switch-card {
    min-height: 2.9rem;
    padding: .55rem .85rem;
}

.financeiro-switch-card .form-check-input {
    margin-top: 0;
}

.badge-legend {
    display: grid;
    gap: .75rem;
}

.badge-legend-title {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    color: rgba(236, 241, 238, 0.92);
}

.badge-legend-list {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem .8rem;
}

.badge-legend-item {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border-radius: 0.75rem;
    padding: .42rem .6rem;
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.02);
    color: rgba(236, 241, 238, 0.86);
    font-size: .9rem;
}

.badge-legend-item-danger {
    border-color: rgba(239, 68, 68, .26);
    background: rgba(239, 68, 68, .08);
}

.section-title {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 1.5rem 0 .85rem;
    font-size: 1.125rem;
    text-transform: uppercase;
}

.section-title > .mdi {
    color: var(--green);
}

.section-title small {
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    font-size: .9rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
}

.section-title.goalkeepers,
.section-title.goalkeepers > .mdi {
    color: var(--yellow);
}

.section-title.cancelled,
.section-title.cancelled > .mdi,
.section-title.danger > .mdi {
    color: var(--red);
}

.player-row {
    border-radius: 1rem;
    padding: .9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.player-meta {
    display: flex;
    align-items: center;
    gap: .9rem;
    min-width: 0;
}

.player-content {
    min-width: 0;
    display: grid;
    gap: .2rem;
}

.player-title-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    min-width: 0;
}

.player-actions {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
}

.player-actions-main {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.player-actions-main > span {
    display: flex;
}

.player-action-btn {
    min-width: 6.1rem;
    text-align: center;
}

.player-action-toggle {
    min-width: 2.25rem;
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .25rem .6rem;
}

.avatar {
    width: 2.125rem;
    height: 2.125rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: .9rem;
    font-weight: 700;
    color: #111;
    flex-shrink: 0;
}

.avatar.user {
    width: 2.625rem;
    height: 2.625rem;
    font-size: 1rem;
}

.avatar.user.jogador-foto-avatar {
    width: 4.25rem;
    height: 4.25rem;
    font-size: 1.35rem;
}

.avatar.avatar-photo {
    overflow: hidden;
    background: rgba(255,255,255,.08);
    color: transparent;
}

.avatar.avatar-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center center;
}

@media (max-width: 767.98px) {
    .avatar.user.jogador-foto-avatar {
        width: 3.8rem;
        height: 3.8rem;
    }
}

.avatar-yellow {
    background: #f3ad25;
    color: #3a2a00;
}

.avatar-green {
    background: #0e6e42;
    color: #7cf9bc;
}

.avatar-red {
    background: #592020;
    color: #ff6464;
}

.avatar-blue {
    background: #1e3a8a;
    color: #93c5fd;
}

.avatar-purple {
    background: #4c1d95;
    color: #c4b5fd;
}

.avatar-pink {
    background: #831843;
    color: #f9a8d4;
}

.avatar-orange {
    background: #7c2d12;
    color: #fdba74;
}

.avatar-cyan {
    background: #164e63;
    color: #67e8f9;
}

.avatar-indigo {
    background: #312e81;
    color: #a5b4fc;
}

.avatar-teal {
    background: #134e4a;
    color: #5eead4;
}

.avatar-lime {
    background: #365314;
    color: #bef264;
}

.avatar-brown {
    background: #5a3a1e;
    color: #facc9b;
}

.avatar-gray {
    background: #374151;
    color: #d1d5db;
}

.player-name {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.player-name {
    color: var(--text);
    text-decoration: none;
    transition: color .18s ease, text-decoration-color .18s ease, text-shadow .18s ease;
}

a.player-name:hover {
    color: rgba(236, 241, 238, 0.96);
    text-decoration: underline;
    text-decoration-color: rgba(31, 208, 107, 0.75);
    text-underline-offset: .22rem;
}

a.player-name:focus-visible {
    color: var(--text);
    border-radius: .3rem;
    outline: 0.125rem solid rgba(31, 208, 107, 0.68);
    outline-offset: .18rem;
    text-decoration: none;
}

.player-name.cancelled {
    text-decoration: line-through;
    opacity: .72;
}

a.player-name.cancelled:hover {
    text-decoration: line-through;
}

.player-nickname {
    font-size: .92rem;
    font-weight: 500;
    color: rgba(170, 182, 193, 0.85);
    white-space: nowrap;
}

.player-nickname.cancelled {
    text-decoration: line-through;
}

.player-indicator {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: rgba(170, 182, 193, 0.78);
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.25;
}

.player-indicator.cancelled {
    text-decoration: line-through;
}

.player-indicator .mdi {
    font-size: .85rem;
    color: rgba(31, 208, 107, 0.88);
    line-height: 1;
}

.player-whatsapp-link {
    width: 1.7rem;
    height: 1.7rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: rgba(34, 197, 94, 0.18);
    border: 0.0625rem solid rgba(34, 197, 94, 0.26);
    color: #22c55e;
    font-size: .95rem;
}

.player-whatsapp-link:hover,
.player-whatsapp-link:focus {
    color: #4ade80;
    border-color: rgba(34, 197, 94, 0.4);
    background: rgba(34, 197, 94, 0.22);
}

.player-whatsapp-link.disabled {
    opacity: .72;
    pointer-events: none;
}

.badge-gk {
    background: rgba(245, 177, 38, 0.18);
    color: #efb43d;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-organizer {
    background: rgba(59, 130, 246, 0.18);
    color: #60a5fa;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-treasurer {
    background: rgba(168, 85, 247, 0.18);
    color: #c084fc;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-diarist {
    background: rgba(20, 184, 166, 0.18);
    color: #5eead4;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.section-title.diarists > .mdi {
    color: #67e8f9;
}

.badge-paid {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-pending {
    background: rgba(239, 68, 68, 0.18);
    color: #fca5a5;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-warning {
    background: rgba(245, 177, 38, 0.18);
    color: #efb43d;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-exempt {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-monthly {
    background: rgba(34, 197, 94, 0.14);
    color: #86efac;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-highlight {
    background: rgba(251, 191, 36, 0.16);
    color: #fcd34d;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-daily-pay {
    background: rgba(6, 182, 212, 0.14);
    color: #67e8f9;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.badge-expense {
    background: rgba(245, 177, 38, 0.18);
    color: #f5b126;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.empty-state {
    color: rgba(181, 192, 187, 0.65);
    min-height: 10rem;
    display: grid;
    place-items: center;
    text-align: center;
}

.empty-player-row {
    justify-content: center;
}

.empty-player-text {
    width: 100%;
    text-align: center;
    color: rgba(181, 192, 187, 0.75);
    font-weight: 500;
}

.month-switcher {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-bottom: 1.25rem;
}

.month-pill {
    color: var(--text);
    border-radius: 0.75rem;
    padding: .7rem 1rem;
    font-weight: 600;
    text-decoration: none;
    min-width: 5.75rem;
    text-align: center;
}

.month-pill.active {
    background: var(--green);
    border-color: var(--green);
    color: var(--bg);
}

.metric-card {
    border-radius: 1.125rem;
    padding: 1rem;
    min-height: 6.875rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.metric-label,
.report-label {
    color: var(--muted);
    margin-bottom: .4rem;
    font-size: .95rem;
}

.report-trend {
    margin-top: .55rem;
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.3;
}

.report-trend i {
    margin-right: .2rem;
}

.report-trend.positive {
    color: #86efac;
}

.report-trend.negative {
    color: #fca5a5;
}

.report-trend.neutral {
    color: #cbd5e1;
}

.projection-value {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    line-height: 1;
    margin-bottom: .65rem;
    color: var(--text);
}

.projection-text {
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.5;
}

.metric-value {
    font-size: 2rem;
    line-height: 1;
}

.metric-value.metric-value-sm {
    font-size: 1.25rem;
    line-height: 1.2;
}

.metric-value.green { color: var(--green); }
.metric-value.red,
.text-danger { color: var(--red) !important; }

.config-rules-summary {
    display: grid;
    gap: .75rem;
}

.config-rule-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    border-radius: .9rem;
    padding: .85rem .95rem;
    border: 0.0625rem solid rgba(255,255,255,.04);
    background: rgba(255,255,255,.02);
}

.config-rule-title {
    color: rgba(236, 241, 238, 0.94);
    font-weight: 600;
    margin-bottom: .15rem;
}

.config-rule-text {
    color: var(--muted);
    line-height: 1.45;
    font-size: .9rem;
}

.config-rule-status {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.8rem;
    border-radius: .65rem;
    padding: .3rem .55rem;
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    border: 0.0625rem solid transparent;
}

.config-rule-status.active {
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.28);
    background: rgba(34, 197, 94, 0.14);
}

.config-rule-status.inactive {
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.28);
    background: rgba(239, 68, 68, 0.12);
}

.settings-fab {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    background: rgba(245, 177, 38, 0.16);
    color: var(--yellow);
    border: 0.0625rem solid rgba(245, 177, 38, 0.18);
    margin-left: auto;
    margin-bottom: 1rem;
    text-decoration: none;
}

.report-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1rem;
}

.report-actions .settings-fab {
    margin-left: 0;
    margin-bottom: 0;
    width: 2.875rem;
    height: 2.875rem;
    border-radius: 1rem;
    border: 0.0625rem solid var(--border);
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    color: var(--text);
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
}

.report-actions .settings-fab:hover,
.report-actions .settings-fab:focus {
    background: linear-gradient(180deg, rgba(27, 35, 32, .9), rgba(20, 27, 25, .9));
    border-color: rgba(31, 208, 107, 0.3);
    color: var(--text);
}

.report-actions .settings-fab.active {
    background: linear-gradient(180deg, rgba(31, 208, 107, .22), rgba(24, 145, 79, .18));
    border-color: rgba(31, 208, 107, 0.38);
    color: #7ef0ac;
}

.report-actions .exportar-dropdown .exportar-btn {
    min-height: 2.875rem;
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.report-sections-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.report-sections-nav .btn {
    border-radius: 62.5rem;
    padding: .42rem .85rem;
    line-height: 1.1;
}

.report-section-anchor {
    scroll-margin-top: 5.5rem;
}

.report-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.report-tabs .nav-link {
    border-radius: 62.5rem;
    border: 0.0625rem solid var(--border);
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    color: var(--text);
    padding: .45rem .9rem;
    line-height: 1.1;
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
}

.report-tabs .nav-link:hover,
.report-tabs .nav-link:focus {
    border-color: rgba(31, 208, 107, 0.3);
    color: var(--text);
}

.report-tabs .nav-link.active,
.report-tabs .show > .nav-link {
    background: linear-gradient(180deg, rgba(31, 208, 107, .22), rgba(24, 145, 79, .18));
    border-color: rgba(31, 208, 107, 0.38);
    color: #7ef0ac;
}


.report-stat {
    border-radius: 1rem;
    padding: 1rem;
    min-height: 6.75rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .5rem;
}

.report-label {
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: .85rem;
    display: flex;
    align-items: center;
    gap: .45rem;
}

.report-value {
    font-size: 2rem;
    line-height: 1;
}

.report-player-highlight {
    font-size: 1.15rem;
    line-height: 1.25;
    word-break: break-word;
}

.report-podium-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}

.report-podium-title {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: rgba(236, 241, 238, 0.92);
    font-weight: 700;
    letter-spacing: .01em;
}

.report-podium-subtitle {
    color: rgba(236, 241, 238, 0.66);
    font-size: .85rem;
    font-weight: 600;
}

.report-podium {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    gap: .65rem;
}

.report-podium-item {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(26, 34, 31, .86), rgba(18, 24, 22, .84));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    padding: .55rem .55rem .8rem;
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
    transition: transform .18s ease, border-color .2s ease, box-shadow .2s ease;
    min-height: 0;
}

.report-podium-item:hover {
    transform: translateY(-0.125rem);
}

.report-podium-topo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    margin-bottom: .2rem;
}

.report-podium-medal-icon {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.08);
    color: rgba(236, 241, 238, 0.92);
    font-size: .9rem;
}

.report-podium-item.destaque {
    min-height: 0;
    transform: translateY(-0.18rem);
    box-shadow: 0 0.5rem 1.4rem rgba(0,0,0,.25), inset 0 0.0625rem 0 rgba(255,255,255,.03);
}

.report-podium-item.destaque:hover {
    transform: translateY(-0.25rem);
}

.report-podium-item.prata {
    min-height: 0;
}

.report-podium-item.bronze {
    min-height: 0;
}

.report-podium-item.empty {
    opacity: .58;
}

.report-podium-item.ouro {
    border-color: rgba(245, 177, 38, .52);
    background: linear-gradient(180deg, rgba(245, 177, 38, .24), rgba(29, 24, 14, .9));
}

.report-podium-item.prata {
    border-color: rgba(203, 213, 225, .35);
    background: linear-gradient(180deg, rgba(148, 163, 184, .2), rgba(26, 31, 39, .86));
}

.report-podium-item.bronze {
    border-color: rgba(205, 127, 50, .45);
    background: linear-gradient(180deg, rgba(205, 127, 50, .2), rgba(34, 23, 16, .88));
}

.report-podium-medal {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: rgba(236, 241, 238, 0.75);
}

.report-podium-rank {
    font-family: 'Oswald', sans-serif;
    font-size: 2rem;
    line-height: 1;
    color: rgba(236, 241, 238, 0.95);
    margin: .18rem 0 .5rem;
}

.report-podium-player {
    font-weight: 700;
    color: rgba(236, 241, 238, 0.94);
    line-height: 1.28;
    min-height: 0;
    max-height: none;
    display: block;
    -webkit-line-clamp: initial;
    -webkit-box-orient: initial;
    overflow: visible;
    overflow-wrap: anywhere;
    margin: 0 .2rem;
}

.report-podium-goals {
    margin-top: .55rem;
    font-size: .84rem;
    font-weight: 600;
    color: rgba(236, 241, 238, 0.86);
    background: rgba(8, 12, 11, .28);
    border: 0.0625rem solid rgba(255,255,255,.08);
    border-radius: 999px;
    padding: .28rem .6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.report-podium-base {
    display: none;
}

.report-podium-item.ouro .report-podium-medal-icon {
    background: rgba(245, 177, 38, .23);
    color: #f5b126;
}

.report-podium-item.prata .report-podium-medal-icon {
    background: rgba(148, 163, 184, .25);
    color: #cbd5e1;
}

.report-podium-item.bronze .report-podium-medal-icon {
    background: rgba(205, 127, 50, .24);
    color: #cd7f32;
}

.presence-pill {
    border-radius: 0.875rem;
    padding: .85rem 1rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: .85rem;
    max-width: 22.5rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    border: 0.0625rem solid var(--border);
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.02);
    transition: all .2s ease;
}

.presence-pill:hover {
    border-color: rgba(255,255,255,.10);
    transform: translateY(-0.0625rem);
}

.presence-pill.off {
    opacity: .48;
}

.presence-dot {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.07);
    font-size: .85rem;
    color: rgba(255,255,255,.72);
    flex-shrink: 0;
}

.presence-pill:not(.off) .presence-dot {
    background: rgba(31, 208, 107, 0.14);
    color: var(--green);
}

.presence-pill:not(.off) .presence-dot.presence-dot-gk {
    background: rgba(245, 177, 38, 0.18);
    color: #efb43d;
}

.sort-player-devedor {
    border-color: rgba(239, 68, 68, 0.35);
    background: linear-gradient(180deg, rgba(58, 22, 24, .64), rgba(40, 18, 20, .58));
}

.sort-player-bloqueado {
    cursor: not-allowed;
}

.sort-player-name-devedor {
    color: #fda4af;
}

.presence-dot.presence-dot-devedor,
.presence-pill:not(.off) .presence-dot.presence-dot-devedor {
    background: rgba(239, 68, 68, 0.22);
    color: #fda4af;
}

.presence-dot.presence-dot-ordem {
    width: auto;
    min-width: 2rem;
    height: 1.75rem;
    border-radius: 999px;
    padding: 0 .45rem;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.draw-box {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-bottom: 1.2rem;
}

.sort-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .75rem;
}

.sort-control-panel .sort-actions {
    justify-content: flex-start;
}

.sort-rules-card {
    display: grid;
    gap: .55rem;
}

.sort-rules-list {
    margin: 0;
    padding-left: 1.1rem;
    color: rgba(236, 241, 238, 0.72);
    display: grid;
    gap: .4rem;
}

.sort-rules-list strong {
    color: rgba(236, 241, 238, 0.92);
    font-weight: 700;
}

.sort-control-panel {
    display: grid;
    gap: 1rem;
}

.sort-control-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: .85rem;
}

.sort-utility-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.sort-toggle-btn {
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    border-radius: .85rem;
    border: 0.0625rem solid var(--border);
    color: var(--text);
}

.sort-toggle-btn.active,
.sort-toggle-btn[aria-expanded="true"] {
    border-color: rgba(31, 208, 107, 0.38);
    color: #7ef0ac;
    background: linear-gradient(180deg, rgba(31, 208, 107, .22), rgba(24, 145, 79, .18));
}

.sort-toggle-btn i {
    font-size: 1rem;
}

.sort-players-card {
    padding-bottom: .75rem;
}

.sort-player-groups {
    display: grid;
    gap: 1.15rem;
}

.sort-player-group {
    padding-top: 1.15rem;
    border-top: 0.0625rem solid rgba(255,255,255,.06);
}

.sort-player-group:first-child {
    padding-top: 0;
    border-top: 0;
}

.sort-player-group-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .85rem;
}

.sort-player-group-title {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    font-family: 'Oswald', sans-serif;
    font-size: 1.02rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: rgba(236, 241, 238, 0.94);
}

.sort-player-group-title .mdi {
    color: var(--green);
    font-size: 1.1rem;
}

.sort-player-group-title small {
    color: var(--muted);
    font-family: 'Inter', sans-serif;
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.sort-player-group.goalkeepers .sort-player-group-title .mdi {
    color: #efb43d;
}

.sort-player-group.diarists .sort-player-group-title .mdi {
    color: #67e8f9;
}

.sort-player-group-count {
    min-width: 2.25rem;
    height: 2rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 .7rem;
    background: rgba(255,255,255,.06);
    border: 0.0625rem solid rgba(255,255,255,.08);
    color: rgba(236, 241, 238, .88);
    font-weight: 700;
}

.sort-goalkeepers-note {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    color: rgba(236, 241, 238, 0.72);
    line-height: 1.5;
}

.sort-goalkeepers-note strong {
    color: var(--yellow);
    text-transform: uppercase;
}

.sort-team-card {
    height: 100%;
    border-radius: 1.125rem;
    padding: 1rem;
}

.sort-team-title {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.sort-team-title.success {
    color: #4ade80;
}

.sort-team-title.primary {
    color: #60a5fa;
}

.sort-team-title.yellow {
    color: #facc15;
}

.sort-team-title.purple {
    color: #c084fc;
}

.sort-team-title.orange {
    color: #fb923c;
}

.sort-team-title.gray {
    color: #cbd5e1;
}

.sort-team-title.red {
    color: #f87171;
}

.sort-team-title.cyan {
    color: #22d3ee;
}

.sort-team-title.pink {
    color: #f472b6;
}

.sort-team-title.dark {
    color: #94a3b8;
}

.sort-team-title.lime {
    color: #a3e635;
}

.sort-team-title.teal {
    color: #2dd4bf;
}

.sort-team-title.indigo {
    color: #818cf8;
}

.sort-team-title.coral {
    color: #fb7185;
}

.sort-team-title.gold {
    color: #fbbf24;
}

.sort-team-title.sky {
    color: #38bdf8;
}

.sort-team-title.wine {
    color: #e879f9;
}

.sort-team-title.mint {
    color: #6ee7b7;
}

.sort-team-title.amber {
    color: #f59e0b;
}

.sort-team-title.violet {
    color: #a78bfa;
}

.sort-team-title.navy {
    color: #93c5fd;
}

.sort-team-title.brown {
    color: #d6a16e;
}

.sort-team-title.silver {
    color: #e5e7eb;
}

.sort-team-title.turquoise {
    color: #5eead4;
}

.sort-team-title.lilac {
    color: #d8b4fe;
}

.sort-team-title.beige {
    color: #fef3c7;
}

.sort-team-title.white {
    color: #f8fafc;
}

.sort-team-title.bronze {
    color: #d97706;
}

.sort-team-title.slate {
    color: #64748b;
}

.sort-team-title.goalkeepers {
    color: #efb43d;
}

.sort-team-list .presence-pill {
    max-width: 100%;
    margin-bottom: .7rem;
    background: rgba(255,255,255,.02);
}

.sort-empty-slot-form {
    width: 100%;
    min-height: 3.65rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) 2.55rem;
    align-items: center;
    gap: .7rem;
    margin-bottom: .7rem;
    padding: .65rem .75rem;
    border-radius: .875rem;
    border: 0.0625rem dashed rgba(148, 163, 184, .24);
    background: rgba(255,255,255,.025);
}

.sort-empty-slot-content {
    min-width: 0;
    display: grid;
    gap: .35rem;
}

.sort-empty-slot-label {
    color: rgba(236, 241, 238, .58);
    font-size: .76rem;
    font-weight: 700;
    line-height: 1;
}

.sort-empty-slot-form .ts-wrapper,
.sort-empty-slot-form .sort-empty-slot-select {
    width: 100%;
    min-width: 0;
}

.sort-empty-slot-form .ts-control {
    min-height: 2.45rem;
    padding: .55rem .75rem;
    border-radius: .8rem;
    background: rgba(34, 47, 42, .92);
}

.sort-empty-slot-form .ts-control,
.sort-empty-slot-form .ts-control input {
    color: rgba(236, 241, 238, .94);
}

.sort-empty-slot-btn {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: .8rem;
    padding: 0;
    display: inline-grid;
    place-items: center;
}

.sort-empty-slot-placeholder {
    border-style: dashed;
    color: rgba(236, 241, 238, .66);
}

.sort-empty-slot-form-goalkeeper {
    border-color: rgba(239, 180, 61, .28);
}

.sort-empty-slot-form-goalkeeper .sort-empty-slot-label {
    color: rgba(239, 180, 61, .88);
}

.sort-counter-warning {
    color: var(--yellow) !important;
}

.sort-players-grid .presence-pill,
.sort-player-item {
    max-width: 100%;
    width: 100%;
    margin-bottom: 0;
    min-height: 3.625rem;
}

.sort-player-item {
    justify-content: flex-start;
}

.sort-player-item .sort-player-nome {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.sort-player-badges {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-left: auto;
    flex-shrink: 0;
}

.report-list {
    display: grid;
    gap: .85rem;
}

.report-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-radius: 0.875rem;
    background: rgba(255,255,255,.02);
    border: 0.0625rem solid rgba(255,255,255,.04);
}

.report-list-label {
    color: var(--muted);
    font-size: .95rem;
}

.report-list-value {
    color: var(--text);
    font-weight: 600;
    text-align: right;
}

.report-expense-item {
    align-items: flex-start;
    gap: .85rem;
}

.report-expense-head {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    min-width: 0;
    flex: 1 1 auto;
}

.report-expense-head .expense-icon {
    margin-top: .05rem;
}

.report-expense-info {
    min-width: 0;
    display: grid;
    gap: .15rem;
}

.report-expense-label {
    color: rgba(236, 241, 238, 0.95);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.report-expense-meta {
    color: rgba(236, 241, 238, 0.72);
    font-size: .83rem;
    line-height: 1.35;
}

.report-expense-item .report-list-value {
    flex-shrink: 0;
    margin-left: .8rem;
}

.report-expense-day-head {
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .3rem .1rem .05rem;
    margin-top: .3rem;
}

.report-expense-day-date {
    color: rgba(236, 241, 238, 0.9);
    font-weight: 700;
    font-size: .82rem;
}

.report-expense-day-meta {
    color: rgba(236, 241, 238, 0.62);
    font-size: .74rem;
}

.report-delinquency-item {
    align-items: stretch;
    display: grid;
    gap: .55rem;
    padding: .7rem .85rem;
    width: 100%;
    background: rgba(255,255,255,.02);
    border: 0.0625rem solid rgba(255,255,255,.04);
    border-radius: 0.875rem;
    box-sizing: border-box;
}

.report-delinquency-main {
    align-items: center;
    column-gap: .85rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
}

.report-delinquency-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
}

.report-delinquency-head {
    min-width: 0;
}

.report-delinquency-name {
    color: rgba(236, 241, 238, 0.95);
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.25;
}

.report-delinquency-meta {
    color: rgba(236, 241, 238, 0.68);
    display: block;
    font-size: .86rem;
    margin-top: .15rem;
}

.report-delinquency-total {
    align-items: flex-end;
    display: inline-flex;
    flex-direction: column;
    white-space: nowrap;
}

.report-delinquency-side {
    align-items: flex-end;
    display: inline-grid;
    gap: .28rem;
    justify-items: end;
    white-space: nowrap;
    min-width: 11rem;
}

.report-delinquency-label {
    color: rgba(236, 241, 238, 0.62);
    font-size: .74rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.report-delinquency-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .4rem;
    width: 100%;
}

.report-delinquency-summary span {
    background: rgba(255,255,255,.015);
    border: 0.0625rem solid rgba(255,255,255,.06);
    border-radius: .65rem;
    color: rgba(236, 241, 238, 0.9);
    display: grid;
    font-size: .84rem;
    gap: .05rem;
    padding: .34rem .48rem;
    width: 100%;
}

.report-delinquency-summary small {
    color: rgba(236, 241, 238, 0.6);
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.report-delinquency-toggle {
    line-height: 1.1;
    padding: .34rem .56rem;
}

.report-delinquency-toggle:hover,
.report-delinquency-toggle:focus {
    color: var(--text);
}

.report-delinquency-detail-head,
.report-delinquency-detail-row {
    column-gap: .65rem;
    display: grid;
    grid-template-columns: minmax(7.5rem, 1.2fr) minmax(6rem, .95fr) repeat(5, minmax(5.8rem, .85fr));
    width: 100%;
}

.report-delinquency-detail-head {
    color: rgba(236, 241, 238, 0.58);
    font-size: .7rem;
    letter-spacing: .03em;
    margin-bottom: .2rem;
    padding: .2rem .45rem;
    text-transform: uppercase;
}

.report-delinquency-detail-row {
    align-items: center;
    border-top: 0.0625rem solid rgba(255,255,255,.06);
    color: rgba(236, 241, 238, 0.86);
    font-size: .82rem;
    line-height: 1.25;
    padding: .36rem .45rem;
}

.report-delinquency-detail-row span:first-child {
    color: rgba(236, 241, 238, 0.95);
    font-weight: 600;
}

.report-delinquency-item .collapse,
.report-delinquency-item .collapsing {
    border: 0.0625rem solid rgba(255,255,255,.06);
    border-radius: .62rem;
    padding: .26rem;
    background: rgba(255,255,255,.01);
    width: 100%;
    box-sizing: border-box;
}

.report-delinquency-collapse-body {
    width: 100%;
}

.report-delinquency-summary span.is-paid {
    color: #4ade80;
}

.report-delinquency-summary span.is-pending {
    color: #f87171;
}

.report-delinquency-summary span.is-paid small,
.report-delinquency-summary span.is-pending small {
    color: inherit;
    opacity: .9;
}

.report-delinquency-details-wrap {
    overflow-x: auto;
    width: 100%;
}

.report-delinquency-details-grid {
    min-width: 56rem;
    width: 100%;
}

.report-delinquency-item .collapsing {
    transition: height .25s ease;
}

.report-modal-ranking-wrap {
    border: 0.0625rem solid rgba(255,255,255,.06);
    border-radius: .75rem;
    background: rgba(255,255,255,.012);
    padding: .3rem;
}

.report-modal-ranking-scroll {
    width: 100%;
}

.report-modal-ranking-table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: rgba(255,255,255,.015);
    --bs-table-hover-bg: rgba(255,255,255,.02);
    --bs-table-color: rgba(236, 241, 238, 0.92);
    --bs-table-border-color: rgba(255,255,255,.07);
}

.report-modal-ranking-table thead th {
    color: rgba(236, 241, 238, 0.64);
    text-transform: uppercase;
    letter-spacing: .03em;
    font-size: .72rem;
    font-weight: 700;
    border-bottom-color: rgba(255,255,255,.10);
}

.report-modal-ranking-table tbody tr td {
    border-color: rgba(255,255,255,.07);
}

.report-modal-ranking-table tbody tr:first-child td {
    border-top-color: rgba(255,255,255,.10);
}

.report-modal-ranking-table tbody tr:last-child td {
    border-bottom-color: transparent;
}

.rank-position-badge {
    border-radius: .6rem;
    border: 0.0625rem solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1;
    min-width: 2.7rem;
    padding: .35rem .55rem;
}

.rank-position-badge.rank-gold {
    background: rgba(245, 177, 38, 0.16);
    border-color: rgba(245, 177, 38, 0.34);
    color: #f5b126;
}

.rank-position-badge.rank-silver {
    background: rgba(148, 163, 184, 0.16);
    border-color: rgba(148, 163, 184, 0.32);
    color: #d5deea;
}

.rank-position-badge.rank-bronze {
    background: rgba(205, 127, 50, 0.16);
    border-color: rgba(205, 127, 50, 0.34);
    color: #d89d64;
}

.rank-position-badge.rank-default {
    background: rgba(34, 197, 94, 0.14);
    border-color: rgba(34, 197, 94, 0.30);
    color: #86efac;
}

.report-expense-day-total {
    margin-left: auto;
    color: #f5b126;
    font-size: .78rem;
    font-weight: 700;
}

.report-expense-category-item .report-expense-label {
    color: rgba(236, 241, 238, 0.92);
}

.report-expense-category-item {
    align-items: center;
}

.report-category-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    width: 100%;
}

.report-category-main {
    display: flex;
    align-items: center;
    gap: .6rem;
    min-width: 0;
}

.report-category-name {
    color: rgba(236, 241, 238, 0.94);
    font-size: 1.02rem;
}

.report-category-meta {
    font-size: .84rem;
    color: rgba(236, 241, 238, 0.72);
}

.report-category-separator {
    color: rgba(236, 241, 238, 0.52);
}

.report-category-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 1.35rem;
    padding: 0 .45rem;
    border-radius: 999px;
    background: rgba(41, 209, 135, 0.12);
    border: 0.0625rem solid rgba(41, 209, 135, 0.22);
    color: rgba(166, 250, 211, 0.92);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.report-category-value {
    text-align: right;
    margin-left: .8rem;
    font-size: 1.28rem;
    line-height: 1;
}

.report-birthday-section {
    min-width: 0;
}

.report-birthday-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .8rem;
    min-width: 0;
    min-height: 0;
    padding: .9rem;
    border-radius: .9rem;
    border: 0.0625rem solid rgba(255,255,255,.075);
    background: linear-gradient(180deg, rgba(26, 35, 31, .88), rgba(17, 24, 21, .86));
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.025), 0 .75rem 1.45rem rgba(0,0,0,.16);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.report-birthday-card:hover {
    border-color: rgba(31, 208, 107, 0.26);
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.025), 0 .9rem 1.65rem rgba(0,0,0,.20);
}

.report-birthday-photo {
    display: grid;
    justify-items: center;
    align-content: start;
    gap: .45rem;
}

.avatar.user.report-birthday-avatar {
    width: 4.55rem;
    height: 4.55rem;
    font-size: 1.32rem;
    border: 0.125rem solid rgba(31, 208, 107, 0.30);
}

.report-birthday-day,
.report-birthday-countdown,
.report-birthday-tags span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .32rem;
    border-radius: 999px;
    border: 0.0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
}

.report-birthday-day {
    min-width: 4.2rem;
    padding: .24rem .58rem;
    color: #7ef0ac;
    font-size: .8rem;
    font-weight: 800;
}

.report-birthday-content {
    display: grid;
    gap: .42rem;
    min-width: 0;
}

.report-birthday-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
    min-width: 0;
}

.report-birthday-date {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: rgba(236, 241, 238, 0.68);
    font-size: .78rem;
    font-weight: 600;
    min-width: 0;
}

.report-birthday-countdown {
    flex-shrink: 0;
    padding: .22rem .5rem;
    color: #f5b126;
    font-size: .72rem;
    font-weight: 700;
}

.report-birthday-name-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    min-width: 0;
}

.report-birthday-name {
    color: rgba(248, 251, 249, 0.96);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.report-birthday-age {
    color: rgba(236, 241, 238, 0.78);
    font-size: .84rem;
    line-height: 1.35;
}

.report-birthday-age strong {
    color: rgba(248, 251, 249, 0.96);
}

.report-birthday-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .32rem;
    padding-top: .05rem;
}

.report-birthday-tags span {
    min-height: 1.45rem;
    max-width: 100%;
    padding: .22rem .48rem;
    color: rgba(236, 241, 238, 0.72);
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.15;
}

.money-note {
    color: rgba(187, 196, 191, .68);
    display: flex;
    align-items: center;
    gap: .5rem;
}

.delete-link {
    color: #ff3f3f;
    text-decoration: none;
    font-size: 1.1rem;
}

.login-layout {
    min-height: calc(100vh - 6rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.login-wrap {
    width: 100%;
    max-width: 70rem;
    position: relative;
}

.admin-login-wrap {
    max-width: 34rem;
}

.convite-login-wrap {
    max-width: 42rem;
}

.login-panel {
    position: relative;
    overflow: hidden;
    animation: fadeUp .6s ease;
}

.login-side,
.login-form-col {
    padding: 2.5rem;
    min-height: 38.75rem;
}

.login-side {
    position: relative;
    background:
        radial-gradient(circle at top left, rgba(31, 208, 107, 0.16), transparent 32%),
        linear-gradient(180deg, rgba(15, 24, 21, 0.96), rgba(11, 17, 15, 0.98));
    border-right: 0.0625rem solid rgba(255,255,255,.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: start;
}

.login-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border: 0.0625rem solid rgba(31, 208, 107, 0.18);
    color: var(--green);
    background: rgba(31, 208, 107, 0.08);
    border-radius: 62.5rem;
    padding: .5rem .85rem;
    font-size: .92rem;
    font-weight: 600;
}

.side-title,
.login-title {
    text-transform: uppercase;
}

.side-title {
    font-size: 3rem;
    line-height: .95;
    margin: 1.25rem 0 .9rem;
}

.side-text {
    max-width: 27.5rem;
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 1.75rem;
}

.feature-list {
    display: grid;
    gap: .9rem;
}

.feature-item {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    padding: 1rem 1.05rem;
    border-radius: 1rem;
}

.feature-icon {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    background: rgba(31, 208, 107, 0.12);
    color: var(--green);
    flex-shrink: 0;
}

.feature-title {
    margin: 0 0 .2rem;
    font-weight: 600;
    color: var(--text);
}

.feature-text {
    margin: 0;
    font-size: .95rem;
    line-height: 1.5;
}

.login-form-col {
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-form-wrap {
    width: 100%;
    max-width: 26.875rem;
    position: relative;
    isolation: isolate;
}

.login-overline {
    color: var(--green);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .82rem;
    font-weight: 700;
    margin-bottom: .8rem;
}

.login-title {
    font-size: 3.2rem;
    line-height: .95;
    margin-bottom: .75rem;
}

.login-subtitle {
    margin-bottom: 1.75rem;
    line-height: 1.7;
}

.convite-resumo {
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
    padding: .9rem 1rem;
}

.convite-resumo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.convite-resumo-item {
    display: grid;
    gap: .2rem;
}

.convite-resumo-item-full {
    grid-column: 1 / -1;
}

.convite-resumo-label {
    color: rgba(236, 241, 238, 0.62);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-weight: 600;
}

.convite-resumo-valor {
    color: #eaf4ef;
    font-size: 1rem;
    font-weight: 600;
}

@media (max-width: 62rem) {
    .convite-resumo-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.input-group-text {
    border-radius: 0.875rem;
    border: 0.0625rem solid transparent;
    color: rgba(236, 241, 238, 0.7);
    background: rgba(54, 67, 62, 0.55);
    min-width: 3.375rem;
    justify-content: center;
}

.input-group .form-control:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-group .input-group-text:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
}

.btn-login {
    min-height: 3.5rem;
    font-weight: 700;
    width: 100%;
    box-shadow: 0 0.75rem 1.875rem rgba(31, 208, 107, 0.18);
}

.small-note a {
    color: var(--green);
}

.small-note {
    text-align: left;
    margin-top: 1.2rem;
    font-size: .94rem;
    line-height: 1.6;
}

.small-note a {
    text-decoration: none;
    font-weight: 600;
}

.login-watermark {
    position: absolute;
    right: -1.125rem;
    bottom: -1.625rem;
    font-family: 'Oswald', sans-serif;
    font-size: 8rem;
    line-height: .85;
    text-align: right;
    text-transform: uppercase;
    color: rgba(255,255,255,.03);
    pointer-events: none;
    user-select: none;
}

.login-card-outline {
    position: absolute;
    inset: 1.125rem;
    border: 0.0625rem solid rgba(255,255,255,.025);
    border-radius: 1.5rem;
    pointer-events: none;
}

.login-highlight {
    width: 5.5rem;
    height: 0.3125rem;
    border-radius: 62.5rem;
    background: linear-gradient(90deg, var(--green), rgba(31, 208, 107, 0.1));
    margin-bottom: 1.2rem;
}

.footer-note {
    position: fixed;
    right: 1rem;
    bottom: 0.875rem;
    border-radius: 0.625rem;
    border: 0.0625rem solid rgba(255,255,255,.08);
    padding: .4rem .6rem;
    color: rgba(255,255,255,.82);
    font-size: .82rem;
    background: rgba(8, 10, 9, .82);
}

.footer-note a {
    color: var(--green);
    text-decoration: none;
    font-weight: 600;
}

.footer-note a:hover {
    text-decoration: underline;
}

.app-install {
    position: fixed;
    left: 1rem;
    bottom: 0.875rem;
    width: min(21.5rem, calc(100vw - 2rem));
    border-radius: 1rem;
    border: 0.0625rem solid rgba(31, 208, 107, 0.26);
    background: linear-gradient(180deg, rgba(20, 27, 25, .96), rgba(14, 20, 18, .96));
    box-shadow: 0 1rem 2.2rem rgba(0,0,0,.34);
    padding: .85rem .9rem .9rem;
    z-index: 1200;
}

.app-install[hidden] {
    display: none !important;
}

.app-install-head {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .5rem;
}

.app-install-icon {
    color: var(--green);
    font-size: 1rem;
}

.app-install-title {
    color: var(--text);
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 1rem;
    line-height: 1;
}

.app-install-text {
    margin: 0 0 .7rem;
    color: rgba(236, 241, 238, 0.76);
    font-size: .86rem;
    line-height: 1.4;
}

.app-install-action {
    width: 100%;
    min-height: 2.2rem;
}

.app-install-close {
    position: absolute;
    top: .42rem;
    right: .45rem;
    width: 1.8rem;
    height: 1.8rem;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: .55rem;
    color: rgba(236, 241, 238, 0.78);
    background: rgba(255,255,255,.05);
}

.app-install-close:hover,
.app-install-close:focus {
    color: #fff;
    background: rgba(255,255,255,.11);
}

.app-install-steps {
    display: grid;
    gap: .25rem;
    margin-bottom: .7rem;
    color: rgba(236, 241, 238, 0.85);
    font-size: .82rem;
}

.app-install-steps strong {
    color: var(--green);
}

.config-switch-list {
    display: grid;
    gap: 1rem;
}

.config-switch-grid {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}

.config-switch-grid .config-switch-item {
    height: 100%;
}

.config-switch-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.02);
    border: 0.0625rem solid rgba(255,255,255,.04);
}

.config-switch-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: .2rem;
}

.config-switch-text {
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.5;
    max-width: 20rem;
}

.form-helper-text {
    color: rgba(236, 241, 238, 0.68);
    font-size: .88rem;
    line-height: 1.45;
}

.form-helper-text.is-loading {
    color: rgba(236, 241, 238, 0.82);
}

.form-helper-text.is-success {
    color: rgba(91, 232, 150, 0.92);
}

.form-helper-text.is-error {
    color: rgba(255, 146, 146, 0.92);
}

.configuracoes-tab-content {
    min-width: 0;
}

.config-pane-section {
    min-width: 0;
}

.config-multas-table-wrap {
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.05);
    overflow: hidden;
}

.config-multas-table {
    margin-bottom: 0;
}

.config-multas-table th,
.config-multas-table td {
    color: var(--text);
    border-color: rgba(255,255,255,.06);
    background: rgba(255,255,255,.02);
}

.config-multas-table th {
    color: rgba(236, 241, 238, 0.78);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.jogador-profile-table-wrap {
    overflow-x: auto;
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
}

.jogador-profile-table {
    min-width: 50rem;
    table-layout: fixed;
    margin-bottom: 0;
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: transparent;
}

.jogador-profile-table th,
.jogador-profile-table td {
    color: var(--text);
    border-color: rgba(255,255,255,.055);
    background: transparent;
    padding: .85rem 1rem;
    line-height: 1.25;
    vertical-align: middle;
}

.jogador-profile-table th {
    color: rgba(236, 241, 238, 0.7);
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0;
    background: rgba(255,255,255,.025);
}

.jogador-profile-table tbody tr {
    transition: background-color .18s ease, box-shadow .18s ease;
}

.jogador-profile-table tbody tr:hover {
    background: rgba(31, 208, 107, .035);
}

.jogador-profile-table tbody tr.is-pendente {
    box-shadow: inset .18rem 0 0 rgba(255, 146, 146, .72);
}

.jogador-profile-table-financeiro th:nth-child(1) {
    width: 8.25rem;
}

.jogador-profile-table-financeiro th:nth-child(2) {
    width: 10rem;
}

.jogador-profile-table-financeiro th:nth-child(3),
.jogador-profile-table-financeiro th:nth-child(4),
.jogador-profile-table-financeiro th:nth-child(5),
.jogador-profile-table-financeiro th:nth-child(6),
.jogador-profile-table-financeiro th:nth-child(7),
.jogador-profile-table-financeiro td:nth-child(3),
.jogador-profile-table-financeiro td:nth-child(4),
.jogador-profile-table-financeiro td:nth-child(5),
.jogador-profile-table-financeiro td:nth-child(6),
.jogador-profile-table-financeiro td:nth-child(7) {
    text-align: right;
}

.jogador-profile-table-financeiro th:nth-child(8) {
    width: 10.5rem;
}

.jogador-profile-table-financeiro th:nth-child(9) {
    width: 8.75rem;
}

.jogador-profile-table-relatorio {
    min-width: 34rem;
}

.jogador-profile-table-relatorio th:not(:first-child),
.jogador-profile-table-relatorio td:not(:first-child) {
    text-align: center;
}

.jogador-profile-reference {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    font-weight: 800;
    color: rgba(248, 250, 252, .95);
    white-space: nowrap;
}

.jogador-profile-chip,
.jogador-profile-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    border-radius: 999rem;
    padding: .22rem .62rem;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.jogador-profile-chip {
    color: rgba(236, 241, 238, .86);
    background: rgba(255,255,255,.055);
    border: 0.0625rem solid rgba(255,255,255,.06);
}

.jogador-profile-status.status-pago {
    color: #5be896;
    background: rgba(31, 208, 107, .12);
    border: 0.0625rem solid rgba(31, 208, 107, .18);
}

.jogador-profile-status.status-pendente {
    color: #ff9292;
    background: rgba(255, 146, 146, .11);
    border: 0.0625rem solid rgba(255, 146, 146, .2);
}

.jogador-profile-status.status-isento {
    color: rgba(236, 241, 238, .78);
    background: rgba(255,255,255,.055);
    border: 0.0625rem solid rgba(255,255,255,.075);
}

.jogador-profile-money,
.jogador-profile-number,
.jogador-profile-date {
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    white-space: nowrap;
}

.jogador-profile-date {
    color: rgba(236, 241, 238, .68);
    font-size: .88rem;
    font-weight: 700;
}

.jogador-profile-number {
    font-size: 1rem;
}

.jogador-profile-money.is-success,
.jogador-profile-number.is-success {
    color: #5be896;
}

.jogador-profile-money.is-danger,
.jogador-profile-number.is-danger {
    color: #ff9292;
}

.jogador-profile-money.is-warning,
.jogador-profile-number.is-warning {
    color: #f6d365;
}

.jogador-profile-number.is-info {
    color: #73a7ff;
}

.jogador-profile-money.is-muted,
.jogador-profile-number.is-muted {
    color: rgba(236, 241, 238, .55);
    font-weight: 700;
}

.jogador-profile-empty {
    color: rgba(236, 241, 238, .68) !important;
    font-weight: 600;
    text-align: center;
    padding: 1.2rem 1rem !important;
}

.jogador-profile-financeiro-list {
    display: grid;
    gap: .75rem;
}

.jogador-profile-financeiro-item {
    display: grid;
    grid-template-columns: minmax(10rem, .8fr) minmax(17rem, 1.1fr) minmax(16rem, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018));
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.jogador-profile-financeiro-item:hover {
    border-color: rgba(31, 208, 107, .18);
    background: rgba(31, 208, 107, .035);
}

.jogador-profile-financeiro-item.is-pendente {
    box-shadow: inset .18rem 0 0 rgba(255, 146, 146, .72);
}

.jogador-profile-financeiro-main {
    display: grid;
    gap: .55rem;
    min-width: 0;
}

.jogador-profile-financeiro-main > div {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.jogador-profile-financeiro-main .jogador-profile-status {
    justify-self: flex-start;
}

.jogador-profile-financeiro-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
}

.jogador-profile-financeiro-value {
    min-width: 0;
    padding: .62rem .7rem;
    border-radius: .65rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(0,0,0,.12);
}

.jogador-profile-financeiro-value span {
    display: block;
    margin-bottom: .18rem;
    color: rgba(236, 241, 238, .62);
    font-size: .78rem;
    font-weight: 700;
}

.jogador-profile-financeiro-value strong {
    display: block;
    color: rgba(248, 250, 252, .95);
    font-size: .98rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.jogador-profile-financeiro-value.is-success strong {
    color: #5be896;
}

.jogador-profile-financeiro-value.is-danger strong {
    color: #ff9292;
}

.jogador-profile-financeiro-value.is-muted strong {
    color: rgba(236, 241, 238, .55);
}

.jogador-profile-financeiro-details {
    display: grid;
    gap: .35rem;
    min-width: 0;
    padding: .6rem .7rem;
    border-radius: .72rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(0,0,0,.1);
}

.jogador-profile-financeiro-details-title {
    color: rgba(236, 241, 238, .5);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.jogador-profile-financeiro-details-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    padding-top: .12rem;
}

.jogador-profile-financeiro-details-row span {
    color: rgba(236, 241, 238, .66);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.jogador-profile-financeiro-details-row strong {
    color: rgba(248, 250, 252, .88);
    font-size: .78rem;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.jogador-profile-financeiro-details-row.is-warning strong {
    color: #f6d365;
}

.jogador-profile-financeiro-details-row strong.is-muted,
.jogador-profile-financeiro-details-row.is-muted strong {
    color: rgba(236, 241, 238, .55);
}

.jogador-profile-financeiro-action {
    display: flex;
    justify-content: flex-end;
}

.jogador-profile-financeiro-action .btn {
    min-height: 2.5rem;
    white-space: nowrap;
}

.config-multas-ativo {
    width: 4.5rem;
}

.config-multas-acoes {
    width: 5rem;
    text-align: right;
}

.config-multa-row-removida {
    display: none;
}

.financeiro-multas-list,
.financeiro-pagamentos-list {
    display: grid;
    gap: .4rem;
    margin-top: .5rem;
}

.financeiro-multa-item,
.financeiro-pagamento-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .5rem;
    min-height: 2.7rem;
    padding: .4rem .5rem;
    border-radius: .65rem;
}

.financeiro-multa-item {
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.025);
}

.financeiro-pagamento-item {
    border: 0.0625rem solid rgba(31, 208, 107, .12);
    background: rgba(31, 208, 107, .045);
}

.financeiro-multa-item span,
.financeiro-pagamento-item span {
    min-width: 0;
}

.financeiro-multa-item > strong,
.financeiro-pagamento-item > strong {
    font-size: .86rem;
    white-space: nowrap;
}

.financeiro-multa-item > strong {
    color: rgba(236, 241, 238, 0.86);
}

.financeiro-pagamento-item > strong {
    color: #86efac;
}

.financeiro-detalhes-modal {
    display: grid;
    gap: .7rem;
}

.financeiro-detalhes-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .65rem;
    border-bottom: 0.0625rem solid rgba(255,255,255,.07);
}

.financeiro-detalhes-player {
    color: rgba(248, 250, 252, .95);
    font-size: 1.12rem;
    line-height: 1.2;
    font-weight: 800;
}

.financeiro-detalhes-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: .7rem;
}

.financeiro-detalhes-section {
    border-radius: .85rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.025);
    padding: .7rem;
}

.financeiro-detalhes-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .55rem;
}

.financeiro-detalhes-section-head > span {
    color: rgba(236, 241, 238, .56);
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
}

.financeiro-detalhes-section-title {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: rgba(236, 241, 238, .92);
    font-size: .88rem;
    font-weight: 800;
    margin: 0 0 .55rem;
}

.financeiro-detalhes-section-head .financeiro-detalhes-section-title {
    margin-bottom: 0;
}

.financeiro-detalhes-resumo {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
}

.financeiro-detalhes-resumo-item {
    min-width: 0;
    border-radius: .7rem;
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(8, 12, 11, .24);
    padding: .55rem .6rem;
}

.financeiro-detalhes-resumo-item span,
.financeiro-detalhes-list-item span {
    display: block;
    color: rgba(236, 241, 238, .62);
    font-size: .78rem;
    line-height: 1.2;
}

.financeiro-detalhes-resumo-item strong,
.financeiro-detalhes-list-item strong {
    display: block;
    color: rgba(248, 250, 252, .96);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.financeiro-detalhes-resumo-item strong {
    margin-top: .18rem;
    font-size: 1rem;
}

.financeiro-detalhes-resumo-item.received strong {
    color: #86efac;
}

.financeiro-detalhes-resumo-item.pending strong {
    color: #fca5a5;
}

.financeiro-detalhes-resumo-item.muted strong {
    color: rgba(236, 241, 238, .58);
}

.financeiro-detalhes-meta-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    margin-top: .55rem;
    padding-top: .5rem;
    border-top: 0.0625rem solid rgba(255,255,255,.055);
    color: rgba(236, 241, 238, .58);
    font-size: .78rem;
}

.financeiro-detalhes-meta-line strong {
    color: rgba(236, 241, 238, .82);
    font-weight: 800;
    text-align: right;
}

.financeiro-detalhes-list {
    display: grid;
    gap: .35rem;
}

.financeiro-detalhes-list-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .42rem .55rem;
    border-radius: .65rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(8, 12, 11, .18);
}

.financeiro-detalhes-list-item small {
    display: block;
    color: rgba(236, 241, 238, .48);
    font-size: .72rem;
    margin-top: .08rem;
}

.financeiro-detalhes-list-item.warning strong {
    color: #f6d365;
}

.financeiro-detalhes-list-item.muted strong {
    color: rgba(236, 241, 238, .55);
}

.financeiro-detalhes-list-item.total {
    border-color: rgba(31, 208, 107, .16);
    background: rgba(31, 208, 107, .055);
}

.financeiro-detalhes-card-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .45rem;
    margin-bottom: .5rem;
}

.financeiro-detalhes-card-chip {
    min-width: 0;
    padding: .48rem .6rem;
    border-radius: .68rem;
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(8, 12, 11, .22);
}

.financeiro-detalhes-card-chip span,
.financeiro-detalhes-card-chip strong,
.financeiro-detalhes-card-chip small {
    display: block;
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-detalhes-card-chip span {
    color: rgba(248, 250, 252, .95);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
}

.financeiro-detalhes-card-chip strong {
    margin-top: .18rem;
    color: rgba(236, 241, 238, .78);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.15;
}

.financeiro-detalhes-card-chip small {
    margin-top: .1rem;
    color: rgba(236, 241, 238, .46);
    font-size: .7rem;
    font-weight: 650;
}

.financeiro-detalhes-card-chip.amarelo {
    border-color: rgba(246, 211, 101, .18);
    background: rgba(246, 211, 101, .045);
}

.financeiro-detalhes-card-chip.azul {
    border-color: rgba(96, 165, 250, .2);
    background: rgba(96, 165, 250, .045);
}

.financeiro-detalhes-card-chip.vermelho {
    border-color: rgba(248, 113, 113, .2);
    background: rgba(248, 113, 113, .045);
}

.financeiro-detalhes-card-chip.amarelo span {
    color: #f6d365;
}

.financeiro-detalhes-card-chip.azul span {
    color: #93c5fd;
}

.financeiro-detalhes-card-chip.vermelho span {
    color: #fca5a5;
}

.financeiro-detalhes-card-list {
    display: grid;
    gap: .35rem;
}

.financeiro-detalhes-card-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
    padding: .42rem .6rem;
    border-radius: .62rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(8, 12, 11, .18);
}

.financeiro-detalhes-card-item span,
.financeiro-detalhes-card-item small,
.financeiro-detalhes-card-item strong {
    min-width: 0;
}

.financeiro-detalhes-card-item span > strong {
    display: block;
    overflow: hidden;
    color: rgba(248, 250, 252, .88);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-detalhes-card-item small {
    display: block;
    overflow: hidden;
    color: rgba(236, 241, 238, .5);
    font-size: .72rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-detalhes-card-item > strong {
    color: #f6d365;
    font-size: .84rem;
    font-weight: 800;
    white-space: nowrap;
}

.financeiro-detalhes-form {
    margin: 0;
    padding: .5rem .6rem;
    border-radius: .7rem;
    border: .0625rem solid rgba(255,255,255,.075);
    background: rgba(8, 12, 11, .18);
}

.financeiro-detalhes-form-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .35rem;
}

.financeiro-detalhes-form-head label {
    color: rgba(248, 250, 252, .92);
    font-size: .82rem;
    font-weight: 800;
}

.financeiro-detalhes-form-head span {
    color: rgba(236, 241, 238, .48);
    font-size: .74rem;
    font-weight: 700;
    text-align: right;
}

.financeiro-detalhes-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .45rem;
}

.financeiro-detalhes-form-row-multa {
    grid-template-columns: 12.25rem minmax(0, 1fr) 7.35rem;
}

.financeiro-detalhes-form-row-pagamento {
    grid-template-columns: 12.25rem minmax(0, 1fr) 7.35rem;
}

.financeiro-detalhes-form-row .date-flatpickr-wrap {
    min-width: 0;
    width: 100%;
}

.financeiro-detalhes-form-row .form-control {
    min-width: 0;
    width: 100%;
    min-height: 2.35rem;
    border-radius: .75rem;
}

.financeiro-detalhes-form-row .js-mask-valor {
    text-align: right;
}

.financeiro-detalhes-form-row .form-select,
.financeiro-detalhes-form-row .ts-wrapper {
    min-width: 0;
    width: 100%;
}

.financeiro-detalhes-form-row .form-select {
    width: 100%;
    min-height: 2.35rem;
    border-radius: .75rem;
}

.financeiro-detalhes-form-row .ts-wrapper.single .ts-control {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    height: 2.35rem;
    min-height: 2.35rem;
    border-radius: .75rem;
    padding: 0 .75rem;
}

.financeiro-detalhes-form-row .ts-wrapper.single .ts-control .item,
.financeiro-detalhes-form-row .ts-wrapper.single .ts-control > input {
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2;
}

.financeiro-detalhes-form-row .ts-wrapper.single .ts-control .item {
    display: inline-flex;
    align-items: center;
    min-height: 1.2rem;
}

.financeiro-detalhes-form-row .btn {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    justify-content: center;
    width: 100%;
    min-height: 2.35rem;
    white-space: nowrap;
}

.financeiro-detalhes-history-title {
    display: block;
    overflow: hidden;
    color: rgba(248, 250, 252, .9);
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-detalhes-history-meta {
    display: block;
    overflow: hidden;
    color: rgba(236, 241, 238, .5);
    font-size: .73rem;
    font-weight: 600;
    line-height: 1.2;
    margin-top: .08rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-detalhes-empty {
    border-radius: .65rem;
    border: 0.0625rem solid rgba(255,255,255,.055);
    background: rgba(255,255,255,.02);
    color: rgba(236, 241, 238, .58);
    font-size: .82rem;
    font-weight: 600;
    padding: .55rem .65rem;
}

.qr-color-picker {
    height: 100%;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.02);
    border: 0.0625rem solid rgba(255,255,255,.04);
}

.qr-color-picker-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .8rem;
}

.qr-color-picker-value {
    font-family: "Cascadia Mono", "Consolas", "Courier New", monospace;
    font-size: .84rem;
    color: rgba(236, 241, 238, 0.78);
    letter-spacing: .04em;
}

.qr-color-picker-controls {
    display: grid;
    grid-template-columns: 4.75rem minmax(0, 1fr);
    gap: .75rem;
    align-items: center;
}

.qr-color-picker-native {
    width: 100%;
    height: 3rem;
    padding: .28rem;
    border-radius: .9rem;
    border: 0.0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
    cursor: pointer;
}

.qr-color-picker-native::-webkit-color-swatch-wrapper {
    padding: 0;
}

.qr-color-picker-native::-webkit-color-swatch {
    border: 0;
    border-radius: .62rem;
}

.qr-color-picker-native::-moz-color-swatch {
    border: 0;
    border-radius: .62rem;
}

.qr-color-picker-hex {
    font-family: "Cascadia Mono", "Consolas", "Courier New", monospace;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.qr-color-picker-palette {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .9rem;
}

.qr-color-swatch {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    border: 0.125rem solid rgba(255,255,255,.12);
    box-shadow: inset 0 0 0 0.0625rem rgba(255,255,255,.1);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.qr-color-swatch:hover {
    transform: translateY(-0.0625rem);
}

.qr-color-swatch.active {
    border-color: var(--green);
    box-shadow: 0 0 0 0.1875rem rgba(31, 208, 107, 0.18);
}

.qr-color-swatch.is-black { background: #000000; }
.qr-color-swatch.is-slate { background: #0F172A; }
.qr-color-swatch.is-forest { background: #14532D; }
.qr-color-swatch.is-green { background: #166534; }
.qr-color-swatch.is-teal { background: #0F766E; }
.qr-color-swatch.is-blue { background: #1D4ED8; }
.qr-color-swatch.is-brown { background: #7C2D12; }
.qr-color-swatch.is-red { background: #7F1D1D; }
.qr-color-swatch.is-white { background: #FFFFFF; }
.qr-color-swatch.is-ice { background: #F8FAFC; }
.qr-color-swatch.is-mint { background: #ECFDF5; }
.qr-color-swatch.is-cyan { background: #ECFEFF; }
.qr-color-swatch.is-cream { background: #FEFCE8; }
.qr-color-swatch.is-peach { background: #FFF7ED; }
.qr-color-swatch.is-cloud { background: #F1F5F9; }
.qr-color-swatch.is-silver { background: #E5E7EB; }

.payment-row {
    align-items: center;
}

.payment-inline-group {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.payment-info {
    min-width: 8.125rem;
    text-align: right;
}

.payment-main-info {
    min-width: 15.5rem;
}

.payment-side {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .6rem;
    flex-wrap: wrap;
}

.payment-status {
    min-width: 0;
}

.payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .4rem;
}

.payment-actions .btn {
    min-width: 2.2rem;
}

.payment-actions-dropdown .dropdown-toggle::after {
    display: none;
}

.payment-actions-dropdown .dropdown-menu {
    margin-top: .35rem;
    border: 0.0625rem solid var(--border);
    border-radius: .85rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    box-shadow: 0 0.875rem 2.125rem rgba(0,0,0,.38);
    min-width: 12.5rem;
    padding: .35rem;
}

.payment-actions-dropdown .dropdown-item {
    color: rgba(236, 241, 238, 0.88);
    display: flex;
    align-items: center;
    gap: .45rem;
    border-radius: .6rem;
    width: 100%;
    margin: 0;
    padding: .45rem .65rem;
}

.payment-actions-dropdown .dropdown-item:hover,
.payment-actions-dropdown .dropdown-item:focus {
    background: rgba(31, 208, 107, .16);
    color: #d7fbe7;
}

.payment-actions-dropdown .dropdown-item.text-danger {
    color: #fca5a5 !important;
}

.payment-actions-dropdown .dropdown-item.text-danger:hover,
.payment-actions-dropdown .dropdown-item.text-danger:focus {
    background: rgba(239, 68, 68, .16);
    color: #fecaca !important;
}

.payment-meta {
    font-size: .85rem;
    color: rgba(236, 241, 238, 0.58);
    line-height: 1.2;
    margin-bottom: .2rem;
    font-weight: 500;
}

.payment-summary {
    display: grid;
    gap: .22rem;
    min-width: 13.75rem;
    padding: .55rem .65rem;
    border-radius: .75rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.025);
}

.payment-summary-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .85rem;
    color: rgba(236, 241, 238, .62);
    font-size: .82rem;
    line-height: 1.25;
}

.payment-summary-row strong {
    color: rgba(236, 241, 238, .94);
    font-size: .9rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.payment-summary-row.received strong {
    color: #86efac;
}

.payment-summary-row.pending strong {
    color: #fca5a5;
}

.payment-summary-row.warning strong {
    color: #f6d365;
}

.payment-summary-row.muted strong {
    color: rgba(236, 241, 238, .58);
}

.payment-last-date {
    margin-top: .4rem;
    margin-bottom: 0;
    color: rgba(236, 241, 238, .66);
}

.payment-manual-collapse {
    margin-top: .5rem;
}

.payment-manual-form {
    margin: 0;
    padding: .5rem;
    border-radius: .65rem;
    border: .0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
}

.payment-manual-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
}

.payment-manual-controls .form-control {
    min-width: 6.8rem;
    max-width: 6.8rem;
    text-align: right;
}

.payment-manual-controls .btn {
    min-width: 2.2rem;
}

.pix-copia-collapse-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
}

.pix-copia-chevron {
    font-size: 1rem;
    transition: transform .2s ease;
}

.pix-copia-collapse-toggle[aria-expanded="true"] .pix-copia-chevron {
    transform: rotate(180deg);
}

.payment-value {
    font-size: 1.05rem;
    line-height: 1;
    font-weight: 700;
    color: var(--text);
}

.payment-value.isento {
    color: #f1f5f9;
}

.payment-value.recebido {
    color: #86efac;
}

.payment-value.pendente {
    color: #fca5a5;
}

.payment-qty-box {
    min-width: 11.5rem;
    max-width: 11.5rem;
    flex: 0 0 11.5rem;
}

.payment-qty-controls {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: nowrap;
}

.payment-qty-controls .btn {
    flex: 0 0 auto;
    min-width: 2.125rem;
    justify-content: center;
    opacity: .25;
    transition: opacity .2s ease;
    color: rgba(236, 241, 238, 0.9);
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.03);
}

.payment-qty-box:hover .payment-qty-controls .btn,
.payment-qty-box:focus-within .payment-qty-controls .btn,
.payment-qty-controls .btn:hover,
.payment-qty-controls .btn:focus {
    opacity: 1;
}

.payment-qty-controls .btn:disabled,
.payment-qty-controls .btn[disabled],
.payment-qty-box:hover .payment-qty-controls .btn:disabled,
.payment-qty-box:hover .payment-qty-controls .btn[disabled],
.payment-qty-box:focus-within .payment-qty-controls .btn:disabled,
.payment-qty-box:focus-within .payment-qty-controls .btn[disabled] {
    opacity: .25;
}

.payment-inline-label {
    display: block;
    font-size: .78rem;
    color: rgba(236, 241, 238, 0.95);
    margin-bottom: .35rem;
    font-weight: 600;
}

.payment-qty-text {
    min-height: 2.375rem;
    padding: .35rem .6rem;
    border-radius: 0.625rem;
    min-width: 3.5rem;
    max-width: 3.5rem;
    flex: 0 0 3.5rem;
    display: grid;
    place-items: center;
    font-weight: 600;
    color: rgba(236, 241, 238, 0.9);
    background: rgba(54, 67, 62, 0.45);
    border: 0.0625rem solid rgba(255,255,255,.05);
}

@media (max-width: 62rem) {
    .payment-inline-group {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
        gap: .65rem .6rem;
    }

    .payment-qty-box {
        grid-column: 1 / -1;
        min-width: 100%;
        max-width: 100%;
        flex: 1 1 100%;
    }

    .payment-qty-controls {
        justify-content: flex-start;
    }

    .payment-main-info {
        min-width: 0;
        text-align: left;
    }

    .payment-summary {
        min-width: 0;
    }

    .financeiro-detalhes-grid {
        grid-template-columns: 1fr;
    }

    .financeiro-detalhes-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }

    .financeiro-detalhes-resumo {
        grid-template-columns: 1fr;
    }

    .financeiro-detalhes-card-summary {
        grid-template-columns: 1fr;
    }

    .financeiro-detalhes-form-row {
        grid-template-columns: 1fr;
    }

    .financeiro-detalhes-form-row .btn {
        justify-content: center;
    }

    .jogador-profile-financeiro-item {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .jogador-profile-financeiro-action {
        justify-content: flex-start;
    }

    .jogador-profile-financeiro-action .btn {
        width: 100%;
        justify-content: center;
    }

    .payment-main-info > .d-flex {
        justify-content: flex-start !important;
    }

    .payment-manual-controls {
        justify-content: flex-start;
    }

    .payment-side {
        margin-left: 0;
        display: grid;
        gap: .45rem;
        justify-items: end;
    }

    .payment-status {
        display: flex;
        justify-content: flex-end;
    }

    .payment-actions {
        justify-content: flex-end;
        max-width: none;
    }

    .payment-actions .btn {
        padding-left: .55rem;
        padding-right: .55rem;
    }

    .expense-actions-group {
        grid-template-columns: 1fr;
    }

    .expense-actions-group .payment-main-info {
        text-align: left;
    }

    .expense-actions-group .payment-main-info > .d-flex {
        justify-content: flex-start !important;
    }

    .expense-actions {
        width: 100%;
        max-width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 48rem) {
    .jogador-profile-financeiro-values {
        grid-template-columns: 1fr;
    }

    .jogador-profile-financeiro-details-row {
        grid-template-columns: 1fr;
        gap: .1rem;
    }

    .jogador-profile-financeiro-details-row strong {
        text-align: left;
    }
}

.expense-meta {
    font-size: .85rem;
    color: rgba(236, 241, 238, 0.58);
    line-height: 1.2;
    margin-top: .2rem;
}

.expense-content {
    flex: 1 1 auto;
    min-width: 0;
}

.expense-category-name {
    font-size: 1.24rem;
}

.expense-item-name {
    font-size: 1.12rem;
}

.despesas-categoria-lista .expense-row:last-child {
    margin-bottom: 0;
}

.expense-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem;
    width: 100%;
}

.expense-value {
    color: #f5b126;
}

.expense-icon {
    width: 2.375rem;
    height: 2.375rem;
    border-radius: 0.75rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    font-size: 1rem;
}

.expense-quadra {
    background: rgba(59, 130, 246, 0.18);
    color: #60a5fa;
}

.expense-arbitragem {
    background: rgba(6, 182, 212, 0.18);
    color: #67e8f9;
}

.expense-material {
    background: rgba(249, 115, 22, 0.18);
    color: #fb923c;
}

.expense-bebidas {
    background: rgba(14, 165, 233, 0.18);
    color: #7dd3fc;
}

.expense-comida {
    background: rgba(245, 158, 11, 0.18);
    color: #fbbf24;
}

.expense-premiacao {
    background: rgba(234, 179, 8, 0.18);
    color: #fde047;
}

.expense-manutencao {
    background: rgba(168, 85, 247, 0.18);
    color: #c084fc;
}

.expense-other {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
}

.user-card {
    border-radius: 16px;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.user-meta {
    display: flex;
    align-items: center;
    gap: .9rem;
    min-width: 0;
}

.user-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--text);
    margin: 0;
    line-height: 1.2;
}

.user-email {
    color: var(--muted);
    font-size: .92rem;
    margin: .2rem 0 0;
}

.badge-admin,
.badge-user-status,
.badge-access {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    padding: .3rem .5rem;
    font-size: .72rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
}

.badge-admin {
    background: rgba(245, 177, 38, 0.18);
    color: #efb43d;
}

.badge-access {
    background: rgba(59, 130, 246, 0.18);
    color: #60a5fa;
}

.badge-user-status.active {
    background: rgba(34, 197, 94, 0.16);
    color: #86efac;
}

.badge-user-status.inactive {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
}

.user-side-info {
    min-width: 180px;
    text-align: right;
}

.user-side-label {
    color: rgba(236, 241, 238, 0.58);
    font-size: .82rem;
    font-weight: 600;
    margin-bottom: .2rem;
}

.user-side-value {
    color: var(--text);
    font-size: .98rem;
    font-weight: 700;
}

.user-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.users-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.users-toolbar .input-group {
    max-width: 360px;
}

.invite-link-highlight {
    border-radius: 1rem;
    padding: .95rem 1rem;
    background: linear-gradient(180deg, rgba(19, 43, 34, .92), rgba(16, 35, 30, .9));
    border: 1px solid rgba(31, 208, 107, .28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.2);
    display: grid;
    gap: .8rem;
}

.invite-link-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.invite-link-title {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #dcfbe9;
    font-size: 1.15rem;
    font-weight: 700;
}

.invite-link-title i {
    color: #6df0a7;
}

.invite-link-badge {
    border-radius: 999px;
    padding: .24rem .68rem;
    border: 1px solid rgba(31, 208, 107, .36);
    background: rgba(31, 208, 107, .12);
    color: #8df6ba;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.invite-link-subtitle {
    margin: 0;
    color: rgba(220, 240, 231, .84);
}

.invite-link-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12.5rem, 17rem) auto;
    gap: .55rem;
    align-items: center;
}

.invite-link-input {
    min-height: 3rem;
    font-size: .95rem;
}

.invite-link-copy,
.invite-link-cancelar {
    min-height: 3rem;
    white-space: nowrap;
}

.invite-link-copy {
    width: 100%;
}

@media (max-width: 62rem) {
    .invite-link-head {
        flex-direction: column;
        align-items: flex-start;
    }

    .invite-link-actions {
        grid-template-columns: minmax(0, 1fr);
    }
}

.users-total-card {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    min-height: 6.5rem;
    padding: .9rem 1rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    border: 1px solid rgba(255,255,255,.06);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02), 0 14px 28px rgba(0,0,0,.22);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.users-total-card::after {
    content: '';
    position: absolute;
    inset: auto -1.6rem -2rem auto;
    width: 5rem;
    height: 5rem;
    border-radius: 999px;
    opacity: .14;
    pointer-events: none;
}

.users-total-head {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
}

.users-total-icon {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: .6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.02rem;
    background: rgba(148, 163, 184, 0.16);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.users-total-label {
    color: #c7d2cc;
    font-size: .98rem;
    font-weight: 600;
    line-height: 1.1;
}

.users-total-value {
    color: var(--text);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
}

.users-total-body {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .55rem;
}

.users-total-meta {
    color: rgba(199, 210, 204, .8);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
}

.users-total-card-neutral {
    border-color: rgba(148, 163, 184, .22);
}

.users-total-card-neutral::after {
    background: radial-gradient(circle, rgba(148, 163, 184, .65) 0%, rgba(148, 163, 184, 0) 70%);
}

.users-total-card-success {
    border-color: rgba(34, 197, 94, .3);
}

.users-total-card-success .users-total-value {
    color: var(--green);
}

.users-total-card-success .users-total-icon {
    background: rgba(34, 197, 94, .16);
    border-color: rgba(34, 197, 94, .28);
    color: #86efac;
}

.users-total-card-success::after {
    background: radial-gradient(circle, rgba(34, 197, 94, .65) 0%, rgba(34, 197, 94, 0) 70%);
}

.users-total-card-danger {
    border-color: rgba(239, 68, 68, .3);
}

.users-total-card-danger .users-total-value {
    color: var(--red);
}

.users-total-card-danger .users-total-icon {
    background: rgba(239, 68, 68, .14);
    border-color: rgba(239, 68, 68, .26);
    color: #fca5a5;
}

.users-total-card-danger::after {
    background: radial-gradient(circle, rgba(239, 68, 68, .65) 0%, rgba(239, 68, 68, 0) 70%);
}

.users-total-card-admin {
    border-color: rgba(56, 189, 248, .3);
}

.users-total-card-admin .users-total-icon {
    background: rgba(56, 189, 248, .15);
    border-color: rgba(56, 189, 248, .28);
    color: #7dd3fc;
}

.users-total-card-admin::after {
    background: radial-gradient(circle, rgba(56, 189, 248, .7) 0%, rgba(56, 189, 248, 0) 70%);
}

.users-total-card-warning {
    border-color: rgba(245, 177, 38, .3);
}

.users-total-card-warning .users-total-value {
    color: #efb43d;
}

.users-total-card-warning .users-total-icon {
    background: rgba(245, 177, 38, .15);
    border-color: rgba(245, 177, 38, .28);
    color: #f6c560;
}

.users-total-card-warning::after {
    background: radial-gradient(circle, rgba(245, 177, 38, .7) 0%, rgba(245, 177, 38, 0) 70%);
}

.access-info-card {
    border-radius: 18px;
    padding: 1rem;
    background: linear-gradient(180deg, rgba(20, 27, 25, .85), rgba(18, 24, 22, .82));
    border: 1px solid var(--border);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
    height: 100%;
}

.access-info-title {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .9rem;
    font-family: 'Oswald', sans-serif;
    font-size: 1.15rem;
    text-transform: uppercase;
}

.access-list {
    display: grid;
    gap: .8rem;
}

.access-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 1rem;
    border-radius: 14px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.04);
}

.access-list-label {
    color: var(--muted);
    font-size: .95rem;
}

.access-list-value {
    color: var(--text);
    font-weight: 700;
}

@media (max-width: 62rem) {
    .usuarios-create-toolbar {
        justify-content: stretch;
    }

    .btn-usuarios-collapse {
        width: 100%;
    }

    .badge-legend-list {
        gap: .5rem;
    }

    .badge-legend-item {
        width: 100%;
        justify-content: flex-start;
    }

    .brand-name { font-size: 1.5rem; }
    .main-wrap { padding-top: 1.5rem; }
    .player-row { align-items: flex-start; flex-direction: column; }
    .player-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
        align-items: center;
        column-gap: .55rem;
        row-gap: .45rem;
    }
    .player-actions-main {
        gap: .45rem;
    }
    .player-actions-main > span {
        flex: 1 1 calc(50% - .35rem);
    }
    .player-actions-main .player-action-btn {
        min-width: 0;
        flex: 1 1 calc(50% - .35rem);
    }
    .player-actions-main > span .player-action-btn {
        width: 100%;
    }
    .player-actions .player-action-toggle {
        width: 2.25rem;
        height: 2.25rem;
        padding: 0;
    }
    .nav-pills { gap: .5rem; }
    .login-side,
    .login-form-col { min-height: auto; }
    .login-side { border-right: 0; border-bottom: 0.0625rem solid rgba(255,255,255,.05); }
    .login-form-col {
        justify-content: flex-start;
        align-items: stretch;
    }
    .page-logar .login-panel {
        position: relative;
        z-index: 1;
    }
    .login-watermark-mobile-bg {
        position: absolute;
        right: -1rem;
        bottom: -1.35rem;
        width: min(76vw, 24rem);
        font-family: 'Oswald', sans-serif;
        font-size: clamp(4.3rem, 13.8vw, 6.8rem);
        line-height: .88;
        letter-spacing: .02em;
        text-align: right;
        text-transform: uppercase;
        color: rgba(255,255,255,.035);
        pointer-events: none;
        user-select: none;
        z-index: 0;
        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
    }
    .presence-pill { max-width: 100%; }
    .user-card { flex-direction: column; align-items: flex-start; }
    .user-side-info { min-width: auto; text-align: left; }
    .user-actions { justify-content: flex-start; }
}

#administracao .vinculo-resumo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    height: 100%;
}

#administracao .admin-inicio-hero {
    border-radius: 1rem;
    padding: 1.05rem 1.1rem;
    display: grid;
    gap: .9rem;
}

#administracao .admin-inicio-hero-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

#administracao .admin-inicio-hero-updated {
    white-space: nowrap;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.04);
    padding: .32rem .66rem;
}

#administracao .admin-inicio-hero-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

#administracao .admin-inicio-hero-pill {
    display: inline-flex;
    align-items: center;
    gap: .32rem;
    border-radius: 999px;
    border: 1px solid rgba(31, 208, 107, 0.32);
    background: rgba(31, 208, 107, 0.11);
    color: #cfffe4;
    font-size: .8rem;
    line-height: 1.2;
    padding: .35rem .72rem;
}

#administracao .admin-inicio-hero-pill i {
    color: rgba(31, 208, 107, 0.96);
    font-size: .95rem;
}

#administracao .admin-inicio-hero-pill strong {
    color: #effff6;
}

#administracao .admin-kpi-card {
    display: grid;
    gap: .55rem;
    min-height: 12.1rem;
}

#administracao .admin-kpi-label {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: rgba(236, 241, 238, 0.82);
    font-weight: 700;
    font-size: .92rem;
    letter-spacing: .01em;
}

#administracao .admin-kpi-label i {
    color: rgba(31, 208, 107, 0.95);
    font-size: 1rem;
}

#administracao .admin-kpi-value {
    font-family: 'Oswald', sans-serif;
    font-size: 2.05rem;
    line-height: 1;
    color: #f2f8f4;
}

#administracao .admin-kpi-note {
    margin-top: -.25rem;
    line-height: 1.35;
}

#administracao .admin-kpi-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem .75rem;
}

#administracao .admin-kpi-meta-grid > div {
    border-radius: .7rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.025);
    padding: .42rem .55rem;
    display: grid;
    gap: .15rem;
}

#administracao .admin-kpi-meta-grid span {
    color: rgba(236, 241, 238, 0.62);
    font-size: .74rem;
    font-weight: 600;
    line-height: 1.1;
}

#administracao .admin-kpi-meta-grid strong {
    color: rgba(236, 241, 238, 0.95);
    font-size: .95rem;
    line-height: 1.2;
}

#administracao .admin-inicio-top-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-bottom: .8rem;
}

#administracao .admin-inicio-top-pill {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid rgba(31, 208, 107, 0.34);
    background: rgba(31, 208, 107, 0.1);
    color: #b9f5d4;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1.1;
    padding: .32rem .62rem;
}

#administracao .admin-inicio-racha-list {
    display: grid;
    gap: .65rem;
}

#administracao .admin-inicio-racha-item {
    display: block;
    border-radius: .95rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
    padding: .75rem .82rem;
}

#administracao .admin-inicio-racha-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
}

#administracao .admin-inicio-racha-title-wrap {
    min-width: 0;
}

#administracao .admin-inicio-racha-nome {
    color: var(--text);
    font-weight: 700;
    line-height: 1.2;
}

#administracao .admin-inicio-racha-slug {
    color: var(--muted);
    font-size: .82rem;
    line-height: 1.25;
}

#administracao .admin-inicio-racha-status-text {
    margin-top: .28rem;
}

#administracao .admin-inicio-racha-metricas {
    margin-top: .52rem;
    display: flex;
    flex-wrap: wrap;
    gap: .3rem .38rem;
}

#administracao .admin-inicio-racha-metricas span {
    border-radius: .5rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.025);
    color: rgba(236, 241, 238, 0.8);
    font-size: .76rem;
    line-height: 1.2;
    padding: .24rem .45rem;
}

#administracao .admin-inicio-racha-metricas span strong {
    color: #f1f7f3;
    font-weight: 700;
}

#administracao .admin-inicio-racha-last-action {
    margin-top: .55rem;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: .45rem;
}

#administracao .admin-inicio-racha-last-action-text {
    color: rgba(236, 241, 238, 0.92);
    font-size: .88rem;
    line-height: 1.35;
}

#administracao .admin-inicio-admin-action {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .58rem 0;
    border-bottom: 1px solid rgba(255,255,255,.09);
}

#administracao .admin-inicio-admin-action:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

#administracao .admin-inicio-admin-action-main {
    min-width: 0;
}

#administracao .admin-inicio-admin-action-text {
    color: rgba(236, 241, 238, 0.92);
    line-height: 1.35;
}

#administracao .admin-inicio-section-note {
    margin-top: -0.35rem;
    margin-bottom: .75rem;
}

#administracao .admin-inicio-compact-list {
    display: grid;
    gap: .5rem;
}

#administracao .admin-inicio-compact-item {
    border-radius: .8rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
    padding: .48rem .6rem;
}

#administracao .admin-inicio-compact-title {
    color: var(--text);
    font-weight: 700;
    line-height: 1.25;
    word-break: break-word;
}

.administracao-submenu {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.administracao-submenu .btn-panel {
    min-width: 0;
}

.administracao-submenu .btn-panel.active {
    border-color: var(--green);
    background: var(--green);
    color: var(--bg);
    box-shadow: 0 0.625rem 1.75rem rgba(31, 208, 107, 0.2);
}

#administracao .administracao-paginacao .pagination {
    margin-bottom: 0;
    gap: .35rem;
    justify-content: center;
}

#administracao .administracao-paginacao .page-link {
    border-radius: .65rem;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.03);
    color: rgba(236, 241, 238, 0.9);
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0 .78rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

#administracao .administracao-paginacao .page-link:hover,
#administracao .administracao-paginacao .page-link:focus {
    color: #e9fdf1;
    border-color: rgba(31, 208, 107, 0.4);
    background: rgba(31, 208, 107, 0.14);
    box-shadow: none;
}

#administracao .administracao-paginacao .page-item.active .page-link {
    color: #092014;
    border-color: var(--green);
    background: var(--green);
    font-weight: 700;
}

#administracao .administracao-paginacao .page-item.disabled .page-link {
    color: rgba(236, 241, 238, 0.45);
    background: rgba(255,255,255,.02);
    border-color: rgba(255,255,255,.08);
}

#carteirinha .tab-pane[hidden] {
    display: none;
}

.carteirinha-upload-slot {
    position: relative;
    height: 100%;
}

.carteirinha-upload-input {
    position: absolute;
    width: 0.0625rem;
    height: 0.0625rem;
    opacity: 0;
    pointer-events: none;
}

.carteirinha-upload-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    height: 100%;
    min-height: 4.45rem;
    border-radius: .85rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: rgba(255,255,255,.025);
    padding: .75rem;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.carteirinha-upload-card:hover,
.carteirinha-upload-card:focus-within,
.carteirinha-upload-input:focus-visible + .carteirinha-upload-card {
    border-color: rgba(31, 208, 107, 0.36);
    background: rgba(31, 208, 107, 0.07);
    box-shadow: inset 0 0 0 0.0625rem rgba(31, 208, 107, 0.08);
}

.carteirinha-upload-slot.has-image .carteirinha-upload-card {
    border-color: rgba(31, 208, 107, 0.16);
}

.carteirinha-upload-slot.is-selected .carteirinha-upload-card {
    border-color: rgba(245, 177, 38, 0.46);
    background: rgba(245, 177, 38, 0.07);
}

.carteirinha-upload-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: .75rem;
    background: rgba(31, 208, 107, 0.1);
    color: var(--green);
    font-size: 1.2rem;
    line-height: 1;
}

.carteirinha-upload-info {
    display: grid;
    gap: .08rem;
    min-width: 0;
}

.carteirinha-upload-info strong {
    color: rgba(248, 251, 249, 0.96);
    font-weight: 700;
    line-height: 1.2;
}

.carteirinha-upload-info small {
    color: rgba(236, 241, 238, 0.58);
    line-height: 1.2;
}

.carteirinha-upload-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 6.8rem;
    border-radius: .75rem;
    border: 0.0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.045);
    color: rgba(248, 251, 249, 0.92);
    font-weight: 700;
    line-height: 1.15;
    padding: .55rem .75rem;
}

.carteirinha-upload-action span {
    display: block;
    max-width: 8.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.carteirinha-upload-action .mdi {
    color: var(--green);
    line-height: 1;
}

.carteirinha-upload-submit {
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 4.45rem;
    border-radius: .85rem;
}

.carteirinha-upload-submit .mdi {
    font-size: 1.1rem;
    line-height: 1;
}

.carteirinha-upload-form .small-note {
    display: block;
    margin-top: .12rem;
}

.carteirinha-upload-form .small-note.is-loading {
    color: var(--green);
}

.carteirinha-upload-form .small-note.is-success {
    color: var(--green);
}

.carteirinha-upload-form .small-note.is-error {
    color: #ff7b72;
}

@media (max-width: 767.98px) {
    .carteirinha-upload-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .carteirinha-upload-action {
        grid-column: 1 / -1;
        width: 100%;
    }

    .carteirinha-upload-action span {
        max-width: none;
    }

    .carteirinha-upload-submit {
        min-height: 3rem;
    }
}

.carteirinha-side-tabs {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 2.875rem;
    border: 0.0625rem solid rgba(255,255,255,.08);
    border-radius: 1rem;
    background: rgba(255,255,255,.035);
    padding: .25rem;
}

.carteirinha-json-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.carteirinha-side-tabs .btn-panel {
    min-width: auto;
    min-height: 2.25rem;
    border-color: transparent;
    border-radius: .75rem;
    background: transparent;
    padding: .45rem .78rem;
    box-shadow: none;
    gap: .3rem;
}

.carteirinha-side-tabs .btn-panel:hover,
.carteirinha-side-tabs .btn-panel:focus {
    border-color: rgba(31, 208, 107, 0.2);
    background: rgba(31, 208, 107, 0.1);
}

.carteirinha-side-tabs .btn-panel.active {
    border-color: rgba(31, 208, 107, 0.55);
    background: linear-gradient(180deg, rgba(31, 208, 107, .95), rgba(26, 184, 92, .95));
    color: #06110b;
    box-shadow: 0 .45rem .95rem rgba(31, 208, 107, 0.18);
}

.carteirinha-side-tabs .btn-panel.active i {
    color: #06110b;
}

.carteirinha-layout-dropdown .exportar-btn {
    justify-content: space-between;
    min-width: 0;
    min-height: 2.875rem;
    padding-inline: .9rem;
}

.carteirinha-layout-dropdown .exportar-btn > span {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.carteirinha-layout-dropdown .dropdown-menu {
    width: max-content;
    min-width: 0;
    max-width: calc(100vw - 2rem);
    padding: .35rem;
}

.carteirinha-layout-dropdown .dropdown-item {
    white-space: nowrap;
}

.carteirinha-editor-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .65rem;
}

.carteirinha-zoom-control {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    min-height: 2.875rem;
    border-radius: .85rem;
    border: 0.0625rem solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.035);
    padding: .28rem;
}

.carteirinha-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    border-radius: .65rem;
    background: transparent;
    color: rgba(248, 251, 249, 0.9);
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.carteirinha-icon-btn:hover,
.carteirinha-icon-btn:focus-visible {
    background: rgba(31, 208, 107, 0.18);
    color: #fff;
    outline: none;
    box-shadow: inset 0 0 0 0.0625rem rgba(31, 208, 107, 0.35);
}

.carteirinha-icon-btn:disabled {
    color: rgba(236, 241, 238, 0.36);
    cursor: not-allowed;
}

.carteirinha-zoom-label {
    min-width: 3.25rem;
    color: rgba(248, 251, 249, 0.94);
    font-weight: 700;
    text-align: center;
}

.carteirinha-editor-grid {
    display: grid;
    grid-template-columns: minmax(17rem, 19.5rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.carteirinha-tools {
    display: grid;
    gap: .85rem;
    align-content: start;
}

.carteirinha-tool-panel {
    display: grid;
    gap: .8rem;
    border-radius: var(--radius-sm);
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.025);
    padding: .9rem;
}

.carteirinha-tool-panel[hidden],
.carteirinha-tool-block[hidden],
.carteirinha-tools .row[hidden] {
    display: none;
}

.carteirinha-tool-heading {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: #fff;
    font-family: var(--font-heading);
    font-size: .98rem;
    text-transform: uppercase;
}

.carteirinha-tool-heading .mdi {
    color: var(--green);
}

.carteirinha-tool-block {
    display: grid;
    gap: .35rem;
}

.carteirinha-selected-summary {
    display: grid;
    gap: .18rem;
    min-height: 3.35rem;
    border-radius: .75rem;
    border: 0.0625rem solid rgba(255,255,255,.07);
    background: rgba(0,0,0,.12);
    padding: .65rem .75rem;
}

.carteirinha-selected-summary strong {
    color: #fff;
    font-size: .95rem;
    line-height: 1.2;
}

.carteirinha-selected-summary span {
    color: rgba(236, 241, 238, 0.62);
    font-size: .82rem;
    line-height: 1.25;
}

.carteirinha-position-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.carteirinha-range-value {
    min-width: 3.1rem;
    border-radius: 62.5rem;
    padding: .18rem .45rem;
    background: rgba(31, 208, 107, 0.12);
    color: #7ef0ac;
    font-size: .78rem;
    line-height: 1.1;
    text-align: center;
}

.carteirinha-radius-control {
    display: grid;
    gap: .7rem;
    border-radius: .9rem;
    border: 0.0625rem solid rgba(31, 208, 107, 0.16);
    background: linear-gradient(180deg, rgba(18, 30, 25, .86), rgba(11, 18, 16, .72));
    padding: .75rem;
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.035);
}

.carteirinha-radius-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

.carteirinha-radius-head > span {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: rgba(236, 241, 238, 0.86);
    font-size: .9rem;
    line-height: 1.2;
}

.carteirinha-radius-head .mdi {
    color: var(--green);
    font-size: 1.05rem;
    line-height: 1;
}

.carteirinha-range {
    --carteirinha-range-value: 16%;
    width: 100%;
    height: .5rem;
    border: 0;
    border-radius: 62.5rem;
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(90deg, var(--green) 0 var(--carteirinha-range-value), rgba(255,255,255,.16) var(--carteirinha-range-value) 100%);
    outline: none;
}

.carteirinha-range::-webkit-slider-thumb {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    border: 0.1875rem solid #08110f;
    background: var(--green);
    box-shadow: 0 0 0 0.1875rem rgba(31, 208, 107, 0.18), 0 .25rem .75rem rgba(0,0,0,.24);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.carteirinha-range::-moz-range-thumb {
    width: 1.15rem;
    height: 1.15rem;
    border-radius: 50%;
    border: 0.1875rem solid #08110f;
    background: var(--green);
    box-shadow: 0 0 0 0.1875rem rgba(31, 208, 107, 0.18), 0 .25rem .75rem rgba(0,0,0,.24);
    cursor: pointer;
}

.carteirinha-range:focus-visible::-webkit-slider-thumb {
    box-shadow: 0 0 0 0.25rem rgba(31, 208, 107, 0.26), 0 .25rem .75rem rgba(0,0,0,.24);
}

.carteirinha-range:focus-visible::-moz-range-thumb {
    box-shadow: 0 0 0 0.25rem rgba(31, 208, 107, 0.26), 0 .25rem .75rem rgba(0,0,0,.24);
}

.carteirinha-radius-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .35rem;
}

.carteirinha-radius-chip {
    min-height: 2rem;
    border-radius: .65rem;
    border: 0.0625rem solid rgba(255,255,255,.09);
    background: rgba(255,255,255,.045);
    color: rgba(236, 241, 238, 0.76);
    font-size: .78rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.carteirinha-radius-chip:hover,
.carteirinha-radius-chip:focus-visible {
    border-color: rgba(31, 208, 107, 0.36);
    background: rgba(31, 208, 107, 0.12);
    color: rgba(236, 241, 238, 0.96);
    outline: none;
}

.carteirinha-radius-chip.active {
    border-color: rgba(245, 177, 38, 0.62);
    background: rgba(245, 177, 38, 0.16);
    color: #ffd47b;
    box-shadow: inset 0 0 0 0.0625rem rgba(245, 177, 38, 0.2);
}

.carteirinha-radius-chip:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.carteirinha-preview-area {
    min-width: 0;
    width: 100%;
}

.carteirinha-preview-scroll {
    --carteirinha-base-width: 36rem;
    --carteirinha-base-height: 22.75rem;
    --carteirinha-zoomed-width: 36rem;
    --carteirinha-zoomed-height: 22.75rem;
    --carteirinha-zoom: 1;
    height: calc(var(--carteirinha-base-height) + .3rem);
    max-height: calc(var(--carteirinha-base-height) + .3rem);
    width: 100%;
    overflow: auto;
    border-radius: .85rem;
    padding: .15rem;
    scrollbar-width: thin;
}

.carteirinha-preview-scroll.is-panning,
.carteirinha-preview-scroll.is-panning * {
    cursor: grabbing !important;
}

.carteirinha-canvas-wrap[hidden] {
    display: none;
}

.carteirinha-canvas-wrap {
    position: relative;
    width: var(--carteirinha-zoomed-width);
    height: var(--carteirinha-zoomed-height);
}

.carteirinha-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: var(--carteirinha-base-width);
    height: var(--carteirinha-base-height);
    min-width: 0;
    max-width: none;
    overflow: hidden;
    border-radius: .55rem;
    border: 0.0625rem solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.045);
    box-shadow: inset 0 0 0 0.0625rem rgba(255,255,255,.035), 0 1rem 2.2rem rgba(0,0,0,.26);
    transform: scale(var(--carteirinha-zoom));
    transform-origin: top left;
    user-select: none;
    touch-action: none;
}

.carteirinha-canvas:focus-visible {
    outline: 0.125rem solid rgba(31, 208, 107, 0.72);
    outline-offset: .18rem;
}

.carteirinha-canvas-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.carteirinha-canvas-empty {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: .35rem;
    color: rgba(236, 241, 238, 0.62);
    text-align: center;
    border: 0.125rem dashed rgba(255,255,255,.12);
}

.carteirinha-canvas-empty .mdi {
    color: var(--green);
    font-size: 2.25rem;
    line-height: 1;
}

.carteirinha-field {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-width: 1.8rem;
    min-height: 1.4rem;
    padding: 0;
    border: 0.0625rem dashed rgba(8, 47, 29, 0.48);
    background: rgba(255,255,255,.38);
    border-radius: .18rem;
    color: #003d1f;
    cursor: move;
    font-family: 'Ubuntu', Arial, Helvetica, sans-serif;
    line-height: 1.05;
    overflow: visible;
    box-shadow: inset 0 0 0 0.0625rem rgba(255,255,255,.36);
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.carteirinha-field.is-photo {
    border-style: solid;
    border-radius: var(--carteirinha-raio, 8%);
    background: rgba(255,255,255,.18);
    justify-content: center;
    text-align: center;
}

.carteirinha-field.active,
.carteirinha-field:focus-visible {
    border-color: var(--yellow);
    background: rgba(255,255,255,.76);
    outline: none;
    box-shadow: 0 0 0 .12rem rgba(245, 177, 38, 0.2), 0 .45rem .95rem rgba(0,0,0,.14);
}

.carteirinha-field .js-carteirinha-field-label {
    display: block;
    width: 100%;
    overflow: hidden;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
    pointer-events: none;
    overflow: hidden;
}

.carteirinha-field.is-photo .js-carteirinha-field-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .18em;
    height: 100%;
    color: #003d1f;
}

.carteirinha-field.is-photo .js-carteirinha-field-label .mdi {
    flex-shrink: 0;
    font-size: 1.35em;
    line-height: 1;
}

.carteirinha-field.is-photo .js-carteirinha-field-label span {
    font-size: .82em;
    line-height: 1;
}

.carteirinha-field-resize {
    position: absolute;
    right: -.42rem;
    bottom: -.42rem;
    width: .84rem;
    height: .84rem;
    border-radius: 50%;
    border: 0.125rem solid #fff;
    background: var(--yellow);
    cursor: nwse-resize;
    opacity: 0;
    transform: scale(.82);
    transition: opacity .16s ease, transform .16s ease;
}

.carteirinha-field.active .carteirinha-field-resize,
.carteirinha-field:focus-visible .carteirinha-field-resize {
    opacity: 1;
    transform: scale(1);
}

@media (max-width: 991.98px) {
    .carteirinha-editor-grid {
        grid-template-columns: 1fr;
    }

    .carteirinha-tools {
        order: 2;
    }

    .carteirinha-preview-scroll {
        --carteirinha-base-width: 34rem;
        --carteirinha-base-height: 21.47rem;
        --carteirinha-zoomed-width: 34rem;
        --carteirinha-zoomed-height: 21.47rem;
    }
}

#gestao-auditoria .administracao-paginacao .pagination {
    margin-bottom: 0;
    gap: .35rem;
    justify-content: center;
}

#gestao-auditoria .administracao-paginacao .page-link {
    border-radius: .65rem;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.03);
    color: rgba(236, 241, 238, 0.9);
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0 .78rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

#gestao-auditoria .administracao-paginacao .page-link:hover,
#gestao-auditoria .administracao-paginacao .page-link:focus {
    color: #e9fdf1;
    border-color: rgba(31, 208, 107, 0.4);
    background: rgba(31, 208, 107, 0.14);
    box-shadow: none;
}

#gestao-auditoria .administracao-paginacao .page-item.active .page-link {
    color: #092014;
    border-color: var(--green);
    background: var(--green);
    font-weight: 700;
}

#gestao-auditoria .administracao-paginacao .page-item.disabled .page-link {
    color: rgba(236, 241, 238, 0.45);
    background: rgba(255,255,255,.02);
    border-color: rgba(255,255,255,.08);
}

#gestao-auditoria .auditoria-json {
    margin: 0;
    padding: .75rem .85rem;
    border-radius: .75rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(0, 0, 0, .22);
    color: rgba(236, 241, 238, .88);
    max-height: 14rem;
    overflow: auto;
    font-size: .82rem;
    line-height: 1.35;
    text-align: left;
}

#gestao-auditoria .auditoria-topo {
    row-gap: .35rem;
}

#gestao-auditoria .player-row {
    display: block;
}

#gestao-auditoria .auditoria-resumo {
    flex: 1 1 auto;
    max-width: calc(100% - 18rem);
    min-width: 0;
}

#gestao-auditoria .auditoria-meta {
    min-width: 16rem;
    margin-top: .1rem;
    line-height: 1.35;
}

#gestao-auditoria .auditoria-detalhes {
    margin-top: .75rem !important;
    text-align: left;
}

#gestao-auditoria .auditoria-detalhes .row {
    text-align: left;
}

#gestao-auditoria .auditoria-detalhes .form-label {
    text-align: left;
}

#gestao-auditoria .auditoria-detalhes-titulo {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .15rem;
    cursor: pointer;
    list-style: none;
    margin-top: 0;
    margin-block-start: 0;
    user-select: none;
}

#gestao-auditoria .auditoria-detalhes-titulo::-webkit-details-marker {
    display: none;
}

#gestao-auditoria .auditoria-detalhes-chevron {
    font-size: 1rem;
    transition: transform .2s ease;
}

#gestao-auditoria .auditoria-detalhes[open] .auditoria-detalhes-chevron {
    transform: rotate(90deg);
}

@media (max-width: 767.98px) {
    #gestao-auditoria .auditoria-topo {
        flex-direction: column;
        align-items: flex-start !important;
        row-gap: .25rem;
    }

    #gestao-auditoria .auditoria-meta {
        width: 100%;
        min-width: 0;
        margin-top: .35rem;
        text-align: left !important;
    }

    #gestao-auditoria .auditoria-resumo {
        max-width: 100%;
    }

    #gestao-auditoria .auditoria-detalhes {
        margin-top: .55rem !important;
    }
}

#administracao .vinculo-resumo-item {
    border-radius: .875rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
    padding: .7rem .85rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 4rem;
}

#administracao .vinculo-resumo-label {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: .22rem;
}

#administracao .vinculo-resumo-valor {
    color: var(--text);
    font-weight: 600;
    line-height: 1.25;
}

#administracao .vinculo-resumo-extra {
    color: var(--muted);
    font-weight: 500;
}

#administracao .administracao-acoes-dropdown .exportar-btn {
    min-width: 12rem;
    justify-content: space-between;
}

#administracao .administracao-acoes-dropdown .dropdown-menu {
    min-width: 12rem;
    padding: .35rem;
}

#administracao .administracao-acoes-dropdown .dropdown-item {
    width: 100%;
    margin: 0;
}

#administracao .admin-user-card {
    align-items: center;
}

#administracao .admin-racha-card {
    padding: 1.05rem 1.1rem;
    align-items: flex-start;
    gap: .85rem;
}

#administracao .admin-racha-meta {
    width: 100%;
    align-items: flex-start;
}

#administracao .admin-racha-main {
    display: grid;
    gap: .42rem;
    min-width: 0;
}

#administracao .admin-racha-responsavel {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    color: rgba(236, 241, 238, 0.86);
}

#administracao .admin-racha-responsavel i {
    color: rgba(31, 208, 107, 0.9);
    font-size: 1rem;
}

#administracao .admin-racha-contatos {
    display: grid;
    gap: .28rem;
}

#administracao .admin-racha-contatos i {
    color: rgba(236, 241, 238, 0.74);
}

#administracao .admin-racha-status {
    margin-top: .16rem;
}

#administracao .admin-racha-status .badge-user-status {
    letter-spacing: .02em;
}

#administracao .admin-racha-actions {
    align-self: center;
}

#administracao .admin-racha-submit-wrap {
    width: 100%;
}

#administracao .admin-racha-submit-btn {
    width: 100%;
}

#administracao .admin-user-rachas {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-left: 1rem;
}

#administracao .admin-racha-pill {
    border-radius: 999px;
    padding: .28rem .68rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
    color: rgba(236, 241, 238, 0.92);
    font-size: .8rem;
    font-weight: 600;
    line-height: 1.2;
}

#administracao .admin-racha-empty {
    color: var(--muted);
    font-size: .86rem;
    font-weight: 500;
}

#administracao .admin-vinculos-toggle {
    min-width: 11.25rem;
    justify-content: center;
}

#administracao .admin-vinculos-card {
    padding: .95rem;
}

#administracao .admin-vinculo-lista {
    display: grid;
    gap: .65rem;
}

#administracao .admin-vinculo-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-radius: .9rem;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.02);
    padding: .7rem .8rem;
}

#administracao .admin-vinculo-meta {
    min-width: 0;
}

#administracao .admin-vinculo-nome {
    color: var(--text);
    font-weight: 700;
    line-height: 1.2;
}

#administracao .admin-vinculo-slug {
    color: var(--muted);
    font-weight: 500;
}

#administracao .admin-vinculo-acoes {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-shrink: 0;
}

#administracao .admin-vinculo-edit-card {
    background: linear-gradient(180deg, rgba(20, 27, 25, .95), rgba(18, 24, 22, .9));
    border: 1px solid rgba(255,255,255,.08);
}

#administracao .admin-superadmin-form {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}

#administracao .admin-superadmin-switch {
    min-height: 2.65rem;
    padding: .4rem .75rem;
    min-width: 11rem;
}

#administracao .admin-superadmin-switch .form-check-label {
    font-size: .85rem;
}

@media (max-width: 62rem) {
    #administracao .admin-user-card {
        align-items: flex-start;
    }

    #administracao .admin-racha-actions {
        width: 100%;
        justify-content: flex-end;
    }

    #administracao .admin-user-rachas {
        margin-left: 0;
        width: 100%;
        margin-top: .25rem;
    }
}

@media (min-width: 48rem) {
    #administracao .admin-racha-submit-wrap {
        width: auto;
        min-width: 13.5rem;
    }
}

@media (max-width: 48rem) {
    #administracao .administracao-acoes-dropdown {
        width: 100%;
    }

    #administracao .administracao-acoes-dropdown .exportar-btn {
        width: 100%;
    }

    #administracao .administracao-acoes-dropdown .dropdown-menu {
        width: 100%;
    }

    #administracao .admin-vinculo-item {
        flex-direction: column;
        align-items: flex-start;
    }

    #administracao .admin-vinculo-acoes {
        width: 100%;
        justify-content: flex-end;
    }

    #administracao .admin-vinculos-toggle {
        width: 100%;
    }

    #administracao .admin-kpi-card {
        min-height: auto;
    }

    #administracao .admin-inicio-hero-top {
        flex-direction: column;
    }

    #administracao .admin-inicio-hero-updated {
        white-space: normal;
    }

    #administracao .admin-kpi-meta-grid {
        grid-template-columns: 1fr;
    }

    #administracao .admin-inicio-racha-head {
        flex-direction: column;
        align-items: flex-start;
    }

    #administracao .admin-inicio-admin-action {
        flex-direction: column;
    }

    .administracao-submenu .btn-panel {
        width: 100%;
    }

    #administracao .admin-superadmin-form {
        width: 100%;
    }

    #administracao .admin-superadmin-switch {
        width: 100%;
        min-width: 0;
    }
}

#selecionar-racha {
    width: 100%;
}

#selecionar-racha .racha-selecao-wrap {
    max-width: 50rem;
    border-radius: 1.25rem;
    border: 0.0625rem solid rgba(255,255,255,.1);
    background: linear-gradient(180deg, rgba(17, 24, 22, 0.96), rgba(13, 19, 17, 0.96));
    box-shadow: 0 1.2rem 2.8rem rgba(0,0,0,.35);
    padding: 1.4rem;
}

#selecionar-racha .racha-selecao-topo {
    margin-bottom: 1.1rem;
}

#selecionar-racha .page-title {
    font-size: clamp(2.15rem, 4.5vw, 3rem);
    margin-bottom: .35rem;
}

#selecionar-racha .page-subtitle {
    color: rgba(236, 241, 238, 0.84);
    margin-bottom: .25rem;
}

#selecionar-racha .racha-selecao-contador {
    color: rgba(236, 241, 238, 0.64);
    font-size: .82rem;
    letter-spacing: .02em;
}

#selecionar-racha .racha-opcoes-lista {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

#selecionar-racha .racha-opcao-card {
    border-radius: 1rem;
    border: 0.0625rem solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(29, 38, 35, 0.78), rgba(20, 28, 25, 0.78));
    box-shadow: inset 0 0.0625rem 0 rgba(255,255,255,.03);
    padding: 1rem 1.1rem;
}

#selecionar-racha .racha-opcao-nome {
    font-size: 1.75rem;
    line-height: 1;
    margin: 0 0 .38rem;
    font-family: 'Oswald', sans-serif;
    color: #f2f6f3;
    letter-spacing: .02em;
}

#selecionar-racha .racha-opcao-slug {
    color: rgba(236, 241, 238, 0.72);
    font-size: .98rem;
}

#selecionar-racha .racha-opcao-botao {
    min-width: 11.5rem;
    font-size: 1rem;
}

#selecionar-racha .badge-admin,
#selecionar-racha .badge-user-status,
#selecionar-racha .badge-access {
    font-size: .74rem;
    letter-spacing: .02em;
}

#selecionar-racha .racha-opcao-bloqueio {
    margin-top: .5rem;
    color: #fca5a5;
    font-size: .82rem;
    line-height: 1.35;
}

#selecionar-racha .racha-opcao-botao[disabled] {
    cursor: not-allowed;
    opacity: .95;
    color: #fca5a5;
    border-color: rgba(239, 68, 68, 0.34);
    background: rgba(239, 68, 68, 0.08);
}

#selecionar-racha .racha-selecao-acoes {
    margin-top: 1rem;
}

.sumula-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
}

.sumula-topbar-head {
    display: grid;
    gap: .28rem;
    min-width: 0;
}

.sumula-topbar-title {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .02em;
    font-size: 1.15rem;
    line-height: 1.1;
}

.sumula-topbar-title i {
    color: var(--green);
    font-size: 1.1rem;
}

.sumula-topbar-subtitle {
    color: var(--muted);
    line-height: 1.35;
}

.sumula-topbar-actions {
    display: flex;
    align-items: flex-end;
    gap: .65rem;
    margin-left: auto;
}

.sumula-data-form {
    margin: 0;
}

.sumula-data-inputs {
    display: flex;
    gap: .55rem;
    align-items: center;
}

.sumula-data-inputs .form-control {
    min-width: 11.5rem;
}

.sumula-btn-carregar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2.875rem;
    min-width: 10.75rem;
    padding-inline: 1rem;
    white-space: nowrap;
}

.sumula-topbar .exportar-dropdown .exportar-btn {
    min-height: 2.875rem;
}

.sumula-table-wrap {
    overflow-x: auto;
}

.sumula-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 42rem;
}

.sumula-table th,
.sumula-table td {
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding: .6rem .55rem;
    vertical-align: middle;
}

.sumula-table th {
    color: rgba(236, 241, 238, .78);
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-weight: 700;
    white-space: nowrap;
}

.sumula-table td {
    color: rgba(236, 241, 238, .92);
}

.sumula-table tfoot th,
.sumula-table tfoot td {
    border-top: 1px solid rgba(255,255,255,.11);
    border-bottom: 0;
    font-weight: 700;
}

.sumula-numero {
    min-width: 5.15rem;
    text-align: center;
}

.sumula-jogador {
    font-weight: 600;
    display: inline-block;
    min-width: 14rem;
}

.sumula-valor-coluna {
    white-space: nowrap;
    font-weight: 600;
}

#sumula .sumula-input-gols {
    border-color: rgba(255,255,255,.09);
}

#sumula .sumula-input-amarelos {
    border-color: rgba(245, 177, 38, 0.38);
    background: rgba(84, 65, 24, 0.28);
}

#sumula .sumula-input-amarelos:focus {
    border-color: rgba(245, 177, 38, 0.75);
    box-shadow: 0 0 0 0.2rem rgba(245, 177, 38, 0.18);
}

#sumula .sumula-input-azuis {
    border-color: rgba(56, 157, 255, 0.38);
    background: rgba(26, 49, 82, 0.28);
}

#sumula .sumula-input-azuis:focus {
    border-color: rgba(56, 157, 255, 0.75);
    box-shadow: 0 0 0 0.2rem rgba(56, 157, 255, 0.18);
}

#sumula .sumula-input-vermelhos {
    border-color: rgba(255, 71, 71, 0.4);
    background: rgba(88, 31, 31, 0.28);
}

#sumula .sumula-input-vermelhos:focus {
    border-color: rgba(255, 71, 71, 0.78);
    box-shadow: 0 0 0 0.2rem rgba(255, 71, 71, 0.18);
}

#sumula .sumula-totais-grid {
    margin-top: .15rem;
}

#sumula .sumula-total-card {
    position: relative;
    overflow: hidden;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    min-height: 7.2rem;
    padding: .95rem 1rem;
    gap: .15rem;
}

#sumula .sumula-total-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: .125rem;
    background: rgba(255,255,255,.1);
}

#sumula .sumula-total-caption {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: rgba(236, 241, 238, 0.5);
    font-weight: 700;
    margin-bottom: .15rem;
}

#sumula .sumula-total-card .metric-label {
    margin-bottom: .15rem;
}

#sumula .sumula-total-card .metric-value {
    font-size: 2.2rem;
}

#sumula .sumula-total-card-gols::before {
    background: rgba(236, 241, 238, .35);
}

#sumula .sumula-total-card-amarelos::before {
    background: rgba(255, 193, 7, .85);
}

#sumula .sumula-total-card-azuis::before {
    background: rgba(13, 110, 253, .9);
}

#sumula .sumula-total-card-vermelhos::before {
    background: rgba(220, 53, 69, .9);
}

#sumula .sumula-total-card-financeiro::before {
    background: rgba(31, 208, 107, .85);
}

.sumula-detalhes-toggle {
    white-space: nowrap;
}

.sumula-detalhes-resumo {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-bottom: 1rem;
}

.sumula-detalhes-lista {
    display: grid;
    gap: .65rem;
    padding: 0;
}

.sumula-detalhes-item {
    border: 0.0625rem solid rgba(255,255,255,.06);
    background: rgba(255,255,255,.025);
    border-radius: 1rem;
    padding: .95rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .7rem;
}

.sumula-detalhes-data {
    font-weight: 700;
    color: var(--text);
    font-size: 1rem;
}

.sumula-detalhes-valores {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.sumula-detalhes-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.25rem;
    padding: .45rem .75rem;
    border-radius: 999px;
    border: 0.0625rem solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.035);
    color: rgba(236, 241, 238, .9);
    font-size: .92rem;
    line-height: 1;
}

.sumula-detalhes-pill strong {
    color: var(--text);
    font-weight: 700;
}

.sumula-detalhes-pill-label {
    color: rgba(236, 241, 238, .62);
}

.sumula-detalhes-vazio {
    border: 0.0625rem dashed rgba(255,255,255,.09);
    border-radius: 1rem;
    padding: 1rem;
    color: rgba(236, 241, 238, .68);
}

.sumula-detalhes-modal .modal-content {
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    border: 0.0625rem solid rgba(255,255,255,.08);
    box-shadow: 0 1.5rem 3rem rgba(0,0,0,.38);
}

.sumula-detalhes-modal .modal-header,
.sumula-detalhes-modal .modal-footer {
    border-color: rgba(255,255,255,.08);
}

.sumula-detalhes-modal .modal-title {
    color: var(--text);
}

.sumula-detalhes-modal .btn-close {
    filter: invert(1) grayscale(1);
    opacity: .8;
}

.sumula-detalhes-modal-subtitle {
    color: rgba(236, 241, 238, 0.62);
    font-size: .92rem;
    margin-top: .2rem;
}

.sumula-detalhes-modal .modal-body {
    padding-top: 1rem;
}

.financeiro-pix-modal .modal-content {
    background: linear-gradient(180deg, rgba(20, 27, 25, .98), rgba(14, 20, 18, .98));
    border: 0.0625rem solid rgba(255,255,255,.08);
    box-shadow: 0 1.5rem 3rem rgba(0,0,0,.38);
}

.financeiro-pix-modal .modal-header,
.financeiro-pix-modal .modal-footer {
    border-color: rgba(255,255,255,.08);
}

.financeiro-pix-modal .modal-title {
    color: var(--text);
}

.financeiro-pix-modal .btn-close {
    filter: invert(1) grayscale(1);
    opacity: .8;
}

@media (max-width: 48rem) {
    .main-wrap footer {
        margin: 1.5rem 0 0;
    }

    .topbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1030;
    }

    .app-shell { padding: .75rem; }
    .topbar .container-fluid { gap: .75rem; }
    .topbar-nav { width: auto; overflow: visible; padding-bottom: 0; flex: 0 0 auto; }
    .brand-name { font-size: 1.35rem; }
    .brand-racha {
        max-width: 13.5rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    body:not(.page-logar) .main-wrap {
        padding-top: 6rem;
    }
    .month-pill { min-width: auto; }
    .login-layout { padding: 1rem; }
    .page-logar .main-wrap { padding: 1rem .8rem 1.25rem; }
    .page-logar .login-wrap {
        padding: .45rem 0 .55rem;
    }
    .login-watermark-mobile-bg {
        right: -.9rem;
        bottom: -1.1rem;
        width: min(80vw, 21rem);
        font-size: clamp(4rem, 21vw, 6rem);
        color: rgba(255,255,255,.032);
    }
    .login-side,
    .login-form-col { padding: 1.5rem; }
    .side-title { font-size: 2.4rem; }
    .login-card-outline {
        inset: .95rem;
        border-radius: 1.15rem;
    }
    .login-form-col {
        padding: 2rem 1.35rem 1.8rem;
    }
    .login-form-wrap {
        max-width: 100%;
        padding: .35rem 0 .45rem;
    }
    .login-overline {
        font-size: .75rem;
        margin-bottom: .7rem;
    }
    .login-title {
        font-size: 2.25rem;
        line-height: 1;
        margin-bottom: .7rem;
    }
    .login-subtitle {
        font-size: 1rem;
        line-height: 1.55;
        margin-bottom: 1.45rem;
    }
    .login-form-wrap form .mb-3 {
        margin-bottom: 1.1rem !important;
    }
    .login-form-wrap form .mb-4 {
        margin-bottom: 1.35rem !important;
    }
    .input-group-text {
        min-width: 3rem;
    }
    .btn-login {
        min-height: 3.3rem;
        margin-top: .2rem;
    }
    .footer-note { display: none; }
    .app-install {
        left: .75rem;
        right: .75rem;
        width: auto;
        bottom: calc(.75rem + env(safe-area-inset-bottom));
    }
    .config-switch-item { flex-direction: column; align-items: flex-start; }
    .config-switch-text { max-width: 100%; }
    .config-rule-item { flex-direction: column; }
    .config-rule-status { min-width: auto; }
    .sort-actions { flex-direction: column; }
    .sort-actions .btn { width: 100%; }
    .sort-utility-actions { width: 100%; }
    .sort-utility-actions .sort-toggle-btn {
        flex: 1 1 calc(50% - .35rem);
        justify-content: center;
    }
    .sort-player-group-header {
        align-items: flex-start;
    }
    .report-podium {
        gap: .4rem;
    }
    .report-podium-head {
        margin-bottom: .7rem;
    }
    .report-podium-title {
        font-size: .93rem;
    }
    .report-podium-subtitle {
        font-size: .78rem;
    }
    .report-podium-item {
        padding: .45rem .38rem .62rem;
        border-radius: .85rem;
    }
    .report-podium-topo {
        margin-bottom: .15rem;
    }
    .report-podium-medal-icon {
        width: 1.1rem;
        height: 1.1rem;
        font-size: .75rem;
    }
    .report-podium-rank {
        font-size: 1.5rem;
    }
    .report-podium-player {
        font-size: .82rem;
        min-height: 0;
        max-height: none;
    }
    .report-podium-goals {
        font-size: .74rem;
        padding: .2rem .45rem;
    }
    .report-podium-item.destaque {
        transform: translateY(-0.12rem);
        min-height: 0;
    }
    .report-podium-item.prata {
        min-height: 0;
    }
    .report-podium-item.bronze {
        min-height: 0;
    }
    .report-list-item { flex-direction: column; align-items: flex-start; }
    .report-list-value { text-align: left; }
    .report-delinquency-main {
        grid-template-columns: 1fr;
        row-gap: .45rem;
        width: 100%;
    }
    .report-delinquency-side {
        align-items: flex-start;
        justify-items: start;
    }
    .report-delinquency-summary { grid-template-columns: 1fr; width: 100%; }
    .report-delinquency-details-grid { min-width: 0; }
    .report-delinquency-detail-head { display: none; }
    .report-delinquency-detail-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: .25rem;
        padding: .55rem .35rem;
    }
    .report-delinquency-detail-row span {
        font-size: .8rem;
    }
    .report-delinquency-detail-row span:nth-child(1),
    .report-delinquency-detail-row span:nth-child(2) {
        font-weight: 600;
    }
    .report-modal-ranking-wrap {
        padding: .2rem;
    }
    .report-modal-ranking-table thead th {
        font-size: .66rem;
    }
    .report-modal-ranking-table tbody td {
        font-size: .82rem;
        padding: .55rem .4rem;
    }
    .rank-position-badge {
        min-width: 2.45rem;
        font-size: .68rem;
        padding: .28rem .45rem;
    }
    .report-expense-day-head { flex-wrap: wrap; }
    .report-expense-day-total { margin-left: 0; }
    .report-category-top { grid-template-columns: 1fr; gap: .45rem; }
    .report-category-value { margin-left: 0; text-align: left; font-size: 1.18rem; }
    .report-category-rank { min-width: 1.8rem; }
    .report-birthday-card { grid-template-columns: 1fr; }
    .report-birthday-photo {
        grid-template-columns: auto 1fr;
        align-items: center;
        justify-items: start;
    }
    .avatar.user.report-birthday-avatar {
        width: 4.35rem;
        height: 4.35rem;
    }
    .report-birthday-top {
        align-items: flex-start;
        flex-direction: column;
    }
    #administracao .vinculo-resumo-grid { grid-template-columns: 1fr; }
    #selecionar-racha .racha-selecao-wrap {
        padding: 1rem;
        border-radius: 1rem;
    }
    #selecionar-racha .racha-opcao-card {
        padding: .85rem .9rem;
    }
    #selecionar-racha .racha-opcao-nome {
        font-size: 1.45rem;
    }
    #selecionar-racha .racha-opcao-botao {
        width: 100%;
        min-width: 0;
    }

    .player-content {
        width: 100%;
    }

    #sumula .sumula-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    #sumula .sumula-topbar-actions {
        width: 100%;
        margin-left: 0;
        align-items: stretch;
        flex-direction: column;
    }

    #sumula .sumula-data-form,
    #sumula .sumula-topbar .exportar-dropdown {
        width: 100%;
    }

    #sumula .sumula-data-inputs .form-control {
        min-width: 0;
        width: 100%;
    }

    #sumula .sumula-btn-carregar,
    #sumula .sumula-topbar .exportar-dropdown .exportar-btn {
        width: 100%;
        justify-content: center;
    }

    #sumula .sumula-table th:first-child,
    #sumula .sumula-table td:first-child {
        position: sticky;
        left: 0;
        z-index: 3;
        background: linear-gradient(180deg, rgba(16, 24, 22, .98), rgba(14, 21, 19, .98));
    }

    #sumula .sumula-jogador {
        min-width: 12.5rem;
    }

    #sumula .sumula-total-card {
        min-height: 6.35rem;
    }

    #sumula .sumula-total-card .metric-value {
        font-size: 2rem;
    }

    #financeiro .report-actions {
        flex-wrap: wrap;
        align-items: stretch;
    }

    #financeiro .report-actions > .d-inline-flex {
        order: 1;
    }

    #financeiro .report-actions > .exportar-dropdown {
        order: 2;
        width: 100%;
    }

    #financeiro .report-actions > .exportar-dropdown .exportar-btn {
        width: 100%;
        justify-content: center;
    }

}

@media (max-width: 23rem) {
    .page-logar .main-wrap {
        padding: .8rem .6rem .95rem;
    }
    .page-logar .login-wrap {
        padding: .35rem 0 .45rem;
    }
    .login-form-col {
        padding: 1.6rem 1rem 1.35rem;
    }
    .login-form-wrap {
        padding: .25rem 0 .35rem;
    }
    .login-watermark-mobile-bg {
        right: -.7rem;
        bottom: -.9rem;
        width: min(86vw, 14.5rem);
        font-size: clamp(3.1rem, 22vw, 4.3rem);
        color: rgba(255,255,255,.03);
    }
    .login-title {
        font-size: 1.95rem;
    }
    .login-subtitle {
        font-size: .95rem;
    }
}

.financeiro-whatsapp-texto {
    min-height: 16rem;
    font-family: "Cascadia Mono", "Consolas", "Courier New", monospace;
    line-height: 1.45;
    white-space: pre;
}

.financeiro-pix-copia-texto {
    min-height: 8.5rem;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-all;
    cursor: copy;
}

.financeiro-pix-copia-wrap {
    position: relative;
}

.financeiro-pix-copia-feedback {
    position: absolute;
    inset: 0.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 1.1rem;
    border-radius: 0.75rem;
    background: linear-gradient(180deg, rgba(20, 43, 34, 0.92), rgba(13, 29, 23, 0.94));
    border: 0.0625rem solid rgba(31, 208, 107, 0.42);
    box-shadow: 0 0.75rem 1.5rem rgba(2, 12, 9, 0.26);
    color: #e4fff0;
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-align: center;
    text-shadow: 0 0.0625rem 0.125rem rgba(0,0,0,.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(0.98);
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.financeiro-pix-copia-feedback.is-error {
    background: linear-gradient(180deg, rgba(66, 22, 22, 0.94), rgba(41, 12, 12, 0.95));
    border-color: rgba(255, 71, 71, 0.45);
    color: #ffc7c7;
}

.financeiro-pix-copia-feedback.show {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.financeiro-pix-qrcode {
    max-width: 15rem;
    width: 100%;
}

.pendencias-modal {
    display: grid;
    gap: .95rem;
}

.pendencias-modal-header {
    border: 0.0625rem solid rgba(255,255,255,.08);
    border-radius: .75rem;
    background: rgba(255,255,255,.015);
    padding: .65rem .75rem;
}

.pendencias-modal-section {
    border: 0.0625rem solid rgba(255,255,255,.07);
    border-radius: .75rem;
    background: rgba(255,255,255,.012);
    padding: .75rem;
}

.pendencias-modal-section-title {
    color: rgba(236, 241, 238, 0.92);
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin: 0;
}

.pendencias-pix-expandir-wrap {
    margin-top: .45rem;
}

.pendencias-pix-expandir-btn {
    width: 100%;
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border-radius: .8rem;
}

.pendencias-pix-expandir-btn .pendencias-pix-label-aberto {
    display: none;
}

.pendencias-pix-expandir-btn[aria-expanded="true"] .pendencias-pix-label-fechado {
    display: none;
}

.pendencias-pix-expandir-btn[aria-expanded="true"] .pendencias-pix-label-aberto {
    display: inline;
}

.pendencias-pix-collapse {
    border: 0.0625rem solid rgba(31, 208, 107, 0.14);
    border-radius: .75rem;
    padding: .75rem;
    background: linear-gradient(180deg, rgba(18, 36, 28, 0.35), rgba(14, 27, 22, 0.28));
}

.pendencias-pix-qrcode-wrap {
    padding: .25rem;
    border-radius: .75rem;
    /* background: rgba(255,255,255,.03); */
}

.pendencias-modal-actions {
    margin-top: .25rem;
    padding-top: .9rem;
    border-top: 0.0625rem solid rgba(255,255,255,.07);
    display: flex;
    justify-content: flex-end;
}

.pendencias-modal-btn-pay {
    min-height: 2.35rem;
    min-width: 15.5rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0.5rem 1.2rem rgba(15, 88, 47, 0.25);
}

@media (max-width: 48rem) {
    .pendencias-pix-collapse {
        padding: .65rem;
    }

    .pendencias-modal-actions {
        display: grid;
    }

    .pendencias-modal-btn-pay {
        width: 100%;
        min-width: 0;
    }
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:none;
    }
}

@keyframes girar{
    to{
        transform:rotate(360deg);
    }
}
