        :root {
            --color-primary: #a3c4f3;
            --color-secondary: #cfbaf0;
            --color-accent: #98f5e1;
            --color-light: #fbf8cc;
            --color-text: #333333;
            --color-bg: #f9f7f3;
        }
        
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--color-bg);
            color: var(--color-text);
        }
        
        .header {
            background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 25px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            color: white;
        }
        
        .search-container {
            background-color: white;
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }
        
        .table-container {
            background-color: white;
            border-radius: 8px;
            padding: 20px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            overflow-x: auto;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
        }
        
        th {
            background-color: var(--color-primary);
            color: white;
            font-weight: 600;
        }
        
        tr:nth-child(even) {
            background-color: rgba(163, 196, 243, 0.1);
        }
        
        .btn-action {
            border-radius: 20px;
            padding: 5px 12px;
            font-size: 0.85rem;
            margin: 2px;
        }
        
        .btn-ver {
            background-color: var(--color-primary);
            color: white;
        }
        
        .btn-aprobar {
            background-color: #90ee90;
            color: #2d5a2d;
        }
        
        .btn-rechazar {
            background-color: #ffb6c1;
            color: #8b0000;
        }
        
        .btn-pdf {
            background-color: var(--color-accent);
            color: #006d77;
        }
        
        .detalle {
            display: none;
            background-color: #f8f9fa;
            border-radius: 8px;
            padding: 15px;
            margin: 10px 0;
            border-left: 4px solid var(--color-primary);
        }
        
        .sub-table {
            width: 100%;
            margin-top: 10px;
        }
        
        .sub-table th {
            background-color: var(--color-secondary);
        }
        
        .urgente {
            color: #d00000;
            font-weight: bold;
        }
        
        .proximo {
            color: #ffaa00;
            font-weight: bold;
        }
        
        .normal {
            color: #38b000;
        }
        
        .vencido {
            color: #6c757d;
            font-style: italic;
        }
        
        .estado-badge {
            padding: 4px 8px;
            border-radius: 12px;
            font-size: 0.8rem;
        }
        
        .estado-pendiente {
            background-color: #fff3cd;
            color: #856404;
        }
        
        .estado-aprobado {
            background-color: #d1edff;
            color: #0c5460;
        }
        
        .estado-rechazado {
            background-color: #f8d7da;
            color: #721c24;
        }
        
        .file-upload {
            background-color: #e9ecef;
            border-radius: 5px;
            padding: 10px;
            margin: 10px 0;
        }
        
        /* Nuevos estilos para acordeones */
        .accordion-detalle {
            --bs-accordion-border-color: #dee2e6;
            --bs-accordion-border-width: 1px;
            --bs-accordion-border-radius: 0.5rem;
            --bs-accordion-inner-border-radius: calc(0.5rem - 1px);
            --bs-accordion-btn-padding-x: 1.25rem;
            --bs-accordion-btn-padding-y: 0.75rem;
            --bs-accordion-btn-color: #0d6efd;
            --bs-accordion-btn-bg: var(--bs-accordion-bg);
            --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d6efd'%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");
            --bs-accordion-btn-icon-width: 1.25rem;
            --bs-accordion-btn-icon-transform: rotate(-180deg);
            --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
            --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230d6efd'%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");
            --bs-accordion-btn-focus-border-color: #86b7fe;
            --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
            --bs-accordion-body-padding-x: 1.25rem;
            --bs-accordion-body-padding-y: 1rem;
            --bs-accordion-active-color: #0d6efd;
            --bs-accordion-active-bg: #e7f1ff;
        }
        
        .accordion-button {
            font-weight: 600;
        }
        
        .info-card {
            background: white;
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 15px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            border-left: 4px solid var(--color-primary);
        }
        
        .info-row {
            display: flex;
            margin-bottom: 8px;
            border-bottom: 1px solid #f0f0f0;
            padding-bottom: 8px;
        }
        
        .info-label {
            font-weight: 600;
            min-width: 180px;
            color: #555;
        }
        
        .info-value {
            flex: 1;
        }
        
        .section-title {
            color: var(--color-primary);
            border-bottom: 2px solid var(--color-primary);
            padding-bottom: 8px;
            margin-bottom: 15px;
            font-weight: 600;
        }
        
        .detalle-row {
            display: none;
        }