/* Paleta de cores */
/* Paleta de cores */
:root {
    --cor-principal: #0E1329;
    --cor-secundaria: #D2AE6D;
    --bg-admin: #f8f9fa;
    --text-admin: #0E1329;
    --input-bg: #fff;
    --input-border: #ddd;
}

/* ==============================================
   LAYOUT ADMINISTRATIVO
   ============================================== */

/* Container geral */
.admin-container {
    display: flex;
    min-height: 100vh;
}

/* Sidebar */
.admin-sidebar {
    width: 250px;
    background: var(--cor-principal);
    color: var(--cor-secundaria);
    padding: 20px 0;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
}

.admin-sidebar a {
    color: var(--cor-secundaria);
    display: block;
    padding: 10px 20px;
    margin-bottom: 5px;
    border-radius: 5px;
    transition: 0.3s;
    text-decoration: none;
}

.admin-sidebar a:hover {
    background-color: rgba(210, 174, 109, 0.2);
    color: #fff;
}

/* Conteúdo administrativo */
.admin-content {
    flex: 1;
    padding: 30px;
    background: var(--bg-admin);
    color: var(--text-admin);
}

/* Cabeçalhos */
.admin-content h1,
.admin-content h2,
.admin-content h3 {
    color: var(--cor-principal);
    margin-bottom: 20px;
}

/* Formulários */
.admin-content form {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.admin-content label {
    font-weight: 500;
    color: var(--cor-principal);
}

.admin-content input,
.admin-content select,
.admin-content textarea {
    width: 100%;
    padding: 10px 15px;
    margin-top: 5px;
    margin-bottom: 15px;
    border-radius: 6px;
    border: 1px solid var(--input-border);
    background: var(--input-bg);
    color: var(--text-admin);
}

.admin-content input:focus,
.admin-content select:focus,
.admin-content textarea:focus {
    border-color: var(--cor-secundaria);
    outline: none;
    box-shadow: 0 0 5px rgba(210, 174, 109, 0.4);
}

/* Botões */
.btn-primary {
    background-color: var(--cor-principal);
    color: #fff;
    border-radius: 6px;
    border: none;
    padding: 10px 20px;
    transition: 0.3s;
}

.btn-primary:hover {
    background-color: #1b2244;
}

.btn-secondary {
    background-color: var(--cor-secundaria);
    color: #fff;
    border-radius: 6px;
    border: none;
    padding: 10px 20px;
    transition: 0.3s;
}

.btn-secondary:hover {
    background-color: #b89354;
}

/* Cards */
.admin-card {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s, box-shadow 0.3s;
}

.admin-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Tabelas */
.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
}

.admin-table th {
    background: var(--cor-principal);
    color: #fff;
    padding: 12px 15px;
    position: sticky;
    top: 0;
}

.admin-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
}

.admin-table tr:hover td {
    background: rgba(210, 174, 109, 0.05);
}

/* Responsividade */
@media (max-width: 768px) {
    .admin-container {
        flex-direction: column;
    }

    .admin-sidebar {
        width: 100%;
        position: static;
    }

    .admin-content {
        padding: 15px;
    }
}



/* Sidebar */
.sidebar-header {
    padding: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sidebar-header h5 {
    color: var(--cor-secundaria);
    font-weight: bold;
}

.nav-link {
    padding: 10px 15px;
    border-radius: 4px;
    margin-bottom: 5px;
    transition: all 0.3s;
}

.nav-link:hover {
    background: rgba(210, 174, 109, 0.2);
}

.nav-link i {
    width: 20px;
    text-align: center;
}

/* Cards no dashboard */
.dashboard-card {
    border: none;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    height: 100%;
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.dashboard-card .card-body {
    padding: 1.5rem;
}

.dashboard-card .card-footer {
    background: rgba(0, 0, 0, 0.05);
    border-top: none;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}


/* Tabelas */
.admin-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.admin-table th {
    background: var(--cor-principal);
    color: white;
    padding: 12px 15px;
    position: sticky;
    top: 0;
}

.admin-table td {
    padding: 12px 15px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
}

.admin-table tr:hover td {
    background: rgba(210, 174, 109, 0.05);
}

/* Formulários */
.admin-form .form-control {
    border-radius: 4px;
    padding: 10px 15px;
    border: 1px solid #ddd;
}

.admin-form .form-label {
    font-weight: 500;
    color: var(--cor-principal);
}

/* Botões de ação */
.btn-action {
    padding: 8px 12px;
    font-size: 0.875rem;
    margin-right: 5px;
}

/* Responsividade */
@media (max-width: 768px) {
    .admin-container {
        flex-direction: column;
    }

    .admin-sidebar {
        width: 100%;
        position: static;
    }

    .admin-content {
        padding: 15px;
    }
}

/* Login admin */
.login-admin-container {
    max-width: 400px;
    margin: 0 auto;
    padding-top: 50px;
}

.login-card {
    border: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}

.login-card .card-header {
    padding: 20px;
    text-align: center;
}

.login-card .card-body {
    padding: 30px;
}

/* Botões principais */
.btn-primary,
.bg-primary {
    background-color: var(--cor-principal) !important;
    border-color: var(--cor-principal) !important;
}

.btn-primary:hover,
.bg-primary:hover {
    background-color: #1b2244 !important;
    border-color: #1b2244 !important;
}

/* Botões secundários */
.btn-secondary,
.bg-secondary {
    background-color: var(--cor-secundaria) !important;
    border-color: var(--cor-secundaria) !important;
    color: #fff !important;
}

.btn-secondary:hover,
.bg-secondary:hover {
    background-color: #b89354 !important;
    border-color: #b89354 !important;
}

/* Botões de sucesso */
.btn-success,
.bg-success {
    background-color: var(--cor-secundaria) !important;
    border-color: var(--cor-secundaria) !important;
    color: #fff !important;
}

.btn-success:hover,
.bg-success:hover {
    background-color: #b89354 !important;
    border-color: #b89354 !important;
}

/* Badges */
.badge.bg-primary,
.badge-inscricoes {
    background-color: var(--cor-principal) !important;
}

.modalidade-badge {
    background-color: var(--cor-secundaria) !important;
}

/* Links */
a,
.edital-link {
    color: var(--cor-principal) !important;
}

a:hover,
.edital-link:hover {
    color: var(--cor-secundaria) !important;
}

/* Headers de card */
.card-header {
    background-color: var(--cor-principal) !important;
    color: #fff !important;
}

/* Garante que o texto do botão primário seja branco */
.btn-primary {
    color: #fff !important;
}

.btn-primary:hover {
    color: #fff !important;
}

/* Sidebar expansivo com texto branco */
.sidebar {
    background: var(--cor-principal) !important;
    color: white !important;
}

.sidebar .nav-link {
    color: white !important;
    padding: 10px 15px;
    border-radius: 4px;
    margin-bottom: 5px;
    transition: all 0.3s;
}

.sidebar .nav-link:hover {
    background: rgba(210, 174, 109, 0.2) !important;
}

/* Submenu expansivo */
.sidebar .collapse {
    background: rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin: 5px 0;
}

.sidebar .nav.flex-column.ps-4 {
    padding-left: 1.5rem !important;
}

.sidebar .nav.flex-column.ps-4 .nav-link {
    padding: 8px 15px;
    margin-bottom: 2px;
}

/* Ícone de seta */
.sidebar .nav-link[aria-expanded="true"] .fa-chevron-down {
    transform: rotate(180deg);
    transition: transform 0.3s;
}

.sidebar .nav-link .fa-chevron-down {
    transition: transform 0.3s;
    font-size: 0.7rem;
}

/* Item ativo */
.sidebar .nav-link.active {
    background: rgba(210, 174, 109, 0.3) !important;
}

/* Estilo personalizado para o switch "Edital Ativo" */
.form-switch .form-check-input {
    width: 3em !important;
    height: 1.5em !important;
    margin-right: 10px;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    cursor: pointer;
}

.form-switch .form-check-input:checked {
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(210, 174, 109, 0.25);
}

.form-switch .form-check-label {
    font-weight: 500;
    color: var(--cor-principal);
    cursor: pointer;
    user-select: none;
    transition: color 0.2s;
}

.form-switch .form-check-input:checked~.form-check-label {
    color: var(--cor-secundaria);
}

/* Container do switch para melhor alinhamento */
.d-flex.align-items-center {
    padding: 10px 15px;
    background-color: rgba(210, 174, 109, 0.05);
    border-radius: 8px;
    margin-bottom: 20px;
}

/* ==============================================
   SLIDER PERSONALIZADO - SEM BOOTSTRAP
   ============================================== */

.admin-sidebar {
    width: 250px;
    background: var(--cor-principal);
    color: white;
    display: flex;
    flex-direction: column;
    height: 100vh;
    box-shadow: 2px 0 15px rgba(0, 0, 0, 0.1);
}

.sidebar-header {
    padding: 20px;
    border-bottom: 1px solid rgba(210, 174, 109, 0.3);
    text-align: center;
}

.sidebar-header h5 {
    color: var(--cor-secundaria);
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 1.1rem;
}

.sidebar-header small {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
}

.sidebar-nav {
    flex-grow: 1;
    padding: 15px 0;
}

.nav-links {
    list-style: none;
    padding: 0 10px;
    margin: 0;
}

.nav-item {
    margin-bottom: 5px;
}

.nav-link {
    color: white !important;
    padding: 12px 15px !important;
    display: flex;
    align-items: center;
    text-decoration: none;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.nav-link:hover {
    background: rgba(210, 174, 109, 0.15);
    transform: translateX(3px);
}

.nav-link i {
    width: 25px;
    font-size: 1.1rem;
    color: var(--cor-secundaria);
    margin-right: 10px;
}

/* Submenu */
.submenu {
    list-style: none;
    padding-left: 15px;
    margin: 5px 0;
}

.submenu-item {
    margin: 3px 0;
}

.submenu-link {
    display: block;
    padding: 10px 15px;
    color: white !important;
    text-decoration: none;
    font-size: 0.95rem;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    transition: all 0.2s;
}

.submenu-link:hover {
    background: rgba(210, 174, 109, 0.2);
}

/* Ícones de seta */
.with-arrow {
    justify-content: space-between;
}

.arrow {
    font-size: 0.8rem;
    transition: transform 0.3s;
}

[aria-expanded="true"] .arrow {
    transform: rotate(180deg);
}

/* Logout */
.logout-area {
    padding: 15px 20px;
    border-top: 1px solid rgba(210, 174, 109, 0.3);
    margin-top: auto;
}

.logout-link {
    color: #ff6b6b !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    transition: all 0.3s;
}

.logout-link:hover {
    color: #ff5252 !important;
}

.logout-link i {
    margin-right: 10px;
    color: inherit;
}

/* ==============================================
   DASHBOARD ESTILIZADO
   ============================================== */

.admin-dashboard {
    color: var(--text-admin);
    padding: 20px;
}

.admin-dashboard h2 {
    color: var(--cor-principal);
    font-weight: 600;
    margin-bottom: 15px;
}

.admin-dashboard .text-muted {
    color: rgba(14, 19, 41, 0.7) !important;
    margin-bottom: 25px;
    display: block;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.dashboard-card {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
    height: 100%;
}

.dashboard-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.dashboard-card .card-body {
    padding: 20px;
}

.dashboard-card .card-title {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 10px;
}

.dashboard-card .card-text {
    font-size: 2rem;
    font-weight: 600;
    margin: 0;
}

.dashboard-card .card-footer {
    background: rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    border-top: none;
}

.dashboard-card .card-footer a {
    text-decoration: none;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    transition: opacity 0.3s;
}

.dashboard-card .card-footer a:hover {
    opacity: 0.8;
}

/* Cores específicas dos cards */
.bg-primary {
    background-color: var(--cor-principal) !important;
}

.bg-success {
    background-color: var(--cor-secundaria) !important;
}

.text-white {
    color: white !important;
}