/* Panel Casas en Madera — ajustes para que las librerías de terceros
   (Select2, Summernote, Dropzone y DataTables) encajen con Tailwind/Flowbite. */

:root {
    --p-borde: #d1d5db;
    --p-fondo-control: #f9fafb;
    --p-texto: #111827;
    --p-marca: #1b2420;
    --p-acento: #f0d81c;
    --p-foco: rgba(240, 216, 28, .45);
}
.dark {
    --p-borde: #4b5563;
    --p-fondo-control: #374151;
    --p-texto: #f9fafb;
}

h1, h2, h3, .font-display { font-family: "Manrope", "Inter", sans-serif; letter-spacing: -0.02em; }

/* ---------- Select2 ---------- */
.select2-container { width: 100% !important; }
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 42px;
    border: 1px solid var(--p-borde);
    border-radius: .5rem;
    background: var(--p-fondo-control);
    padding: 4px 6px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 32px; color: var(--p-texto); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; }
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--p-marca);
    box-shadow: 0 0 0 3px var(--p-foco);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background: #ecfdf3;
    border: 1px solid #bbe5cc;
    color: #14532d;
    border-radius: 9999px;
    padding: 2px 10px 2px 22px;
    font-size: .85rem;
    margin-top: 4px;
}
.dark .select2-container--default .select2-selection--multiple .select2-selection__choice { background: #1f3a2b; border-color: #2f5a42; color: #d1fae5; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove { border: 0; left: 6px; top: 2px; color: inherit; background: none; }
.select2-container--default .select2-search--inline .select2-search__field { color: var(--p-texto); margin-top: 6px; }
.select2-dropdown { border-color: var(--p-borde); border-radius: .5rem; overflow: hidden; background: #fff; }
.dark .select2-dropdown { background: #1f2937; color: #f9fafb; }
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable { background: var(--p-marca); }
.select2-container--default .select2-results__option--selected { background: #f3f4f6; }
.dark .select2-container--default .select2-results__option--selected { background: #374151; }

/* ---------- Summernote ---------- */
.note-editor.note-frame { border: 1px solid var(--p-borde) !important; border-radius: .5rem; overflow: hidden; }
.note-editor .note-toolbar { background: #f9fafb; border-bottom: 1px solid var(--p-borde); padding: 6px; }
.note-editor .note-btn { border-radius: .375rem !important; border-color: #e5e7eb !important; }
.note-editor .note-editing-area .note-editable { background: #fff; color: #111827; font-family: "Inter", sans-serif; font-size: 15px; line-height: 1.6; }
.note-editor .note-statusbar { background: #f9fafb; }
.dark .note-editor .note-toolbar, .dark .note-editor .note-statusbar { background: #1f2937; }
.dark .note-editor .note-btn { background: #374151; color: #f9fafb; border-color: #4b5563 !important; }

/* ---------- Dropzone ---------- */
.dropzone {
    border: 2px dashed var(--p-borde);
    border-radius: .75rem;
    background: var(--p-fondo-control);
    min-height: 180px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: border-color .2s, background-color .2s;
}
.dropzone:hover, .dropzone.dz-drag-hover { border-color: var(--p-marca); background: #fefce8; }
.dark .dropzone:hover, .dark .dropzone.dz-drag-hover { background: #1f2937; }
.dropzone .dz-message { margin: 0; color: #6b7280; }
.dropzone .dz-preview .dz-image { border-radius: .5rem; }

/* ---------- Validación de ASP.NET ---------- */
.input-validation-error { border-color: #dc2626 !important; }
.field-validation-error { color: #dc2626; font-size: .85rem; }
.validation-summary-errors ul { margin: 0; padding-left: 1.1rem; list-style: disc; }

/* ---------- Texto enriquecido de solo lectura ---------- */
.prosa { line-height: 1.65; }
.prosa p { margin: 0 0 .75em; }
.prosa ul { list-style: disc; padding-left: 1.2em; margin-bottom: .75em; }
.prosa ol { list-style: decimal; padding-left: 1.2em; margin-bottom: .75em; }
.prosa img { max-width: 100%; height: auto; border-radius: .5rem; }
.prosa table { width: 100%; }

/* El resumen de validación vacío no ocupa sitio */
.validation-summary-valid { display: none; }

/* Cabeceras ordenables de las tablas */
th[data-ordenar] { cursor: pointer; user-select: none; }
th[data-ordenar]::after { content: "↕"; margin-left: .35rem; opacity: .35; font-size: .8em; }
th[data-ordenar][aria-sort="ascending"]::after { content: "↑"; opacity: .9; }
th[data-ordenar][aria-sort="descending"]::after { content: "↓"; opacity: .9; }
