﻿/* Tornfy: navigation and athlete profile. Loaded only by _Layout_Tornfy. */
.tf-header-athlete, .tf-header-saved { display: flex !important; align-items: center; gap: 8px; }
#header .tf-header-athlete { margin: 0 8px; padding: 9px 13px; border: 1px solid #cce8e4; border-radius: 10px; color: #0b665e; background: #edf8f5; font-weight: 700; white-space: nowrap; }
#header .tf-header-saved { color: #40536a; }
.tornfy-public-menu .tf-athlete-entry { margin: 12px 10px 18px; }
#sidebar .tornfy-public-menu .tf-athlete-entry > .menu-link { min-height: 44px; margin: 0; border: 1px solid #52616a; border-radius: 9px; color: #e6f4f2; }
.tf-athlete-entry-arrow { margin-left: auto; font-size: 10px; color: #9bbcb6; }
.app-sidebar-minified .tf-athlete-entry-arrow { display: none; }
.app-sidebar-minified .tornfy-public-menu .tf-athlete-entry { margin-inline: 0; }
#tfAthletePanel {
    --bs-offcanvas-width: 424px;
    top: 14px;
    right: 14px;
    bottom: 14px;
    width: min(424px, calc(100vw - 28px));
    height: calc(100% - 28px);
    border: 1px solid #e2ebe9;
    border-radius: 24px;
    background: #fff;
    color: #18332f;
    box-shadow: 0 24px 90px rgba(10, 35, 34, .22);
    overflow: hidden;
    transform: translateX(calc(100% + 28px));
}
#tfAthletePanel.show, #tfAthletePanel.showing { transform: none; }
#tfAthletePanel .offcanvas-header { padding: 25px 25px 20px; align-items: center; }
#tfAthletePanel .tf-panel-eyebrow { display: block; margin-bottom: 6px; color: #6e827c; font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
#tfAthletePanel h2 { margin: 0; color: #18332f; font-size: 25px; font-weight: 750; letter-spacing: -.035em; }
#tfAthletePanel .tf-panel-close { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; padding: 0; border: 1px solid #e0e9e5; border-radius: 50%; background: #f6f9f7; color: #486058; font-size: 16px; }
#tfAthletePanel .tf-panel-close:hover { background: #e4eeea; }
#tfAthletePanel .offcanvas-body { padding: 0 25px 24px; overscroll-behavior: contain; }
#tfAthletePanel a { text-decoration: none; }
#tfAthletePanel .tf-panel-profile { display: flex; align-items: center; gap: 13px; padding: 17px 0 22px; border-bottom: 1px solid #e7eeeb; margin-bottom: 22px; color: #18332f; }
#tfAthletePanel .tf-panel-avatar { display: grid; place-items: center; flex: 0 0 52px; width: 52px; height: 52px; border-radius: 17px; background: #e5f2eb; color: #267060; overflow: hidden; }
#tfAthletePanel .tf-panel-avatar img { width: 100%; height: 100%; object-fit: cover; }
#tfAthletePanel .tf-panel-person { min-width: 0; flex: 1; }
#tfAthletePanel .tf-panel-person strong { display: block; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
#tfAthletePanel .tf-panel-person small { display: block; margin-top: 4px; color: #6b8179; font-size: 11px; }
#tfAthletePanel .tf-panel-profile > i { color: #66827a; font-size: 12px; }
#tfAthletePanel .tf-panel-featured { display: flex; align-items: center; gap: 13px; padding: 20px 17px; border-radius: 15px; background: linear-gradient(115deg, #106f63, #195349); color: #fff; }
#tfAthletePanel .tf-panel-featured .tf-panel-icon { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 11px; background: rgba(255,255,255,.12); font-size: 18px; }
#tfAthletePanel .tf-panel-featured strong { display: block; font-size: 14px; font-weight: 650; }
#tfAthletePanel .tf-panel-featured small { display: block; margin-top: 5px; color: #c1e3d9; font-size: 10px; }
#tfAthletePanel .tf-panel-featured > i { margin-left: auto; font-size: 13px; }
#tfAthletePanel .tf-panel-featured:hover { background: #0a5b50; }
#tfAthletePanel .tf-panel-section-label { margin: 24px 0 12px; color: #778b84; font-size: 10px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
#tfAthletePanel .tf-panel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#tfAthletePanel .tf-panel-grid a { display: flex; flex-direction: column; align-items: flex-start; padding: 17px; border: 1px solid #e3eae6; border-radius: 13px; background: #f8faf8; color: #213e35; transition: background-color .15s, border-color .15s; }
#tfAthletePanel .tf-panel-grid a > i { display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 13px; border-radius: 10px; background: #e8f1eb; color: #387e60; font-size: 15px; }
#tfAthletePanel .tf-panel-grid a:nth-child(2) > i { background: #f6edda; color: #9e772d; }
#tfAthletePanel .tf-panel-grid a:nth-child(3) > i { background: #e8eff7; color: #4c759d; }
#tfAthletePanel .tf-panel-grid a:nth-child(4) > i { background: #eeeaf6; color: #7a649b; }
#tfAthletePanel .tf-panel-grid strong { font-size: 12px; font-weight: 650; }
#tfAthletePanel .tf-panel-grid small { margin-top: 5px; color: #70817a; font-size: 10px; }
#tfAthletePanel .tf-panel-grid a:hover { background: #edf5ef; border-color: #afcbbd; }
#tfAthletePanel .tf-panel-account a { display: flex; align-items: center; gap: 12px; min-height: 45px; padding: 10px 4px; border-bottom: 1px solid #edf1ef; color: #425b50; font-size: 12px; }
#tfAthletePanel .tf-panel-account a:last-child { border-bottom: 0; }
#tfAthletePanel .tf-panel-account a > i:first-child { width: 20px; color: #779186; text-align: center; font-size: 14px; }
#tfAthletePanel .tf-panel-account a > i:last-child { margin-left: auto; color: #8c9e95; font-size: 9px; }
#tfAthletePanel .tf-panel-account a:hover { color: #00654f; background: #f7faf8; }
#tfAthletePanel .tf-panel-footer { display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; gap: 12px; padding: 18px 25px; border-top: 1px solid #e8eeeb; background: #f9fbfa; }
#tfAthletePanel .tf-panel-footer > span { color: #7c8c84; font-size: 10px; }
#tfAthletePanel .tf-panel-footer a { display: flex; align-items: center; gap: 7px; padding: 7px 0; color: #6a776f; font-size: 12px; }
#tfAthletePanel :is(a,button):focus-visible { outline: 3px solid #3aa98d; outline-offset: 2px; }
@media (max-width: 575px) {
    #tfAthletePanel { top: 8px; right: 8px; bottom: 8px; width: calc(100vw - 16px); height: calc(100% - 16px); height: calc(100dvh - 16px); border-radius: 20px; }
    #tfAthletePanel .offcanvas-header { padding: 20px 20px 12px; }
    #tfAthletePanel .offcanvas-body { padding: 0 20px 20px; }
    #tfAthletePanel .tf-panel-grid a { padding: 14px; }
    #tfAthletePanel .tf-panel-footer { padding: 12px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    #tfAthletePanel, #tfAthletePanel .tf-panel-grid a { transition: none; }
}
.tf-athlete-welcome h2 { overflow-wrap: anywhere; }
.tf-athlete-welcome > p { color: #5c6b7f; line-height: 1.6; font-size: 13px; }
.tf-athlete-profile-link { width: 100%; margin: 8px 0 14px; }
.tf-athlete-shortcuts { display: grid; }
.tf-athlete-shortcuts a { display: flex; align-items: center; gap: 11px; min-height: 45px; padding: 10px 2px; color: #243c52; border-bottom: 1px solid #e8edf1; font-size: 13px; text-decoration: none; }
.tf-athlete-shortcuts a:last-child { border-bottom: 0; }
.tf-athlete-shortcuts a > i:first-child { width: 20px; color: #128779; text-align: center; }
.tf-athlete-shortcuts a > i:last-child { margin-left: auto; color: #82939f; font-size: 9px; }
.tf-athlete-shortcuts a:hover { color: #07675d; background: #f2faf7; }

#content.tf-athlete-page {
    --athlete-ink: #172f45;
    --athlete-muted: #647589;
    --athlete-line: #e0e8ed;
    --athlete-teal: #0d7c70;
    padding: 30px 36px 48px;
    min-height: calc(100vh - 50px);
    background: #f3f6f8;
    color: var(--athlete-ink);
}
#content.tf-athlete-page *, #content.tf-athlete-page *::before, #content.tf-athlete-page *::after { box-sizing: border-box; }
.tf-athlete-page-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; margin-bottom: 26px; }
.tf-athlete-back { display: inline-flex; gap: 8px; align-items: center; color: var(--athlete-muted); text-decoration: none; font-size: 12px; margin-bottom: 12px; }
.tf-athlete-page-heading h1 { margin: 0 0 6px; font-size: clamp(26px, 3vw, 34px); font-weight: 750; letter-spacing: -.035em; }
.tf-athlete-page-heading p { margin: 0; color: var(--athlete-muted); font-size: 14px; }
#content.tf-athlete-page .tf-athlete-primary { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 18px; background: var(--athlete-teal); border-color: var(--athlete-teal); border-radius: 10px; color: #fff; font-weight: 650; }
#content.tf-athlete-page .tf-athlete-primary:hover { background: #085f56; }
#content.tf-athlete-page .profile { border: 1px solid var(--athlete-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(23, 47, 69, .04); }
#content.tf-athlete-page .profile-header { position: relative; border-radius: 18px; overflow: hidden; background: #fff; }
#content.tf-athlete-page .profile-header-cover { height: 100%; background: linear-gradient(115deg, #132e43 0%, #164c56 70%, #19655f 100%); }
#content.tf-athlete-page .profile-header-cover::before, #content.tf-athlete-page .profile-header-cover::after { display: none; }
#content.tf-athlete-page .profile-header-content { display: flex; align-items: center; gap: 24px; min-height: 175px; padding: 30px; }
#content.tf-athlete-page .profile-header-content::before, #content.tf-athlete-page .profile-header-content::after { display: none; }
#content.tf-athlete-page .profile-header-img { position: static; flex: 0 0 100px; float: none; width: 100px; height: 100px; padding: 0; margin: 0; overflow: hidden; border: 4px solid rgba(255,255,255,.8); border-radius: 24px; background: #e1eceb; }
#content.tf-athlete-page .profile-header-img img { width: 100%; height: 100%; object-fit: cover; }
#content.tf-athlete-page .profile-header-info { flex: 1; min-width: 0; padding: 0; margin: 0; color: #fff; }
#content.tf-athlete-page .tf-athlete-eyebrow { display: block; margin-bottom: 8px; color: #a8ddd1; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
#content.tf-athlete-page .profile-header-info h2 { color: #fff; font-size: clamp(22px, 2.5vw, 30px); font-weight: 700; overflow-wrap: anywhere; }
#content.tf-athlete-page .profile-header-info p { color: #d1e4e9; font-size: 13px; overflow-wrap: anywhere; }
#content.tf-athlete-page .tf-athlete-photo-button { display: inline-flex; align-items: center; gap: 7px; margin-top: 5px; padding: 6px 10px; color: #fff; border: 1px solid #7ba3a8; border-radius: 7px; background: rgba(255,255,255,.07); font-size: 12px; }
#content.tf-athlete-page .tf-athlete-photo-button:hover { background: rgba(255,255,255,.17); }
#content.tf-athlete-page .profile-header-tab { position: relative; display: flex; flex-wrap: nowrap; gap: 5px; margin: 0; padding: 0 24px; background: #fff; border: 0; overflow-x: auto; }
#content.tf-athlete-page .profile-header-tab .nav-item { flex: 0 0 auto; }
#content.tf-athlete-page .profile-header-tab .nav-link { display: flex; align-items: center; gap: 9px; padding: 20px 16px; margin: 0; border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: var(--athlete-muted); font-size: 13px; font-weight: 650; white-space: nowrap; }
#content.tf-athlete-page .profile-header-tab .nav-link:hover { background: #f4faf8; color: var(--athlete-teal); }
#content.tf-athlete-page .profile-header-tab .nav-link.active { background: #fff; color: var(--athlete-teal); border-bottom-color: var(--athlete-teal); }
#content.tf-athlete-page .profile-content { padding: 28px 0 0; }
#content.tf-athlete-page .tf-athlete-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
#content.tf-athlete-page .tf-athlete-section-heading .breadcrumb { display: none; }
#content.tf-athlete-page .tf-athlete-section-heading h2 { margin: 0 0 6px; color: var(--athlete-ink); font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
#content.tf-athlete-page .tf-athlete-description { margin: 6px 0 0; color: var(--athlete-muted); font-size: 13px; }
#content.tf-athlete-page .tf-athlete-section-heading .dropdown-toggle { padding: 10px 14px; color: var(--athlete-ink); border: 1px solid #d1dce4; border-radius: 9px; background: #fff; font-size: 12px; }
#content.tf-athlete-page .card, #content.tf-athlete-page .panel { border: 1px solid var(--athlete-line) !important; border-radius: 13px; box-shadow: 0 3px 14px rgba(23,47,69,.025); }
#content.tf-athlete-page .panel-heading { padding: 17px 20px; background: #fff; color: var(--athlete-ink); border-radius: 13px 13px 0 0; border-bottom: 1px solid var(--athlete-line); }
#content.tf-athlete-page .widget-stats { padding: 21px; background: #fff !important; border: 1px solid var(--athlete-line); border-top: 3px solid #3b93a6; border-radius: 12px; color: var(--athlete-ink) !important; box-shadow: 0 3px 14px rgba(23,47,69,.025); }
#content.tf-athlete-page .widget-stats.bg-info { border-top-color: #0d7c70; }
#content.tf-athlete-page .widget-stats.bg-danger { border-top-color: #bf6878; }
#content.tf-athlete-page .widget-stats.bg-dark { border-top-color: #576787; }
#content.tf-athlete-page .widget-stats .stats-title { color: var(--athlete-muted); font-size: 12px; text-transform: none; }
#content.tf-athlete-page .widget-stats .stats-number { color: var(--athlete-ink); font-size: clamp(18px, 1.8vw, 27px); font-weight: 700; overflow-wrap: anywhere; }
#content.tf-athlete-page .widget-stats .stats-desc { color: var(--athlete-muted); font-size: 11px; }
#content.tf-athlete-page .widget-stats .stats-number .increase { color: var(--athlete-teal); font-size: 12px; }
#content.tf-athlete-page .widget-stats .stats-number .decrease { color: #a74f63; font-size: 12px; }
#content.tf-athlete-page .widget-stats .stats-progress { background: #edf3f4; border-radius: 5px; }
#content.tf-athlete-page .widget-stats .progress-bar { background: var(--athlete-teal); }
#content.tf-athlete-page #profile-about > .table-responsive { border: 1px solid var(--athlete-line); border-radius: 13px; background: #fff; }
#content.tf-athlete-page .table-profile { margin-bottom: 0; }
#content.tf-athlete-page .table-profile th { background: #f9fbfc; }
#content.tf-athlete-page .table-profile th, #content.tf-athlete-page .table-profile td { padding: 16px 22px; border-color: #eaf0f3; }
#content.tf-athlete-page .table-profile .field { width: 190px; text-align: left; color: var(--athlete-muted); font-size: 12px; font-weight: 600; }
#content.tf-athlete-page .table-profile .divider { display: none; }
#content.tf-athlete-page .table-profile h4 { color: var(--athlete-ink); font-size: 16px; }
#content.tf-athlete-page .table-profile h4 small { display: block; margin-top: 5px; color: var(--athlete-muted); font-size: 12px; font-weight: 400; }
#content.tf-athlete-page .table-profile td { color: var(--athlete-ink); font-size: 13px; overflow-wrap: anywhere; }
#content.tf-athlete-page .table-profile a { color: #087369; }
#content.tf-athlete-page .table-profile .form-control, #content.tf-athlete-page .table-profile .form-select { min-height: 42px; border: 1px solid #d6e0e6; border-radius: 8px; color: var(--athlete-ink); background: #fff; }
#content.tf-athlete-page .table-profile .btn { min-height: 40px; border-radius: 8px; }
#content.tf-athlete-page .table-profile .btn-yellow { border-color: var(--athlete-teal); background: var(--athlete-teal); color: white; }
#content.tf-athlete-page #profile-dep .table th { padding: 15px; color: var(--athlete-muted); background: #f6f9fb; font-size: 11px; font-weight: 650; }
#content.tf-athlete-page #profile-dep .table td { padding: 16px 15px; }
#content.tf-athlete-page #profile-jogos .widget-list-item { padding: 16px; border: 1px solid var(--athlete-line); border-radius: 10px !important; background: #f4f8fa !important; }
#content.tf-athlete-page .nav-tabs-v2 .nav-link { padding-block: 15px; color: var(--athlete-muted); }
#content.tf-athlete-page .nav-tabs-v2 .nav-link.active { color: var(--athlete-teal); border-bottom-color: var(--athlete-teal); }
#content.tf-athlete-page :is(a, button, input, select):focus-visible, .tf-athlete-entry a:focus-visible, .tf-athlete-welcome a:focus-visible, #header .tf-header-athlete:focus-visible, #header .tf-header-saved:focus-visible { outline: 3px solid #31b79e; outline-offset: 3px; }

@media (max-width: 1199px) {
    #content.tf-athlete-page { padding: 25px 22px 40px; }
    #content.tf-athlete-page .profile-header-tab { padding-inline: 12px; }
    #content.tf-athlete-page .profile-header-tab .nav-link { padding-inline: 12px; }
}
@media (max-width: 767px) {
    #content.tf-athlete-page { padding: 20px 14px 32px; }
    .tf-athlete-page-heading { margin-bottom: 20px; }
    .tf-athlete-page-heading .tf-athlete-primary { width: 100%; }
    #content.tf-athlete-page .profile-header-content { padding: 24px 18px; gap: 16px; }
    #content.tf-athlete-page .profile-header-img { flex-basis: 72px; width: 72px; height: 72px; border-width: 3px; border-radius: 19px; }
    #content.tf-athlete-page .profile-header-info h2 { font-size: 21px; }
    #content.tf-athlete-page .profile-header-info p { font-size: 12px; }
    #content.tf-athlete-page .profile-header-tab { gap: 0; padding-inline: 8px; }
    #content.tf-athlete-page .profile-header-tab .nav-link { gap: 7px; padding: 16px 12px; font-size: 12px; }
    #content.tf-athlete-page .profile-content { padding-top: 24px; }
    #content.tf-athlete-page .tf-athlete-section-heading > .ms-auto { width: 100%; margin-left: 0 !important; }
    #content.tf-athlete-page .tf-athlete-section-heading .row { --bs-gutter-x: 10px; --bs-gutter-y: 10px; }
    #content.tf-athlete-page .tf-athlete-section-heading .dropdown { width: auto; max-width: 100%; }
    #content.tf-athlete-page .tf-athlete-section-heading .dropdown-toggle { max-width: 100%; white-space: normal; text-align: left; }
    #content.tf-athlete-page .table-profile, #content.tf-athlete-page .table-profile thead, #content.tf-athlete-page .table-profile tbody, #content.tf-athlete-page .table-profile tr, #content.tf-athlete-page .table-profile th, #content.tf-athlete-page .table-profile td { display: block; width: 100%; }
    #content.tf-athlete-page .table-profile tr { padding: 13px 16px; border-bottom: 1px solid #eaf0f3; }
    #content.tf-athlete-page .table-profile th, #content.tf-athlete-page .table-profile td { padding: 3px 0; border: 0; }
    #content.tf-athlete-page .table-profile th:empty, #content.tf-athlete-page .table-profile .divider { display: none; }
    #content.tf-athlete-page .table-profile .field { width: 100%; padding-bottom: 5px; }
    #content.tf-athlete-page .table-profile td a { display: inline-block; padding-block: 7px; }
    #content.tf-athlete-page .table-profile .form-control { width: 100%; max-width: 100%; }
    #content.tf-athlete-page #profile-dep .table { min-width: 450px; }
    #header .tf-header-athlete { padding: 8px 9px; margin-inline: 2px; gap: 5px; font-size: 11px; }
    #header .tf-header-saved { padding-inline: 9px; }
    .tf-home-athlete .tf-hero > .tf-athlete-welcome { order: -1; margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    #content.tf-athlete-page .fade { transition: none; }
}

/* Athlete registrations */
#content.tf-inscricoes { background: #f3f6f8; min-height: calc(100vh - 50px); padding: 30px; color: #183448; }
#content.tf-inscricoes .page-header { font-size: 29px; font-weight: 750; letter-spacing: -.035em; }
.tf-registration-description { margin: 9px 0 0; color: #72818e; font-size: 13px; }
#content.tf-inscricoes .breadcrumb { margin-bottom: 13px; font-size: 11px; }
#content.tf-inscricoes .form-select, #content.tf-inscricoes .input-group-text { border-color: #dce5e9; background: white; min-height: 40px; }
#content.tf-inscricoes .tf-registration-card { margin-top: 24px; border: 1px solid #e0e8ed !important; border-radius: 16px; box-shadow: 0 5px 24px #1e354506; }
#content.tf-inscricoes .tf-registration-card > .nav { padding: 0 24px !important; gap: 20px; border-bottom: 1px solid #e5ecef; }
#content.tf-inscricoes .tf-registration-card > .nav .nav-link { display: flex; align-items: center; gap: 9px; padding: 20px 0 !important; font-size: 12px; font-weight: 650; color: #72818e; }
#content.tf-inscricoes .tf-registration-card > .nav .nav-link.active { color: #097e71; border-bottom-color: #097e71; }
#content.tf-inscricoes .tf-registration-card > .tab-content { padding: 24px !important; }
.tf-registration-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; }
.tf-registration-toolbar h2 { margin: 0 0 5px; font-size: 17px; font-weight: 700; color: #20394c; }
.tf-registration-toolbar > div > span { font-size: 11px; color: #788793; }
.tf-registration-search { display: flex; align-items: center; gap: 10px; width: min(340px, 100%); padding: 11px 13px; border: 1px solid #dfe7eb; border-radius: 10px; background: #f8fafb; color: #789087; }
.tf-registration-search:focus-within { border-color: #158c7c; box-shadow: 0 0 0 3px #14857312; }
.tf-registration-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #243f4f; font-size: 12px; }
.tf-registration-list { display: grid; gap: 12px; }
.tf-registration-row { display: flex; align-items: center; gap: 20px; padding: 18px; border: 1px solid #e2e9ec; border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.tf-registration-row:hover { border-color: #b7d6cf; box-shadow: 0 3px 14px #173f3208; }
.tf-registration-row[hidden] { display: none; }
.tf-registration-image { display: grid; place-items: center; flex: 0 0 72px; width: 72px; height: 72px; padding: 8px; border: 1px solid #e8eeef; border-radius: 12px; background: #f9fbfc; overflow: hidden; }
.tf-registration-image img { width: 100%; height: 100%; object-fit: contain; }
.tf-registration-info { flex: 1; min-width: 0; }
.tf-registration-name { display: block; padding: 0; margin: 0 0 10px; border: 0; background: none; color: #1d394d; font-size: 14px; font-weight: 650; line-height: 1.5; text-align: left; overflow-wrap: anywhere; }
.tf-registration-name:hover { color: #0c8171; }
.tf-registration-status { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border-radius: 6px; font-size: 10px; font-weight: 600; }
.tf-registration-status.is-paid { background: #eaf6ef; color: #28724e; }
.tf-registration-status.is-pending { background: #fff3df; color: #98630e; }
.tf-registration-actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.tf-registration-details { display: flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 14px; min-height: 40px; border: 1px solid #cfe3df; border-radius: 8px; background: #f1f8f6; color: #147568; font-size: 11px; font-weight: 650; }
.tf-registration-details:hover { background: #deefea; }
.tf-registration-checkout { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 4px; color: #627788; text-decoration: none; font-size: 11px; }
.tf-registration-empty { padding: 40px 18px; text-align: center; color: #73858f; }
.tf-registration-empty > i { margin-bottom: 14px; font-size: 25px; color: #75a99a; }
.tf-registration-empty h3 { font-size: 17px; color: #294757; }
.tf-registration-empty a { color: #087c6a; font-weight: 650; }
#content.tf-inscricoes :is(a, button, select):focus-visible { outline: 3px solid #41ac96; outline-offset: 3px; }
@media (max-width: 1100px) { .tf-registration-actions { flex-direction: column; gap: 2px; } }
@media (max-width: 767px) {
    #content.tf-inscricoes { padding: 22px 14px; }
    #content.tf-inscricoes .page-header { font-size: 25px; }
    #content.tf-inscricoes .tf-registration-card > .nav { padding: 0 16px !important; gap: 16px; }
    #content.tf-inscricoes .tf-registration-card > .tab-content { padding: 16px !important; }
    .tf-registration-toolbar { gap: 14px; }
    .tf-registration-search { width: 100%; }
    .tf-registration-row { display: grid; grid-template-columns: 56px minmax(0, 1fr); padding: 14px; gap: 12px; }
    .tf-registration-image { width: 56px; height: 56px; border-radius: 10px; }
    .tf-registration-name { font-size: 12px; }
    .tf-registration-status { font-size: 9px; }
    .tf-registration-actions { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; padding-top: 10px; border-top: 1px solid #edf1f3; }
}

#sidebar .tornfy-public-menu .tf-athlete-entry.active > .menu-link { color: #fff; background: #116f65; border-color: #339b8d; box-shadow: inset 3px 0 0 #74d6c0; }
#sidebar .tornfy-public-menu .tf-athlete-entry.active .menu-icon, #sidebar .tornfy-public-menu .tf-athlete-entry.active .tf-athlete-entry-arrow { color: #b6eee0; }

/* Mobile header: the existing search form overlays the entire actions row. */
#header .tf-mobile-search-trigger, #header .tf-mobile-search-close { display: none; }
@media (max-width: 767px) {
    #header.tf-responsive-header > .navbar-nav { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 4px; min-height: 56px; padding: 7px 14px; border-top: 1px solid #edf2f3; background: #fff; }
    #header.tf-responsive-header > .navbar-nav > .navbar-item { margin: 0; padding: 0; flex: 0 0 auto; }
    #header.tf-responsive-header .tf-mobile-search-trigger { display: block; }
    #header.tf-responsive-header .tf-mobile-search-open, #header.tf-responsive-header .tf-mobile-search-close { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 10px; background: #f1f6f5; color: #385d55; font-size: 16px; }
    #header.tf-responsive-header .navbar-link { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 8px 9px; }
    #header.tf-responsive-header .tf-header-athlete { margin: 0; padding: 9px 11px; gap: 7px; font-size: 11px; }
    #header.tf-responsive-header .tf-header-saved { width: 40px; padding: 0; font-size: 17px; }
    #header.tf-responsive-header .navbar-user img { width: 30px; height: 30px; object-fit: cover; }
    #header.tf-responsive-header > .navbar-nav > .tf-header-search { display: none; }
    #header.tf-responsive-header.tf-search-open > .navbar-nav > .navbar-item:not(.tf-header-search) { visibility: hidden; pointer-events: none; }
    #header.tf-responsive-header.tf-search-open > .navbar-nav > .tf-header-search { position: absolute; inset: 0; z-index: 2; display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 14px; background: #fff; }
    #header.tf-responsive-header .tf-header-search form { flex: 1; min-width: 0; width: auto; margin: 0; padding: 0; }
    #header.tf-responsive-header .tf-header-search .form-group { margin: 0; }
    #header.tf-responsive-header .tf-header-search input { width: 100%; padding-right: 40px; }
    #header.tf-responsive-header .tf-mobile-search-close { flex: 0 0 40px; }
    #header.tf-responsive-header :is(.tf-mobile-search-open, .tf-mobile-search-close):focus-visible { outline: 3px solid #31b79e; outline-offset: 2px; }
}
@media (max-width: 359px) {
    #header.tf-responsive-header > .navbar-nav { padding-inline: 8px; gap: 2px; }
    #header.tf-responsive-header .tf-header-athlete { padding-inline: 8px; gap: 5px; }
    #header.tf-responsive-header .navbar-link { padding-inline: 6px; }
}

/* One athlete entry: photo and label together, with a separate readable cart. */
#header.tf-responsive-header .tf-header-athlete { gap: 9px; padding: 5px 12px 5px 6px; min-height: 40px; }
#header .tf-header-avatar { position: relative; display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; overflow: hidden; border-radius: 50%; background: #dcece6; color: #287260; }
#header .tf-header-avatar > i { position: absolute; font-size: 13px; }
#header .tf-header-avatar > img { position: relative; width: 100%; height: 100%; object-fit: cover; }
#header.tf-responsive-header .navbar-item.dropdown > .navbar-link.icon { position: relative; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; margin: 0 5px; color: #284e49; }
#header.tf-responsive-header .navbar-item.dropdown > .navbar-link.icon > i { font-size: 22px; line-height: 1; }
#header.tf-responsive-header .navbar-item.dropdown > .navbar-link.icon > .badge { position: absolute; top: 0; right: 0 !important; min-width: 18px; height: 18px; padding: 2px 4px; border: 2px solid #fff; border-radius: 10px; background: #078b80; color: #fff; font-size: 9px; line-height: 10px; text-align: center; }

/* Native scrolling, scoped to the Tornfy document and athlete panels. */
html.tf-document,
.tf-document #tfAthletePanel .offcanvas-body,
.tf-document .tf-athlete-page .profile-header-tab,
.tf-document .tf-athlete-page .table-responsive,
.tf-document .tf-inscricoes .table-responsive {
    scrollbar-width: thin;
    scrollbar-color: #a3bbb5 #f3f6f8;
}
@supports selector(::-webkit-scrollbar) {
    html.tf-document,
    .tf-document #tfAthletePanel .offcanvas-body,
    .tf-document .tf-athlete-page .profile-header-tab,
    .tf-document .tf-athlete-page .table-responsive,
    .tf-document .tf-inscricoes .table-responsive { scrollbar-width: auto; scrollbar-color: auto; }
    html.tf-document::-webkit-scrollbar,
    .tf-document #tfAthletePanel .offcanvas-body::-webkit-scrollbar,
    .tf-document .tf-athlete-page .profile-header-tab::-webkit-scrollbar,
    .tf-document .tf-athlete-page .table-responsive::-webkit-scrollbar,
    .tf-document .tf-inscricoes .table-responsive::-webkit-scrollbar { width: 10px; height: 10px; }
    html.tf-document::-webkit-scrollbar-track { background: #f3f6f8; }
    html.tf-document::-webkit-scrollbar-thumb,
    .tf-document #tfAthletePanel .offcanvas-body::-webkit-scrollbar-thumb,
    .tf-document .tf-athlete-page .profile-header-tab::-webkit-scrollbar-thumb,
    .tf-document .tf-athlete-page .table-responsive::-webkit-scrollbar-thumb,
    .tf-document .tf-inscricoes .table-responsive::-webkit-scrollbar-thumb {
        min-height: 48px;
        border: 3px solid transparent;
        border-radius: 20px;
        background: #a3bbb5;
        background-clip: padding-box;
    }
    html.tf-document::-webkit-scrollbar-thumb:hover,
    .tf-document #tfAthletePanel .offcanvas-body::-webkit-scrollbar-thumb:hover,
    .tf-document .tf-athlete-page .profile-header-tab::-webkit-scrollbar-thumb:hover,
    .tf-document .tf-athlete-page .table-responsive::-webkit-scrollbar-thumb:hover,
    .tf-document .tf-inscricoes .table-responsive::-webkit-scrollbar-thumb:hover { border-width: 2px; background-color: #4c9283; }
    html.tf-document::-webkit-scrollbar-thumb:active { background-color: #147a68; }
    html.tf-document::-webkit-scrollbar-button { display: none; width: 0; height: 0; }
    html.tf-document::-webkit-scrollbar-corner { background: transparent; }
}
@media (forced-colors: active) {
    html.tf-document,
    .tf-document #tfAthletePanel .offcanvas-body,
    .tf-document .tf-athlete-page .profile-header-tab,
    .tf-document .tf-athlete-page .table-responsive,
    .tf-document .tf-inscricoes .table-responsive { scrollbar-color: auto; scrollbar-width: auto; }
}

/* Partidas do perfil: mesma apresentação dos jogos da etapa. */
.tf-profile-matches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:16px 0; }
.tf-profile-match { min-width:0; overflow:hidden; background:#fff; border:1px solid #d8e3ec; border-radius:14px; box-shadow:0 10px 28px rgba(18,49,82,.07); color:#153451; }
.tf-profile-match > header { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; padding:10px 12px; background:#fbfcfd; border-bottom:1px solid #e2e9ef; }
.tf-profile-match > header span { font-size:12px; font-weight:700; }
.tf-profile-match > header i { margin-right:6px; color:#b8892d; }
.tf-profile-match > header small { color:#7489a3; font-size:11px; font-weight:700; text-align:right; overflow-wrap:anywhere; }
.tf-profile-match-team { display:flex; align-items:stretch; min-height:58px; border-bottom:1px solid #e2e9ef; }
.tf-profile-match-player { display:flex; flex:1; min-width:0; align-items:center; gap:10px; padding:10px 12px; color:#153451; text-decoration:none; }
.tf-profile-match-player:hover { color:#00877f; background:#f3faf9; }
.tf-profile-match-player:focus-visible { outline:2px solid #00877f; outline-offset:-3px; border-radius:6px; }
.tf-profile-match-player strong { min-width:0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.tf-profile-match-team.is-athlete strong { color:#087c75; }
.tf-profile-match-avatars { display:flex; flex-shrink:0; align-items:center; }
.tf-profile-match-avatar { position:relative; display:grid; place-items:center; width:34px; height:34px; overflow:hidden; border:2px solid #fff; border-radius:50%; background:#e6f1ef; color:#658980; box-shadow:0 2px 6px #15345118; }
.tf-profile-match-avatar + .tf-profile-match-avatar { margin-left:-12px; }
.tf-profile-match-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tf-profile-match-scores { display:flex; flex-shrink:0; }
.tf-profile-match-set { display:grid; place-items:center; width:42px; padding:4px; border-left:1px solid #e2e9ef; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; }
.tf-profile-match-set.is-empty { color:#9cabb9; }
.tf-profile-match > footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; min-height:38px; padding:8px 12px; background:#fbfcfd; color:#7589a2; font-size:11px; }
.tf-profile-match-result { overflow-wrap:anywhere; }
.tf-profile-match-outcome { display:inline-flex; align-items:center; gap:5px; font-weight:700; }
.tf-profile-match-outcome.is-win { color:#087c75; }
.tf-profile-match-outcome.is-loss { color:#ad5468; }
.tf-profile-matches-empty { grid-column:1/-1; padding:20px; color:#7589a2; text-align:center; }
.tf-pair-player { display:flex; align-items:center; gap:12px; padding:12px 0; color:#153451; border-bottom:1px solid #e2e9ef; }
.tf-pair-player img { border-radius:50%; object-fit:cover; }
@media (max-width:991.98px) {
    .tf-profile-matches { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:575.98px) {
    .tf-profile-games > .tab-content { padding:12px; }
    .tf-profile-match-player { gap:8px; padding:10px 8px; }
    .tf-profile-match-set { width:36px; padding:2px; font-size:11px; }
    .tf-profile-match-avatar { width:30px; height:30px; }
}
