﻿
/* Table Container */
.table-wrapper {
    max-height: 550px;
    overflow-y: auto;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    font-family: 'Segoe UI', sans-serif;
}

/* Base Table */
.table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    color: #333;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    overflow: hidden;
}

    /* Header Styling */
    .table thead th {
        background-color: #16989A;
        color: #fff;
        font-weight: 600;
        padding: 12px 15px;
        height: 45px;
        vertical-align: middle;
        border: none;
        position: sticky;
        top: 0;
        z-index: 2;
    }

        .table thead th:hover {
            background-color: #138486;
        }

    /* Rounded corners for header */
    .table thead tr:first-child th:first-child {
        border-top-left-radius: 10px;
    }

    .table thead tr:first-child th:last-child {
        border-top-right-radius: 10px;
    }

    /* Cell Styling */
    .table tbody td {
        padding: 12px 15px;
        height: 40px;
        border-right: 1px solid #f5f5f5;
        border-bottom: 1px solid #f5f5f5;
        vertical-align: middle;
    }

/* Striped Rows */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #e9fbfc;
}

/* Hover Effects */
.table tbody tr:hover {
    background-color: #d2f8f9;
}

/* Selected Row */
.table tbody tr.selected {
    background-color: #d2f8f9 !important;
}

/* Action Buttons */
.table .action-buttons-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.table .editbtn,
.table .deletebtn,
.table .printbtn,
.table .pdfbtn,
.table .whatsappbtn,
.table .telegrambtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 16px;
    transition: all 0.2s ease;
    color: inherit;
    text-decoration: none;
}

/* Button Colors */
.table .editbtn,
.table .deletebtn,
.table .pdfbtn {
    color: #16989A !important;
}

    .table .editbtn:hover,
    .table .deletebtn:hover,
    .table .pdfbtn:hover {
        color: #138486 !important;
        transform: scale(1.1);
    }

.table .printbtn {
    color: #555;
}

    .table .printbtn:hover {
        color: #333 !important;
        transform: scale(1.1);
    }

.table .whatsappbtn {
    color: #25D366;
}

    .table .whatsappbtn:hover {
        color: #128C7E !important;
        transform: scale(1.1);
    }

.table .telegrambtn {
    color: #0088cc;
}

    .table .telegrambtn:hover {
        color: #005f8c !important;
        transform: scale(1.1);
    }

/* Text Links */
.table .text-teal {
    color: #16989A !important;
    text-decoration: none;
    transition: all 0.2s ease;
}

    .table .text-teal:hover {
        color: #138486 !important;
        text-decoration: underline;
    }

/* Sort Indicators */
.table .sorting:after,
.table .sorting_asc:after,
.table .sorting_desc:after {
    color: rgba(255, 255, 255, 0.8);
}

/* Bottom Corners */
.table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 10px;
}

.table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 10px;
}

/* Status Bar/Footer */
.table-footer {
    background-color: #f8f9fa;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 8px 15px;
    font-size: 13px;
    color: #555;
}

/* No Data Message */
.table-empty-message {
    font-size: 16px;
    padding: 20px;
    color: #666;
    text-align: center;
}

/* Pagination */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: #16989A !important;
    border: 1px solid #16989A;
    border-radius: 4px;
    margin: 0 2px;
}

    .dataTables_wrapper .dataTables_paginate .paginate_button.current,
    .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
        background: #16989A !important;
        color: white !important;
        border: 1px solid #16989A !important;
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
        background: #d2f8f9 !important;
        border: 1px solid #16989A !important;
    }

/* Search and length menu */
.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #16989A !important;
    border-radius: 6px;
    padding: 6px 12px;
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid #16989A !important;
    border-radius: 6px;
    color: #16989A !important;
    padding: 6px;
}

/* Info text */
.dataTables_info {
    color: #16989A !important;
}

.txt-teal {
    color: #16989A;
}
/* ==================== */
/* ROUNDED BOTTOM EDGE */
/* ==================== */
.table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 6px;
}

.table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 6px;
}

.btn {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: none;
    }
}



.btn:hover {
    color: #138486 !important;
}

.btn-check:focus + .btn, .btn:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.btn:disabled, .btn.disabled, fieldset:disabled .btn {
    pointer-events: none;
    opacity: 0.65;
}

.button-teal {
    color: #fff !important;
    background-color: #16989A !important;
    border-color: #0d6efd;
}

    .button-teal:hover {
        color: #fff !important;
        background-color: #138486 !important;
        border-color: #0a58ca;
    }

.button-cls {
    color: #fff !important;
    background-color: #dc3545 !important;
    border-color: #0d6efd;
}

    .button-cls:hover {
        color: #fff !important;
        background-color: #ff4d4d !important;
        border-color: #0a58ca;
    }

.button-rest {
    color: #fff !important;
    background-color: #ff4d4d !important;
    border-color: #878a99;
}

    .button-rest:hover {
        color: #fff !important;
        background-color: #ff1a1a !important;
        border-color: #6c6e7a;
    }

.btn-sm-search {
    width: 25px;
    height: 25px
}


/* Custom Control Styles */
.custom-control-input-teal:checked ~ .custom-control-label::before {
    border-color: #d2f8f9;
    background-color: #d2f8f9;
}

.custom-control-input-teal.custom-control-input-outline:checked[type="checkbox"] ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23dc3545' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E") !important;
}

.custom-control-input-teal.custom-control-input-outline:checked[type="radio"] ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23dc3545'/%3E%3C/svg%3E") !important;
}

.custom-control-input-teal:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.custom-control-input-teal:focus:not(:checked) ~ .custom-control-label::before {
    border-color: #efa2a9;
}

.custom-control-input-teal:not(:disabled):active ~ .custom-control-label::before {
    background-color: #d2f8f9;
    border-color: #d2f8f9;
}


/* Header Styles */
.content-header h1.fm-header {
    font-weight: 600;
    color: #16989A !important;
    font-family: sans-serif;
}

.card-header .fm-fmheader {
    font-weight: 600;
    font-family: sans-serif;
    font-size: 21px;
    color: #16989A !important;
}

.fm-form label.form-label {
    color: #000000 !important;
    font-size: 14px;
    font-family: sans-serif;
}

/* Card Styles */
.card-teal:not(.card-outline) > .card-header {
    background-color: #16989A !important;
}

    .card-teal:not(.card-outline) > .card-header,
    .card-teal:not(.card-outline) > .card-header a {
        color: #fff;
    }

        .card-teal:not(.card-outline) > .card-header a.active {
            color: #1f2d3d;
        }

.card-teal.card-outline {
    border-top: 3px solid #16989A !important;
}

.card-teal.card-outline-tabs > .card-header a:hover {
    border-top: 3px solid #138486;
}

.card-teal.card-outline-tabs > .card-header a.active,
.card-teal.card-outline-tabs > .card-header a.active:hover {
    border-top: 3px solid #138486;
}

/* Tool Button Styles */
.bg-teal > .card-header .btn-tool,
.bg-gradient-teal > .card-header .btn-tool,
.card-teal:not(.card-outline) > .card-header .btn-tool {
    color: rgba(255, 255, 255, 0.8);
}

    .bg-teal > .card-header .btn-tool:hover,
    .bg-gradient-teal > .card-header .btn-tool:hover,
    .card-teal:not(.card-outline) > .card-header .btn-tool:hover {
        color: #fff;
    }

/* Date Picker Styles */
.card.bg-teal .bootstrap-datetimepicker-widget .table td,
.card.bg-teal .bootstrap-datetimepicker-widget .table th,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table td,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget .table th {
    border: none;
}

.card.bg-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,
.card.bg-teal .bootstrap-datetimepicker-widget table td.day:hover,
.card.bg-teal .bootstrap-datetimepicker-widget table td.hour:hover,
.card.bg-teal .bootstrap-datetimepicker-widget table td.minute:hover,
.card.bg-teal .bootstrap-datetimepicker-widget table td.second:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table thead tr:first-child th:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.day:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.hour:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.minute:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.second:hover {
    background-color: #138486;
    color: #fff;
}

.card.bg-teal .bootstrap-datetimepicker-widget table td.today::before,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.today::before {
    border-bottom-color: #fff;
}

.card.bg-teal .bootstrap-datetimepicker-widget table td.active,
.card.bg-teal .bootstrap-datetimepicker-widget table td.active:hover,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active,
.card.bg-gradient-teal .bootstrap-datetimepicker-widget table td.active:hover {
    background-color: #138486;
    color: #fff;
}


.date-filter-container {
    position: absolute;
    z-index: 1000;
    background-color: white;
    box-shadow: 0 4px 8px rgba(128, 0, 0, 0.3);
    border-radius: 5px;
    width: 200px;
}


.ag-theme-teal {
    --ag-header-background-color: #16989A;
    --ag-header-foreground-color: #fff;
    --ag-header-cell-hover-background-color: #138486;
    --ag-header-cell-moving-background-color: #138486;
    --ag-odd-row-background-color: #e9fbfc;
    --ag-row-hover-color: #d2f8f9;
    --ag-selected-row-background-color: #d2f8f9;
    --ag-font-size: 14px;
    --ag-font-family: 'Segoe UI', sans-serif;
    --ag-border-radius: 8px;
    --ag-grid-border: 1px solid #e0e0e0;
    --ag-border-color: #e0e0e0;
    --ag-row-height: 40px;
    --ag-header-height: 45px;
    --ag-cell-horizontal-padding: 15px;
    --ag-cell-horizontal-border: 1px solid #f5f5f5;
}

    /* Root container */
    .ag-theme-teal .ag-root-wrapper {
        border-radius: 10px;
        border: 1px solid var(--ag-border-color);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    /* Header styling */
    .ag-theme-teal .ag-header {
        font-weight: 600;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    .ag-theme-teal .ag-header-cell {
        padding-top: 0 !important;
    }

    .ag-theme-teal .ag-header-cell-label {
        padding: 12px 0;
    }

    .ag-theme-teal .ag-header-cell-text {
        font-weight: 600;
        color: var(--ag-header-foreground-color);
    }

    /* Hide filters */
    .ag-theme-teal .ag-floating-filter-body,
    .ag-theme-teal .ag-floating-filter-button,
    .ag-theme-teal .ag-filter-toolpanel-header,
    .ag-theme-teal .ag-filter-toolpanel-search {
        display: none !important;
    }

    /* Cell styling */
    .ag-theme-teal .ag-cell {
        display: flex;
        align-items: center;
        color: #333;
        border-right: var(--ag-cell-horizontal-border);
        border-bottom: var(--ag-cell-horizontal-border);
    }

    .ag-theme-teal .ag-cell-text {
        font-weight: 600;
        color: #333;
    }

    /* Selected row */
    .ag-theme-teal .ag-row.ag-row-selected {
        background-color: var(--ag-selected-row-background-color);
    }

    /* Hover row */
    .ag-theme-teal .ag-row:hover {
        background-color: var(--ag-row-hover-color);
    }

    /* No data overlay */
    .ag-theme-teal .ag-overlay-no-rows-wrapper {
        font-size: 16px;
        padding: 20px;
        color: #666;
    }

    /* Status bar */
    .ag-theme-teal .ag-status-bar {
        background-color: #f8f9fa;
        border-bottom-left-radius: 10px;
        border-bottom-right-radius: 10px;
        padding: 8px 15px;
        font-size: 13px;
        color: #555;
    }

    /* Sort icon colors */
    .ag-theme-teal .ag-header-cell-sorted-asc .ag-icon.ag-icon-asc,
    .ag-theme-teal .ag-header-cell-sorted-desc .ag-icon.ag-icon-desc {
        color: #fff;
        opacity: 0.8;
    }

    /* Action Buttons */
    .ag-theme-teal .ag-cell-value .action-buttons-container {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
    }

    .ag-theme-teal .ag-cell-value .editbtn,
    .ag-theme-teal .ag-cell-value .printbtn,
    .ag-theme-teal .ag-cell-value .pdfbtn,
    .ag-theme-teal .ag-cell-value .whatsappbtn,
    .ag-theme-teal .ag-cell-value .telegrambtn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        font-size: 16px;
        transition: all 0.2s ease;
        color: inherit;
        text-decoration: none;
    }

    /* Specific Button Colors */
    .ag-theme-teal .ag-cell-value .editbtn,
    .ag-theme-teal .ag-cell-value .pdfbtn {
        color: #16989A !important;
    }

        .ag-theme-teal .ag-cell-value .editbtn:hover,
        .ag-theme-teal .ag-cell-value .pdfbtn:hover {
            color: #138486;
            transform: scale(1.1);
        }

    .ag-theme-teal .ag-cell-value .printbtn {
        color: #555;
    }

        .ag-theme-teal .ag-cell-value .printbtn:hover {
            color: #333;
            transform: scale(1.1);
        }

    .ag-theme-teal .ag-cell-value .whatsappbtn {
        color: #25D366;
    }

        .ag-theme-teal .ag-cell-value .whatsappbtn:hover {
            color: #128C7E;
            transform: scale(1.1);
        }

    .ag-theme-teal .ag-cell-value .telegrambtn {
        color: #0088cc;
    }

        .ag-theme-teal .ag-cell-value .telegrambtn:hover {
            color: #005f8c;
            transform: scale(1.1);
        }

    /* Text link style */
    .ag-theme-teal .ag-cell-value .text-teal {
        color: #16989A !important;
        text-decoration: none;
        transition: all 0.2s ease;
    }

        .ag-theme-teal .ag-cell-value .text-teal:hover {
            color: #138486;
            text-decoration: underline;
        }

    .ag-theme-teal .ag-cell-default-style {
        font-weight: 600;
        text-align: center;
        color: #404040;
        font-family: sans-serif;
    }

.ag-paging-panel {
    background-color: #f0f0f0;
    color: #00796b;
    font-size: 14px;
}

.ag-paging-button {
    color: #00796b;
}

.ag-paging-input {
    border: 1px solid #ccc;
    color: #333;
    padding: 4px 8px;
    border-radius: 4px;
}

.ag-theme-teal .ag-paging-panel {
    padding: 12px;
    background-color: #f8f9fa;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top: 1px solid #e0e0e0;
    display: flex;
    justify-content: center;
}

.ag-theme-teal .agrounded-circle {
    border-radius: 23% !important
}

.ag-theme-teal .agfs-16 {
    font-size: 20px !important
}

.ag-theme-teal .agavatar-title {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #25a0e2;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 800;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 180% !important;
}

.custom-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.enhanced-pagination-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    padding: 0 15px;
}

.ag-paging-panel.enhanced {
    background-color: #f8f9fa;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top: 1px solid #e0e0e0;
}

@media (max-width: 768px) {
    .enhanced-pagination-container {
        flex-direction: column;
        align-items: stretch;
    }
}

.page-size-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .page-size-container span {
        color: #6c757d;
        font-size: 14px;
    }

.page-size-selector {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 5px;
    color: #16989A;
    background-color: white;
    z-index: 1;
    position: relative;
    cursor: pointer;
}

.range-display {
    color: #6c757d;
    font-size: 14px;
}

.navigation-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.page-info {
    color: #6c757d;
    font-size: 14px;
}

/* Keep your existing pagination button styles */
.pagination-button {
    background: transparent;
    border: 1px solid #dee2e6;
    color: #16989A;
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    min-width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all 0.2s ease;
}

    .pagination-button:hover:not(:disabled) {
        background-color: #e9fbfc;
        border-color: #16989A;
    }

    .pagination-button:disabled {
        color: #6c757d;
        background-color: #fff;
        border-color: #dee2e6;
        cursor: not-allowed;
    }

    .pagination-button.active {
        background-color: #16989A;
        border-color: #16989A;
        color: #fff;
    }

.page-buttons {
    display: flex;
    gap: 8px;
}



.deletebtn, .editbtn, .printbtn, .pdfbtn, .whatsappbtn, .telegrambtn {
    font-size: 1.2em;
    margin-right: 10px;
    cursor: pointer;
}

.content-header h4.fm-header {
    font-weight: 600;
    color: #16989A !important;
    font-family: sans-serif;
}

.card-header .fm-fmheader {
    font-weight: 600;
    font-family: sans-serif;
    font-size: 21px;
    color: #16989A !important;
}

.form-label {
    font-weight: 500;
    color: #495057;
    margin-bottom: 8px;
}

.form-control {
    border-radius: 6px;
    padding: 10px 15px;
    border: 1px solid #ced4da;
    transition: all 0.3s;
}

    .form-control:focus {
        border-color: #16989A;
        box-shadow: 0 0 0 0.2rem rgba(22, 152, 154, 0.25);
    }

.fm-container {
   /* max-width: 1450px;*/
    margin: 0 auto;
    padding: 20px;
}

.fm-card {
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: none !important;
    overflow: hidden;
}

.fm-card-header {
    background-color: #16989A !important;
    color: white !important;
    padding: 15px 20px;
    font-weight: 600 !important;
    border-bottom: none;
}

.required-field::after {
    content: " *";
    color: #dc3545;
}

.dropzone-area {
    border: 2px dashed #16989A;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
    background-color: rgba(22, 152, 154, 0.05);
    transition: background-color 0.3s, border-color 0.3s;
    cursor: pointer;
}

    .dropzone-area:hover {
        background-color: rgba(22, 152, 154, 0.1);
        border-color: #117d7e;
    }

.dz-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #16989A;
}

.dz-icon i {
    font-size: 48px;
    color: #16989A;
    margin-bottom: 10px;
}

.dz-text h5 {
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 600;
}

.dz-text p {
    font-size: 14px;
    color: #6c757d;
}

/* Select2 Teal Theme */
.select2-teal.select2-container .select2-selection--single,
.select2-teal.select2-container .select2-selection--multiple {
    border: 1px solid #16989A !important;
    border-radius: 6px !important;
    min-height: 38px !important;
    padding: 5px 10px !important;
}

    .select2-teal.select2-container .select2-selection--single .select2-selection__rendered {
        color: #495057 !important;
        line-height: 28px !important;
        padding-left: 0 !important;
    }

    .select2-teal.select2-container .select2-selection--single .select2-selection__arrow {
        height: 36px !important;
        right: 8px !important;
    }

    .select2-teal.select2-container .select2-selection--multiple .select2-selection__choice {
        background-color: #16989A !important;
        border-color: #127d7f !important;
        color: white !important;
        padding: 0 8px !important;
    }

.select2-teal.select2-container .select2-dropdown {
    border-color: #16989A !important;
    border-radius: 0 0 6px 6px !important;
}

.select2-teal.select2-container--open .select2-selection--single,
.select2-teal.select2-container--open .select2-selection--multiple {
    border-color: #16989A !important;
    box-shadow: 0 0 0 0.2rem rgba(22, 152, 154, 0.25) !important;
}

.select2-teal.select2-container .select2-results__option--highlighted {
    background-color: #16989A !important;
    color: white !important;
}
label:not(.form-check-label):not(.custom-file-label) {
    font-size: 13px !important;
    font-weight: 400 !important;
}