/* =========================================================
   broka - Tema visual oficial
   Paleta inspirada na identidade da Federação Amapaense de Jiu-Jitsu
   ========================================================= */
:root{
    --broka-blue:#008bd2;
    --broka-blue-dark:#00549a;
    --broka-blue-deep:#063b73;
    --broka-green:#16a34a;
    --broka-green-dark:#0b7a38;
    --broka-yellow:#ffd21f;
    --broka-yellow-dark:#e5b900;
    --broka-white:#ffffff;
    --broka-bg:#f3f7fb;
    --broka-card:#ffffff;
    --broka-border:#dce8f4;
    --broka-text:#123052;
    --broka-muted:#6b7f95;
    --broka-danger:#dc3545;
    --broka-shadow:0 8px 24px rgba(5,55,105,.10);
}

body.broka-theme,
.broka-theme-body{
    background:var(--broka-bg) !important;
    color:var(--broka-text);
}

/* Sidebar */
.sidebar{
    background:linear-gradient(180deg,#063b73 0%,#052c58 65%,#041f40 100%) !important;
    border-right:0 !important;
    box-shadow:4px 0 18px rgba(0,32,70,.18);
}
.sidebar .logo{
    background:linear-gradient(135deg,rgba(0,139,210,.28),rgba(22,163,74,.16));
    border-bottom:1px solid rgba(255,255,255,.14) !important;
}
.sidebar .logo img{
    max-height:110px;
    width:auto;
    object-fit:contain;
    filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));
}
.sidebar ul li{border-bottom:1px solid rgba(255,255,255,.08) !important;}
.sidebar ul li a{
    color:#fff !important;
    border-left:4px solid transparent;
    transition:all .18s ease;
}
.sidebar ul li a:hover,
.sidebar ul li a.active{
    background:linear-gradient(90deg,rgba(0,139,210,.95),rgba(0,139,210,.65)) !important;
    color:#fff !important;
    border-left-color:var(--broka-yellow);
    padding-left:22px !important;
}
.sidebar .logout{background:rgba(220,53,69,.82) !important;}
.sidebar .logout:hover{background:#dc3545 !important;border-left-color:#fff;}

/* Evento ativo */
.evento-switcher{
    background:linear-gradient(180deg,rgba(0,139,210,.22),rgba(22,163,74,.08),transparent) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
}
.ev-label{color:var(--broka-yellow) !important;}
.ev-uf{background:var(--broka-yellow) !important;color:#073b73 !important;}
.ev-select{background:rgba(255,255,255,.08) !important;color:#fff !important;border-color:rgba(255,255,255,.22) !important;}
.ev-select option{background:#063b73;color:#fff;}
.ev-select:focus{border-color:var(--broka-blue) !important;}
.ev-manage{color:#8fd8ff !important;}
.ev-manage:hover{color:var(--broka-yellow) !important;}

/* Conteúdo */
.main-content{background:var(--broka-bg);}
.topbar{
    background:linear-gradient(90deg,#063b73,#00549a) !important;
    border-bottom:3px solid var(--broka-yellow) !important;
    color:#fff !important;
}
.topbar *{color:inherit;}
.content{background:var(--broka-bg);}

/* Cards / painéis */
.card-dashboard,
.card-box,
.card-resumo,
.info-box,
.panel,
.card{
    border-color:var(--broka-border) !important;
    box-shadow:var(--broka-shadow);
}
.card-dashboard h2{color:var(--broka-blue) !important;}

/* Botões */
.btn-gold,
.btn-primary{
    background:linear-gradient(135deg,var(--broka-blue),var(--broka-blue-dark)) !important;
    border-color:var(--broka-blue-dark) !important;
    color:#fff !important;
}
.btn-gold:hover,
.btn-primary:hover{filter:brightness(1.08);}
.btn-success{background:var(--broka-green) !important;border-color:var(--broka-green-dark) !important;}
.btn-warning{background:var(--broka-yellow) !important;border-color:var(--broka-yellow-dark) !important;color:#17324f !important;}

/* Títulos */
.titulo{color:var(--broka-blue-deep) !important;}

/* Links */
a{color:var(--broka-blue);}
a:hover{color:var(--broka-blue-dark);}

/* Inputs */
.form-control:focus,
.form-select:focus{
    border-color:var(--broka-blue) !important;
    box-shadow:0 0 0 .2rem rgba(0,139,210,.14) !important;
}

/* Tabelas */
.table thead th{
    background:#eaf4fb !important;
    color:var(--broka-blue-deep) !important;
    border-bottom-color:#cfe3f3 !important;
}

/* Badge de identidade */
.broka-brand-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(0,139,210,.10);
    color:var(--broka-blue-deep);
    font-weight:800;
    font-size:.78rem;
}
.broka-brand-badge .dot{width:9px;height:9px;border-radius:50%;background:var(--broka-green);}

/* Scroll */
::-webkit-scrollbar{width:8px;height:8px;}
::-webkit-scrollbar-thumb{background:var(--broka-blue);border-radius:10px;}
::-webkit-scrollbar-track{background:rgba(255,255,255,.06);}

@media(max-width:991.98px){
    #mobile-sidebar-toggle{
        background:var(--broka-blue) !important;
        color:#fff !important;
        border:2px solid var(--broka-yellow) !important;
    }
}


/* FAAJ — identidade visual oficial. Somente apresentação visual. */
:root{--broka-black:#0b0b0b;--broka-charcoal:#171513;--broka-gold:#d6a04b;--broka-gold-light:#f3c66d;--broka-red:#c51f26;}
body.broka-theme,.broka-theme-body{background:#101010!important;color:#f4f0e8!important;}
body.broka-theme .sidebar,.broka-theme .sidebar{background:linear-gradient(180deg,#171513 0%,#080808 100%)!important;border-right:1px solid #76501f!important;}
body.broka-theme .sidebar .logo,body.broka-theme .sidebar ul li a:hover,body.broka-theme .sidebar ul li a.active{background:linear-gradient(100deg,#d6a04b,#8e5a1b)!important;color:#100d08!important;}
body.broka-theme .btn-primary,body.broka-theme .bg-primary{background:linear-gradient(135deg,#d6a04b,#8e5a1b)!important;border-color:#d6a04b!important;color:#100d08!important;}
body.broka-theme .card,body.broka-theme .card-dashboard,body.broka-theme .card-box{background:#171615!important;color:#f4f0e8;border-color:#76501f!important;}
body.broka-theme .text-primary,body.broka-theme .text-info,body.broka-theme a:not(.btn){color:#e2b35d!important;}
body.broka-theme .btn-danger,body.broka-theme .bg-danger{background:#b91c24!important;border-color:#b91c24!important;}
body.broka-theme .table{--bs-table-bg:#151413;--bs-table-color:#f4f0e8;--bs-table-border-color:#3d3326;}
body.broka-theme .form-control,body.broka-theme .form-select{background:#201e1b;color:#f4f0e8;border-color:#66502e;}

/* =========================================================
   FAAJ — layout responsivo global
   Evita que o menu lateral cubra formulários, tabelas e campos.
   ========================================================= */
:root { --broka-sidebar-width: 260px; }
body:has(.sidebar) { overflow-x: hidden; }
body:has(.sidebar) .sidebar {
    width: var(--broka-sidebar-width) !important;
    max-width: 88vw;
    height: 100dvh !important;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 1045 !important;
}
body:has(.sidebar) .main-content {
    margin-left: var(--broka-sidebar-width) !important;
    width: calc(100% - var(--broka-sidebar-width)) !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
body:has(.sidebar) .main-content > *,
body:has(.sidebar) .content,
body:has(.sidebar) .container,
body:has(.sidebar) .container-fluid { min-width: 0; }
body:has(.sidebar) img,
body:has(.sidebar) video,
body:has(.sidebar) canvas { max-width: 100%; height: auto; }
body:has(.sidebar) .table-responsive { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body:has(.sidebar) form,
body:has(.sidebar) .card,
body:has(.sidebar) .card-body,
body:has(.sidebar) .modal-dialog { min-width: 0; }
body:has(.sidebar) input,
body:has(.sidebar) select,
body:has(.sidebar) textarea { max-width: 100%; }
#broka-mobile-sidebar-toggle {
    display: none; position: fixed; top: 12px; left: 12px; z-index: 1060;
    width: 44px; height: 44px; border: 1px solid #f3c66d; border-radius: 10px;
    background: #063b73; color: #fff; font-size: 23px; line-height: 1; cursor: pointer;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
#broka-mobile-sidebar-overlay {
    display: none; position: fixed; inset: 0; z-index: 1040;
    background: rgba(0,0,0,.58); backdrop-filter: blur(2px);
}
#broka-mobile-sidebar-overlay.is-visible { display: block; }
@media (max-width: 991.98px) {
    body:has(.sidebar) .sidebar {
        transform: translateX(-105%); transition: transform .22s ease;
        box-shadow: none; visibility: hidden;
    }
    body:has(.sidebar) .sidebar.broka-sidebar-open {
        transform: translateX(0); visibility: visible; box-shadow: 8px 0 30px rgba(0,0,0,.35);
    }
    #broka-mobile-sidebar-toggle { display: block; }
    body:has(.sidebar) .main-content {
        margin-left: 0 !important; width: 100% !important; max-width: 100% !important;
        padding-top: 66px !important;
    }
    body:has(.sidebar) .main-content .container,
    body:has(.sidebar) .main-content .container-fluid { padding-left: 12px; padding-right: 12px; }
    body:has(.sidebar) .row { --bs-gutter-x: 1rem; }
    body:has(.sidebar) .form-row,
    body:has(.sidebar) .row > [class*="col-"] { min-width: 0; }
    body:has(.sidebar) .btn-toolbar,
    body:has(.sidebar) .page-header,
    body:has(.sidebar) .d-flex { flex-wrap: wrap; gap: .5rem; }
    body:has(.sidebar) h1 { font-size: clamp(1.35rem, 5vw, 2rem); overflow-wrap: anywhere; }
    body:has(.sidebar) .table { font-size: .875rem; }
}
@media (max-width: 575.98px) {
    body:has(.sidebar) .main-content { padding-left: 8px !important; padding-right: 8px !important; }
    body:has(.sidebar) .card-body { padding: 12px; }
    body:has(.sidebar) .btn { white-space: normal; }
    body:has(.sidebar) .input-group { flex-wrap: wrap; }
}
