/* ==========================================================================
   Positif-Coach — espace gestionnaire : compléments au modèle Able Pro
   (couleur de marque, largeur du contenu réglable, compatibilité avec l'ancien balisage Bootstrap 3)
   ========================================================================== */
:root { --pc-accent: #FDB121; }

/* ---------- Logo et en-tête ---------- */
.pc-logo-sm { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--bs-primary); color: #fff; font-weight: 800; letter-spacing: .04em; }
.header-user-profile .pc-avatar { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--bs-primary); color: #fff; font-weight: 800; }
.pc-head-link { position: relative; }
.pc-head-link .pc-h-badge { position: absolute; top: 8px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; line-height: 18px; }
.pc-h-dropdown form { margin: 0; }
.pc-h-dropdown form .dropdown-item { width: 100%; background: none; border: 0; text-align: left; }
.dropdown-notification { min-width: 300px; }

/* ---------- Largeur du contenu réglable : col-12 / col-11 / col-10, centré ---------- */
@media (min-width: 992px) {
    body[data-pc-width="11"] .pc-content { max-width: 91.6667%; margin-left: auto; margin-right: auto; }
    body[data-pc-width="10"] .pc-content { max-width: 83.3333%; margin-left: auto; margin-right: auto; }
}

/* ---------- Panneau de réglages ---------- */
.preset-color > a[data-value="preset-pc"] { background: #179731; }
.pct-offcanvas .preset-btn.btn.active { border-color: var(--bs-primary); color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .08); }
.theme-width .preset-btn.btn { padding: .55rem .5rem; font-weight: 600; }

/* ---------- Pages sans connexion ---------- */
body.auth-body { background: var(--bs-body-bg); min-height: 100vh; }
.auth-wrap { max-width: 460px; margin: 0 auto; padding: 40px 16px 50px; }
.auth-brand { text-align: center; margin-bottom: 20px; font-weight: 800; font-size: 26px; letter-spacing: .08em; color: var(--pc-heading-color, #1d2630); white-space: nowrap; }
.auth-brand b { color: var(--pc-accent); }
.auth-brand small { display: block; font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--bs-secondary-color); margin-top: 2px; }
.auth-card { background: #fff; border: 1px solid var(--bs-border-color); border-radius: 12px; box-shadow: 0 8px 24px rgba(27, 46, 94, .08); padding: 26px; }
[data-pc-theme=dark] .auth-card { background: #1b2531; box-shadow: none; }
.auth-card h1 { font-size: 1.35rem; margin: 0 0 16px; }
.auth-foot { text-align: center; margin-top: 16px; font-size: 13.5px; }
.auth-row { display: flex; gap: 12px; }
.auth-row > .form-group { flex: 1; min-width: 0; }
@media (max-width: 480px) { .auth-row { display: block; } }

/* ---------- Compatibilité avec l'ancien balisage Bootstrap 3 des formulaires et tableaux ---------- */
.panel { background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: 12px; margin-bottom: 1.25rem; overflow: hidden; box-shadow: var(--pc-card-box-shadow, none); }
[data-pc-theme=light] .panel { background: #fff; }
.panel-heading { padding: 1rem 1.25rem; border-bottom: 1px solid var(--bs-border-color); font-weight: 600; color: var(--pc-heading-color); }
.panel-body { padding: 1.25rem; }
.panel-footer { padding: .9rem 1.25rem; border-top: 1px solid var(--bs-border-color); background: rgba(var(--bs-secondary-rgb), .06); }
.btn-default { color: var(--bs-body-color); background: transparent; border: 1px solid var(--bs-border-color); }
.btn-default:hover { background: rgba(var(--bs-primary-rgb), .08); border-color: var(--bs-primary); color: var(--bs-primary); }
.btn-xs { --bs-btn-padding-y: .15rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem; padding: .15rem .5rem; font-size: .75rem; border-radius: 6px; }
.btn-block { display: block; width: 100%; }
.pull-right { float: right !important; }
.text-right { text-align: right !important; }
.help-block { display: block; margin-top: .35rem; font-size: .8125rem; color: var(--bs-secondary-color); }
.form-group { margin-bottom: 1rem; }
.form-group > label { display: inline-block; font-weight: 600; margin-bottom: .4rem; }
.checkbox { margin-bottom: 1rem; }
.checkbox label { display: flex; align-items: center; gap: .5rem; font-weight: 500; }
.checkbox input { margin: 0; }
.label { display: inline-block; padding: .3em .8em; border-radius: 20px; font-size: .75rem; font-weight: 600; line-height: 1.2; }
.label-success { background: rgba(var(--bs-success-rgb), .15); color: var(--bs-success); }
.label-default { background: rgba(var(--bs-secondary-rgb), .15); color: var(--bs-secondary-color); }
.has-error .form-control { border-color: var(--bs-danger); }
.has-error > label, .has-error .help-block { color: var(--bs-danger); }
.form-inline { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.form-inline .form-group { margin: 0; }
.table-condensed > :not(caption) > * > * { padding: .35rem .5rem; }
.table > :not(caption) > * > * { vertical-align: middle; }
.progress-bar.active { animation: progress-bar-stripes 1s linear infinite; }
.vignette { height: 42px; border-radius: 6px; }
.apercu-img { max-height: 120px; margin: 8px 0; display: none; }
.cke_chrome { max-width: 100%; }
.pagination { flex-wrap: wrap; }
@media (max-width: 767px) { .form-inline .form-control, .form-inline .btn { width: 100%; } }

/* ==========================================================================
   Préréglage de couleur « Positif-Coach » (vert), dérivé du préréglage bleu du modèle Able Pro
   ========================================================================== */
[data-pc-preset=preset-pc] {
  --pc-sidebar-active-color: #179731;
  --bs-blue: #179731;
  --bs-primary: #179731;
  --bs-primary-rgb: 23, 151, 49;
  --bs-primary-light: #e8f6eb;
  --bs-link-color: #179731;
  --bs-link-color-rgb: 23, 151, 49;
  --bs-link-hover-color: #127a29;
  --bs-link-hover-color-rgb: to-rgb(shift-color($pc-primary, $link-shade-percentage));
  --dt-row-selected: 23, 151, 49;
}
[data-pc-preset=preset-pc] .bg-light-primary {
  background: #e8f6eb;
  color: #179731;
}
[data-pc-preset=preset-pc] .link-primary {
  color: #179731 !important;
}
[data-pc-preset=preset-pc] .link-primary:hover, [data-pc-preset=preset-pc] .link-primary:focus {
  color: #127a29 !important;
}
[data-pc-preset=preset-pc] .btn-primary {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: #179731;
  --bs-btn-border-color: #179731;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #14852c;
  --bs-btn-hover-border-color: #127a29;
  --bs-btn-focus-shadow-rgb: 58, 170, 80;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #127a29;
  --bs-btn-active-border-color: #107024;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #ffffff;
  --bs-btn-disabled-bg: #179731;
  --bs-btn-disabled-border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-link {
  --bs-btn-color: #179731;
  --bs-btn-hover-color: #127a29;
  --bs-btn-active-color: #127a29;
}
[data-pc-preset=preset-pc] .text-bg-primary {
  color: #ffffff !important;
  background-color: RGBA(23, 151, 49, var(--bs-bg-opacity, 1)) !important;
}
[data-pc-preset=preset-pc] .accordion {
  --bs-accordion-btn-focus-border-color: #179731;
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(23, 151, 49, 0.25);
  --bs-accordion-active-color: #179731;
  --bs-accordion-active-bg: #e8f6eb;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234680ff'%3e%3cpath fill-rule=' evenodd' d=' M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
[data-pc-preset=preset-pc] .alert-primary {
  --bs-alert-color: #0c5a1c;
  --bs-alert-bg: #dcf3e1;
  --bs-alert-border-color: #c6ecd0;
  --bs-alert-link-color: #0a4616;
}
[data-pc-preset=preset-pc] .list-group {
  --bs-list-group-active-bg: #179731;
  --bs-list-group-active-border-color: #179731;
}
[data-pc-preset=preset-pc] .list-group-item-primary {
  color: #0c5a1c;
  background-color: #dcf3e1;
}
[data-pc-preset=preset-pc] .nav {
  --bs-nav-link-hover-color: #127a29;
}
[data-pc-preset=preset-pc] .nav-pills {
  --bs-nav-pills-link-active-bg: #179731;
}
[data-pc-preset=preset-pc] .pagination {
  --bs-pagination-hover-color: #127a29;
  --bs-pagination-focus-color: #127a29;
  --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgba(23, 151, 49, 0.25);
  --bs-pagination-active-bg: #179731;
  --bs-pagination-active-border-color: #179731;
}
[data-pc-preset=preset-pc] .progress {
  --bs-progress-bar-bg: #179731;
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-primary:checked {
  border-color: #179731;
  background-color: #179731;
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:checked {
  border-color: #e8f6eb;
  background-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:checked[type=checkbox] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%234680ff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:checked[type=radio] {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%234680ff'/%3e%3c/svg%3e");
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-primary:focus[type=checkbox], [data-pc-preset=preset-pc] .form-check .form-check-input.input-primary:focus[type=radio], [data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:focus[type=checkbox], [data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:focus[type=radio] {
  box-shadow: 0 0 0 0.2rem rgba(23, 151, 49, 0.25);
  border-color: #179731;
}
[data-pc-preset=preset-pc] .form-check.form-switch .form-check-input.input-light-primary:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%234680ff'/%3e%3c/svg%3e");
}
[data-pc-preset=preset-pc] .btn-light-primary {
  background: #e8f6eb;
  color: #179731;
  border-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .btn-light-primary .material-icons-two-tone {
  background-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary:hover {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary.focus, [data-pc-preset=preset-pc] .btn-light-primary:focus {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary:not(:disabled):not(.disabled).active, [data-pc-preset=preset-pc] .btn-light-primary:not(:disabled):not(.disabled):active, .show > [data-pc-preset=preset-pc] .btn-light-primary.dropdown-toggle {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-check:active + .btn-light-primary,
[data-pc-preset=preset-pc] .btn-check:checked + .btn-light-primary {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-link-primary {
  background: transparent;
  color: #179731;
  border-color: transparent;
}
[data-pc-preset=preset-pc] .btn-link-primary .material-icons-two-tone {
  background-color: #179731;
}
[data-pc-preset=preset-pc] .btn-link-primary:hover {
  background: #e8f6eb;
  color: #179731;
  border-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .btn-link-primary.focus, [data-pc-preset=preset-pc] .btn-link-primary:focus {
  background: #e8f6eb;
  color: #179731;
  border-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .btn-link-primary:not(:disabled):not(.disabled).active, [data-pc-preset=preset-pc] .btn-link-primary:not(:disabled):not(.disabled):active, .show > [data-pc-preset=preset-pc] .btn-link-primary.dropdown-toggle {
  background: #e8f6eb;
  color: #179731;
  border-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .btn-check:active + .btn-link-primary,
[data-pc-preset=preset-pc] .btn-check:checked + .btn-link-primary {
  background: #e8f6eb;
  color: #179731;
  border-color: #e8f6eb;
}
[data-pc-preset=preset-pc] .slider-selection {
  background-image: linear-gradient(to bottom, #c4ebcc 0, #c4ebcc 100%);
}
[data-pc-preset=preset-pc] .slider-selection.tick-slider-selection {
  background-image: linear-gradient(to bottom, #a5dcb1 0, #a5dcb1 100%);
}
[data-pc-preset=preset-pc] .swal-button:not([disabled]):hover {
  background-color: #0f8a2a;
}
[data-pc-preset=preset-pc] .swal-button:active {
  background-color: #0f8a2a;
}
[data-pc-preset=preset-pc] .swal-button:focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(23, 151, 49, 0.29);
}
[data-pc-preset=preset-pc] .swal-content__input:focus {
  border-color: rgba(23, 151, 49, 0.29);
}
[data-pc-preset=preset-pc] .swal-content__textarea:focus {
  border-color: rgba(23, 151, 49, 0.29);
}
[data-pc-preset=preset-pc] .swal2-styled:focus {
  box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(23, 151, 49, 0.4) !important;
}
[data-pc-preset=preset-pc] .slider-tick.in-selection {
  background-image: linear-gradient(to bottom, #a5dcb1 0, #a5dcb1 100%);
}
[data-pc-preset=preset-pc] .table-primary {
  --bs-table-color: #ffffff;
  --bs-table-bg: #179731;
  --bs-table-border-color: #43b45c;
  --bs-table-striped-bg: #34ad4f;
  --bs-table-striped-color: #ffffff;
  --bs-table-active-bg: #43b45c;
  --bs-table-active-color: #ffffff;
  --bs-table-hover-bg: #2aa745;
  --bs-table-hover-color: #ffffff;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}
[data-pc-preset=preset-pc] .form-check .form-check-input.input-light-primary:checked {
  border-color: rgba(23, 151, 49, 0.2);
  background-color: rgba(23, 151, 49, 0.2);
}
[data-pc-preset=preset-pc] .btn-light-primary {
  background: rgba(23, 151, 49, 0.2);
  color: #179731;
  border-color: rgba(23, 151, 49, 0.2);
}
[data-pc-preset=preset-pc] .btn-light-primary .material-icons-two-tone {
  background-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary:hover {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary.focus, [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-light-primary:focus {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-light-primary:not(:disabled):not(.disabled).active, [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-light-primary:not(:disabled):not(.disabled):active, .show > [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-light-primary.dropdown-toggle {
  background: #179731;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-check:active + .btn-light-primary,
[data-pc-theme=dark][data-pc-preset=preset-pc] .btn-check:checked + .btn-light-primary {
  background: #179731 !important;
  color: #fff;
  border-color: #179731;
}
[data-pc-preset=preset-pc] .btn-link-primary {
  background: transparent;
  color: #179731;
  border-color: transparent;
}
[data-pc-preset=preset-pc] .btn-link-primary .material-icons-two-tone {
  background-color: #179731;
}
[data-pc-preset=preset-pc] .btn-link-primary:hover {
  background: rgba(23, 151, 49, 0.2);
  color: #179731;
  border-color: rgba(23, 151, 49, 0.2);
}
[data-pc-preset=preset-pc] .btn-link-primary.focus, [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-link-primary:focus {
  background: rgba(23, 151, 49, 0.2);
  color: #179731;
  border-color: rgba(23, 151, 49, 0.2);
}
[data-pc-preset=preset-pc] .btn-link-primary:not(:disabled):not(.disabled).active, [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-link-primary:not(:disabled):not(.disabled):active, .show > [data-pc-theme=dark][data-pc-preset=preset-pc] .btn-link-primary.dropdown-toggle {
  background: rgba(23, 151, 49, 0.2);
  color: #179731;
  border-color: rgba(23, 151, 49, 0.2);
}
[data-pc-preset=preset-pc] .btn-check:active + .btn-link-primary,
[data-pc-theme=dark][data-pc-preset=preset-pc] .btn-check:checked + .btn-link-primary {
  background: rgba(23, 151, 49, 0.2);
  color: #179731;
  border-color: rgba(23, 151, 49, 0.2);
}
