/* POLYREY HSE — styles de base partagés */
:root {
    --app-ink: #172b4d;
    --app-muted: #66758b;
    --app-line: #e4eaf2;
    --app-surface: #ffffff;
    --app-page: #f3f6fa;
    --app-primary: #2563eb;
    --app-primary-dark: #1d4ed8;
    --app-radius: 16px;
    --app-shadow: 0 8px 24px rgba(26, 43, 71, .055);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    background: var(--app-page);
    color: var(--app-ink);
    font-family: "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.layout { display: flex; min-height: 100vh; }

/* Navigation partagée */
.sidebar {
    position: fixed;
    z-index: 1030;
    inset: 0 auto 0 0;
    width: 260px;
    min-width: 260px;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: hidden;
    background: linear-gradient(180deg, #17243b 0%, #1d2d49 55%, #17243b 100%);
    color: #fff;
    box-shadow: 8px 0 28px rgba(15, 23, 42, .12);
}
.logo { padding: 18px 16px 20px; border-bottom: 1px solid rgba(255,255,255,.08); }
.logo h2 { margin: 0; font-size: 1.35rem; font-weight: 750; letter-spacing: -.03em; }
.logo span { color: #a9b6c8; font-size: .84rem; }
.logo-box { padding: 9px 10px; background: #fff; border-radius: 14px; box-shadow: 0 8px 22px rgba(6, 17, 37, .18); }
.logo-img { display: block; width: 200px; max-width: 100%; height: auto; margin: auto; }
.sidebar .sidebar-nav { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 5px; padding: 18px 12px 14px; }
.sidebar-section-label { margin: 12px 10px 4px; color: #8da2c1; font-size: .66rem; font-weight: 800; letter-spacing: .13em; }
.sidebar-section-label:first-child { margin-top: 2px; }
.sidebar .sidebar-nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: #d7e1f0;
    font-size: .9rem;
    font-weight: 550;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.sidebar .sidebar-nav a:hover { border-color: rgba(156, 187, 255, .12); background: rgba(255,255,255,.07); color: #fff; transform: translateX(2px); }
.sidebar .sidebar-nav a.active { border-color: rgba(119, 164, 255, .25); background: linear-gradient(100deg, rgba(37, 99, 235, .34), rgba(37, 99, 235, .17)); color: #fff; box-shadow: inset 3px 0 #70a2ff, 0 5px 14px rgba(5, 16, 37, .12); }
.sidebar .sidebar-nav a i { display: inline-flex; width: 30px; height: 30px; flex: 0 0 30px; align-items: center; justify-content: center; margin: 0; border: 1px solid rgba(180, 204, 242, .1); border-radius: 10px; background: rgba(255,255,255,.07); color: #a9c4ff; font-size: .98rem; text-align: center; }
.sidebar .sidebar-nav a.active i { border-color: rgba(153, 190, 255, .22); background: rgba(77, 137, 255, .22); color: #d8e7ff; }
.sidebar .sidebar-nav a.sidebar-logout { margin-top: auto; border-top: 1px solid rgba(255,255,255,.1); border-radius: 0; padding-top: 16px; color: #c6d0df; }
.sidebar .sidebar-nav a.sidebar-logout i { color: #ffb2b2; }
.sidebar .sidebar-nav a.sidebar-logout:hover { border-color: transparent; background: rgba(255, 100, 100, .09); color: #fff; }

/* Contenu commun */
.main-content { flex: 1; min-width: 0; margin-left: 260px; padding: 0 clamp(12px, 2vw, 28px) 28px; }
.main-content > .container-fluid, .main-content > .container { width: 100%; max-width: 1540px; margin-right: auto; margin-left: auto; }
.main-content > .container-fluid { padding-right: 0; padding-left: 0; }
.card {
    overflow: hidden;
    border: 1px solid var(--app-line) !important;
    border-radius: var(--app-radius) !important;
    background: var(--app-surface);
    box-shadow: var(--app-shadow);
}
.card-header { padding: 16px 20px; border-bottom: 1px solid var(--app-line); background: #fff; color: var(--app-ink); }
.card-body { padding: 22px; }
.page-title { margin-bottom: 22px; }

/* Boutons, formulaires et tableaux */
body .btn > .bi-plus-lg, body .sessions-primary-btn > .bi-plus-lg, body .dashboard-btn > .bi-plus-lg { font-size:1rem; line-height:1; font-weight:normal; }
.btn {
    min-height: 40px;
    border-radius: 10px;
    font-weight: 650;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { border-color: var(--app-primary); background: var(--app-primary); box-shadow: 0 4px 10px rgba(37,99,235,.14); }
.btn-primary:hover { border-color: var(--app-primary-dark); background: var(--app-primary-dark); }
.btn-secondary, .btn-dark { border-color: #d6dfeb; background: #fff; color: #34445c; }
.btn-secondary:hover, .btn-dark:hover { border-color: #bbc9da; background: #f7f9fc; color: #172b4d; }
.btn-success { box-shadow: 0 4px 10px rgba(22,163,74,.12); }
/* Palette commune des actions : ajouter bleu, modifier ambre, supprimer rouge.
   Les couleurs sont centralisées pour les boutons Bootstrap et les boutons à icône. */
:root { --app-action-add:#2563eb; --app-action-add-hover:#1d4ed8; --app-action-edit:#fff3d6; --app-action-edit-ink:#8f5906; --app-action-delete:#fff0ed; --app-action-delete-ink:#c43e32; }
body :is(.btn-primary,.btn-success,.session-create-btn-primary,.sessions-primary-btn,.employee-document-add-button,.dashboard-btn[href="session-create.php"]) { background:var(--app-action-add)!important; border-color:var(--app-action-add)!important; color:#fff!important; box-shadow:0 4px 10px #2563eb1a; }
body :is(.btn-primary,.btn-success,.session-create-btn-primary,.sessions-primary-btn,.employee-document-add-button,.dashboard-btn[href="session-create.php"]):hover { background:var(--app-action-add-hover)!important; border-color:var(--app-action-add-hover)!important; color:#fff!important; }
body :is(.btn-warning,.btn-outline-warning,.session-edit-btn-primary) { background:var(--app-action-edit)!important; border-color:#f2d49a!important; color:var(--app-action-edit-ink)!important; box-shadow:none; }
body :is(.btn-warning,.btn-outline-warning,.session-edit-btn-primary):hover { background:#ffe6ad!important; border-color:#eabf69!important; color:#784701!important; }
body :is(.btn-danger,.btn-outline-danger,.session-participant-delete,.employee-document-delete) { background:var(--app-action-delete)!important; border-color:#f1c6bf!important; color:var(--app-action-delete-ink)!important; box-shadow:none; }
body :is(.btn-danger,.btn-outline-danger,.session-participant-delete,.employee-document-delete):hover { background:#ffe0da!important; border-color:#eaa49a!important; color:#a52e24!important; }
body :is(.btn-warning,.btn-outline-warning,.session-edit-btn-primary):focus-visible { outline:3px solid #eabf6980; outline-offset:3px; }
body :is(.btn-danger,.btn-outline-danger,.session-participant-delete,.employee-document-delete):focus-visible { outline:3px solid #eaa49a80; outline-offset:3px; }
body .dropdown-item[href^="session-edit.php"] { color:var(--app-action-edit-ink); }
body .dropdown-item[href^="session-edit.php"]:hover { background:var(--app-action-edit); }
.form-label { margin-bottom: 7px; color: #34445c; font-size: .9rem; font-weight: 650; }
.form-control, .form-select, .input-group-text {
    min-height: 44px;
    border-color: #d9e2ed;
    border-radius: 10px;
    color: var(--app-ink);
}
.form-control, .form-select { background-color: #fff; }
.form-control:focus, .form-select:focus { border-color: #8fb4ff; box-shadow: 0 0 0 .22rem rgba(37,99,235,.12); }
.input-group > .form-control, .input-group > .form-select { border-radius: 10px; }
.input-group > .btn { border-radius: 10px; }
.form-check-input { width: 1.15em; height: 1.15em; border-color: #a9b7c9; cursor: pointer; }
.form-check-input:checked { border-color: var(--app-primary); background-color: var(--app-primary); }
.form-check-label { color: #34445c; cursor: pointer; }
.table-responsive { border: 1px solid var(--app-line); border-radius: 12px; }
.table { margin-bottom: 0; color: #26364c; }
.table th { padding: 13px 15px; border-bottom: 1px solid var(--app-line); background: #f7f9fc; color: #64748b; font-size: .77rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; vertical-align: middle; white-space: nowrap; }
.table td { padding: 14px 15px; border-color: #edf1f6; vertical-align: middle; }
.table-hover tbody tr:hover { background: #f8fbff; }
.badge { padding: .48em .72em; border-radius: 999px; font-weight: 650; }
.alert { border: 1px solid transparent; border-radius: 12px; }
.pagination { gap: 4px; }
.page-link { border-color: var(--app-line); border-radius: 8px !important; color: var(--app-primary); }

/* Éléments génériques conservés pour les pages qui les partagent */
.kpi-card { text-align: center; }
.kpi-number { font-size: 42px; font-weight: 750; }
.filtre { padding: 3px 8px; border-radius: 4px; font-size: 11px; }
.form-check { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }

/* FullCalendar partagé */
.fc { font-family: inherit; }
.fc-event { padding: 2px 5px !important; border: 0 !important; border-radius: 6px !important; font-size: 11px !important; font-weight: 700; cursor: pointer; }
.fc-daygrid-event { white-space: normal !important; }
.fc-event:hover { opacity: .9; }
.fc .fc-toolbar-title { color: #172b4d; font-size: 20px !important; font-weight: 800; }
.fc .fc-button { padding: .35rem .65rem !important; border: 1px solid #d6dfeb; border-radius: 8px; background: #fff; color: #34445c; box-shadow: none; font-size: 12px !important; font-weight: 700; }
.fc .fc-button:hover { border-color: #b8c7db; background: #f7f9fc; color: #172b4d; }
.fc .fc-button-primary:not(:disabled).fc-button-active, .fc .fc-button-primary:not(:disabled):active { border-color: var(--app-primary); background: var(--app-primary); color: #fff; }
.fc .fc-daygrid-day-number { color: #34445c; font-size: 12px; font-weight: 600; }
.fc .fc-col-header-cell-cushion { color: #64748b; font-size: 11px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.fc .fc-daygrid-event { margin-top: 3px; }
.fc .fc-event-title { white-space: normal; }

@media (max-width: 900px) {
    .sidebar { width: 76px; min-width: 76px; }
    .logo { padding: 10px 6px; }
    .logo-box { padding: 5px; }
    .logo-img { width: 58px; height: 48px; object-fit: cover; object-position: left center; }
    .logo h2, .logo > span { display: none; }
    .sidebar .sidebar-nav { min-height: 0; align-items: center; padding: 12px 7px; }
    .sidebar-section-label { display: none; }
    .sidebar .sidebar-nav a { width: 58px; justify-content: center; padding: 9px 6px; font-size: 0; }
    .sidebar .sidebar-nav a i { width: 36px; height: 36px; flex-basis: 36px; font-size: 1.05rem; }
    .sidebar .sidebar-nav a.sidebar-logout { width: 58px; margin-top: auto; padding-top: 12px; }
    .main-content { margin-left: 76px; }
}
@media (max-width: 575.98px) {
    .main-content { padding-right: 10px; padding-left: 10px; }
    .card-body { padding: 16px; }
    .main-content > .container-fluid.p-4 { padding-top: 16px !important; padding-bottom: 16px !important; }
    .btn { min-height: 38px; }
}

/* Signature discrète sous la déconnexion. */
.sidebar .sidebar-signature { display:block; flex-shrink:0; padding:3px 12px 0; color:#9aacc4; font-size:10px; line-height:1.5; letter-spacing:.02em; }
.sidebar .sidebar-signature span { color:#788fae; }
@media (max-width:900px) { .sidebar .sidebar-signature { padding:2px 0 0; text-align:center; font-size:8px; } .sidebar .sidebar-signature span { display:block; } }

.sidebar .sidebar-logout-form{margin-top:auto;flex-shrink:0}.sidebar .sidebar-logout-form .sidebar-logout{display:flex;align-items:center;gap:12px;width:100%;padding:16px 12px 10px;border:0;border-top:1px solid rgba(255,255,255,.1);background:transparent;color:#c6d0df;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}.sidebar .sidebar-logout-form .sidebar-logout i{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:rgba(255,255,255,.07);color:#ffb2b2}.sidebar .sidebar-logout-form .sidebar-logout:hover{background:rgba(255,100,100,.09);color:white}@media(max-width:900px){.sidebar .sidebar-logout-form .sidebar-logout{width:58px;justify-content:center;font-size:0;padding:12px 6px 9px}.sidebar .sidebar-logout-form .sidebar-logout i{font-size:1.05rem;width:36px;height:36px;flex-basis:36px}}

/* Identité du compte connecté dans la navigation partagée. */
.sidebar .sidebar-account{display:flex;align-items:center;gap:10px;margin-top:auto;padding:12px 10px 8px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}
.sidebar .sidebar-account-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:11px;background:rgba(77,137,255,.16);color:#b7d1ff}
.sidebar .sidebar-account-details{display:grid;min-width:0;gap:3px}
.sidebar .sidebar-account-details small{color:#8da2c1;font-size:.65rem}
.sidebar .sidebar-account-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#eef4ff;font-size:.8rem;font-weight:600}
.sidebar .sidebar-account-details>span{color:#9aacc4;font-size:.65rem}
.sidebar .sidebar-logout-form{margin-top:0}
.sidebar .sidebar-logout-form .sidebar-logout{border-top:0;padding-top:8px}
@media(max-width:900px){.sidebar .sidebar-account{justify-content:center;width:58px;padding:10px 0 3px}.sidebar .sidebar-account-details{display:none}}
/* Rubriques de navigation ; le compte reste visible en pied de sidebar. */
.sidebar .sidebar-menu{display:flex;flex:1;min-height:0;flex-direction:column;gap:4px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#415776 transparent}
.sidebar .sidebar-account{margin-top:0}
@media(max-height:850px) and (min-width:901px){.sidebar .logo{padding:12px 16px}.sidebar .sidebar-nav{padding-top:10px;gap:3px}.sidebar .sidebar-menu{gap:2px}.sidebar .sidebar-menu a{padding:6px 12px}.sidebar .sidebar-menu a i{width:26px;height:26px;flex-basis:26px}.sidebar .sidebar-section-label{margin-top:7px;margin-bottom:2px}.sidebar .sidebar-account{padding-top:8px;padding-bottom:3px}}
@media(max-width:900px){.sidebar .sidebar-menu{align-items:center;width:100%}.sidebar .sidebar-menu a{flex-shrink:0}}
/* Navigation FormaRey compacte, commune à toutes les pages. */
.sidebar{width:82px;min-width:82px;background:#eef2f7;color:#52647d;box-shadow:none;border-right:1px solid #dfe6ef;overflow:visible}
.sidebar .logo{display:block;flex:0 0 72px;padding:13px 17px;border-bottom:1px solid #dfe6ef}
.sidebar .logo-box{width:46px;height:46px;overflow:hidden;padding:0;border-radius:0;background:transparent;box-shadow:none}
.sidebar .logo-img{width:180px;max-width:none;height:auto;margin:0;mix-blend-mode:multiply}
.sidebar .sidebar-nav{padding:12px 10px 10px;gap:8px;align-items:center;overflow:visible}
.sidebar .sidebar-section-label{display:none}
.sidebar .sidebar-menu{display:grid;grid-template-rows:repeat(11,minmax(0,1fr));gap:4px;width:100%;flex:1;max-height:490px;overflow:visible;align-items:stretch}
.sidebar .sidebar-menu a{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:12px;color:#64748b;background:transparent;font-size:0;transform:none}
.sidebar .sidebar-menu a i{width:36px;height:36px;flex:0 0 36px;border:0;background:transparent;color:inherit;font-size:1.2rem}
.sidebar .sidebar-menu a:hover{background:#e1e9f4;color:#245ed6;transform:none;border:0}
.sidebar .sidebar-menu a.active{background:#dce8ff;color:#205cda;border:0;box-shadow:inset 3px 0 #2563eb}
.sidebar .sidebar-menu a.active i{border:0;background:transparent;color:inherit}
.sidebar .sidebar-link-label{position:absolute;z-index:1060;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:9px 13px;border-radius:8px;background:#172b4d;color:white;font-size:.8rem;font-weight:600;line-height:1.4;white-space:nowrap;box-shadow:0 5px 18px #172b4d26;opacity:0;visibility:hidden;pointer-events:none}
.sidebar .sidebar-menu a:hover .sidebar-link-label,.sidebar .sidebar-menu a:focus-visible .sidebar-link-label,.sidebar .sidebar-logout:hover .sidebar-link-label,.sidebar .sidebar-logout:focus-visible .sidebar-link-label{opacity:1;visibility:visible}
.sidebar a:focus-visible,.sidebar button:focus-visible,.sidebar .sidebar-account:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.sidebar .sidebar-account{position:relative;justify-content:center;width:100%;margin-top:auto;padding:10px 0 0;border-top:1px solid #dfe6ef;cursor:default}
.sidebar .sidebar-account-icon{flex:0 0 36px;height:36px;border-radius:50%;background:#dce8ff;color:#245ed6}
.sidebar .sidebar-account-details{display:none;position:absolute;left:calc(100% + 12px);bottom:0;width:230px;padding:12px 15px;border:1px solid #dfe6ef;border-radius:10px;background:#fff;box-shadow:0 5px 18px #172b4d16;z-index:1060}
.sidebar .sidebar-account:hover .sidebar-account-details,.sidebar .sidebar-account:focus .sidebar-account-details{display:grid}
.sidebar .sidebar-account-details strong{color:#172b4d}.sidebar .sidebar-account-details small,.sidebar .sidebar-account-details>span{color:#66758b}
.sidebar .sidebar-logout-form{width:100%;margin:0}.sidebar .sidebar-logout-form .sidebar-logout{position:relative;justify-content:center;width:100%;height:38px;padding:0;border:0;border-radius:10px;background:transparent;font-size:0;color:#b34848}
.sidebar .sidebar-logout-form .sidebar-logout i{width:36px;height:36px;flex:0 0 36px;border:0;background:transparent;color:inherit;font-size:1.1rem}
.sidebar .sidebar-logout-form .sidebar-logout:hover{background:#fbe6e6;color:#b42332}
.sidebar .sidebar-signature{padding:0;text-align:center;color:#738299;font-size:8px;line-height:1.4;letter-spacing:0}.sidebar .sidebar-signature span{display:block;color:#8795a8}
.main-content{margin-left:82px}
@media(max-height:540px){
.sidebar{inset:auto 0 0;width:100%;min-width:0;height:108px;border-right:0;border-top:1px solid #dfe6ef;background:#eef2f7}
.sidebar .logo,.sidebar .sidebar-signature{display:none}
.sidebar .sidebar-nav{padding:6px 12px;display:flex;flex-direction:row;gap:12px}
.sidebar .sidebar-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;max-height:none;height:100%;flex:1}
.sidebar .sidebar-menu a i{height:30px;width:30px;flex-basis:30px;font-size:1rem}
.sidebar .sidebar-account{width:36px;padding:0;margin:0;border:0}.sidebar .sidebar-logout-form{width:36px}
.sidebar .sidebar-link-label{left:50%;top:auto;bottom:calc(100% + 8px);transform:translateX(-50%);font-size:.7rem;padding:5px 7px}
.sidebar .sidebar-menu a:nth-of-type(1) .sidebar-link-label,.sidebar .sidebar-menu a:nth-of-type(6) .sidebar-link-label{left:0;transform:none}
.sidebar .sidebar-account-details{left:auto;right:0;bottom:calc(100% + 12px)}
.sidebar .sidebar-logout .sidebar-link-label{left:auto;right:0;transform:none}
.main-content{margin-left:0;padding-bottom:125px}
}

/* Descriptions des destinations de navigation. */
.sidebar .sidebar-link-label{width:245px;white-space:normal;padding:11px 14px;text-align:left}
.sidebar .sidebar-link-label strong{display:block;font-size:.82rem;font-weight:650;color:#fff}
.sidebar .sidebar-link-label small{display:block;margin-top:4px;font-size:.73rem;font-weight:400;line-height:1.45;color:#cedaeb}
@media(max-height:540px){.sidebar .sidebar-link-label{width:190px;max-width:calc(100vw - 24px);padding:9px 11px}.sidebar .sidebar-link-label strong{font-size:.76rem}.sidebar .sidebar-link-label small{font-size:.68rem}.sidebar .sidebar-menu a:nth-of-type(5) .sidebar-link-label,.sidebar .sidebar-menu a:nth-of-type(9) .sidebar-link-label{left:auto;right:0;transform:none}}

.app-avatar-photo{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;min-width:0;max-width:100%}.app-avatar-initials[hidden]{display:none}.personnel-avatar,.employee-hero-avatar,.employee-team-avatar,.employee-delete-avatar,.session-participant-avatar,.previsionnel-person-initials,.administration-avatar,.sidebar-account-icon{overflow:hidden;position:relative}.sidebar .sidebar-account-icon .app-avatar-initials{font-size:.7rem;font-weight:700}

/* Une alerte par salarié, indépendamment du nombre de formations concernées. */
.sidebar .sidebar-personnel-badge{position:absolute;top:2px;right:1px;display:flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 4px;border:2px solid #eef2f7;border-radius:12px;background:#dc3545;color:#fff;font-size:9px;font-weight:750;line-height:1;pointer-events:none;box-shadow:0 1px 3px #b4233220}
.sidebar .sidebar-personnel-alert{display:block;margin-top:7px;color:#ffb9bf;font-weight:600}
@media(max-height:540px){.sidebar .sidebar-personnel-badge{top:0;right:calc(50% - 26px)}}

@media(min-height:541px) and (max-height:700px){.sidebar .sidebar-menu{gap:2px}.sidebar .sidebar-menu a i{width:28px;height:28px;flex-basis:28px;font-size:1.05rem}.sidebar .sidebar-nav{gap:5px;padding-top:7px}.sidebar .logo{flex-basis:64px;padding-top:9px;padding-bottom:9px}}
@media(max-height:540px){.sidebar .sidebar-menu{grid-template-columns:repeat(6,minmax(0,1fr))}.sidebar .sidebar-menu a:nth-of-type(6) .sidebar-link-label,.sidebar .sidebar-menu a:nth-of-type(11) .sidebar-link-label{left:auto;right:0;transform:none}.sidebar .sidebar-menu a:nth-of-type(7) .sidebar-link-label{left:0;right:auto;transform:none}}

/* Séparateurs entre les catégories de la navigation compacte. */
.sidebar .sidebar-menu{grid-template-rows:minmax(0,1fr) 12px repeat(3,minmax(0,1fr)) 12px repeat(5,minmax(0,1fr)) 12px minmax(0,1fr) 12px minmax(0,1fr);max-height:530px;gap:3px}
.sidebar .sidebar-menu .sidebar-section-label{display:block;position:relative;align-self:center;justify-self:center;width:30px;height:1px;margin:0;padding:0;background:#c9d5e5;border-radius:2px;font-size:0;letter-spacing:0;overflow:visible}
.sidebar .sidebar-menu .sidebar-section-label:first-child{display:none}
.sidebar .sidebar-section-label::before{content:'';position:absolute;width:5px;height:5px;left:50%;top:50%;transform:translate(-50%,-50%);background:#91a9cc;border:1px solid #eef2f7;border-radius:50%}
.sidebar .sidebar-section-label::after{content:attr(title);position:absolute;z-index:1060;left:calc(100% + 28px);top:50%;transform:translateY(-50%);padding:7px 11px;border-radius:7px;background:#172b4d;color:#fff;font-size:.63rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none}
.sidebar .sidebar-section-label:hover::after{opacity:1;visibility:visible}
@media(max-height:700px) and (min-height:541px){.sidebar .sidebar-menu{grid-template-rows:minmax(0,1fr) 7px repeat(3,minmax(0,1fr)) 7px repeat(5,minmax(0,1fr)) 7px minmax(0,1fr) 7px minmax(0,1fr);gap:1px}.sidebar .sidebar-menu a i{height:25px;width:25px;flex-basis:25px}}
@media(max-height:540px){.sidebar .sidebar-menu{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2px;max-height:none}.sidebar .sidebar-menu .sidebar-section-label{display:none}}

.app-room-availability{display:block;margin-top:7px;color:#66758b;font-size:.74rem;line-height:1.5}

/* Confirmation commune de déconnexion. */
.app-logout-dialog{width:min(420px,calc(100% - 32px));border:1px solid #e4eaf2;border-radius:18px;padding:26px;color:#172b4d;background:#fff;box-shadow:0 20px 70px #172b4d30}
.app-logout-dialog::backdrop{background:#172b4d60;backdrop-filter:blur(3px)}
.app-logout-dialog-icon{display:grid;place-items:center;width:44px;height:44px;background:#edf3ff;color:#2563eb;border-radius:13px;font-size:1.25rem;margin-bottom:17px}
.app-logout-dialog h2{margin:0 0 10px;font-size:1.25rem;font-weight:750}
.app-logout-dialog p{margin:0 0 24px;color:#66758b;font-size:.9rem;line-height:1.6}
.app-logout-dialog-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}

/* Shared typography and dimensions for page header actions. */
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) :is(.btn,.sessions-primary-btn,.dashboard-btn,.rooms-planning-link){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:42px!important;padding:10px 15px!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:14px!important;font-weight:600!important;font-style:normal!important;line-height:20px!important;letter-spacing:normal!important;text-transform:none!important;border-radius:10px!important;white-space:nowrap;text-decoration:none}
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) :is(.btn,.sessions-primary-btn,.dashboard-btn,.rooms-planning-link)>.bi{font-size:16px!important;font-weight:400!important;line-height:1!important;margin-left:0!important;margin-right:0!important;flex-shrink:0}
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) :is(.btn,.sessions-primary-btn,.dashboard-btn,.rooms-planning-link) :is(span,strong){font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}

/* Shared page header hierarchy. */
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) h1{margin:0!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:30px!important;font-weight:700!important;font-style:normal!important;line-height:1.2!important;letter-spacing:-.025em!important;color:var(--app-ink);overflow-wrap:anywhere}
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) :is(p:not([class*="eyebrow"]):not([class*="kicker"]),[class$="-subtitle"],[class$="-description"],.lead){margin-top:6px!important;margin-bottom:0!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;font-style:normal!important;line-height:1.55!important;letter-spacing:normal!important;color:var(--app-muted)}
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) :is([class*="eyebrow"],[class*="kicker"]){margin:0 0 5px!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:.08em!important;color:var(--app-muted);text-transform:uppercase}
@media(max-width:600px){body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) h1{font-size:24px!important}}

/* Section label above page titles, including legacy header layouts. */
body .app-header-eyebrow{display:block;margin:0 0 5px!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:.08em!important;color:var(--app-muted)!important;text-transform:uppercase}
body :is(header,[class*="-hero"],.session-header,.sessions-header-card,.formarey-page-header) p.app-header-eyebrow{margin:0 0 5px!important;font-size:11px!important;font-weight:600!important;line-height:1.4!important;letter-spacing:.08em!important}
.app-header-title-group{min-width:0}

/* One page-title layout: icon at left, label/title/description at right. */
body .app-page-header{padding:24px 28px!important;border:1px solid var(--app-line)!important;border-radius:18px!important;background:var(--app-surface)!important;box-shadow:var(--app-shadow)!important;margin-bottom:22px!important;min-height:0!important}
body .app-page-header.card{padding:0!important}
body .app-page-header.card>.card-body,body .app-page-header.card>.card-header{padding:24px 28px!important;background:transparent!important;border:0!important;border-radius:18px}
body .app-page-header .app-header-copy{display:flex;align-items:center;gap:16px;min-width:0}
body .app-page-header .app-header-text{min-width:0}
body .app-page-header :is(.app-header-icon,[class$="-hero-icon"],.session-title-icon,.session-create-icon,.session-edit-icon,.sessions-header-icon,.employee-delete-icon,.formation-delete-icon,.rooms-planning-icon,.personnel-batch-icon){display:grid!important;place-items:center!important;width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:14px!important;background:#edf4ff;color:#2563eb;font-size:22px!important;margin:0!important}
body .app-page-header :is(.app-header-icon,[class$="-hero-icon"],.session-title-icon,.session-create-icon,.session-edit-icon,.sessions-header-icon)>.bi{font-size:22px!important;line-height:1!important;margin:0!important}
body .app-page-header :is([class$="-hero-copy"],.sessions-header-copy,.session-title-row,.session-create-title-row,.session-edit-title-row){gap:16px!important;align-items:center!important}
body .app-page-header h1{font-family:"Segoe UI",Arial,sans-serif!important;font-size:30px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em!important;margin:0!important}
body .app-page-header :is([class*="eyebrow"],[class*="kicker"]){display:block!important;font-family:"Segoe UI",Arial,sans-serif!important;font-size:11px!important;line-height:1.4!important;font-weight:600!important;letter-spacing:.08em!important;margin:0 0 5px!important;color:var(--app-muted)!important}
body .app-page-header :is([class*="eyebrow"],[class*="kicker"])>.bi{display:none!important}
body .app-page-header p:not([class*="eyebrow"]):not([class*="kicker"]){font-family:"Segoe UI",Arial,sans-serif!important;font-size:14px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:normal!important;margin:6px 0 0!important;color:var(--app-muted)!important}
body .app-page-header.dashboard-hero:before{display:none!important}
body .app-page-header .dashboard-today{margin-top:10px}
body .app-page-header:has(.manager-profile-avatar) .app-header-icon{display:none!important}
body .app-page-header .employee-hero-avatar{width:52px!important;height:52px!important;flex-basis:52px!important}
@media(max-width:600px){body .app-page-header,body .app-page-header.card>.card-body,body .app-page-header.card>.card-header{padding:20px!important}body .app-page-header.card{padding:0!important}body .app-page-header h1{font-size:24px!important}body .app-page-header .app-header-copy{gap:12px}}

body .app-page-header :is(.employee-hero-meta,.manager-hero-meta){font-family:"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.55;margin-top:6px}

input[data-time-input]{padding-right:38px!important;font-variant-numeric:tabular-nums;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;min-width:110px}

.app-clock-field{position:relative;flex:1;min-width:110px}.app-clock-field input[data-time-input]{background-image:none!important;width:100%}.app-clock-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;background:transparent;color:var(--app-link,#286b52);border-radius:8px}.app-clock-toggle:hover{background:var(--theme-soft,#edf4ef)}.app-clock-picker[hidden]{display:none!important}.app-clock-picker{position:fixed;width:300px;max-width:calc(100vw - 16px);padding:16px;border:1px solid var(--app-line,#dde5e0);border-radius:18px;background:var(--app-surface,#fff);color:var(--app-text,#172b49);box-shadow:0 12px 45px #00000025;z-index:1080;max-height:calc(100vh - 16px);overflow:auto}.app-clock-picker button{font:inherit;cursor:pointer;border:0;border-radius:8px;background:transparent;color:inherit}.app-clock-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px}.app-clock-heading button{font-size:24px;width:30px}.app-clock-value{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:28px;font-variant-numeric:tabular-nums}.app-clock-value button{padding:3px 10px}.app-clock-value .is-active{background:var(--theme-soft,#edf4ef);color:var(--app-link,#286b52)}.app-clock-instruction{text-align:center;font-size:11px;margin:8px 0 12px;color:var(--app-muted,#718096)}.app-clock-face{width:264px;height:264px;position:relative;border-radius:50%;background:var(--theme-soft,#f2f5f3);margin:auto}.app-clock-face button{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;font-size:12px;font-variant-numeric:tabular-nums;border-radius:50%}.app-clock-face button:hover,.app-clock-face button.is-selected{background:var(--app-link,#286b52);color:#fff}.app-clock-center{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--app-link,#286b52);left:129px;top:129px}.app-clock-shortcuts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:14px 0}.app-clock-shortcuts button{padding:6px;font-size:11px;border:1px solid var(--app-line,#dde5e0)}.app-clock-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--app-line,#dde5e0);padding-top:12px;font-size:12px}.app-clock-actions button{padding:8px 14px}.app-clock-actions [data-confirm]{background:var(--app-link,#286b52);color:#fff}.app-clock-picker button:focus-visible,.app-clock-toggle:focus-visible{outline:2px solid var(--app-link,#286b52);outline-offset:2px}

/* Repas de l’intervenant et actions du formateur */
.intervenant-meal-card{margin:0 0 24px;padding:24px;background:var(--bs-body-bg,#fff);border:1px solid #d5e3dc;border-radius:22px;display:flex;flex-wrap:wrap;gap:20px;align-items:center}.intervenant-meal-card h2{font-size:1.15rem;margin:0 0 8px}.intervenant-meal-card p{margin:0;color:#647b78}.intervenant-meal-card form{display:flex;align-items:end;gap:14px;flex:1 1 350px}.intervenant-meal-field{display:grid;gap:8px;flex:1;min-width:0;width:100%}.intervenant-meal-field>span{font-weight:650}.intervenant-meal-field small{font-weight:400;color:#647b78;font-size:.85rem}.intervenant-meal-totals{display:grid;gap:5px;flex-basis:100%;padding-top:16px;border-top:1px solid #e2ebe7}.intervenant-meal-totals span{color:#647b78}.trainer-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;background:#fff0d4;color:#8c5900;border-radius:999px;font-size:.8rem;vertical-align:middle}.trainer-task-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.trainer-task-list{overflow:hidden;background:var(--bs-body-bg,#fff);border:1px solid #d5e3dc;border-radius:22px}.trainer-task-row{display:flex;gap:18px;align-items:center;padding:24px;border-bottom:1px solid #e2ebe7}.trainer-task-row>div{flex:1;min-width:0}.trainer-task-row h2{font-size:1.12rem;margin:6px 0}.trainer-task-row p{margin:0 0 6px}.trainer-task-row small{color:#647b78}.trainer-task-icon{display:grid;place-items:center;background:#eaf3ed;color:#277762;width:48px;height:48px;border-radius:14px;flex-shrink:0}.trainer-task-empty{padding:48px;text-align:center}.trainer-task-empty>i{font-size:2rem;color:#277762}.trainer-task-empty h2{font-size:1.3rem;margin:16px 0}@media(max-width:650px){.intervenant-meal-card form{flex-wrap:wrap}.trainer-task-row{flex-wrap:wrap}.trainer-task-row>.btn{margin-left:66px}}

/* Motifs d’annulation, Pareto et restauration */
.cancellation-dialog{max-width:640px;width:calc(100% - 32px)}.cancellation-dialog .trainer-close-body{display:grid;gap:18px;padding:24px}.cancellation-dialog label{display:grid;gap:8px;font-weight:650}.cancellation-dialog label small{font-weight:400;color:#70847e}.cancellation-dialog textarea{resize:vertical}.cancellation-notice{display:flex;gap:16px;padding:22px;margin-bottom:24px;border:1px solid #f1c6c1;background:#fff3f1;border-radius:20px;color:#813b34}.cancellation-notice>i{font-size:1.4rem}.cancellation-notice p{margin:8px 0}.cancellation-notice small{display:block;margin-top:7px}.cancellation-pareto-scroll{overflow-x:auto;margin:20px 0}.cancellation-pareto-scroll svg{display:block;width:100%;min-width:740px}.cancellation-pareto-scroll text{font-size:13px;fill:#627670}.cancellation-pareto-scroll .pareto-count{font-weight:700;fill:#254d42}.rapports-kpis .cancellation-kpi-cause{font-size:1.08rem;line-height:1.4}.cancellation-reason-detail{max-width:450px;margin:6px 0;overflow-wrap:anywhere}.cancellation-detail .table td{vertical-align:top}
.intervenant-meal-overview{background:var(--bs-body-bg,#fff);border:1px solid #d5e3dc;border-radius:22px;margin-bottom:24px;overflow:hidden}.intervenant-meal-overview>header{display:flex;gap:14px;align-items:center;padding:20px 24px;border-bottom:1px solid #e1ebe6}.intervenant-meal-symbol{display:grid;place-items:center;width:46px;height:46px;background:#eaf3ed;color:#277762;border-radius:14px;font-size:1.4rem;flex-shrink:0}.intervenant-meal-overview h2{font-size:1.12rem;margin:0 0 5px}.intervenant-meal-overview header p{margin:0;color:#647b78;font-size:.95rem}.intervenant-meal-state{margin-left:auto;padding:6px 11px;border-radius:999px;font-size:.8rem;font-weight:650;white-space:nowrap}.intervenant-meal-state.is-pending{background:#fff1d5;color:#8b5a04}.intervenant-meal-state.is-confirmed{background:#e1f4e9;color:#176a43}.intervenant-meal-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);gap:24px;padding:24px}.intervenant-meal-content>form{display:flex;gap:12px;align-items:flex-start;min-width:0}.intervenant-meal-content>form>.btn{margin-top:29px;min-height:48px;white-space:nowrap}.intervenant-meal-content .form-select{min-height:48px}.intervenant-meal-summary{padding:18px;border-radius:16px;background:#f5f8f6}.intervenant-meal-numbers{display:flex;gap:18px;justify-content:space-between}.intervenant-meal-numbers>div{display:grid;gap:4px}.intervenant-meal-numbers strong{font-size:1.5rem;line-height:1.2;color:#254d42}.intervenant-meal-numbers span{font-size:.8rem;color:#647b78}.intervenant-meal-breakdown{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.intervenant-meal-breakdown>span{display:flex;gap:12px;align-items:center;background:#fff;padding:6px 10px;border:1px solid #dce8e0;border-radius:8px;font-size:.85rem}.intervenant-meal-field[hidden],.intervenant-meal-card[hidden],.cancellation-dialog [hidden]{display:none!important}@media(max-width:900px){.intervenant-meal-content{grid-template-columns:1fr}}@media(max-width:600px){.intervenant-meal-overview>header{flex-wrap:wrap}.intervenant-meal-state{margin-left:60px}.intervenant-meal-content>form{flex-wrap:wrap}.intervenant-meal-content>form>.btn{margin-top:0}.intervenant-meal-field{flex-basis:100%}}

.tasks-session-pending{margin-top:14px;padding-top:12px;border-top:1px solid #e1ebe6}.tasks-session-pending>small{font-weight:650;color:#647b78}.tasks-session-pending ul{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:8px 0 0;padding:0}.tasks-session-pending a{display:inline-flex;gap:5px;align-items:center;text-decoration:none;font-size:.88rem;color:#24715f}.tasks-session-pending a:hover{text-decoration:underline}.tasks-session-pending i{font-size:1.1rem}

/* Repas : choix compact et récapitulatif sans cartes imbriquées. */
.intervenant-meal-compact>header{padding:18px 22px;gap:12px}.intervenant-meal-compact>header>h2{margin:0;font-size:1.05rem;font-weight:650}.intervenant-meal-compact .intervenant-meal-symbol{width:36px;height:36px;border-radius:11px;font-size:1.15rem}.intervenant-meal-compact .intervenant-meal-state{display:inline-flex;gap:6px;align-items:center;font-size:.76rem;padding:5px 10px}.intervenant-meal-compact .intervenant-meal-content{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);padding:20px 22px;gap:28px;align-items:center;background:transparent;box-shadow:none}.intervenant-meal-compact .intervenant-meal-content>form.intervenant-meal-choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center;max-width:620px;margin:0;background:transparent;box-shadow:none}.intervenant-meal-compact .intervenant-meal-choice>.form-select{height:46px;min-height:46px;font-size:.95rem;padding-top:8px;padding-bottom:8px}.intervenant-meal-compact .intervenant-meal-choice>.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:46px;min-height:46px;margin:0;padding:0 16px;font-size:.9rem;line-height:1}.intervenant-meal-compact .intervenant-meal-choice>small{grid-column:1/-1;color:#70847e;font-size:.8rem;line-height:1.4}.intervenant-meal-compact .intervenant-meal-summary{padding:0 0 0 26px;border:0;border-left:1px solid #e1ebe6;border-radius:0;background:transparent!important;box-shadow:none}.intervenant-meal-compact .intervenant-meal-summary>p{margin:0;background:transparent;box-shadow:none}.intervenant-meal-compact .intervenant-meal-total{display:flex;align-items:center;gap:8px;font-size:.95rem;color:#294c43;flex-wrap:wrap}.intervenant-meal-compact .intervenant-meal-total strong{font-size:1.3rem}.intervenant-meal-compact .intervenant-meal-total>i{color:#377d68}.intervenant-meal-compact .intervenant-meal-total>small{font-size:.72rem;font-weight:400;color:#88968f}.intervenant-meal-compact .intervenant-meal-summary>.intervenant-meal-origin{margin-top:5px;font-size:.8rem;line-height:1.5;color:#70847e}.intervenant-meal-compact .intervenant-meal-origin>span{margin:0 7px}.intervenant-meal-compact .intervenant-meal-breakdown{margin:10px 0 0;gap:7px;background:transparent!important;box-shadow:none;border:0;padding:0}.intervenant-meal-compact .intervenant-meal-breakdown>span{padding:3px 8px;border-radius:6px;font-size:.76rem;background:#f4f8f6;border-color:#e1ebe6;gap:10px}.intervenant-meal-compact .intervenant-meal-confirmed-choice{margin:0;font-weight:650;color:#377d68}@media(max-width:900px){.intervenant-meal-compact .intervenant-meal-content{grid-template-columns:1fr;gap:16px}.intervenant-meal-compact .intervenant-meal-summary{padding:14px 0 0;border-left:0;border-top:1px solid #e1ebe6}}@media(max-width:600px){.intervenant-meal-compact>header{flex-wrap:nowrap;padding:16px}.intervenant-meal-compact .intervenant-meal-state{margin-left:auto}.intervenant-meal-compact>header>h2{font-size:.95rem}.intervenant-meal-compact .intervenant-meal-content{padding:16px}.intervenant-meal-compact .intervenant-meal-content>form.intervenant-meal-choice{grid-template-columns:minmax(0,1fr) auto}.intervenant-meal-compact .intervenant-meal-choice>.btn{margin:0;padding:0 12px}}

/* Même présentation du menu repas que les participants. */
.intervenant-repas-picker{position:relative;min-width:0}.intervenant-repas-picker .session-repas-picker-button{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:8px 14px;border:1px solid #dfe5ec;border-radius:11px;background:#fff;text-align:left;color:inherit}.intervenant-repas-picker .session-repas-picker-button.session-has-repas{border-color:#9fc5ff;background:#f4f8ff}.intervenant-repas-picker .session-repas-picker-icon{display:grid;place-items:center;flex:0 0 28px;font-size:18px;color:#64748b}.intervenant-repas-picker .session-repas-picker-content{flex:1;min-width:0;display:grid;gap:2px}.intervenant-repas-picker .session-repas-picker-caption{display:block;font-size:.7rem;line-height:1.2;color:#7b8798}.intervenant-repas-picker .session-repas-picker-label{font-size:.9rem;line-height:1.3;font-weight:600}.intervenant-repas-picker .session-repas-picker-chevron{flex:0 0 auto;font-size:.8rem;color:#64748b}.intervenant-repas-picker .session-repas-picker-menu{display:none;position:fixed!important;right:auto!important;bottom:auto!important;z-index:2200!important;overflow-y:auto;min-width:0!important;background:var(--app-surface,#fff);border:1px solid #e5eaf0;box-shadow:0 12px 30px #0f172a1a;box-sizing:border-box}.intervenant-repas-picker.session-open .session-repas-picker-menu{display:block!important}.intervenant-repas-picker .session-repas-option{border:0;background:transparent;color:inherit}.intervenant-repas-picker .session-repas-option:hover,.intervenant-repas-picker .session-repas-option.session-active{background:#f1f5f9}.intervenant-repas-picker .session-repas-option:focus-visible,.intervenant-repas-picker .session-repas-picker-button:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.intervenant-meal-compact .intervenant-meal-choice>.btn{height:54px;min-height:54px}.intervenant-meal-field[hidden],.intervenant-repas-picker [hidden]{display:none!important}

.cancellation-dialog .cancellation-notification-check{display:flex;gap:12px;align-items:flex-start;padding:16px;background:#f2f7f4;border:1px solid #d8e8df;border-radius:12px;font-size:.92rem;line-height:1.5;cursor:pointer}.cancellation-notification-check>input{flex:0 0 18px;width:18px;height:18px;margin-top:3px;accent-color:#277762}.cancellation-notification-check>span{flex:1}.cancellation-notification-check small{display:block;margin-top:5px;font-size:.78rem}.cancellation-notification-status i{margin-right:5px}

/* Récapitulatif explicite des repas. */
.intervenant-meal-compact .intervenant-meal-clear-summary dl{display:grid;gap:9px;margin:0;background:transparent;box-shadow:none}.intervenant-meal-compact .intervenant-meal-clear-summary dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:0;border:0;background:transparent!important;box-shadow:none;border-radius:0}.intervenant-meal-clear-summary dt{font-size:.87rem;font-weight:400;color:#70847e}.intervenant-meal-clear-summary dd{margin:0;text-align:right;font-size:.87rem;font-weight:650;color:#294c43}.intervenant-meal-clear-summary dd.meal-choice-missing{color:#9b670c;font-weight:500}.intervenant-meal-compact .intervenant-meal-clear-summary dl>.meal-total-row{padding-top:10px;margin-top:2px;border-top:1px solid #e1ebe6}.intervenant-meal-clear-summary .meal-total-row dt,.intervenant-meal-clear-summary .meal-total-row dd{font-weight:700;color:#294c43}.intervenant-meal-compact .intervenant-meal-clear-summary>.meal-summary-explanation{margin-top:8px;color:#70847e;font-size:.78rem;line-height:1.4}.intervenant-meal-clear-summary .intervenant-meal-breakdown>small{flex-basis:100%;color:#70847e;font-size:.75rem}.intervenant-meal-clear-summary .intervenant-meal-breakdown>span{gap:7px}

.session-duplicate-review-link{display:inline-flex;align-items:center;gap:3px;margin:6px 0 0 8px;font-size:.85rem;font-weight:600;color:inherit;text-underline-offset:3px;white-space:normal}.session-duplicate-review-link:hover{color:inherit;text-decoration-thickness:2px}

.trainer-task-list:has(.trainer-task-session){background:transparent;border:0;border-radius:0;overflow:visible}.trainer-task-session{border:1px solid #d5e3dc;border-radius:20px;overflow:hidden;background:var(--app-surface,#fff);margin-bottom:20px}.trainer-task-session>header{display:flex;gap:14px;align-items:center;padding:20px 24px;border-bottom:1px solid #e1ebe6;background:var(--app-soft,#f6f9f7)}.trainer-task-session>header>div{flex:1;min-width:0}.trainer-task-session h2{font-size:1.15rem;margin:0 0 5px}.trainer-task-session h2 a{color:inherit;text-decoration:none}.trainer-task-session h2 a:hover{text-decoration:underline}.trainer-task-session header p{margin:0;color:#70847e;font-size:.85rem}.trainer-task-session>ul{list-style:none;margin:0;padding:0}.trainer-task-session>ul>li{display:flex;gap:18px;align-items:center;padding:16px 24px;border-bottom:1px solid #e9efec}.trainer-task-session>ul>li:last-child{border-bottom:0}.trainer-task-session li>div{flex:1;min-width:0}.trainer-task-session h3{font-size:.98rem;margin:4px 0 5px}.trainer-task-session li p{font-size:.86rem;color:#70847e;margin:0}.trainer-task-category{font-size:.73rem;color:#367c68;font-weight:650}.trainer-task-action{display:inline-flex;gap:9px;align-items:center;font-size:.85rem;font-weight:650;text-decoration:none;white-space:nowrap;color:#26745f}.trainer-task-action:hover{text-decoration:underline}@media(max-width:600px){.trainer-task-session>header,.trainer-task-session>ul>li{padding:16px}.trainer-task-session>header{flex-wrap:wrap}.trainer-task-session>header>.trainer-task-badge{margin-left:62px}.trainer-task-session>ul>li{align-items:flex-start}.trainer-task-action{margin-top:20px}}

/* Filtres du formateur sur le fond de page, sans bandeau blanc. */
body.page-manager nav.trainer-task-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0;padding:0;background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important}body.page-manager nav.trainer-task-filters>.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;font-size:.88rem;line-height:1.2;font-weight:600;border-radius:12px;border:1px solid var(--app-line,#d5e3dc)!important;background:var(--app-surface,#fff)!important;color:var(--app-ink,#294c43)!important;box-shadow:none!important}body.page-manager nav.trainer-task-filters>.btn:hover{background:var(--app-soft,#edf5ef)!important;border-color:#81af99!important}body.page-manager nav.trainer-task-filters>.btn.is-active{background:#277762!important;border-color:#277762!important;color:#fff!important}body.page-manager nav.trainer-task-filters>.btn.is-active:hover{background:#216653!important}
