/* Archivos CIEC - Estilos para el explorador de archivos */
.content-body { padding-top: 20px; }

/* Breadcrumb Archivos (navegación de carpetas) */
.breadcrumb-archivos .breadcrumb { background-color: #EFEFF7; padding: 10px; margin: 0; border-radius: 8px; border: none; }
.breadcrumb-archivos .breadcrumb-item a { color: #7f1211; text-decoration: none; font-size: 13px; }
.breadcrumb-archivos .breadcrumb-item a:hover { text-decoration: underline; color: #862222; }
.theme-dark .breadcrumb-archivos .breadcrumb {
    background-color: rgba(22, 33, 62, 0.5);
    border: none;
    padding: 10px;
    margin: 0;
}
.theme-dark .breadcrumb-archivos .breadcrumb-item a { color: #e8b4b4; }
.theme-dark .breadcrumb-archivos .breadcrumb-item a:hover { color: #fff; }
.theme-dark .breadcrumb-archivos .breadcrumb-item strong {
    color: var(--text-body);
    font-weight: 600;
}
.theme-dark .breadcrumb-archivos .breadcrumb-item:not(.active) { color: rgba(255, 255, 255, 0.82); }

.file-item {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
    cursor: pointer;
    text-align: center;
}
.file-item:hover {
    background-color: var(--bg-surface-alt);
    border-color: var(--btn-primary-border);
    box-shadow: 0 2px 4px rgba(127, 18, 17, 0.15);
}
.file-item i { font-size: 2.2rem; margin-bottom: 8px; display: block; }
.file-item .file-name { font-size: 0.85rem; font-weight: 400; color: var(--text-body); word-break: break-word; line-height: 1.3; }
.file-item .file-size { font-size: 0.8125rem; color: #666; margin-top: 4px; }
.theme-dark .file-item .file-size { color: rgba(255,255,255,0.6); }
.theme-dark .file-item {
    background: transparent;
    border: 1px solid var(--border-input-soft);
    box-shadow: none;
}
.theme-dark .file-item:hover {
    background: transparent;
    border-color: rgba(163, 186, 220, 0.55);
    box-shadow: none;
}
.folder-icon { color: #ffc107; }

.file-list-container {
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    overflow: hidden;
    width: 100%;
}
.theme-dark .file-list-container {
    background: rgba(22, 33, 62, 0.45);
    border: 1px solid var(--border-input-soft);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
}
.file-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.file-header {
    background-color: var(--bg-surface-alt);
    padding: 12px 15px;
    text-align: left;
    font-weight: 600;
    color: var(--text-body);
    border-bottom: 1px solid var(--border-subtle);
    font-size: 0.85rem;
}
.file-row { border-bottom: 1px solid var(--border-subtle); transition: background-color 0.2s ease; cursor: pointer; }
.file-row:hover { background-color: var(--bg-surface-alt); }
.theme-dark .file-header {
    background-color: rgba(2, 11, 27, 0.55);
    border-bottom-color: var(--border-input-soft);
}
.theme-dark .file-row { border-bottom-color: rgba(255, 255, 255, 0.1); }
.theme-dark .file-row:hover { background-color: rgba(31, 43, 77, 0.55); }
.file-cell { padding: 12px 15px; vertical-align: middle; }
.file-name-cell { display: flex; align-items: center; gap: 10px; }
.file-icon-small { font-size: 1.2rem; width: 20px; text-align: center; }
.file-name-text { font-weight: 500; color: var(--text-body); }
.file-size-text { color: #666; font-size: 0.85rem; }
.theme-dark .file-size-text { color: rgba(255,255,255,0.6); }

.loading { text-align: center; padding: 40px; color: #666; font-size: 0.9rem; }
.theme-dark .loading { color: rgba(255,255,255,0.7); }
.loading i { font-size: 1.5rem; margin-bottom: 10px; animation: archivos-spin 1s linear infinite; color: var(--btn-primary-bg); }
@keyframes archivos-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.view-controls .btn-group .btn {
    border-color: var(--btn-outline-border);
    color: var(--btn-outline-color);
    background: transparent;
    font-size: 0.85rem;
    padding: 6px 12px;
    border-radius: 6px !important;
}
.view-controls .btn-group .btn:hover,
.view-controls .btn-group .btn.active {
    background-color: var(--btn-primary-hover-bg);
    color: var(--btn-primary-color);
    border-color: var(--btn-primary-hover-border);
}

.file-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
/* m_btn en file-actions: inline, ancho según contenido, bordes menos redondeados */
.file-actions .m_btn { width: auto; display: inline-block; }
.file-actions .m_btn a { width: auto; min-width: 90px; display: inline-block; text-align: center; padding: 6px 14px; border-radius: 6px !important; }

/* Marco del buscador de archivos */
.search-box-frame {
    position: relative;
    padding: 20px;
    background: rgba(127, 18, 17, 0.04);
    border: 1px solid rgba(127, 18, 17, 0.25);
    border-left: 4px solid #7f1211;
    border-radius: 8px;
}
.theme-dark .search-box-frame {
    background: rgba(15, 26, 48, 0.72);
    border: 1px solid var(--border-input-soft);
    border-left: 4px solid rgba(200, 100, 95, 0.88);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.28);
}

.search-container { position: relative; }
.search-container .input-group { border-radius: 8px; overflow: hidden; }
.search-container .form-control {
    border: 1px solid var(--border-subtle);
    background-color: var(--bg-surface);
    color: var(--text-body);
}
.theme-dark .search-container .form-control:not(.is-invalid) {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-input-soft) !important;
    color: var(--text-body);
}
.theme-dark .search-container .form-control:focus {
    border-color: rgba(147, 186, 245, 0.65) !important;
    box-shadow: 0 0 0 0.2rem rgba(70, 120, 200, 0.22);
}
.search-container #sectionFilter {
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    width: 100%;
    background-color: var(--bg-surface);
    color: var(--text-body);
}
.theme-dark .search-container #sectionFilter:not(.is-invalid) {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-input-soft) !important;
    color: var(--text-body);
}
.theme-dark .search-container #sectionFilter:focus {
    border-color: rgba(147, 186, 245, 0.65) !important;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(70, 120, 200, 0.22);
}

.search-results {
    position: absolute; top: 100%; left: 0; right: 0;
    background: var(--bg-surface);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    z-index: 1000;
    max-height: 400px;
    overflow-y: auto;
    margin-top: 4px;
}
.theme-dark .search-results {
    background: var(--bg-surface-alt);
    border: 1px solid var(--border-input-soft);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.search-result-item {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-subtle);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover { background-color: var(--bg-surface-alt); }
.theme-dark .search-result-item:hover { background-color: rgba(31, 43, 77, 0.85); }
.search-result-item .result-icon { font-size: 16px; width: 20px; text-align: center; color: #6c757d; }
.theme-dark .search-result-item .result-icon { color: rgba(255, 255, 255, 0.52); }
.search-result-item .result-content { flex: 1; }
.search-result-item .result-title { font-weight: 500; color: var(--text-body); font-size: 14px; }
.search-result-item .result-path { font-size: 12px; color: #adb5bd; }
.theme-dark .search-result-item .result-path { color: rgba(255, 255, 255, 0.58); }
.search-no-results, .search-loading { padding: 20px; text-align: center; color: #6c757d; }
.theme-dark .search-no-results, .theme-dark .search-loading { color: rgba(255,255,255,0.6); }
.search-loading i { animation: archivos-spin 1s linear infinite; }

/* Coherencia con tarjetas / texto en página (modo oscuro) */
.theme-dark .pagina-archivos-ciec .noticia-contenido > p {
    color: var(--text-body) !important;
}

@media (max-width: 768px) {
    .search-results { max-height: 300px; }
}
