/* HTC_DAILY_REPORT_SINGLE_CLEAN_CSS_20260518_START */
/* One visual layer only. Keeps legacy classes, buttons and JS behavior. */

:root {
    --htc-blue: #00149d;
    --htc-blue-2: #21b8d6;
    --htc-orange: #f97316;
    --htc-green: #16a34a;
    --htc-red: #dc2626;
    --htc-purple: #7c3aed;
    --htc-ink: #1f2937;
    --htc-muted: #64748b;
    --htc-line: rgba(15,23,42,.08);
    --htc-card: rgba(255,255,255,.92);
}

html,
body {
    margin: 0 !important;
    min-height: 100% !important;
    background:
        radial-gradient(circle at top left, rgba(33,184,214,.13), transparent 30%),
        radial-gradient(circle at top right, rgba(0,20,157,.09), transparent 32%),
        #eef5f9 !important;
    color: var(--htc-ink) !important;
    font-family: Poppins, Arial, sans-serif !important;
}

/* Header */
.htc-standalone-header {
    background: rgba(255,255,255,.92) !important;
    border-bottom: 1px solid var(--htc-line) !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.06) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    padding: 18px 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 999 !important;
}

.htc-standalone-logo {
    color: var(--htc-blue) !important;
    font-size: 28px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
}

.htc-standalone-logo small {
    display: block !important;
    color: var(--htc-orange) !important;
    font-size: 11px !important;
    letter-spacing: .35em !important;
    margin-top: -4px !important;
    text-align: center !important;
}

.htc-standalone-nav {
    display: flex !important;
    gap: 18px !important;
    align-items: center !important;
}

.htc-standalone-nav a {
    color: #4b5563 !important;
    text-decoration: none !important;
    font-weight: 850 !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    transition: all .14s ease !important;
}

.htc-standalone-nav a:hover,
.htc-standalone-nav a.active {
    color: var(--htc-blue) !important;
    background: #ffffff !important;
    border: 2px solid var(--htc-blue) !important;
    box-shadow: 0 10px 24px rgba(0,20,157,.10) !important;
}

/* Page */
.d-report-page {
    padding: 26px !important;
}

.d-report {
    max-width: 100% !important;
    overflow: visible !important;
}

/* Main blue title block */
.d-report-header {
    margin: 10px 0 22px !important;
    padding: 30px !important;
    border-radius: 28px !important;
    background: linear-gradient(135deg, var(--htc-blue) 0%, #1234c9 58%, var(--htc-blue-2) 100%) !important;
    color: #ffffff !important;
    box-shadow:
        0 24px 60px rgba(0,20,157,.20),
        inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.d-report-header h2 {
    margin: 0 0 18px !important;
    color: #ffffff !important;
    font-size: 34px !important;
    font-weight: 950 !important;
    letter-spacing: .10em !important;
}

/* Quick filters */
#quick-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#quick-filters .btn {
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.65) !important;
    background: rgba(255,255,255,.95) !important;
    color: var(--htc-blue) !important;
    font-weight: 900 !important;
    padding: 10px 16px !important;
    box-shadow: 0 10px 22px rgba(0,20,157,.12) !important;
}

#quick-filters .btn:hover {
    transform: translateY(-2px) !important;
    background: #ffffff !important;
}

/* View report */
#viewReportBtn {
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--htc-blue), var(--htc-blue-2)) !important;
    color: #ffffff !important;
    font-weight: 950 !important;
    padding: 12px 24px !important;
    box-shadow: 0 16px 34px rgba(0,20,157,.18) !important;
    margin-bottom: 18px !important;
}

#viewReportBtn:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.04) !important;
}

/* Pending courses button */
.custom-toolbar {
    position: relative !important;
    min-height: 68px !important;
    margin: 12px 0 18px !important;
}

.custom-toolbar .get_enrollment_pending {
    text-align: center !important;
    background: #fff7ed !important;
    border: 2px solid #ffa426 !important;
    color: var(--htc-orange) !important;
    padding: 0 5px !important;
    font-weight: 950 !important;
    position: absolute !important;
    top: 0 !important;
    right: 20px !important;
    border-radius: 999px !important;
    font-size: 2em !important;
    width: 60px !important;
    height: 60px !important;
    line-height: 1.7 !important;
    box-shadow: 0 14px 34px rgba(249,115,22,.18) !important;
    text-decoration: none !important;
}

/* DataTables shell */
.dt-container,
.dataTables_wrapper {
    background: var(--htc-card) !important;
    border: 1px solid var(--htc-line) !important;
    border-radius: 28px !important;
    padding: 18px !important;
    box-shadow: 0 22px 55px rgba(15,23,42,.08) !important;
    overflow: visible !important;
}

/* Top controls */
.dt-info,
.dataTables_info {
    color: var(--htc-ink) !important;
    font-weight: 850 !important;
}

.dt-search,
.dataTables_filter {
    margin: 10px 0 16px !important;
}

.dt-search input,
.dataTables_filter input {
    min-height: 46px !important;
    min-width: 330px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15,23,42,.13) !important;
    background: #ffffff !important;
    color: var(--htc-ink) !important;
    padding: 0 18px !important;
    font-weight: 750 !important;
    box-shadow: 0 8px 20px rgba(15,23,42,.045) !important;
}

.dt-length select,
.dataTables_length select,
#registros_length select {
    min-height: 42px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15,23,42,.13) !important;
    background: #ffffff !important;
    color: var(--htc-ink) !important;
    padding: 0 12px !important;
    font-weight: 800 !important;
}

/* External filter container */
#filter-container,
.dataTables_filter-container {
    background: rgba(255,255,255,.55) !important;
    border-radius: 22px !important;
    padding: 14px !important;
    margin: 12px 0 18px !important;
}

#filter-container select,
#filter-container input,
.dataTables_filter-container select,
.dataTables_filter-container input {
    border-radius: 999px !important;
    border: 1px solid rgba(15,23,42,.15) !important;
    background: #ffffff !important;
    min-height: 38px !important;
    padding: 0 12px !important;
}

/* Table */
table#registros,
table.conteo {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

table#registros thead th,
table.conteo thead th {
    background: linear-gradient(135deg, var(--htc-blue) 0%, #1234c9 58%, var(--htc-blue-2) 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 15px 12px !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

table#registros tbody td,
table.conteo tbody td {
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid rgba(15,23,42,.065) !important;
    color: #263142 !important;
    padding: 13px 12px !important;
    vertical-align: middle !important;
}

table#registros tbody tr:hover td,
table.conteo tbody tr:hover td {
    background: rgba(33,184,214,.065) !important;
}

table#registros tbody td a,
table.conteo tbody td a {
    color: var(--htc-blue) !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

table#registros tbody td a:hover,
table.conteo tbody td a:hover {
    color: var(--htc-blue-2) !important;
}

table#registros small,
table.conteo small {
    color: var(--htc-muted) !important;
    font-weight: 700 !important;
}

/* Status labels */
.label {
    display: inline-grid !important;
    place-items: center !important;
    min-width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    font-weight: 950 !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(15,23,42,.12) !important;
}

.label.success {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
}

.label.danger {
    background: linear-gradient(135deg, #dc2626, #ef4444) !important;
}

.label.warning {
    background: linear-gradient(135deg, #f97316, #fb923c) !important;
}

/* Actions */
.dropbtn {
    position: relative !important;
    border: 0 !important;
    border-radius: 999px !important;
    min-height: 42px !important;
    padding: 0 52px 0 16px !important;
    color: #ffffff !important;
    font-weight: 950 !important;
    background: linear-gradient(135deg, var(--htc-blue), var(--htc-blue-2)) !important;
    box-shadow: 0 12px 28px rgba(0,20,157,.16) !important;
}

.dropbtn:hover {
    transform: translateY(-2px) !important;
    filter: brightness(1.04) !important;
}

.dropdown-content {
    border: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 55px rgba(15,23,42,.20) !important;
    padding: 8px !important;
    overflow: hidden !important;
    z-index: 9999 !important;
}

.dropdown-content.hidden,
.hidden {
    display: none;
}

.dropdown-content a {
    display: block !important;
    border-radius: 12px !important;
    padding: 11px 13px !important;
    color: var(--htc-ink) !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.dropdown-content a:hover {
    background: #eff6ff !important;
    color: var(--htc-blue) !important;
}

/* Method text */
.text_Zelle,
.text_zelle {
    color: var(--htc-purple) !important;
}

.text_Cash,
.text_cash {
    color: var(--htc-green) !important;
}

.text_Check,
.text_check {
    color: #0f766e !important;
}

.text_Credit,
.text_credit,
.text_credit_card {
    color: #2563eb !important;
}

/* Modals */
.modal-content {
    border: none !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 30px 90px rgba(15,23,42,.28) !important;
}

.modal-header {
    background: linear-gradient(135deg, var(--htc-blue), var(--htc-blue-2)) !important;
    color: #ffffff !important;
    border-bottom: none !important;
    padding: 18px 22px !important;
}

.modal-header .modal-title {
    color: #ffffff !important;
    font-weight: 950 !important;
}

.modal-body {
    background: #f8fafc !important;
    padding: 22px !important;
}

.modal-footer {
    background: #ffffff !important;
    border-top: 1px solid var(--htc-line) !important;
}

.modal .btn {
    border-radius: 999px !important;
    font-weight: 900 !important;
}

#modalReportContent {
    color: var(--htc-ink) !important;
}

#denominations,
#user_profile {
    background: #ffffff !important;
    border: 1px solid var(--htc-line) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.06) !important;
}

/* Pagination */
.dt-paging button,
.dataTables_paginate .paginate_button {
    border-radius: 999px !important;
    border: 1px solid rgba(0,20,157,.14) !important;
    background: #ffffff !important;
    color: var(--htc-blue) !important;
    font-weight: 900 !important;
    margin: 0 3px !important;
}

.dt-paging button.current,
.dataTables_paginate .paginate_button.current {
    background: linear-gradient(135deg, var(--htc-blue), var(--htc-blue-2)) !important;
    color: #ffffff !important;
}

/* Disabled old buttons */
.disabled,
a.disabled,
button.disabled {
    opacity: .45 !important;
    filter: grayscale(.2) !important;
    pointer-events: none !important;
}

/* Responsive */
@media (max-width: 900px) {
    .htc-standalone-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        padding: 16px !important;
    }

    .d-report-page {
        padding: 14px !important;
    }

    .d-report-header {
        padding: 22px !important;
        border-radius: 22px !important;
    }

    .d-report-header h2 {
        font-size: 26px !important;
    }

    .dt-container,
    .dataTables_wrapper {
        padding: 12px !important;
        border-radius: 20px !important;
    }

    .dt-search input,
    .dataTables_filter input {
        min-width: 100% !important;
    }
}
/* HTC_DAILY_REPORT_SINGLE_CLEAN_CSS_20260518_END */


/* HTC_DAILY_REPORT_RANGE_ACTIVE_FIX_20260518_START */
#quick-filters .btn.active,
#quick-filters a.btn.active {
    background: #ffffff !important;
    color: #00149d !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 16px 34px rgba(0,20,157,.24) !important;
    transform: translateY(-1px) !important;
}

#quick-filters a.btn {
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
/* HTC_DAILY_REPORT_RANGE_ACTIVE_FIX_20260518_END */

/* HTC_DAILY_REPORT_FILTERS_AND_DUP_COLUMNS_FIX_20260518_START */

/* Ocultar cualquier clon residual de FixedColumns si quedó en DOM por caché/librería */
.dtfc-fixed-left,
.dtfc-fixed-right,
.dtfc-fixed-start,
.dtfc-fixed-end,
.dtfc-top-blocker,
.dtfc-bottom-blocker,
.dtfc-left-top-blocker,
.dtfc-left-bottom-blocker,
.dtfc-right-top-blocker,
.dtfc-right-bottom-blocker {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
}

/* Asegurar que la tabla principal use solo una capa */
table#registros {
    position: relative !important;
    z-index: 1 !important;
}

.dt-container,
.dataTables_wrapper {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

/* El bloque de filtros que crea el JS viejo */
#filter-container,
.dataTables_filter-container {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 220px 260px 190px 250px 250px !important;
    gap: 14px 18px !important;
    align-items: end !important;
    background: rgba(255,255,255,.68) !important;
    border: 1px solid rgba(15,23,42,.06) !important;
    border-radius: 26px !important;
    padding: 22px 24px !important;
    margin: 18px 0 22px !important;
    box-shadow:
        0 18px 45px rgba(15,23,42,.06),
        inset 0 1px 0 rgba(255,255,255,.70) !important;
}

/* Cada item de filtro */
#filter-container > div,
.dataTables_filter-container > div {
    min-width: 0 !important;
}

/* Labels del filtro */
#filter-container label,
.dataTables_filter-container label {
    display: block !important;
    margin: 0 0 7px !important;
    color: #1f2937 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
}

/* Selects e inputs de los filtros */
#filter-container select,
#filter-container input,
.dataTables_filter-container select,
.dataTables_filter-container input {
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15,23,42,.13) !important;
    background: #ffffff !important;
    color: #1f2937 !important;
    padding: 0 16px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    outline: none !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.035) !important;
}

#filter-container select:focus,
#filter-container input:focus,
.dataTables_filter-container select:focus,
.dataTables_filter-container input:focus {
    border-color: #21b8d6 !important;
    box-shadow: 0 0 0 4px rgba(33,184,214,.16) !important;
}

/* Created At trae dos inputs: Date From / Date To */
#filter-container input[type="text"],
#filter-container input[type="date"],
.dataTables_filter-container input[type="text"],
.dataTables_filter-container input[type="date"] {
    min-width: 0 !important;
}

/* Evitar que DataTables parta la tabla en overlays raros */
table#registros thead th,
table#registros tbody td {
    box-sizing: border-box !important;
}

table#registros thead th:first-child,
table#registros tbody td:first-child {
    min-width: 145px !important;
}

/* Mejorar búsqueda y selector principal */
.dt-search,
.dataTables_filter {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 14px 0 18px !important;
}

.dt-search label,
.dataTables_filter label {
    font-weight: 850 !important;
    color: #1f2937 !important;
}

.dt-search input,
.dataTables_filter input {
    min-width: 340px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15,23,42,.13) !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.05) !important;
}

/* Barra superior de DataTables más compacta */
.dt-layout-row,
.dataTables_wrapper .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Responsive */
@media (max-width: 1250px) {
    #filter-container,
    .dataTables_filter-container {
        grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    #filter-container,
    .dataTables_filter-container {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }

    .dt-search,
    .dataTables_filter {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .dt-search input,
    .dataTables_filter input {
        min-width: 100% !important;
    }
}

/* HTC_DAILY_REPORT_FILTERS_AND_DUP_COLUMNS_FIX_20260518_END */
