.grid-formulario {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.campo-grande {
    grid-column: span 2;
}

.campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.campo label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.campo input {
    height: 42px;
    padding: 0 12px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
}

.campo input:focus {
    outline: none;
    border-color: #2563eb;
}

.acoes-formulario {
    margin-top: 20px;
}

.acoes-formulario button {
    padding: 10px 25px;
    border: none;
    border-radius: 8px;
    background: #2563eb;
    color: white;
    cursor: pointer;
}


/* Tablet */
@media (max-width: 900px) {
    .grid-formulario {
        grid-template-columns: repeat(2, 1fr);
    }

    .campo-grande {
        grid-column: span 2;
    }
}


/* Mobile */
@media (max-width: 600px) {
    .grid-formulario {
        grid-template-columns: 1fr;
    }

    .campo-grande {
        grid-column: span 1;
    }
}
.formulario-padrao {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
}

.campo {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.campo label {
    font-weight: 600;
    color: #333;
}

.campo input {
    width: 100%;
    padding: 12px;
    border: 1px solid #ccc;
    border-radius: 8px;
    font-size: 15px;
}

.campo input:focus {
    outline: none;
    border-color: #2563eb;
}

.acoes-formulario {
    margin-top: 10px;
}

.acoes-formulario button {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    background: #2563eb;
    color: white;
    cursor: pointer;
    font-size: 15px;
}

.acoes-formulario button:hover {
    background: #1d4ed8;
}
/* =====================================================
   HISTÓRICO ATLETA
===================================================== */

.historico-header{
    background:#fff;
    border-radius:10px;
    padding:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}


.logo-confederacao{
    max-width:140px;
}


.dados-atleta{
    background:#fff;
    border-radius:10px;
    padding:20px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}


.dados-atleta h3{
    font-size:18px;
    color:#0a4b87;
    margin-bottom:15px;
}


.atleta-foto{
    width:110px;
    height:130px;
    object-fit:cover;
    border-radius:10px;
    border:1px solid #ddd;
}


.dado-label{
    font-weight:600;
    color:#555;
}


.dado-valor{
    color:#222;
}


.historico-card{
    background:#fff;
    border-radius:10px;
    padding:15px;
    margin-bottom:15px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}


.historico-data{
    color:#0a4b87;
    font-weight:600;
}


.historico-tipo{
    font-size:16px;
    font-weight:700;
    margin:10px 0;
}


.clube-movimento{
    display:flex;
    align-items:center;
    gap:10px;
    margin:8px 0;
}


.logo-clube{
    width:35px;
    height:35px;
    object-fit:contain;
}


.acoes-historico img{
    width:22px;
}

/* =====================================================
   DADOS ATLETA
===================================================== */

.dados-atleta{
    display:flex;
    flex-direction:column;
    gap:6px;
    font-size:14px;
}

.dados-atleta span{
    font-weight:600;
    color:#555;
}

.dados-atleta strong{
    color:#0a4b87;
    font-weight:700;
}

/* =====================================================
   GERAL
===================================================== */

body{
    margin:0;
    background:#f5f6fa;
    font-family:Arial,Helvetica,sans-serif;
    font-size:13px;
    color:#333;
}

main{
    padding:20px;
}

h1,h2,h3,h4,h5,h6{
    margin-bottom:.5rem;
    font-weight:600;
}

h3{
    font-size:22px;
}

h4{
    font-size:18px;
}

small{
    font-size:11px;
}

/* =====================================================
   NAVBAR
===================================================== */

.navbar-cbfs{
    background:#0a4b87;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
}

.navbar-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo-topo{
    height:46px;
}

.logo-texto{
    line-height:1.2;
}

.logo-texto strong{
    display:block;
    color:#fff;
    font-size:18px;
    font-weight:600;
}

.logo-texto small{
    color:#dce8f5;
    font-size:11px;
}

.navbar-nav .nav-link{
    color:#fff !important;
    padding:14px 12px;
    font-size:13px;
    font-weight:500;
    transition:.2s;
}

.navbar-nav .nav-link:hover{
    background:rgba(255,255,255,.12);
}

.dropdown-menu{
    border:none;
    border-radius:8px;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
    padding:4px 0;
}

.dropdown-item{
    font-size:13px;
    padding:8px 16px;
}

.dropdown-item:hover{
    background:#eef5ff;
}

.navbar-toggler{
    border:1px solid rgba(255,255,255,.35);
}

.navbar-toggler:focus{
    box-shadow:none;
}

.navbar-toggler-icon{
    filter:brightness(0) invert(1);
}

/* =====================================================
   USUÁRIO
===================================================== */

.usuario-box{
    display:flex;
    align-items:center;
    gap:15px;
    color:#fff;
    font-size:13px;
}

.usuario{
    white-space:nowrap;
}

/* =====================================================
   CARDS
===================================================== */

.card{
    border:none;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.card-header{
    padding:.65rem 1rem;
    font-size:14px;
    font-weight:600;
}

.card-body{
    padding:1rem;
}

.card-footer{
    padding:.65rem 1rem;
    font-size:12px;
    background:#fafafa;
}

/* =====================================================
   FORMULÁRIOS
===================================================== */

.form-label{
    font-size:12px;
    font-weight:600;
    margin-bottom:4px;
}

.form-control,
.form-select{
    height:34px;
    font-size:13px;
}

textarea.form-control{
    height:auto;
}

.form-control:focus,
.form-select:focus{
    box-shadow:none;
    border-color:#0a4b87;
}

/* =====================================================
   BOTÕES
===================================================== */

.btn{
    font-size:13px;
}

.btn-sm{
    font-size:12px;
}

/* =====================================================
   TABELAS
===================================================== */

.table{
    margin-bottom:0;
    font-size:12px;
}

.table th{
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
    background:#f8f9fa;
}

.table td{
    font-size:12px;
    vertical-align:middle;
}

.table img{
    max-height:42px;
}

/* =====================================================
   BADGES
===================================================== */

.badge{
    font-size:11px;
    font-weight:500;
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width:991px){

    main{
        padding:15px;
    }

    .navbar-brand{
        max-width:75%;
    }

    .logo-topo{
        height:40px;
    }

    .logo-texto strong{
        font-size:16px;
    }

    .logo-texto small{
        font-size:10px;
    }

    .navbar-collapse{
        margin-top:12px;
        border-top:1px solid rgba(255,255,255,.15);
        padding-top:10px;
    }

    .navbar-nav .nav-link{
        padding:10px 0;
    }

    .dropdown-menu{
        position:static !important;
        transform:none !important;
        margin-left:12px;
        background:rgba(255,255,255,.05);
        border-radius:6px;
        box-shadow:none;
    }

    .dropdown-item{
        color:#fff;
    }

    .dropdown-item:hover{
        background:rgba(255,255,255,.08);
        color:#fff;
    }

    .usuario-box{
        width:100%;
        justify-content:space-between;
        margin-top:12px;
        padding-top:12px;
        border-top:1px solid rgba(255,255,255,.15);
    }

}