:root {
    --e360-main-color: #1B84FF;
    --bs-scrollbar-color: #b0b5bf;
    --bs-scrollbar-hover-color: #b0b5bf;
}

.w-40 {
    width: 40% !important;
}

.w-60 {
    width: 60% !important;
}

.mt-1px {
    margin-top: 1px;
}

.mt-2px {
    margin-top: 2px;
}

.w-190px {
    width: 190px !important;
}

.h-190px {
    height: 190px !important;
}

.border-1px {
    border-width: 1px !important;
}

.border-2px {
    border-width: 2px !important;
}

.text-nowrap {
    white-space: nowrap !important;
}

img {
    font-size: 0;
    color: transparent;
    line-height: 0;
}

img.lazyload:not([src]) {
    visibility: hidden;
}

img:not([src]),
img[src=""] {
    visibility: hidden !important;
}

.bg-light-emerald {
    background-color: rgb(236 253 245);
}

.text-emerald {
    color: #10b981;
}

.badge-teal {
    background-color: #14b8a6;
    color: #ffffff;
}

.badge-light-teal {
    background-color: #f0fdfa;
    color: #14b8a6;
}

.badge-sky {
    background-color: #0ea5e9;
    color: #ffffff;
}

.badge-light-sky {
    background-color: #f0f9ff;
    color: #0ea5e9;
}

[data-bs-theme="dark"] .badge-light-teal,
[data-bs-theme="dark"] .badge-light-sky {
    background-color: var(--bs-info-light);
}

.form-check, .form-check .form-check-input {
    cursor: pointer;
}

.form-switch .form-check-label {
    cursor: pointer;
}

.disabled-link {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
}

.disabled-after::after {
    display: none !important;
}

#clr-picker.clr-open {
    z-index: 1060 !important;
}

.aside-logo .app-name {
    color: #F1F1F4 !important;
}

.login-sidebar .title {
    font-size: 3rem !important;
}

.login-sidebar .app-icon-wrapper {
    width: 110px;
    height: 110px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 3rem auto;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.20),
    inset 0 0 20px rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    cursor: pointer;
}

.login-sidebar .app-icon-wrapper img {
    filter: drop-shadow(0 5px 15px rgba(0, 0, 0, 0.2));
    transition: transform 0.4s ease;
}

.login-sidebar .app-icon-wrapper:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.2);
    border-top-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3),
    inset 0 0 30px rgba(255, 255, 255, 0.1);
}

.login-sidebar .app-icon-wrapper:hover img {
    transform: scale(1.05);
}

#kt_aside_menu .menu-item .menu-link.active .menu-icon i {
    color: #fff;
}

.fv-row-color-picker .clr-field {
    width: 100% !important;
    border-radius: 0.463rem !important;
    overflow: hidden;
}

.fv-row-color-picker .clr-field button {
    width: 43px !important;
    border-radius: 0.463rem !important;
}

.theme-selector-container .theme-card {
    display: block;
    position: relative;
}

.theme-selector-container .theme-card-content {
    transition: all 0.25s ease-in-out;
    border: 0;
    overflow: hidden;
}

.theme-selector-container .theme-image-wrapper {
    position: relative;
    background-color: #f3f6f9;
}

.theme-selector-container .theme-preview-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.theme-selector-container .theme-overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(18, 26, 49, 0.6);
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}

.theme-selector-container .theme-card:hover .theme-overlay {
    opacity: 1;
}

.theme-selector-container .active-badge {
    display: flex;
    position: absolute;
    top: 1rem;
    left: 1rem;
    background-color: var(--bs-primary);
    color: #fff;
    padding: 6px 12px;
    border-radius: 30px;
    font-size: 0.85rem;
    font-weight: 600;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 2;
}

.theme-selector-container .theme-title-footer {
    padding: 1rem 1.25rem;
    text-align: center;
    background-color: var(--bs-card-cap-bg);
    border-top: 1px solid var(--bs-card-border-color);
    transition: all 0.25s ease-in-out;
}

.theme-selector-container .card-active-theme {
    border-color: transparent;
    box-shadow: 0 0 0 3px var(--bs-primary), 0 10px 30px rgba(0, 0, 0, 0.15);
}

.theme-selector-container .card-active-theme .theme-title-footer {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.theme-selector-container .card-active-theme .theme-title-footer > span {
    color: #fff !important;
}

.theme-selector-container .card-active-theme .theme-overlay [data-button="activate"] {
    display: none;
}

.select2-container--bootstrap5 .select2-dropdown .select2-search .select2-search__field {
    border-radius: 0.463rem;
}

/* Résultat distant sur deux lignes : libellé compact (sigle) puis nom officiel et localisation. */
.e360-select-result { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.e360-select-result__label { font-weight: 600; overflow-wrap: anywhere; }
.e360-select-result__description { font-size: 12px; color: var(--e360-text-secondary, var(--bs-gray-700)); overflow-wrap: anywhere; }
.select2-results__option--highlighted .e360-select-result__description { color: inherit; }

/* Fiche rapide partagée : invisible tant que KTDrawer ne l’a pas prise en charge. */
.e360-remote-drawer:not(.drawer) { display: none; }
.e360-remote-drawer .card-body { overflow-y: auto; }
/* Formulaire servi dans le tiroir : la carte de la page complète s’efface, le tiroir porte déjà le cadre et le titre. */
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > .card,
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > form.card { border: 0; box-shadow: none; }
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > .card > .card-header,
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > form.card > .card-header { display: none; }
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > .card > .card-body,
.e360-remote-drawer [data-e360-drawer-body] [data-e360-drawer-content][data-e360-drawer-flush] > form.card > .card-body { padding-inline: 0; }

/* Cellule de décision d’une liste : formulaire compact sans écraser les autres colonnes. */
.e360-admin .e360-admin-decision-cell { min-width: 280px; }

.menu-table-options {
    width: auto !important;
    min-width: 125px;
    white-space: nowrap;
}

/* Choix de présentation partagés par la création et l’édition des articles. */
.e360-presentation-picker { min-width: 0; }
.e360-presentation-picker fieldset { min-width: 0; }
.e360-presentation-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.e360-presentation-options--formats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.e360-presentation-option { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid var(--bs-gray-300); border-radius: 8px; background: var(--bs-body-bg); color: var(--bs-gray-900); cursor: pointer; }
.e360-presentation-option:hover { border-color: var(--bs-primary); }
.e360-presentation-option:has(input:checked) { border-color: var(--bs-primary); background: var(--bs-primary-light); }
.e360-presentation-option input[type="radio"] { position: absolute; top: 16px; right: 16px; width: 20px; height: 20px; accent-color: var(--bs-primary); cursor: pointer; }
.e360-presentation-option__name { font-size: 17px; line-height: 24px; font-weight: 600; }
.e360-presentation-option__description { font-size: 14px; line-height: 22px; color: var(--bs-gray-700); }
.e360-presentation-current { display: flex; align-items: center; gap: 20px; }
.e360-presentation-current > .e360-presentation-thumbnail { width: 128px; height: 96px; flex: 0 0 128px; padding: 12px; }
.e360-presentation-thumbnail { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 12px 44px 24px; gap: 8px; width: min(100%, 220px); height: 132px; padding: 16px; background: var(--bs-gray-100); border: 1px solid var(--bs-gray-300); border-radius: 4px; overflow: hidden; }
.e360-presentation-thumbnail__heading { grid-column: 1 / -1; width: 70%; height: 8px; background: var(--bs-gray-700); border-radius: 2px; }
.e360-presentation-thumbnail__media { grid-column: 1 / -1; display: grid; place-items: center; background: var(--bs-gray-300); border-radius: 2px; }
.e360-presentation-thumbnail__media i { display: none; color: var(--bs-gray-800); font-size: 26px; }
.e360-presentation-thumbnail__body, .e360-presentation-thumbnail__aside { display: grid; align-content: start; gap: 5px; }
.e360-presentation-thumbnail__body { grid-column: 1 / -1; }
.e360-presentation-thumbnail__body > span, .e360-presentation-thumbnail__aside > span { display: block; height: 3px; background: var(--bs-gray-500); border-radius: 2px; }
.e360-presentation-thumbnail__body > span:last-child { width: 70%; }
.e360-presentation-thumbnail__aside { display: none; }
.e360-presentation-thumbnail--video .e360-presentation-thumbnail__media i, .e360-presentation-thumbnail--audio .e360-presentation-thumbnail__media i { display: block; }
.e360-presentation-thumbnail--gallery .e360-presentation-thumbnail__media { grid-column: 1; }
.e360-presentation-thumbnail--gallery .e360-presentation-thumbnail__aside { display: block; grid-column: 2; grid-row: 2; background: var(--bs-gray-400); }
.e360-presentation-thumbnail--gallery .e360-presentation-thumbnail__aside > span { display: none; }
.e360-presentation-thumbnail--audio .e360-presentation-thumbnail__media, .e360-presentation-thumbnail--event .e360-presentation-thumbnail__media { grid-column: 1; grid-row: 2 / 4; }
.e360-presentation-thumbnail--audio .e360-presentation-thumbnail__body, .e360-presentation-thumbnail--event .e360-presentation-thumbnail__body { grid-column: 2; }
.e360-presentation-thumbnail--chapters .e360-presentation-thumbnail__media, .e360-presentation-thumbnail--contents .e360-presentation-thumbnail__media { height: 16px; align-self: start; }
.e360-presentation-thumbnail--chapters .e360-presentation-thumbnail__aside, .e360-presentation-thumbnail--contents .e360-presentation-thumbnail__aside { display: grid; grid-column: 1 / -1; grid-row: 2; align-self: end; }
.e360-presentation-thumbnail--quiz .e360-presentation-thumbnail__body, .e360-presentation-thumbnail--poll .e360-presentation-thumbnail__body { grid-template-columns: 1fr 1fr; gap: 8px; }
.e360-presentation-thumbnail--quiz .e360-presentation-thumbnail__body > span, .e360-presentation-thumbnail--poll .e360-presentation-thumbnail__body > span { height: 8px; }
.e360-presentation-thumbnail--sidebar { grid-template-columns: 2fr 1fr; }
.e360-presentation-thumbnail--sidebar .e360-presentation-thumbnail__body, .e360-presentation-thumbnail--sidebar .e360-presentation-thumbnail__media { grid-column: 1; }
.e360-presentation-thumbnail--sidebar .e360-presentation-thumbnail__aside { display: grid; grid-column: 2; grid-row: 2 / 4; }
.e360-presentation-thumbnail--centered .e360-presentation-thumbnail__body { width: 70%; justify-self: center; }
.e360-presentation-current .e360-presentation-thumbnail { grid-template-rows: 8px 28px 16px; gap: 5px; }
#form-post .e360-media-choice-container { flex-direction: column; align-items: flex-start; gap: 12px; }
#form-post .e360-media-choice-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#form-post .e360-media-choice-actions .btn { white-space: normal; }
#form-post .e360-post-image-preview:not([src]), #form-post .e360-post-image-preview[src=""], #form-post .e360-post-image-preview.is-unavailable { visibility: hidden; }
#form-post .e360-post-form-columns > .flex-row-fluid { min-width: 0; }
@media (max-width: 1023px) { .e360-presentation-options--formats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) {
    .e360-presentation-options { grid-template-columns: minmax(0, 1fr); }
    .e360-presentation-current { flex-direction: column; align-items: flex-start; }
    .e360-presentation-current > .e360-presentation-thumbnail { flex-basis: auto; }
    .e360-presentation-picker .btn { white-space: normal; }
}

.image-input .image-input-wrapper img {
    border-radius: 0.625rem;
}

.card-categories .list-group-item {
    border: 0;
    padding: 0.75rem 0;
    transition: background-color 0.2s ease;
    margin-bottom: 0;
    background-color: #fff;
}

.card-categories .list-group-item:hover {
    background-color: var(--bs-gray-100);
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--bs-gray-200);
}

.card-categories .arrow-icon {
    transition: transform 0.3s ease;
    color: #b5b5c3;
    font-size: 0.75rem;
    width: 20px;
    text-align: center;
    margin-right: 8px;
    cursor: pointer;
}

.card-categories .arrow-icon.expanded {
    transform: rotate(90deg);
    color: #009ef7;
}

.card-categories .arrow-placeholder {
    width: 20px;
    display: inline-block;
    margin-right: 8px;
}

.card-categories .loading-spinner {
    display: none;
    margin-left: 10px;
    width: 1rem;
    height: 1rem;
    border-width: 0.15em;
}

.video-preview-container {
    display: block;
    position: relative;
}

.video-preview-container .btn-delete-video {
    position: absolute;
    right: -10px;
    top: 10px;
}

.embed-video-preview-container iframe {
    width: 100% !important;
    height: 175px !important;
}

.list-group-music {
    max-height: 300px;
    padding-right: 10px;
}

.list-group-music .list-group-item {
    background-color: transparent !important;
    border: 0;
    border-bottom: 1px dashed #eee;
    margin: 0 !important;
}

.card-toolbar .rotate-180:not(.collapsed) {
    transform: rotateZ(180deg);
    transition: transform 0.3s ease;
}

.quiz-answers-container {
    max-width: 800px;
}

.quiz-answers-container .format-toolbar {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 2rem;
    flex-direction: column;
}

.quiz-answers-container .btn-quiz-answer-layout.active i {
    color: var(--bs-gray-900) !important;
}

.quiz-answers-container .answer-card {
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    position: relative;
    transition: all 0.3s ease;
    width: 100%;
    height: 100%;
}

.quiz-answers-container .answer-card-fixed {
    width: 248px !important;
    max-width: 100%;
}

.quiz-answers-container .answer-wrapper-text .image-upload-area {
    display: none !important;
}

.quiz-answers-container .btn-delete-quiz-answer {
    position: absolute;
    left: auto;
    right: -10px;
    top: -10px;
}

.quiz-answers-container .btn-delete-quiz-answer:hover i,
.quiz-answers-container .btn-delete-quiz-answer:focus i,
.quiz-answers-container .btn-delete-quiz-answer:active i {
    color: var(--bs-danger-active);
}

.quiz-answers-container .answer-input {
    height: 65px;
    min-height: 65px;
    max-height: 120px;
    border-style: solid;
    border-color: var(--bs-gray-200);
    border-width: 1px 0 1px 0;
    width: 100%;
    padding: 10px;
    resize: none;
    transition: border-color 0.2s;
    border-radius: 0;
    margin-top: 10px;
}

.quiz-answers-container .answer-wrapper-text .answer-card-body .answer-input {
    border-top: 0;
    margin-top: 0;
    border-radius: 6px 6px 0 0;
}

.quiz-answers-container .answer-input:focus {
    outline: none;
    border-bottom-color: var(--bs-primary);
}

.quiz-answers-container .answer-card-footer {
    padding: 12px 15px;
    display: flex;
    align-items: center;
}

.quiz-answers-container .image-input [data-kt-image-input-action="change"] {
    left: auto;
    top: 18px;
    right: -6px;
}

.quiz-answers-container .image-input [data-kt-image-input-action="cancel"], .quiz-answers-container .image-input [data-kt-image-input-action="remove"] {
    position: absolute;
    left: auto;
    top: auto;
    right: -6px;
    bottom: -7px;
}

.quiz-answers-container .custom-grid-container {
    display: grid !important;
    gap: 20px;
    justify-content: start;
    margin-right: 0 !important;
    margin-left: 0 !important;
    grid-template-columns: repeat(auto-fill, 248px);
}

.quiz-answers-container .row.g-3 > .col-12 {
    margin-bottom: 0;
}

div:where(.swal2-icon) {
    margin: 0.5rem auto 0.2rem;
}

.swal2-popup .swal2-actions {
    margin-bottom: 0;
}

@media (min-width: 1200px) {
    h2, .h2 {
        font-size: 1.375rem;
    }
}

@media (min-width: 992px) {
    .header-fixed[data-kt-sticky-header="on"] .header {
        z-index: 108;
    }
}

.image-input-placeholder {
    background-image: url('../media/blank.svg');
}

[data-bs-theme="dark"] .image-input-placeholder {
    background-image: url('../media/blank-dark.svg');
}

[dir="rtl"] .list-group-music {
    padding-right: 0;
    padding-left: 10px;
}

.nav-pills-featured .nav-link {
    border: transparent !important;
    color: var(--bs-text-gray-900);
}

.nav-pills-featured .nav-link.active, .nav-pills-featured .nav-link.active i {
    color: #fff !important;
}

.card-faq .faq-item-container {
    border: 1px dashed #dbdfe9;
    border-radius: 0.475rem;
    background-color: #fff;
    transition: border-color 0.2s;
}

.card-faq .faq-item-container:hover {
    border-color: var(--e360-main-color);
}

.card-faq .faq-header {
    cursor: pointer;
    transition: background-color 0.2s;
    padding: 0.75rem 1rem !important;
    border-radius: 0.475rem;
}

.card-faq .faq-header[aria-expanded="true"] {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.card-faq .rotate-icon {
    transition: transform 0.3s ease;
}

.card-faq .card-header[aria-expanded="false"] .rotate-icon {
    transform: rotate(-180deg);
}

.card-faq .item-chevron {
    transition: transform 0.2s ease;
}

.card-faq .faq-header[aria-expanded="true"] .item-chevron {
    transform: rotate(90deg);
}

.event-speaker {
    width: 250px !important;
    max-width: 100%;
    padding: 20px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.463rem;
    position: relative;
}

.event-speaker .btn-remove-speaker {
    position: absolute;
    right: 0;
    top: 0;
}

#cardMapContainer #map {
    height: 500px;
    width: 100%;
    border-radius: 0.65rem;
    border: 1px solid #e4e6ef;
    position: relative;
}

#cardMapContainer .gm-style img {
    max-width: none !important;
}

#cardMapContainer #map-loading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f8fa;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 10;
    border-radius: 0.65rem;
}

.nav-pills-custom-gray .nav-link {
    background-color: var(--bs-gray-100);
    color: var(--bs-gray-800);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.nav-pills-custom-gray .nav-link:hover:not(.active) {
    background-color: color-mix(in srgb, var(--bs-gray-200), black 3%) !important;
}

.nav-pills-custom-gray .nav-link.active,
.nav-pills-custom-gray .show > .nav-link {
    background-color: var(--bs-gray-300);
    color: var(--bs-gray-800);
    box-shadow: 0px 4px 12px 0px rgba(62, 66, 85, 0.25);
}

.custom-dropzone-container {
    background-color: #F5F8FA;
    border: 1px dashed #B5B5C3;
}

.badge-input-wrap {
    background: rgba(0, 0, 0, 0.02);
    border-radius: 999px;
    padding: 2px 6px 2px 2px;
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.badge-input-wrap input {
    width: 42px;
    border: none;
    background: transparent;
    text-align: center;
    font-weight: 600;
    color: #555;
    outline: none;
}

.badge-input-wrap input::placeholder {
    color: #bbb;
    font-weight: 400;
}

.badge-input-wrap:hover,
.badge-input-wrap:focus-within {
    background: var(--bs-gray-100);
}

.badge-input-wrap input:focus {
    color: #000;
}

.badge-input-wrap.status-loading {
    opacity: 0.6;
    pointer-events: none;
    cursor: wait;
}

.badge-input-wrap.status-success {
    border-color: #a7f3d0;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.3);
    color: #064e3b;
}

.badge-input-wrap.status-error {
    background-color: #f8d7da;
    border-color: #f5c6cb;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
    animation: shake 0.3s ease-in-out;
}

.ai-action-buttons .btn .indicator-progress {
    display: none;
}

.ai-action-buttons .btn .indicator-label {
    display: inline-flex;
    align-items: center;
}

.ai-action-buttons .btn[data-kt-indicator="on"] .indicator-label {
    display: none;
}

.ai-action-buttons .btn[data-kt-indicator="on"] .indicator-progress {
    display: inline-flex;
    align-items: center;
}

.price-format-chart span {
    font-size: 1.25rem !important;
    line-height: 1.5;
    font-weight: 500;
    color: var(--bs-text-gray-500);
}

.premium-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.2px;
    color: var(--premium-badge-color);
    background: linear-gradient(
            135deg,
            color-mix(in srgb, var(--premium-badge-color) 18%, transparent) 0%,
            color-mix(in srgb, var(--premium-badge-color) 6%, transparent) 100%
    );

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid color-mix(in srgb, var(--premium-badge-color) 20%, transparent);
    white-space: nowrap;
}

.premium-badge svg,
.premium-badge i {
    width: 14px;
    height: 14px;
    display: block;
}

.premium-badge.premium-badge-sm {
    padding: 4px 8px;
    gap: 5px;
    font-size: 11px;
    border-radius: 6px;
}

.premium-badge.premium-badge-sm svg,
.premium-badge.premium-badge-sm i {
    width: 12px;
    height: 12px;
}

.premium-badge.premium-badge-solid {
    background: color-mix(in srgb, var(--premium-badge-color) 85%, transparent);
    color: #ffffff;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid color-mix(in srgb, #ffffff 25%, transparent);
    box-shadow: 0 6px 15px color-mix(in srgb, var(--premium-badge-color) 35%, transparent),
    0 2px 4px rgba(0, 0, 0, 0.05);
}

.email-templates .theme-card-wrapper {
    position: relative;
    height: 100%;
    display: block;
    cursor: pointer;
}

.email-templates .theme-radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.email-templates .theme-card {
    height: 100%;
    border: 2px solid var(--bs-gray-200);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.email-templates .theme-img-container {
    position: relative;
    width: 100%;
    height: 140px;
    background-color: #f8f9fa;
    overflow: hidden;
}

.email-templates .theme-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.email-templates .theme-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, 0.7);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 10;
}

.email-templates .theme-card-wrapper:hover .theme-card {
    border-color: var(--bs-gray-300);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    transform: translateY(-4px);
}

.email-templates .theme-card-wrapper:hover .theme-img {
    transform: scale(1.05);
}

.email-templates .theme-card-wrapper:hover .theme-overlay {
    opacity: 1;
}

.email-templates .theme-radio:checked + .theme-card {
    border-color: var(--e360-main-color);
    box-shadow: 0 0 0 4px rgba(45, 101, 254, 0.15);
}

.email-templates .active-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 24px;
    height: 24px;
    background-color: var(--e360-main-color);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 20;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.email-templates .active-badge i {
    color: #fff !important;
}

.email-templates .theme-radio:checked + .theme-card .active-badge {
    opacity: 1;
    transform: scale(1);
}

.email-templates .card-body-custom {
    padding: 12px;
    text-align: center;
    border-top: 1px solid var(--bs-gray-200);
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.email-templates .theme-radio:checked + .theme-card .theme-name {
    color: #000000;
}

.email-templates .theme-card-wrapper:hover .theme-overlay {
    opacity: 1;
    pointer-events: auto;
}

.newsletter-container .tableFixHead thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.newsletter-container table {
    border-collapse: collapse;
    width: 100%;
}

.newsletter-container th, .newsletter-container td {
    padding: 8px 16px;
}

.newsletter-container th {
    background: #fff !important;
}

[data-bs-theme="dark"] .newsletter-container th {
    background: var(--bs-gray-100) !important;
}

.newsletter-container .email-tag {
    max-width: 100%;
    overflow-wrap: anywhere;
    background-color: var(--bs-gray-300);
    color: var(--bs-gray-800);
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 0.9rem;
}

.newsletter-container #progressLog div {
    overflow-wrap: anywhere;
    padding: 2px 0;
    border-bottom: 1px solid var(--bs-gray-100);
    font-size: 13px;
}

.newsletter-container #progressLog div:last-child {
    border-bottom: none;
}

/* Toastr fourni par Metronic : même niveau que Bootstrap Toast (1090), au-dessus des modales et drawers. */
.e360-admin #toastr-container { z-index: 1090; top: calc(65px + 1rem + env(safe-area-inset-top)); bottom: auto; width: min(400px, calc(100vw - 2rem)); max-width: calc(100vw - 2rem); max-height: calc(100dvh - 65px - 3rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; }
.e360-admin #toastr-container.toastr-top-right { right: max(1rem, env(safe-area-inset-right)); left: auto; }
.e360-admin #toastr-container.toastr-top-left { left: max(1rem, env(safe-area-inset-left)); right: auto; }
.e360-admin #toastr-container > .e360-toast { display: grid; grid-template-columns: 2.75rem minmax(0, 1fr) 44px; column-gap: 1rem; row-gap: .25rem; width: 100%; margin: 0 0 1rem; padding: 1.5rem; opacity: 1; color: var(--bs-body-color); background-color: var(--e360-toast-bg, var(--bs-body-bg)); border: 0; border-radius: var(--bs-border-radius-lg); box-shadow: var(--bs-box-shadow-sm); overflow: visible; }
/* Les images de fond du fournisseur sont prioritaires ; les icônes viennent désormais du catalogue partagé. */
.e360-admin #toastr-container > .e360-toast { background-image: none !important; }
.e360-admin #toastr-container > .toastr-success { --e360-toast-bg: var(--bs-success-light); --e360-toast-tone: var(--bs-success-text-emphasis); }
.e360-admin #toastr-container > .toastr-error { --e360-toast-bg: var(--bs-danger-light); --e360-toast-tone: var(--bs-danger-text-emphasis); }
.e360-admin #toastr-container > .toastr-warning { --e360-toast-bg: var(--bs-warning-light); --e360-toast-tone: var(--bs-warning-text-emphasis); }
.e360-admin #toastr-container > .toastr-info { --e360-toast-bg: var(--bs-info-light); --e360-toast-tone: var(--bs-info-text-emphasis); }
.e360-admin #toastr-container .e360-toast__icon { grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--bs-body-bg); color: var(--e360-toast-tone); }
.e360-admin #toastr-container .e360-toast__icon i { font-size: 1.5rem; color: inherit; }
.e360-admin #toastr-container .toastr-message, .e360-admin #toastr-container .toastr-title { grid-column: 2; min-width: 0; overflow-wrap: anywhere; white-space: normal; font-size: max(14px, 1rem); line-height: 1.5; }
.e360-admin #toastr-container .toastr-title { grid-row: 1; color: var(--e360-toast-tone); font-weight: 600; }
.e360-admin #toastr-container .toastr-message { grid-row: 2; }
.e360-admin #toastr-container .toastr-close-button { grid-column: 3; grid-row: 1 / span 2; align-self: start; position: static; float: none; width: 44px; height: 44px; padding: .5rem; font-size: 1.25rem; color: var(--bs-body-color); opacity: .7; text-shadow: none; }
.e360-admin #toastr-container .toastr-close-button:hover, .e360-admin #toastr-container .toastr-close-button:focus-visible { opacity: 1; }
.e360-admin #toastr-container .toastr-close-button:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: -2px; border-radius: var(--bs-border-radius); }
.e360-admin #toastr-container .toastr-close-button i { color: inherit; }
@media (max-width: 767.98px) {
    .e360-admin #toastr-container { width: calc(100vw - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)); max-height: min(50dvh, calc(100dvh - 65px - 3rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))); }
}
.toastr-message a, .toastr-message a i {
    color: #1b84ff !important;
    font-weight: bold !important;
}

.form-control.form-control-solid:disabled {
    background-color: #f5f8fa !important;
    border-color: #e4e6ef !important;
    color: #a1a5b7 !important;
    opacity: 0.7;
    cursor: not-allowed;
}

.form-control.form-control-solid:disabled::placeholder {
    color: #d1d3e0;
}

.symbol .symbol-label img {
    border-radius: .463rem !important;
}

[data-bs-theme="dark"] .form-control.form-control-solid:disabled {
    background-color: #1b1b29 !important;
    border-color: #323248 !important;
    color: #494b74 !important;
    opacity: 0.6;
}

[data-bs-theme="dark"] .form-control.form-control-solid:disabled::placeholder {
    color: #181923;
}

[dir="rtl"] .clr-field input {
    text-align: left;
}

@media (min-width: 2000px) {
    .email-templates > * {
        flex: 0 0 auto;
        width: 20%;
    }
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(-3px);
    }
    50% {
        transform: translateX(3px);
    }
    75% {
        transform: translateX(-3px);
    }
    100% {
        transform: translateX(0);
    }
}

@media (max-width: 768px) {
    .card-list-item .card-toolbar {
        width: 100%;
        position: relative;
    }

    .card-list-item .card-toolbar .btn-remove-list-item,
    .card-list-item .card-toolbar .btn-delete-quiz-question,
    .card-list-item .card-toolbar .btn-delete-quiz-result {
        position: absolute;
        right: 0;
    }
}

.modal-dialog .tox .tox-promotion + .tox-menubar {
    grid-column: 1/-1 !important;
}

/* TinyMCE Mobile Menu Fix */
@media (max-width: 768px) {
    .tox-tinymce .tox-editor-header {
        max-width: 100vw !important;
        width: 100% !important;
        overflow: scroll !important;
    }

    .tox-tinymce .tox-menubar {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        width: 100% !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 2px;
    }

    .tox-tinymce .tox-mbtn {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .tox-tinymce .tox-menubar::-webkit-scrollbar {
        height: 4px;
        display: block;
    }

    .tox-tinymce .tox-menubar::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }
}

.card-index-widget {
    min-height: 215px;
}

#kt_aside::-webkit-scrollbar,
#kt_aside .hover-scroll-y::-webkit-scrollbar {
    width: 6px;
}

#kt_aside::-webkit-scrollbar-track,
#kt_aside .hover-scroll-y::-webkit-scrollbar-track {
    background: #0b0c10;
}

#kt_aside::-webkit-scrollbar-thumb,
#kt_aside .hover-scroll-y::-webkit-scrollbar-thumb {
    background: #333333;
    border-radius: 4px;
}

#kt_aside::-webkit-scrollbar-thumb:hover,
#kt_aside .hover-scroll-y::-webkit-scrollbar-thumb:hover {
    background: #4d4d4d;
}

#kt_aside,
#kt_aside .hover-scroll-y {
    scrollbar-width: thin;
    scrollbar-color: #333333 #0b0c10;
}

@media (min-width: 768px) {
    .card-index-widget {
        min-height: 240px;
    }
}

@media (min-width: 1400px) {
    .card-index-widget {
        min-height: 215px;
    }

    .index-box-main {
        height: 94px;
    }
}

@media (max-width: 1600px) {
    .mb-xl-7 {
        margin-bottom: 1.75rem !important;
    }

    .g-xl-7, .gx-xl-7 {
        --bs-gutter-x: 1.75rem !important;
    }

    .gap-xl-7 {
        gap: 1.75rem !important;
    }
}

/* Éditeur partagé des métadonnées SEO des pages publiques */
[data-seo-editor] .seo-page-preview__image {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    background: var(--bs-gray-100);
}

[data-seo-editor] .seo-page-preview__url {
    color: var(--bs-success);
    font-size: 13px;
    line-height: 20px;
    overflow-wrap: anywhere;
}

[data-seo-editor] .seo-page-preview__title {
    color: #1a0dab;
    font-size: 20px;
    line-height: 26px;
    overflow-wrap: anywhere;
}

[data-seo-editor] .seo-page-preview__description {
    color: var(--bs-gray-700);
    font-size: 14px;
    line-height: 22px;
    overflow-wrap: anywhere;
}

[data-seo-editor] .seo-page-preview--social .card-body {
    margin: 0 20px 20px;
    padding: 20px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    background: var(--bs-body-bg);
}

[data-seo-editor] .seo-page-preview__social-title {
    color: var(--bs-gray-900);
    font-size: 17px;
    font-weight: 600;
    line-height: 24px;
    overflow-wrap: anywhere;
}

[data-seo-editor] .seo-page-preview__social-description {
    color: var(--bs-gray-700);
    font-size: 14px;
    line-height: 21px;
    overflow-wrap: anywhere;
}

[data-bs-theme="dark"] [data-seo-editor] .seo-page-preview__title {
    color: #8ab4f8;
}

@media (max-width: 767px) {
    [data-seo-editor] .seo-page-preview__image {
        height: 150px;
    }
}

/* Administration partagée du référentiel Équipe */
[data-team-admin] .team-admin-avatar {
    display: inline-grid;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid var(--bs-gray-300);
    border-radius: 50%;
    object-fit: cover;
}

[data-team-admin] .team-admin-avatar--placeholder {
    color: var(--bs-primary);
    background: var(--bs-primary-light);
    font-size: 16px;
    font-weight: 700;
}

[data-team-admin] .team-photo-picker {
    padding: 16px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 8px;
    background: var(--bs-body-bg);
}

[data-team-admin] .team-photo-preview,
[data-team-admin] .team-photo-empty {
    display: grid;
    width: 100%;
    height: 220px;
    place-items: center;
    border-radius: 6px;
}

[data-team-admin] .team-photo-preview {
    object-fit: cover;
}

[data-team-admin] .team-photo-empty {
    border: 1px dashed var(--bs-gray-400);
    color: var(--e360-text-secondary, var(--bs-gray-700));
    background: var(--bs-gray-100);
    text-align: center;
}

[data-team-admin] .team-repeater-row {
    padding: 20px;
    border-color: var(--bs-gray-300);
    background: var(--bs-body-bg);
}

[data-team-admin] .team-publication-card {
    top: 84px;
}

@media (max-width: 767px) {
    [data-team-admin] .team-repeater-row {
        padding: 16px;
    }

    [data-team-admin] .team-repeater-order {
        flex: 0 0 auto;
    }

    [data-team-admin] .team-photo-preview,
    [data-team-admin] .team-photo-empty {
        height: 180px;
    }
}

/* Patterns transversaux du back-office : les couleurs et états restent ceux de Metronic. */
.e360-admin {
    --e360-admin-gap: 20px;
    --e360-admin-radius: 8px;
    --e360-admin-control: 40px;
    --e360-admin-border: var(--bs-gray-300);
}
/* Contrastes partagés (WCAG AA mesuré) : texte secondaire, bleu d’action, états et limites des champs.
   Les variables Metronic sont redéfinies sur le corps du back-office : composants, utilitaires et Select2 en héritent. */
.e360-admin {
    --e360-text-secondary: #5e6a85;
    --e360-placeholder: #68728b;
    --e360-section-gap: 24px;
    --bs-text-muted: var(--e360-text-secondary);
    --bs-text-gray-500: var(--e360-text-secondary);
    --bs-text-gray-600: var(--e360-text-secondary);
    --bs-primary: #1066dc;
    --bs-primary-rgb: 16, 102, 220;
    --bs-primary-active: #0b55b8;
    --bs-text-primary: #1066dc;
    --bs-link-color: #1066dc;
    --bs-link-color-rgb: 16, 102, 220;
    --bs-link-hover-color: #0b55b8;
    --bs-link-hover-color-rgb: 11, 85, 184;
    --bs-component-active-bg: var(--bs-primary);
    --bs-component-checked-bg: var(--bs-primary);
    --bs-component-hover-color: var(--bs-text-primary);
    --bs-text-success: #0b7a3e;
    --bs-text-warning: #8a6100;
    --bs-text-danger: #c41443;
    --bs-text-info: #7239ea;
    --e360-success-text: #0b7a3e;
    --e360-warning-text: #8a6100;
    --e360-danger-text: #c41443;
    --e360-info-text: #7239ea;
}
[data-bs-theme="dark"] .e360-admin {
    --e360-text-secondary: #9a9cae;
    --e360-placeholder: #9a9cae;
    --bs-primary: #006ae6;
    --bs-primary-rgb: 0, 106, 230;
    --bs-primary-active: #107eff;
    --bs-text-primary: #4b9bff;
    --bs-link-color: #4b9bff;
    --bs-link-color-rgb: 75, 155, 255;
    --bs-link-hover-color: #7ab4ff;
    --bs-link-hover-color-rgb: 122, 180, 255;
    --bs-component-active-bg: var(--bs-primary);
    --bs-component-checked-bg: var(--bs-primary);
    --bs-component-hover-color: var(--bs-text-primary);
    --bs-text-success: #17c653;
    --bs-text-warning: #f6c000;
    --bs-text-danger: #ff5c80;
    --bs-text-info: #a87bff;
    --e360-success-text: #17c653;
    --e360-warning-text: #f6c000;
    --e360-danger-text: #ff5c80;
    --e360-info-text: #a87bff;
    --bs-light-inverse: #9a9cae;
}
/* Sombre : un état actif écrit en bleu sur fond sombre utilise la teinte claire du bleu, lisible à 4,5:1. */
[data-bs-theme="dark"] .e360-admin :is(.nav-line-tabs .nav-link.active, .e360-admin-section-nav .nav-link.active, .btn.btn-active-light-primary.active, .btn-check:checked + .btn.btn-active-light-primary) { color: var(--bs-text-primary); }
/* Libellés sur fond clair coloré : texte foncé du même ton plutôt que la couleur vive de Metronic. */
.e360-admin .btn.btn-light-primary:not(:hover):not(:focus):not(.active),
.e360-admin .badge-light-primary { color: var(--bs-text-primary); }
.e360-admin .badge-light-success, .e360-admin .alert-success, .e360-admin .text-success { color: var(--e360-success-text); }
.e360-admin .badge-light-warning, .e360-admin .alert-warning, .e360-admin .text-warning { color: var(--e360-warning-text); }
.e360-admin .badge-light-danger, .e360-admin .alert-danger, .e360-admin .text-danger, .e360-admin .invalid-feedback { color: var(--e360-danger-text); }
.e360-admin .badge-light-info, .e360-admin .alert-info, .e360-admin .text-info { color: var(--e360-info-text); }
.e360-admin .btn.btn-light-success:not(:hover):not(:focus):not(.active) { color: var(--e360-success-text); }
.e360-admin .btn.btn-light-warning:not(:hover):not(:focus):not(.active) { color: var(--e360-warning-text); }
.e360-admin .btn.btn-light-danger:not(:hover):not(:focus):not(.active) { color: var(--e360-danger-text); }
.e360-admin .btn.btn-light-info:not(:hover):not(:focus):not(.active) { color: var(--e360-info-text); }
/* Onglets pilules : Metronic fixe le fond actif sur la pilule elle-même, hors des variables du thème. */
.e360-admin .nav-pills { --bs-nav-pills-link-active-bg: var(--bs-primary); }
/* Libellés de cases et de choix : texte courant, non atténué (Metronic les affiche en gray-500). */
.e360-admin .form-check-label { color: var(--bs-gray-800); }
.e360-admin .form-text, .e360-admin .breadcrumb .breadcrumb-item, .e360-admin .breadcrumb .breadcrumb-item a { color: var(--e360-text-secondary); }
/* Champs : rendu Metronic natif pour la bordure et le focus (décision utilisateur) ; seul le placeholder est rendu lisible. */
.e360-admin .form-control::placeholder, .e360-admin .form-select::placeholder { color: var(--e360-placeholder); }
.e360-admin .select2-container--bootstrap5 .select2-selection__placeholder, .e360-admin .category-selector .category-toggle .placeholder-text { color: var(--e360-placeholder); }
/* Changement d’édition du contexte Concours : pleine largeur sur mobile, 250 px à partir de la tablette. */
.e360-admin .e360-contest-context__form > .select2-container, .e360-admin .e360-contest-context__form > select { flex: 1 1 0; min-width: 0; }
@media (min-width: 768px) { .e360-admin .e360-contest-context__form > .select2-container, .e360-admin .e360-contest-context__form > select { flex: 0 0 250px; width: 250px; } }
/* Bouton clair posé sur le fond de page : sans contour, il se confondait avec le texte. */
.e360-admin .e360-admin-toolbar .btn.btn-light, .e360-admin .e360-contest-context .btn.btn-light { background-color: var(--bs-body-bg); border: 1px solid var(--e360-admin-border); }
.e360-admin .e360-admin-toolbar .btn.btn-light:hover, .e360-admin .e360-contest-context .btn.btn-light:hover { border-color: var(--bs-primary); color: var(--bs-text-primary); }
/* Sections successives d’une page : un espacement unique, y compris hors des conteneurs en grille ou flex. */
.e360-admin .e360-admin-page > :is(.card, section, form, .alert, .accordion, .e360-admin-filter, .e360-admin-kpis, .row, .table-responsive) + :is(.card, section, form, .alert, .accordion, .e360-admin-filter, .e360-admin-kpis, .table-responsive) { margin-top: var(--e360-section-gap); }
.e360-admin #kt_aside { background: #0b0c10; }
.e360-admin #kt_content { padding-top: 24px; }
.e360-admin .e360-admin-page { max-width: 1800px; padding-right: 24px; padding-left: 24px; }
.e360-admin .e360-admin-page[data-e360-admin-family="form"],
.e360-admin .e360-admin-page[data-e360-admin-family="configuration"] { max-width: 1320px; }
.e360-admin .e360-admin-page-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.e360-admin .e360-admin-page-header .page-title { min-width: 0; }
.e360-admin .page-heading { color: var(--bs-gray-900); font-size: 24px; font-weight: 600; line-height: 1.3; margin: 0; }
.e360-admin .e360-admin-page-description { max-width: 760px; margin-top: 6px; color: var(--e360-text-secondary, var(--bs-gray-700)); line-height: 1.5; }
.e360-admin .e360-admin-page-description p { margin: 0; }
.e360-admin .e360-admin-page-context { display: flex; gap: 8px; margin-top: 8px; align-items: center; flex-wrap: wrap; }
.e360-admin .e360-admin-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; flex-shrink: 0; }
.e360-admin .e360-admin-page .card { border: 1px solid var(--e360-admin-border); border-radius: var(--e360-admin-radius); box-shadow: none;}
.e360-admin .e360-admin-page .card > .card-body { padding: 20px; }
.e360-admin .e360-admin-page .card > .card-header { min-height: 56px; padding: 14px 20px; }
.e360-admin .e360-admin-page .card-title h2 { font-size: 16px; font-weight: 600; margin: 0; }
.e360-admin .e360-admin-page .form-label { margin-bottom: 6px; font-size: 13px; font-weight: 500; }
.e360-admin .e360-admin-page .form-control,
.e360-admin .e360-admin-page .form-select { min-height: var(--e360-admin-control); font-size: 14px; padding-top: 8px; padding-bottom: 8px; }
.e360-admin .e360-admin-page .select2-container--bootstrap5 .select2-selection--single { height: var(--e360-admin-control); min-height: var(--e360-admin-control); }
.e360-admin .e360-admin-page .form-text { font-size: 12px; line-height: 1.5; max-width: 760px; }
.e360-admin .e360-admin-page .btn { font-size: 13px; }
.e360-admin .e360-admin-page .btn-sm { min-height: 32px; }
.e360-admin .e360-admin-filter { padding: 16px; margin-bottom: 16px; background: var(--bs-body-bg); border: 1px solid var(--e360-admin-border); border-radius: var(--e360-admin-radius); }
.e360-admin .e360-admin-filter-main { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(2, minmax(140px, 1fr)) auto; align-items: end; gap: 12px; }
.e360-admin .e360-admin-filter-field { min-width: 0; }
.e360-admin .e360-admin-filter-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.e360-admin .e360-admin-filter-buttons .btn { min-height: 40px; padding: 10px 12px; white-space: nowrap; }
.e360-admin .e360-admin-filter-advanced { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 16px; margin-top: 16px; border-top: 1px solid var(--e360-admin-border); }
.e360-admin .e360-admin-active-filters { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
.e360-admin .e360-admin-active-filters[hidden] { display: none; }
.e360-admin .e360-admin-filter-chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 8px; border: 1px solid var(--bs-gray-300); border-radius: 6px; color: var(--bs-gray-700); background: var(--bs-gray-100); font-size: 12px; max-width: 100%; }
.e360-admin .e360-admin-filter-chip span { overflow-wrap: anywhere; }
.e360-admin .e360-admin-filter-chip:hover { border-color: var(--bs-primary); color: var(--bs-primary); }
.e360-admin .e360-admin-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 20px; }
.e360-admin .e360-admin-kpi { padding: 16px 20px; display: flex; flex-direction: column; gap: 8px; background: var(--bs-body-bg); }
.e360-admin .e360-admin-kpi strong { font-size: 30px; line-height: 1.2; font-weight: 600; color: var(--bs-gray-900); }
.e360-admin .e360-admin-results-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin .e360-admin-table [hidden] { display: none; }
.e360-admin .e360-admin-table { margin-bottom: 0; width: 100%; }
.e360-admin .e360-admin-table > thead > tr > th { font-size: 12px; text-transform: none; letter-spacing: 0; color: var(--e360-text-secondary, var(--bs-gray-700)); font-weight: 600; padding: 12px 16px; white-space: normal; background: var(--bs-gray-100); }
.e360-admin .e360-admin-table > tbody > tr > td { padding: 14px 16px; font-size: 13px; min-width: 0; overflow-wrap: anywhere; vertical-align: middle; color: var(--bs-gray-700); font-weight: 400; }
.e360-admin .e360-admin-table.table > :not(caption) > tr > :first-child { padding-left: 16px; }
.e360-admin .e360-admin-table.table > :not(caption) > tr > :last-child { padding-right: 16px; }
.e360-admin .e360-admin-filter-field > .select2-container { max-width: 100%; }
.e360-admin .e360-admin-filter-field > .form-control, .e360-admin .e360-admin-filter-field > .form-select { width: 100%; }
.e360-admin .e360-admin-toolbar { max-width: 60%; }
.e360-admin .e360-admin-metadata { margin-bottom: 0; }
.e360-admin .e360-admin-page-context > dl { width: 100%; }
.e360-admin .e360-admin-table > tbody > tr:hover { background: var(--bs-gray-100); }
.e360-admin .e360-admin-table .text-muted { line-height: 1.5; }
.e360-admin .e360-admin-row-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.e360-admin .e360-admin-table [data-column-role="actions"] { width: 1%; text-align: end; white-space: nowrap; }
.e360-admin .e360-admin-table [data-column-role="actions"] .e360-admin-row-actions { justify-content: flex-end; }
/* Colonnes, actions et métadonnées : contrat partagé de toutes les listes. */
.e360-admin .e360-admin-table-region { overflow: visible; }
/* Les listes à chargement progressif gardent leurs lignes dans une région défilante. */
.e360-admin .e360-admin-table-region[data-e360-table-scroll] { max-height: 560px; overflow: auto; overscroll-behavior: contain; }
.e360-admin .e360-admin-table-region[data-e360-table-scroll]:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.e360-admin .e360-admin-table-region[data-e360-table-scroll] [data-column-role="primary"] { overflow-wrap: anywhere; }
@media (max-width: 767px) {
    .e360-admin .e360-admin-table-region[data-e360-table-scroll] { max-height: 420px; }
}
.e360-admin .e360-admin-table [data-column-role="primary"] { width: 30%; max-width: 360px; }
.e360-admin .e360-admin-table [data-column-role="selection"] { width: 44px; }
.e360-admin .e360-admin-table-region-wide { overflow-x: auto; }
/* Extrait partagé des tableaux : le dossier conserve le texte intégral. */
@media (min-width: 1025px) {
    .e360-admin .e360-admin-inbox [data-column-role="primary"] { width: 22%; }
    .e360-admin .e360-admin-inbox [data-column-role="routing"] { width: 20%; }
}
.e360-admin .e360-admin-cell-excerpt {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    overflow-wrap: anywhere;
    max-width: 380px;
    font-weight: 400;
}
.e360-admin .e360-admin-cell-content { min-width: 0; }
.e360-admin .e360-admin-cell-main { display: flex; align-items: center; gap: 12px; }
.e360-admin .e360-admin-cell-main > * { min-width: 0; }
.e360-admin .e360-admin-cell-main > .symbol { flex-shrink: 0; }
.e360-admin .e360-admin-cell-title, .e360-admin .e360-admin-table [data-column-role="primary"] .fw-semibold { font-weight: 600; color: var(--bs-gray-900); line-height: 1.5; }
.e360-admin .e360-admin-cell-meta { font-size: 12px; color: var(--e360-text-secondary, var(--bs-gray-700)); margin-top: 4px; }
.e360-admin .e360-admin-cell-url { display: flex; align-items: center; gap: 6px; max-width: 250px; margin-top: 4px; font-size: 12px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
.e360-admin .e360-admin-cell-url span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.e360-admin .e360-admin-cell-url i { flex-shrink: 0; }
.e360-admin .e360-admin-cell-url:hover { color: var(--bs-primary); }
.e360-admin .e360-admin-row-actions { justify-content: flex-end; }
.e360-admin .e360-admin-row-actions > *, .e360-admin .e360-admin-table [data-column-role="actions"] .btn { flex-shrink: 0; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.e360-admin .e360-admin-action-menu { width: 240px; max-width: calc(100vw - 32px); text-align: start; }
.e360-admin .e360-admin-action-menu .e360-admin-menu-action { display: flex; width: 100%; text-align: start; justify-content: flex-start; white-space: normal; background: transparent; border: 0; }
.e360-admin .e360-admin-table tbody tr:focus-within { background: var(--bs-gray-100); }
.e360-admin .e360-admin-table .badge { line-height: 1.4; }
.e360-admin .e360-admin-pagination .pagination { flex-wrap: wrap; gap: 4px; margin: 0; }
.e360-admin .e360-admin-pagination { padding: 16px 20px; border-top: 1px solid var(--e360-admin-border); }
.e360-admin .table-responsive[hidden] { display: none; }
.e360-admin .e360-admin-empty { padding: 28px 24px; text-align: center; color: var(--bs-gray-700); }
.e360-admin .e360-admin-empty > i { display: block; width: max-content; margin: 0 auto 12px; }
.e360-admin [data-e360-list-loading] [data-e360-results],
.e360-admin [data-e360-list-loading] .table-responsive { opacity: 0.45; pointer-events: none; }
.e360-admin .e360-admin-list-feedback { margin: 0 0 16px; padding: 12px 16px; display: flex; gap: 10px; align-items: center; }
/* Retours AJAX : un seul bloc, indépendant des colonnes et des rangées d’actions. */
.e360-form-feedback { width: 100%; min-width: 0; max-width: 100%; flex-shrink: 0; align-self: start; grid-column: 1 / -1; white-space: normal; overflow-wrap: anywhere; }
.e360-form-feedback .e360-form-status { height: auto; text-align: start; }
.e360-form-feedback .e360-form-upload { line-height: 1.5; }
.e360-admin .e360-admin-form-section { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin .e360-admin-form-section > legend { font-size: 16px; font-weight: 600; margin-bottom: 16px; }
.e360-admin .e360-admin-form-actions { position: sticky; bottom: 0; z-index: 8; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding: 14px 20px; margin-top: 20px; background: var(--bs-body-bg); border-top: 1px solid var(--bs-gray-300); }
.e360-admin .e360-admin-form { scroll-padding-bottom: 100px; }
.e360-admin .e360-admin-metadata dt { color: var(--e360-text-secondary, var(--bs-gray-700)); font-weight: 500; }
.e360-admin .e360-admin-metadata dd { color: var(--bs-gray-900); }
.e360-admin .modal-header, .e360-admin .modal-footer { padding: 16px 20px; flex-shrink: 0; }
.e360-admin .modal-body { padding: 20px; }
.e360-admin .modal-dialog-scrollable .modal-content > form { min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.e360-admin .modal-dialog-scrollable .modal-content > form > .modal-body { overflow-y: auto; }
.e360-admin .e360-admin-section-nav { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; padding: 8px; border: 1px solid var(--e360-admin-border); border-radius: 8px; background: var(--bs-body-bg); }
.e360-admin .e360-admin-section-nav a, .e360-admin .e360-admin-section-nav .nav-link { font-size: 13px; font-weight: 500; color: var(--bs-gray-700); padding: 10px 14px; border-radius: 6px; }
.e360-admin .e360-admin-section-nav a:hover { color: var(--bs-primary); }
.e360-admin .e360-admin-section-nav .nav-link.active { background: var(--bs-primary-light); color: var(--bs-primary); }
.e360-admin .e360-admin-section-nav .nav-link[aria-invalid="true"] { color: var(--bs-danger); }
.e360-admin .e360-admin-section-panel[hidden] { display: none; }
.e360-admin .e360-admin-section-panel:not(.active) { display: none; }
.e360-admin .e360-admin-section-panel.active { display: flex; flex-direction: column; }
.e360-admin .e360-admin-chart { min-height: 280px; }

/* Accueil administratif : composition du socle Metronic, sans variante de Design System. */
.e360-admin [data-admin-dashboard] { display: flex; flex-direction: column; gap: 20px; }
.e360-admin [data-admin-dashboard] > *,
.e360-admin [data-admin-dashboard] .dashboard-level-two > *,
.e360-admin [data-admin-dashboard] .dashboard-level-three > *,
.e360-admin [data-admin-dashboard] .dashboard-secondary > *,
.e360-admin [data-admin-dashboard] .dashboard-secondary-column > *,
.e360-admin [data-admin-dashboard] .card,
.e360-admin [data-admin-dashboard] .card-body { min-width: 0; }
.e360-admin [data-admin-dashboard] .card { margin-top: 0; }
.e360-admin [data-admin-dashboard] .dashboard-period .card-body { padding: 16px 20px; }
.e360-admin [data-admin-dashboard] .dashboard-period .flex-grow-1 { max-width: 260px; }
.e360-admin [data-admin-dashboard] .dashboard-period-custom { position: relative; }
.e360-admin [data-admin-dashboard] .dashboard-period-custom > summary { list-style: none; }
.e360-admin [data-admin-dashboard] .dashboard-period-custom > summary::-webkit-details-marker { display: none; }
.e360-admin [data-admin-dashboard] .dashboard-period-dates { position: absolute; z-index: 12; top: calc(100% + 8px); right: 0; display: grid; grid-template-columns: repeat(2, 150px); gap: 12px; width: max-content; padding: 16px; border: 1px solid var(--e360-admin-border); border-radius: var(--e360-admin-radius); background: var(--bs-body-bg); box-shadow: var(--bs-box-shadow-sm); }
.e360-admin [data-admin-dashboard] .e360-admin-kpis { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 0; }
.e360-admin [data-admin-dashboard] .e360-admin-kpi { min-width: 0; gap: 6px; padding: 14px 16px; text-decoration: none; transition: border-color 160ms ease, transform 160ms ease; }
.e360-admin [data-admin-dashboard] .e360-admin-kpi strong { font-size: 26px; }
.e360-admin [data-admin-dashboard] .e360-admin-kpi .symbol { flex-shrink: 0; }
.e360-admin [data-admin-dashboard] .e360-admin-kpi > .text-gray-600 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e360-admin [data-admin-dashboard] a.e360-admin-kpi:hover { border-color: var(--bs-primary); transform: translateY(-2px); }
.e360-admin [data-admin-dashboard] a.e360-admin-kpi:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 2px; }
.e360-admin [data-admin-dashboard] .dashboard-level-two { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 20px; align-items: start; }
.e360-admin [data-admin-dashboard] .dashboard-level-three { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr); gap: 20px; align-items: start; }
.e360-admin [data-admin-dashboard] .dashboard-secondary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: start; }
.e360-admin [data-admin-dashboard] .dashboard-level-two-aside,
.e360-admin [data-admin-dashboard] .dashboard-secondary-column { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.e360-admin [data-admin-dashboard] .dashboard-secondary-column:empty { display: none; }
.e360-admin [data-admin-dashboard] .dashboard-traffic .e360-admin-chart { min-height: 220px; }
.e360-admin [data-admin-dashboard] .dashboard-attention .list-group-item { border-color: var(--e360-admin-border); background: transparent; }
.e360-admin [data-admin-dashboard] .dashboard-attention .e360-admin-empty { padding: 20px 0; }
.e360-admin [data-admin-dashboard] .dashboard-attention-link { display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content; align-items: center; gap: 10px; font-weight: 600; }
.e360-admin [data-admin-dashboard] .dashboard-attention-link .e360-action-icon { flex-shrink: 0; }
.e360-admin [data-admin-dashboard] .dashboard-attention-label { min-width: 0; overflow-wrap: anywhere; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-results-heading { padding: 12px 16px; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-empty { padding: 18px 16px; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-empty > i { margin-bottom: 8px; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .table-responsive { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-table > :not(caption) > tr > * { padding: 10px 12px; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-table { min-width: 520px; }
.e360-admin [data-admin-dashboard] .dashboard-top-pages [data-column-role="primary"] a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; min-width: 140px; }
.e360-admin [data-admin-dashboard] .dashboard-publication-status { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-bottom: 8px; border-bottom: 1px solid var(--e360-admin-border); font-size: 12px; }
.e360-admin [data-admin-dashboard] .dashboard-publication-status a { color: var(--bs-gray-700); text-decoration: none; }
.e360-admin [data-admin-dashboard] .dashboard-publication-status a:hover { color: var(--bs-primary); }
.e360-admin [data-admin-dashboard] .dashboard-content-list,
.e360-admin [data-admin-dashboard] .dashboard-event-list,
.e360-admin [data-admin-dashboard] .dashboard-compact-list { padding: 0; margin: 0; list-style: none; }
.e360-admin [data-admin-dashboard] .dashboard-content-list > li { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: start; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin [data-admin-dashboard] .dashboard-content-list > li:last-child,
.e360-admin [data-admin-dashboard] .dashboard-event-list > li:last-child,
.e360-admin [data-admin-dashboard] .dashboard-compact-list > li:last-child { border-bottom: 0; }
.e360-admin [data-admin-dashboard] .dashboard-content-main { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: 3px 8px; min-width: 0; }
.e360-admin [data-admin-dashboard] .dashboard-content-main > span:last-child { grid-column: 2; }
.e360-admin [data-admin-dashboard] .dashboard-content-title,
.e360-admin [data-admin-dashboard] .dashboard-line-clamp-two { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.e360-admin [data-admin-dashboard] .dashboard-line-clamp-one,
.e360-admin [data-admin-dashboard] .dashboard-definition-value { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e360-admin [data-admin-dashboard] .dashboard-content-list .e360-admin-row-actions { align-self: center; }
.e360-admin [data-admin-dashboard] .dashboard-event-list > li { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin [data-admin-dashboard] .dashboard-event-list time { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 54px; border-radius: 6px; background: var(--bs-primary-light); color: var(--bs-primary); }
.e360-admin [data-admin-dashboard] .dashboard-event-list time strong { font-size: 20px; line-height: 1; }
.e360-admin [data-admin-dashboard] .dashboard-event-list time span { margin-top: 4px; font-size: 11px; text-transform: uppercase; }
.e360-admin [data-admin-dashboard] .dashboard-event-list > li > div { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.e360-admin [data-admin-dashboard] .dashboard-event-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.e360-admin [data-admin-dashboard] .dashboard-mini-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.e360-admin [data-admin-dashboard] .dashboard-mini-stats a { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 10px; border: 1px solid var(--e360-admin-border); border-radius: 6px; color: var(--bs-gray-700); text-decoration: none; }
.e360-admin [data-admin-dashboard] .dashboard-mini-stats a:hover { border-color: var(--bs-primary); color: var(--bs-primary); }
.e360-admin [data-admin-dashboard] .dashboard-mini-stats strong { color: var(--bs-gray-900); font-size: 20px; }
.e360-admin [data-admin-dashboard] .dashboard-mini-stats span { font-size: 11px; line-height: 1.35; }
.e360-admin [data-admin-dashboard] .dashboard-definition-list { display: grid; gap: 0; margin: 0; }
.e360-admin [data-admin-dashboard] .dashboard-definition-list > div { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin [data-admin-dashboard] .dashboard-definition-list > div:last-child { border-bottom: 0; }
.e360-admin [data-admin-dashboard] .dashboard-definition-list dt { color: var(--e360-text-secondary, var(--bs-gray-700)); font-weight: 500; }
.e360-admin [data-admin-dashboard] .dashboard-definition-list dd { min-width: 0; max-width: 58%; margin: 0; color: var(--bs-gray-900); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
.e360-admin [data-admin-dashboard] .dashboard-definition-list dd span { display: block; margin-top: 3px; color: var(--e360-text-secondary, var(--bs-gray-700)); font-size: 11px; font-weight: 400; }
.e360-admin [data-admin-dashboard] .dashboard-compact-list > li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--e360-admin-border); }
.e360-admin [data-admin-dashboard] .dashboard-compact-list > li > div { display: flex; flex-direction: column; min-width: 0; }
.e360-admin [data-admin-dashboard] .dashboard-compact-list span { color: var(--bs-gray-700); }
.e360-admin [data-admin-dashboard] .dashboard-compact-list small { margin-top: 4px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
.e360-admin [data-admin-dashboard] .dashboard-comments .dashboard-compact-list > li { display: block; padding: 9px 0; }
.e360-admin [data-admin-dashboard] .dashboard-comment-heading { display: grid; grid-template-columns: minmax(0, 1fr) max-content; align-items: center; gap: 8px; margin-bottom: 3px; }
.e360-admin [data-admin-dashboard] .dashboard-comments .dashboard-line-clamp-two { -webkit-line-clamp: 1; }
.e360-admin [data-admin-dashboard] .dashboard-comments .dashboard-compact-list small { line-height: 1.35; }
.e360-admin [data-admin-dashboard] .dashboard-activity .timeline-content { min-width: 0; padding-bottom: 16px; }
.e360-admin [data-admin-dashboard] .dashboard-activity .timeline-item > .timeline-label { flex: 0 0 58px; width: 58px; }
.e360-admin [data-admin-dashboard] .dashboard-timeline-dot { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--bs-primary); }

@media (max-width: 1399px) {
    .e360-admin [data-admin-dashboard] .e360-admin-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1199px) {
    .e360-admin [data-admin-dashboard] .dashboard-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
    .e360-admin [data-admin-dashboard] .dashboard-top-pages .e360-admin-table { min-width: 0; }
    .e360-admin [data-admin-dashboard] .dashboard-top-pages [data-e360-admin-table][data-e360-table-ready] > tbody > tr { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 12px; padding: 5px 10px; }
    .e360-admin [data-admin-dashboard] .dashboard-top-pages [data-e360-admin-table][data-e360-table-ready] [data-column-role="primary"] { grid-column: 1 / -1; }
    .e360-admin [data-admin-dashboard] .dashboard-top-pages [data-column-role="primary"] a { -webkit-line-clamp: 1; }
    .e360-admin [data-admin-dashboard] .dashboard-top-pages [data-e360-admin-table][data-e360-table-ready] td[data-column-role="detail"]::before { display: inline; margin: 0 5px 0 0; }
}
@media (max-width: 991px) {
    .e360-admin [data-admin-dashboard] { display: flex; }
    .e360-admin [data-admin-dashboard] .dashboard-traffic .e360-admin-chart { min-height: 180px; }
    .e360-admin [data-admin-dashboard] .dashboard-period { order: 0; }
    .e360-admin [data-admin-dashboard] .dashboard-level-two,
    .e360-admin [data-admin-dashboard] .dashboard-level-two-aside,
    .e360-admin [data-admin-dashboard] .dashboard-level-three { display: contents; }
    .e360-admin [data-admin-dashboard] .dashboard-attention { order: 1; }
    .e360-admin [data-admin-dashboard] .dashboard-kpis { order: 2; }
    .e360-admin [data-admin-dashboard] .dashboard-events { order: 3; }
    .e360-admin [data-admin-dashboard] .dashboard-publications { order: 4; }
    .e360-admin [data-admin-dashboard] .dashboard-traffic { order: 5; }
    .e360-admin [data-admin-dashboard] .dashboard-top-pages { order: 6; }
    .e360-admin [data-admin-dashboard] .dashboard-secondary { order: 7; }
}
@media (max-width: 767px) {
    .e360-admin [data-admin-dashboard] .e360-admin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .e360-admin [data-admin-dashboard] .e360-admin-kpi { padding: 12px 14px; }
    .e360-admin [data-admin-dashboard] .dashboard-period .card-body { align-items: stretch; }
    .e360-admin [data-admin-dashboard] .dashboard-period .flex-grow-1 { max-width: none; width: 100%; }
    .e360-admin [data-admin-dashboard] .dashboard-period-custom { width: 100%; }
    .e360-admin [data-admin-dashboard] .dashboard-period-custom > summary { width: 100%; }
    .e360-admin [data-admin-dashboard] .dashboard-period-dates { position: static; grid-template-columns: minmax(0, 1fr); width: 100%; margin-top: 8px; box-shadow: none; }
}
@media (max-width: 575px) {
    .e360-admin [data-admin-dashboard] .dashboard-secondary { grid-template-columns: minmax(0, 1fr); }
    .e360-admin [data-admin-dashboard] .dashboard-content-main { grid-template-columns: minmax(0, 1fr); }
    .e360-admin [data-admin-dashboard] .dashboard-content-main > .badge { width: max-content; }
    .e360-admin [data-admin-dashboard] .dashboard-content-main > span:last-child { grid-column: 1; }
}
.e360-admin .e360-admin-journey { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.e360-admin .e360-admin-journey li { padding: 16px; background: var(--bs-gray-100); border-radius: 6px; }
.e360-admin .e360-admin-journey strong { display: block; font-size: 24px; color: var(--bs-gray-900); margin: 6px 0; }
.e360-admin .e360-admin-progress { width: 100%; height: 8px; accent-color: var(--bs-primary); }
.e360-admin .e360-editor-sidebar { width: 320px; flex-shrink: 0; }
.e360-admin .e360-editor-content { min-width: 0; flex: 1; }
.e360-admin .e360-editor-sidebar .card { margin-bottom: 16px; }
.e360-admin .e360-admin-form-actions { border: 1px solid var(--e360-admin-border); border-radius: 8px; }
@media (max-width: 1399px) {
    .e360-admin .e360-admin-filter-main { grid-template-columns: minmax(200px, 1.5fr) repeat(2, minmax(120px, 1fr)); }
    .e360-admin .e360-admin-filter-buttons { grid-column: 1 / -1; }
    .e360-admin .e360-admin-page-header { flex-wrap: wrap; }
    .e360-admin .e360-admin-toolbar { max-width: 100%; }
}
@media (max-width: 1199px) {
    .e360-admin .e360-admin-page { padding-right: 20px; padding-left: 20px; }
}
@media (max-width: 767px) {
    .e360-admin .e360-admin-page { padding-right: 16px; padding-left: 16px; }
    .e360-admin .page-heading { font-size: 22px; }
    .e360-admin .e360-admin-filter-main, .e360-admin .e360-admin-filter-advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .e360-admin .e360-admin-filter-main > .e360-admin-filter-field:first-child { grid-column: 1 / -1; }
    .e360-admin .e360-admin-page .card > .card-body { padding: 16px; }
    .e360-admin .e360-admin-toolbar { justify-content: flex-start; }
    .e360-admin .e360-admin-form-actions { padding: 12px; }
}
@media (max-width: 1199px) {
    .e360-admin .e360-editor-sidebar { width: 100%; }
    .e360-admin .e360-admin-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
    .e360-admin .e360-admin-kpis, .e360-admin .e360-admin-journey { grid-template-columns: 1fr; }
}
.e360-admin .e360-admin-select-all-label { display: none; }
/* Une ligne devient une fiche compacte, sans copie des contrôles ni perte de colonnes. */
@media (max-width: 1024px) {
    .e360-admin [data-e360-admin-table][data-e360-table-ready], .e360-admin [data-e360-admin-table][data-e360-table-ready] > tbody { display: block; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] > thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .e360-admin [data-e360-admin-table][data-e360-table-ready]:has(th[data-column-role="selection"]) > thead { position: static; width: auto; height: auto; clip-path: none; overflow: visible; display: block; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready]:has(th[data-column-role="selection"]) > thead > tr { display: block; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready]:has(th[data-column-role="selection"]) th:not([data-column-role="selection"]) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); padding: 0; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] th[data-column-role="selection"] { display: flex; align-items: center; gap: 8px; width: auto; }
    .e360-admin .e360-admin-select-all-label { display: inline; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] > tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 12px 20px; border-bottom: 1px solid var(--e360-admin-border); }
    .e360-admin .e360-admin-table.table > tbody > tr > td[data-column-role] { display: block; width: auto; padding: 0; border: 0; white-space: normal; }
    .e360-admin .e360-admin-table.table > tbody > tr > td[hidden] { display: none; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] [data-column-role="primary"], .e360-admin [data-e360-admin-table][data-e360-table-ready] [data-column-role="actions"], .e360-admin [data-e360-admin-table][data-e360-table-ready] td[colspan] { grid-column: 1 / -1; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] [data-column-role="actions"] { text-align: start; padding-top: 4px; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] [data-column-role="actions"] .e360-admin-row-actions { justify-content: flex-start; }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] td[data-column-role="detail"]::before { content: attr(data-column-label); display: block; margin-bottom: 4px; font-size: 12px; font-weight: 500; color: var(--e360-text-secondary, var(--bs-gray-700)); }
    .e360-admin [data-e360-admin-table][data-e360-table-ready] td[data-column-role="selection"] { grid-column: 1 / -1; }
    .e360-admin .e360-admin-results-heading { flex-wrap: wrap; padding: 16px; }
    .e360-admin .e360-admin-table td .badge { white-space: normal; }
}
@media (max-width: 575px) {
    .e360-admin [data-e360-admin-table][data-e360-table-ready] > tbody > tr { grid-template-columns: minmax(0, 1fr); }
    .e360-admin .e360-admin-filter-main, .e360-admin .e360-admin-filter-advanced { grid-template-columns: minmax(0, 1fr); }
    .e360-admin .e360-admin-cell-url { max-width: 240px; }
    .e360-admin .e360-admin-table td { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
    .e360-admin .e360-admin-page .collapsing { transition: none; }
}

/* Événements : journées, navigation métier et aperçu du message commun. */
#modalAiWriter .e360-ai-proposal { font-size: 15px; line-height: 26px; white-space: pre-wrap; overflow-wrap: anywhere; }
#modalAiWriter [data-ai-invitation-context] { max-height: 380px; overflow-y: auto; }
#modalAiWriter .ai-action-buttons, #modalAiWriter #aiResultButtons { flex-wrap: wrap; }
#modalAiWriter [data-ai-invitation-context] dd { overflow-wrap: anywhere; }
[data-e360-event-editor] fieldset { min-width: 0; }
[data-e360-event-editor] .e360-event-editor-body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 20px; align-items: start; }
[data-e360-event-editor] .e360-event-editor-main { min-width: 0; }
[data-e360-event-editor] .e360-event-summary { position: sticky; top: 100px; padding: 20px; }
[data-e360-event-editor] .e360-event-summary dt { color: var(--e360-text-secondary, var(--bs-gray-700)); font-size: 12px; font-weight: 500; margin-bottom: 4px; }
[data-e360-event-editor] .e360-event-summary dd { margin-bottom: 18px; overflow-wrap: anywhere; font-weight: 500; }
[data-e360-event-editor] .e360-event-summary dd:last-child { margin-bottom: 0; }
[data-e360-event-editor] [data-e360-occurrence] .e360-admin-form-section { margin-bottom: 0; }
@media (max-width: 1199px) {
    [data-e360-event-editor] .e360-event-editor-body { grid-template-columns: minmax(0, 1fr); }
    [data-e360-event-editor] .e360-event-summary { display: none; }
}
/* Couverture d’édition : garder le titre visible sous l’en-tête fixe. */
.e360-admin #archive-images { scroll-margin-top: 100px; }

[data-e360-event-editor] [id^="event-"] { scroll-margin-top: 100px; }
[data-e360-event-editor] [data-e360-occurrence] { background: var(--bs-body-bg); }
[data-email-preview] { min-width: 0; }
[data-email-preview] dd, [data-email-preview] pre { overflow-wrap: anywhere; }
[data-email-preview] .e360-email-viewport { position: relative; overflow: hidden; max-width: 100%; height: var(--e360-email-display-height, 780px); background: var(--bs-gray-100); border: 1px solid var(--bs-border-color); border-radius: 8px; }
[data-email-preview] iframe { display: block; position: absolute; left: var(--e360-email-left, 0px); top: 0; width: 720px; min-width: 720px; height: 780px; border: 0; transform: scale(var(--e360-email-scale, 1)); transform-origin: top left; }
[data-email-preview][data-preview-mode="mobile"] iframe { width: 390px; min-width: 390px; }
[data-email-preview] [aria-pressed="true"] { box-shadow: inset 0 -2px var(--bs-primary); }
[data-invitation-split="true"] .e360-invitation-compose { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
[data-invitation-split="true"] .e360-invitation-live-preview { position: sticky; top: 100px; min-width: 0; }
[data-event-send-workflow] section { scroll-margin-top: 100px; }
@media (max-width: 1599px) {
    [data-invitation-split="true"] .e360-invitation-compose { grid-template-columns: minmax(0, 1fr); }
    [data-invitation-split="true"] .e360-invitation-live-preview { position: static; }
}
[data-event-calendar] .fc-event { cursor: pointer; }
@media (max-width: 767px) {
    [data-email-preview] iframe { height: 680px; }
    [data-event-calendar] .fc-header-toolbar { flex-wrap: wrap; gap: 12px; }
}

/* Espace candidat Concours : cartes compactes, statut visible, action unique et barre d’onglets mobile. */
[data-e360-workspace] { display: flex; flex-direction: column; gap: 16px; max-width: 960px; margin: 0; }
[data-e360-workspace] .e360-space-status__cta { margin-top: 4px; }
[data-e360-workspace] .e360-space-stepper { display: flex; gap: 0; margin: 0; padding: 14px 20px 16px; list-style: none; border-top: 1px solid var(--bs-gray-200); overflow-x: auto; scrollbar-width: thin; }
[data-e360-workspace] .e360-space-stepper__item { position: relative; flex: 1 0 88px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: 12px; line-height: 16px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace] .e360-space-stepper__item::before { content: ""; position: absolute; top: 10px; right: 50%; width: 100%; height: 1px; background: var(--bs-gray-300); }
[data-e360-workspace] .e360-space-stepper__item:first-child::before { display: none; }
[data-e360-workspace] .e360-space-stepper__dot { position: relative; z-index: 1; display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid var(--bs-gray-300); border-radius: 50%; background: var(--bs-body-bg); font-size: 12px; }
[data-e360-workspace] .e360-space-stepper__item.is-done { color: var(--bs-gray-700); }
[data-e360-workspace] .e360-space-stepper__item.is-done .e360-space-stepper__dot { border-color: var(--bs-success); background: var(--bs-success); color: var(--bs-white); }
[data-e360-workspace] .e360-space-stepper__item.is-done::before, [data-e360-workspace] .e360-space-stepper__item.is-current::before { background: var(--bs-success); }
[data-e360-workspace] .e360-space-stepper__item.is-current { color: var(--bs-gray-900); font-weight: 600; }
[data-e360-workspace] .e360-space-stepper__item.is-current .e360-space-stepper__dot { border-color: var(--bs-primary); box-shadow: inset 0 0 0 5px var(--bs-primary); }
[data-e360-workspace] .e360-space-stepper__item.is-stopped .e360-space-stepper__dot { border-color: var(--bs-gray-500); background: var(--bs-gray-200); }
/* Stepper : une étape ouvre ses consignes. */
[data-e360-workspace] a.e360-space-stepper__label { color: inherit; text-decoration: underline; text-decoration-color: var(--bs-gray-300); text-underline-offset: 3px; }
[data-e360-workspace] a.e360-space-stepper__label:hover { color: var(--bs-primary); }
/* Brief d’étape : rubriques rédigées et faits de configuration. */
[data-e360-workspace] .e360-space-brief { display: flex; flex-direction: column; gap: 12px; }
[data-e360-workspace] .e360-space-brief h4 { margin: 0 0 8px; font-size: 15px; line-height: 22px; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-brief__title { margin: 0 0 12px; font-size: 20px; line-height: 28px; }
[data-e360-workspace] .e360-space-brief__change { margin: 12px 0 0; padding: 8px 12px; border-left: 2px solid var(--bs-warning); background: var(--bs-light-warning); font-size: 13px; line-height: 20px; }
[data-e360-workspace] .e360-space-brief__topics { margin: 0; padding-left: 20px; }
[data-e360-workspace] .e360-space-brief__topics li { margin-bottom: 4px; }
[data-e360-workspace] .e360-space-brief__criteria { margin: 0; padding: 0; list-style: none; }
[data-e360-workspace] .e360-space-brief__criteria li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--bs-gray-200); }
[data-e360-workspace] .e360-space-switch { font-size: 13px; }
[data-e360-workspace] .e360-space-switch ul { margin: 8px 0 0; padding-left: 18px; }
[data-e360-workspace] .e360-space-switch [aria-current="true"] { font-weight: 600; }
[data-e360-workspace] .e360-space-section { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
[data-e360-workspace] .e360-space-heading { margin: 8px 0 0; font-size: 16px; line-height: 24px; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-list { display: flex; flex-direction: column; gap: 12px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-space-card { display: block; padding: 16px; border: 1px solid var(--e360-admin-border); border-radius: 8px; background: var(--bs-body-bg); color: var(--bs-gray-800); overflow-wrap: anywhere; }
[data-e360-workspace] .e360-space-card h3, [data-e360-workspace] .e360-space-card h4 { margin: 0; font-size: 15px; line-height: 22px; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-card h4 + *, [data-e360-workspace] .e360-space-card > h3 + * { margin-top: 6px; }
/* Texte rédigé dans l’éditeur enrichi (descriptions, conditions, consignes), lu dans les espaces connectés et l’administration. */
.e360-space-richtext { overflow-wrap: anywhere; }
.e360-space-richtext > * { margin: 0 0 8px; }
.e360-space-richtext > :first-child { margin-top: 0; }
.e360-space-richtext > :last-child { margin-bottom: 0; }
.e360-space-richtext :is(ul, ol) { padding-left: 20px; }
.e360-space-richtext li + li { margin-top: 4px; }
.e360-space-richtext a { text-decoration: underline; text-underline-offset: 2px; }
[data-e360-workspace] .e360-space-card .e360-space-richtext :is(h3, h4), .e360-space-richtext :is(h3, h4) { margin: 12px 0 4px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-card > :last-child { margin-bottom: 0; }
[data-e360-workspace] .e360-space-card__header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
[data-e360-workspace] .e360-space-card__lead { font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-card__links { display: flex; flex-wrap: wrap; gap: 8px; }
[data-e360-workspace="candidate"] .e360-space-card__links { gap: 1rem; }
[data-e360-workspace="candidate"] .e360-space-card > .e360-space-card__links:not(:first-child) { margin-block-start: 1.5rem; }
[data-e360-workspace] .e360-space-card--link, [data-e360-workspace] .e360-space-card--notice, [data-e360-workspace] .e360-space-list > article.e360-space-card:not(:has(.e360-space-card__header)) { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
[data-e360-workspace] .e360-space-card--link { transition: border-color .15s ease; }
[data-e360-workspace] .e360-space-card--link:hover, [data-e360-workspace] .e360-space-card--link:focus-visible { border-color: var(--bs-primary); }
[data-e360-workspace] .e360-space-card--notice { background: var(--bs-primary-light); border-color: transparent; }
[data-e360-workspace] .e360-space-card.is-unread { border-left: 2px solid var(--bs-primary); }
[data-e360-workspace] details.e360-space-card > summary { cursor: pointer; font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace] details.e360-space-card[open] > summary { margin-bottom: 10px; }
[data-e360-workspace] .e360-space-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 16px; margin: 8px 0 12px; }
[data-e360-workspace] .e360-space-facts dt { font-weight: 500; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace] .e360-space-facts dd { margin: 0; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 4px; }
[data-e360-workspace] .e360-space-upload { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; }
[data-e360-workspace] .e360-space-upload .dropzone { min-height: 0; padding: 20px; }
[data-e360-workspace] [data-upload-disabled="true"] :is([data-upload-picker], [data-upload-native], [data-upload-start], [data-upload-pause], [data-upload-cancel]) { display: none; }
[data-e360-workspace] [data-upload-status] { min-width: 0; max-width: 100%; height: auto; white-space: normal; overflow-wrap: anywhere; }
[data-e360-workspace] .e360-space-upload__progress { width: 100%; height: 6px; accent-color: var(--bs-primary); }
/* Import d’une pièce privée et de la vidéo : zone de dépôt, aperçu et repli natif (input visible seulement sans JavaScript). */
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker { display: flex; flex-direction: column; gap: 8px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__zone { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 20px 16px; border: 1px dashed var(--bs-gray-400); border-radius: 8px; background: var(--bs-gray-100); text-align: center; transition: border-color .15s ease, background-color .15s ease; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__zone.dz-drag-hover { border-color: var(--bs-primary); background: var(--bs-primary-light); }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--bs-body-bg); color: var(--bs-primary); font-size: 18px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__lead { margin: 0; font-weight: 600; color: var(--bs-gray-900); }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__hint { margin: 0; font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__preview { display: grid; grid-template-columns: 48px minmax(0, 1fr) max-content; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--e360-admin-border); border-radius: 8px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__thumb { display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border-radius: 6px; background: var(--bs-gray-100); color: var(--bs-gray-700); font-size: 22px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__thumb img { width: 100%; height: 100%; object-fit: cover; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__file { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__file strong { overflow: hidden; color: var(--bs-gray-900); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__file span { font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-file-picker__problem { grid-column: 1 / -1; margin: 0; color: var(--bs-danger); font-size: 13px; }
:is([data-e360-workspace], .e360-profile-photo) .is-enhanced [data-file-picker-native], :is([data-e360-workspace], .e360-profile-photo) .is-enhanced > [data-upload-native] { display: none; }
[data-e360-workspace] .e360-space-file { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-space-file > [data-file-picker-submit] { align-self: flex-start; }
[data-e360-workspace] .e360-space-file .e360-form-status:empty, [data-e360-workspace] .e360-space-file .e360-form-feedback:not(:has(.e360-form-status:not(:empty), .e360-form-upload)) { display: none; }
/* Dossier candidat : stepper Metronic et zone d’actions partagée, distincts du parcours du concours. */
[data-e360-workspace] .e360-dossier-flow { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; width: 100%; max-width: 960px; scroll-margin-block-start: 7rem; padding: 1.5rem; border: 1px solid var(--bs-gray-200); border-radius: var(--bs-border-radius); background: var(--bs-body-bg); }
[data-e360-workspace] .e360-dossier-flow > p, [data-e360-workspace] .e360-dossier-flow .e360-admin-form-section { margin-bottom: 0; }
[data-e360-workspace] .e360-dossier-flow .e360-admin-form { min-width: 0; }
[data-e360-workspace] .e360-dossier-flow .form-label, [data-e360-workspace] .e360-dossier-flow .row label:not(.form-check-label) { display: block; margin-bottom: .5rem; font-weight: 500; }
[data-e360-workspace] .e360-dossier-flow .row p { margin-top: .5rem; margin-bottom: 0; color: var(--e360-text-secondary); }
[data-e360-workspace] .e360-dossier-flow :is(input, select, textarea, fieldset, [data-application-step-title]) { scroll-margin-block: 7rem; }
[data-e360-workspace] .e360-dossier-flow .e360-admin-form-actions { margin-top: 1.5rem; bottom: calc(var(--e360-tabbar-height, 0px) + env(safe-area-inset-bottom)); }
[data-e360-workspace] .e360-dossier-flow .e360-admin-form-actions .btn { min-height: 44px; white-space: normal; }
[data-e360-workspace] .e360-dossier-flow .e360-admin-form-actions .btn-primary { margin-inline-start: auto; }
[data-e360-workspace] .e360-dossier-steps { --bs-stepper-pills-size: 36px; --bs-stepper-label-title-color: var(--e360-text-secondary, var(--bs-gray-700)); --bs-stepper-label-title-color-current: var(--bs-gray-900); }
[data-e360-workspace] .e360-dossier-steps .stepper-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
[data-e360-workspace] .e360-dossier-steps .stepper-item { min-width: 0; margin: 0; }
[data-e360-workspace] .e360-dossier-steps .stepper-wrapper { align-items: flex-start; width: 100%; }
[data-e360-workspace] .e360-dossier-steps .stepper-icon { margin-inline-end: .75rem; }
[data-e360-workspace] .e360-dossier-steps .stepper-label { min-width: 0; }
[data-e360-workspace] .e360-dossier-steps.stepper.stepper-pills .stepper-item .stepper-label .stepper-title { margin: 0; font-size: 1rem; line-height: 1.4; text-align: start; white-space: normal; overflow-wrap: anywhere; }
[data-e360-workspace] .e360-dossier-steps :is(a, button).stepper-title { display: inline-flex; align-items: center; min-height: 44px; }
[data-e360-workspace] .e360-dossier-steps .stepper-title:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 4px; }
[data-e360-workspace] .e360-dossier-steps .stepper-desc { margin-top: .25rem; font-size: .85rem; line-height: 1.35; }
[data-e360-workspace] .e360-dossier-steps .is-error .stepper-desc { color: var(--bs-danger); font-weight: 600; }
[data-e360-workspace] .e360-dossier-steps__short { display: none; }
@media (max-width: 767.98px) {
    [data-e360-workspace] .e360-dossier-flow { padding: 1rem; }
    [data-e360-workspace] .e360-dossier-steps { --bs-stepper-pills-size: 30px; }
    [data-e360-workspace] .e360-dossier-steps .stepper-nav { gap: .5rem; }
    [data-e360-workspace] .e360-dossier-steps .stepper-wrapper { flex-direction: column; align-items: center; gap: .5rem; text-align: center; }
    [data-e360-workspace] .e360-dossier-steps .stepper-icon { margin: 0; }
    [data-e360-workspace] .e360-dossier-steps .stepper-label { margin: 0; align-items: center; }
    [data-e360-workspace] .e360-dossier-steps.stepper.stepper-pills .stepper-item .stepper-label .stepper-title { font-size: .85rem; text-align: center; }
    [data-e360-workspace] .e360-dossier-steps__full { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    [data-e360-workspace] .e360-dossier-steps__short { display: inline; }
    [data-e360-workspace] .e360-dossier-flow .e360-admin-form-actions .btn { flex: 1 1 40%; }
    [data-e360-workspace] .e360-dossier-flow .e360-admin-form-actions .btn-primary { flex-basis: 100%; margin-inline-start: 0; }
    /* Avec le clavier ouvert, les actions reviennent dans le flux pour ne masquer aucun champ. */
    [data-e360-workspace] .e360-dossier-flow[data-field-focused] .e360-admin-form-actions,
    [data-e360-workspace] .e360-dossier-flow:has(.select2-container--open) .e360-admin-form-actions { position: static; }
}
/* Avatar des comptes Concours : photo recadrée par son point focal (aucune déformation) ou initiales. */
.e360-avatar { position: relative; display: inline-grid; place-items: center; flex: 0 0 auto; overflow: hidden; border-radius: 50%; background: var(--bs-primary-light); color: var(--bs-primary); font-weight: 600; line-height: 1; }
.e360-avatar img { width: 100%; height: 100%; object-fit: cover; }
.e360-avatar--sm { width: 24px; height: 24px; font-size: 10px; }
.e360-avatar--md { width: 40px; height: 40px; font-size: 14px; }
.e360-avatar--lg { width: 96px; height: 96px; font-size: 28px; }
.e360-space-account { display: inline-flex; align-items: center; gap: 8px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__current { display: flex; align-items: center; gap: 16px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__text { min-width: 0; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__actions > form { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:is([data-e360-workspace], .e360-profile-photo) .e360-space-card .e360-profile-photo__actions > form > .btn { margin-top: 0; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__actions .e360-form-status:empty, :is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__actions .e360-form-feedback:not(:has(.e360-form-status:not(:empty))) { display: none; }
:is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__frame { margin-top: 16px; }
@media (max-width: 575.98px) {
    :is([data-e360-workspace], .e360-profile-photo) .e360-profile-photo__current { align-items: flex-start; }
    [data-e360-workspace] .e360-avatar--lg { width: 72px; height: 72px; font-size: 22px; }
}
[data-e360-workspace] .e360-space-reuse { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; padding: 10px 12px; border: 1px solid var(--e360-admin-border); border-radius: 8px; }
[data-e360-workspace] .e360-space-reuse .e360-form-feedback, [data-e360-workspace] .e360-space-reuse .e360-form-status { flex-basis: 100%; }
[data-e360-workspace] .e360-space-reuse .e360-form-status:empty { display: none; }
/* Aperçu d’une image privée : fichier entier, proportions conservées, défilement en mode agrandi. */
.e360-preview-modal .modal-body { padding: 16px; }
.e360-preview { display: grid; place-items: center; min-height: 160px; max-height: calc(100vh - 220px); overflow: hidden; border-radius: 8px; background: var(--bs-gray-100); }
.e360-preview img { display: block; max-width: 100%; max-height: calc(100vh - 220px); object-fit: contain; }
.e360-preview.is-zoomed { place-items: start; overflow: auto; }
.e360-preview.is-zoomed img { max-width: none; max-height: none; }
.e360-preview__status { margin: 0; padding: 24px; color: var(--e360-text-secondary, var(--bs-gray-700)); text-align: center; }
/* Éléments à compléter : liste nommée avant l’envoi et repères « À compléter » du récapitulatif. */
[data-e360-workspace] .e360-space-checklist { padding: 12px 16px; border: 1px solid var(--bs-warning); border-radius: 8px; background: var(--bs-light-warning); }
[data-e360-workspace] .e360-space-checklist__title { margin: 0 0 4px; font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-missing { font-weight: 600; color: var(--bs-danger); }
.e360-form-error-summary { margin: 6px 0 0; padding-left: 18px; }
.e360-form-error-summary li + li { margin-top: 4px; }
.e360-form-error-summary a { font-weight: 600; color: inherit; text-decoration: underline; text-underline-offset: 3px; }
[data-e360-workspace] .e360-space-upload__resume { display: flex; align-items: center; gap: 6px; margin: 0; color: var(--bs-warning-active, var(--bs-gray-800)); }
[data-e360-workspace] [data-e360-video-shell] video { width: 100%; max-height: 420px; border-radius: 8px; background: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-help { margin: 8px 0 0; font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); text-align: center; }
[data-e360-workspace] .e360-space-tabbar { display: none; }
/*
 * Cadre mobile des espaces (candidat, jury, formateur) : barre de navigation inférieure persistante, contenu qui ne passe
 * jamais dessous (zone réservée du téléphone comprise), barre d’enregistrement collée au-dessus d’elle.
 * Superpositions : contenu < barre d’action (4) < barre de navigation (105) < en-tête Metronic < modales et menus Bootstrap.
 */
@media (max-width: 991px) {
    [data-e360-workspace] { --e360-tabbar-height: 64px; padding-bottom: calc(var(--e360-tabbar-height) + 24px + env(safe-area-inset-bottom)); }
    [data-e360-workspace] .e360-space-tabbar { position: fixed; z-index: 105; left: 0; right: 0; bottom: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); min-height: var(--e360-tabbar-height); padding: 4px 4px env(safe-area-inset-bottom); background: var(--bs-body-bg); border-top: 1px solid var(--e360-admin-border); }
    [data-e360-workspace] .e360-space-tabbar a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 56px; padding: 6px 2px; font-size: 12px; line-height: 16px; color: var(--e360-text-secondary, var(--bs-gray-700)); text-align: center; -webkit-tap-highlight-color: transparent; }
    [data-e360-workspace] .e360-space-tabbar a i { font-size: 22px; color: inherit; }
    /* Destination active : trait primaire au-dessus de l’icône et libellé appuyé (l’état ne dépend pas de la seule couleur). */
    [data-e360-workspace] .e360-space-tabbar a[aria-current="page"] { color: var(--bs-primary); font-weight: 600; }
    [data-e360-workspace] .e360-space-tabbar a[aria-current="page"]::before { content: ""; position: absolute; top: 0; left: 50%; width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--bs-primary); transform: translateX(-50%); }
    [data-e360-workspace] .e360-space-tabbar__count { position: absolute; top: 4px; left: calc(50% + 6px); min-width: 16px; padding: 0 4px; border-radius: 8px; background: var(--bs-primary); color: var(--bs-white); font-size: 10px; line-height: 16px; }
    /* Note du jury : l’enregistrement reste à portée de pouce, au-dessus de la navigation, sans masquer les critères. */
    [data-e360-workspace="juror"] .e360-space-evaluation .e360-space-actions { position: sticky; z-index: 4; bottom: calc(var(--e360-tabbar-height) + env(safe-area-inset-bottom)); margin: 16px -16px -16px; padding: 12px 16px; background: var(--bs-body-bg); border-top: 1px solid var(--e360-admin-border); }
}
@media (prefers-reduced-motion: no-preference) {
    [data-e360-workspace] .e360-space-tabbar a::before { transition: width .18s ease-out; }
}
/*
 * Téléphone et tablette : clavier, paysage et dégagement réel sous les barres fixes.
 * Pendant une saisie, le clavier occupe le bas de l’écran : la barre d’onglets se retire (sans déplacer la barre
 * d’enregistrement, qui garde sa place) et seule la barre d’enregistrement reste au-dessus du clavier. Un champ atteint par une erreur ou une ancre s’arrête hors des barres.
 */
@media (max-width: 991px) {
    html:has([data-e360-workspace]) { scroll-padding-top: 88px; scroll-padding-bottom: calc(64px + 96px + env(safe-area-inset-bottom)); }
    /* La barre d’onglets (fixe) se masque sans changer la réserve du bas : rien ne se déplace sous le doigt à la fin de la saisie. */
    [data-e360-workspace]:has(:is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"], [type="hidden"]), textarea, [contenteditable="true"]):focus) .e360-space-tabbar { display: none; }
    /* Texte de saisie à 16 px : lisible, et Safari iOS ne zoome pas la page au focus (le zoom manuel reste permis). */
    .e360-mye360 [data-e360-workspace] :is(.form-control, .form-select), .e360-mye360 .select2-search__field { font-size: 16px; }
    /* Choix longs (Select2) : la liste tient dans la hauteur visible, clavier compris. */
    .e360-mye360 .select2-container--open .select2-results > .select2-results__options { max-height: min(320px, 45dvh); }
    .e360-queue tr { scroll-margin-top: 96px; scroll-margin-bottom: 96px; }
    .e360-queue-tabs .nav-link { min-height: 44px; }
    /* Vidéo portrait : la hauteur de l’écran borne la largeur, la grille reste en vue sous le lecteur. */
    .e360-mye360 [data-e360-workspace] .e360-private-video[data-e360-video-ratio="9:16"] { max-width: min(320px, calc(56dvh * 9 / 16)); }
}
/* Téléphone : texte courant à 16 px (les métadonnées gardent leur taille propre). */
@media (max-width: 767px) {
    .e360-mye360 [data-e360-workspace] { font-size: 16px; line-height: 1.5; }
}
/* Téléphone en paysage : onglets sur une ligne (icône et libellé), barre d’enregistrement dans le flux. */
@media (max-width: 991px) and (max-height: 500px) and (orientation: landscape) {
    [data-e360-workspace] { --e360-tabbar-height: 48px; }
    [data-e360-workspace] .e360-space-tabbar a { flex-direction: row; gap: 8px; min-height: 44px; padding: 4px; }
    [data-e360-workspace] .e360-space-tabbar a i { font-size: 18px; }
    [data-e360-workspace="juror"] .e360-space-evaluation .e360-space-actions { position: static; margin: 16px 0 0; padding: 0; border-top: 0; }
}
/* En-tête des espaces sur téléphone : titre seul (le fil d’Ariane double la navigation), messages et compte à portée. */
/* Le fil d’Ariane disparaît dès que la navigation inférieure apparaît : jamais les deux à la fois. */
@media (max-width: 991px) {
    .e360-admin:has([data-e360-workspace]) .breadcrumb { display: none; }
    .e360-admin:has([data-e360-workspace]) .e360-admin-page-header { margin-bottom: 12px; }
    .e360-admin:has([data-e360-workspace]) .page-heading { font-size: 20px; line-height: 28px; }
}
.e360-space-bell { position: relative; }
.e360-space-bell__count { position: absolute; top: -4px; right: -4px; min-width: 18px; padding: 0 5px; border-radius: 9px; background: var(--bs-primary); color: var(--bs-white); font-size: 11px; font-weight: 600; line-height: 18px; }
/* Avis d’action dans une carte : sur téléphone, texte puis action pleine largeur, sans césure au milieu d’un mot. */
[data-e360-workspace] .e360-space-card--notice .btn { white-space: nowrap; }
@media (max-width: 575px) {
    [data-e360-workspace] .e360-space-list > article.e360-space-card--notice { flex-direction: column; align-items: stretch; gap: 12px; }
    [data-e360-workspace] .e360-space-list > article.e360-space-card--notice .btn { align-self: flex-start; }
}
.e360-space-bell i { font-size: 20px; }
[data-e360-workspace] .e360-space-people-filter { display: flex; flex-direction: column; gap: 8px; }
[data-e360-workspace] .e360-space-people-filter .form-control { min-height: 44px; font-size: 16px; }
/* Séance du formateur sur téléphone : fiche compacte (présence en quatre segments, commentaire et enregistrement sur une ligne). */
@media (max-width: 575px) {
    [data-e360-workspace="trainer"] #trainer-participants-list > .e360-space-card { padding: 12px; }
    [data-e360-workspace="trainer"] #trainer-participants-list .e360-space-card__header { margin-bottom: 2px; }
    [data-e360-workspace="trainer"] .e360-space-presence { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
    [data-e360-workspace="trainer"] .e360-space-presence .e360-space-choice { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
    [data-e360-workspace="trainer"] .e360-space-presence .e360-space-choice .btn { justify-content: center; min-height: 44px; padding: 4px 2px; font-size: 12px; line-height: 15px; text-align: center; white-space: normal; }
    [data-e360-workspace="trainer"] .e360-space-presence > details { flex: 1 1 auto; width: auto; }
    [data-e360-workspace="trainer"] .e360-space-presence > details[open] { flex-basis: 100%; }
    [data-e360-workspace="trainer"] .e360-space-card .e360-space-presence > .btn { margin: 0 0 0 auto; min-height: 40px; }
    [data-e360-workspace="trainer"] .e360-space-presence .e360-space-choice .btn-check:checked + .btn .e360-space-choice__mark { display: none; }
    [data-e360-workspace="trainer"] .e360-space-presence .e360-form-status:empty, [data-e360-workspace="trainer"] .e360-space-presence .e360-form-feedback:not(:has(.e360-form-status:not(:empty))) { display: none; }
    [data-e360-workspace="trainer"] #trainer-participants-list .e360-space-review { margin-top: 8px; }
}
/* Rubrique « Compte » : liste d’accès secondaires, lignes de 52 px au moins. */
[data-e360-workspace] .e360-space-menu { margin: 0; padding: 0; list-style: none; border: 1px solid var(--e360-admin-border); border-radius: 8px; background: var(--bs-body-bg); overflow: hidden; }
[data-e360-workspace] .e360-space-menu > li + li { border-top: 1px solid var(--e360-admin-border); }
[data-e360-workspace] .e360-space-menu__item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 10px 16px; border: 0; background: transparent; color: var(--bs-gray-900); font-size: 15px; text-align: start; }
[data-e360-workspace] .e360-space-menu__item > i:first-child { font-size: 20px; color: var(--bs-primary); }
[data-e360-workspace] .e360-space-menu__item > i:last-child { margin-left: auto; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace] .e360-space-menu__item:hover { background: var(--bs-gray-100); }
[data-e360-workspace] .e360-space-menu__label { display: flex; flex-direction: column; min-width: 0; }
[data-e360-workspace] .e360-space-menu__label .e360-space-meta { font-size: 13px; }
/* Participants du formateur : liste à une colonne, initiales, assiduité alignée à droite. */
[data-e360-workspace] .e360-space-people { margin: 0; padding: 0; list-style: none; border: 1px solid var(--e360-admin-border); border-radius: 8px; background: var(--bs-body-bg); }
[data-e360-workspace] .e360-space-people__item { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 10px 16px; }
[data-e360-workspace] .e360-space-people__item + .e360-space-people__item { border-top: 1px solid var(--e360-admin-border); }
[data-e360-workspace] .e360-space-people__body { flex: 1 1 auto; min-width: 0; }
[data-e360-workspace] .e360-space-people__name { margin: 0; font-weight: 600; color: var(--bs-gray-900); overflow-wrap: anywhere; }
[data-e360-workspace] .e360-space-people__attendance { flex: 0 0 auto; font-weight: 600; color: var(--bs-gray-800); font-variant-numeric: tabular-nums; }
}
@media (max-width: 575px) {
    [data-e360-workspace] .e360-space-status__cta { width: 100%; }
    [data-e360-workspace] .e360-space-facts { grid-template-columns: 1fr; gap: 2px; }
    [data-e360-workspace] .e360-space-facts dd { margin-bottom: 8px; }
    [data-e360-workspace] .e360-space-stepper { padding: 12px 8px 14px; }
    [data-e360-workspace] .e360-space-stepper__item { flex-basis: 76px; }
    [data-e360-workspace] .e360-space-card--link, [data-e360-workspace] .e360-space-card--notice { flex-direction: column; align-items: flex-start; }
    /* L’icône décorative finale d’une carte-lien n’a plus de place utile une fois la carte empilée. */
    [data-e360-workspace] .e360-space-card--link > .e360-action-icon:last-child { display: none; }
}
.e360-space-stepper__dot .e360-action-icon:before{color: #fff!important }
/* Espaces connectés jury et formateur : mêmes cartes, badges et actions que l’espace candidat, adaptés à l’évaluation et au suivi. */
[data-e360-workspace] .e360-space-meta { margin: 0 0 8px; font-size: 13px; line-height: 20px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace] .e360-space-back { margin: 0; font-size: 14px; }
[data-e360-workspace] .e360-space-back a { display: inline-flex; align-items: center; gap: 6px; color: var(--bs-gray-700); }
[data-e360-workspace] .e360-space-back a:hover { color: var(--bs-primary); }
[data-e360-workspace] .e360-space-progress { display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 4px 0 2px; }
[data-e360-workspace] .e360-space-progress__bar { width: 100%; height: 6px; border: 0; border-radius: 3px; background: var(--bs-gray-200); accent-color: var(--bs-success); appearance: none; overflow: hidden; }
[data-e360-workspace] .e360-space-progress__bar::-webkit-progress-bar { background: var(--bs-gray-200); border-radius: 3px; }
[data-e360-workspace] .e360-space-progress__bar::-webkit-progress-value { background: var(--bs-success); border-radius: 3px; }
[data-e360-workspace] .e360-space-progress__bar::-moz-progress-bar { background: var(--bs-success); border-radius: 3px; }
[data-e360-workspace] .e360-space-progress__label { margin: 0; font-size: 13px; color: var(--bs-gray-700); font-variant-numeric: tabular-nums; }
[data-e360-workspace] .e360-space-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
[data-e360-workspace] .e360-space-filters > div { min-width: 200px; flex: 1 1 200px; }
[data-e360-workspace] .e360-space-filter .badge { font-variant-numeric: tabular-nums; }
[data-e360-workspace] .e360-space-queue { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
[data-e360-workspace] .e360-space-queue__item { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
[data-e360-workspace] .e360-space-queue__body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
[data-e360-workspace] .e360-space-queue__body .e360-space-meta { margin: 0; }
[data-e360-workspace] .e360-space-queue__item > .btn { flex-shrink: 0; min-width: 112px; }
[data-e360-workspace] .e360-space-pagination { display: flex; justify-content: center; margin-top: 4px; }
[data-e360-workspace] .e360-space-pagination .pagination { flex-wrap: wrap; justify-content: center; }
[data-e360-workspace] .e360-space-versus { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; }
[data-e360-workspace] .e360-space-versus__side { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px; border-radius: 8px; background: var(--bs-gray-100); min-width: 0; overflow-wrap: anywhere; }
[data-e360-workspace] .e360-space-versus__side .e360-space-meta { margin: 0; }
[data-e360-workspace] .e360-space-versus__side.is-current { background: var(--bs-primary-light); }
[data-e360-workspace] .e360-space-versus__vs { font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace] .e360-space-versus__when { grid-column: 1 / -1; margin: 0; }
[data-e360-workspace] .e360-space-player [data-e360-video-shell] { margin: 0 0 10px; }
/* Lecteur Plyr sur petit écran : la barre de progression garde la place, le temps reste sur une ligne. */
[data-e360-workspace] .plyr__time { white-space: nowrap; }
@media (max-width: 575.98px) {
    [data-e360-workspace] .plyr__volume input[type="range"] { display: none; }
    [data-e360-workspace] .plyr__controls { gap: 2px; padding-left: 6px; padding-right: 6px; }
}
[data-e360-workspace] .e360-space-player video { display: block; width: 100%; max-height: 640px; border-radius: 8px; background: var(--bs-gray-900); object-fit: contain; }
[data-e360-workspace] .e360-space-evaluation legend { margin-bottom: 4px; }
[data-e360-workspace] .e360-space-evaluation .form-control-lg { font-size: 18px; font-variant-numeric: tabular-nums; }
[data-e360-workspace] .e360-space-evaluation output { font-variant-numeric: tabular-nums; }
[data-e360-workspace] .e360-space-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
[data-e360-workspace="candidate"] .e360-space-actions { align-items: center; gap: 1rem; margin-top: 1.5rem; }
[data-e360-workspace="candidate"] :is(.e360-space-actions, .e360-space-card__links) .btn { min-width: 0; min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
/* Vidéo privée filmée en portrait : cadre 9:16 entier, largeur limitée pour garder la grille visible. */
[data-e360-workspace] .e360-private-video[data-e360-video-ratio="9:16"] { max-width: 320px; margin-left: auto; margin-right: auto; }
/* Jury : motif de notation fermée, contexte de séance, historique. */
[data-e360-workspace="juror"] .e360-space-blocker { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 16px; padding: 12px 16px; border-left: 2px solid var(--bs-warning); border-radius: 4px; background: var(--bs-light-warning); font-size: 14px; line-height: 20px; color: var(--bs-gray-800); }
[data-e360-workspace="juror"] .e360-space-queue__aside { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
[data-e360-workspace="juror"] .e360-space-score { font-size: 18px; font-weight: 600; color: var(--bs-gray-900); font-variant-numeric: tabular-nums; }
[data-e360-workspace="juror"] .e360-space-score small { font-size: 12px; font-weight: 500; color: var(--e360-text-secondary, var(--bs-gray-700)); }
/* Conducteur du modérateur : compteurs, passage en cours, file de passage, outils et journal. */
[data-e360-workspace="moderator"] .e360-moderation-counters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
[data-e360-workspace="moderator"] .e360-moderation-counters > div { padding: 12px 16px; border: 1px solid var(--e360-admin-border); border-radius: 8px; background: var(--bs-body-bg); }
[data-e360-workspace="moderator"] .e360-moderation-counters dt { font-size: 12px; font-weight: 500; color: var(--e360-text-secondary, var(--bs-gray-700)); }
[data-e360-workspace="moderator"] .e360-moderation-counters dd { margin: 0; font-size: 22px; line-height: 30px; font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace="moderator"] .e360-moderation-live { border-color: var(--bs-primary); }
[data-e360-workspace="moderator"] .e360-moderation-live__who { display: flex; flex-direction: column; gap: 2px; margin: 0 0 8px; font-size: 18px; }
[data-e360-workspace="moderator"] .e360-moderation-live__clock { display: block; margin: 8px 0; font-size: 44px; line-height: 52px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--bs-gray-900); }
[data-e360-workspace="moderator"] .e360-moderation-live__controls { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
[data-e360-workspace="moderator"] .e360-moderation-queue .is-current { border-color: var(--bs-primary); }
[data-e360-workspace="moderator"] .e360-moderation-queue__item { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-queue__row { display: flex; align-items: center; gap: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-queue__order { display: inline-grid; place-items: center; flex: 0 0 32px; height: 32px; border: 1px solid var(--bs-gray-300); border-radius: 50%; font-size: 13px; font-weight: 600; color: var(--bs-gray-700); }
[data-e360-workspace="moderator"] .e360-moderation-queue__who { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
[data-e360-workspace="moderator"] .e360-moderation-queue__who span { font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); overflow-wrap: anywhere; }
[data-e360-workspace="moderator"] .e360-moderation-queue__states { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; }
[data-e360-workspace="moderator"] .e360-moderation-queue__card > summary { list-style: none; }
[data-e360-workspace="moderator"] .e360-moderation-queue__card > summary::-webkit-details-marker { display: none; }
[data-e360-workspace="moderator"] .e360-moderation-queue__card[open] > summary { margin-bottom: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-queue__card .e360-space-facts { margin-bottom: 16px; }
[data-e360-workspace="moderator"] .e360-moderation-presence { margin-bottom: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-presence__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-presence__actions .btn { min-height: 44px; }
[data-e360-workspace="moderator"] .e360-moderation-presence__actions [aria-pressed="true"] { box-shadow: inset 0 0 0 1px currentColor; }
[data-e360-workspace="moderator"] .e360-moderation-incident-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-incident p:last-of-type { margin-bottom: 0; }
[data-e360-workspace="moderator"] .e360-moderation-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
[data-e360-workspace="moderator"] .e360-moderation-journal { margin: 0; padding: 0; list-style: none; }
[data-e360-workspace="moderator"] .e360-moderation-journal li { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 1px solid var(--bs-gray-200); }
@media (max-width: 767px) {
    [data-e360-workspace="moderator"] .e360-moderation-counters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-e360-workspace="moderator"] .e360-moderation-tools, [data-e360-workspace="moderator"] .e360-moderation-incident-grid { grid-template-columns: 1fr; }
    [data-e360-workspace="moderator"] .e360-moderation-queue__row { flex-wrap: wrap; }
    [data-e360-workspace="moderator"] .e360-moderation-queue__states { flex: 1 1 100%; justify-content: flex-start; padding-left: 44px; }
    [data-e360-workspace="moderator"] .e360-moderation-live__controls .btn { flex: 1 1 100%; }
}
/* Grille d’évaluation par composante : chaque bloc porte son titre, son poids et sa moyenne. */
.e360-evaluation-segment { padding: 16px 0; border-top: 1px solid var(--bs-gray-200); }
.e360-evaluation-segment:first-of-type { padding-top: 0; border-top: 0; }
.e360-evaluation-segment__title { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; }
.e360-evaluation-segment__average { font-size: 14px; font-weight: 600; color: var(--bs-gray-800); white-space: nowrap; }
[data-e360-workspace] .e360-space-actions .btn { flex: 1 1 200px; min-height: 48px; }
[data-e360-workspace] .e360-space-choice { display: flex; flex-wrap: wrap; gap: 8px; }
[data-e360-workspace] .e360-space-choice .btn { min-height: 40px; display: inline-flex; align-items: center; }
/* Choix sélectionné : coche et bordure en plus de la couleur, l’état ne repose jamais sur la seule teinte. */
[data-e360-workspace] .e360-space-choice .btn { gap: 6px; border: 1px solid transparent; }
[data-e360-workspace] .e360-space-choice .e360-space-choice__mark { display: none; }
[data-e360-workspace] .e360-space-choice .btn-check:checked + .btn { border-color: var(--bs-primary); font-weight: 600; }
[data-e360-workspace] .e360-space-choice .btn-check:checked + .btn .e360-space-choice__mark { display: inline-block; }
[data-e360-workspace] .e360-space-presence { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
[data-e360-workspace] .e360-space-presence fieldset { width: 100%; }
[data-e360-workspace] .e360-space-presence details, [data-e360-workspace] .e360-space-presence textarea { width: 100%; }
[data-e360-workspace] .e360-space-review { margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--bs-gray-200); }
[data-e360-workspace] .e360-space-review > summary { cursor: pointer; font-weight: 600; color: var(--bs-gray-900); }
[data-e360-workspace] .e360-space-review[open] > summary { margin-bottom: 12px; }
[data-e360-workspace] summary.e360-space-meta { cursor: pointer; margin: 0; }
[data-e360-workspace] .e360-space-card form > .form-label:not(:first-child) { margin-top: 14px; }
[data-e360-workspace] .e360-space-card form > .btn { margin-top: 16px; }
[data-e360-workspace] .e360-space-evaluate-grid { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (min-width: 992px) {
    /* Grand écran : la vidéo reste à gauche pendant que la notation reste visible à droite. */
    [data-e360-workspace] .e360-space-evaluate-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
    [data-e360-workspace] .e360-space-evaluate-grid .e360-space-player { position: sticky; top: 88px; }
    [data-e360-workspace] .e360-space-evaluate-grid .e360-space-player video { max-height: 560px; }
}
@media (max-width: 991px) {
    /* La barre d’actions de l’évaluation reste accessible au-dessus des onglets mobiles. */
    [data-e360-workspace="juror"] .e360-space-actions { position: sticky; bottom: 68px; z-index: 2; margin: 16px -16px -16px; padding: 12px 16px; background: var(--bs-body-bg); border-top: 1px solid var(--bs-gray-200); }
}
@media (max-width: 575px) {
    [data-e360-workspace] .e360-space-queue__item { flex-direction: column; align-items: stretch; }
    [data-e360-workspace] .e360-space-queue__item > .btn { width: 100%; min-height: 44px; }
    [data-e360-workspace] .e360-space-versus { grid-template-columns: minmax(0, 1fr); }
    [data-e360-workspace] .e360-space-versus__vs { text-align: center; }
    [data-e360-workspace] .e360-space-choice .btn { flex: 1 1 120px; justify-content: center; min-height: 44px; }
    [data-e360-workspace] .e360-space-actions .btn { flex-basis: 100%; }
}


/* Fiche d'étape : bloc « Prochaine action », repère coloré discret selon l'urgence. */
.e360-stage-next { border-inline-start: 3px solid var(--bs-primary); }
.e360-stage-next--danger { border-inline-start-color: var(--bs-danger); }
.e360-stage-next--warning { border-inline-start-color: var(--bs-warning); }
.e360-stage-next--success { border-inline-start-color: var(--bs-success); }
.e360-stage-next__form { flex: 0 0 auto; width: 100%; max-width: 360px; }
/* Avancement d'étape : pastille vide à faire, pastille cochée faite. */
.e360-stage-steps li + li { border-top: 1px dashed var(--bs-gray-200); }
.e360-stage-steps__mark { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--bs-gray-300); display: inline-flex; align-items: center; justify-content: center; color: var(--bs-success); }
.e360-stage-steps .is-done .e360-stage-steps__mark { border-color: var(--bs-success); background: var(--bs-success-light, rgba(80, 205, 137, .12)); }
.e360-stage-steps .is-done .fw-semibold { color: var(--e360-text-secondary, var(--bs-gray-700)); }
/* Pilotage d'édition : avancement d'étape en barre fine, couleur d'action. */
.e360-edition-stages li + li { border-top: 1px solid var(--bs-gray-200); }
.e360-stage-progress { display: block; width: 200px; max-width: 100%; height: 4px; border: 0; border-radius: 4px; background: var(--bs-gray-200); appearance: none; }
.e360-stage-progress::-webkit-progress-bar { background: var(--bs-gray-200); border-radius: 4px; }
.e360-stage-progress::-webkit-progress-value { background: var(--bs-primary); border-radius: 4px; }
.e360-stage-progress::-moz-progress-bar { background: var(--bs-primary); border-radius: 4px; }

/* Tableau de bord Concours : repris du cockpit d'Édition MyE360 (contexte, file, étapes, pipelines), portée limitée à la racine. */
.e360-contest-home { --e360-cockpit-border: var(--bs-gray-200); }
.e360-contest-home .e360-cockpit-context { border: 1px solid var(--e360-cockpit-border); box-shadow: 0 1px 2px rgba(18, 32, 53, .04); }
.e360-contest-home .e360-cockpit-context-grid { display: grid; min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding-top: 16px; border-top: 1px solid var(--e360-cockpit-border); }
.e360-contest-home .e360-cockpit-context-grid > div { min-width: 0; padding-left: 14px; border-left: 1px solid var(--e360-cockpit-border); }
.e360-contest-home .e360-cockpit-context-grid dt { margin-bottom: 4px; color: var(--e360-text-secondary, var(--bs-gray-700)); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.e360-contest-home .e360-cockpit-context-grid dd { margin-bottom: 0; color: var(--bs-gray-900); font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.e360-contest-home .e360-cockpit-queue { border-top: 1px solid var(--e360-cockpit-border); }
.e360-contest-home .e360-cockpit-queue-row { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 4px; border-bottom: 1px solid var(--e360-cockpit-border); color: inherit; transition: background-color 160ms ease; }
.e360-contest-home .e360-cockpit-queue-row:hover, .e360-contest-home .e360-cockpit-queue-row:focus-visible { background: var(--bs-gray-100); color: inherit; }
.e360-contest-home .e360-cockpit-queue-count { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 10px; background: var(--bs-primary-light); color: var(--bs-primary); font-size: 15px; font-weight: 700; }
.e360-contest-home .e360-cockpit-stage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.e360-contest-home .e360-cockpit-stage-card { padding: 18px; border: 1px solid var(--e360-cockpit-border); border-radius: 12px; background: var(--bs-body-bg); }
.e360-contest-home .e360-cockpit-stage-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; color: var(--e360-text-secondary, var(--bs-gray-700)); font-size: 12px; }
.e360-contest-home .e360-cockpit-stage-facts strong { display: block; color: var(--bs-gray-900); font-size: 15px; }
.e360-contest-home .e360-stage-progress--wide { width: 100%; }
.e360-contest-home .e360-cockpit-pipeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1px; overflow: hidden; border: 1px solid var(--e360-cockpit-border); border-radius: 12px; background: var(--e360-cockpit-border); }
.e360-contest-home .e360-cockpit-pipeline-item { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; min-height: 86px; padding: 16px; background: var(--bs-body-bg); color: var(--bs-gray-700); transition: background-color 160ms ease, color 160ms ease; }
.e360-contest-home a.e360-cockpit-pipeline-item:hover, .e360-contest-home a.e360-cockpit-pipeline-item:focus-visible { background: var(--bs-gray-100); color: var(--bs-primary); }
.e360-contest-home .e360-cockpit-pipeline-item strong { color: var(--bs-gray-900); font-size: 22px; }
.e360-contest-home .e360-cockpit-pipeline-item span { min-width: 0; font-size: 12px; font-weight: 600; }
.e360-contest-home .e360-cockpit-pipeline-item i { grid-column: 2; grid-row: 1 / span 2; }
.e360-contest-home .e360-cockpit-pipeline-steps { display: flex; gap: 0; margin: 0 0 20px; padding: 0; overflow-x: auto; }
.e360-contest-home .e360-cockpit-pipeline-steps li { position: relative; display: flex; flex: 1 0 120px; flex-direction: column; gap: 2px; padding: 22px 8px 0 0; }
.e360-contest-home .e360-cockpit-pipeline-steps li::before { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 2px; background: var(--e360-cockpit-border); }
.e360-contest-home .e360-cockpit-pipeline-steps__dot { position: absolute; top: 0; left: 0; width: 16px; height: 16px; border: 2px solid var(--bs-gray-400); border-radius: 50%; background: var(--bs-body-bg); }
.e360-contest-home .e360-cockpit-pipeline-steps .is-open .e360-cockpit-pipeline-steps__dot, .e360-contest-home .e360-cockpit-pipeline-steps .is-running .e360-cockpit-pipeline-steps__dot { border-color: var(--bs-primary); background: var(--bs-primary-light); }
.e360-contest-home .e360-cockpit-pipeline-steps .is-finished .e360-cockpit-pipeline-steps__dot, .e360-contest-home .e360-cockpit-pipeline-steps .is-locked .e360-cockpit-pipeline-steps__dot { border-color: var(--bs-success); background: var(--bs-success); }
.e360-contest-home .e360-cockpit-jury-row { display: flex; align-items: center; gap: 16px; padding: 12px 4px; border-top: 1px solid var(--e360-cockpit-border); color: inherit; }
.e360-contest-home .e360-cockpit-jury-row:hover { background: var(--bs-gray-100); color: inherit; }
.e360-contest-home .e360-cockpit-jury-row .e360-stage-progress { width: 100%; }
@media (max-width: 1199.98px) { .e360-contest-home .e360-cockpit-context-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
    .e360-contest-home .e360-cockpit-stage-grid { grid-template-columns: minmax(0, 1fr); }
    .e360-contest-home .e360-cockpit-stage-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .e360-contest-home .e360-cockpit-context-grid { grid-template-columns: minmax(0, 1fr); }
    .e360-contest-home .e360-cockpit-pipeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Sélecteur d'édition partagé : largeur souple jusqu'à 300 px, le bouton reste visible sur mobile. */
.e360-edition-switcher__field { flex: 1 1 auto; min-width: 0; max-width: 300px; }
/* Tableau de bord Concours : les textes tronqués ne doivent jamais élargir leur ligne (min-w-0 absent de cette distribution). */
.e360-contest-home .min-w-0, .e360-contest-home .e360-cockpit-jury-row > span:first-child, .e360-contest-home .e360-cockpit-queue-row > span:nth-child(2) { min-width: 0; }

/* Règlement lu dans l’étape « Vérifier et envoyer » de l’espace candidat : texte complet, sans défilement interne. */
.e360-regulation-inline__body { max-width: 760px; line-height: 1.7; }
.e360-regulation-inline__body h2 { margin: 32px 0 12px; font-size: 1.35rem; }
.e360-regulation-inline__body h3 { margin: 24px 0 10px; font-size: 1.1rem; }
.e360-regulation-inline__body h4 { margin: 18px 0 8px; font-size: 1rem; }
.e360-regulation-inline__body ul, .e360-regulation-inline__body ol { padding-left: 1.4rem; }
.e360-regulation-inline__body .contest-regulation__table { max-width: 100%; margin: 16px 0; overflow-x: auto; }
.e360-regulation-inline__body table { width: 100%; min-width: 420px; border-collapse: collapse; }
.e360-regulation-inline__body th, .e360-regulation-inline__body td { padding: 8px 10px 8px 0; border-bottom: 1px solid var(--bs-border-color); vertical-align: top; }

/* ==========================================================================
   MyE360 - espaces candidat, jury, formateur et modérateur (cadre Metronic partagé).
   Rail bleu nuit signé, bandeau « scène » (photo publiée, portrait, situation, action), grille travail / échéances.
   L’ambre E360 marque uniquement ce qui est « en cours » ou « maintenant ».
   ========================================================================== */
@font-face { font-family: "DM Sans E360"; font-style: normal; font-weight: 100 1000; font-display: swap; src: url("../../fonts/dm-sans/dm-sans-variable-100-1000.woff2") format("woff2"); }
.e360-mye360 {
    --my-ink: #0e1b3d;
    --my-ink-soft: #1a2a57;
    --my-ground: #f5f7fb;
    --my-line: #e3e8f2;
    --my-amber: #f49d2a;
    --my-amber-text: #8a5200;
    --my-display: "DM Sans E360", "DM Sans", var(--bs-font-sans-serif);
    --my-ease: cubic-bezier(.16, 1, .3, 1);
    background-color: var(--my-ground);
}
.e360-mye360 ::selection { background: rgba(16, 102, 220, .18); }
.e360-mye360 #kt_content { background-color: var(--my-ground); }
.e360-mye360 [data-e360-workspace] { max-width: 1320px; gap: 24px; }

/* Rail : signature MyE360, menu regroupé par usage, état actif lisible sans couleur seule. */
.e360-mye360 .aside { background-color: var(--my-ink); }
.e360-mye360 .aside-logo { padding-bottom: 20px; }
.e360-mye360-brand { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.e360-mye360-brand:hover { color: #fff; }
.e360-mye360-brand__mark { display: block; width: 36px; height: 36px; border-radius: 8px; background: #fff; object-fit: contain; padding: 3px; }
.e360-mye360-brand__name { display: flex; flex-direction: column; line-height: 1; }
.e360-mye360-brand__word { font-family: var(--my-display); font-size: 25px; letter-spacing: -.02em; font-weight: 400; }
.e360-mye360-brand__word b { font-weight: 800; }
.e360-mye360-brand__by { margin-top: 5px; font-size: 12px; color: rgba(255, 255, 255, .68); }
.e360-mye360 .aside .menu-item .menu-link { border-radius: 8px; transition: background-color .18s var(--my-ease), color .18s var(--my-ease); }
.e360-mye360 .aside .menu-item .menu-link .menu-title { color: rgba(255, 255, 255, .78); }
.e360-mye360 .aside .menu-item .menu-link .menu-icon .ki-duotone, .e360-mye360 .aside .menu-item .menu-link .menu-icon .ki-outline, .e360-mye360 .aside .menu-item .menu-link .menu-icon i { color: rgba(255, 255, 255, .55); }
.e360-mye360 .aside .menu-item .menu-link:hover { background-color: rgba(255, 255, 255, .06); }
.e360-mye360 .aside .menu-item .menu-link:hover .menu-title { color: #fff; }
.e360-mye360 .aside .menu-item .menu-link.active { background-color: rgba(255, 255, 255, .1); }
.e360-mye360 .aside .menu-item .menu-link.active .menu-title { color: #fff; font-weight: 600; }
.e360-mye360 .aside .menu-item .menu-link.active .menu-icon i, .e360-mye360 .aside .menu-item .menu-link.active .menu-icon .ki-outline { color: var(--my-amber); }
.e360-mye360 .aside .menu-item .menu-link:focus-visible { outline: 2px solid var(--my-amber); outline-offset: 2px; }
.e360-mye360 .aside .separator { border-color: rgba(255, 255, 255, .1); }
.e360-mye360 .aside .badge { background: var(--my-amber); color: var(--my-ink); }

/* Titre de page : plus discret que le bandeau qui porte la situation. */
.e360-mye360 #kt_content_container > .e360-breadcrumb h1, .e360-mye360 .e360-admin-page h1.page-heading { font-family: var(--my-display); letter-spacing: -.01em; }

/* Bandeau « scène » : contenu à gauche, photographie publiée à droite (≥ 1200 px), pied pour la frise ou l’avancement. */
.e360-stage { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid var(--my-line); border-radius: 12px; overflow: hidden; }
.e360-stage__body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; min-width: 0; padding: 28px 32px; }
.e360-stage__who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.e360-stage__greeting { margin: 0; font-size: 15px; color: var(--e360-text-secondary); }
.e360-stage__greeting strong { color: var(--bs-gray-900); font-weight: 600; }
.e360-stage__context { margin: 0; font-size: 13px; color: var(--e360-text-secondary); overflow-wrap: anywhere; }
.e360-stage__context b { color: var(--bs-gray-900); font-variant-numeric: tabular-nums; }
.e360-stage__title { margin: 0; font-family: var(--my-display); font-size: 30px; line-height: 1.15; font-weight: 650; letter-spacing: -.02em; color: var(--my-ink); text-wrap: balance; overflow-wrap: anywhere; }
.e360-stage__state { display: flex; flex-wrap: wrap; gap: 8px; }
.e360-stage__state .badge { font-size: 13px; padding: 6px 10px; }
/* États longs (« La notation ouvre au démarrage de la séance… ») : le badge revient à la ligne au lieu de déborder. */
.e360-mye360 [data-e360-workspace] .badge { max-width: 100%; white-space: normal; text-align: start; line-height: 1.35; }
.e360-stage__next { margin: 0; max-width: 60ch; font-size: 15px; line-height: 1.55; color: var(--bs-gray-800); }
.e360-stage__when { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgba(244, 157, 42, .12); color: var(--my-amber-text); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.e360-stage__when i { color: var(--my-amber-text); }
.e360-stage__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
.e360-stage__actions .btn-primary { padding-inline: 20px; }
.e360-stage__note { margin: 0; font-size: 12px; color: var(--e360-text-secondary); }
.e360-stage__media { position: relative; display: none; min-height: 100%; background: var(--my-ink); }
.e360-stage__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--e360-media-focal-x, 50%) var(--e360-media-focal-y, 40%); }
.e360-stage__foot { grid-column: 1 / -1; border-top: 1px solid var(--my-line); }
/* Bandeau compact des pages de travail (file, évaluation) : la tâche remonte dans la première fenêtre. */
.e360-stage--compact .e360-stage__body { gap: 10px; padding: 20px 24px; }
.e360-stage--compact .e360-stage__title { font-size: 24px; }
.e360-stage--compact .e360-stage__foot .e360-space-progress { padding: 12px 24px 14px; }
.e360-stage__foot .e360-space-progress { padding: 16px 32px 20px; margin: 0; }
@media (min-width: 1200px) {
    .e360-stage--media { grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); }
    .e360-stage--media .e360-stage__media { display: block; }
}
@media (max-width: 767px) {
    .e360-stage__body { padding: 20px; }
    .e360-stage__title { font-size: 24px; }
    .e360-stage__foot .e360-space-progress { padding: 14px 20px 16px; }
    .e360-stage--compact .e360-stage__body { padding: 16px 20px; }
    .e360-stage--compact .e360-stage__title { font-size: 20px; }
}
/* Téléphone : l’action principale du bandeau occupe la largeur, les actions secondaires restent dessous. */
@media (max-width: 575px) {
    .e360-stage__actions { width: 100%; }
    .e360-stage__actions > .btn-primary { flex: 1 1 100%; justify-content: center; min-height: 44px; }
    .e360-stage__actions > .btn-light, .e360-stage__actions > .dropdown > .btn { min-height: 44px; }
}

/* Frise du parcours dans le bandeau : l’étape en cours porte l’ambre E360. */
.e360-mye360 .e360-stage .e360-space-stepper { border-top: 0; padding: 16px 24px 18px; }
.e360-mye360 [data-e360-workspace] .e360-space-stepper__item.is-current .e360-space-stepper__dot { border-color: var(--my-amber); box-shadow: inset 0 0 0 5px var(--my-amber), 0 0 0 4px rgba(244, 157, 42, .2); }
.e360-mye360 [data-e360-workspace] .e360-space-stepper__item.is-done::before, .e360-mye360 [data-e360-workspace] .e360-space-stepper__item.is-current::before { background: var(--bs-success); }

/* Grille de travail : démarche active, puis échéances et informations utiles. */
.e360-space-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: start; }
.e360-space-grid__main, .e360-space-grid__aside { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
@media (min-width: 1200px) { .e360-space-grid { grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); } }

/* Panneaux Metronic : en-tête court, corps aéré, bordure fine. */
.e360-panel.card { border: 1px solid var(--my-line, var(--bs-gray-200)); border-radius: 10px; box-shadow: none; }
.e360-panel .card-header { min-height: 56px; padding: 0 20px; border-bottom: 1px solid var(--my-line, var(--bs-gray-200)); }
.e360-panel .card-title { margin: 0; font-size: 16px; font-weight: 650; color: var(--bs-gray-900); }
.e360-panel .card-body { padding: 16px 20px 20px; }
.e360-panel__link { font-size: 13px; font-weight: 600; white-space: nowrap; }
.e360-panel__empty { margin: 0; color: var(--e360-text-secondary); }

/* Lignes de liste : symbole, texte, état et action ; noms longs coupés proprement. */
.e360-list { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.e360-list__item { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px dashed var(--my-line, var(--bs-gray-200)); }
.e360-list__item:last-child { border-bottom: 0; padding-bottom: 0; }
.e360-list__item:first-child { padding-top: 0; }
.e360-list__body { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.e360-list__title { margin: 0; font-size: 14px; font-weight: 600; color: var(--bs-gray-900); overflow-wrap: anywhere; }
a.e360-list__title { color: var(--bs-gray-900); }
a.e360-list__title:hover { color: var(--bs-primary); }
.e360-list__meta { margin: 0; font-size: 13px; color: var(--e360-text-secondary); overflow-wrap: anywhere; }
.e360-list__aside { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.e360-list__item.is-now .e360-list__title::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-radius: 50%; background: var(--my-amber, #f49d2a); vertical-align: middle; }
@media (max-width: 575px) { .e360-list__item { flex-wrap: wrap; } .e360-list__aside { width: 100%; justify-content: space-between; } }

/* Date en symbole Metronic : jour et mois réels, lisibles d’un coup d’œil. */
.e360-date.symbol .symbol-label { flex-direction: column; gap: 1px; width: 48px; height: 52px; border-radius: 8px; background: var(--bs-primary-light); color: var(--bs-primary); font-variant-numeric: tabular-nums; }
.e360-date.is-now .symbol-label { background: rgba(244, 157, 42, .14); color: var(--my-amber-text, #8a5200); }
.e360-date__day { font-size: 18px; font-weight: 700; line-height: 1; }
.e360-date__month { font-size: 11px; font-weight: 600; line-height: 1; }

/* Profil compact de la colonne secondaire. */
.e360-me { display: flex; align-items: center; gap: 14px; min-width: 0; }
.e360-me__name { margin: 0; font-size: 15px; font-weight: 650; color: var(--bs-gray-900); overflow-wrap: anywhere; }
.e360-me__mail { margin: 0; font-size: 13px; color: var(--e360-text-secondary); overflow-wrap: anywhere; }

/* Éditions ouvertes : photographie publiée de l’édition lorsqu’elle existe, sinon titre seul. */
.e360-editions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 768px) { .e360-editions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.e360-edition-card { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--my-line, var(--bs-gray-200)); border-radius: 10px; }
.e360-edition-card__media { position: relative; aspect-ratio: 16 / 9; background: var(--my-ink, #0e1b3d); }
.e360-edition-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.e360-edition-card__body { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; padding: 18px 20px 20px; }
.e360-edition-card__title { margin: 0; font-family: var(--my-display, inherit); font-size: 19px; line-height: 1.25; font-weight: 650; letter-spacing: -.01em; color: var(--bs-gray-900); overflow-wrap: anywhere; }
.e360-edition-card__meta { margin: 0; font-size: 13px; color: var(--e360-text-secondary); }
.e360-edition-card__action { margin-top: auto; padding-top: 12px; }

/* File jury : tableau dense Metronic, action toujours visible. */
.e360-queue { margin: 0; }
.e360-queue td, .e360-queue th { vertical-align: middle; }
.e360-queue th { font-size: 12px; font-weight: 600; color: var(--e360-text-secondary); }
.e360-queue__who { display: flex; align-items: center; gap: 12px; min-width: 0; }
.e360-queue__id { font-weight: 650; color: var(--bs-gray-900); font-variant-numeric: tabular-nums; }
.e360-queue__topic { max-width: 34ch; color: var(--bs-gray-700); overflow-wrap: anywhere; }
.e360-queue__meta { font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); overflow-wrap: anywhere; }
.e360-queue__who .min-w-0 { min-width: 0; }
.e360-queue tr.is-now .e360-queue__id::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-radius: 50%; background: var(--my-amber, #f49d2a); vertical-align: middle; }
.e360-queue-tabs .nav-link { padding-top: 16px; padding-bottom: 14px; }
@media (max-width: 767px) {
    .e360-queue thead { display: none; }
    .e360-queue tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; padding: 12px 0; border-bottom: 1px dashed var(--my-line, var(--bs-gray-200)); }
    .e360-queue.table > tbody > tr > td { padding: 0; border: 0; }
    .e360-queue td.e360-queue__topic, .e360-queue td.e360-queue__state { grid-column: 1; }
    .e360-queue td.e360-queue__action { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
}

/* Panneau repliable (remplace details/summary) : bouton Metronic, ouverture courte. */
.e360-disclosure { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 14px 20px; border: 0; background: transparent; color: var(--bs-gray-900); font-weight: 600; text-align: left; }
.e360-disclosure:hover { color: var(--bs-primary); }
.e360-disclosure:focus-visible { outline: 2px solid var(--bs-primary); outline-offset: -2px; border-radius: 10px; }
.e360-disclosure__icon { transition: transform .2s var(--my-ease, ease); }
.e360-disclosure[aria-expanded="true"] .e360-disclosure__icon { transform: rotate(90deg); }
.e360-disclosure + .collapse > .e360-disclosure__body, .e360-disclosure + .collapsing > .e360-disclosure__body { padding: 0 20px 20px; }
.e360-mye360 .collapsing { transition-duration: .2s; }
/* Variante intégrée à une carte : simple ligne d’action, sans cadre supplémentaire. */
.e360-disclosure-panel--inline .e360-disclosure { padding: 8px 0; color: var(--bs-primary); }
.e360-disclosure-panel--inline .e360-disclosure:focus-visible { outline-offset: 2px; border-radius: 4px; }
.e360-disclosure-panel--inline .e360-disclosure + .collapse > .e360-disclosure__body, .e360-disclosure-panel--inline .e360-disclosure + .collapsing > .e360-disclosure__body { padding: 4px 0 12px; }

/* Évaluation : lecteur et sujet ensemble, grille à côté ; une seule zone collante (le lecteur). */
/* Colonne de gauche : lecteur, sujet, séance et confrontation ; sous 992 px tout s’empile au-dessus de la grille. */
.e360-eval-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.e360-mye360 [data-e360-workspace] .e360-space-evaluate-grid .e360-space-player { position: static; }
.e360-mye360 [data-e360-workspace] .e360-space-player .card-body { display: flex; flex-direction: column; gap: 12px; padding: 16px; }
.e360-mye360 [data-e360-workspace] .e360-space-player .e360-private-video { width: 100%; margin-bottom: 0; }
.e360-mye360 [data-e360-workspace] .e360-space-evaluate-grid .e360-space-player video { max-height: min(560px, 56vh); }
.e360-eval-brief { margin: 0; padding-top: 12px; border-top: 1px solid var(--my-line, var(--bs-gray-200)); }
.e360-eval-brief--alone { padding-top: 0; border-top: 0; }
.e360-eval-brief__title { margin: 0 0 4px; font-size: 15px; font-weight: 650; color: var(--bs-gray-900); }
.e360-eval-brief__theme { margin: 0 0 8px; font-size: 13px; color: var(--e360-text-secondary); }
@media (min-width: 992px) { .e360-mye360 [data-e360-workspace] .e360-space-evaluate-grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
/* Seule la colonne vidéo reste collée, et seulement si la hauteur d’écran la laisse entière. */
@media (min-width: 992px) and (min-height: 760px) { .e360-eval-side--video { position: sticky; top: 88px; } }


/* Mouvement : transitions d’état brèves ; aucune animation n’est nécessaire pour agir. */
.e360-mye360 .btn { transition: background-color .15s var(--my-ease), color .15s var(--my-ease), border-color .15s var(--my-ease), transform .15s var(--my-ease); }
.e360-mye360 .btn:active { transform: translateY(1px); }
@media (prefers-reduced-motion: reduce) {
    .e360-mye360 .btn, .e360-mye360 .aside .menu-item .menu-link, .e360-disclosure__icon, .e360-mye360 .collapsing { transition: none; }
    .e360-mye360 .btn:active { transform: none; }
}

/* Désignation des candidats d’une étape (modale) : une ligne cliquable par dossier, 44 px minimum, sans tableau compressé. */
.e360-designation { display: flex; flex-direction: column; border: 1px solid var(--bs-gray-200); border-radius: 8px; }
.e360-designation__item + .e360-designation__item { border-top: 1px solid var(--bs-gray-200); }
.e360-designation__choice { display: flex; align-items: center; gap: 12px; min-height: 56px; margin: 0; padding: 10px 14px; cursor: pointer; }
.e360-designation__choice:hover { background: var(--bs-gray-100); }
.e360-designation__choice .form-check-input { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; }
.e360-designation__item.is-added .e360-designation__choice { cursor: default; background: var(--bs-gray-100); }
.e360-designation__body { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
.e360-designation__name { font-weight: 600; color: var(--bs-gray-900); overflow-wrap: anywhere; }
.e360-designation__meta { font-size: 13px; color: var(--e360-text-secondary, var(--bs-gray-700)); overflow-wrap: anywhere; }
#round-designation-results[aria-busy="true"] { opacity: .55; transition: opacity .15s ease; }
@media (max-width: 575px) { .e360-designation__choice { flex-wrap: wrap; } .e360-designation__choice .badge { margin-left: 32px; } }
@media (prefers-reduced-motion: reduce) { #round-designation-results[aria-busy="true"] { transition: none; } }

/* Concours : niveau de note, rang et décision restent des informations distinctes. */
.e360-score, .e360-rank { font-variant-numeric: tabular-nums; font-size: 13px; line-height: 1.5; }
.e360-score--neutral, .e360-rank--neutral { background: var(--bs-gray-100); color: var(--bs-gray-800); }
.e360-score--danger, .e360-score--invalid { background: var(--bs-danger-light); color: #9d1c35; }
.e360-score--warning { background: var(--bs-warning-light); color: #755000; }
.e360-score--success { background: var(--bs-success-light); color: #126044; }
[data-bs-theme="dark"] .e360-score--danger, [data-bs-theme="dark"] .e360-score--invalid { color: var(--bs-danger); }
[data-bs-theme="dark"] .e360-score--warning { color: var(--bs-warning); }
[data-bs-theme="dark"] .e360-score--success { color: var(--bs-success); }
.e360-rank--gold { background: #fff2c6; color: #725000; }
.e360-rank--silver { background: #edf0f4; color: #424e60; }
.e360-rank--bronze { background: #f8e6d8; color: #754222; }

.e360-has-remote-drawer .e360-ranking-fragments, .e360-has-remote-drawer #ranking-validation { display: none; }

/* Aperçus des photographies administrées, avec le cadrage public. */
[data-media-responsive-preview] .e360-media-preview { overflow: hidden; background: var(--bs-gray-100); }
[data-media-responsive-preview] .e360-media-preview--desktop { aspect-ratio: 1.4; }
[data-media-responsive-preview] .e360-media-preview--mobile { aspect-ratio: 16 / 10; max-width: 390px; }
[data-media-responsive-preview] img { width: 100%; height: 100%; object-fit: cover; }
