.catalogue-screen .ui-select-bootstrap { width: 100%; }
.catalogue-screen .ui-select-bootstrap > .ui-select-match > .btn {
    min-height: calc(1.5em + 1rem + 2px); height: auto; padding: .5rem .85rem;
    border: 1px solid #c5ccd6; background: #fff; color: #363d47;
    text-align: left; display: block; border-radius: .35rem; box-shadow: none;
}
.catalogue-screen .ui-select-bootstrap .ui-select-match-text { float: none !important; display: block; padding-right: 1rem; overflow: hidden; text-overflow: ellipsis; }
.catalogue-screen .ui-select-bootstrap .ui-select-toggle > .caret { border-top: 5px solid; border-right: 4px solid transparent; border-left: 4px solid transparent; }
.catalogue-screen .ui-select-bootstrap .ui-select-choices { padding: .35rem 0; border: 1px solid #d7dce3; box-shadow: 0 .4rem 1rem rgba(31,45,65,.14); }
.catalogue-screen .ui-select-bootstrap .ui-select-choices-row > span { padding: .6rem .9rem; white-space: normal; }
.catalogue-screen .ui-select-bootstrap .ui-select-choices-row.active > span { background: #05335f; }
.catalogue-screen .ui-select-bootstrap input.ui-select-search { width: 100% !important; min-height: calc(1.5em + 1rem + 2px); }
.catalogue-screen .ui-select-bootstrap .ui-select-match.btn-default-focus > .btn { border-color: #5d89ae; box-shadow: 0 0 0 .2rem rgba(5,51,95,.15); }
.catalogue-screen .ui-select-bootstrap .ui-select-no-choice { padding: .75rem; color: #687281; }
.catalogue-screen .catalogue-table td { min-width: 100px; max-width: 300px; overflow-wrap: anywhere; vertical-align: middle; }
.catalogue-screen .catalogue-table th { min-width: 100px; }
.catalogue-screen .catalogue-switch { padding-top: .6rem; }
.catalogue-screen .card { overflow: visible; }
/* ui-select uses Bootstrap 3's .open; the host theme uses Bootstrap 4's .show. */
.catalogue-screen .ui-select-bootstrap.open > .ui-select-choices,
.catalogue-screen .ui-select-bootstrap.open > .ui-select-no-choice { display: block; }


/* Búsqueda documental: controles compactos con la jerarquía tipográfica de Irritec. */
.document-search-card .card-body { padding: .8rem 1rem; }
.document-search-card .document-search-fields { margin-right: -.3rem; margin-left: -.3rem; }
.document-search-card .document-search-fields > [class*="col-"] { padding-right: .3rem; padding-left: .3rem; }
.document-search-card .form-group { margin-bottom: .5rem; }
.document-search-card .form-group > label {
    display: block; margin: 0 0 .22rem; color: rgb(104, 114, 129);
    font-size: .875rem; font-weight: 300; line-height: 1.5;
}
.document-search-card .form-control {
    height: 2.15rem; padding: .32rem .55rem; font-size: .875rem; line-height: 1.35;
}
.catalogue-screen .document-search-card .ui-select-bootstrap > .ui-select-match > .btn {
    min-height: 2.15rem; height: 2.15rem; padding: .32rem .55rem;
    font-size: .875rem; line-height: 1.35;
}
.catalogue-screen .document-search-card .ui-select-bootstrap input.ui-select-search {
    min-height: 2.15rem; height: 2.15rem; padding: .32rem .55rem; font-size: .875rem;
}
.document-search-card .ui-select-bootstrap .ui-select-choices-row > span { padding: .45rem .6rem; font-size: .875rem; }
.document-search-card .document-search-submit { padding: .38rem .75rem; font-size: .875rem; line-height: 1.35; }
@media (max-width: 767px) {
    .document-search-card .card-body { padding: .75rem; }
    .document-search-card .form-group { margin-bottom: .6rem; }
}

.catalogue-screen .document-company-select .ui-select-multiple.ui-select-bootstrap,
.catalogue-screen .document-audit-event-select .ui-select-multiple.ui-select-bootstrap {
    min-height: calc(1.5em + 1rem + 2px); padding: .32rem .55rem;
    border: 1px solid #c5ccd6; border-radius: .35rem; background: #fff;
}
.catalogue-screen .document-company-select .ui-select-multiple.ui-select-bootstrap.open,
.catalogue-screen .document-company-select .ui-select-multiple.ui-select-bootstrap:focus-within,
.catalogue-screen .document-audit-event-select .ui-select-multiple.ui-select-bootstrap.open,
.catalogue-screen .document-audit-event-select .ui-select-multiple.ui-select-bootstrap:focus-within {
    border-color: #5d89ae; box-shadow: 0 0 0 .2rem rgba(5,51,95,.15);
}
.catalogue-screen .document-company-select .ui-select-multiple.ui-select-bootstrap input.ui-select-search,
.catalogue-screen .document-audit-event-select .ui-select-multiple.ui-select-bootstrap input.ui-select-search {
    min-height: 1.5rem; padding: 0; font-size: 1rem;
}
.catalogue-screen .document-company-select .ui-select-match-item,
.catalogue-screen .document-audit-event-select .ui-select-match-item {
    margin: 0 .3rem .25rem 0; border: 1px solid #b9cbda; border-radius: .25rem;
    background: #edf2f7; color: #05335f;
}
.catalogue-screen .document-company-select .ui-select-match-item .close,
.catalogue-screen .document-audit-event-select .ui-select-match-item .close { color: #05335f; opacity: .8; }
.catalogue-screen pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 240px; max-width: 500px; }
.document-dropzone { border: 2px dashed #9aa9ba; border-radius: .4rem; min-height: 150px; padding: 1.5rem; text-align: center; transition: background-color .15s, border-color .15s; }
.document-dropzone-active { border-color: #05335f; background: #edf2f7; }
.document-dropzone-disabled { opacity: .65; cursor: wait; }
.document-file-entry { border-bottom: 1px solid #e1e6ed; }
.document-file-entry-open { border-bottom: 0; }
.document-viewer-modal { position: fixed; inset: 0; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; box-sizing: border-box; overflow: hidden; background: #e7ebf0; }
.document-viewer-modal[open] { display: flex; flex-direction: column; }
.document-viewer-actions { display: flex; flex-shrink: 0; gap: .5rem; }
.document-file-viewer-toolbar { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 1.25rem; background: #f8fafc; }
.document-file-viewer-title { color: #243447; font-size: .9rem; font-weight: 500; overflow-wrap: anywhere; }
.document-pdf-viewer { flex: 1; min-height: 0; background: #e7ebf0; }
.document-pdf-viewer iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 767px) { .document-file-viewer-toolbar { padding: .6rem .75rem; } .document-file-viewer-toolbar { flex-wrap: wrap; gap: .5rem; } }

.document-detail-card .card-header { padding: .7rem 1.25rem; background: #fff; border-bottom: 1px solid #e1e6ed; }
.document-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.document-detail-kicker { margin: 0 0 .1rem; color: #687281; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.document-detail-title { margin: 0; color: #173b70; font-size: 1.3rem; line-height: 1.2; }
.document-status-pill { flex: 0 0 auto; padding: .32rem .7rem; border-radius: 999px; background: #e8f2ff; color: #0757bd; font-size: .82rem; font-weight: 700; }
.document-detail-card .card-body { padding: .8rem 1.25rem; }
.document-summary-grid, .document-metadata-grid { display: grid; margin: 0; gap: .6rem 1.5rem; }
.document-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.document-summary-grid > div, .document-metadata-grid > div { min-width: 0; }
.document-summary-grid dt, .document-metadata-grid dt, .document-description > span { margin: 0 0 .1rem; color: #687281; font-size: .72rem; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; }
.document-summary-grid dd, .document-metadata-grid dd { margin: 0; color: #243447; overflow-wrap: anywhere; }
.document-summary-companies { grid-column: 1 / -1; display: flex; align-items: baseline; gap: .5rem; }
.document-summary-companies dt { flex: 0 0 auto; margin: 0; }
.document-summary-companies dd { min-width: 0; }
.document-company-badge { display: inline-block; margin: 0 .3rem 0 0; padding: .12rem .4rem; border-radius: .25rem; background: #eef3f9; color: #243447; font-size: .82rem; }
.document-description { display: flex; align-items: baseline; gap: .5rem; margin-top: .6rem; padding-top: .6rem; border-top: 1px solid #e1e6ed; }
.document-description > span { flex: 0 0 auto; margin: 0; }
.document-description p { margin: 0; white-space: pre-wrap; color: #425466; }
.document-metadata { margin-top: .7rem; padding-top: .7rem; border-top: 1px solid #e1e6ed; }
.document-metadata h3 { margin: 0 0 .55rem; color: #243447; font-size: 1rem; }
.document-metadata-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.document-metadata-grid dd { white-space: pre-wrap; }
@media (max-width: 767px) { .document-summary-grid, .document-metadata-grid { grid-template-columns: 1fr; } .document-summary-companies { display: block; } .document-summary-companies dt { margin-bottom: .1rem; } .document-detail-header { align-items: flex-start; } .document-status-pill { margin-top: .1rem; } .document-description { display: block; } .document-description > span { display: block; margin-bottom: .1rem; } }

/* Panel operativo de indexación PDF/OCR. */
.document-indexing-screen .index-heading-actions { gap: .75rem; }
.index-metric-card { height: 100%; border-left: .28rem solid #5a5c69; }
.index-metric-success { border-left-color: #00ac69; }
.index-metric-warning { border-left-color: #f4a100; }
.index-metric-danger { border-left-color: #e81500; }
.index-metric-label { color: #687281; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.index-metric-value { color: #243447; font-size: 1.75rem; font-weight: 600; line-height: 1.2; margin-top: .2rem; }
.index-metric-note { color: #687281; font-size: .8rem; margin-top: .2rem; }
.index-chart-container { height: 285px; }
.index-method-summary { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: -.25rem; color: #687281; font-size: .85rem; }
.index-method-summary .fa-file-alt { color: #05335f; }
.index-method-summary .fa-eye { color: #2680c2; }
.index-queue-table th, .index-queue-table td { padding: .8rem 1.25rem; text-align: center; }
.index-queue-table td { color: #243447; font-size: 1.15rem; font-weight: 600; }
.index-recent-table td { vertical-align: middle; }
.index-recent-table td:first-child { max-width: 320px; overflow-wrap: anywhere; }
@media (max-width: 767px) { .index-chart-container { height: 240px; } .index-queue-table th, .index-queue-table td { padding: .65rem .8rem; } }

/* Etiquetas legibles para la bitácora documental. */
.document-audit-event { display: inline-flex; align-items: center; gap: .35rem; padding: .27rem .55rem; border-radius: 999px; font-size: .78rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.document-audit-event-success { background: #e4f7ef; color: #08754e; }
.document-audit-event-primary { background: #e8f0f6; color: #05335f; }
.document-audit-event-info { background: #e9f4fb; color: #176b9d; }
.document-audit-event-warning { background: #fff4d6; color: #8a5a00; }
.document-audit-event-danger { background: #fde9e7; color: #ad2b22; }
.document-audit-event-secondary { background: #eef1f4; color: #526171; }
.document-audit-document-title { display: block; color: #243447; font-weight: 500; overflow-wrap: anywhere; }
.document-audit-document-meta { display: block; margin-top: .12rem; color: #687281; font-size: .78rem; }

/* Lista documental: bloques compactos con título y datos relacionados. */
.document-list { display: grid; gap: .75rem; }
.document-list-item { min-width: 0; padding: 1rem 1.2rem; border: 1px solid #dce3eb; border-left: 4px solid #235fa4; border-radius: .55rem; background: #fff; }
.document-list-item:hover { border-color: #adc3db; border-left-color: #235fa4; }
.document-list-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem .8rem; }
.document-list-type { padding: .25rem .55rem; border-radius: .25rem; background: #e8f0fa; color: #174b86; font-size: .78rem; font-weight: 700; overflow-wrap: anywhere; }
.document-list-title { flex: 1 1 240px; min-width: 0; margin: 0; font-size: 1.1rem; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
.document-list-title a { color: #173b70; }
.document-list-open { flex: 0 0 auto; }
.document-list-meta { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; margin-top: .55rem; color: #526171; font-size: .85rem; }
.document-list-companies, .document-list-files { margin-top: .5rem; color: #526171; font-size: .85rem; overflow-wrap: anywhere; }
.document-list-companies .document-company-badge { margin-bottom: .2rem; white-space: normal; }
.document-list-description { margin: .5rem 0 0; color: #526171; font-size: .9rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.document-list-files ul { display: flex; flex-wrap: wrap; gap: .25rem 1rem; list-style: none; padding: 0; margin: .2rem 0 0; }
.document-list-files li { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.document-list-files i { color: #687281; margin-right: .15rem; }
@media (max-width: 575px) { .document-list-item { padding: .85rem; } .document-list-title { flex-basis: 100%; order: -1; } .document-list-open { margin-left: auto; } }

.document-viewer-heading { min-width: 0; overflow-wrap: anywhere; }
.document-viewer-context { display: block; margin-top: .15rem; color: #526173; font-size: .78rem; line-height: 1.35; }

.document-search-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.5rem; }
.document-search-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.document-search-new { margin-left: auto; }
