:root {
    --enterprise-navy: #173d68;
    --enterprise-blue: #3478e5;
    --enterprise-blue-dark: #245fbf;
    --enterprise-blue-soft: #eaf3ff;
    --enterprise-ink: #1d2a3f;
    --enterprise-muted: #66758b;
    --enterprise-border: #d8e2ee;
    --enterprise-surface: #ffffff;
    --enterprise-background: #f5f8fc;
    --enterprise-radius: 14px;
    --enterprise-shadow: 0 10px 28px rgba(35, 65, 105, 0.08);
}

html, body {
    font-family: Inter, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: var(--enterprise-ink);
    background: var(--enterprise-background);
    font-size: 15px;
}

a, .btn-link {
    color: var(--enterprise-blue);
}

.btn-primary {
    color: #fff;
    background-color: var(--enterprise-blue);
    border-color: var(--enterprise-blue);
}

.btn-outline-primary {
    color: var(--enterprise-blue-dark);
    border-color: #8db4ed;
    background: #fff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: #fff;
    border-color: var(--enterprise-blue);
    background: var(--enterprise-blue);
}

.btn-outline-secondary {
    color: #52647d;
    border-color: #b8c5d5;
    background: #fff;
}

.btn-outline-danger {
    background: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--enterprise-blue-dark);
    border-color: var(--enterprise-blue-dark);
}

.btn {
    border-radius: 9px;
    font-weight: 600;
    padding: 0.52rem 0.95rem;
    transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(35, 65, 105, 0.13);
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(52, 120, 229, 0.35);
}

.content {
    padding-top: 1.75rem;
}

h1 {
    color: #173457;
    font-size: clamp(1.65rem, 2vw, 2.1rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    margin-bottom: 0.45rem;
}

h2, h3, h4, h5 {
    color: #294463;
    font-weight: 650;
}

.text-muted {
    color: var(--enterprise-muted) !important;
}

.card {
    border: 1px solid var(--enterprise-border);
    border-radius: var(--enterprise-radius);
    box-shadow: var(--enterprise-shadow);
    background: var(--enterprise-surface);
    overflow: hidden;
    transition: box-shadow 160ms ease, border-color 160ms ease;
}

.card:hover {
    border-color: #cbd9e8;
    box-shadow: 0 13px 34px rgba(35, 65, 105, 0.1);
}

.card-body {
    padding: 1.45rem;
}

.form-label {
    color: #3a506c;
    font-size: 0.82rem;
    font-weight: 650;
    margin-bottom: 0.38rem;
}

.form-control,
.form-select {
    border-color: #c7d5e5;
    border-radius: 9px;
    min-height: 2.55rem;
    color: var(--enterprise-ink);
    background-color: var(--enterprise-blue-soft);
    transition: border-color 140ms ease, box-shadow 140ms ease, background-color 140ms ease;
}

.form-control:hover,
.form-select:hover {
    border-color: #92add0;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--enterprise-blue);
    background-color: #fff;
    box-shadow: 0 0 0 3px rgba(52, 120, 229, 0.14);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled {
    background-color: #eef1f5;
}

.table {
    --bs-table-bg: transparent;
    border-color: var(--enterprise-border);
    color: #26354d;
    margin-bottom: 0;
}

.table > thead > tr > th {
    background: #e9f0f8;
    color: #334155;
    border-bottom: 1px solid #cbd5e1;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    white-space: nowrap;
}

.table > tbody > tr > td {
    border-color: #e5eaf1;
}

.table > tbody > tr:hover > td {
    background-color: #f3f8ff;
}

.table-responsive {
    border: 1px solid var(--enterprise-border);
    border-radius: 12px;
    background: #fff;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.app-language-selector {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-left: auto;
}

.app-language-selector .form-select {
    width: auto;
    min-width: 7.5rem;
    padding-top: .25rem;
    padding-bottom: .25rem;
    background-color: #fff;
    border-color: #b8c5d5;
    font-weight: 700;
}

.contact-page {
    max-width: 1120px;
}

.contact-hero {
    background: linear-gradient(135deg, #ffffff 0%, #eef5ff 100%);
    overflow: hidden;
    position: relative;
}

.contact-hero::after {
    background: rgba(37, 99, 235, .08);
    border-radius: 50%;
    content: "";
    height: 18rem;
    position: absolute;
    right: -7rem;
    top: -9rem;
    width: 18rem;
}

.contact-hero .card-body {
    position: relative;
    z-index: 1;
}

.contact-email-box {
    background: #eef5ff;
    border: 1px solid #c9dcf7;
}

.contact-checklist {
    display: grid;
    gap: .85rem;
    padding-left: 1.25rem;
}

.contact-checklist li::marker {
    color: #2563eb;
}

.alert {
    border: 0;
    border-left: 4px solid currentColor;
    border-radius: 11px;
    box-shadow: 0 4px 14px rgba(35, 65, 105, 0.06);
}

.alert-info {
    color: #15536c;
    background: #e8f7fb;
}

.alert-success {
    color: #176044;
    background: #eaf8f1;
}

.badge {
    border-radius: 999px;
    padding: .4em .7em;
    font-weight: 650;
}

.list-group {
    border-radius: var(--enterprise-radius);
    box-shadow: var(--enterprise-shadow);
}

.list-group-item {
    border-color: var(--enterprise-border);
    padding: 0.9rem 1rem;
}

.estado-vazio-provas {
    max-width: 42rem;
    margin: clamp(2rem, 8vh, 5rem) auto 0;
}

.estado-vazio-provas .card-body {
    padding: clamp(2rem, 5vw, 3.5rem);
}

.estado-vazio-provas-icone {
    display: grid;
    place-items: center;
    width: 3.5rem;
    height: 3.5rem;
    margin: 0 auto 1.25rem;
    color: var(--enterprise-blue-dark);
    background: var(--enterprise-blue-soft);
    border-radius: 50%;
    font-size: 2rem;
    font-weight: 500;
}

.estado-vazio-provas p {
    max-width: 34rem;
    margin: 0 auto 1.5rem;
    color: var(--enterprise-muted);
    font-size: 1.02rem;
}

.importacao-atiradores-acoes {
    display: grid;
    grid-template-columns: minmax(18rem, 28rem) auto;
    align-items: center;
    gap: .75rem;
}

@media (max-width: 767.98px) {
    .importacao-atiradores-acoes {
        width: 100%;
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .content {
        min-width: 0;
    }

    .card-body {
        padding: 1rem;
    }

    .form-control,
    .form-select {
        font-size: 1rem;
    }

    .table-responsive {
        scrollbar-color: #7d92ad #edf2f7;
        scrollbar-width: thin;
    }

    .table-responsive::-webkit-scrollbar {
        height: .65rem;
    }

    .table-responsive::-webkit-scrollbar-thumb {
        border: 2px solid #edf2f7;
        border-radius: 999px;
        background: #7d92ad;
    }

    .table-responsive::-webkit-scrollbar-track {
        background: #edf2f7;
    }

    .dados-prova-topo {
        grid-template-columns: minmax(0, 1fr);
        gap: .75rem;
    }

    .dados-prova-logotipos {
        justify-content: flex-start;
        min-height: 4.75rem;
        max-width: 100%;
        overflow-x: auto;
    }

    .dados-prova-logotipo {
        width: 5.25rem;
        height: 4.75rem;
        flex-basis: 5.25rem;
    }

    .dados-prova-logotipo img {
        max-height: 4.75rem;
    }

    .introducao-cabecalho-botoes {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .introducao-cabecalho-botoes .btn {
        flex: 1 1 10rem;
    }

    .content .d-flex.gap-2:not(.introducao-cabecalho-botoes),
    .content .d-flex.gap-3 {
        flex-wrap: wrap;
    }

    .tabela-introducao-resultados {
        min-width: 82rem;
        font-size: .72rem;
    }

    .tabela-series {
        min-width: 62rem;
    }

    .tabela-classificacoes {
        min-width: max-content;
    }

    .resultados-series {
        min-width: max-content;
    }

    .tabela-atiradores,
    .tabela-utilizadores-registados {
        min-width: 72rem;
    }

    .tabela-historico-provas,
    .tabela-provas-abertas {
        min-width: 58rem;
    }

    .tabela-classificacoes-atirador {
        min-width: 32rem;
    }

    .resultado-prato-botao {
        min-height: 2.25rem;
        min-width: 2.25rem;
    }
}

@media (max-width: 575.98px) {
    html, body {
        font-size: 14px;
    }

    h1 {
        font-size: 1.55rem;
    }

    h2.h4 {
        font-size: 1.2rem;
    }

    .card {
        border-radius: 11px;
    }

    .alert {
        padding: .85rem;
    }

    .app-language-selector {
        gap: .25rem;
    }

    .app-language-selector .form-select {
        min-width: 6.5rem;
        font-size: 16px;
    }

    .form-control,
    .form-select {
        font-size: 16px;
    }

    .content > .d-flex.justify-content-between,
    .card-body > .d-flex.justify-content-between {
        align-items: stretch !important;
        flex-direction: column;
    }

    .content > .d-flex.justify-content-between > .btn,
    .card-body > .d-flex.justify-content-between > .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
.resultado-maximo {
    color: #dc3545 !important;
    font-weight: 700;
}

.resultados-series th,
.resultados-series td {
    min-width: 1.75rem;
    height: 2.35rem;
    vertical-align: middle;
    border: 1.5px solid #475569 !important;
}

.resultados-series {
    border: 2.5px solid #334155;
    border-collapse: collapse;
}

.resultados-series thead th {
    color: #172033;
    background: #c9cdd2;
    border-color: #334155 !important;
    border-bottom-width: 2.5px !important;
    font-size: .72rem;
    font-weight: 800;
}

.resultados-series tbody tr + tr td {
    border-top-width: 2px !important;
}

.resultados-series th:nth-child(5),
.resultados-series td:nth-child(5) {
    border-right-width: 2.5px !important;
}

.resultados-series th:last-child,
.resultados-series td:last-child {
    border-left-width: 2.5px !important;
    font-weight: 800;
}

.resultados-series .form-control {
    border: 1.5px solid #64748b;
    border-radius: .2rem;
    font-weight: 700;
}

.resultado-prato-botao {
    align-items: center;
    background: #fff;
    border: 1.5px solid #94a3b8;
    border-radius: .2rem;
    display: inline-flex;
    font-size: 1.15rem;
    font-weight: 900;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 2rem;
}

.resultado-prato-botao.prato-partido {
    background: #ecfdf3;
    border-color: #22c55e;
    color: #15803d;
}

.resultado-prato-botao.prato-nao-partido {
    background: #fff1f2;
    border-color: #ef4444;
    color: #dc2626;
}

.resultado-prato-botao.prato-sem-resultado {
    color: #64748b;
}

.resultado-prato-botao:hover,
.resultado-prato-botao:focus-visible {
    box-shadow: 0 0 0 .16rem rgba(37, 99, 235, .18);
    outline: 0;
}

.resultados-series th:nth-child(4),
.resultados-series td:nth-child(4) {
    min-width: 12rem;
}

.resultados-series .prato-falhado,
.resultados-series .prato-falhado input {
    background-color: #fff1f2 !important;
}

.resultados-series .total-invalido {
    background-color: #fd7e14 !important;
    color: white;
    font-weight: 700;
}

.resultados-series .total-25,
.results-series-print-page .total-25 {
    color: #dc2626 !important;
    font-weight: 800;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.resultados-series .total-invalido {
    color: white !important;
}

.resultados-series tr.resultado-detalhe-obrigatorio > td {
    background-color: #fde8e8;
}

.resultados-series tr.resultado-detalhe-obrigatorio input,
.resultados-series tr.resultado-detalhe-obrigatorio .resultado-prato-botao {
    background-color: #fff5f5;
    border-color: #e3a4a4;
}

.pranchada-destacada {
    border: 3px solid #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15);
}

.btn-preencher-25 {
    background-color: #fd7e14;
    border-color: #fd7e14;
    color: #fff;
}

.btn-preencher-25:hover,
.btn-preencher-25:focus {
    background-color: #dc6502;
    border-color: #cf5f02;
    color: #fff;
}

.btn-preencher-empatados {
    background-color: #b45309;
    border-color: #b45309;
    color: #fff;
}

.btn-preencher-empatados:hover,
.btn-preencher-empatados:focus {
    background-color: #92400e;
    border-color: #92400e;
    color: #fff;
}

.btn-preencher-empatados:disabled {
    background-color: #cbd5e1;
    border-color: #cbd5e1;
    color: #64748b;
}

.painel-escolha-desempate {
    scroll-margin-top: 1rem;
}

.logotipo-card {
    overflow: hidden;
}

.logotipo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 12rem;
    padding: 1.5rem;
    background: #f8fafc;
    border-bottom: 1px solid #dbe3ec;
}

.logotipo-preview img {
    display: block;
    max-width: 100%;
    max-height: 9rem;
    object-fit: contain;
}

.dados-prova-topo {
    display: grid;
    grid-template-columns: minmax(20rem, 1fr) minmax(30rem, 1.4fr);
    align-items: center;
    gap: 2rem;
    margin-bottom: 1rem;
}

.dados-prova-logotipos {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    min-height: 7.5rem;
    padding: .5rem 0;
}

.dados-prova-logotipo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7.5rem;
    flex: 0 0 7.5rem;
    height: 6.5rem;
}

.dados-prova-logotipo img {
    display: block;
    max-width: 100%;
    max-height: 6.5rem;
    object-fit: contain;
}

.dados-prova-logotipo-oculto {
    display: none;
}

.introducao-cabecalho-acoes {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.introducao-cabecalho-botoes {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.tabela-introducao-resultados {
    border: 2.5px solid #334155;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
    min-width: 0;
    font-size: clamp(.58rem, .68vw, .78rem);
}

.tabela-introducao-resultados .col-intro-dorsal { width: 4.5%; }
.tabela-introducao-resultados .col-intro-fptac { width: 5.5%; }
.tabela-introducao-resultados .col-intro-nome { width: 12%; }
.tabela-introducao-resultados .col-intro-clube { width: 12%; }
.tabela-introducao-resultados .col-intro-equipa { width: 4.5%; }
.tabela-introducao-resultados .col-intro-categoria { width: 6%; }
.tabela-introducao-resultados .col-intro-escalao { width: 6.5%; }
.tabela-introducao-resultados .col-intro-desempate { width: 9%; }

.tabela-introducao-resultados > :not(caption) > * > * {
    border: 1.5px solid #475569 !important;
}

.tabela-introducao-resultados thead th {
    padding: .3rem .15rem;
    width: auto;
    height: 3.5rem;
    color: #172033;
    text-align: center;
    vertical-align: middle;
    background: #dbe7f5;
    border-color: #334155 !important;
    border-bottom-width: 2.5px !important;
    position: relative;
}

.tabela-introducao-resultados thead th::after {
    background: transparent;
    bottom: 0;
    content: "";
    cursor: col-resize;
    position: absolute;
    right: -1px;
    top: 0;
    touch-action: none;
    transition: background-color .15s ease;
    width: 3px;
    z-index: 4;
}

.tabela-introducao-resultados thead th.column-resize-hover::after,
.tabela-introducao-resultados thead th.is-resizing::after {
    background: #2563eb;
}

.tabela-introducao-resultados thead th.column-resize-hover,
.tabela-introducao-resultados thead th.column-resize-hover * {
    cursor: col-resize !important;
}

body.column-resizing,
body.column-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
}

.tabela-introducao-resultados thead .botao-ordenacao {
    align-items: center;
    border-radius: .65rem;
    display: inline-flex;
    justify-content: center;
    line-height: 1.15;
    min-height: 2rem;
    padding: 0;
    font-size: inherit;
    text-align: center;
    white-space: normal;
    width: 100%;
    overflow: hidden;
}

.legal-document {
    width: min(920px, 100%);
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid #d7e1ef;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 14px 34px rgba(25, 56, 96, 0.08);
}

.legal-document-header {
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #dbe8f8;
}

.legal-document-header h1 {
    margin-bottom: .35rem;
}

.legal-document-header > p:last-child,
.legal-document-kicker {
    color: #5d6f87;
}

.legal-document-kicker {
    margin-bottom: .35rem;
    color: #246be7;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.legal-document section + section {
    margin-top: 1.5rem;
}

.legal-document h2 {
    font-size: 1.15rem;
}

.legal-document p,
.legal-document li {
    line-height: 1.65;
}

.legal-document-back {
    padding-top: 1rem;
    margin: 2rem 0 0;
    border-top: 1px solid #e2e8f0;
}

.tabela-introducao-resultados thead .cabecalho-final {
    flex-direction: column;
    gap: .15rem;
    height: 100%;
    text-align: center;
}

.tabela-introducao-resultados thead .cabecalho-final span,
.tabela-introducao-resultados thead .cabecalho-final small {
    display: block;
    width: 100%;
    text-align: center;
}

.tabela-introducao-resultados tbody tr + tr td {
    border-top-width: 1.5px !important;
}

.tabela-introducao-resultados tbody td {
    width: auto;
    height: 2.75rem;
    padding: .2rem;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    vertical-align: middle;
    white-space: nowrap;
    background: #fff;
}

.tabela-introducao-resultados tbody tr {
    height: 2.75rem;
}

.tabela-introducao-resultados tbody tr:hover td {
    background: #f3f7fc;
}

.tabela-introducao-resultados .form-control,
.tabela-introducao-resultados .form-select {
    border: 1.5px solid #64748b;
    box-sizing: border-box;
    height: 2rem;
    margin: 0;
    min-width: 0;
    padding: .15rem;
    font-size: inherit;
    text-align: center;
    width: 100%;
}

.tabela-introducao-resultados tbody .btn,
.tabela-introducao-resultados tbody .badge {
    padding: .25rem .3rem;
    font-size: inherit;
    line-height: 1.1;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.tabela-introducao-resultados input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}

.tabela-introducao-resultados input[type="number"]::-webkit-inner-spin-button,
.tabela-introducao-resultados input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.tabela-series {
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.tabela-series > :not(caption) > * > * {
    border: 1.5px solid #475569 !important;
}

.tabela-series thead th {
    padding: .65rem .5rem;
    color: #172033;
    white-space: nowrap;
    background: #dbe7f5;
    border-color: #334155 !important;
    border-bottom-width: 2.5px !important;
}

.tabela-series thead th:first-child {
    border-top-left-radius: .75rem;
}

.tabela-series thead th:last-child {
    border-top-right-radius: .75rem;
}

.tabela-series .grupo-serie {
    border: 2px solid #334155;
}

.tabela-series .grupo-serie + .grupo-serie {
    border-top: .7rem solid #eef3f9;
}

.tabela-series .separador-series td {
    height: .8rem;
    padding: 0 !important;
    background: #eef3f9 !important;
    border: 0 !important;
}

.tabela-series .grupo-serie tr:first-child td {
    border-top-width: 3px !important;
    border-top-color: #0f172a !important;
}

.tabela-series .grupo-serie tr:last-child td {
    border-bottom-width: 3px !important;
    border-bottom-color: #0f172a !important;
}

.tabela-series .grupo-serie tr.inicio-serie > td {
    border-top: 3px solid #0f172a !important;
}

.tabela-series .grupo-serie tr.fim-serie > td {
    border-bottom: 3px solid #0f172a !important;
}

.tabela-series .grupo-serie .numero-esquadra {
    border-top: 3px solid #0f172a !important;
    border-bottom: 3px solid #0f172a !important;
    border-left: 3px solid #0f172a !important;
    border-radius: .75rem 0 0 .75rem;
}

.tabela-series .grupo-serie tr > td:last-child {
    border-right: 3px solid #0f172a !important;
}

.tabela-series .grupo-serie tr:first-child > td:last-child {
    border-top-right-radius: .75rem;
}

.tabela-series .grupo-serie tr:last-child > td:last-child {
    border-bottom-right-radius: .75rem;
}

.tabela-series thead + .grupo-serie .numero-esquadra {
    border-top-left-radius: 0;
}

.tabela-series thead + .grupo-serie tr:first-child > td:last-child {
    border-top-right-radius: 0;
}

.tabela-series .numero-esquadra {
    min-width: 5rem;
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    background: #f8fafc;
    border-right-width: 2px !important;
}

.tabela-series .form-control {
    border: 1.5px solid #64748b;
    font-weight: 700;
}

.tabela-series tbody tr:hover td:not(.numero-esquadra) {
    background: #f3f7fc;
}

.tabela-classificacoes {
    border: 2px solid #111827;
    border-collapse: collapse;
    font-size: .82rem;
}

.tabela-classificacoes > :not(caption) > * > * {
    padding: .38rem .42rem;
    border: 1.25px solid #1f2937 !important;
    text-align: center;
    white-space: nowrap;
}

.tabela-classificacoes thead th {
    color: #111;
    background: #c9cdd2;
    border-bottom-width: 2px !important;
    font-size: .72rem;
    font-weight: 800;
}

.tabela-classificacoes tbody td {
    color: #111827;
    background: #fff;
    font-weight: 650;
}

.tabela-classificacoes tbody tr:hover td {
    background: #eef4fb;
}

.tabela-classificacoes .total-classificacao {
    font-weight: 850;
}

@media (max-width: 991.98px) {
    .dados-prova-topo {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .dados-prova-logotipos {
        min-height: 6rem;
        padding-inline: 0;
    }

    .dados-prova-logotipo,
    .dados-prova-logotipo img {
        max-height: 5.5rem;
    }

    .introducao-cabecalho-botoes {
        justify-content: flex-start;
    }
}

.results-series-print-document {
    display: none;
}

@media print {
    @page results-series-sheet {
        size: 297mm 210mm;
        margin: 15mm;
    }

    body.results-series-pdf-printing * {
        visibility: hidden !important;
    }

    body.results-series-pdf-printing #results-series-pdf-document,
    body.results-series-pdf-printing #results-series-pdf-document * {
        visibility: visible !important;
    }

    body.results-series-pdf-printing #results-series-pdf-document {
        display: block !important;
        position: absolute;
        inset: 0;
        width: 100%;
        color: #000;
        background: #fff;
        font-family: Arial, Helvetica, sans-serif;
    }

    .results-series-print-page {
        page: results-series-sheet;
        box-sizing: border-box;
        width: 267mm;
        height: 180mm;
        min-height: 180mm;
        max-height: 180mm;
        overflow: hidden;
        break-inside: avoid;
        page-break-inside: avoid;
        break-after: page;
        page-break-after: always;
    }

    .results-series-print-page:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    .results-series-print-header {
        display: grid;
        grid-template-columns: 20% 60% 20%;
        align-items: center;
        height: 40mm;
        min-height: 40mm;
        margin-bottom: 1mm;
        text-align: center;
        line-height: 1.15;
    }

    .results-series-print-header h1 {
        margin: 2mm 0 0;
        font-size: 15pt;
        text-transform: uppercase;
    }

    .results-series-print-header h2 {
        margin: 4mm 0 0;
        font-size: 13pt;
    }

    .results-series-print-club {
        font-size: 15pt;
        font-weight: 700;
        text-transform: uppercase;
    }

    .results-series-print-logos-left {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 2mm;
    }

    .results-series-print-logo-club {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .results-series-print-logos-left img,
    .results-series-print-logo-club img {
        display: block;
        max-width: 30mm;
        max-height: 30mm;
        object-fit: contain;
    }

    .results-series-print-event {
        display: flex;
        align-items: baseline;
        gap: 3mm;
        min-height: 7mm;
        margin: 0 1mm 3mm;
        font-size: 12pt;
    }

    .results-series-print-event span {
        font-weight: 700;
    }

    .results-series-print-subheader {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        min-height: 7mm;
        margin: 0 1mm 3mm;
        font-size: 11pt;
        text-align: center;
    }

    .results-series-print-subheader strong {
        text-decoration: underline;
        text-underline-offset: 1mm;
    }

    .results-series-print-subheader strong:first-child {
        text-align: left;
    }

    .results-series-print-subheader strong:last-child {
        text-align: right;
    }

    .results-series-print-page table {
        width: 100%;
        border-collapse: collapse;
        border: 0.5mm solid #000;
        table-layout: fixed;
        font-size: 7pt;
    }

    .results-series-print-page th,
    .results-series-print-page td {
        box-sizing: border-box;
        height: 14mm;
        padding: 0;
        border: 0.25mm solid #475569;
        text-align: center;
        vertical-align: middle;
        overflow: hidden;
    }

    .results-series-print-page th {
        height: 6mm;
        padding: 0.4mm;
        background: #d9dde3 !important;
        border: 0.4mm solid #000;
        font-weight: 700;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .results-series-print-shot {
        position: relative;
        border-color: #000;
    }

    .results-series-print-rotation,
    .results-series-print-result {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
    }

    .results-series-print-rotation {
        height: 4mm;
        border-bottom: 0.25mm solid #000;
        font-size: 5pt;
        font-weight: 700;
    }

    .results-series-print-result {
        height: 10mm;
        font-size: 9pt;
        font-weight: 700;
    }

    .results-series-print-result.prato-falhado {
        background: #dc3545 !important;
        color: #fff !important;
        font-weight: 700;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .results-series-print-page th:nth-child(1) { width: 2.5%; }
    .results-series-print-page th:nth-child(2) { width: 3.8%; }
    .results-series-print-page th:nth-child(3) { width: 6.2%; }
    .results-series-print-page th:nth-child(4) { width: 20%; }
    .results-series-print-page th:nth-child(5) { width: 4.8%; }
    .results-series-print-page th:nth-last-child(1) { width: 4.8%; }

    .results-series-print-page th:nth-child(5),
    .results-series-print-page td:nth-child(5) {
        border-right: 0.5mm solid #000;
    }

    .results-series-print-page th:last-child,
    .results-series-print-page td:last-child {
        border-left: 0.5mm solid #000;
        font-weight: 800;
    }

    .results-series-print-page tbody tr + tr td {
        border-top: 0.35mm solid #000;
    }

    .results-series-print-referee {
        width: 59%;
        margin: 12mm auto 0;
        text-align: center;
        font-size: 9pt;
    }

    .results-series-print-referee span {
        display: block;
        width: 100%;
        margin-bottom: 2mm;
        border-top: 0.35mm solid #000;
    }
}

.tabela-atiradores {
    min-width: 1120px;
}

.tabela-atiradores td:nth-child(n+3):nth-child(-n+8) {
    background-color: #fffde7;
}

.tabela-atiradores .form-select-sm {
    min-width: 6.5rem;
    min-height: 2.1rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-size: 0.8rem;
}

.lista-atiradores-registados {
    overflow: hidden;
    border: 2px solid #0f172a;
    background: #fff;
}

.lista-atiradores-registados > h2 {
    margin: 0;
    padding: .5rem .75rem;
    border-bottom: 2px solid #0f172a;
    background: #f8fafc;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}

.tabela-atiradores-listagem {
    min-width: 980px;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: 2px solid #000 !important;
    color: #0f172a;
    font-size: .88rem;
}

.tabela-atiradores-listagem > :not(caption) > * > * {
    padding: .3rem .45rem;
    border: 2px solid #000 !important;
    background: #fff;
}

.tabela-atiradores-listagem thead th {
    vertical-align: middle;
    background: #e2e8f0;
    color: #0f172a;
    font-weight: 800;
    text-align: center;
}

.tabela-atiradores-listagem thead tr:last-child th {
    border-bottom-width: 2px;
}

.tabela-atiradores-listagem th:nth-child(2),
.tabela-atiradores-listagem td:nth-child(2),
.tabela-atiradores-listagem th:nth-child(4),
.tabela-atiradores-listagem td:nth-child(4),
.tabela-atiradores-listagem th:nth-child(6),
.tabela-atiradores-listagem td:nth-child(6),
.tabela-atiradores-listagem th:nth-child(8),
.tabela-atiradores-listagem td:nth-child(8),
.tabela-atiradores-listagem th:nth-child(9),
.tabela-atiradores-listagem td:nth-child(9) {
    border-right-width: 2px;
}

.tabela-atiradores-listagem .botao-ordenacao {
    width: 100%;
    padding: .15rem .2rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 800;
    text-align: inherit;
    cursor: pointer;
}

.tabela-atiradores-listagem .botao-ordenacao:hover,
.tabela-atiradores-listagem .botao-ordenacao:focus-visible {
    color: #1d4ed8;
    text-decoration: underline;
}

.tabela-atiradores-listagem tbody td:first-child,
.tabela-atiradores-listagem tbody td:nth-child(n+3):nth-child(-n+8) {
    background: #fff;
    color: #000;
    font-weight: 700;
    text-align: center;
}

.tabela-atiradores-listagem thead tr:last-child th,
.tabela-atiradores-listagem tbody td:nth-child(n+3):nth-child(-n+8) {
    width: 7.5rem;
    min-width: 7.5rem;
    max-width: 7.5rem;
}

.tabela-atiradores-listagem tbody td:nth-child(4),
.tabela-atiradores-listagem tbody td:nth-child(6),
.tabela-atiradores-listagem tbody td:nth-child(8),
.tabela-atiradores-listagem tbody td:nth-child(2),
.tabela-atiradores-listagem thead tr:last-child th:nth-child(2),
.tabela-atiradores-listagem thead tr:last-child th:nth-child(4),
.tabela-atiradores-listagem thead tr:last-child th:nth-child(6),
.tabela-atiradores-listagem thead tr:first-child th:nth-child(2),
.tabela-atiradores-listagem thead tr:first-child th:nth-child(3),
.tabela-atiradores-listagem thead tr:first-child th:nth-child(4),
.tabela-atiradores-listagem thead tr:first-child th:nth-child(5) {
    border-right: 5px double #000 !important;
}

.tabela-atiradores-listagem th:nth-child(2),
.tabela-atiradores-listagem td:nth-child(2) {
    min-width: 18rem;
    text-align: left;
}

.tabela-atiradores-listagem th:nth-child(9),
.tabela-atiradores-listagem td:nth-child(9) {
    min-width: 13rem;
    text-align: left;
}

.tabela-atiradores-listagem tbody td:nth-child(2),
.tabela-atiradores-listagem tbody td:nth-child(9) {
    color: #000;
}

.tabela-atiradores-listagem tbody td {
    color: #000;
}

.tabela-atiradores-listagem th:last-child,
.tabela-atiradores-listagem td:last-child {
    width: 1%;
    white-space: nowrap;
    text-align: center;
}

.pesquisa-atiradores {
    border-color: #93c5fd;
    background: #eff6ff;
}

.pesquisa-atiradores .card-body {
    padding: 1rem;
}

.table tr.prova-aberta-selecionada > td {
    border-top: 2px solid #2563eb;
    border-bottom: 2px solid #2563eb;
    background: #dbeafe;
    font-weight: 700;
}

.table tr.prova-aberta-selecionada > td:first-child {
    border-left: 2px solid #2563eb;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.table tr.prova-aberta-selecionada > td:last-child {
    border-right: 2px solid #2563eb;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.tabela-provas-abertas {
    border-collapse: separate;
    border-spacing: 0;
}

.tabela-historico-provas .botao-ordenacao {
    width: 100%;
    padding: .2rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.tabela-historico-provas .botao-ordenacao:hover,
.tabela-historico-provas .botao-ordenacao:focus-visible {
    color: #1d4ed8;
    text-decoration: underline;
}

.tabela-historico-provas .prova-eliminada-historico > td:not(:last-child) {
    color: #c1121f;
    font-weight: 700;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.tabela-historico-provas .estado-prova-eliminada {
    color: #c1121f;
    font-weight: 700;
}

.tabela-atiradores-listagem tr.atirador-dados-incompletos > td {
    background: #ffedd5 !important;
    border-color: #9a3412 !important;
}

.tabela-atiradores-listagem tr.atirador-dados-incompletos:hover > td {
    background: #fed7aa !important;
}

.tabela-atiradores-listagem tr.atirador-em-edicao > td {
    background: #dbeafe !important;
}

.tabela-atiradores-listagem tr.atirador-em-edicao .form-select {
    width: 100%;
    min-width: 0;
    border: 1.5px solid #1d4ed8;
    background-color: #eff6ff;
    font-weight: 700;
}

.tabela-atiradores-listagem tr.linha-inscricao-atirador > td {
    padding: .65rem .75rem;
    border-top: 3px double #000 !important;
    border-bottom: 3px double #000 !important;
    background: #ecfdf5 !important;
}

.tabela-atiradores-listagem tr.linha-inscricao-atirador .form-select {
    border: 1.5px solid #15803d;
    background-color: #f0fdf4;
}

.tabela-atiradores-listagem tbody tr:hover > td {
    background: #ecfdf5;
}

.series-print-document {
    display: none;
}

@media print {
    @page series-sheet {
        size: 210mm 297mm;
        margin: 20mm;
    }

    body.series-pdf-printing * {
        visibility: hidden !important;
    }

    body.series-pdf-printing #series-pdf-document,
    body.series-pdf-printing #series-pdf-document * {
        visibility: visible !important;
    }

    body.series-pdf-printing #series-pdf-document {
        display: block !important;
        position: absolute;
        inset: 0;
        width: 100%;
        color: #000;
        background: #fff;
        font-family: Arial, Helvetica, sans-serif;
    }

    .series-print-page {
        page: series-sheet;
        min-height: 257mm;
        break-after: page;
        page-break-after: always;
    }

    .series-print-page:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    .series-print-header {
        min-height: 51mm;
        margin-bottom: 4mm;
        padding-top: 4mm;
        text-align: center;
    }

    .series-print-header-layout {
        display: grid;
        grid-template-columns: 16% 68% 16%;
        align-items: center;
        column-gap: 3mm;
        min-height: 43mm;
    }

    .series-print-logos-left {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 2mm;
        height: 34mm;
        min-width: 0;
    }

    .series-print-logo-club {
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        height: 34mm;
        min-width: 0;
        padding: 1.5mm 2.5mm;
    }

    .series-print-logos-left img,
    .series-print-logo-club img {
        display: block;
        box-sizing: border-box;
        flex: 0 1 auto;
        height: 31mm;
        width: 19mm;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .series-print-logos-left img {
        width: 19mm;
    }

    .series-print-logos-left img:only-child,
    .series-print-logo-club img {
        width: 31mm;
    }

    .series-print-logo-club img {
        width: 100%;
        height: 100%;
        max-width: 29mm;
        max-height: 29mm;
        object-fit: contain;
        object-position: center;
    }

    .series-print-heading {
        min-width: 0;
        text-align: center;
    }

    .series-print-header h1 {
        margin: 1mm 0 1mm;
        font-size: 24pt;
        text-transform: uppercase;
    }

    .series-print-header h2 {
        margin: 0 0 3mm;
        font-size: 10pt;
    }

    .series-print-entity,
    .series-print-club {
        font-size: 12pt;
        font-weight: 700;
        text-transform: uppercase;
    }

    .series-print-entity {
        white-space: nowrap;
    }

    .series-print-club {
        margin-top: 3mm;
        font-size: 11pt;
    }

    .series-print-page table {
        width: 100%;
        border-collapse: collapse;
        border: 0;
        table-layout: auto;
        font-size: 6.5pt;
    }

    .series-print-page th,
    .series-print-page td {
        box-sizing: border-box;
        height: 3.8mm;
        min-height: 3.8mm;
        max-height: 3.8mm;
        padding: 0.35mm 0.8mm;
        border: 0.25mm solid #64748b;
        text-align: center;
        vertical-align: middle;
        line-height: 1;
        white-space: nowrap;
    }

    .series-print-squad tr {
        height: 3.8mm;
        min-height: 3.8mm;
        max-height: 3.8mm;
    }

    .series-print-page th {
        height: 5mm;
        background: #d9dde3 !important;
        border: 0.4mm solid #000;
        font-weight: 700;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .series-print-squad {
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .series-print-spacer td {
        height: 3.5mm !important;
        padding: 0 !important;
        background: #fff !important;
        border: 0 !important;
    }

    .series-print-squad tr:first-child td {
        border-top: 0.5mm solid #000;
    }

    .series-print-squad tr:last-child td {
        border-bottom: 0.5mm solid #000;
    }

    .series-print-squad tr td:last-child {
        border-right: 0.5mm solid #000;
    }

    .series-print-squad-number {
        font-size: 18pt;
        font-weight: 800;
        border: 0.5mm solid #000 !important;
    }

    .series-print-dorsal {
        font-size: 7.5pt;
        font-weight: 800;
    }

    .series-print-col-squad { width: 9%; }
    .series-print-col-dorsal { width: 5%; }
    .series-print-col-fptac { width: 7%; }
    .series-print-col-category { width: 6%; }
    .series-print-col-rank { width: 7%; }
    .series-print-col-team { width: 5%; }

    .series-print-col-name,
    .series-print-col-club {
        width: auto;
    }

    .series-print-text {
        overflow: visible;
        text-overflow: clip;
    }

    body.series-pdf-landscape .series-print-page {
        min-height: 190mm;
    }

    body.series-pdf-landscape .series-print-header {
        min-height: 43mm;
        padding-top: 1mm;
    }

    body.series-pdf-landscape .series-print-header-layout {
        min-height: 40mm;
    }

    body.series-pdf-landscape .series-print-page table {
        font-size: 7.5pt;
    }

    body.series-pdf-landscape .series-print-entity {
        font-size: 14pt;
    }
}

.classification-print-document {
    display: none;
}

.tabela-utilizadores-registados th,
.tabela-utilizadores-registados td {
    border-color: #64748b;
}

.tabela-utilizadores-registados thead th {
    background: #e8f1fb;
}

.campo-quantidade-provas {
    max-width: 7rem;
}

.linha-historico-atribuicoes > td {
    background: #f8fafc;
}

.tabela-historico-atribuicoes th,
.tabela-historico-atribuicoes td {
    border-color: #94a3b8;
}

.tabela-historico-atribuicoes thead th {
    background: #dbeafe;
}

@media print {
    @page classification-sheet {
        size: 210mm 297mm;
        margin: 11mm;
    }

    body.classifications-pdf-printing * {
        visibility: hidden !important;
    }

    body.classifications-pdf-printing #classifications-pdf-document,
    body.classifications-pdf-printing #classifications-pdf-document * {
        visibility: visible !important;
    }

    body.classifications-pdf-printing #classifications-pdf-document {
        display: block !important;
        position: absolute;
        inset: 0;
        width: 100%;
        color: #000;
        background: #fff;
        font-family: Arial, Helvetica, sans-serif;
    }

    .classification-print-page {
        page: classification-sheet;
        position: relative;
        height: 275mm;
        min-height: 275mm;
        padding-bottom: 8mm;
        box-sizing: border-box;
        break-after: page;
        page-break-after: always;
    }

    .classification-print-page:last-child {
        break-after: auto;
        page-break-after: auto;
    }

    .classification-print-header {
        min-height: 43mm;
        margin-bottom: 1mm;
        padding: 5mm 0 0;
        text-align: center;
    }

    .classification-print-header-layout {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        align-items: center;
        column-gap: 3mm;
        min-height: 38mm;
    }

    .classification-print-logos-left {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 2mm;
    }

    .classification-print-logo-club {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .classification-print-logos-left img,
    .classification-print-logo-club img {
        display: block;
        max-width: 31mm;
        max-height: 31mm;
        object-fit: contain;
    }

    .classification-print-heading {
        min-width: 0;
        text-align: center;
    }

    .classification-print-header h1 {
        margin: 3mm 0 0.5mm;
        font-size: 10pt;
        text-transform: uppercase;
    }

    .classification-print-header h2 {
        margin: 0 0 0.5mm;
        font-size: 9pt;
    }

    .classification-print-entity {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12pt;
        font-weight: 700;
        text-transform: uppercase;
    }

    .classification-print-club {
        margin-top: 3mm;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 11pt;
        font-weight: 700;
        text-transform: uppercase;
    }

    .classification-print-page h3 {
        margin: 0 0 1mm;
        font-size: 9pt;
        font-weight: 700;
        text-decoration: underline;
    }

    .classification-print-page table {
        width: 100%;
        border-collapse: collapse;
        table-layout: auto;
        font-size: 7pt;
        border: 0.4mm solid #000;
    }

    .classification-print-page thead {
        display: table-header-group;
    }

    .classification-print-page tr {
        height: 5mm;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .classification-print-page th,
    .classification-print-page td {
        box-sizing: border-box;
        width: auto;
        height: 5mm;
        max-width: none;
        padding: 0.25mm 0.45mm;
        border: 1px solid #000;
        overflow: visible;
        text-align: center;
        text-overflow: clip;
        vertical-align: middle;
        white-space: nowrap;
        font-weight: 600;
    }

    .classification-print-page th {
        height: 5mm;
        background: #d9dde3 !important;
        font-weight: 700;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .classification-print-page th,
    .classification-print-page td.text-start {
        overflow-wrap: anywhere;
        white-space: normal;
    }

    .classification-individual-table th:nth-child(4),
    .classification-individual-table td:nth-child(4) {
        min-width: 24mm;
    }

    .classification-individual-table th:nth-child(6),
    .classification-individual-table td:nth-child(6) {
        min-width: 22mm;
    }

    .classification-print-page .resultado-maximo {
        color: #d00000 !important;
        font-weight: 800;
    }

    .classification-print-footer {
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 8pt;
        font-weight: 700;
    }

    body.classifications-pdf-landscape .classification-print-page {
        height: 190mm;
        min-height: 190mm;
    }

    body.classifications-pdf-landscape .classification-print-header {
        min-height: 38mm;
        padding-top: 2mm;
    }

    body.classifications-pdf-landscape .classification-print-header-layout {
        min-height: 35mm;
    }

    .classification-team-block {
        margin-bottom: 3mm;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .classification-team-block h4 {
        margin: 0 0 0.7mm;
        font-size: 7pt;
    }

    .classification-team-block table {
        table-layout: fixed;
        font-size: 5.5pt;
    }

    .classification-team-block th,
    .classification-team-block td {
        width: auto !important;
        min-width: 0 !important;
        height: 5mm;
        max-width: none;
        overflow: hidden;
        overflow-wrap: anywhere;
        text-overflow: clip;
        white-space: normal;
    }

    .classification-team-block .col-team-dorsal { width: 5%; }
    .classification-team-block .col-team-fptac { width: 7%; }
    .classification-team-block .col-team-nome { width: 30%; }
    .classification-team-block .col-team-categoria { width: 8%; }
    .classification-team-block .col-team-escalao { width: 10%; }
    .classification-team-block .col-team-resultado { width: 6%; }
    .classification-team-block .col-team-total { width: 7%; }

    .classification-team-total {
        font-weight: 800;
    }

    .classification-team-total td:first-child {
        text-align: right;
    }
}
