table.simple {
    border-collapse: collapse;
    border: 1px solid #69899F;
}

table.simple td {
    border: 1px solid #69899F;
    padding: 5px;
}

.spinner-wrapper {
    /*background-color: #000;*/
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s;
}

.spinner-border {
    height: 60px;
    width: 60px;
}

div.container {
    min-height: calc(100vh - 150px) !important;
}

/* Should be there but for some reason we had to add these */
th.dt-center {
    text-align: center;
}
th.dt-right {
    text-align: right;
}
th.dt-left {
    text-align: left;
}
th.dt-head-center {
    text-align: center;
}
th.dt-head-right {
    text-align: right;
}
th.dt-head-left {
    text-align: left;
}

/* Full-width layout overrides - prevents blank space when zooming out */
body.layout-boxed .footer-wrapper {
    max-width: none !important;
}

body.layout-boxed #content {
    max-width: none !important;
}

body.layout-boxed .header-container {
    max-width: none !important;
    width: calc(100% - 255px - 48px) !important;
}

.content-area {
    max-width: none !important;
}

/* Bootstrap container overrides for full-width layout */
body.layout-boxed .header-container.container-xxl {
    max-width: none !important;
}

body.layout-boxed #content > .container,
body.layout-boxed .main-content > .container,
body.layout-boxed .container {
    max-width: none !important;
    width: 100% !important;
}

/* Middle content and widget containers */
body.layout-boxed .middle-content,
body.layout-boxed .middle-content.container-xxl {
    max-width: none !important;
    width: 100% !important;
}

body.layout-boxed .widget-content-area {
    max-width: none !important;
}

/* Align checkboxes with text inputs in form rows */
.form-group .form-check {
    padding-top: 32px;
}

.form-group .form-check.form-check-inline {
    margin-top: 0 !important;
}

/* Login page - keep form compact, don't expand on zoom out */
body.form .auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.form .auth-container > .container {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.form .auth-container .card {
    min-width: 400px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

body.form .auth-container .card img {
    max-width: 100%;
    height: auto;
}

/* Fix: accordions.css globally overrides h1-h6 color to light gray (#e0e6ed).
   Reset headings outside of accordions back to the theme default. */
h1, h2, h3, h4, h5, h6 {
    color: #0e1726;
}
html.dark h1, html.dark h2, html.dark h3, html.dark h4, html.dark h5, html.dark h6 {
    color: #e0e6ed;
}

/* Fix: sub-submenu active item is white text on light background - make it match the theme blue */
#sidebar ul.menu-categories ul.submenu > li ul.sub-submenu > li.active a {
    color: #4361ee;
}
#sidebar ul.menu-categories ul.submenu > li ul.sub-submenu > li.active a:before {
    background-color: #4361ee;
}

/* CTI Time Review - daily subtotal rows */
table.dataTable tr.subtotal-row td {
    font-weight: bold !important;
    background-color: rgba(0, 0, 0, 0.05) !important;
}
html.dark table.dataTable tr.subtotal-row td {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Dashboard Messages - Priority Colors */
.dm-priority-high {
    background-color: #f8d7da;
    border-left-color: #dc3545 !important;
}
.dm-priority-medium {
    background-color: #fff3cd;
    border-left-color: #ffc107 !important;
}
.dm-priority-low {
    background-color: #d1e7dd;
    border-left-color: #198754 !important;
}
html.dark .dm-priority-high {
    background-color: #2c1215;
}
html.dark .dm-priority-medium {
    background-color: #332701;
}
html.dark .dm-priority-low {
    background-color: #0d2818;
}
.dm-card.dm-unread h6 {
    font-weight: 700;
}
.dm-card.dm-read {
    opacity: 0.75;
}

/* Wide modal dialog - apply to .modal-dialog when extra width is needed */
.modal-dialog.modal-wide {
    max-width: 80%;
    width: 80%;
}

/* Pagination prev/next buttons - prevent overlap with page numbers */
.page-item:first-child .page-link,
.page-item:last-child .page-link {
    flex-shrink: 0;
    width: 33px;
    min-width: 33px;
    overflow: hidden;
}
.page-item.previous,
.page-item.next {
    flex-shrink: 0;
}