.ck-editor__editable,
textarea {
    min-height: 150px;
}

.datatable {
    width: 100% !important;
}

table.dataTable tbody td.select-checkbox::before,
table.dataTable tbody td.select-checkbox::after,
table.dataTable tbody th.select-checkbox::before,
table.dataTable tbody th.select-checkbox::after {
    top: 50%;
}

.dataTables_length,
.dataTables_filter,
.dt-buttons {
    margin-bottom: 0.333em;
}

.dt-buttons .btn {
    margin-left: 0.333em;
    border-radius: 0;
}

.table.datatable {
    box-sizing: border-box;
    border-collapse: collapse;
}

table.dataTable thead th {
    border-bottom: 2px solid #dee2e6;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border-bottom: 1px solid #dee2e6;
}

.select2 {
    max-width: 100%;
    width: 100%;
}

table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
    background-image: none;
}

.btn-group-xs>.btn,
.btn-xs {
    padding: 1px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.searchable-title {
    font-weight: bold;
}

.select2-container--open {
    z-index: 9999;
}

.searchable-fields {
    padding-left: 5px;
}

.searchable-link {
    padding: 0 5px 0 5px;
}

.searchable-link:hover {
    cursor: pointer;
    background: #eaeaea;
}

.select2-results__option {
    padding-left: 0px;
    padding-right: 0px;
}

.form-group .required::after {
    content: " *";
    color: red;
}

.form-check.is-invalid~.invalid-feedback {
    display: block;
}

.dataTables_length label select {
    width: 65px !important;
}

div.dt-button-collection {
    padding: 0;
}

.buttons-columnVisibility {
    display: block;
}

.buttons-columnVisibility.active {
    background-color: rgba(128, 128, 128, 0.1);
    font-weight: bolder;
}

.form-group .tab-content {
    padding: 10px;
}

.tab-content .form-group {
    padding: 10px;
}

/* Sidebar Gradient Theme */
.login-page,
.register-page {
    background-color: #1a1a2e !important;
    background-image: linear-gradient(to right, #243B55 0%, #141E30 100%) !important;
}

/* Login Card Styling */
.login-card-body,
.register-card-body {
    background: rgba(255, 255, 255, 0.95);
    border-radius: 10px;
}

.login-box,
.register-box {
    border-radius: 10px;
}

.login-logo a {
    color: #fff !important;
    text-align: center;
    display: block;
}

.login-page .btn-primary,
.register-page .btn-primary {
    background: #FFD700 !important;
    border-color: #FFD700 !important;
    color: #1a1a2e !important;
    font-weight: bold;
}

.login-page .btn-primary:hover,
.register-page .btn-primary:hover {
    background: #e6c200 !important;
    border-color: #e6c200 !important;
}

.sidebar-dark-primary {
    background-color: #1a1a2e !important;
    background-image: linear-gradient(to right, #243B55 0%, #141E30 100%) !important;

}

/* Modern DataTables Buttons */
.dt-buttons .btn {
    border-radius: 50px !important;
    padding: 6px 16px;
    font-size: 0.85rem;
    font-weight: 500;
    margin-right: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    border: 1px solid #e9ecef;
    background: #fff;
    color: #495057;
    transition: all 0.2s;
}

.dt-buttons .btn:hover {
    background: #f8f9fa;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
}

.dt-buttons .btn-primary {
    background: #1a1a2e !important;
    color: #FFD700 !important;
    border: none !important;
}

/* Action Buttons in Table */
.btn-xs,
.btn-sm {
    border-radius: 6px;
    padding: 0.25rem 0.6rem;
    font-size: 0.8rem;
    line-height: 1.5;
    margin: 0 2px;
}

/* --- Premium Button Theme --- */

/* Generic Button Shape & Physics */
.btn {
    border-radius: 50px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.25s ease;
    border: none;
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

/* "Add New" - Primary Call to Action -> Dark with Gold */
.btn-success {
    background: #1a1a2e !important;
    background: linear-gradient(to right, #1a1a2e, #243B55) !important;
    color: #FFD700 !important;
    font-weight: bold;
    border: 1px solid #1a1a2e;
}

.btn-success:hover {
    background: #FFD700 !important;
    color: #1a1a2e !important;
}

/* "CSV Import" / Secondary -> Gold */
.btn-warning {
    background-color: #FFD700 !important;
    color: #1a1a2e !important;
    font-weight: bold;
}

/* Table Row Actions (View, Edit, Delete) */
/* Override the pill shape for these small row buttons if preferred, or keep them rounded */
.btn-xs,
.btn-sm {
    border-radius: 8px !important;
    /* Squarer for icons */
    margin: 0 3px;
    box-shadow: none;
    /* Flatter in table */
}

.btn-xs:hover,
.btn-sm:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

/* View -> Dark Blue */
.btn-primary {
    background-color: #3A6073 !important;
    border-color: #3A6073 !important;
}

/* Edit -> Muted Gold/Bronze or Cyan */
.btn-info {
    background-color: #17a2b8 !important;
    border-color: #17a2b8 !important;
    color: white !important;
}

/* Delete -> Soft Red */
.btn-danger {
    background-color: #e63946 !important;
    border-color: #e63946 !important;
}

/* Delete Selected (Top) -> Red gradient */
.btn-danger.btn {
    /* Targeting the top Delete button mainly */
}

/* --- Premium DataTable Styling --- */

/* Wrapper & Card Effect */
.dataTables_wrapper {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
    padding: 20px;
    margin-top: 15px;
}

/* Table Header */
table.dataTable thead th {
    background-color: #1a1a2e;
    color: #FFD700;
    border: none !important;
    text-transform: uppercase;
    font-size: 0.8rem;
    padding: 15px 10px;
    letter-spacing: 0.5px;
    font-weight: 600;
}

/* First and Last Header rounding */
table.dataTable thead th:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

table.dataTable thead th:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

/* Table Body Rows */
table.dataTable tbody tr {
    transition: background-color 0.2s;
}

table.dataTable tbody tr:hover {
    background-color: #f8f9fa !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

table.dataTable tbody td {
    padding: 12px 10px;
    border-bottom: 1px solid #f0f0f0 !important;
    vertical-align: middle;
    color: #495057;
    font-weight: 500;
}

/* Pagination Buttons */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 50% !important;
    border: 1px solid #eee !important;
    background: #fff !important;
    margin: 0 2px;
    padding: 5px 10px !important;
    color: #1a1a2e !important;
    transition: all 0.2s;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #1a1a2e !important;
    color: #FFD700 !important;
    border-color: #1a1a2e !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #1a1a2e !important;
    color: #FFD700 !important;
    border-color: #1a1a2e !important;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(26, 26, 46, 0.3);
}

/* Search Box & Length Menu */
.dataTables_filter input {
    border-radius: 20px;
    border: 1px solid #ced4da;
    padding: 5px 15px;
    margin-left: 10px;
    transition: all 0.2s;
}

.dataTables_filter input:focus {
    border-color: #FFD700;
    box-shadow: 0 0 0 0.2rem rgba(255, 215, 0, 0.25);
    outline: none;
}

.dataTables_length select {
    border-radius: 20px;
    padding: 4px 10px;
    border: 1px solid #ced4da;
}

/* --- Premium Card Styling --- */

.card {
    background-color: #fff;
    border: none !important;
    /* Remove default border */
    border-radius: 15px !important;
    /* Softer rounded corners */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    /* Soft, deep shadow */
    margin-bottom: 2rem;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}



/* Card Header Polish */
.card-header {
    background-color: transparent !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    padding: 1.5rem;
}

/* Card Body Spacing */
.card-body {
    padding: 1.5rem;
}

/* Fix for DataTables inside Cards to match rounded corners */
.card .table-responsive {
    border-radius: 0 0 15px 15px;
}