:root {
        --primary-color: #3b82f6;
        --primary-dark: #2563eb;
        --secondary-color: #64748b;
        --bg-light: #f8fafc;
        --text-dark: #0f172a;
        --success-color: #10b981;
        --danger-color: #ef4444;
    }

    body {
        background-color: #f1f5f9;
    }

    /* Container Principal */
    .concursos-container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 2rem 1rem;
    }

    /* Header Moderno */
    .concursos-header {
        background: white;
        padding: 3rem;
        border-radius: 24px;
        margin-bottom: 3rem;
        box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        gap: 2rem;
    }

    .concursos-header::before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(120deg, transparent 0%, transparent 80%, rgba(59, 130, 246, 0.05) 100%);
        pointer-events: none;
    }

    .header-icon {
        width: 80px;
        height: 80px;
        background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
        border-radius: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 2.5rem;
        box-shadow: 0 20px 25px -5px rgba(59, 130, 246, 0.25);
        flex-shrink: 0;
    }

    .header-content h1 {
        font-size: 2.25rem;
        font-weight: 800;
        color: var(--text-dark);
        margin-bottom: 0.5rem;
        letter-spacing: -0.025em;
    }

    .header-content p {
        color: var(--secondary-color);
        font-size: 1.1rem;
        margin: 0;
    }

    /* Accordion Estilizado */
    .accordion-item {
        border: none;
        background: white;
        border-radius: 16px !important;
        margin-bottom: 1.5rem;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
        overflow: hidden;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .accordion-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    }

    .accordion-button {
        padding: 1.5rem 2rem;
        font-weight: 600;
        font-size: 1.1rem;
        color: var(--text-dark);
        background: white;
        box-shadow: none !important;
    }

    .accordion-button:not(.collapsed) {
        background: linear-gradient(to right, rgba(59, 130, 246, 0.05), transparent);
        color: var(--primary-dark);
    }

    .accordion-button::after {
        background-size: 1.25rem;
        opacity: 0.5;
    }

    .accordion-button:not(.collapsed)::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232563eb'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    }

    /* Badges */
    .badge-status, .accordion-button .badge {
        padding: 0.5em 1em;
        border-radius: 9999px;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-left: auto;
    }

    .badge-danger {
        background-color: #fee2e2 !important;
        color: #991b1b !important;
    }

    /* Corpo do Accordion e Links */
    .accordion-body {
        padding: 2rem;
        background-color: #f8fafc;
    }

    /* Transformar links em cards */
    .accordion-body a {
        display: flex;
        align-items: center;
        padding: 1rem 1.5rem;
        background: white;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        margin-bottom: 0.75rem;
        color: var(--text-dark);
        text-decoration: none;
        transition: all 0.2s ease;
        font-weight: 500;
    }

    .accordion-body a:hover {
        border-color: var(--primary-color);
        background-color: #eff6ff;
        transform: translateX(4px);
        color: var(--primary-dark);
    }

    .accordion-body a i {
        margin-right: 1rem;
        color: var(--success-color);
        font-size: 1.1rem;
        width: 24px;
        text-align: center;
    }

    /* Esconder BRs pois os links agora são flex blocks */
    .accordion-body br {
        display: none;
    }

    /* Responsividade */
    @media (max-width: 768px) {
        .concursos-header {
            flex-direction: column;
            text-align: center;
            padding: 2rem;
        }

        .badge-status {
            margin-left: 0;
            margin-top: 0.5rem;
            display: inline-block;
        }

        .accordion-button {
            flex-direction: column;
            align-items: flex-start;
            gap: 0.5rem;
        }
    }

    /* Dark mode overrides */
    body.dark-mode {
        background-color: #1e293b !important;
    }
    body.dark-mode :root {
        --bg-light: #1e293b !important;
        --text-dark: #f1f5f9 !important;
        --secondary-color: #cbd5e1 !important;
    }
    body.dark-mode .concursos-header {
        background: #283347 !important;
    }
    body.dark-mode .accordion-item {
        background: #283347 !important;
    }
    body.dark-mode .accordion-button {
        background-color: #283347 !important;
        color: #f1f5f9 !important;
    }
    body.dark-mode .accordion-button:not(.collapsed) {
        background-color: #334155 !important;
        color: #fff !important;
    }
    body.dark-mode .accordion-body {
        background-color: #1e293b !important;
        color: #cbd5e1 !important;
    }
    body.dark-mode .table {
        color: #cbd5e1 !important;
    }
    body.dark-mode .table thead th {
        color: #fff !important;
    }
    
    /* Links dentro do accordion (editais) */
    body.dark-mode .accordion-body a {
        background-color: #283347 !important;
        border-color: #475569 !important;
        color: #e2e8f0 !important;
    }
    body.dark-mode .accordion-body a:hover {
        background-color: #334155 !important;
        border-color: #60a5fa !important;
        color: #fff !important;
    }
    
    /* Badges */
    body.dark-mode .badge-danger {
        background-color: #7f1d1d !important;
        color: #fecaca !important;
    }