/*
 * AxiSaaS V6.0.78 — Bootstrap 5 / thème dynamique
 * Chargé après Bootstrap et theme.css afin de conserver la grille Bootstrap
 * tout en appliquant les variables du thème AxiSaaS aux composants métier.
 */
:root {
    --bs-primary: var(--theme-primary, var(--primary, #1b5dff));
    --bs-secondary: var(--theme-secondary, var(--secondary, #e8f0f7));
    --bs-success: var(--theme-success, #16845b);
    --bs-danger: var(--theme-danger, var(--danger, #dc2626));
    --bs-warning: var(--theme-warning, #b7791f);
    --bs-info: var(--theme-info, #0f6f8f);
    --bs-body-color: var(--theme-text-body, var(--text, #172033));
    --bs-body-bg: var(--theme-body-bg, var(--content-bg, #f7f9fc));
    --bs-border-color: var(--theme-line-color, var(--line, #d8e2ec));
    --bs-border-radius: var(--theme-input-radius, 12px);
}

body .content-area .container,
body .content-area .container-fluid {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
}

body .content-area .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.25rem;
}

body .content-area [class^="col-"],
body .content-area [class*=" col-"] {
    min-width: 0;
}

body .content-area .card:has(> .card-body) {
    padding: 0 !important;
    overflow: hidden;
}

body .content-area .card > .card-header,
body .content-area .card > .card-footer {
    padding: 1rem 1.25rem;
    color: var(--theme-card-text, var(--text));
    background: var(--theme-panel-header-bg, var(--theme-surface-hover-bg, #f8fafc));
    border-color: var(--theme-card-border, var(--line));
}

body .content-area .card > .card-body {
    padding: 1.25rem;
    color: var(--theme-card-text, var(--text));
    background: var(--theme-card-bg, var(--card-bg, #fff));
}

body .content-area .form-label,
body .content-area .col-form-label {
    margin-bottom: .45rem;
    color: var(--theme-label-text, var(--theme-card-text, var(--text)));
    font-size: .86rem;
    font-weight: 650;
}

body .content-area .form-text {
    margin-top: .4rem;
    color: var(--theme-muted-color, var(--muted));
    font-size: .78rem;
}

body .content-area .form-control,
body .content-area .form-select,
body .content-area .input-group-text {
    min-height: 44px;
    color: var(--theme-input-text, var(--text)) !important;
    background-color: var(--theme-input-bg, #fff) !important;
    border-color: var(--theme-input-border, var(--line)) !important;
    border-radius: var(--theme-input-radius, 12px);
}

body .content-area textarea.form-control {
    min-height: 120px;
}

body .content-area .form-control::placeholder {
    color: var(--theme-input-placeholder, #718096);
    opacity: 1;
}

body .content-area .form-control:focus,
body .content-area .form-select:focus {
    color: var(--theme-input-text, var(--text)) !important;
    background-color: var(--theme-input-bg, #fff) !important;
    border-color: var(--theme-input-focus-border, var(--theme-primary, var(--primary))) !important;
    box-shadow: var(--theme-input-focus-ring, 0 0 0 .22rem rgba(27, 93, 255, .14)) !important;
}

body .content-area .input-group > .form-control:not(:first-child),
body .content-area .input-group > .form-select:not(:first-child),
body .content-area .input-group > .input-group-text:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

body .content-area .input-group > .form-control:not(:last-child),
body .content-area .input-group > .form-select:not(:last-child),
body .content-area .input-group > .input-group-text:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

body .content-area .form-check-input {
    width: 1.1em;
    height: 1.1em;
    margin-top: .18em;
    border-color: var(--theme-checkbox-border, var(--line));
}

body .content-area .form-check-input:checked {
    background-color: var(--theme-checkbox-checked-bg, var(--theme-primary, var(--primary))) !important;
    border-color: var(--theme-checkbox-checked-border, var(--theme-primary, var(--primary))) !important;
}

body .content-area .form-check-input:focus {
    border-color: var(--theme-primary, var(--primary));
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--theme-primary, var(--primary)) 18%, transparent);
}

body .content-area .form-control.is-invalid,
body .content-area .form-select.is-invalid {
    border-color: var(--theme-input-error-border, var(--theme-danger, #dc2626)) !important;
}

body .content-area .form-control.is-valid,
body .content-area .form-select.is-valid {
    border-color: var(--theme-input-success-border, var(--theme-success, #16845b)) !important;
}

body .content-area .btn {
    border-radius: var(--theme-button-radius, 12px);
    padding: .65rem 1rem;
    font-weight: 650;
    line-height: 1.2;
}

body .content-area .btn.btn-primary,
body .content-area .btn.btn-success,
body .content-area .btn.btn-warning,
body .content-area .btn.btn-danger,
body .content-area .btn.btn-info,
body .content-area .btn.btn-dark {
    color: #fff !important;
}

body .content-area .btn.btn-primary {
    background: var(--theme-button-primary-bg, var(--theme-primary, var(--primary))) !important;
    border-color: var(--theme-button-primary-border, var(--theme-primary, var(--primary))) !important;
    color: var(--theme-button-primary-text, #fff) !important;
}

body .content-area .btn.btn-secondary {
    background: var(--theme-button-secondary-bg, var(--theme-secondary, #e8f0f7)) !important;
    border-color: var(--theme-button-secondary-border, var(--theme-line-color, var(--line))) !important;
    color: var(--theme-button-secondary-text, var(--text)) !important;
}

body .content-area .btn.btn-success { background: var(--theme-success, #16845b) !important; border-color: var(--theme-success, #16845b) !important; }
body .content-area .btn.btn-danger { background: var(--theme-danger, var(--danger, #dc2626)) !important; border-color: var(--theme-danger, var(--danger, #dc2626)) !important; }
body .content-area .btn.btn-warning { background: var(--theme-warning, #b7791f) !important; border-color: var(--theme-warning, #b7791f) !important; }
body .content-area .btn.btn-info { background: var(--theme-info, #0f6f8f) !important; border-color: var(--theme-info, #0f6f8f) !important; }

body .content-area .btn.btn-outline-primary,
body .content-area .btn.btn-outline-secondary,
body .content-area .btn.btn-outline-danger {
    background: transparent !important;
}

body .content-area .btn.btn-outline-primary { color: var(--theme-primary, var(--primary)) !important; border-color: var(--theme-primary, var(--primary)) !important; }
body .content-area .btn.btn-outline-secondary { color: var(--theme-text-body, var(--text)) !important; border-color: var(--theme-line-color, var(--line)) !important; }
body .content-area .btn.btn-outline-danger { color: var(--theme-danger, var(--danger, #dc2626)) !important; border-color: var(--theme-danger, var(--danger, #dc2626)) !important; }

body .content-area .table-responsive {
    border: 1px solid var(--theme-table-border, var(--line));
    border-radius: var(--theme-card-radius, 16px);
    overflow-x: auto;
}

body .content-area .table {
    --bs-table-bg: var(--theme-table-bg, var(--theme-card-bg, #fff));
    --bs-table-color: var(--theme-table-text, var(--text));
    --bs-table-border-color: var(--theme-table-border, var(--line));
    width: 100%;
    margin-bottom: 0;
    color: var(--theme-table-text, var(--text));
    vertical-align: middle;
}

body .content-area .table > :not(caption) > * > * {
    padding: .8rem .9rem;
    color: inherit;
    background: transparent;
    border-bottom-color: var(--theme-table-border, var(--line));
}

body .content-area .table > thead {
    color: var(--theme-table-header-text, var(--text));
    background: var(--theme-table-header-bg, #f8fafc);
}

body .content-area .table-striped > tbody > tr:nth-of-type(odd) > * {
    background: var(--theme-table-row-alt-bg, rgba(15, 23, 42, .025));
}

body .content-area .table-hover > tbody > tr:hover > * {
    background: var(--theme-table-row-hover-bg, var(--theme-surface-hover-bg, #f8fafc));
}

body .content-area .nav-tabs {
    gap: .35rem;
    border-bottom-color: var(--theme-card-border, var(--line));
}

body .content-area .nav-tabs .nav-link,
body .content-area .nav-pills .nav-link {
    color: var(--theme-tab-btn-text, var(--text));
    border-radius: var(--theme-button-radius, 12px) var(--theme-button-radius, 12px) 0 0;
}

body .content-area .nav-tabs .nav-link.active,
body .content-area .nav-pills .nav-link.active {
    color: var(--theme-tab-btn-active-text, var(--theme-button-primary-text, #fff));
    background: var(--theme-tab-btn-active-bg, var(--theme-primary, var(--primary)));
    border-color: var(--theme-tab-btn-active-border, var(--theme-primary, var(--primary)));
}

.modal-content {
    color: var(--theme-modal-text, var(--text));
    background: var(--theme-modal-bg, var(--theme-card-bg, #fff));
    border-color: var(--theme-modal-border, var(--line));
    border-radius: var(--theme-modal-radius, 16px);
    box-shadow: var(--theme-modal-shadow, 0 24px 70px rgba(15, 23, 42, .2));
}

.modal-header,
.modal-footer { border-color: var(--theme-modal-border, var(--line)); }
.modal-backdrop.show { opacity: .45; }

body .content-area .accordion-item {
    color: var(--theme-accordion-text, var(--text));
    background: var(--theme-accordion-bg, var(--theme-card-bg, #fff));
    border-color: var(--theme-accordion-border, var(--line));
}

body .content-area .accordion-button {
    color: var(--theme-accordion-text, var(--text));
    background: var(--theme-accordion-header-bg, var(--theme-card-bg, #fff));
    box-shadow: none;
}

body .content-area .accordion-button:not(.collapsed) {
    color: var(--theme-primary, var(--primary));
    background: var(--theme-accordion-active-bg, var(--theme-primary-soft, #eef4ff));
}

.dropdown-menu {
    color: var(--theme-dropdown-text, var(--text));
    background: var(--theme-dropdown-bg, #fff);
    border-color: var(--theme-dropdown-border, var(--line));
    border-radius: var(--theme-dropdown-radius, 12px);
    box-shadow: var(--theme-dropdown-shadow, 0 16px 35px rgba(15, 23, 42, .16));
}

.dropdown-item { color: var(--theme-dropdown-text, var(--text)); }
.dropdown-item:hover,
.dropdown-item:focus { color: var(--theme-dropdown-hover-text, var(--text)); background: var(--theme-dropdown-hover-bg, var(--theme-secondary)); }

body .content-area .pagination { gap: .3rem; flex-wrap: wrap; }
body .content-area .page-link {
    min-width: 38px;
    text-align: center;
    color: var(--theme-pagination-text, var(--text));
    background: var(--theme-pagination-bg, #fff);
    border-color: var(--theme-pagination-border, var(--line));
    border-radius: var(--theme-button-radius, 10px) !important;
}
body .content-area .page-item.active .page-link {
    color: var(--theme-pagination-active-text, #fff);
    background: var(--theme-pagination-active-bg, var(--theme-primary, var(--primary)));
    border-color: var(--theme-pagination-active-bg, var(--theme-primary, var(--primary)));
}

body .content-area .alert.alert-success { color: var(--theme-alert-success-text, #166534); background: var(--theme-alert-success-bg, #ecfdf5); border-color: var(--theme-alert-success-border, #86efac); }
body .content-area .alert.alert-danger { color: var(--theme-alert-danger-text, #991b1b); background: var(--theme-alert-danger-bg, #fef2f2); border-color: var(--theme-alert-danger-border, #fecaca); }
body .content-area .alert.alert-warning { color: var(--theme-alert-warning-text, #854d0e); background: var(--theme-alert-warning-bg, #fffbeb); border-color: var(--theme-alert-warning-border, #fde68a); }
body .content-area .alert.alert-info { color: var(--theme-alert-info-text, #075985); background: var(--theme-alert-info-bg, #f0f9ff); border-color: var(--theme-alert-info-border, #bae6fd); }

@media (max-width: 767.98px) {
    body .content-area .row { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    body .content-area .card > .card-body,
    body .content-area .card > .card-header,
    body .content-area .card > .card-footer { padding: 1rem; }
    body .content-area .btn-toolbar,
    body .content-area .btn-group-responsive { display: grid; width: 100%; gap: .55rem; }
    body .content-area .btn-toolbar .btn,
    body .content-area .btn-group-responsive .btn { width: 100%; }
}
