html, body {
    min-height: 100%;
}

body {
    background-image: none;
    background-color: #F8F8F8;
    color: white;
}

@media print
{    
    .no-print, .no-print *
    {
        display: none !important;
    }
}

/* Custom styles - Modern Minimal Palette */
.card {
    background-color: #ffffff !important;
    border: 1px solid #e8e8e8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border-radius: 8px;
}

.card-header {
    background-color: #f8f8f8 !important;
    border-bottom: 1px solid #e8e8e8;
    color: #2d2d2d;
    font-weight: 500;
}

.badge-success {
    background-color: #e8f5e9;
    border: 1px solid #c8e6c9;
    color: #4a7c59;
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
    border-radius: 4px;
}

.badge-warning {
    background-color: #fff8e1;
    border: 1px solid #ffe082;
    color: #8b6f47;
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
    border-radius: 4px;
}

.badge-danger {
    background-color: #ffebee;
    border: 1px solid #ffcdd2;
    color: #c85a5a;
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
    border-radius: 4px;
}

.badge-info {
    background-color: #e3f2fd;
    border: 1px solid #b3e5fc;
    color: #5a7c9a;
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
    border-radius: 4px;
}

.badge-secondary {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    color: #6c6c6c;
    font-size: 0.75rem;
    padding: 0.25em 0.5em;
    border-radius: 4px;
}

.text-success {
    color: #4a7c59 !important;
}

.text-warning {
    color: #8b6f47 !important;
}

.text-danger {
    color: #c85a5a !important;
}

.text-info {
    color: #5a7c9a !important;
}

.text-muted {
    color: #9a9a9a !important;
}

/* Button overrides for minimal style */
.btn-primary {
    background-color: #6c7a89;
    border-color: #6c7a89;
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #5a6674;
    border-color: #5a6674;
}

.btn-success {
    background-color: #a8b5a0;
    border-color: #a8b5a0;
    color: #ffffff;
}

.btn-success:hover {
    background-color: #95a28a;
    border-color: #95a28a;
}

.btn-info {
    background-color: #9db4c4;
    border-color: #9db4c4;
    color: #ffffff;
}

.btn-info:hover {
    background-color: #8aa3b3;
    border-color: #8aa3b3;
}

.btn-warning {
    background-color: #d4c4a8;
    border-color: #d4c4a8;
    color: #ffffff;
}

.btn-warning:hover {
    background-color: #c4b498;
    border-color: #c4b498;
}

.btn-danger {
    background-color: #c8a5a5;
    border-color: #c8a5a5;
    color: #ffffff;
}

.btn-danger:hover {
    background-color: #b89595;
    border-color: #b89595;
}

.btn-secondary {
    background-color: #d0d0d0;
    border-color: #d0d0d0;
    color: #2d2d2d;
}

.btn-secondary:hover {
    background-color: #c0c0c0;
    border-color: #c0c0c0;
    color: #2d2d2d;
}

/* Export button styles */
.dt-buttons .btn {
    padding: 0.5rem 1rem;
    font-weight: 500;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

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

.dt-buttons .btn i {
    font-size: 1.1em;
}

.print-btn {
    min-width: 38px;
    height: 38px;
    padding: 8px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.no-wrap {
    white-space: nowrap !important;
}

@media only screen and (max-width: 760px) {
    td.no-wrap {
        display: table-cell !important;
        text-align: center !important;
    }
}

@media (max-width: 767px) {
    .print-btn {
        min-width: 32px;
        height: 32px;
        padding: 6px !important;
    }
}

.actions-header,
.actions-column {
    display: none !important;
}

/* Table styling - Modern Minimal */
.table {
    color: #2d2d2d;
    background-color: #ffffff;
}

.table thead th {
    background-color: #f8f8f8;
    color: #2d2d2d;
    border-bottom: 2px solid #e8e8e8;
    font-weight: 500;
}

.table tbody td {
    color: #4e4e4e;
    border-color: #e8e8e8;
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: #fafafa;
}

.table-striped tbody tr:nth-of-type(even) {
    background-color: #ffffff;
}

.table-bordered {
    border-color: #e8e8e8;
}

.table-bordered th,
.table-bordered td {
    border-color: #e8e8e8;
}

/* Progress bars - Soft colors */
.progress {
    background-color: #e8e8e8;
    border-radius: 4px;
    height: 8px;
}

.progress-bar {
    background-color: #a8b5a0;
}

.progress-bar.bg-success {
    background-color: #a8b5a0 !important;
}

.progress-bar.bg-info {
    background-color: #9db4c4 !important;
}

.progress-bar.bg-warning {
    background-color: #d4c4a8 !important;
}

.progress-bar.bg-danger {
    background-color: #c8a5a5 !important;
}

/* Form elements */
.form-control {
    border-color: #d0d0d0;
    color: #2d2d2d;
}

.form-control:focus {
    border-color: #9db4c4;
    box-shadow: 0 0 0 0.2rem rgba(157, 180, 196, 0.15);
}

.form-control::placeholder {
    color: #9a9a9a;
}

/* Navbar */
.navbar-light {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.navbar-light .navbar-nav .nav-link {
    color: #2d2d2d;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: #6c7a89;
}

.navbar-light .navbar-brand {
    color: #2d2d2d;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #2d2d2d;
}

h2, h3 {
    color: #4e4e4e;
}

/* Links */
a {
    color: #6c7a89;
}

a:hover {
    color: #5a6674;
}

/* Alert boxes - Soft versions */
.alert-success {
    background-color: #e8f5e9;
    border-color: #c8e6c9;
    color: #4a7c59;
}

.alert-info {
    background-color: #e3f2fd;
    border-color: #b3e5fc;
    color: #5a7c9a;
}

.alert-warning {
    background-color: #fff8e1;
    border-color: #ffe082;
    color: #8b6f47;
}

.alert-danger {
    background-color: #ffebee;
    border-color: #ffcdd2;
    color: #c85a5a;
}

/* Override Bootstrap background utilities */
.bg-primary {
    background-color: #6c7a89 !important;
}

.bg-success {
    background-color: #a8b5a0 !important;
}

.bg-info {
    background-color: #9db4c4 !important;
}

.bg-warning {
    background-color: #d4c4a8 !important;
}

.bg-danger {
    background-color: #c8a5a5 !important;
}

.bg-secondary {
    background-color: #d0d0d0 !important;
}

.bg-light {
    background-color: #f8f8f8 !important;
}

.bg-dark {
    background-color: #4a4a4a !important;
}

/* Text color overrides */
.text-primary {
    color: #6c7a89 !important;
}

.text-white {
    color: #ffffff !important;
}

/* Ensure white text on dark backgrounds */
.bg-dark,
.bg-primary,
.bg-success,
.bg-info,
.bg-warning,
.bg-danger {
    color: #ffffff;
}

.bg-dark *,
.bg-primary *,
.bg-success *,
.bg-info *,
.bg-warning *,
.bg-danger * {
    color: #ffffff;
}
