/* UI Refactor 2026-03-30:
   Global ERP Modern UI pass for list/filter/print shells and shared feedback surfaces.
   Visual-only layer; no business logic changes. */

.panel.panel-hash,
.wrapper > .panel,
.wrapper .panel.panel-hash {
    border: 1px solid var(--erp-line-soft);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), var(--erp-surface-soft));
    box-shadow: var(--erp-shadow-soft);
    overflow: hidden;
}

.panel.panel-hash > .panel-heading,
.wrapper .panel.panel-hash > .panel-heading {
    padding: 20px 22px 18px;
    background:
        radial-gradient(circle at top left, color-mix(in oklab, var(--primary) 10%, transparent), transparent 28%),
        linear-gradient(135deg, var(--erp-surface-subtle), rgba(255, 255, 255, .96));
    border-bottom: 1px solid var(--erp-line-soft);
}

.panel.panel-hash > .panel-heading > .row + .row {
    margin-top: 14px;
}

.panel.panel-hash .panel-body,
.panel.panel-hash .panel-footer,
.wrapper .panel.panel-hash .panel-body,
.wrapper .panel.panel-hash .panel-footer {
    padding: 18px 22px;
    background: transparent;
    border-top-color: rgba(203, 213, 225, .8);
}

.panel.panel-hash label,
.wrapper .panel.panel-hash label {
    margin-bottom: 6px;
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
}

.panel.panel-hash input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.panel.panel-hash select,
.panel.panel-hash textarea,
.wrapper .panel.panel-hash input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.wrapper .panel.panel-hash select,
.wrapper .panel.panel-hash textarea {
    min-height: 42px;
    border-radius: 14px;
    border: 1px solid var(--erp-line-soft);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .96));
    color: var(--input-text);
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.panel.panel-hash input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.panel.panel-hash select:focus,
.panel.panel-hash textarea:focus,
.wrapper .panel.panel-hash input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
.wrapper .panel.panel-hash select:focus,
.wrapper .panel.panel-hash textarea:focus {
    border-color: color-mix(in oklab, var(--primary) 48%, white 52%);
    box-shadow: var(--erp-focus-ring);
    transform: translateY(-1px);
}

.panel.panel-hash .btn,
.wrapper .panel.panel-hash .btn,
.panel-footer .btn,
.erp-upload-actions .btn {
    border-radius: 14px;
    font-weight: 800;
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.panel.panel-hash .btn:hover,
.wrapper .panel.panel-hash .btn:hover,
.panel-footer .btn:hover,
.erp-upload-actions .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
}

.panel.panel-hash .btn i,
.wrapper .panel.panel-hash .btn i,
.panel-footer .btn i {
    margin-inline-end: 6px;
}

.panel.panel-hash .table-responsive,
.wrapper .panel.panel-hash .table-responsive {
    border: 1px solid rgba(203, 213, 225, .78);
    border-radius: 18px;
    background: rgba(255, 255, 255, .96);
}

.panel.panel-hash table,
.wrapper .panel.panel-hash table,
.erp-table-shell table {
    margin-bottom: 0;
}

.panel.panel-hash table thead th,
.wrapper .panel.panel-hash table thead th,
.erp-table-shell table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: linear-gradient(180deg, var(--table-head), color-mix(in oklab, var(--table-head) 88%, white 12%));
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    border-bottom: 1px solid var(--erp-line-strong);
}

.panel.panel-hash table tbody tr:nth-child(even),
.wrapper .panel.panel-hash table tbody tr:nth-child(even),
.erp-table-shell table tbody tr:nth-child(even) {
    background: color-mix(in oklab, var(--primary) 4%, white 96%);
}

.panel.panel-hash table tbody tr:hover,
.wrapper .panel.panel-hash table tbody tr:hover,
.erp-table-shell table tbody tr:hover {
    background: color-mix(in oklab, var(--primary) 8%, white 92%);
}

.panel.panel-hash .pagination > li > a,
.panel.panel-hash .pagination > li > span,
.wrapper .panel.panel-hash .pagination > li > a,
.wrapper .panel.panel-hash .pagination > li > span {
    border-radius: 12px !important;
    margin: 0 3px;
    border-color: var(--erp-line-soft);
    color: var(--text);
}

.panel.panel-hash .pagination > .active > a,
.panel.panel-hash .pagination > .active > span,
.wrapper .panel.panel-hash .pagination > .active > a,
.wrapper .panel.panel-hash .pagination > .active > span {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.panel-footer.text-right,
.panel-footer.erp-u-text-align-right {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    border-top: 0;
    background: transparent;
}

.header_report,
.erp-print-table,
#printableArea,
[id$="_printableArea"] {
    border-radius: 24px;
}

.header_report {
    margin-bottom: 18px;
    padding: 18px 20px;
    border: 1px solid var(--erp-line-soft);
    background:
        radial-gradient(circle at top left, color-mix(in oklab, var(--primary) 10%, transparent), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .98), var(--erp-surface-subtle));
    box-shadow: var(--erp-shadow-soft);
}

.header_report h1,
.header_report h2,
.header_report h3,
.header_report h4,
.header_report h5,
.header_report h6 {
    color: var(--text);
    font-weight: 900;
}

.erp-print-table,
.header_report_table_body {
    overflow: hidden;
    border-color: rgba(203, 213, 225, .85) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .06);
}

.erp-print-table th,
.erp-print-table td,
.header_report_table_body th,
.header_report_table_body td {
    border-color: rgba(203, 213, 225, .75) !important;
}

.erp-form-control-print,
.form-control.erp-form-control-print {
    min-height: 42px;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, .75);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 255, .95));
    font-weight: 700;
}

.form-label_print {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    color: color-mix(in oklab, var(--text) 82%, var(--primary) 18%);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    min-height: 42px;
    border-radius: 14px !important;
    border: 1px solid var(--erp-line-soft) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 251, 255, .96)) !important;
    box-shadow: none !important;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
    box-shadow: var(--erp-focus-ring) !important;
    border-color: color-mix(in oklab, var(--primary) 48%, white 52%) !important;
}

.toast,
.swal2-popup {
    border-radius: 20px !important;
    border: 1px solid var(--erp-line-soft) !important;
    box-shadow: var(--erp-shadow-float) !important;
}

.toast .toast-message,
.swal2-popup,
.swal2-html-container {
    line-height: 1.8;
}

.swal2-styled.swal2-confirm {
    background: linear-gradient(135deg, var(--primary), color-mix(in oklab, var(--primary) 72%, white 28%)) !important;
    border-radius: 12px !important;
    font-weight: 800 !important;
}

.swal2-styled.swal2-cancel {
    border-radius: 12px !important;
    font-weight: 800 !important;
}

.erp-enter-focus {
    animation: erp-enter-focus-pulse .7s ease;
}

@keyframes erp-enter-focus-pulse {
    0% {
        box-shadow: 0 0 0 0 color-mix(in oklab, var(--primary) 22%, transparent);
    }

    100% {
        box-shadow: 0 0 0 10px transparent;
    }
}

@media (max-width: 991.98px) {
    .panel.panel-hash,
    .wrapper > .panel,
    .wrapper .panel.panel-hash,
    .header_report,
    .erp-print-table,
    #printableArea,
    [id$="_printableArea"] {
        border-radius: 18px;
    }

    .panel.panel-hash > .panel-heading,
    .panel.panel-hash .panel-body,
    .panel.panel-hash .panel-footer,
    .wrapper .panel.panel-hash > .panel-heading,
    .wrapper .panel.panel-hash .panel-body,
    .wrapper .panel.panel-hash .panel-footer,
    .header_report {
        padding: 16px 14px;
    }

    .panel-footer.text-right,
    .panel-footer.erp-u-text-align-right {
        justify-content: stretch;
    }

    .panel-footer.text-right .btn,
    .panel-footer.erp-u-text-align-right .btn {
        width: 100%;
    }

    .panel.panel-hash .row > [class*="col-"],
    .wrapper .panel.panel-hash .row > [class*="col-"],
    .header_report .row > [class*="col-"] {
        margin-bottom: 12px;
    }

    .panel.panel-hash .table-responsive,
    .wrapper .panel.panel-hash .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media print {
    .panel-footer.text-right,
    .panel-footer.erp-u-text-align-right {
        display: none !important;
    }

    .header_report,
    .erp-print-table,
    #printableArea,
    [id$="_printableArea"] {
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}
