.pmsc-dashboard-wrapper {
    display: flex;
    gap: 30px;
    background: #fdfdfd;
    border: 1px solid #e1e1e1;
    border-radius: 8px;
    overflow: hidden;
}

.pmsc-sidebar {
    background: #ffffff;
    width: 260px;
    padding: 20px;
    border-right: 1px solid #eee;
}

.pmsc-nav a.active {
    background-color: var(--e-global-color-primary, #0073aa);
    color: #fff;
    font-weight: bold;
}

.pmsc-card,
.pmsc-stat-card,
.pmsc-doc-card {
    background: #fff;
    border: 1px solid #e9eaec;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04);
}

.pmsc-card {
    padding: 22px;
    margin-bottom: 20px;
}

.pmsc-dashboard-home,
.pmsc-doc-center {
    display: block;
}

.pmsc-stats-grid,
.pmsc-content-grid,
.pmsc-doc-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.pmsc-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pmsc-doc-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pmsc-stat-card {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pmsc-stat-title,
.pmsc-stat-description,
.pmsc-doc-stat span {
    color: #586174;
}

.pmsc-stat-value {
    font-size: 2rem;
    line-height: 1;
}

.pmsc-activity-list,
.pmsc-doc-list {
    margin: 0;
    padding-left: 18px;
}

.pmsc-activity-table {
    width: 100%;
    border-collapse: collapse;
}

.pmsc-activity-table th,
.pmsc-activity-table td {
    padding: 12px;
    border-bottom: 1px solid #ececec;
    text-align: left;
    vertical-align: top;
}

.pmsc-doc-filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 14px 0 18px;
}

.pmsc-doc-filters input,
.pmsc-doc-filters select {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #d2d5db;
    border-radius: 8px;
}

.pmsc-doc-stats {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.pmsc-doc-stat {
    min-width: 120px;
    background: #f7f8fb;
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pmsc-doc-card {
    padding: 18px;
}

.pmsc-doc-type,
.pmsc-badge,
.pmsc-planning-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 0.85rem;
    background: #eef5ff;
}

.pmsc-course-card,
.pmsc-planning-card {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 16px;
}

.pmsc-planning-list {
    display: grid;
    gap: 16px;
}

.pmsc-course-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

@media (max-width: 1024px) {
    .pmsc-stats-grid,
    .pmsc-doc-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .pmsc-dashboard-wrapper {
        flex-direction: column;
    }

    .pmsc-sidebar {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #eee;
    }

    .pmsc-stats-grid,
    .pmsc-content-grid,
    .pmsc-doc-grid {
        grid-template-columns: 1fr;
    }

    .pmsc-doc-filters {
        flex-direction: column;
    }
}


.pmsc-flex-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
}

.pmsc-inline-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}

.pmsc-inline-feedback {
    margin-top:10px;
    font-weight:600;
}

.pmsc-table-wrap {
    overflow:auto;
}

.pmsc-notification-list,
.pmsc-requests-center {
    display:grid;
    gap:16px;
}

.pmsc-notification-card.is-read {
    opacity:.72;
}

.pmsc-subcard {
    padding:18px;
    margin-bottom:0;
}

.pmsc-request-form .pmsc-form-control,
.pmsc-request-update-form .pmsc-form-control {
    width:100%;
    border:1px solid #d2d5db;
    border-radius:8px;
    padding:10px 12px;
    box-sizing:border-box;
}

.pmsc-request-form textarea,
.pmsc-request-update-form textarea {
    min-height:120px;
}

.pmsc-badge.pending,
.pmsc-badge.waiting { background:#fff3cd; }
.pmsc-badge.in_progress { background:#dbeafe; }
.pmsc-badge.resolved,
.pmsc-badge.promoted,
.pmsc-badge.confirmed { background:#dcfce7; }
.pmsc-badge.closed,
.pmsc-badge.cancelled { background:#f3f4f6; }

@media (max-width: 768px) {
    .pmsc-flex-head {
        flex-direction:column;
    }
}


.pmsc-dashboard-blocks{display:grid;gap:18px}
.pmsc-alert-strip{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.pmsc-alert-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#fff8e8;border:1px solid #f3d38b;text-decoration:none;color:#6b4f00}
.pmsc-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pmsc-action-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid #e6e8ee;border-radius:12px;text-decoration:none;color:inherit;background:#fbfcff}
.pmsc-action-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,23,42,.06)}
.pmsc-action-card span{color:#586174;font-size:.93rem}
.pmsc-metric-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.pmsc-metric-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #ececec;padding-bottom:10px}
.pmsc-highlight-card{border-color:#c7dbff;box-shadow:0 0 0 4px rgba(59,130,246,.08)}
@media (max-width: 1024px){.pmsc-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 768px){.pmsc-action-grid{grid-template-columns:1fr;}.pmsc-alert-strip{flex-direction:column;}}

.pmsc-onboarding-card{border-left:4px solid #2271b1}
.pmsc-onboarding-progress{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden;margin:12px 0}
.pmsc-onboarding-progress span{display:block;height:100%;background:#2271b1;border-radius:999px}
.pmsc-onboarding-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pmsc-onboarding-list li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}
.pmsc-onboarding-list li.is-done{background:#f0fdf4}
.pmsc-onboarding-bullet{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#eef2ff;font-weight:700}
.pmsc-onboarding-list small{display:block;color:#6b7280;margin-top:4px}
.pmsc-form-control-inline{min-width:140px;display:inline-block;width:auto}

.pmsc-attendance-table select,
.pmsc-attendance-table textarea {
    width: 100%;
}

.pmsc-attendance-table textarea {
    min-height: 54px;
}

.pmsc-attendance-table td {
    vertical-align: top;
}

.pmsc-widget-shell {
    --pmsc-widget-gap: 18px;
    display: grid;
    gap: var(--pmsc-widget-gap);
    width: 100%;
}

.pmsc-widget-shell--align-left { margin-right: auto; }
.pmsc-widget-shell--align-center { margin-left: auto; margin-right: auto; }
.pmsc-widget-shell--align-right { margin-left: auto; }
.pmsc-widget-shell--stretch { width: 100%; }
.pmsc-widget-shell--compact { --pmsc-widget-gap: 12px; }
.pmsc-widget-shell--divider .pmsc-widget-header { padding-bottom: 14px; border-bottom: 1px solid #e5e7eb; }
.pmsc-widget-shell--equal-cards .pmsc-card,
.pmsc-widget-shell--equal-cards article,
.pmsc-widget-shell--equal-cards .pmsc-action-card,
.pmsc-widget-shell--equal-cards .pmsc-stat-card,
.pmsc-widget-shell--equal-cards .pmsc-subcard { height: 100%; }

.pmsc-widget-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.pmsc-widget-header-main {
    display: grid;
    gap: 8px;
}

.pmsc-widget-header-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    padding: 6px 12px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.pmsc-widget-title {
    margin: 0;
}

.pmsc-widget-subtitle {
    margin: 0;
    color: #6b7280;
}

.pmsc-widget-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 767px) {
    .pmsc-widget-header {
        flex-direction: column;
    }
}


.pmsc-widget-shell--animated .pmsc-card,
.pmsc-widget-shell--animated article,
.pmsc-widget-shell--animated .pmsc-action-card,
.pmsc-widget-shell--animated .pmsc-stat-card,
.pmsc-widget-shell--animated .pmsc-subcard,
.pmsc-widget-shell--animated .pmsc-onboarding-list li,
.pmsc-widget-shell .button,
.pmsc-widget-shell .button-primary,
.pmsc-widget-shell .pmsc-btn,
.pmsc-widget-shell .pmsc-submit-btn,
.pmsc-widget-shell .pmsc-form-control,
.pmsc-widget-shell tbody td,
.pmsc-widget-shell thead th {
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease;
}

.pmsc-widget-shell .pmsc-form-control:focus,
.pmsc-widget-shell .pmsc-user-search-input:focus,
.pmsc-widget-shell .pmsc-user-select:focus {
    outline: none;
}

.pmsc-widget-shell table {
    width: 100%;
    border-collapse: collapse;
}

.pmsc-widget-shell thead th,
.pmsc-widget-shell tbody td {
    vertical-align: top;
}

@media (max-width: 767px) {
    .pmsc-widget-shell--stack-header .pmsc-widget-header {
        flex-direction: column;
    }
}


/* v1.7.5 — harmonisation styles widgets historiques */
.pmsc-widget-shell .pmsc-toolbar,
.pmsc-widget-shell .pmsc-manager-form,
.pmsc-widget-shell .pmsc-enroll-container,
.pmsc-widget-shell .pmsc-form-section,
.pmsc-widget-shell .pmsc-empty-state,
.pmsc-widget-shell .pmsc-course-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
}

.pmsc-widget-shell .pmsc-toolbar {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
    padding: 16px;
}

.pmsc-widget-shell .pmsc-toolbar-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1 1 420px;
    justify-content: flex-end;
}

.pmsc-widget-shell .pmsc-input,
.pmsc-widget-shell .pmsc-manager-input,
.pmsc-widget-shell .pmsc-form-control {
    width: 100%;
    min-height: 42px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 10px 12px;
    box-sizing: border-box;
}

.pmsc-widget-shell .pmsc-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pmsc-widget-shell .pmsc-user-avatar img,
.pmsc-widget-shell .pmsc-user-avatar .avatar {
    border-radius: 999px;
    display: block;
}

.pmsc-widget-shell .pmsc-user-login {
    color: #6b7280;
}

.pmsc-widget-shell .pmsc-table-wrap {
    overflow-x: auto;
}

.pmsc-widget-shell .pmsc-actions-cell {
    text-align: right;
    white-space: nowrap;
}

.pmsc-widget-shell .pmsc-btn,
.pmsc-widget-shell .pmsc-submit-btn,
.pmsc-widget-shell .pmsc-delete-btn,
.pmsc-widget-shell .pmsc-logout-button,
.pmsc-widget-shell .pmsc-widget-header-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: #0073aa;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.pmsc-widget-shell .pmsc-btn-green { background: #28a745; }
.pmsc-widget-shell .pmsc-btn-orange { background: #fd7e14; }
.pmsc-widget-shell .pmsc-btn-ghost { background: #f0f4f8; color: #0073aa; border-color: #d6e4f0; }
.pmsc-widget-shell .pmsc-btn-small { font-size: .85em; padding: 8px 12px; }

.pmsc-widget-shell .role-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: .75em;
    text-transform: uppercase;
    font-weight: 700;
}
.pmsc-widget-shell .role-admin { background: #ffebee; color: #c62828; }
.pmsc-widget-shell .role-client { background: #e3f2fd; color: #1565c0; }
.pmsc-widget-shell .role-stagiaire { background: #e8f5e9; color: #2e7d32; }

.pmsc-widget-shell .pmsc-empty-state,
.pmsc-widget-shell .pmsc-enroll-alert {
    padding: 20px;
    text-align: center;
}

.pmsc-widget-shell .pmsc-manager-title,
.pmsc-widget-shell .pmsc-enroll-title,
.pmsc-widget-shell .pmsc-course-title {
    margin: 0 0 16px;
}

.pmsc-widget-shell .pmsc-manager-form,
.pmsc-widget-shell .pmsc-enroll-container {
    padding: 24px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.pmsc-widget-shell .pmsc-form-row,
.pmsc-widget-shell .pmsc-grid-2,
.pmsc-widget-shell .pmsc-course-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.pmsc-widget-shell .pmsc-form-col,
.pmsc-widget-shell .pmsc-field-block,
.pmsc-widget-shell .pmsc-form-section {
    display: grid;
    gap: 8px;
}

.pmsc-widget-shell .pmsc-field-block,
.pmsc-widget-shell .pmsc-form-row,
.pmsc-widget-shell .pmsc-form-section,
.pmsc-widget-shell .pmsc-form-check-wrap {
    margin-bottom: 16px;
}

.pmsc-widget-shell .pmsc-field-label,
.pmsc-widget-shell .pmsc-manager-label {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
}

.pmsc-widget-shell .readonly,
.pmsc-widget-shell [readonly] {
    background: #f5f5f5;
}

.pmsc-widget-shell .pmsc-form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pmsc-widget-shell .pmsc-form-message {
    margin-top: 15px;
    font-weight: 600;
}
.pmsc-widget-shell .pmsc-form-message--center { text-align: center; }
.pmsc-widget-shell .pmsc-message-ok { color: #28a745; }
.pmsc-widget-shell .pmsc-message-error { color: #dc3545; }
.pmsc-widget-shell .pmsc-submit-btn--full { width: 100%; text-transform: uppercase; font-weight: 700; }

.pmsc-widget-shell .pmsc-form-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.pmsc-widget-shell .pmsc-form-section--accent {
    background: #f9f9f9;
    padding: 20px;
}

.pmsc-widget-shell .pmsc-courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.pmsc-widget-shell .pmsc-course-card {
    display: grid;
    gap: 12px;
    padding: 20px;
}

.pmsc-widget-shell .pmsc-progress-track {
    background: #eee;
    border-radius: 4px;
    height: 8px;
    margin: 12px 0;
    overflow: hidden;
}

.pmsc-widget-shell .pmsc-progress-fill {
    height: 100%;
    border-radius: 4px;
    background: #5D2A61;
    transition: width .4s ease;
}

.pmsc-widget-shell .pmsc-course-progress-text,
.pmsc-widget-shell .pmsc-course-details,
.pmsc-widget-shell .pmsc-course-link {
    color: #6b7280;
}
.pmsc-widget-shell .pmsc-course-link { text-decoration: none; }

@media (max-width: 767px) {
    .pmsc-widget-shell .pmsc-toolbar-form,
    .pmsc-widget-shell .pmsc-form-row,
    .pmsc-widget-shell .pmsc-grid-2,
    .pmsc-widget-shell .pmsc-course-meta {
        grid-template-columns: 1fr;
    }

    .pmsc-widget-shell .pmsc-actions-cell {
        text-align: left;
    }
}


/* v1.7.6 — nettoyage des widgets historiques */
.pmsc-widget-shell .is-hidden { display: none; }
.pmsc-visually-hidden-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.pmsc-feedback-success { color: #15803d; }
.pmsc-feedback-error { color: #b91c1c; }
.pmsc-alert-warning {
    background: #fff3cd;
    border: 1px solid #ffe69c;
    color: #856404;
    padding: 15px;
    border-radius: 8px;
}
.pmsc-inline-feedback--center { text-align: center; }
.pmsc-form-label { display:block; font-weight:600; margin-bottom:6px; }
.pmsc-form-control { width:100%; padding:10px 12px; border:1px solid #d2d5db; border-radius:8px; box-sizing:border-box; }
.pmsc-grid-2 { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
.pmsc-enroll-grid--spaced { margin-bottom:15px; }
.pmsc-field--stacked { margin-bottom:15px; }
.pmsc-submit-btn--full { width:100%; justify-content:center; }
.pmsc-client-history-shell { padding:30px; }
.pmsc-client-history-title { margin:0 0 20px; padding-bottom:15px; border-bottom:1px solid #eee; }
.pmsc-client-history-user { color:#0073aa; }
.pmsc-diagnostic-box { margin-bottom:20px; }
.pmsc-diagnostic-list { font-size:.9em; margin-top:5px; }
.pmsc-session-choice-section { background:#f9f9f9; border-radius:8px; margin-bottom:25px; }
.pmsc-section-title { margin-top:0; }
/* v1.8.2 — Profil complet : base HTML stylable par Elementor */
.pmsc-profile-wrapper { width: 100%; }
.pmsc-profile-form { display: flex; flex-direction: column; gap: 24px; }
.pmsc-profile-section { display: flex; flex-direction: column; gap: 16px; padding: 22px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; box-sizing: border-box; }
.pmsc-profile-section-title { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; font-size: 1.12rem; line-height: 1.3; }
.pmsc-profile-section-icon { display: inline-flex; line-height: 1; color: var(--pmsc-context-accent, #2271b1); }
.pmsc-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pmsc-profile-field { display: flex; flex-direction: column; gap: 6px; width: 100%; margin: 0; }
.pmsc-profile-label { display: inline-flex; align-items: center; gap: 4px; margin: 0; font-weight: 600; line-height: 1.35; }
.pmsc-profile-required { color: #dc2626; }
.pmsc-profile-control { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 10px; background: #fff; color: #111827; box-sizing: border-box; outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.pmsc-profile-control:focus { border-color: var(--pmsc-context-accent, #2271b1); box-shadow: 0 0 0 3px rgba(34,113,177,.14); }
.pmsc-profile-textarea { min-height: 110px; resize: vertical; }
.pmsc-profile-password-zone { display: flex; flex-direction: column; gap: 14px; padding: 18px; border: 1px solid #eef0f4; border-radius: 14px; background: #f9fafb; }
.pmsc-profile-password-title { margin: 0; font-size: 1rem; line-height: 1.35; }
.pmsc-profile-password-zone .pmsc-field-help { margin: -6px 0 0; color: #6b7280; }
.pmsc-profile-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.pmsc-profile-actions .pmsc-submit-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, opacity .2s ease; }
.pmsc-profile-actions .pmsc-submit-btn:disabled { opacity: .65; cursor: not-allowed; }
.pmsc-profile-message { min-height: 1.4em; font-weight: 600; }
.pmsc-profile-message.pmsc-feedback-pending { color: #6b7280; }
.pmsc-profile-message.pmsc-feedback-success { color: #15803d; }
.pmsc-profile-message.pmsc-feedback-error { color: #b91c1c; }
.pmsc-login-wrapper .pmsc-login-form { width:100%; }
.pmsc-login-wrapper .pmsc-field-wrap { display:flex; flex-direction:column; margin-bottom:16px; }
.pmsc-login-wrapper .pmsc-field-label { display:block; margin-bottom:6px; font-weight:500; }
.pmsc-login-wrapper .pmsc-field-input { display:block; width:100%; height:44px; padding:8px 14px; border:1px solid #ddd; border-radius:6px; font-size:15px; box-sizing:border-box; transition:border-color .2s, box-shadow .2s; outline:none; }
.pmsc-login-wrapper .pmsc-field-input:focus { border-color:#5D2A61; box-shadow:0 0 0 3px rgba(93,42,97,.15); }
.pmsc-login-wrapper .pmsc-field-remember { flex-direction:row; align-items:center; }
.pmsc-login-wrapper .pmsc-remember-label { display:flex; align-items:center; gap:8px; cursor:pointer; font-weight:400; }
.pmsc-login-wrapper .pmsc-login-btn-wrap { margin-top:8px; }
.pmsc-login-wrapper .pmsc-login-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px 24px; background:#5D2A61; color:#fff; border:none; border-radius:6px; font-size:15px; font-weight:600; cursor:pointer; transition:background .2s, transform .1s; }
.pmsc-login-wrapper .pmsc-login-btn:hover { background:#4a1f4d; }
.pmsc-login-wrapper .pmsc-login-btn:active { transform:scale(.98); }
.pmsc-login-wrapper .pmsc-login-btn[disabled] { opacity:.7; cursor:not-allowed; }
.pmsc-login-wrapper .pmsc-login-message { padding:10px 14px; margin-bottom:16px; border:1px solid; border-radius:6px; font-size:14px; }
.pmsc-login-wrapper .pmsc-error { color:#dc3545; border-color:#dc3545; background:#fff5f5; }
.pmsc-login-wrapper .pmsc-success { color:#28a745; border-color:#28a745; background:#f4fff6; }
.pmsc-login-wrapper .pmsc-lost-password { text-align:center; margin-top:14px; }
.pmsc-login-wrapper .pmsc-lost-password a { font-size:.9em; text-decoration:none; color:#5D2A61; }
.pmsc-login-wrapper .pmsc-lost-password a:hover { text-decoration:underline; }
.pmsc-login-wrapper .pmsc-auth-links { margin-top:12px; text-align:center; }
.pmsc-user-avatar { margin-bottom:10px; }
.pmsc-user-name-title,
.pmsc-tab-title { margin:0; }
.pmsc-user-role-text { opacity:.7; }
.pmsc-menu-empty-state { padding:20px; text-align:center; border:1px dashed #ccc; }
.pmsc-content-preview-empty { padding:40px; border:2px dashed #ccc; background:#fdfdfd; text-align:center; }
.pmsc-nav-container { display:flex; }
.pmsc-nav-link { text-decoration:none; display:flex; align-items:center; transition:.3s; }
.pmsc-content-area { position:relative; }
.pmsc-dynamic-header { margin-bottom:25px; padding-bottom:15px; border-bottom:1px solid #eee; }
.pmsc-breadcrumbs { font-size:.85em; opacity:.6; margin-bottom:5px; text-transform:uppercase; }
.pmsc-fixed-footer { margin-top:40px; border-top:1px solid #eee; padding-top:20px; }
.pmsc-logout-button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; transition:.3s; }
.pmsc-logout-icon { margin-right:10px; display:inline-flex; align-items:center; }
.pmsc-fade-in { animation: pmscFadeIn 0.4s ease-out; }
@keyframes pmscFadeIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:768px) {
    .pmsc-profile-wrapper .pmsc-row-2,
    .pmsc-profile-wrapper .pmsc-profile-grid,
    .pmsc-grid-2 { grid-template-columns:1fr; display:grid; }
}


.pmsc-widget-hidden-preview {
    opacity: .92;
}

.pmsc-widget-visibility-note {
    border-left: 4px solid #2271b1;
}

.pmsc-widget-shell .pmsc-alert-info,
.pmsc-widget-shell .pmsc-alert-success,
.pmsc-widget-shell .pmsc-alert-warning,
.pmsc-widget-shell .pmsc-alert-danger,
.pmsc-widget-shell .pmsc-empty-state {
    padding: 14px 16px;
    border-radius: 12px;
}


/* v1.7.8 presets et sous-zones Elementor */
.pmsc-widget-shell--preset-default {}
.pmsc-widget-shell--preset-soft {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid #e5e7eb;
}
.pmsc-widget-shell--preset-soft .pmsc-widget-header,
.pmsc-widget-shell--preset-soft .pmsc-toolbar,
.pmsc-widget-shell--preset-soft .pmsc-empty-state,
.pmsc-widget-shell--preset-soft .pmsc-alert-info,
.pmsc-widget-shell--preset-soft .pmsc-alert-success,
.pmsc-widget-shell--preset-soft .pmsc-alert-warning,
.pmsc-widget-shell--preset-soft .pmsc-alert-danger { background: #f8fafc; }

.pmsc-widget-shell--preset-outline {
  background: #fff;
  border: 2px solid #d1d5db;
}
.pmsc-widget-shell--preset-outline .pmsc-card,
.pmsc-widget-shell--preset-outline article,
.pmsc-widget-shell--preset-outline .pmsc-subcard,
.pmsc-widget-shell--preset-outline .pmsc-stat-card,
.pmsc-widget-shell--preset-outline .pmsc-action-card,
.pmsc-widget-shell--preset-outline .pmsc-empty-state,
.pmsc-widget-shell--preset-outline .pmsc-toolbar {
  border: 1px solid #d1d5db;
  box-shadow: none;
}

.pmsc-widget-shell--preset-contrast {
  background: #111827;
  color: #f9fafb;
  border: 1px solid #111827;
}
.pmsc-widget-shell--preset-contrast .pmsc-widget-header,
.pmsc-widget-shell--preset-contrast .pmsc-toolbar,
.pmsc-widget-shell--preset-contrast .pmsc-empty-state,
.pmsc-widget-shell--preset-contrast .pmsc-alert-info,
.pmsc-widget-shell--preset-contrast .pmsc-alert-success,
.pmsc-widget-shell--preset-contrast .pmsc-alert-warning,
.pmsc-widget-shell--preset-contrast .pmsc-alert-danger,
.pmsc-widget-shell--preset-contrast .pmsc-card,
.pmsc-widget-shell--preset-contrast article,
.pmsc-widget-shell--preset-contrast .pmsc-subcard,
.pmsc-widget-shell--preset-contrast .pmsc-stat-card,
.pmsc-widget-shell--preset-contrast .pmsc-action-card {
  background: #1f2937;
  color: #f9fafb;
  border-color: rgba(255,255,255,.12);
}
.pmsc-widget-shell--preset-contrast .pmsc-widget-title,
.pmsc-widget-shell--preset-contrast .pmsc-widget-subtitle,
.pmsc-widget-shell--preset-contrast th,
.pmsc-widget-shell--preset-contrast td,
.pmsc-widget-shell--preset-contrast p,
.pmsc-widget-shell--preset-contrast li,
.pmsc-widget-shell--preset-contrast strong,
.pmsc-widget-shell--preset-contrast small,
.pmsc-widget-shell--preset-contrast label {
  color: inherit;
}
.pmsc-widget-shell--preset-contrast input,
.pmsc-widget-shell--preset-contrast select,
.pmsc-widget-shell--preset-contrast textarea {
  background: #111827;
  color: #f9fafb;
  border-color: rgba(255,255,255,.18);
}

.pmsc-widget-shell--preset-glass {
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(255,255,255,.45);
  box-shadow: 0 10px 30px rgba(15,23,42,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.pmsc-widget-shell--preset-glass .pmsc-widget-header,
.pmsc-widget-shell--preset-glass .pmsc-toolbar,
.pmsc-widget-shell--preset-glass .pmsc-empty-state,
.pmsc-widget-shell--preset-glass .pmsc-alert-info,
.pmsc-widget-shell--preset-glass .pmsc-alert-success,
.pmsc-widget-shell--preset-glass .pmsc-alert-warning,
.pmsc-widget-shell--preset-glass .pmsc-alert-danger,
.pmsc-widget-shell--preset-glass .pmsc-card,
.pmsc-widget-shell--preset-glass article,
.pmsc-widget-shell--preset-glass .pmsc-subcard,
.pmsc-widget-shell--preset-glass .pmsc-stat-card,
.pmsc-widget-shell--preset-glass .pmsc-action-card {
  background: rgba(255,255,255,.72);
}

.pmsc-widget-shell--buttons-soft .button,
.pmsc-widget-shell--buttons-soft .button-primary,
.pmsc-widget-shell--buttons-soft .pmsc-btn,
.pmsc-widget-shell--buttons-soft .pmsc-submit-btn,
.pmsc-widget-shell--buttons-soft .pmsc-delete-btn,
.pmsc-widget-shell--buttons-soft .pmsc-logout-button,
.pmsc-widget-shell--buttons-soft .pmsc-widget-header-button,
.pmsc-widget-shell--buttons-soft .pmsc-login-btn,
.pmsc-widget-shell--buttons-soft .pmsc-course-link,
.pmsc-widget-shell--buttons-soft .pmsc-nav-link {
  box-shadow: none;
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}
.pmsc-widget-shell--buttons-outline .button,
.pmsc-widget-shell--buttons-outline .button-primary,
.pmsc-widget-shell--buttons-outline .pmsc-btn,
.pmsc-widget-shell--buttons-outline .pmsc-submit-btn,
.pmsc-widget-shell--buttons-outline .pmsc-delete-btn,
.pmsc-widget-shell--buttons-outline .pmsc-logout-button,
.pmsc-widget-shell--buttons-outline .pmsc-widget-header-button,
.pmsc-widget-shell--buttons-outline .pmsc-login-btn,
.pmsc-widget-shell--buttons-outline .pmsc-course-link,
.pmsc-widget-shell--buttons-outline .pmsc-nav-link {
  background: transparent;
  border-width: 1px;
  border-style: solid;
}
.pmsc-widget-shell--buttons-contrast .button,
.pmsc-widget-shell--buttons-contrast .button-primary,
.pmsc-widget-shell--buttons-contrast .pmsc-btn,
.pmsc-widget-shell--buttons-contrast .pmsc-submit-btn,
.pmsc-widget-shell--buttons-contrast .pmsc-delete-btn,
.pmsc-widget-shell--buttons-contrast .pmsc-logout-button,
.pmsc-widget-shell--buttons-contrast .pmsc-widget-header-button,
.pmsc-widget-shell--buttons-contrast .pmsc-login-btn,
.pmsc-widget-shell--buttons-contrast .pmsc-course-link,
.pmsc-widget-shell--buttons-contrast .pmsc-nav-link {
  background: #111827;
  color: #fff;
  border-color: #111827;
}

.pmsc-toolbar,
.pmsc-actions-row,
.pmsc-filter-row,
.pmsc-dashboard-quick-actions,
.pmsc-manager-header,
.pmsc-user-search {
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.pmsc-empty-state,
.pmsc-alert-info,
.pmsc-alert-success,
.pmsc-alert-warning,
.pmsc-alert-danger,
.pmsc-widget-visibility-note {
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}


/* v1.7.9 presets métier, variantes et finesse visuelle */
.pmsc-widget-shell--context-admin {
  --pmsc-context-accent: #7c3aed;
}
.pmsc-widget-shell--context-admin .pmsc-widget-header-badge,
.pmsc-widget-shell--context-admin .pmsc-alert-pill {
  background: rgba(124, 58, 237, .12);
  color: #6d28d9;
}
.pmsc-widget-shell--context-admin .pmsc-toolbar,
.pmsc-widget-shell--context-admin .pmsc-manager-header,
.pmsc-widget-shell--context-admin .pmsc-actions-row,
.pmsc-widget-shell--context-admin .pmsc-filter-row {
  background: linear-gradient(180deg, rgba(124,58,237,.06), rgba(124,58,237,.02));
  border-color: rgba(124,58,237,.18);
}

.pmsc-widget-shell--context-data {
  --pmsc-context-accent: #0f766e;
}
.pmsc-widget-shell--context-data .pmsc-stat-card,
.pmsc-widget-shell--context-data .pmsc-doc-stat,
.pmsc-widget-shell--context-data .pmsc-alert-pill {
  background: linear-gradient(180deg, rgba(15,118,110,.08), rgba(255,255,255,.95));
  border-color: rgba(15,118,110,.20);
}

.pmsc-widget-shell--context-documents {
  --pmsc-context-accent: #2563eb;
}
.pmsc-widget-shell--context-documents .pmsc-doc-card,
.pmsc-widget-shell--context-documents .pmsc-course-card,
.pmsc-widget-shell--context-documents .pmsc-card {
  border-color: rgba(37,99,235,.18);
}
.pmsc-widget-shell--context-documents .pmsc-doc-type,
.pmsc-widget-shell--context-documents .pmsc-badge {
  background: rgba(37,99,235,.10);
  color: #1d4ed8;
}

.pmsc-widget-shell--context-workflow {
  --pmsc-context-accent: #ea580c;
}
.pmsc-widget-shell--context-workflow .pmsc-request-form,
.pmsc-widget-shell--context-workflow .pmsc-enroll-container,
.pmsc-widget-shell--context-workflow .pmsc-toolbar {
  border-color: rgba(234,88,12,.18);
}

.pmsc-widget-shell--context-identity {
  --pmsc-context-accent: #0891b2;
}
.pmsc-widget-shell--context-identity .pmsc-widget-header,
.pmsc-widget-shell--context-identity .pmsc-profile-wrapper .pmsc-form-section,
.pmsc-widget-shell--context-identity .pmsc-login-wrapper .pmsc-login-form {
  border-color: rgba(8,145,178,.16);
}

.pmsc-widget-shell--context-alerts {
  --pmsc-context-accent: #ca8a04;
}
.pmsc-widget-shell--context-alerts .pmsc-alert-info,
.pmsc-widget-shell--context-alerts .pmsc-alert-success,
.pmsc-widget-shell--context-alerts .pmsc-alert-warning,
.pmsc-widget-shell--context-alerts .pmsc-alert-danger,
.pmsc-widget-shell--context-alerts .pmsc-notification-list li {
  border-left: 4px solid rgba(202,138,4,.45);
}

.pmsc-widget-shell .pmsc-stat-card,
.pmsc-widget-shell .pmsc-doc-stat,
.pmsc-widget-shell .pmsc-alert-pill {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
}

.pmsc-widget-shell .pmsc-stat-title,
.pmsc-widget-shell .pmsc-stat-description {
  line-height: 1.35;
}

.pmsc-widget-shell .pmsc-stat-value {
  font-size: clamp(1.25rem, 2vw, 1.85rem);
  font-weight: 700;
}

.pmsc-widget-shell .pmsc-toolbar-form .pmsc-input,
.pmsc-widget-shell .pmsc-toolbar-form .pmsc-manager-input,
.pmsc-widget-shell .pmsc-toolbar-form .pmsc-form-control,
.pmsc-widget-shell .pmsc-doc-filters .pmsc-form-control,
.pmsc-widget-shell .pmsc-period-form .pmsc-form-control {
  min-width: 180px;
}

.pmsc-widget-shell tbody tr.is-active,
.pmsc-widget-shell tbody tr.current,
.pmsc-widget-shell tbody tr.pmsc-row-active,
.pmsc-widget-shell .pmsc-notification-list li.is-active,
.pmsc-widget-shell .pmsc-activity-list li.is-active {
  box-shadow: inset 3px 0 0 rgba(37,99,235,.75);
}

.pmsc-widget-shell .pmsc-notification-list,
.pmsc-widget-shell .pmsc-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pmsc-widget-shell .pmsc-notification-list li,
.pmsc-widget-shell .pmsc-activity-list li {
  padding: 12px 14px;
  border-bottom: 1px solid #eef2f7;
}

.pmsc-widget-shell .pmsc-btn-link,
.pmsc-widget-shell .pmsc-nav-link,
.pmsc-widget-shell .pmsc-course-link {
  text-underline-offset: 2px;
}

.pmsc-widget-shell .pmsc-delete-btn,
.pmsc-widget-shell .pmsc-btn-danger {
  background: #dc2626;
  border-color: #dc2626;
  color: #fff;
}

.pmsc-widget-shell .pmsc-btn-green,
.pmsc-widget-shell .pmsc-btn-success {
  border-color: #16a34a;
}

.pmsc-widget-shell .pmsc-btn-orange,
.pmsc-widget-shell .pmsc-btn-warning {
  border-color: #ea580c;
}

.pmsc-widget-shell .pmsc-btn-ghost,
.pmsc-widget-shell .pmsc-btn-secondary,
.pmsc-widget-shell .pmsc-btn-link {
  border-color: #d1d5db;
}

@media (max-width: 1024px) {
  .pmsc-widget-shell .pmsc-settings-grid,
  .pmsc-widget-shell .pmsc-role-grid,
  .pmsc-widget-shell .pmsc-action-grid,
  .pmsc-widget-shell .pmsc-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .pmsc-widget-shell .pmsc-settings-grid,
  .pmsc-widget-shell .pmsc-role-grid,
  .pmsc-widget-shell .pmsc-action-grid,
  .pmsc-widget-shell .pmsc-content-grid,
  .pmsc-widget-shell .pmsc-stats-grid,
  .pmsc-widget-shell .pmsc-doc-grid,
  .pmsc-widget-shell .pmsc-courses-grid {
    grid-template-columns: 1fr;
  }
}


/* v1.8.0 micro-zones Elementor */
.pmsc-widget-shell .pmsc-actions-cell,
.pmsc-widget-shell .pmsc-inline-actions,
.pmsc-widget-shell .pmsc-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.pmsc-widget-shell .pmsc-user-cell,
.pmsc-widget-shell .pmsc-user-info,
.pmsc-widget-shell .pmsc-client-history-user {
    display: flex;
    align-items: center;
}

.pmsc-widget-shell .pmsc-table-wrap,
.pmsc-widget-shell .pmsc-report-table-wrap,
.pmsc-widget-shell .pmsc-activity-table {
    width: 100%;
    overflow-x: auto;
}

.pmsc-widget-shell .pmsc-table-wrap table,
.pmsc-widget-shell .pmsc-report-table-wrap table,
.pmsc-widget-shell .pmsc-activity-table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.pmsc-widget-shell .pmsc-table-caption,
.pmsc-widget-shell .pmsc-report-title,
.pmsc-widget-shell caption {
    text-align: left;
    margin-bottom: 10px;
}

.pmsc-widget-shell .pmsc-user-meta,
.pmsc-widget-shell .pmsc-course-meta,
.pmsc-widget-shell .pmsc-card-meta,
.pmsc-widget-shell .pmsc-doc-type,
.pmsc-widget-shell .pmsc-planning-details,
.pmsc-widget-shell .pmsc-request-meta {
    display: inline-flex;
    flex-wrap: wrap;
    gap: .35rem;
    align-items: center;
}

.pmsc-widget-shell .role-badge,
.pmsc-widget-shell .pmsc-badge,
.pmsc-widget-shell [class*="status-"] {
    border: 1px solid transparent;
}

.pmsc-widget-shell--context-admin .pmsc-toolbar,
.pmsc-widget-shell--context-data .pmsc-toolbar,
.pmsc-widget-shell--widget-pmsc-admin-users-widget .pmsc-toolbar,
.pmsc-widget-shell--widget-pmsc-reporting-center .pmsc-toolbar,
.pmsc-widget-shell--widget-pmsc-attendance-center .pmsc-toolbar {
    align-items: center;
    justify-content: space-between;
}

.pmsc-widget-shell .pmsc-subcard,
.pmsc-widget-shell .pmsc-form-section,
.pmsc-widget-shell .pmsc-password-change-zone,
.pmsc-widget-shell .pmsc-session-choice-section,
.pmsc-widget-shell .pmsc-student-info-section {
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.pmsc-widget-shell .pmsc-field-help,
.pmsc-widget-shell .pmsc-form-help,
.pmsc-widget-shell small.description {
    display: block;
    margin-top: 6px;
}


/* v1.8.5 — grilles internes pilotables depuis l'onglet Contenu Elementor */
.pmsc-widget-shell .pmsc-stats-grid,
.pmsc-widget-shell .pmsc-doc-grid,
.pmsc-widget-shell .pmsc-courses-grid,
.pmsc-widget-shell .pmsc-dashboard-blocks,
.pmsc-widget-shell .pmsc-action-grid,
.pmsc-widget-shell .pmsc-role-grid,
.pmsc-widget-shell .pmsc-settings-grid,
.pmsc-widget-shell .pmsc-content-grid,
.pmsc-widget-shell .pmsc-grid-2,
.pmsc-widget-shell .pmsc-enroll-grid,
.pmsc-widget-shell .pmsc-form-row,
.pmsc-widget-shell .pmsc-profile-grid {
    display: grid;
}
.pmsc-widget-shell--grid-1 .pmsc-stats-grid,
.pmsc-widget-shell--grid-1 .pmsc-doc-grid,
.pmsc-widget-shell--grid-1 .pmsc-courses-grid,
.pmsc-widget-shell--grid-1 .pmsc-dashboard-blocks,
.pmsc-widget-shell--grid-1 .pmsc-action-grid,
.pmsc-widget-shell--grid-1 .pmsc-role-grid,
.pmsc-widget-shell--grid-1 .pmsc-settings-grid,
.pmsc-widget-shell--grid-1 .pmsc-content-grid,
.pmsc-widget-shell--grid-1 .pmsc-grid-2,
.pmsc-widget-shell--grid-1 .pmsc-enroll-grid,
.pmsc-widget-shell--grid-1 .pmsc-form-row,
.pmsc-widget-shell--grid-1 .pmsc-profile-grid { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
.pmsc-widget-shell--grid-2 .pmsc-stats-grid,
.pmsc-widget-shell--grid-2 .pmsc-doc-grid,
.pmsc-widget-shell--grid-2 .pmsc-courses-grid,
.pmsc-widget-shell--grid-2 .pmsc-dashboard-blocks,
.pmsc-widget-shell--grid-2 .pmsc-action-grid,
.pmsc-widget-shell--grid-2 .pmsc-role-grid,
.pmsc-widget-shell--grid-2 .pmsc-settings-grid,
.pmsc-widget-shell--grid-2 .pmsc-content-grid,
.pmsc-widget-shell--grid-2 .pmsc-grid-2,
.pmsc-widget-shell--grid-2 .pmsc-enroll-grid,
.pmsc-widget-shell--grid-2 .pmsc-form-row,
.pmsc-widget-shell--grid-2 .pmsc-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.pmsc-widget-shell--grid-3 .pmsc-stats-grid,
.pmsc-widget-shell--grid-3 .pmsc-doc-grid,
.pmsc-widget-shell--grid-3 .pmsc-courses-grid,
.pmsc-widget-shell--grid-3 .pmsc-dashboard-blocks,
.pmsc-widget-shell--grid-3 .pmsc-action-grid,
.pmsc-widget-shell--grid-3 .pmsc-role-grid,
.pmsc-widget-shell--grid-3 .pmsc-settings-grid,
.pmsc-widget-shell--grid-3 .pmsc-content-grid,
.pmsc-widget-shell--grid-3 .pmsc-grid-2,
.pmsc-widget-shell--grid-3 .pmsc-enroll-grid,
.pmsc-widget-shell--grid-3 .pmsc-form-row,
.pmsc-widget-shell--grid-3 .pmsc-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.pmsc-widget-shell--grid-4 .pmsc-stats-grid,
.pmsc-widget-shell--grid-4 .pmsc-doc-grid,
.pmsc-widget-shell--grid-4 .pmsc-courses-grid,
.pmsc-widget-shell--grid-4 .pmsc-dashboard-blocks,
.pmsc-widget-shell--grid-4 .pmsc-action-grid,
.pmsc-widget-shell--grid-4 .pmsc-role-grid,
.pmsc-widget-shell--grid-4 .pmsc-settings-grid,
.pmsc-widget-shell--grid-4 .pmsc-content-grid,
.pmsc-widget-shell--grid-4 .pmsc-grid-2,
.pmsc-widget-shell--grid-4 .pmsc-enroll-grid,
.pmsc-widget-shell--grid-4 .pmsc-form-row,
.pmsc-widget-shell--grid-4 .pmsc-profile-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) {
    .pmsc-widget-shell--grid-tablet-1 .pmsc-stats-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-doc-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-courses-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-tablet-1 .pmsc-action-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-role-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-settings-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-content-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-grid-2, .pmsc-widget-shell--grid-tablet-1 .pmsc-enroll-grid, .pmsc-widget-shell--grid-tablet-1 .pmsc-form-row, .pmsc-widget-shell--grid-tablet-1 .pmsc-profile-grid { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-tablet-2 .pmsc-stats-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-doc-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-courses-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-tablet-2 .pmsc-action-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-role-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-settings-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-content-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-grid-2, .pmsc-widget-shell--grid-tablet-2 .pmsc-enroll-grid, .pmsc-widget-shell--grid-tablet-2 .pmsc-form-row, .pmsc-widget-shell--grid-tablet-2 .pmsc-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-tablet-3 .pmsc-stats-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-doc-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-courses-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-tablet-3 .pmsc-action-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-role-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-settings-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-content-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-grid-2, .pmsc-widget-shell--grid-tablet-3 .pmsc-enroll-grid, .pmsc-widget-shell--grid-tablet-3 .pmsc-form-row, .pmsc-widget-shell--grid-tablet-3 .pmsc-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-tablet-4 .pmsc-stats-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-doc-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-courses-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-tablet-4 .pmsc-action-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-role-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-settings-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-content-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-grid-2, .pmsc-widget-shell--grid-tablet-4 .pmsc-enroll-grid, .pmsc-widget-shell--grid-tablet-4 .pmsc-form-row, .pmsc-widget-shell--grid-tablet-4 .pmsc-profile-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
    .pmsc-widget-shell--grid-mobile-1 .pmsc-stats-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-doc-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-courses-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-mobile-1 .pmsc-action-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-role-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-settings-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-content-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-grid-2, .pmsc-widget-shell--grid-mobile-1 .pmsc-enroll-grid, .pmsc-widget-shell--grid-mobile-1 .pmsc-form-row, .pmsc-widget-shell--grid-mobile-1 .pmsc-profile-grid { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-mobile-2 .pmsc-stats-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-doc-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-courses-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-mobile-2 .pmsc-action-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-role-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-settings-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-content-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-grid-2, .pmsc-widget-shell--grid-mobile-2 .pmsc-enroll-grid, .pmsc-widget-shell--grid-mobile-2 .pmsc-form-row, .pmsc-widget-shell--grid-mobile-2 .pmsc-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-mobile-3 .pmsc-stats-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-doc-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-courses-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-mobile-3 .pmsc-action-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-role-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-settings-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-content-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-grid-2, .pmsc-widget-shell--grid-mobile-3 .pmsc-enroll-grid, .pmsc-widget-shell--grid-mobile-3 .pmsc-form-row, .pmsc-widget-shell--grid-mobile-3 .pmsc-profile-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .pmsc-widget-shell--grid-mobile-4 .pmsc-stats-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-doc-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-courses-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-dashboard-blocks, .pmsc-widget-shell--grid-mobile-4 .pmsc-action-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-role-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-settings-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-content-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-grid-2, .pmsc-widget-shell--grid-mobile-4 .pmsc-enroll-grid, .pmsc-widget-shell--grid-mobile-4 .pmsc-form-row, .pmsc-widget-shell--grid-mobile-4 .pmsc-profile-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}


/* v1.9.2 — widget PMSC - Gestion Utilisateurs amélioré */
.pmsc-admin-users-shell .pmsc-admin-users-toolbar {
    width: 100%;
    justify-content: space-between;
}
.pmsc-admin-users-shell .pmsc-admin-users-filters {
    align-items: center;
}
.pmsc-admin-users-shell .pmsc-admin-users-search {
    min-width: min(260px, 100%);
}
.pmsc-admin-users-shell .pmsc-admin-users-role-filter {
    min-width: min(220px, 100%);
}
.pmsc-admin-users-shell .pmsc-admin-users-summary {
    margin-top: 12px;
    margin-bottom: 12px;
}
.pmsc-admin-users-shell .pmsc-admin-user-cell {
    min-width: 220px;
}
.pmsc-admin-users-shell .pmsc-admin-user-meta {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}
.pmsc-admin-users-shell .pmsc-admin-user-name {
    line-height: 1.25;
}
.pmsc-admin-users-shell .pmsc-admin-user-login {
    line-height: 1.2;
}
.pmsc-admin-users-shell .pmsc-admin-role-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.pmsc-admin-users-shell .pmsc-admin-actions-cell {
    justify-content: flex-end;
    gap: 8px;
}
.pmsc-admin-users-shell .pmsc-admin-users-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
}
.pmsc-admin-users-shell .pmsc-admin-users-pagination a,
.pmsc-admin-users-shell .pmsc-admin-users-pagination span {
    min-width: 38px;
    min-height: 38px;
    padding: 8px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 1px solid #d8dee8;
    background: #fff;
    color: #1f2937;
    border-radius: 10px;
}
.pmsc-admin-users-shell .pmsc-admin-users-pagination .current {
    background: #0073aa;
    color: #fff;
    border-color: #0073aa;
}
.pmsc-admin-users-shell .pmsc-admin-users-table caption {
    caption-side: top;
    font-weight: 700;
    padding: 0 0 10px;
}
@media (max-width: 767px) {
    .pmsc-admin-users-shell .pmsc-admin-users-toolbar,
    .pmsc-admin-users-shell .pmsc-admin-users-filters,
    .pmsc-admin-users-shell .pmsc-admin-actions-cell {
        align-items: stretch;
        flex-direction: column;
    }
    .pmsc-admin-users-shell .pmsc-admin-users-create,
    .pmsc-admin-users-shell .pmsc-admin-users-filter-btn,
    .pmsc-admin-users-shell .pmsc-admin-users-reset,
    .pmsc-admin-users-shell .pmsc-admin-enroll-action,
    .pmsc-admin-users-shell .pmsc-admin-manage-action {
        width: 100%;
    }
}


/* v1.9.4 — corrections du tableau Gestion Utilisateurs */
.pmsc-admin-users-shell .pmsc-admin-users-table td.pmsc-user-cell,
.pmsc-admin-users-shell .pmsc-admin-users-table td.pmsc-admin-role-cell,
.pmsc-admin-users-shell .pmsc-admin-users-table td.pmsc-actions-cell {
    display: table-cell !important;
    vertical-align: middle;
}

.pmsc-admin-users-shell .pmsc-admin-user-cell-inner,
.pmsc-admin-users-shell .pmsc-role-badge-list,
.pmsc-admin-users-shell .pmsc-actions-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.pmsc-admin-users-shell .pmsc-admin-user-cell-inner {
    gap: 10px;
}

.pmsc-admin-users-shell .pmsc-admin-role-list {
    justify-content: flex-start;
}

.pmsc-admin-users-shell .pmsc-admin-actions-list {
    justify-content: flex-end;
}

.pmsc-admin-users-shell .pmsc-admin-email-cell a {
    word-break: break-word;
}

/* v1.9.5 — alignements et actions du widget Gestion Utilisateurs */
.pmsc-admin-users-shell .pmsc-admin-users-table th,
.pmsc-admin-users-shell .pmsc-admin-users-table td {
    vertical-align: middle;
}

.pmsc-admin-users-shell.pmsc-admin-users-valign-top .pmsc-admin-users-table th,
.pmsc-admin-users-shell.pmsc-admin-users-valign-top .pmsc-admin-users-table td { vertical-align: top !important; }
.pmsc-admin-users-shell.pmsc-admin-users-valign-middle .pmsc-admin-users-table th,
.pmsc-admin-users-shell.pmsc-admin-users-valign-middle .pmsc-admin-users-table td { vertical-align: middle !important; }
.pmsc-admin-users-shell.pmsc-admin-users-valign-bottom .pmsc-admin-users-table th,
.pmsc-admin-users-shell.pmsc-admin-users-valign-bottom .pmsc-admin-users-table td { vertical-align: bottom !important; }

.pmsc-admin-users-shell.pmsc-admin-users-user-align-left .pmsc-col-user,
.pmsc-admin-users-shell.pmsc-admin-users-user-align-left .pmsc-admin-user-cell { text-align: left !important; }
.pmsc-admin-users-shell.pmsc-admin-users-user-align-center .pmsc-col-user,
.pmsc-admin-users-shell.pmsc-admin-users-user-align-center .pmsc-admin-user-cell { text-align: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-user-align-right .pmsc-col-user,
.pmsc-admin-users-shell.pmsc-admin-users-user-align-right .pmsc-admin-user-cell { text-align: right !important; }
.pmsc-admin-users-shell.pmsc-admin-users-user-align-left .pmsc-admin-user-cell-inner { justify-content: flex-start !important; }
.pmsc-admin-users-shell.pmsc-admin-users-user-align-center .pmsc-admin-user-cell-inner { justify-content: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-user-align-right .pmsc-admin-user-cell-inner { justify-content: flex-end !important; }

.pmsc-admin-users-shell.pmsc-admin-users-role-align-left .pmsc-col-role,
.pmsc-admin-users-shell.pmsc-admin-users-role-align-left .pmsc-admin-role-cell { text-align: left !important; }
.pmsc-admin-users-shell.pmsc-admin-users-role-align-center .pmsc-col-role,
.pmsc-admin-users-shell.pmsc-admin-users-role-align-center .pmsc-admin-role-cell { text-align: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-role-align-right .pmsc-col-role,
.pmsc-admin-users-shell.pmsc-admin-users-role-align-right .pmsc-admin-role-cell { text-align: right !important; }
.pmsc-admin-users-shell.pmsc-admin-users-role-align-left .pmsc-admin-role-list { justify-content: flex-start !important; }
.pmsc-admin-users-shell.pmsc-admin-users-role-align-center .pmsc-admin-role-list { justify-content: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-role-align-right .pmsc-admin-role-list { justify-content: flex-end !important; }

.pmsc-admin-users-shell.pmsc-admin-users-email-align-left .pmsc-col-email,
.pmsc-admin-users-shell.pmsc-admin-users-email-align-left .pmsc-admin-email-cell { text-align: left !important; }
.pmsc-admin-users-shell.pmsc-admin-users-email-align-center .pmsc-col-email,
.pmsc-admin-users-shell.pmsc-admin-users-email-align-center .pmsc-admin-email-cell { text-align: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-email-align-right .pmsc-col-email,
.pmsc-admin-users-shell.pmsc-admin-users-email-align-right .pmsc-admin-email-cell { text-align: right !important; }

.pmsc-admin-users-shell.pmsc-admin-users-actions-align-left .pmsc-col-actions,
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-left .pmsc-admin-actions-cell { text-align: left !important; }
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-center .pmsc-col-actions,
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-center .pmsc-admin-actions-cell { text-align: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-right .pmsc-col-actions,
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-right .pmsc-admin-actions-cell { text-align: right !important; }
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-left .pmsc-admin-actions-list { justify-content: flex-start !important; }
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-center .pmsc-admin-actions-list { justify-content: center !important; }
.pmsc-admin-users-shell.pmsc-admin-users-actions-align-right .pmsc-admin-actions-list { justify-content: flex-end !important; }

.pmsc-admin-users-shell .pmsc-admin-wp-action,
.pmsc-admin-users-shell .pmsc-admin-protected-note {
    white-space: nowrap;
}

/* v1.9.9 — stabilisation ciblée du widget Inscription Formation */
.pmsc-widget-shell .pmsc-enrollment-user-picker {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
    padding: 18px;
}

.pmsc-widget-shell .pmsc-enrollment-user-picker-grid {
    align-items: end;
}

.pmsc-widget-shell .pmsc-enrollment-user-picker-btn {
    justify-self: start;
}

.pmsc-widget-shell .pmsc-waitlist-note {
    margin-bottom: 16px;
    padding: 12px 14px;
    border-radius: 10px;
}

.pmsc-widget-shell .pmsc-session-choice-section,
.pmsc-widget-shell .pmsc-student-info-section,
.pmsc-widget-shell .pmsc-waitlist-option {
    position: relative;
}

.pmsc-widget-shell .pmsc-enrollment-empty-user {
    margin-top: 0;
}

.pmsc-widget-shell .pmsc-enrollment-empty-formations {
    margin-top: 1rem;
}


/* v1.9.9 — retrait visuel de l'ancien widget et sélecteurs plus précis */
.pmsc-widget-shell .pmsc-legacy-enrollment-form .pmsc-field-label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
}

.pmsc-widget-shell .pmsc-enrollment-empty-formations + .pmsc-enrollment-form {
    display: none;
}

/* v1.9.9 — interface liste d’attente pilotée par la source réelle des sessions */
.pmsc-enrollment-form .pmsc-source-modern-only[hidden],
.pmsc-enrollment-form .pmsc-source-legacy-only[hidden] {
    display: none !important;
}

/* v1.10.0 — durcissement sécurité Manager Utilisateur et cohérence CFP moderne côté serveur */

/* v1.10.1 — réglages du bouton Nouveau membre dans Gestion Utilisateurs */
.pmsc-admin-users-shell .pmsc-admin-users-create-icon {
    line-height: 1;
}

/* v1.10.9 — Widget PMSC - Catalogue Formations */
.pmsc-widget-shell .pmsc-catalog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pmsc-widget-gap, 22px);
}

.pmsc-widget-shell .pmsc-catalog-grid--list {
    grid-template-columns: 1fr !important;
}

.pmsc-widget-shell .pmsc-catalog-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    box-shadow: 0 8px 26px rgba(15, 23, 42, .05);
}

.pmsc-widget-shell .pmsc-catalog-grid--list .pmsc-catalog-card {
    display: grid;
    grid-template-columns: minmax(180px, 280px) 1fr;
}

.pmsc-widget-shell .pmsc-catalog-image-wrap {
    background: #f4f7fb;
    overflow: hidden;
}

.pmsc-widget-shell .pmsc-catalog-image {
    width: 100%;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    object-fit: cover;
}

.pmsc-widget-shell .pmsc-catalog-image--placeholder {
    color: #64748b;
    background: linear-gradient(135deg, #f8fafc, #eef2ff);
}

.pmsc-widget-shell .pmsc-catalog-image--placeholder .dashicons {
    width: auto;
    height: auto;
    font-size: 34px;
}

.pmsc-widget-shell .pmsc-catalog-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.pmsc-widget-shell .pmsc-catalog-badges,
.pmsc-widget-shell .pmsc-catalog-meta,
.pmsc-widget-shell .pmsc-catalog-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.pmsc-widget-shell .pmsc-catalog-title {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.25;
}

.pmsc-widget-shell .pmsc-catalog-title a {
    color: inherit;
    text-decoration: none;
}

.pmsc-widget-shell .pmsc-catalog-excerpt {
    margin: 0;
    color: #475569;
}

.pmsc-widget-shell .pmsc-catalog-meta span,
.pmsc-widget-shell .pmsc-catalog-sessions span,
.pmsc-widget-shell .pmsc-catalog-places {
    color: #64748b;
    font-size: .92rem;
}

.pmsc-widget-shell .pmsc-catalog-sessions {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.pmsc-widget-shell .pmsc-catalog-session-count,
.pmsc-widget-shell .pmsc-catalog-places {
    font-weight: 700;
}

.pmsc-widget-shell .pmsc-catalog-actions {
    margin-top: auto;
}

.pmsc-widget-shell .pmsc-catalog-status--available {
    background: #dcfce7;
    color: #166534;
}

.pmsc-widget-shell .pmsc-catalog-status--waitlist {
    background: #fff7ed;
    color: #9a3412;
}

.pmsc-widget-shell .pmsc-catalog-status--complete,
.pmsc-widget-shell .pmsc-catalog-status--no_session {
    background: #f1f5f9;
    color: #475569;
}

@media (max-width: 767px) {
    .pmsc-widget-shell .pmsc-catalog-grid,
    .pmsc-widget-shell .pmsc-catalog-grid--list,
    .pmsc-widget-shell .pmsc-catalog-grid--list .pmsc-catalog-card {
        grid-template-columns: 1fr !important;
    }
}

.pmsc-widget-shell .pmsc-catalog-grid--list .pmsc-catalog-card--no-image {
    grid-template-columns: 1fr;
}

/* v1.11.0 — Widget PMSC - Sessions Formation */
.pmsc-widget-shell .pmsc-sessions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--pmsc-widget-gap, 18px);
}

.pmsc-widget-shell .pmsc-sessions-grid--list {
    grid-template-columns: 1fr !important;
}

.pmsc-widget-shell .pmsc-session-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    overflow: hidden;
    min-width: 0;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.pmsc-widget-shell .pmsc-session-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
}

.pmsc-widget-shell .pmsc-sessions-grid--list .pmsc-session-card-body {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) 1.4fr minmax(160px, .8fr) auto;
    align-items: center;
}

.pmsc-widget-shell .pmsc-session-badges,
.pmsc-widget-shell .pmsc-session-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.pmsc-widget-shell .pmsc-session-date,
.pmsc-widget-shell .pmsc-session-location {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
}

.pmsc-widget-shell .pmsc-session-date .dashicons,
.pmsc-widget-shell .pmsc-session-location .dashicons {
    width: auto;
    height: auto;
    color: #64748b;
}

.pmsc-widget-shell .pmsc-session-date-end,
.pmsc-widget-shell .pmsc-session-places {
    color: #64748b;
    font-size: .92rem;
}

.pmsc-widget-shell .pmsc-session-title {
    margin: 0;
    font-size: 1.12rem;
    line-height: 1.3;
}

.pmsc-widget-shell .pmsc-session-title a,
.pmsc-widget-shell .pmsc-sessions-table a {
    color: inherit;
    text-decoration: none;
}

.pmsc-widget-shell .pmsc-session-places {
    font-weight: 700;
}

.pmsc-widget-shell .pmsc-session-actions {
    margin-top: auto;
}

.pmsc-widget-shell .pmsc-session-status--available {
    background: #dcfce7;
    color: #166534;
}

.pmsc-widget-shell .pmsc-session-status--waitlist {
    background: #fff7ed;
    color: #9a3412;
}

.pmsc-widget-shell .pmsc-session-status--complete {
    background: #f1f5f9;
    color: #475569;
}

.pmsc-widget-shell .pmsc-sessions-table-wrap {
    overflow-x: auto;
}

.pmsc-widget-shell .pmsc-sessions-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
}

.pmsc-widget-shell .pmsc-sessions-table th,
.pmsc-widget-shell .pmsc-sessions-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
}

.pmsc-widget-shell .pmsc-sessions-table th {
    background: #f8fafc;
    color: #334155;
    font-weight: 700;
}

@media (max-width: 767px) {
    .pmsc-widget-shell .pmsc-sessions-grid,
    .pmsc-widget-shell .pmsc-sessions-grid--list,
    .pmsc-widget-shell .pmsc-sessions-grid--list .pmsc-session-card-body {
        grid-template-columns: 1fr !important;
    }
}

/* PMSC — Demande d'inscription */
.pmsc-enrollment-request-card {
    padding: 24px;
}
.pmsc-enrollment-request-form {
    display: grid;
    gap: 18px;
}
.pmsc-enrollment-request-grid {
    align-items: start;
}
.pmsc-enrollment-request-form .pmsc-form-section {
    display: grid;
    gap: 14px;
}
.pmsc-enrollment-request-form p {
    margin: 0;
}
.pmsc-enrollment-request-form .pmsc-form-help {
    margin: 0;
    color: var(--pmsc-muted, #64748b);
}
.pmsc-enrollment-request-consent {
    margin-top: 10px;
}
.pmsc-enrollment-request-submit {
    justify-self: start;
}
.pmsc-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
@media (max-width: 767px) {
    .pmsc-enrollment-request-card {
        padding: 18px;
    }
    .pmsc-enrollment-request-submit {
        width: 100%;
    }
}

/* PMSC v1.14.0 — Validation des demandes d'inscription */
.pmsc-enrollment-request-validation-shell .pmsc-validation-summary {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}
.pmsc-enrollment-request-admin-list {
    display: grid;
    gap: 1rem;
}
.pmsc-enrollment-request-admin-list--compact {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.pmsc-enrollment-request-admin-card {
    display: grid;
    gap: .85rem;
}
.pmsc-validation-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.pmsc-validation-title {
    margin: .45rem 0 .15rem;
}
.pmsc-validation-subtitle,
.pmsc-validation-id,
.pmsc-validation-meta,
.pmsc-validation-contact,
.pmsc-validation-message {
    color: var(--pmsc-muted, #64748b);
}
.pmsc-validation-contact,
.pmsc-validation-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem 1rem;
}
.pmsc-validation-message {
    border-left: 3px solid currentColor;
    padding-left: .85rem;
}
.pmsc-validation-response-field {
    margin-bottom: .75rem;
}
.pmsc-validation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}
.pmsc-validation-action--danger {
    border-color: #dc2626 !important;
    color: #dc2626 !important;
}
.pmsc-badge-source {
    opacity: .82;
}

/* PMSC v1.14.0 — Mes Formations */
.pmsc-my-formations-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.pmsc-mini-stat {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.pmsc-mini-stat strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    color: var(--pmsc-primary, #2563eb);
}

.pmsc-mini-stat span {
    display: block;
    margin-top: 6px;
    font-size: 0.86rem;
    color: var(--pmsc-muted, #64748b);
}

.pmsc-my-formations-list {
    display: grid;
    gap: 18px;
}

.pmsc-my-formations-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pmsc-my-formations-widget--list .pmsc-my-formations-list,
.pmsc-my-formations-widget--timeline .pmsc-my-formations-list {
    grid-template-columns: 1fr;
}

.pmsc-my-formation-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.pmsc-my-formations-widget--list .pmsc-my-formation-card,
.pmsc-my-formations-widget--timeline .pmsc-my-formation-card {
    flex-direction: row;
    align-items: stretch;
}

.pmsc-my-formations-widget--timeline .pmsc-my-formation-card::before {
    content: '';
    width: 5px;
    background: var(--pmsc-primary, #2563eb);
    flex: 0 0 5px;
}

.pmsc-my-formation-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f1f5f9;
}

.pmsc-my-formations-widget--list .pmsc-my-formation-thumb,
.pmsc-my-formations-widget--timeline .pmsc-my-formation-thumb {
    width: 220px;
    min-height: 100%;
    aspect-ratio: auto;
    flex: 0 0 220px;
}

.pmsc-my-formation-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pmsc-my-formation-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    flex: 1;
}

.pmsc-my-formation-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.pmsc-status-badge,
.pmsc-period-badge,
.pmsc-source-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
}

.pmsc-status-badge--confirmed,
.pmsc-period-badge--current {
    color: #166534;
    background: #dcfce7;
}

.pmsc-status-badge--pending,
.pmsc-period-badge--unscheduled {
    color: #854d0e;
    background: #fef3c7;
}

.pmsc-status-badge--waitlist,
.pmsc-period-badge--upcoming {
    color: #1d4ed8;
    background: #dbeafe;
}

.pmsc-status-badge--cancelled,
.pmsc-period-badge--past {
    color: #991b1b;
    background: #fee2e2;
}

.pmsc-status-badge--completed {
    color: #334155;
    background: #e2e8f0;
}

.pmsc-source-badge {
    color: #475569;
    background: #f1f5f9;
}

.pmsc-my-formation-title {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.25;
}

.pmsc-my-formation-title a {
    color: inherit;
    text-decoration: none;
}

.pmsc-my-formation-title a:hover {
    color: var(--pmsc-primary, #2563eb);
}

.pmsc-my-formation-summary {
    margin: 0;
    color: var(--pmsc-muted, #64748b);
}

.pmsc-my-formation-meta {
    display: grid;
    gap: 8px;
    margin: 0;
}

.pmsc-my-formation-meta div {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 10px;
    align-items: baseline;
}

.pmsc-my-formation-meta dt {
    font-size: 0.78rem;
    font-weight: 800;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.pmsc-my-formation-meta dd {
    margin: 0;
    color: #0f172a;
}

.pmsc-my-formation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: auto;
}

.pmsc-btn-linklike {
    background: transparent;
    border-color: transparent;
    color: var(--pmsc-primary, #2563eb);
    box-shadow: none;
}

@media (max-width: 900px) {
    .pmsc-my-formations-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pmsc-my-formations-widget--list .pmsc-my-formation-card,
    .pmsc-my-formations-widget--timeline .pmsc-my-formation-card {
        flex-direction: column;
    }

    .pmsc-my-formations-widget--list .pmsc-my-formation-thumb,
    .pmsc-my-formations-widget--timeline .pmsc-my-formation-thumb {
        width: 100%;
        flex-basis: auto;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 640px) {
    .pmsc-my-formations-stats {
        grid-template-columns: 1fr;
    }

    .pmsc-my-formation-meta div {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .pmsc-my-formation-actions .pmsc-btn {
        width: 100%;
        justify-content: center;
    }
}

/* PMSC v1.19.0 — Mes Documents */
.pmsc-my-documents-widget .pmsc-doc-center {
    display: grid;
    gap: 18px;
}

.pmsc-my-documents-widget .pmsc-doc-center > .pmsc-card {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 18px;
    background: #ffffff;
}

.pmsc-my-documents-widget .pmsc-doc-grid {
    align-items: stretch;
}

.pmsc-my-documents-widget .pmsc-doc-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 100%;
}

.pmsc-my-documents-widget .pmsc-doc-card h4 {
    margin: 0;
    line-height: 1.25;
}

.pmsc-my-documents-widget .pmsc-doc-card p {
    margin: 0;
}

.pmsc-my-documents-widget .pmsc-inline-actions {
    margin-top: auto;
}

.pmsc-my-documents-widget--list .pmsc-doc-grid,
.pmsc-my-documents-widget--compact .pmsc-doc-grid {
    grid-template-columns: 1fr !important;
}

.pmsc-my-documents-widget--list .pmsc-doc-card {
    display: grid;
    grid-template-columns: minmax(140px, 0.8fr) minmax(220px, 1.6fr) auto;
    align-items: center;
}

.pmsc-my-documents-widget--list .pmsc-doc-card h4,
.pmsc-my-documents-widget--list .pmsc-doc-card p,
.pmsc-my-documents-widget--list .pmsc-doc-card .pmsc-inline-actions {
    margin: 0;
}

.pmsc-my-documents-widget--compact .pmsc-doc-card {
    padding: 14px 16px;
}

.pmsc-my-documents-widget--compact .pmsc-doc-card p,
.pmsc-my-documents-widget--compact .pmsc-doc-stats,
.pmsc-my-documents-widget--compact .pmsc-doc-filters {
    font-size: 0.92rem;
}

@media (max-width: 780px) {
    .pmsc-my-documents-widget--list .pmsc-doc-card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
}

/* PMSC v1.19.0 — Liste d'attente */
.pmsc-waitlist-business-widget .pmsc-waitlist-stats {
    margin-bottom: 18px;
}
.pmsc-waitlist-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    flex-wrap: wrap;
}
.pmsc-waitlist-toolbar .pmsc-inline-feedback {
    flex: 1 1 260px;
    min-height: 1.4em;
}
.pmsc-waitlist-toolbar-actions,
.pmsc-waitlist-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.pmsc-waitlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}
.pmsc-waitlist-grid--compact {
    grid-template-columns: 1fr;
}
.pmsc-waitlist-business-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.pmsc-waitlist-business-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.pmsc-waitlist-rank {
    font-weight: 700;
    color: var(--pmsc-muted, #64748b);
}
.pmsc-waitlist-business-title {
    margin: 0;
    font-size: 1.15rem;
}
.pmsc-waitlist-contact,
.pmsc-waitlist-session,
.pmsc-waitlist-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--pmsc-muted, #64748b);
    font-size: .92rem;
}
.pmsc-waitlist-formation {
    font-weight: 700;
}
.pmsc-waitlist-formation a {
    text-decoration: none;
}
.pmsc-waitlist-action-note {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(14, 165, 233, .1);
    color: #0369a1;
    font-size: .85rem;
    font-weight: 700;
}
.pmsc-waitlist-table .pmsc-waitlist-actions {
    justify-content: flex-start;
}
@media (max-width: 767px) {
    .pmsc-waitlist-toolbar,
    .pmsc-waitlist-business-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* PMSC v1.19.0 — Tableau de bord formateur */
.pmsc-trainer-dashboard-widget .pmsc-trainer-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
    margin-bottom: 20px;
}
.pmsc-trainer-stat {
    padding: 18px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}
.pmsc-trainer-stat strong {
    display: block;
    font-size: 1.7rem;
    line-height: 1;
    margin-bottom: 6px;
}
.pmsc-trainer-stat span {
    color: var(--pmsc-muted, #64748b);
    font-size: .92rem;
}
.pmsc-trainer-session-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}
.pmsc-trainer-session-grid--list {
    grid-template-columns: 1fr !important;
}
.pmsc-trainer-session-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow: 0 12px 28px rgba(15, 23, 42, .07);
}
.pmsc-trainer-session-head,
.pmsc-trainer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}
.pmsc-trainer-date {
    color: var(--pmsc-muted, #64748b);
    font-weight: 700;
}
.pmsc-trainer-session-title {
    margin: 0;
    font-size: 1.2rem;
}
.pmsc-trainer-session-meta {
    display: flex;
    flex-direction: column;
    gap: 5px;
    color: var(--pmsc-muted, #64748b);
    font-size: .94rem;
}
.pmsc-trainer-attendance-chip,
.pmsc-trainer-muted {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: .86rem;
    font-weight: 700;
}
.pmsc-trainer-attendance-chip {
    background: rgba(34, 197, 94, .12);
    color: #166534;
}
.pmsc-trainer-muted {
    background: rgba(100, 116, 139, .12);
    color: #475569;
}
.pmsc-trainer-table .pmsc-trainer-actions {
    justify-content: flex-start;
}
.pmsc-trainer-attendance-panel {
    margin-top: 24px;
}
@media (max-width: 767px) {
    .pmsc-trainer-session-head,
    .pmsc-trainer-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* PMSC v1.19.0 — Présences / Émargement */
.pmsc-attendance-emargement-widget .pmsc-attendance-emargement-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.pmsc-attendance-emargement-widget .pmsc-attendance-head-card {
    border-left: 4px solid var(--pmsc-primary, #2563eb);
}
.pmsc-attendance-emargement-widget .pmsc-attendance-table select[disabled],
.pmsc-attendance-emargement-widget .pmsc-attendance-table textarea[disabled] {
    opacity: .72;
    cursor: not-allowed;
}
.pmsc-attendance-emargement-widget .pmsc-attendance-message {
    margin-top: 12px;
}
@media (max-width: 767px) {
    .pmsc-attendance-emargement-widget .pmsc-attendance-table th,
    .pmsc-attendance-emargement-widget .pmsc-attendance-table td {
        min-width: 180px;
    }
}

/* PMSC v1.19.0 — Évaluations Formation */
.pmsc-evaluations-formation-widget .pmsc-evaluation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin: 18px 0;
}
.pmsc-evaluations-formation-widget .pmsc-evaluation-rating {
    padding: 14px;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
}
.pmsc-evaluations-formation-widget .pmsc-rating-options {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
}
.pmsc-evaluations-formation-widget .pmsc-rating-options label {
    cursor: pointer;
}
.pmsc-evaluations-formation-widget .pmsc-rating-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.pmsc-evaluations-formation-widget .pmsc-rating-options span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid rgba(15, 23, 42, .18);
    font-weight: 700;
}
.pmsc-evaluations-formation-widget .pmsc-rating-options input:checked + span {
    background: #1f6feb;
    border-color: #1f6feb;
    color: #fff;
}
.pmsc-evaluations-formation-widget .pmsc-evaluation-breakdown {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}
.pmsc-evaluations-formation-widget .pmsc-evaluation-breakdown-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(15, 23, 42, .04);
}
.pmsc-evaluations-formation-widget .pmsc-hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}


/* PMSC v1.20.1 — Statistiques Formation */
.pmsc-training-stats-widget .pmsc-training-stats {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.pmsc-training-stats-widget .pmsc-training-stats .pmsc-card {
    border: 1px solid rgba(37, 99, 235, .12);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .08);
}
.pmsc-training-stats-widget .pmsc-training-stats .pmsc-flex-head {
    align-items: flex-start;
}
.pmsc-training-stats-filter {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.pmsc-training-stats-state {
    border-left: 4px solid var(--pmsc-primary, #2563eb);
}
.pmsc-simple-chart {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}
.pmsc-simple-chart-row {
    display: grid;
    gap: 7px;
}
.pmsc-simple-chart-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--pmsc-muted, #64748b);
    font-size: .92rem;
}
.pmsc-simple-chart-meta span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pmsc-simple-chart-meta strong {
    color: var(--pmsc-text, #0f172a);
    font-size: .96rem;
}
.pmsc-simple-chart-track {
    height: 9px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
}
.pmsc-simple-chart-track span {
    display: block;
    width: var(--pmsc-bar-width, 0%);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--pmsc-primary, #2563eb), rgba(37, 99, 235, .48));
}
.pmsc-chart-empty {
    margin: 12px 0 0;
    color: var(--pmsc-muted, #64748b);
}
@media (max-width: 767px) {
    .pmsc-training-stats-filter,
    .pmsc-training-stats-widget .pmsc-training-stats .pmsc-flex-head {
        align-items: stretch;
        flex-direction: column;
    }
    .pmsc-training-stats-filter .pmsc-form-control-inline,
    .pmsc-training-stats-filter .button {
        width: 100%;
    }
}


/* PMSC v1.21.1 — Statistiques Formation */
.pmsc-training-stats-widget .pmsc-period-range {
    margin: 6px 0 0;
    color: var(--pmsc-muted, #64748b);
    font-size: .92rem;
}
.pmsc-training-stats-widget .pmsc-export-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.pmsc-training-stats-widget .pmsc-export-actions .button {
    min-width: 84px;
    text-align: center;
}
.pmsc-training-stats-widget .pmsc-simple-chart-track:focus-within,
.pmsc-training-stats-widget .pmsc-simple-chart-track:focus {
    outline: 2px solid var(--pmsc-primary, #2563eb);
    outline-offset: 2px;
}
