﻿/* 
   FONT
 */
.opmodal-table {
    font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: 13px;
}

    /* 
   SEARCH INPUT
 */
    .opmodal-table .dt-container .dt-search {
        margin-bottom: 15px;
    }

        .opmodal-table .dt-container .dt-search input,
        .opmodal-table .dataTables_filter input {
            padding: 8px 12px;
            font-size: 13px;
            border: 1px solid rgba(102, 151, 199, 0.2);
            border-radius: 0.25rem;
            background-color: #ffffff;
            color: #1c273c;
            outline: none;
            min-width: 200px;
            font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            transition: border-color 0.15s, box-shadow 0.15s;
        }

            .opmodal-table .dt-container .dt-search input:focus,
            .opmodal-table .dataTables_filter input:focus {
                border-color: #6697c7;
                box-shadow: 0 0 0 2px #dde9fe;
            }

    /* 
   LENGTH SELECT
 */
    .opmodal-table .dt-container .dt-length,
    .opmodal-table .dataTables_length {
        margin-bottom: 15px;
    }

        .opmodal-table .dt-container .dt-length select,
        .opmodal-table .dataTables_length select {
            padding: 6px 12px;
            font-size: 12px;
            border: 1px solid rgba(102, 151, 199, 0.2);
            border-radius: 0.25rem;
            background-color: #ffffff;
            color: #1c273c;
            outline: none;
            font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            margin: 0 5px;
        }

    /* 
   INFO TEXT
 */
    .opmodal-table .dt-container .dt-info,
    .opmodal-table .dataTables_info {
        font-size: 12px;
        color: #778a99;
        padding: 10px 0;
    }

    /* 
   PAGINATION
 */
    .opmodal-table .dt-container .dt-paging,
    .opmodal-table .dataTables_paginate {
        padding: 10px 0;
    }

        .opmodal-table .dt-container .dt-paging .dt-paging-button,
        .opmodal-table .dataTables_paginate .paginate_button {
            display: inline-block;
            padding: 6px 12px;
            font-size: 12px;
            border: 1px solid rgba(102, 151, 199, 0.2) !important;
            border-radius: 0.25rem;
            background-color: #ffffff !important;
            color: #1c273c !important;
            cursor: pointer;
            margin: 0 2px;
            font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
            transition: all 0.15s;
        }

            .opmodal-table .dt-container .dt-paging .dt-paging-button:hover:not(.disabled),
            .opmodal-table .dataTables_paginate .paginate_button:hover:not(.disabled) {
                background-color: #f4f5f8 !important;
                border-color: #6697c7 !important;
                color: #1c273c !important;
            }

            .opmodal-table .dt-container .dt-paging .dt-paging-button.current,
            .opmodal-table .dataTables_paginate .paginate_button.current {
                background-color: #6697c7 !important;
                border-color: #6697c7 !important;
                color: #ffffff !important;
            }

            .opmodal-table .dt-container .dt-paging .dt-paging-button.disabled,
            .opmodal-table .dataTables_paginate .paginate_button.disabled {
                opacity: 0.5;
                cursor: not-allowed;
            }

    /* 
   TABLE STRUCTURE
 */
    .opmodal-table .dt-container table.dataTable,
    .opmodal-table table.dataTable {
        width: 100% !important;
        border-collapse: collapse;
        font-size: 13px;
    }

        /* 
   THEAD
 */
        .opmodal-table .dt-container table.dataTable thead th,
        .opmodal-table table.dataTable thead th {
            text-align: left;
            padding: 10px 15px;
            font-size: 10px;
            font-weight: 500;
            color: #778a99;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            background-color: #f4f5f8;
            border-bottom: 1px solid #e0eafa;
            white-space: nowrap;
            cursor: pointer;
        }

            .opmodal-table .dt-container table.dataTable thead th:hover,
            .opmodal-table table.dataTable thead th:hover {
                background-color: #e0eafa;
            }

            /* Active sort column */
            .opmodal-table .dt-container table.dataTable thead th.dt-ordering-asc,
            .opmodal-table .dt-container table.dataTable thead th.dt-ordering-desc,
            .opmodal-table table.dataTable thead th.sorting_asc,
            .opmodal-table table.dataTable thead th.sorting_desc {
                background-color: #e0eafa;
            }

        /* 
   TBODY
 */
        .opmodal-table .dt-container table.dataTable tbody td,
        .opmodal-table table.dataTable tbody td {
            padding: 12px 15px;
            font-size: 13px;
            color: #1c273c;
            border-bottom: 1px solid #e0eafa;
            vertical-align: middle;
        }

        .opmodal-table .dt-container table.dataTable tbody tr:hover,
        .opmodal-table table.dataTable tbody tr:hover {
            background-color: #f4f5f8;
        }

        /* Remove default DataTables odd/even striping */
        .opmodal-table .dt-container table.dataTable tbody tr.odd,
        .opmodal-table .dt-container table.dataTable tbody tr.even,
        .opmodal-table table.dataTable tbody tr.odd,
        .opmodal-table table.dataTable tbody tr.even {
            background-color: transparent;
        }

        /* 
   LINK STYLE  (matches .raid_code in RAIDLog.js)
 */
        .opmodal-table table.dataTable tbody td a.item-code {
            color: #1c8fb5;
            text-decoration: none;
            background-color: transparent;
        }

            .opmodal-table table.dataTable tbody td a.item-code:hover {
                text-decoration: underline;
            }

    /* 
   TYPE BADGE  (R / I / A / D circular icon)
 */
    .opmodal-table .type-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        border-radius: 0.25rem;
        font-size: 12px;
        font-weight: 600;
    }

    /* 
   PRIORITY BADGE
 */
    .opmodal-table .priority-badge {
        display: inline-block;
        padding: 3px 8px;
        border-radius: 0.25rem;
        font-size: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.3px;
    }

        .opmodal-table .priority-badge.critical {
            background-color: rgba(196, 137, 158, 0.25);
            color: #c4899e;
        }

        .opmodal-table .priority-badge.high {
            background-color: rgba(248, 180, 210, 0.18);
            color: #c4899e;
        }

        .opmodal-table .priority-badge.medium {
            background-color: rgba(247, 171, 120, 0.18);
            color: #d08a55;
        }

        .opmodal-table .priority-badge.low {
            background-color: rgba(80, 206, 205, 0.18);
            color: #3ba5a4;
        }

    /* 
   STATUS BADGE
 */
    .opmodal-table .status-badge {
        display: inline-block;
        padding: 3px 8px;
        border-radius: 0.25rem;
        font-size: 10px;
        font-weight: 500;
        letter-spacing: 0.3px;
    }

        .opmodal-table .status-badge.new {
            background-color: rgba(155, 142, 196, 0.18);
            color: #9b8ec4;
        }

        .opmodal-table .status-badge.open {
            background-color: rgba(172, 212, 251, 0.18);
            color: #7ab3d9;
        }

        .opmodal-table .status-badge.in-progress {
            background-color: #dde9fe;
            color: #5580a8;
        }

        .opmodal-table .status-badge.monitoring {
            background-color: rgba(247, 171, 120, 0.18);
            color: #d08a55;
        }

        .opmodal-table .status-badge.escalated {
            background-color: rgba(248, 180, 210, 0.18);
            color: #c4899e;
        }

        .opmodal-table .status-badge.closed {
            background-color: rgba(80, 206, 205, 0.18);
            color: #3ba5a4;
        }

    /* 
   FREQUENCY / IMPACT MINI BADGE  (L / M / H / C boxes)
   Replaces the old inline <h6> style badges
 */
    .opmodal-table .freq-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 0.25rem;
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        border: 1px solid rgba(102, 151, 199, 0.2);
    }

        .opmodal-table .freq-badge.low {
            background-color: #f4f5f8;
            color: #778a99;
        }

        .opmodal-table .freq-badge.medium {
            background-color: rgba(248, 180, 210, 0.18);
            color: #c4899e;
        }

        .opmodal-table .freq-badge.high {
            background-color: rgba(248, 180, 210, 0.35);
            color: #c4899e;
        }

        .opmodal-table .freq-badge.critical {
            background-color: rgba(196, 137, 158, 0.4);
            color: #8b4563;
        }

    /* 
   DATE CELL
 */
    .opmodal-table .date-cell {
        white-space: nowrap;
        font-size: 12px;
        font-family: 'Rubik', sans-serif;
    }

    .opmodal-table .date-overdue {
        color: #f8b4d2;
        font-weight: 500;
    }

    /* 
   ITEM TITLE
 */
    .opmodal-table .item-title {
        font-weight: 500;
        color: #1c273c;
    }

    /* 
   EMPTY STATE
 */
    .opmodal-table .empty-state {
        padding: 40px;
        text-align: center;
        color: #778a99;
        font-size: 13px;
    }
/**/

/* 
   HIDE SORT ARROWS
*/
    .opmodal-table table.dataTable thead th.sorting::before,
    .opmodal-table table.dataTable thead th.sorting::after,
    .opmodal-table table.dataTable thead th.sorting_asc::before,
    .opmodal-table table.dataTable thead th.sorting_asc::after,
    .opmodal-table table.dataTable thead th.sorting_desc::before,
    .opmodal-table table.dataTable thead th.sorting_desc::after,
    .opmodal-table table.dataTable thead th.dt-ordering-asc::before,
    .opmodal-table table.dataTable thead th.dt-ordering-asc::after,
    .opmodal-table table.dataTable thead th.dt-ordering-desc::before,
    .opmodal-table table.dataTable thead th.dt-ordering-desc::after {
        display: none !important;
    }

/* 
   Col Resize CSS
*/

.opmodal-table ﻿table.dataTable thead th[data-is-resizable=true] {
    border-inline-start: 1px solid transparent;
    border-inline-end: 1px dashed #bfbfbf;
}

.opmodal-table table.dataTable thead th.dt-colresizable-hover {
    cursor: col-resize !important;
    background-color: #eaeaea;
    border-inline-start: 1px solid #bfbfbf;
}

.opmodal-table table.dataTable thead th.dt-colresizable-bound-min,
.opmodal-table table.dataTable thead th.dt-colresizable-bound-max {
    opacity: 0.2;
    cursor: not-allowed !important;
}