
*{box-sizing:border-box;margin:0;padding:0;}
html,body{
    height:100%;
    font-family:'Manrope',sans-serif;
    font-feature-settings:'zero' 0;
    color:#002244;
    background:linear-gradient(180deg,#f3f6ff 0%,#ffffff 100%);
    overflow:hidden;
}

:root{
    --font-ui:'Manrope',sans-serif;
    --iconePrimaire:#1193d2;
    /* Palette (sert aussi pour les icônes monotones via currentColor) */
    --iconeSecondaire:#f59c09;
    /* Autres couleurs de la charte */
    --iconeSecondaireClair:#8ed3f6;
    --iconeAccent:#f59c09;
    --iconeAccent2:#ffd405;
    --iconeAccent3:#f9b812;
}

/* Les contrôles natifs n'héritent pas toujours de la police de la page.
   On conserve ainsi la même identité que l'accueil, y compris pour les dates
   et les heures, sans variante de zéro barré. */
button,
input,
select,
textarea,
optgroup,
option{
    font-family:var(--font-ui) !important;
    font-feature-settings:'zero' 0 !important;
}
input::-webkit-datetime-edit,
input::-webkit-datetime-edit-fields-wrapper,
input::-webkit-datetime-edit-text,
input::-webkit-datetime-edit-day-field,
input::-webkit-datetime-edit-month-field,
input::-webkit-datetime-edit-year-field,
input::-webkit-datetime-edit-hour-field,
input::-webkit-datetime-edit-minute-field,
input::-webkit-datetime-edit-second-field,
input::-webkit-datetime-edit-ampm-field{
    font-family:var(--font-ui) !important;
    font-feature-settings:'zero' 0 !important;
}

/* === Structure principale === */
body {
    display:flex;
    flex-direction:column;
}

/* === Menu flottant === */
#zoneMenu {
    /* Sidebar desktop désactivée (compat modules) */
    position:fixed;
    left:0;
    top:0;
    width:0;
    height:0;
    overflow:hidden;
}

#menuFlottant {
    display:flex;
    flex-direction:column;
    gap:16px;
    background:rgba(255,255,255,0.55);
    backdrop-filter:blur(10px);
    border-radius:12px;
    padding:16px 10px;
    box-shadow:0 6px 20px rgba(0,0,0,0.12);
    animation:slideInLeft 0.6s ease forwards;
}

.orbItem{
    width:48px;height:48px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(145deg,#ffffff,#e8edff);
    color:var(--iconePrimaire);font-size:22px;cursor:pointer;
    box-shadow:0 2px 4px rgba(0,0,0,0.08);
    transition:transform 0.15s ease, background 0.2s ease;
}
.orbItem svg{width:26px;height:26px;display:block;}
.btn-action-icon svg,
.btn-header-icon svg,
.onglet-icone svg,
[data-icone-duotone] svg{
    width:16px;
    height:16px;
    display:block;
}
.onglet-icone svg{width:18px;height:18px;}
.btn-header-icon svg{width:18px;height:18px;}

/* Barre d'actions sticky (modules) */
.barre-actions-sticky{
    position:sticky;
    top:calc(var(--header-height, 64px) + 10px); /* sous le header fixe */
    z-index:70;
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(8px);
    padding:10px 0 12px;
    margin:0 0 12px;
    border-bottom:none;
}
.orbItem:hover{
    transform:translateY(-2px) scale(1.03);
    background:linear-gradient(145deg,#5c8bff,#8db3ff);
    color:white;
    --iconePrimaire:var(--iconeAccent);
    --iconeSecondaire:var(--iconeAccent2);
}
.orbItem.active{
    background:linear-gradient(145deg,#4a80ff,#76a3ff);
    color:#fff;
    box-shadow:0 0 10px rgba(90,140,255,0.5);
    --iconePrimaire:var(--iconeAccent);
    --iconeSecondaire:var(--iconeAccent2);
}

/* === Zone de travail === */
#zoneTravail {
    flex:1;
    display:flex;
    flex-direction:column;
    background:#f8faff;
    overflow:auto;
    padding:calc(var(--header-height, 64px) + 26px) 28px 40px 28px; /* espace sous header */
}
.action-loading-card{
    width:min(560px, calc(100vw - 48px));
    margin:42px auto;
    padding:24px 26px;
    border:1px solid #dbe7f7;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 16px 36px rgba(15,43,99,0.10);
    color:#0f2b63;
}
.action-loading-card h2{
    margin:0 0 8px 0;
    font-size:22px;
    line-height:1.15;
}
.action-loading-card p{
    margin:0;
    color:#52637d;
    font-size:14px;
    line-height:1.45;
}
.horaires-loading-slot{
    position:relative;
    flex:0 0 0;
    height:0;
}
.horaires-loading-slot .action-loading-card{
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
}
.horaires-loading-slot .action-loading-card[role="status"]{
    display:none;
}
#containerForm.horaires-initial-loading{visibility:hidden !important;}
.action-loading-progress{
    position:relative;
    height:6px;
    margin-top:18px;
    overflow:hidden;
    border-radius:999px;
    background:#e8f1ff;
}
.action-loading-progress::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    width:38%;
    border-radius:999px;
    background:linear-gradient(90deg,#8cc7ff,#0f8bd3);
    animation:actionLoadingSweep 950ms ease-in-out infinite;
}
@keyframes actionLoadingSweep{
    from{transform:translateX(-110%);}
    to{transform:translateX(285%);}
}
.peps-return-focus,
.peps-return-focus td{
    background:#e8f1ff !important;
    color:#0f172a !important;
}
.peps-return-focus{
    outline:2px solid rgba(37,99,235,0.28);
    outline-offset:-2px;
}
/* === Header === */
header{
    position:fixed;
    top:0;left:0;right:0;height:var(--header-height, 64px);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:0 22px;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(200,210,240,0.24);
    z-index:100;
}
.header-left{
    display:flex;
    justify-self:start;
    align-items:center;
    gap:12px;
    min-width:0;
    flex:0 0 auto;
}
header img{height:42px;}
header h1{font-size:18px;font-weight:600;letter-spacing:0.5px;color:#003366;}
header button{
    margin:0;
    background:#f59c0e;
    color:white;border:none;border-radius:10px;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 22px;font-size:15px;font-weight:500;
    cursor:pointer;
}
header button:hover,
header button:active{
    transform:none;
}
.header-logo-home{
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    -webkit-tap-highlight-color:transparent;
}
.header-logo-home img{display:block;}
.header-logo-home:hover,
.header-logo-home:focus,
.header-logo-home:active{
    border:0;
    outline:none;
    background:transparent;
    box-shadow:none;
    filter:none;
}
#btnDeconnexion{
    min-width:104px;
    height:42px;
    gap:8px;
    padding:0 12px;
    border:1px solid #f59c0e;
    border-radius:12px;
    background:#f59c0e;
    color:#ffffff;
    box-shadow:0 8px 18px rgba(245,156,14,0.18);
}
#btnDeconnexion:hover{
    background:#e88f08;
    border-color:#e88f08;
    box-shadow:0 6px 14px rgba(245,156,14,0.20);
}
#btnDeconnexion .logout-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    flex:0 0 auto;
}
#btnDeconnexion .logout-icon svg{
    display:block;
    width:18px;
    height:18px;
    stroke:currentColor;
}
#btnDeconnexion .logout-countdown{
    min-width:64px;
    color:#ffffff;
    font-size:12px;
    font-weight:650;
    line-height:1;
    text-align:left;
    font-variant-numeric:tabular-nums;
}
.header-preview-btn{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid rgba(17,147,210,0.35);
    background:#ffffff;
    color:#003366;
    border-radius:10px;
    padding:10px 12px;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    line-height:1;
    transition:transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.header-preview-btn:hover{
    transform:translateY(-1px);
    background:#eff8ff;
    box-shadow:0 8px 18px rgba(15,23,42,0.08);
}
.header-preview-btn.is-active{
    border-color:rgba(245,156,14,0.72);
    background:rgba(245,156,14,0.14);
}
.header-preview-dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:#1193d2;
    box-shadow:0 0 0 3px rgba(17,147,210,0.13);
}
.header-preview-btn.is-active .header-preview-dot{
    background:#f59c09;
    box-shadow:0 0 0 3px rgba(245,156,9,0.18);
}
.header-right{
    --header-action-height:42px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    margin-left:auto;
    flex:0 0 auto;
    justify-self:end;
}
.header-right > .header-right-action{
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    align-self:center;
    height:var(--header-action-height) !important;
    min-height:var(--header-action-height) !important;
    max-height:var(--header-action-height) !important;
    margin:0;
}
.header-action-search{
    position:relative;
    width:auto;
    min-width:0;
    margin:0;
    z-index:80;
    display:none;
    flex:0 0 auto;
    isolation:isolate;
}
.header-action-search.is-ready{
    display:inline-flex;
    align-items:center;
}
.header-action-search-toggle{
    width:42px;
    height:42px;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#ffffff;
    color:#0f2b63;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(15,23,42,0.08);
    transition:background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.header-action-search-toggle:hover,
.header-action-search.is-open .header-action-search-toggle{
    background:#eff6ff;
    border-color:#93c5fd;
    color:#1d4ed8;
    box-shadow:0 4px 12px rgba(15,23,42,0.08);
}
.header-action-search-toggle svg{
    width:18px;
    height:18px;
    display:block;
    flex:0 0 auto;
    color:currentColor;
    stroke:currentColor;
    pointer-events:none;
}
.header-action-search-toggle-icon{
    width:18px !important;
    height:18px !important;
    display:block !important;
}
.header-action-search-inner{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    width:min(420px, calc(100vw - 24px));
    height:38px;
    display:none;
    align-items:center;
    z-index:40000;
}
.header-action-search.is-open .header-action-search-inner{
    display:flex;
}
.header-action-search-inner::before,
.header-action-search-inner::after{
    content:none !important;
    display:none !important;
}
.header-action-search input{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    height:38px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#ffffff;
    box-shadow:0 1px 2px rgba(15,23,42,0.04), 0 8px 22px rgba(15,23,42,0.08);
    padding:0 58px 0 44px;
    color:#0f172a;
    font-family:'Manrope',sans-serif;
    font-size:13px;
    font-weight:700;
    outline:none;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.header-action-search .header-action-search-inner > input#headerActionSearchInput{
    appearance:none !important;
    -webkit-appearance:none !important;
    box-sizing:border-box !important;
    width:100% !important;
    height:38px !important;
    border:1px solid #cbd5e1 !important;
    border-radius:10px !important;
    padding:0 62px 0 48px !important;
    background:#ffffff !important;
    color:#0f172a !important;
    font-family:'Manrope',sans-serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:38px !important;
}
.header-action-search input::placeholder{
    color:#64748b;
    font-weight:600;
}
.header-action-search input::-webkit-search-decoration,
.header-action-search input::-webkit-search-cancel-button,
.header-action-search input::-webkit-search-results-button,
.header-action-search input::-webkit-search-results-decoration{
    display:none;
    -webkit-appearance:none;
}
.header-action-search:focus-within,
.header-action-search.is-open{
    z-index:40000;
}
.header-action-search input:focus{
    border-color:#93c5fd;
    background:#ffffff;
    box-shadow:0 0 0 3px rgba(147,197,253,0.22), 0 3px 10px rgba(15,23,42,0.06);
}
.header-action-search-icon{
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:15px;
    height:15px;
    margin:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    color:#64748b;
    pointer-events:none;
    z-index:2;
}
.header-action-search-icon svg{
    display:block;
    width:15px;
    height:15px;
    margin:0;
    flex:0 0 auto;
}
.header-action-search-kbd{
    position:absolute;
    right:8px;
    top:50%;
    transform:translateY(-50%);
    border:1px solid #e2e8f0;
    background:#f8fafc;
    color:#64748b;
    border-radius:7px;
    padding:2px 6px;
    font-size:10px;
    font-weight:800;
    pointer-events:none;
    z-index:2;
}
.header-action-results{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    display:none;
    max-height:min(360px, calc(100vh - 146px));
    overflow:auto;
    border:1px solid rgba(191,219,254,0.95);
    border-radius:12px;
    background:#ffffff;
    box-shadow:0 22px 46px rgba(15,23,42,0.24);
    padding:6px;
    z-index:40001;
}
.ligneUtilisateurMoi td{
    background:#dbeafe !important;
    border-top:1px solid #93c5fd !important;
    border-bottom:1px solid #93c5fd !important;
}
.ligneUtilisateurMoi td:first-child{box-shadow:inset 4px 0 0 #2563eb;}
.ligneUtilisateurMoi td:nth-child(2){color:#0f2b63;font-weight:900;}
.ligneUtilisateurMoi:hover td{background:#cfe3ff !important;}
.badge-moi{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:20px;
    margin-left:8px;
    padding:2px 7px;
    border:1px solid #93c5fd;
    border-radius:999px;
    background:#eff6ff;
    color:#0f2b63;
    font-size:11px;
    font-weight:850;
    vertical-align:middle;
    letter-spacing:0;
}
.header-action-search.is-open .header-action-results{
    display:block;
}
.header-action-empty{
    padding:10px 12px;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}
.header-action-result{
    width:100%;
    border:1px solid transparent;
    background:transparent;
    color:#0f2b46;
    border-radius:10px;
    padding:9px 10px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
    cursor:pointer;
    font-family:'Manrope',sans-serif;
}
.header-action-result:hover,
.header-action-result.is-active{
    background:#eff6ff;
    border-color:#bfdbfe;
}
.header-action-result-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.header-action-result-title{
    font-size:13px;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.header-action-result-path{
    font-size:11px;
    font-weight:700;
    color:#64748b;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.header-action-result-meta{
    flex:0 0 auto;
    max-width:96px;
    color:#475569;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:999px;
    padding:3px 7px;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.header-session{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:2px;
    min-width:74px;
    padding:4px 0;
}
.header-session-top,
.header-session-bottom{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:0;
    min-width:0;
}
.header-session-user{
    display:none;
}
.header-session-clock{
    font-variant-numeric:tabular-nums;
    font-size:12px;
    font-weight:700;
    color:#0f172a;
}
.header-session-env{
    display:none;
}
.header-session-env.env-dev{
    background:#eef2ff;
    border-color:#c7d2fe;
    color:#4338ca;
}
.header-session-env.env-test{
    background:#fff7ed;
    border-color:#fdba74;
    color:#c2410c;
}
.header-session-env.env-prod{
    background:#f0fdf4;
    border-color:#86efac;
    color:#15803d;
}
.header-session-countdown{
    font-size:12px;
    color:#64748b;
    font-weight:700;
}
#btnTestNotes{
    display:none;
    width:42px;
    min-width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border:1px solid #bfdbfe;
    background:#ffffff;
    color:#1d4ed8;
    border-radius:10px;
    cursor:pointer;
    transition:box-shadow 0.2s ease, background 0.2s ease, border-color .18s ease;
}
#btnTestNotes:hover{
    background:#eff6ff;
    border-color:#93c5fd;
    box-shadow:0 4px 12px rgba(15,23,42,0.08);
}
#btnTestNotes .test-notes-help-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    min-width:22px;
    height:22px;
    padding:0;
    border:1px solid #93c5fd;
    border-radius:50%;
    background:#eff6ff;
    color:#1d4ed8;
    font-family:'Manrope',sans-serif;
    font-size:16px;
    line-height:1;
    font-weight:780;
    font-style:normal;
    letter-spacing:0;
    text-transform:none;
}
#btnUserManual{
    display:inline-flex;
    position:relative;
    align-items:center;
    justify-content:center;
    width:42px;
    min-width:42px;
    height:42px;
    padding:0;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#ffffff;
    color:#1d4ed8;
    text-decoration:none;
    box-shadow:0 6px 16px rgba(15,23,42,0.08);
    transition:box-shadow 0.2s ease, background 0.2s ease, border-color .18s ease, color .18s ease;
}
#btnUserManual:hover,
#btnUserManual:focus-visible,
#btnUserManual.has-news{
    background:#eff6ff;
    border-color:#93c5fd;
    color:#1d4ed8;
    box-shadow:0 4px 12px rgba(15,23,42,0.08);
}
#btnUserManual:focus-visible{
    outline:3px solid rgba(37,99,235,0.22);
    outline-offset:2px;
}
#btnUserManual svg{
    width:20px;
    height:20px;
    display:block;
    stroke:currentColor;
}
#btnHeaderNotesService,
#btnHeaderAlertesRh,
#btnHeaderAlertesCollaborateur{
    display:none;
    position:relative;
    width:42px;
    min-width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #bfdbfe;
    background:#ffffff;
    color:#1d4ed8;
    border-radius:12px;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(15,23,42,0.08);
    transition:box-shadow 0.2s ease, background 0.2s ease, border-color .18s ease, color .18s ease;
}
#btnHeaderNotesService:hover,
#btnHeaderNotesService:focus-visible,
#btnHeaderNotesService.has-alert,
#btnHeaderAlertesRh:hover,
#btnHeaderAlertesRh.has-alert,
#btnHeaderAlertesCollaborateur:hover,
#btnHeaderAlertesCollaborateur.has-alert{
    background:#eff6ff;
    border-color:#93c5fd;
    color:#1d4ed8;
    box-shadow:0 4px 12px rgba(15,23,42,0.08);
}
#btnHeaderNotesService svg,
#btnHeaderAlertesRh svg,
#btnHeaderAlertesCollaborateur svg{
    width:19px;
    height:19px;
    display:block;
    stroke:currentColor;
}
#btnHeaderNotesService:focus-visible{
    outline:3px solid rgba(37,99,235,.22);
    outline-offset:2px;
}
.header-alertes-badge{
    position:absolute;
    top:-6px;
    right:-6px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#ef4444;
    color:#ffffff;
    border:2px solid #ffffff;
    box-shadow:0 4px 10px rgba(239,68,68,0.24);
    font-size:10px;
    font-weight:900;
    line-height:1;
    font-variant-numeric:tabular-nums;
}
.header-alertes-badge[hidden]{
    display:none !important;
}
.header-alertes-modal[hidden]{
    display:none !important;
}
.header-alertes-modal{
    position:fixed;
    inset:0;
    z-index:20000;
    display:grid;
    place-items:center;
    padding:24px;
}
.header-alertes-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,0.38);
    backdrop-filter:blur(3px);
}
.header-alertes-box{
    position:relative;
    z-index:1;
    width:min(620px, calc(100vw - 32px));
    max-height:min(760px, calc(100vh - 48px));
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
    overflow:hidden;
    border:1px solid #bfdbfe;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 24px 70px rgba(15,23,42,0.24);
}
.header-alertes-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px;
    border-bottom:1px solid #e2e8f0;
}
.header-alertes-head h3{
    margin:0;
    color:#0b3a75;
    font-size:20px;
    font-weight:800;
}
.header-alertes-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    width:40px;
    height:40px;
    padding:0;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#ffffff;
    color:#0f172a;
    cursor:pointer;
    font-size:0;
    line-height:0;
}
.header-alertes-close::before,
.header-alertes-close::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    border-radius:999px;
    background:currentColor;
    transform-origin:center;
}
.header-alertes-close::before{
    transform:translate(-50%, -50%) rotate(45deg);
}
.header-alertes-close::after{
    transform:translate(-50%, -50%) rotate(-45deg);
}
.header-alertes-close:hover{
    border-color:#93c5fd;
    background:#eff6ff;
    color:#1d4ed8;
}
.header-alertes-content{
    display:grid;
    gap:10px;
    overflow:auto;
    padding:16px 18px 18px;
    background:#f8fbff;
}
.header-alertes-item{
    display:grid;
    gap:10px;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#ffffff;
    padding:13px;
}
.header-alertes-item-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:10px;
}
.header-alertes-item-head > div:first-child{
    min-width:0;
    overflow-wrap:anywhere;
}
.header-alertes-item-head strong{
    display:block;
    color:#0b3a75;
    font-size:16px;
    font-weight:850;
    overflow-wrap:anywhere;
}
.header-alertes-item-head span{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:13px;
    font-weight:650;
    overflow-wrap:anywhere;
}
.header-alertes-chip-row{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.header-alertes-chip{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    border-radius:999px;
    background:#fee2e2;
    color:#b91c1c;
    padding:3px 9px;
    font-size:12px;
    font-weight:850;
}
.header-alertes-section-title{
    margin:2px 0 8px;
    color:#0f3574;
    font-size:13px;
    font-weight:800;
}
.header-alertes-chip-pending{
    background:#dbeafe;
    color:#1e3a8a;
}
.header-alertes-item-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
    align-items:flex-start;
}
.header-alertes-open-docs,
.header-alertes-postpone{
    min-height:36px;
    border:1px solid #93c5fd;
    border-radius:12px;
    background:#eff6ff;
    color:#1d4ed8;
    padding:7px 13px;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
}
.header-alertes-postpone{
    border-color:#cbd5e1;
    background:#ffffff;
    color:#334155;
}
.header-alertes-open-docs:hover,
.header-alertes-open-docs:focus-visible,
.header-alertes-postpone:hover,
.header-alertes-postpone:focus-visible{
    background:#2563eb;
    border-color:#2563eb;
    color:#ffffff;
    outline:none;
}
.header-alertes-empty{
    border:1px dashed #bfdbfe;
    border-radius:14px;
    background:#ffffff;
    color:#64748b;
    padding:18px;
    text-align:center;
    font-weight:700;
}
@media (max-width: 720px){
    .header-alertes-item-head{
        grid-template-columns:1fr;
    }
    .header-alertes-item-actions{
        justify-content:flex-start;
    }
}
#keyBadge{
    display:none;
    align-items:center;
    gap:8px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    border-radius:10px;
    padding:6px 10px;
}
#keyBadgeLabel{
    font-size:12px;
    color:#334155;
    font-weight:700;
}
#keyBadgeValue{
    font-family:monospace;
    font-size:13px;
    color:#0f172a;
    letter-spacing:1px;
}
#keyBadgeBtn{
    border:1px solid #93c5fd;
    background:#fff;
    color:#1d4ed8;
    border-radius:8px;
    padding:5px 8px;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.key-modal-overlay{
    position:fixed;inset:0;
    background:rgba(15,23,42,0.42);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:12000;
    padding:20px;
}
.key-modal-overlay.show{display:flex;}
.key-modal-card{
    width:100%;
    max-width:420px;
    background:#fff;
    border-radius:14px;
    border:1px solid #dbeafe;
    box-shadow:0 18px 40px rgba(0,0,0,0.20);
    padding:18px;
}
.key-modal-card h3{
    margin:0 0 8px;
    color:#0f2b46;
}
.key-modal-card p{
    margin:0 0 12px;
    color:#64748b;
    font-size:14px;
}
.key-modal-card input{
    width:100%;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:10px;
}
.account-password-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.account-password-field{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.account-password-field label{
    color:#334155;
    font-size:13px;
    font-weight:700;
}
.account-password-input-wrap{
    position:relative;
    width:100%;
}
.key-modal-card .account-password-input-wrap input{
    padding-right:44px;
}
.account-password-toggle{
    position:absolute;
    top:50%;
    right:5px;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    padding:0;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#64748b;
    cursor:pointer;
}
.account-password-toggle:hover,
.account-password-toggle:focus-visible{
    background:#eff6ff;
    color:#1d4ed8;
}
.account-password-toggle:focus-visible{
    outline:2px solid rgba(37,99,235,0.3);
    outline-offset:1px;
}
.account-password-toggle svg{
    width:19px;
    height:19px;
    display:block;
    stroke:currentColor;
}
.account-password-toggle .password-eye-off{display:none;}
.account-password-toggle[aria-pressed="true"] .password-eye{display:none;}
.account-password-toggle[aria-pressed="true"] .password-eye-off{display:block;}
.account-password-rules{
    margin:0;
    color:#64748b;
    font-size:12px;
    line-height:1.45;
}
.account-password-message{
    min-height:18px;
    color:#dc2626;
    font-size:13px;
}
.account-password-message.ok{color:#15803d;}
.key-modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:12px;
}
.key-btn-sec{
    border:1px solid #cbd5e1;
    background:#f8fafc;
    color:#334155;
    border-radius:10px;
    padding:8px 12px;
    cursor:pointer;
    font-weight:600;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.key-btn-pri{
    border:1px solid #1193d2;
    background:#1193d2;
    color:#fff;
    border-radius:10px;
    padding:8px 12px;
    cursor:pointer;
    font-weight:600;
    transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.key-btn-sec:hover{
    border-color:#93c5fd;
    background:#dbe7ff;
    color:#155ed1;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(0,91,224,.16);
}
.key-btn-pri:hover{
    border-color:#155ed1;
    background:#155ed1;
    transform:translateY(-1px);
    box-shadow:0 4px 10px rgba(0,91,224,.25);
}
.key-btn-sec:active,.key-btn-pri:active{
    transform:translateY(0);
    box-shadow:none;
}
.test-notes-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,0.42);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:12010;
    padding:20px;
}
.test-notes-overlay.show{display:flex;}
.test-notes-card{
    width:min(1080px, 96vw);
    max-height:min(88vh, 920px);
    background:#fff;
    border-radius:16px;
    border:1px solid #dbeafe;
    box-shadow:0 18px 40px rgba(0,0,0,0.18);
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.release-notes-card{
    width:min(920px, 94vw);
}
.release-notes-body{
    padding:18px 20px 20px;
    overflow:auto;
    min-height:min(58vh, 620px);
}
.release-notes-body .test-notes-content{
    min-height:min(54vh, 560px);
}
.test-notes-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:18px 20px 14px;
    border-bottom:1px solid #e5eefb;
}
.test-notes-head h3{
    margin:0;
    color:#0f2b46;
    font-size:20px;
}
.test-notes-head p{
    margin:4px 0 0;
    color:#64748b;
    font-size:14px;
}
.test-notes-close{
    border:1px solid #dbeafe;
    background:#fff;
    color:#334155;
    border-radius:10px;
    padding:6px 10px;
    cursor:pointer;
}
.test-notes-close:hover,
.test-notes-close:focus-visible{
    border-color:#2563eb;
    background:#2563eb;
    color:#ffffff;
    outline:none;
}
.test-notes-tabs{
    display:flex;
    align-items:center;
    gap:8px;
    padding:12px 20px;
    border-bottom:1px solid #e5eefb;
    background:#f8fbff;
}
.test-notes-tab{
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#ffffff;
    color:#0f2b63;
    padding:8px 12px;
    font-family:'Manrope',sans-serif;
    font-size:13px;
    font-weight:620;
    cursor:pointer;
}
.test-notes-tab:hover{
    background:#eff6ff;
}
.test-notes-tab.is-active{
    border-color:#60a5fa;
    background:#e0f2fe;
    color:#0f2b63;
}
.test-notes-panel{
    display:none;
    min-height:0;
}
.test-notes-panel.is-active{
    display:block;
}
.test-notes-body{
    display:grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(300px, 0.9fr);
    gap:0;
    min-height:0;
    overflow:hidden;
}
.test-notes-manual{
    padding:18px 20px 20px;
    overflow:auto;
    min-height:0;
}
.test-notes-manual .test-notes-content{
    min-height:min(58vh, 620px);
}
.test-notes-manual-rendered{
    max-width:920px;
    margin:0 auto;
    white-space:normal;
    background:#fff;
}
.test-notes-manual-rendered h1,
.test-notes-manual-rendered h2,
.test-notes-manual-rendered h3,
.test-notes-manual-rendered h4{
    margin:0 0 10px;
    color:#0f2b63;
    line-height:1.2;
}
.test-notes-manual-rendered h1{
    font-size:24px;
    font-weight:680;
    padding-bottom:10px;
    border-bottom:1px solid #dbe7f6;
}
.test-notes-manual-rendered h2{
    margin-top:22px;
    font-size:18px;
    font-weight:650;
}
.test-notes-manual-rendered h3{
    margin-top:16px;
    font-size:15px;
    font-weight:620;
}
.test-notes-manual-rendered h4{
    margin-top:12px;
    font-size:14px;
    font-weight:760;
}
.test-notes-manual-rendered p{
    margin:0 0 11px;
}
.test-notes-manual-rendered ul{
    margin:0 0 14px 18px;
    padding:0;
}
.test-notes-manual-rendered li{
    margin:4px 0;
}
.test-notes-manual-rendered code{
    border:1px solid #dbeafe;
    border-radius:6px;
    background:#f8fbff;
    padding:1px 5px;
    font-family:Consolas, 'Courier New', monospace;
    font-size:.92em;
}
.test-notes-column{
    padding:18px 20px 20px;
    min-height:0;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.test-notes-column + .test-notes-column{
    border-left:1px solid #e5eefb;
}
.test-notes-section{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-height:0;
}
.test-notes-section h4{
    margin:0;
    color:#0f2b46;
    font-size:15px;
}
.test-notes-help{
    margin:0;
    color:#64748b;
    font-size:13px;
}
.test-notes-content{
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    padding:14px;
    overflow:auto;
    white-space:pre-wrap;
    line-height:1.55;
    color:#0f172a;
    font-size:14px;
    min-height:160px;
}
.test-notes-content.is-secondary{
    min-height:120px;
}
.test-notes-form{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.test-notes-form label{
    font-size:13px;
    font-weight:700;
    color:#334155;
}
.test-notes-form textarea{
    min-height:160px;
    resize:vertical;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:12px 14px;
    font-family:'Manrope',sans-serif;
    font-size:14px;
    color:#0f172a;
    background:#fff;
}
.test-notes-form textarea:focus{
    outline:none;
    border-color:#93c5fd;
    box-shadow:0 0 0 3px rgba(147,197,253,0.25);
}
.test-notes-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
}
.test-notes-status{
    min-height:20px;
    font-size:13px;
    color:#64748b;
}
.test-notes-status.ok{color:#15803d;}
.test-notes-status.error{color:#dc2626;}
@media (max-width: 1280px){
    .header-session{
        min-width:0;
    }
    .header-session-user{
        max-width:120px;
    }
    #keyBadge{
        padding:4px 6px;
        gap:0;
    }
    #keyBadgeLabel,
    #keyBadgeValue{
        display:none;
    }
    .header-preview-label{display:none;}
    .header-preview-btn{padding:7px 9px;}
}
@media (max-width: 900px){
    .header-session{
        display:none;
    }
    #keyBadge{padding:4px;}
    .header-preview-label{display:none;}
    .header-preview-btn{padding:7px 9px;}
}

/* === Mobile top nav hamburger === */
#mobileTopNavButton{
    display:none;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:42px;
    height:42px;
    padding:0 12px;
    border:1px solid rgba(17,147,210,0.35);
    border-radius:10px;
    background:rgba(142,211,246,0.18);
    color:#003366;
    font-size:14px;
    font-weight:500;
    cursor:pointer;
    line-height:1;
}
#mobileTopNavButton .mobile-nav-icon{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    width:18px;
}
#mobileTopNavButton .mobile-nav-icon span{
    display:block;
    height:2px;
    border-radius:999px;
    background:currentColor;
}
#mobileTopNavButton .mobile-nav-label{
    white-space:nowrap;
}
#mobileTopNavButton[aria-expanded="true"]{
    background:rgba(245,156,14,0.18);
    border-color:rgba(245,156,14,0.7);
}
#mobileTopNavOverlay{
    position:fixed;
    left:0;
    right:0;
    top:var(--header-height, 64px);
    bottom:0;
    display:none;
    z-index:11020;
    background:rgba(15,23,42,0.18);
    backdrop-filter:blur(3px);
    padding:10px;
}
#mobileTopNavPanel{
    width:100%;
    max-height:calc(100vh - 84px);
    overflow:auto;
    background:rgba(255,255,255,0.96);
    border:1px solid rgba(200,210,240,0.8);
    border-radius:14px;
    box-shadow:0 14px 38px rgba(15,23,42,0.16);
    padding:12px;
}
.mobile-nav-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:2px 2px 10px;
    color:#0f2b46;
    font-size:15px;
    font-weight:600;
}
.mobile-nav-close{
    width:36px;
    height:36px;
    border:1px solid #dbe3ef;
    background:#fff;
    color:#334155;
    border-radius:10px;
    cursor:pointer;
    font-size:20px;
    line-height:1;
}
.mobile-nav-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.mobile-nav-action{
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid #d8e5f4;
    border-radius:10px;
    background:#ffffff;
    color:#003366;
    padding:9px 12px;
    font-size:15px;
    font-weight:500;
    text-align:left;
    cursor:pointer;
}
.mobile-nav-action:hover{
    background:#f8fbff;
    border-color:#b9d6f6;
}
.mobile-nav-action.disabled{
    opacity:.55;
    cursor:not-allowed;
    color:#64748b;
    background:#f8fafc;
}
.mobile-nav-action.back{
    justify-content:flex-start;
    color:#1d4ed8;
}
.mobile-nav-action .topnav-icon,
.mobile-nav-action [data-icone-duotone]{
    color:#0b4f86;
    flex:0 0 auto;
}
#mobileTopNavPanel .menu-alert-badge{
    min-width:18px;
    height:18px;
    padding:0 5px;
    font-size:10px;
    font-weight:500;
    box-shadow:0 0 0 2px rgba(255,255,255,0.95);
}

@media (max-width: 720px){
    .mobile-nav-action.tablet-only{
        display:none;
    }
}

@media (max-width: 560px){
    header{
        padding:0 10px;
        gap:8px;
    }
    header img{height:34px;}
    .header-left{gap:7px;}
    #mobileTopNavButton{
        min-width:42px;
        height:38px;
        padding:0 10px;
    }
    #mobileTopNavButton .mobile-nav-label{display:none;}
    .header-right{gap:7px;}
    #keyBadge{display:none !important;}
    #btnDeconnexion{
        min-width:64px;
        height:38px;
        padding:0 9px;
    }
    #btnDeconnexion .logout-countdown{
        min-width:32px;
        font-size:11px;
    }
}

/* === Desktop top nav + tiroir === */
#desktopTopNav{
    position:static;
    justify-self:center;
    transform:translateX(var(--topnav-offset,0px));
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 18px;
    width:max-content;
    min-width:0;
    max-width:none;
    overflow:hidden;
    scrollbar-width:none;
}
#desktopTopNav::-webkit-scrollbar{display:none;}
.topnav-item{
    background:rgba(142,211,246,0.18);
    border:1px solid rgba(17,147,210,0.35);
    color:#003366;
    font-size:14px;
    font-weight:500;
    padding:10px 14px;
    border-radius:10px;
    cursor:pointer;
    transition:box-shadow 0.2s ease, background 0.2s ease, border-color .18s ease;
    white-space:nowrap;
    min-width:0;
    flex:0 0 auto;
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    line-height:1;
}
.topnav-icon{
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.topnav-icon svg{
    width:18px;
    height:18px;
    display:block;
}
.topnav-item.standard-quick{
    min-width:118px;
    min-height:42px;
    padding:9px 12px;
}
.topnav-item.topnav-suivis{
    min-width:150px;
    padding-left:18px;
    padding-right:22px;
}
body.role-standard-session .topnav-item.standard-quick{
    width:auto;
}
body.role-standard-session .topnav-item.standard-quick .topnav-label{
    display:inline-flex;
}
.topnav-item:hover{background:rgba(142,211,246,0.30);border-color:rgba(17,147,210,0.52);box-shadow:0 4px 12px rgba(15,23,42,0.08);}
.topnav-item.active{background:rgba(245,156,14,0.18);border-width:1px;border-color:rgba(245,156,14,0.7);box-shadow:0 6px 14px rgba(15,23,42,0.09);}
.topnav-item:focus{outline:none;}
.topnav-item:focus-visible{box-shadow:0 0 0 3px rgba(17,147,210,0.18), 0 8px 18px rgba(15,23,42,0.08);}
body.role-standard-session #desktopTopNav.standard-main-nav{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    justify-content:center;
    align-items:center;
}
body.header-nav-collapsed header{
    grid-template-columns:minmax(0,1fr) auto;
}
body.header-nav-collapsed #desktopTopNav,
body.header-nav-collapsed #desktopTopNav .topnav-item,
body.header-nav-collapsed #desktopSubmenuOverlay,
body.header-nav-collapsed #desktopSubmenu{
    display:none !important;
}
body.header-nav-collapsed #mobileTopNavButton{
    display:inline-flex !important;
}
@media (max-width: 1440px){
    header{
        padding-left:16px;
        padding-right:16px;
        gap:10px;
    }
    #desktopTopNav{
        gap:8px;
        padding:0 10px;
    }
    .topnav-item{
        padding:9px 11px;
        gap:6px;
        font-size:13px;
    }
    .topnav-item.standard-quick{
        min-width:108px;
        padding:8px 10px;
    }
    .topnav-item.topnav-suivis{
        min-width:136px;
        padding-left:14px;
        padding-right:18px;
    }
    .header-right{
        gap:9px;
    }
}
@media (max-width: 1280px){
    .header-action-search{
        width:auto;
    }
    header{
        padding-left:12px;
        padding-right:12px;
    }
    #desktopTopNav{
        gap:7px;
        padding:0 8px;
    }
    .topnav-item{
        min-height:40px;
        padding:8px 10px;
        font-size:12.5px;
    }
    .topnav-item.standard-quick{
        min-width:100px;
    }
    .topnav-item.topnav-suivis{
        min-width:126px;
        padding-left:12px;
        padding-right:14px;
    }
    .topnav-icon,
    .topnav-icon svg{
        width:17px;
        height:17px;
    }
    .header-right{
        --header-action-height:40px;
        gap:7px;
    }
    #btnTestNotes,
    #btnUserManual,
    #btnHeaderNotesService,
    #btnHeaderAlertesRh,
    #btnHeaderAlertesCollaborateur,
    .header-action-search-toggle{
        width:40px;
        min-width:40px;
        height:40px;
    }
    #btnDeconnexion{
        min-width:86px;
        height:40px;
        padding:0 10px;
        gap:6px;
    }
    #btnDeconnexion .logout-countdown{
        min-width:48px;
        font-size:11px;
    }
}
@media (max-width: 1180px){
    .header-right{
        --header-action-height:38px;
    }
    header img{
        height:36px;
    }
    #desktopTopNav{
        gap:6px;
        padding:0 6px;
    }
    .topnav-item{
        min-height:38px;
        padding:7px 9px;
        border-radius:9px;
        font-size:12px;
    }
    .topnav-item.standard-quick{
        min-width:0;
    }
    .topnav-item.topnav-suivis{
        min-width:0;
        padding-left:10px;
        padding-right:12px;
    }
    .topnav-label{
        max-width:120px;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    #btnTestNotes,
    #btnUserManual,
    #btnHeaderNotesService,
    #btnHeaderAlertesRh,
    #btnHeaderAlertesCollaborateur,
    .header-action-search-toggle{
        width:38px;
        min-width:38px;
        height:38px;
        border-radius:10px;
    }
    #keyBadge{
        display:none !important;
    }
    #btnDeconnexion{
        min-width:76px;
        height:38px;
        padding:0 9px;
    }
    #btnDeconnexion .logout-countdown{
        min-width:40px;
    }
}
@media (max-width: 1100px){
    .header-action-search{
        position:relative;
        width:auto;
        min-width:0;
        margin:0;
    }
    .header-action-search:focus-within,
    .header-action-search.is-open{
        width:auto;
    }
    .header-action-search input{
        height:38px;
        border-radius:12px;
        background:rgba(239,246,255,0.96);
        box-shadow:none;
        font-size:13px;
    }
    .header-action-results{
        max-height:min(320px, calc(100vh - 96px));
    }
}
@media (max-width: 720px){
    .header-action-search.is-ready{
        display:inline-flex !important;
    }
    .header-action-search-toggle{
        width:38px;
        height:38px;
        border-radius:12px;
    }
    .header-action-search-inner{
        position:fixed;
        top:66px;
        left:10px;
        right:10px;
        width:auto;
    }
    .header-action-search input{
        padding-right:16px !important;
    }
    .header-action-search-kbd{
        display:none;
    }
}

@media (max-width: 380px){
    header{
        padding:0 4px;
    }
    header img{
        height:24px;
    }
    .header-left{
        gap:3px;
    }
    #btnDeconnexion{
        width:auto;
        min-width:58px;
        padding:0 8px;
    }
    #btnDeconnexion .logout-countdown{
        min-width:30px;
        font-size:10px;
    }
}

#desktopSubmenuOverlay{
    position:fixed;
    left:0;right:0;
    top:var(--header-height, 64px);bottom:0;
    background:rgba(15,23,42,0.08);
    backdrop-filter:blur(2px);
    display:none;
    z-index:11000;
}
#desktopSubmenu{
    position:fixed;
    top:var(--header-height, 64px);
    left:0;
    width:100%;
    display:none;
    z-index:11010;
    pointer-events:none;
}
.desktop-submenu-drawer,
.desktop-submenu-flyout{
    pointer-events:auto;
    position:absolute;
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:300px;
    width:360px;
    max-width:calc(100vw - 24px);
    max-height:calc(100vh - 64px - 18px);
    overflow:auto;
    box-sizing:border-box;
    padding:12px;
    border-radius:12px;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(12px);
    box-shadow:0 14px 44px rgba(0,0,0,0.18);
    border:1px solid rgba(200,210,240,0.7);
    transform:translateY(-8px);
    opacity:0;
    transition:transform 0.18s ease, opacity 0.18s ease, left 0.18s ease;
}
.desktop-submenu-drawer.open,
.desktop-submenu-flyout.open{transform:translateY(0);opacity:1;}
.desktop-submenu-flyout{
    width:320px;
    min-width:280px;
}
.desktop-submenu-flyout-title{
    padding:2px 4px 6px;
    color:#334155;
    font-size:13px;
    font-weight:750;
    letter-spacing:.01em;
}
.desktop-submenu-section{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.desktop-submenu-section + .desktop-submenu-section{
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid rgba(203,213,225,0.65);
}
.desktop-submenu-section-title{
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 4px 2px;
    color:#64748b;
    font-size:11px;
    font-weight:500;
    letter-spacing:0.04em;
    text-transform:uppercase;
}
.desktop-submenu-section-title .topnav-icon,
.desktop-submenu-section-title .topnav-icon svg{
    width:15px;
    height:15px;
}
.submenu-action{
    width:100%;
    text-align:left;
    border:1px solid rgba(191,219,254,0.9);
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    padding:10px 12px;
    border-radius:10px;
    cursor:pointer;
    color:#003366;
    font-size:14px;
    font-weight:500;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    min-height:44px;
    box-shadow:0 1px 4px rgba(15,23,42,0.04);
}
.submenu-action:hover{background:rgba(142,211,246,0.18);color:#003366;border-color:rgba(17,147,210,0.52);box-shadow:0 4px 12px rgba(15,23,42,0.08);}
.submenu-action.is-expanded{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd;}
.submenu-action.disabled{
    opacity:0.55;
    cursor:not-allowed;
    background:transparent;
    color:#64748b;
}
.submenu-action.disabled:hover{background:transparent;color:#64748b;}
.submenu-action.back{font-weight:500;}
.submenu-action.has-children .submenu-chevron,
.mobile-nav-action.has-children .submenu-chevron{
    flex:0 0 auto;
    margin-left:4px;
    color:#2563eb;
    font-size:22px;
    font-weight:600;
    line-height:1;
}
.submenu-action .topnav-icon,
.submenu-action .topnav-icon svg{
    width:18px;
    height:18px;
}
.topnav-label,
.submenu-action-label{
    display:inline-flex;
    align-items:center;
    min-width:0;
}
.topnav-label{
    max-width:100%;
}
.submenu-action-label{
    justify-content:flex-start;
    flex:1 1 auto;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menu-alert-badge{
    --menu-alert-pulse-color:rgba(239,68,68,0.15);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:16px;
    height:16px;
    padding:0 4px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:10px;
    font-weight:600;
    line-height:1;
    box-shadow:0 0 0 2px rgba(255,255,255,0.95);
    flex:0 0 auto;
    pointer-events:none;
}
.menu-alert-badge.secondary{
    background:#2563eb;
    --menu-alert-pulse-color:rgba(37,99,235,0.16);
}
.menu-alert-badge.tertiary{
    background:#16a34a;
    --menu-alert-pulse-color:rgba(22,163,74,0.16);
}
.topnav-item .menu-alert-badge{
    position:absolute;
    top:5px;
    right:8px;
    min-width:15px;
    height:15px;
    padding:0 4px;
    font-size:9px;
    box-shadow:0 0 0 1px rgba(255,255,255,0.98);
    z-index:4;
}
.topnav-item .menu-alert-badge.secondary{
    top:5px;
    right:auto;
    left:6px;
    bottom:auto;
}
.topnav-item .menu-alert-badge.tertiary{
    top:auto;
    bottom:5px;
    left:auto;
    right:auto;
    right:6px;
}
.topnav-alert-stack{
    position:absolute;
    top:3px;
    right:5px;
    display:flex;
    flex-direction:row;
    align-items:center;
    pointer-events:none;
    z-index:4;
}
.topnav-item .topnav-alert-stack .menu-alert-badge,
.topnav-item .topnav-alert-stack .menu-alert-badge.secondary,
.topnav-item .topnav-alert-stack .menu-alert-badge.tertiary{
    position:static;
    inset:auto;
    min-width:17px;
    height:17px;
    padding:0 5px;
    font-size:9px;
    box-shadow:0 0 0 1px rgba(255,255,255,0.98);
}
.submenu-action .menu-alert-badge{
    margin-left:auto;
    min-width:22px;
    height:22px;
    padding:0 7px;
    font-size:12px;
    box-shadow:0 0 0 3px rgba(255,255,255,0.96), 0 4px 10px rgba(15,23,42,0.10);
}
.submenu-action .menu-alert-badge + .menu-alert-badge{
    margin-left:5px;
}
.menu-alert-badge.pulse{
    animation:menuAlertPulse 30s ease-in-out infinite;
}
.menu-alert-badge.pending{
    background:#2563eb;
    --menu-alert-pulse-color:rgba(37,99,235,0.16);
}
.menu-alert-badge.accepted{
    background:#16a34a;
    --menu-alert-pulse-color:rgba(22,163,74,0.16);
}
.menu-alert-badge.subscription{
    background:#16a34a;
    --menu-alert-pulse-color:rgba(22,163,74,0.16);
}
.menu-alert-badge.refused{
    background:#dc2626;
    --menu-alert-pulse-color:rgba(220,38,38,0.16);
}
@keyframes menuAlertPulse{
    0%, 100%{transform:scale(1); box-shadow:0 0 0 2px rgba(255,255,255,0.95);}
    1%{transform:scale(1.16); box-shadow:0 0 0 2px rgba(255,255,255,0.95), 0 0 0 8px var(--menu-alert-pulse-color);}
    2%{transform:scale(0.96);}
    3%, 95%{transform:scale(1);}
}

#decompteDeconnexion:empty{display:none;}

/* === Sous-menu === */
#sousMenu{
    position:absolute;
    top:100px;left:110px;
    display:none;flex-direction:column;gap:10px;
    background:rgba(255,255,255,0.8);
    backdrop-filter:blur(10px);
    border-radius:12px;
    box-shadow:0 6px 24px rgba(0,0,0,0.12);
    padding:12px 16px;
    z-index:1000;
}
.sousItem{
    padding:8px 14px;border-radius:10px;
    font-size:15px;color:#003366;cursor:pointer;
}
.sousItem:hover{background:linear-gradient(90deg,#5c8bff,#8db3ff);color:white;}
.sousItem.disabled{
    opacity:0.55;
    cursor:not-allowed;
    background:transparent;
    color:#64748b;
}
.sousItem.disabled:hover{
    background:transparent;
    color:#64748b;
}
.sousItem.back{
    font-weight:600;
}

/* === Nouveau menu adopté, avec menu classique conservé en secours === */
.menuNextShell{
    display:flex;
    flex-direction:column;
    gap:16px;
}
.menuNextInitialShell{
    min-height:420px;
    padding-top:2px;
}
.menuNextInitialTop{
    display:flex;
    flex-direction:column;
    gap:9px;
    max-width:520px;
}
.menuNextInitialGrid{
    display:grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(260px, .65fr);
    gap:16px;
}
.menuNextInitialPanel{
    min-height:210px;
    padding:20px;
    border:1px solid #dbe7f3;
    border-radius:16px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 26px rgba(15,43,99,.05);
}
.menuNextInitialLine{
    height:14px;
    margin-bottom:12px;
    border-radius:999px;
    background:linear-gradient(90deg,#e8f0f8 20%,#f7faff 40%,#e8f0f8 60%);
    background-size:220% 100%;
    animation:menuNextInitialPulse 1.2s ease-in-out infinite;
}
.menuNextInitialLine.is-title{width:48%;height:22px;}
.menuNextInitialLine.is-short{width:34%;}
.menuNextInitialLine.is-medium{width:68%;}
@keyframes menuNextInitialPulse{
    from{background-position:100% 0;}
    to{background-position:-100% 0;}
}
@media (max-width:860px){
    .menuNextInitialGrid{grid-template-columns:1fr;}
    .menuNextInitialPanel{min-height:150px;}
}
@media (prefers-reduced-motion:reduce){
    .menuNextInitialLine{animation:none;}
}
.menuNextHero{
    display:block;
    align-self:flex-start;
    max-width:760px;
    padding:0 0 4px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}
.menuNextHero.menuCollabHeroWithCounters{
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:max-content minmax(0, 1fr);
    align-items:center;
    gap:20px;
    padding:0;
    margin-bottom:14px;
}
.menuCollabHeroIdentity{
    min-width:0;
}
.menuCollabCompactCounters{
    min-width:0;
    min-height:50px;
    display:grid;
    grid-template-columns:120px repeat(4, minmax(0, 1fr));
    border:1px solid #d7e8f8;
    border-radius:13px;
    overflow:hidden;
    background:#d7e8f8;
    box-shadow:0 3px 10px rgba(15,43,99,.04);
}
.menuCollabCompactCountersTitle,
.menuCollabCompactCounter{
    min-width:0;
    padding:6px 11px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#ffffff;
}
.menuCollabCompactCountersTitle{
    background:#f4f9ff;
}
.menuCollabCompactCountersTitle strong{
    color:#0f2b63;
    font-size:12px;
    line-height:1.15;
}
.menuCollabCompactCountersTitle span,
.menuCollabCompactCounter span{
    overflow:hidden;
    color:#64748b;
    font-size:10px;
    font-weight:700;
    line-height:1.15;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuCollabCompactCountersTitle span{
    margin-top:3px;
}
.menuCollabCompactCounter strong{
    overflow:hidden;
    margin-top:3px;
    color:#0f2b63;
    font-size:15px;
    font-weight:900;
    line-height:1.1;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuNextHeroLine{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}
.menuNextHero h2{
    margin:0;
    color:#0f2b63;
    font-size:28px;
    letter-spacing:0;
}
.menuNextBirthdayLine{
    margin-top:5px;
    color:#0f2b63;
    font-size:14px;
    font-weight:600;
}
.menuNextHero p{
    margin:6px 0 0;
    color:#64748b;
    line-height:1.45;
    max-width:760px;
}
.menuNextHeroLine p{
    margin:0;
    color:#64748b;
    font-size:14px;
    font-weight:600;
    line-height:1.2;
}
.menuNextHeroActions{
    display:none;
}
.menuNextBtn{
    min-height:38px;
    padding:0 13px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#ffffff;
    color:#0f2b63;
    font-weight:850;
    cursor:pointer;
}
.menuNextBtn.primary{
    border-color:#9bd4ff;
    background:#eaf6ff;
}
.menuNextSummary{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    align-items:center;
}
.menuNextSummary .menuNextPill{
    min-height:34px;
    padding:0 13px;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
}
.menuNextUtilityRow{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    align-items:stretch;
}
.menuNextSearchGhost{
    width:100%;
    min-height:48px;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#ffffff;
    color:#0f2b63;
    box-shadow:0 10px 24px rgba(15,43,99,0.06);
    padding:0 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    font-weight:900;
    cursor:pointer;
    text-align:left;
    display:none !important;
}
.menuNextSearchGhost span{
    color:#64748b;
    font-size:12px;
    font-weight:800;
}
.menuNextSearchGhost kbd{
    border:1px solid #dbeafe;
    border-radius:8px;
    background:#f8fbff;
    color:#64748b;
    padding:3px 7px;
    font-size:11px;
    font-weight:900;
}
.menuNextRhStats{
    display:grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:10px;
}
.menuNextRhStat{
    min-height:62px;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 10px 24px rgba(15,43,99,0.06);
    padding:10px 12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    color:inherit;
    font:inherit;
    text-align:left;
}
.menuNextRhStat.is-clickable{
    cursor:pointer;
    transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.menuNextRhStat.is-clickable:hover{
    transform:translateY(-1px);
    border-color:#93c5fd;
    background:#eff6ff;
    box-shadow:0 10px 24px rgba(15,43,99,0.08);
}
.menuNextRhStat.is-clickable:focus-visible{
    outline:none;
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(96,165,250,0.18), 0 10px 24px rgba(15,43,99,0.08);
}
.menuNextRhStat strong{
    color:#0f2b63;
    font-size:18px;
    line-height:1.05;
    font-weight:900;
}
.menuNextRhStat span{
    color:#475569;
    font-size:12px;
    font-weight:750;
    line-height:1.25;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
}
.menuNextRhStat.alert{
    border-color:#fecdd3;
    background:#fff7f7;
}
.menuNextRhStat.alert strong{color:#be123c;}
.menuNextRhStat.info{
    border-color:#bfdbfe;
    background:#f8fbff;
}
.menuNextRhStat.ok{
    border-color:#bbf7d0;
    background:#f7fef9;
}
.menuNextRhStat.ok strong{color:#15803d;}
.menuNextRhStat.health{
    border-color:#86efac;
    background:#f0fdf4;
}
.menuNextRhStat.health strong{color:#15803d;}
.menuNextPill{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border:1px solid #dbeafe;
    border-radius:999px;
    background:#f8fbff;
    color:#0f2b63;
    font-size:12px;
    font-weight:850;
}
.menuNextPill.alert{
    border-color:#fecdd3;
    background:#fff1f2;
    color:#be123c;
}
.menuNextPill.info{
    border-color:#bae6fd;
    background:#f0f9ff;
    color:#075985;
}
.menuNextPill.ok{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#047857;
}
.menuNextPeriodNav{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-width:0;
}
.menuNextGroupNav .menuNextPill{
    max-width:260px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuNextPeriodNavBtn{
    width:30px;
    height:30px;
    border:1px solid #dbeafe;
    border-radius:999px;
    background:#ffffff;
    color:#0f2b63;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:17px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    box-shadow:0 5px 14px rgba(15,43,99,0.06);
}
.menuNextPeriodNavBtn:hover{
    border-color:#93c5fd;
    background:#eff6ff;
    color:#1d4ed8;
}
.menuNextPeriodNavBtn:focus-visible{
    outline:none;
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(96,165,250,0.18);
}
.menuNextPeriodNavBtn:disabled{
    opacity:.45;
    cursor:not-allowed;
    background:#f8fafc;
}
.menuNextGrid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:14px;
}
.menuNextLayout{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:14px;
}
.menuNextSide,
.menuNextPanel{
    border:1px solid #dbeafe;
    border-radius:15px;
    background:#ffffff;
    box-shadow:0 10px 24px rgba(15,43,99,0.06);
}
.menuNextSide{
    padding:14px;
}
.menuNextSide h3,
.menuNextPanel h3{
    margin:0;
    color:#0f2b63;
    font-size:18px;
}
.menuNextSub{
    margin:4px 0 13px;
    color:#64748b;
    font-size:13px;
    line-height:1.35;
}
.menuNextSideAction{
    width:100%;
    min-height:50px;
    display:flex;
    align-items:center;
    gap:10px;
    border:1px solid transparent;
    border-radius:11px;
    background:#ffffff;
    color:#0f2b63;
    padding:9px;
    text-align:left;
    cursor:pointer;
    font-weight:850;
}
.menuNextSideAction + .menuNextSideAction{
    margin-top:6px;
}
.menuNextSideAction.active,
.menuNextSideAction:hover{
    background:#f2f8ff;
    border-color:#c9e4ff;
}
.menuNextSideAction small{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-weight:700;
    font-size:12px;
}
.menuNextContentGrid{
    display:grid;
    grid-template-columns:minmax(0, 1.7fr) minmax(320px, .7fr);
    gap:14px;
}
.menuNextPanel{
    padding:16px;
}
.menuNextPanelHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}
.menuNextPanelHead p{
    margin:4px 0 0;
    color:#64748b;
    font-size:13px;
}
.menuNextTodayHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.menuNextTodayTitle{
    min-width:0;
}
.menuNextTodayTitleLine{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
}
.menuNextTodayTitleLine h3{
    flex-shrink:0;
}
.menuNextTodayTitle h3{
    margin:0;
}
.menuNextTodayTitle p{
    margin:4px 0 0;
    color:#64748b;
    font-size:13px;
}
.menuNextDayNav{
    display:flex;
    align-items:center;
    gap:4px;
    flex-shrink:0;
}
.menuNextDayNavBtn{
    width:28px;
    height:28px;
    border:1px solid #bfdbfe;
    border-radius:999px;
    background:#ffffff;
    color:#0f2b63;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:750;
    line-height:1;
    cursor:pointer;
}
.menuNextDayNavBtn:hover:not(:disabled),
.menuNextDayNavBtn:focus-visible:not(:disabled){
    outline:none;
    background:#eaf6ff;
    border-color:#7cc9f7;
}
.menuNextDayNavBtn:disabled{
    opacity:.38;
    cursor:not-allowed;
}
.menuNextDayTodayBtn{
    min-height:28px;
    padding:0 9px;
    border:1px solid #bfdbfe;
    border-radius:999px;
    background:#f8fbff;
    color:#0f2b63;
    font-size:11px;
    font-weight:750;
    cursor:pointer;
    white-space:nowrap;
    flex-shrink:0;
}
.menuNextDayTodayBtn:hover,
.menuNextDayTodayBtn:focus-visible{
    outline:none;
    background:#eaf6ff;
    border-color:#7cc9f7;
}
.menuNextTodayHours{
    flex-shrink:0;
    color:#0f2b63;
    font-size:14px;
    font-weight:750;
    white-space:nowrap;
}
.menuNextTodayHours span{
    color:#64748b;
    font-size:12px;
    font-weight:700;
}
.menuNextRow{
    display:grid;
    grid-template-columns:34px minmax(0, 1fr) auto;
    gap:10px;
    align-items:center;
    min-height:56px;
    padding:10px;
    margin:0 -10px;
    border-top:1px solid #eef3f8;
    border-radius:12px;
    color:inherit;
    text-align:left;
    font:inherit;
    transition:background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.menuNextRow:first-of-type{
    border-top:none;
}
.menuNextRow.is-clickable{
    cursor:pointer;
}
.menuNextRow.is-clickable:hover,
.menuNextRow.is-clickable:focus-visible{
    outline:none;
    background:#f8fbff;
    box-shadow:inset 0 0 0 1px #dbeafe;
}
.menuNextRow.is-clickable:hover .menuNextIcon,
.menuNextRow.is-clickable:focus-visible .menuNextIcon{
    border-color:#93c5fd;
    background:#eff6ff;
}
.menuNextRow strong{
    display:block;
    color:#0f172a;
    font-size:14px;
    font-weight:750;
}
.menuNextRow > div > span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:12px;
}
.menuNextSmallBtn{
    min-height:34px;
    padding:0 11px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#ffffff;
    color:#0f2b63;
    font-weight:850;
    cursor:pointer;
}
.menuNextSmallBtn.primary{
    border-color:#9bd4ff;
    background:#eaf6ff;
    color:#0f2b63;
}
.menuNextSmallBtn.primary:hover{
    background:#dff0ff;
    border-color:#69bff5;
}
.menuNextSmallBtn.danger{
    border-color:#fecaca;
    background:#fff7f7;
    color:#b42318;
}
.menuNextSmallBtn.danger:hover{
    border-color:#fca5a5;
    background:#fee2e2;
}
.menuNextSmallBtn.menuPrintSmallAction{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:34px;
    padding:0 10px;
    border-color:#cbd5e1;
    background:#ffffff;
    color:#0f2b63;
    font-size:13px;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
}
.menuNextSmallBtn.menuPrintSmallAction:hover{
    background:#f8fbff;
    border-color:#93c5fd;
}
.menuNextSmallBtn.menuPrintSmallAction .menuNextIcon{
    width:16px;
    height:16px;
    min-width:16px;
    flex:0 0 16px;
    border:0;
    border-radius:0;
    background:transparent;
    color:currentColor;
}
.menuNextSmallBtn.menuPrintSmallAction .menuNextIcon svg{
    width:16px;
    height:16px;
}
.menuNextButtonGroup{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.menuNextRowArrow{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#94a3b8;
    font-size:22px;
    font-weight:750;
    line-height:1;
    transition:transform .16s ease, color .16s ease;
}
.menuNextRow.is-clickable:hover .menuNextRowArrow,
.menuNextRow.is-clickable:focus-visible .menuNextRowArrow{
    color:#2563eb;
    transform:translateX(2px);
}
.menuNextQuickGrid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
    margin-top:14px;
}
.menuNextQuick{
    min-height:72px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#fbfdff;
    padding:11px;
    color:#0f2b63;
    font-weight:750;
    cursor:pointer;
    text-align:left;
    transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.menuNextQuick:hover{
    transform:translateY(-1px);
    border-color:#93c5fd;
    background:#eff6ff;
    box-shadow:0 10px 24px rgba(15,43,99,0.08);
}
.menuNextQuick:focus-visible{
    outline:none;
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(96,165,250,0.18), 0 10px 24px rgba(15,43,99,0.08);
}
.menuNextQuick span{
    display:block;
    margin-top:8px;
    color:#64748b;
    font-size:12px;
    font-weight:750;
}
.menuNextDay{
    display:grid;
    grid-template-columns:68px minmax(0, 1fr) auto;
    gap:10px;
    align-items:center;
    min-height:46px;
    padding:8px 10px;
    border:1px solid #e0e9f4;
    border-radius:10px;
    background:#fbfdff;
}
.menuNextDay + .menuNextDay{
    margin-top:8px;
}
.menuNextDay.menuNextVacationDay{
    grid-template-columns:auto minmax(0, 1fr) auto;
}
.menuNextDay strong{
    color:#0f172a;
    font-size:13px;
}
.menuNextDay span{
    color:#64748b;
    font-size:12px;
}
.menuNextVacCode{
    min-width:42px;
    min-height:22px;
    padding:3px 9px;
    border-radius:999px;
    border:1px solid rgba(15, 23, 42, 0.14);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.38);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:950;
    line-height:1;
}
.menuNextVac{
    min-width:38px;
    min-height:24px;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid #d9cf62;
    background:#fff7a8;
    color:#111827;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:950;
}
.menuNextGroupBreak{
    display:flex;
    align-items:center;
    gap:8px;
    margin:12px 0 6px;
    color:#475569;
    font-size:11px;
    font-weight:750;
    text-transform:uppercase;
}
.menuNextGroupBreak::after{
    content:"";
    flex:1;
    height:1px;
    background:#dbe7f3;
}
.menuNextGroupSummary{
    margin-top:8px;
    border:1px solid #d8e6f4;
    border-radius:10px;
    background:#fbfdff;
    overflow:hidden;
}
.menuNextGroupSummary summary{
    display:grid;
    grid-template-columns:auto 84px minmax(0, 1fr);
    gap:10px;
    align-items:center;
    min-height:42px;
    padding:8px 10px;
    cursor:pointer;
    list-style:none;
}
.menuNextGroupSummary summary::-webkit-details-marker{
    display:none;
}
.menuNextGroupSummary summary::before{
    content:"›";
    width:18px;
    height:18px;
    border:1px solid #bfdbfe;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0f2b63;
    background:#f8fbff;
    font-weight:750;
    transform:rotate(0deg);
    transition:transform .16s ease;
    grid-column:1;
}
.menuNextGroupSummary summary strong{
    grid-column:2;
    color:#0f172a;
    font-size:13px;
    font-weight:750;
}
.menuNextGroupSummary[open] summary::before{
    transform:rotate(90deg);
}
.menuNextGroupChips{
    grid-column:3;
    display:flex;
    gap:6px;
    align-items:center;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:thin;
}
.menuNextGroupDetails{
    display:grid;
    gap:6px;
    padding:8px 10px 10px;
    border-top:1px solid #e6eef7;
    background:#ffffff;
}
.menuNextGroupDetailRow{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr) auto;
    gap:8px;
    align-items:center;
    color:#64748b;
    font-size:12px;
}
.menuNextCoverage{
    display:grid;
    gap:8px;
    margin-top:12px;
}
.menuNextCoverageRow{
    display:grid;
    grid-template-columns:46px minmax(0, 1fr) 44px;
    gap:8px;
    align-items:center;
    color:#64748b;
    font-size:12px;
    font-weight:850;
}
.menuNextTrack{
    height:9px;
    border-radius:999px;
    background:#e9f0f8;
    overflow:hidden;
}
.menuNextFill{
    display:block;
    height:100%;
    border-radius:999px;
    background:#20b976;
}
.menuNextFill.warn{background:#f59c09;}
.menuNextFill.bad{background:#e84c55;}
.menuNextChiefGrid{
    display:grid;
    grid-template-columns:1.25fr .9fr;
    gap:10px;
    align-items:stretch;
}
.menuNextChiefGrid .menuNextPanel{
    padding:12px 14px;
}
.menuNextChiefGrid .menuNextPanelHead{
    margin-bottom:8px;
}
.menuNextChiefGrid .menuNextPanelHead p{
    margin-top:2px;
    font-size:12px;
}
.menuNextChiefColumn{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:0;
}
.menuNextChiefColumn.is-left .menuNextChiefOpsPanel{
    flex:0 0 auto;
}
.menuNextChiefOpsPanel{
    display:flex;
    flex-direction:column;
    --chef-action-width:220px;
    --chef-action-height:42px;
}
.menuNextChiefOpsPanel .menuNextChiefGraphPanel{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
}
.menuNextChiefColumn.is-right .menuNextChiefToday{
    flex:1 1 auto;
}
.menuNextChiefColumn.is-right .menuNextChiefToday{
    display:flex;
    flex-direction:column;
}
.menuNextChiefColumn.is-right .menuNextChiefToday .menuNextMini{
    margin-top:10px !important;
}
.menuNextChiefVacationSummary{
    margin-top:0;
}
.menuNextChiefVacationSummary summary{
    min-height:38px;
    grid-template-columns:auto 72px minmax(0, 1fr);
    padding:6px 8px;
}
.menuNextChiefVacationSummary summary strong{
    display:flex;
    align-items:center;
}
.menuNextChiefVacationSummary .menuNextGroupChips{
    font-size:12px;
    font-weight:750;
    color:#475569;
}
.menuNextChiefVacationSummary .menuNextGroupDetails{
    padding:6px 8px 8px;
}
.menuNextChiefLeft{grid-column:1;}
.menuNextChiefRight{grid-column:2;}
.menuNextChiefToday{grid-column:2; grid-row:1 / span 2;}
.menuNextChiefKpis{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:8px;
}
.menuNextChiefKpi{
    appearance:none;
    text-align:left;
    font:inherit;
    color:inherit;
    min-width:0;
    border:1px solid #cfe0f5;
    border-radius:13px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    padding:10px 12px;
}
.menuNextChiefKpi.is-clickable{
    cursor:pointer;
    transition:transform .14s ease, border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.menuNextChiefKpi.is-clickable:hover{
    transform:translateY(-1px);
    border-color:#93c5fd;
    box-shadow:0 10px 24px rgba(15,43,99,0.09);
    background:#f8fbff;
}
.menuNextChiefKpi.is-clickable:focus-visible{
    outline:none;
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(96,165,250,0.18), 0 10px 24px rgba(15,43,99,0.09);
}
.menuNextChiefKpi strong{
    display:block;
    color:#0f2b46;
    font-size:20px;
    line-height:1;
    font-weight:850;
}
.menuNextChiefKpi span{
    display:block;
    margin-top:4px;
    color:#50627c;
    font-size:11px;
    font-weight:600;
}
.menuNextChiefKpi.alert{
    background:#fff6f7;
    border-color:#ffc9d1;
}
.menuNextChiefKpi.alert strong{color:#be123c;}
.menuNextChiefKpi.ok{
    background:#f0fff7;
    border-color:#b9f0d0;
}
.menuNextChiefKpi.ok strong{color:#15803d;}
.menuNextChiefKpi.warning{
    background:#fff8ec;
    border-color:#ffd89b;
}
.menuNextChiefKpi.warning strong{color:#9a4f00;}
.menuNextChiefKpi.absence{
    background:#f8fafc;
    border-color:#d8e2ee;
}
.menuNextChiefKpi.absence strong{color:#475569;}
.menuNextChiefGrid .menuNextRow{
    grid-template-columns:30px minmax(0, 1fr) auto;
    gap:8px;
    min-height:46px;
    padding:7px 8px;
    margin:0 -8px;
    border-radius:10px;
}
.menuNextChiefGrid .menuNextIcon{
    width:30px;
    height:30px;
    border-radius:9px;
}
.menuNextChiefGrid .menuNextRow strong{
    font-size:13px;
    font-weight:650;
}
.menuNextChiefGrid .menuNextRow > div > span{
    margin-top:1px;
    font-size:11px;
}
.menuNextChiefGrid .menuNextSmallBtn{
    min-height:34px;
    padding:7px 11px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    text-align:left;
    background:rgba(142,211,246,0.18);
    border:1px solid rgba(17,147,210,0.35);
    color:#003366;
    font-size:13px;
    font-weight:600;
    line-height:1;
    box-shadow:none;
}
.menuNextChiefOpsPanel .menuNextSmallBtn{
    width:var(--chef-action-width);
    min-width:var(--chef-action-width);
    min-height:var(--chef-action-height);
    white-space:nowrap;
}
.menuNextChiefGrid .menuNextSmallBtn:hover{
    background:rgba(142,211,246,0.30);
    border-color:rgba(17,147,210,0.45);
    color:#003366;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(15,23,42,0.08);
}
.menuNextChiefGrid .menuNextSmallBtn.primary{
    background:rgba(142,211,246,0.18);
    border-color:rgba(17,147,210,0.35);
    color:#003366;
}
.menuNextChiefGrid .menuNextSmallBtn.primary:hover{
    background:rgba(142,211,246,0.30);
    color:#003366;
}
.menuNextChiefGrid .menuNextSmallBtn .menuNextIcon{
    width:18px;
    height:18px;
    border-radius:7px;
    background:#f8fbff;
    box-shadow:0 1px 6px rgba(15,23,42,0.08);
}
.menuNextChiefGrid .menuNextSmallBtn .menuNextIcon svg{
    width:16px;
    height:16px;
}
.menuNextChiefGrid .menuNextButtonGroup{
    margin-top:4px;
    gap:6px;
}
.menuNextChiefOpsPanel .menuNextButtonGroup{
    justify-content:flex-end;
}
.menuNextChiefGrid .menuNextTodayHead{
    margin-bottom:8px;
}
.menuNextChiefList{
    display:grid;
    gap:6px;
}
.menuNextChiefCoverage{
    display:grid;
    gap:6px;
}
.menuNextChiefCoverageItem{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    padding:7px 9px;
}
.menuNextChiefCoverageText{min-width:0;}
.menuNextChiefCoverageText strong{
    display:block;
    color:#0f2b46;
    font-size:13px;
    font-weight:750;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuNextChiefCoverageText span{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:11px;
    font-weight:700;
}
.menuNextChiefCoverageValue{
    border-radius:999px;
    padding:5px 9px;
    background:#eaf3ff;
    color:#0b3b74;
    font-size:12px;
    font-weight:800;
}
.menuNextChiefCoverageValue.warn{background:#fff1f3;color:#be123c;}
.menuNextChiefCoverageValue.surplus{background:#fff7e8;color:#9a4f00;}
.menuNextChiefCoverageValue.ok{background:#edfff6;color:#13764c;}
.menuNextChiefEmpty{
    border:1px dashed #cbd5e1;
    border-radius:14px;
    background:#f8fafc;
    color:#64748b;
    padding:14px;
    text-align:center;
    font-weight:600;
}
.menuNextChiefDays{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:6px;
}
.menuNextChiefDayCard{
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    padding:9px;
    min-height:104px;
    display:flex;
    flex-direction:column;
    gap:7px;
}
.menuNextChiefDayCard.has-absence{
    border-color:#ffc9d1;
    background:#fff8f9;
}
.menuNextChiefDayHead{
    display:block;
}
.menuNextChiefDayHead strong{
    color:#0f2b63;
    font-size:12px;
    line-height:1.15;
    font-weight:650;
}
.menuNextChiefDayMeta{
    margin-top:auto;
    color:#64748b;
    font-size:11px;
    font-weight:500;
    white-space:nowrap;
}
.menuNextChiefDayChips,
.menuNextChiefAbsenceChips{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.menuNextChiefDayChips .menuNextVacCode,
.menuNextChiefAbsenceChips .menuNextVacCode{
    min-width:0;
    padding:3px 7px;
    font-size:10.5px;
    font-weight:600;
}
.menuNextChiefAbsenceLine{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:0;
    color:#be123c;
    font-size:12px;
    font-weight:600;
}
.menuNextChiefAbsenceLine small{
    font:inherit;
    color:#be123c;
}
.menuNextChiefDayEmpty{
    color:#94a3b8;
    font-size:12px;
    font-weight:700;
}
.menuOpsHome{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.menuOpsTop{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}
.menuOpsTitle h2{
    margin:0;
    color:#0f2b63;
    font-size:26px;
    line-height:1.1;
    font-weight:760;
    letter-spacing:0;
}
.menuOpsGreeting{
    margin:0 0 5px;
    color:#2563eb;
    font-size:16px;
    line-height:1.2;
    font-weight:720;
}
.menuOpsTitle span{
    display:block;
    margin-top:5px;
    color:#64748b;
    font-size:13px;
    font-weight:520;
}
.menuOpsFilters{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.menuOpsBirthdayButton{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:36px;
    padding:0;
    border:1px solid #cfe0f5;
    border-radius:10px;
    background:#fff;
    color:#0f3574;
    box-shadow:0 5px 12px rgba(15,43,99,.05);
    cursor:pointer;
}
.menuOpsBirthdayButton:hover,
.menuOpsBirthdayButton:focus-visible{
    outline:none;
    border-color:#93c5fd;
    background:#f8fbff;
    color:#1d4ed8;
}
.menuOpsBirthdayButton .menuNextIcon{
    width:28px;
    height:28px;
    border:0;
    background:transparent;
    color:inherit;
}
.menuOpsBirthdayIndicator{
    position:absolute;
    top:5px;
    right:5px;
    width:8px;
    height:8px;
    border:2px solid #fff;
    border-radius:999px;
    background:#2563eb;
}
.menuOpsGroupTabs{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
    max-width:760px;
}
.menuOpsGroupTabs button{
    min-height:36px;
    border:1px solid #cfe0f5;
    border-radius:10px;
    background:#fff;
    color:#0f2b63;
    padding:0 11px;
    font:inherit;
    font-size:13px;
    font-weight:560;
    cursor:pointer;
    box-shadow:0 5px 12px rgba(15,43,99,0.05);
}
.menuOpsGroupTabs button:hover,
.menuOpsGroupTabs button:focus-visible{
    outline:none;
    border-color:#93c5fd;
    background:#f8fbff;
}
.menuOpsGroupTabs button.is-active{
    border-color:#8ed3f6;
    background:#eaf6ff;
    color:#003366;
}
.menuOpsGroupCombo{position:relative;min-width:220px;color:#0f2b63;}
.menuOpsGroupCombo > summary{
    min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;
    border:1px solid #9fb8da;border-radius:10px;background:#fff;padding:0 12px;
    font-size:13px;font-weight:650;cursor:pointer;box-shadow:0 5px 12px rgba(15,43,99,0.06);
}
.menuOpsGroupCombo > summary::-webkit-details-marker{display:none;}
.menuOpsGroupCombo > summary::after{content:"⌄";font-size:16px;color:#64748b;}
.menuOpsGroupCombo[open] > summary::after{content:"⌃";}
.menuOpsGroupComboPanel{
    position:absolute;z-index:40;top:calc(100% + 6px);right:0;width:260px;max-height:330px;overflow:auto;
    border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:8px;box-shadow:0 18px 38px rgba(15,43,99,0.18);
}
.menuOpsGroupComboOption{display:flex;align-items:center;gap:9px;padding:9px;border-radius:8px;font-size:13px;cursor:pointer;}
.menuOpsGroupComboOption:hover{background:#f3f7fd;}
.menuOpsGroupComboOption input{width:16px;height:16px;accent-color:#2459b8;}
.menuOpsGroupComboActions{position:sticky;bottom:-8px;display:flex;justify-content:flex-end;padding:8px 0 0;background:#fff;}
.menuOpsGroupComboActions button{min-height:34px;border:0;border-radius:8px;background:#2459b8;color:#fff;padding:0 14px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.notesServiceManageButton{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:38px;
    padding:0;
    border:1px solid #9fb8da;
    border-radius:10px;
    background:#fff;
    color:#0f3574;
    box-shadow:0 5px 12px rgba(15,43,99,.06);
    cursor:pointer;
}
.notesServiceManageButton:hover,
.notesServiceManageButton:focus-visible{
    outline:none;
    border-color:#60a5fa;
    background:#eff6ff;
    color:#1d4ed8;
    box-shadow:0 0 0 3px rgba(59,130,246,.12);
}
.notesServiceManageButton .menuNextIcon{
    width:28px;
    height:28px;
    border:0;
    background:transparent;
    color:inherit;
}
.notesServiceManagerOverlay{
    position:fixed;
    inset:0;
    z-index:40100;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.46);
    backdrop-filter:blur(3px);
}
.notesServiceManagerOverlay.is-open{display:flex;}
.notesServiceManagerCard{
    width:min(900px, calc(100vw - 32px));
    max-height:min(860px, calc(100dvh - 32px));
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #dbe5f2;
    border-radius:14px;
    background:#fff;
    box-shadow:0 26px 74px rgba(15,23,42,.28);
}
.notesServiceManagerHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px 15px;
    border-bottom:1px solid #e2e8f0;
}
.notesServiceManagerHeading{display:flex;align-items:flex-start;gap:12px;min-width:0;}
.notesServiceManagerMark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid #bfdbfe;
    border-radius:11px;
    background:#eff6ff;
    color:#1d4ed8;
}
.notesServiceManagerMark svg{width:24px;height:24px;display:block;}
.notesServiceManagerHead h3{margin:0;color:#0f3574;font-size:20px;font-weight:700;letter-spacing:-.01em;}
.notesServiceManagerHead p{margin:4px 0 0;color:#64748b;font-size:13px;line-height:1.45;}
.notesServiceManagerClose{
    position:relative;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#475569;
    cursor:pointer;
    font-size:0;
}
.notesServiceManagerClose::before,
.notesServiceManagerClose::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:14px;
    height:2px;
    border-radius:999px;
    background:currentColor;
}
.notesServiceManagerClose::before{transform:translate(-50%,-50%) rotate(45deg);}
.notesServiceManagerClose::after{transform:translate(-50%,-50%) rotate(-45deg);}
.notesServiceManagerClose:hover,
.notesServiceManagerClose:focus-visible{outline:none;border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;}
.notesServiceManagerBody{min-height:0;overflow:auto;padding:18px 20px 20px;background:#f8fbff;}
.notesServiceListToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.notesServiceListSummary{color:#475569;font-size:13px;font-weight:500;}
.notesServicePrimaryButton,
.notesServiceSecondaryButton,
.notesServiceRowButton{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    border:1px solid #2563eb;
    border-radius:9px;
    background:#2563eb;
    color:#fff;
    padding:7px 13px;
    font:inherit;
    font-size:13px;
    font-weight:650;
    cursor:pointer;
}
.notesServiceSecondaryButton,
.notesServiceRowButton{border-color:#cbd5e1;background:#fff;color:#334155;}
.notesServicePrimaryButton:hover,
.notesServicePrimaryButton:focus-visible{outline:none;border-color:#1d4ed8;background:#1d4ed8;box-shadow:0 0 0 3px rgba(59,130,246,.12);}
.notesServiceSecondaryButton:hover,
.notesServiceSecondaryButton:focus-visible,
.notesServiceRowButton:hover,
.notesServiceRowButton:focus-visible{outline:none;border-color:#60a5fa;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 3px rgba(59,130,246,.10);}
.notesServicePrimaryButton:disabled,
.notesServiceSecondaryButton:disabled,
.notesServiceRowButton:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;}
.notesServiceButtonIcon{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;}
.notesServiceButtonIcon svg{width:17px;height:17px;display:block;}
.notesServiceTableWrap{overflow:auto;border:1px solid #dbe5f2;border-radius:12px;background:#fff;}
.notesServiceTable{width:100%;border-collapse:collapse;min-width:700px;}
.notesServiceTable th{
    padding:10px 12px;
    border-bottom:1px solid #dbe5f2;
    background:#eff6ff;
    color:#475569;
    text-align:left;
    font-size:11px;
    font-weight:700;
    letter-spacing:.02em;
}
.notesServiceTable td{padding:11px 12px;border-bottom:1px solid #e8eef6;color:#334155;font-size:13px;vertical-align:middle;}
.notesServiceTable tbody tr:last-child td{border-bottom:0;}
.notesServiceTable tbody tr[data-note-service-id]{cursor:pointer;}
.notesServiceTable tbody tr[data-note-service-id]:hover td{background:#f8fbff;}
.notesServiceTableTitle{display:block;max-width:320px;color:#0f172a;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.notesServiceStatus{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    border-radius:999px;
    padding:3px 9px;
    background:#eff6ff;
    color:#1d4ed8;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
}
.notesServiceStatus.is-current{background:#ecfdf5;color:#047857;}
.notesServiceStatus.is-ended{background:#f1f5f9;color:#64748b;}
.notesServiceActions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap;}
.notesServiceRowButton{min-height:31px;padding:5px 9px;font-size:12px;}
.notesServiceRowButton.is-delete{border-color:#fecaca;color:#b91c1c;}
.notesServiceRowButton.is-delete:hover,
.notesServiceRowButton.is-delete:focus-visible{border-color:#f87171;background:#fef2f2;color:#991b1b;}
.notesServiceEmpty{padding:30px 18px!important;color:#64748b!important;text-align:center;font-weight:550;}
.notesServiceFeedback{min-height:20px;margin:10px 0 0;color:#047857;font-size:13px;font-weight:600;}
.notesServiceFeedback.is-error{color:#b91c1c;}
.notesServiceEditor{display:grid;gap:16px;}
.notesServiceEditor[hidden],
[data-notes-service-list-view][hidden]{display:none!important;}
.notesServiceEditorTitle{margin:0;color:#0f3574;font-size:18px;font-weight:700;}
.notesServiceFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.notesServiceField{display:grid;gap:6px;align-content:start;}
.notesServiceField.is-wide{grid-column:1 / -1;}
.notesServiceField label{color:#334155;font-size:13px;font-weight:650;}
.notesServiceField input,
.notesServiceField textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f172a;
    padding:10px 12px;
    font:inherit;
    font-size:14px;
    font-weight:450;
    box-shadow:inset 0 1px 2px rgba(15,23,42,.04);
}
.notesServiceField input{min-height:44px;}
.notesServiceField textarea{min-height:150px;resize:vertical;line-height:1.5;}
.notesServiceField input:focus,
.notesServiceField textarea:focus{outline:none;border-color:#93c5fd;box-shadow:0 0 0 3px rgba(59,130,246,.12),inset 0 1px 2px rgba(15,23,42,.04);}
.notesServiceField input[aria-invalid="true"],
.notesServiceField textarea[aria-invalid="true"]{border-color:#f87171;box-shadow:0 0 0 3px rgba(248,113,113,.10);}
.notesServiceDateControl{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 44px;
    gap:6px;
}
.notesServiceDateControl > input{min-width:0;}
.notesServiceCalendarToggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f3574;
    cursor:pointer;
}
.notesServiceCalendarToggle:hover,
.notesServiceCalendarToggle:focus-visible,
.notesServiceCalendarToggle[aria-expanded="true"]{
    outline:none;
    border-color:#60a5fa;
    background:#eff6ff;
    color:#1d4ed8;
    box-shadow:0 0 0 3px rgba(59,130,246,.10);
}
.notesServiceCalendarToggle svg{width:20px;height:20px;display:block;}
.notesServiceCalendar{
    position:absolute;
    z-index:12;
    top:auto;
    bottom:calc(100% + 7px);
    left:0;
    width:min(310px, calc(100vw - 52px));
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    padding:10px;
    box-shadow:0 18px 38px rgba(15,43,99,.20);
}
.notesServiceCalendar[hidden]{display:none;}
.notesServiceDateControl.is-end .notesServiceCalendar{right:0;left:auto;}
.notesServiceCalendarHead{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:5px;margin-bottom:7px;}
.notesServiceCalendarMonth{color:#0f3574;text-align:center;font-size:13px;font-weight:700;text-transform:capitalize;}
.notesServiceCalendarNav{
    width:34px;
    height:32px;
    border:1px solid #dbe5f2;
    border-radius:8px;
    background:#fff;
    color:#0f3574;
    font:inherit;
    font-size:18px;
    line-height:1;
    cursor:pointer;
}
.notesServiceCalendarNav:hover,
.notesServiceCalendarNav:focus-visible{outline:none;border-color:#60a5fa;background:#eff6ff;color:#1d4ed8;}
.notesServiceCalendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.notesServiceCalendarWeekday{padding:4px 0;color:#64748b;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;}
.notesServiceCalendarBlank{height:34px;}
.notesServiceCalendarDay{
    width:100%;
    height:34px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#334155;
    font:inherit;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}
.notesServiceCalendarDay:hover,
.notesServiceCalendarDay:focus-visible{outline:none;background:#eff6ff;color:#1d4ed8;}
.notesServiceCalendarDay.is-today{box-shadow:inset 0 0 0 1px #93c5fd;}
.notesServiceCalendarDay.is-selected{background:#2563eb;color:#fff;box-shadow:none;}
.notesServiceFieldHelp{color:#64748b;font-size:12px;line-height:1.4;}
.notesServiceFieldError{min-height:17px;color:#b91c1c;font-size:12px;line-height:1.35;}
.notesServiceEditorActions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px;}
@media (max-width:720px){
    .notesServiceManagerOverlay{align-items:flex-end;padding:8px;}
    .notesServiceManagerCard{width:100%;max-height:calc(100dvh - 16px);border-radius:14px;}
    .notesServiceManagerHead{padding:15px 14px 12px;}
    .notesServiceManagerBody{padding:14px;}
    .notesServiceListToolbar{align-items:stretch;flex-direction:column;}
    .notesServicePrimaryButton{width:100%;}
    .notesServiceFormGrid{grid-template-columns:1fr;}
    .notesServiceField.is-wide{grid-column:auto;}
    .notesServiceEditorActions{align-items:stretch;flex-direction:column-reverse;}
    .notesServiceEditorActions button{width:100%;}
}
.notesServiceReaderOverlay{
    position:fixed;
    inset:0;
    z-index:40200;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.48);
    backdrop-filter:blur(3px);
}
.notesServiceReaderOverlay.is-open{display:flex;}
.notesServiceReaderCard{
    width:min(760px, calc(100vw - 32px));
    max-height:min(780px, calc(100dvh - 32px));
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #dbe5f2;
    border-radius:16px;
    background:#fff;
    box-shadow:0 26px 74px rgba(15,23,42,.3);
}
.notesServiceReaderBody{min-height:0;overflow:auto;padding:20px;background:#f8fbff;}
.notesServiceReaderSummary{margin:0 0 12px;color:#475569;font-size:13px;font-weight:550;}
.notesServiceReaderTable{min-width:590px;}
.notesServiceReaderTable td:last-child,
.notesServiceReaderTable th:last-child{text-align:right;}
.notesServiceReaderRow{cursor:pointer;}
.notesServiceReaderRow:hover td{background:#eff6ff;}
.notesServiceReaderTitle{max-width:350px;}
.notesServiceReaderDetail{display:grid;gap:18px;}
.notesServiceReaderDetail[hidden],
.notesServiceReaderList[hidden]{display:none!important;}
.notesServiceReaderDetailMeta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;color:#64748b;font-size:12px;}
.notesServiceReaderNotice{
    padding:22px 24px 25px;
    border:1px solid #dbe5f2;
    border-radius:13px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,43,99,.06);
}
.notesServiceReaderNotice h4{
    margin:0 0 14px;
    color:#0f2f69;
    font-size:22px;
    font-weight:750;
    line-height:1.25;
    letter-spacing:-.015em;
}
.notesServiceReaderNoticeText{
    margin:0;
    color:#26364d;
    font-size:15px;
    font-weight:450;
    line-height:1.65;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.notesServiceReaderActions{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.notesServiceReaderActions.is-automatic{justify-content:flex-end;}
.notesServiceReaderActions.is-automatic [data-notes-service-reader-back]{display:none;}
@media (max-width:720px){
    .notesServiceReaderOverlay{align-items:flex-end;padding:8px;}
    .notesServiceReaderCard{width:100%;max-height:calc(100dvh - 16px);border-radius:14px;}
    .notesServiceReaderBody{padding:14px;}
    .notesServiceReaderNotice{padding:18px 16px 20px;}
    .notesServiceReaderNotice h4{font-size:20px;}
    .notesServiceReaderActions{align-items:stretch;flex-direction:column-reverse;}
    .notesServiceReaderActions button{width:100%;}
    .notesServiceReaderTable{display:block;min-width:0;}
    .notesServiceReaderTable thead{display:none;}
    .notesServiceReaderTable tbody{display:block;}
    .notesServiceReaderTable tr{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        border-bottom:1px solid #e8eef6;
    }
    .notesServiceReaderTable tr:last-child{border-bottom:0;}
    .notesServiceReaderTable td{border:0;padding:6px 10px;}
    .notesServiceReaderTable td:first-child{grid-column:1 / -1;padding-top:12px;}
    .notesServiceReaderTable td:nth-child(2){grid-column:1;}
    .notesServiceReaderTable td:nth-child(3){grid-column:2;}
    .notesServiceReaderTable td:last-child{grid-column:1 / -1;padding-bottom:12px;text-align:left;}
    .notesServiceReaderTable td:last-child .notesServiceRowButton{width:100%;}
    .notesServiceReaderTable .notesServiceEmpty{grid-column:1 / -1;padding:24px 14px!important;}
}
.menuOpsSelect{
    min-width:190px;
    height:40px;
    border:1px solid #cfe0f5;
    border-radius:10px;
    background:#fff;
    color:#0f2b46;
    padding:0 34px 0 12px;
    font:inherit;
    font-size:14px;
    font-weight:520;
    box-shadow:0 6px 14px rgba(15,43,99,0.06);
}
.menuOpsSelect:focus{
    outline:none;
    border-color:#60a5fa;
    box-shadow:0 0 0 3px rgba(96,165,250,0.16);
}
.menuOpsKpis{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
}
.menuOpsKpi{
    min-height:76px;
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    padding:12px;
    box-shadow:0 8px 18px rgba(15,43,99,0.05);
}
.menuOpsKpi strong{
    display:block;
    color:#0f2b46;
    font-size:24px;
    line-height:1;
    font-weight:720;
}
.menuOpsKpi span{
    display:block;
    margin-top:7px;
    color:#475569;
    font-size:12px;
    line-height:1.25;
    font-weight:520;
}
.menuOpsKpi.alert{
    border-color:#fecdd3;
    background:#fff8f8;
}
.menuOpsKpi.alert strong{color:#be123c;}
.menuOpsKpi.ok{
    border-color:#bbf7d0;
    background:#f8fffb;
}
.menuOpsKpi.ok strong{color:#15803d;}
.menuOpsKpi.is-clickable{
    width:100%;
    appearance:none;
    text-align:left;
    font:inherit;
    cursor:pointer;
    transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.menuOpsKpi.is-clickable:hover,
.menuOpsKpi.is-clickable:focus-visible{
    outline:none;
    border-color:#7dd3fc;
    box-shadow:0 10px 24px rgba(14,116,144,.13);
    transform:translateY(-1px);
}
.menuOpsKpi.is-clickable span::after{
    content:"  ›";
    color:#0284c7;
    font-weight:800;
}
.menuOpsBradfordKpi{
    min-height:42px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:8px;
    border:1px solid #7dd3fc;
    border-radius:10px;
    background:#fff;
    padding:6px 10px;
    color:#0f2b63;
    text-align:left;
    font:inherit;
    cursor:pointer;
    box-shadow:0 5px 12px rgba(14,116,144,.08);
    transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.menuOpsBradfordKpi strong{font-size:18px;line-height:1;font-weight:740;font-variant-numeric:tabular-nums;}
.menuOpsBradfordKpi span{max-width:92px;color:#475569;font-size:10px;line-height:1.15;font-weight:650;}
.menuOpsBradfordKpi:hover,.menuOpsBradfordKpi:focus-visible{outline:none;border-color:#0284c7;background:#f0f9ff;box-shadow:0 0 0 3px rgba(56,189,248,.16);}
.menuOpsBradfordKpi span::after{content:" ›";color:#0284c7;font-weight:800;}
.menuAbsStatsBackdrop{
    position:fixed;
    inset:0;
    z-index:10120;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:64px 12px 12px;
    background:rgba(15,23,42,.48);
}
.menuAbsStatsBackdrop[hidden]{display:none !important;}
.menuAbsStatsModal{
    width:min(1880px, calc(100vw - 24px));
    height:calc(100dvh - 76px);
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid #cfe0f5;
    border-radius:14px;
    background:#f5f9fe;
    box-shadow:0 28px 70px rgba(15,23,42,.28);
}
.menuAbsStatsControls{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    padding:10px 12px 0;
    background:#f5f9fe;
}
.menuAbsStatsTabs{display:inline-flex;gap:3px;padding:3px;border:1px solid #dbe7f6;border-radius:10px;background:#f8fbff;}
.menuAbsStatsTabs button{
    min-height:34px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#526783;
    padding:6px 12px;
    font:inherit;
    font-size:12px;
    font-weight:650;
    cursor:pointer;
}
.menuAbsStatsTabs button.is-active{background:#fff;color:#0f2b63;box-shadow:0 2px 8px rgba(15,43,99,.10);}
.menuAbsStatsClose{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#334155;
    padding:0;
    font:inherit;
    font-size:23px;
    line-height:1;
    cursor:pointer;
}
.menuAbsStatsClose:hover,.menuAbsStatsClose:focus-visible{outline:none;border-color:#7dd3fc;background:#f0f9ff;color:#0369a1;}
.menuAbsStatsContent{
    min-height:0;
    flex:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding:8px 16px 16px;
    scrollbar-width:none;
}
.menuAbsStatsContent::-webkit-scrollbar,.menuAbsStatsDetailList::-webkit-scrollbar{display:none;}
.menuAbsStatsLoading,.menuAbsStatsError,.menuAbsStatsEmpty{
    min-height:260px;
    display:grid;
    place-items:center;
    border:1px dashed #bfd3eb;
    border-radius:12px;
    background:#fff;
    color:#526783;
    padding:28px;
    text-align:center;
    font-size:14px;
}
.menuAbsStatsError{color:#b91c1c;border-color:#fecaca;background:#fff8f8;}
.menuAbsStatsToolbar{
    flex:0 0 auto;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.menuAbsStatsFilters{display:flex;align-items:flex-end;gap:9px;min-width:0;flex-wrap:wrap;}
.menuAbsStatsField{display:grid;gap:4px;min-width:170px;}
.menuAbsStatsField label{color:#64748b;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;}
.menuAbsStatsField select{
    min-height:36px;
    max-width:280px;
    border:1px solid #cfe0f5;
    border-radius:8px;
    background:#fff;
    color:#16385f;
    padding:6px 30px 6px 10px;
    font:inherit;
    font-size:12px;
    font-weight:560;
}
.menuAbsStatsCount{color:#64748b;font-size:12px;font-weight:600;white-space:nowrap;}
.menuAbsStatsKpis{display:grid;flex:0 0 auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px;}
.menuAbsStatsKpi{min-width:0;border:1px solid #dbe7f6;border-radius:10px;background:#fff;padding:10px 12px;}
.menuAbsStatsKpi span{display:block;color:#64748b;font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.035em;}
.menuAbsStatsKpi strong{display:block;margin-top:4px;color:#0f2b63;font-size:22px;line-height:1;font-weight:740;font-variant-numeric:tabular-nums;}
.menuAbsStatsKpi small{display:block;margin-top:4px;color:#64748b;font-size:10px;line-height:1.25;}
.menuAbsStatsGrid{
    min-height:0;
    flex:1 1 auto;
    display:grid;
    grid-template-columns:minmax(300px,.9fr) minmax(300px,.9fr) minmax(480px,1.45fr);
    gap:10px;
}
.menuAbsStatsPanel{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #dbe7f6;border-radius:11px;background:#fff;overflow:hidden;}
.menuAbsStatsPanelHead{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 12px 9px;border-bottom:1px solid #e8eff8;}
.menuAbsStatsPanelHead h3{margin:0;color:#173a66;font-size:14px;line-height:1.2;font-weight:700;}
.menuAbsStatsPanelHead p{margin:3px 0 0;color:#64748b;font-size:10px;line-height:1.3;}
.menuAbsStatsSegment{display:inline-flex;flex:0 0 auto;gap:2px;padding:2px;border:1px solid #dbe7f6;border-radius:8px;background:#f8fbff;}
.menuAbsStatsSegment button{border:0;border-radius:6px;background:transparent;color:#64748b;padding:5px 7px;font:inherit;font-size:10px;font-weight:650;cursor:pointer;}
.menuAbsStatsSegment button.is-active{background:#fff;color:#0f2b63;box-shadow:0 1px 5px rgba(15,43,99,.09);}
.menuAbsStatsList{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;padding:4px 6px 6px;}
.menuAbsStatsPerson{
    flex:1 1 34px;
    width:100%;
    min-height:0;
    max-height:42px;
    display:grid;
    grid-template-columns:25px minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    border:0;
    border-bottom:1px solid #edf2f8;
    background:#fff;
    color:#173a66;
    padding:2px 5px;
    text-align:left;
    font:inherit;
    cursor:pointer;
}
.menuAbsStatsPerson:hover,.menuAbsStatsPerson:focus-visible{outline:none;background:#f3f9ff;}
.menuAbsStatsAvatar{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eaf6ff;color:#0369a1;font-size:9px;font-weight:750;}
.menuAbsStatsPersonBody{min-width:0;}
.menuAbsStatsPersonBody strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#173a66;font-size:11px;font-weight:680;}
.menuAbsStatsPersonBody span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7a8da8;font-size:9px;}
.menuAbsStatsPersonValue{text-align:right;font-variant-numeric:tabular-nums;}
.menuAbsStatsPersonValue strong{display:block;color:#0f2b63;font-size:13px;font-weight:750;}
.menuAbsStatsPersonValue span{display:block;margin-top:2px;color:#e87917;font-size:9px;font-weight:680;}
.menuAbsStatsChartBody{min-height:0;flex:1;display:flex;flex-direction:column;padding:12px;}
.menuAbsStatsInsight{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding:8px 10px;border:1px solid #bae6fd;border-radius:8px;background:#f0f9ff;color:#075985;font-size:11px;line-height:1.3;}
.menuAbsStatsInsight strong{font-weight:750;}
.menuAbsStatsChartCanvas{min-height:260px;flex:1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px;padding-top:4px;}
.menuAbsStatsYAxis{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:1px 0 26px;color:#94a3b8;font-size:9px;font-variant-numeric:tabular-nums;}
.menuAbsStatsPlot{position:relative;min-width:0;min-height:230px;border-left:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1;}
.menuAbsStatsGridLines{position:absolute;inset:0 0 24px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;}
.menuAbsStatsGridLines i{display:block;border-top:1px dashed #e2e8f0;}
.menuAbsStatsBars{position:absolute;inset:0 8px 0;display:grid;grid-template-columns:repeat(7,minmax(34px,1fr));align-items:end;gap:clamp(5px,1.2vw,18px);}
.menuAbsStatsBar{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 24px;align-items:end;min-width:0;}
.menuAbsStatsBarPlot{height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;}
.menuAbsStatsBarPlot i{width:min(34px,70%);min-height:2px;border-radius:5px 5px 1px 1px;background:linear-gradient(180deg,#38bdf8 0%,#0284c7 100%);box-shadow:0 3px 9px rgba(2,132,199,.15);}
.menuAbsStatsBarPlot em{position:absolute;bottom:calc(var(--bar-height, 0%) + 4px);color:#0f2b63;font-style:normal;font-size:9px;font-weight:720;font-variant-numeric:tabular-nums;}
.menuAbsStatsBar > span{align-self:center;text-align:center;color:#64748b;font-size:9px;font-weight:650;text-transform:uppercase;}
.menuAbsStatsMethod{margin:10px 0 0;color:#64748b;font-size:10px;line-height:1.4;}
.menuAbsStatsCollaboratorTop{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;}
.menuAbsStatsBack{border:1px solid #cfe0f5;border-radius:8px;background:#fff;color:#0f2b63;padding:7px 10px;font:inherit;font-size:11px;font-weight:650;cursor:pointer;}
.menuAbsStatsBack:hover{background:#f0f9ff;border-color:#7dd3fc;}
.menuAbsStatsCollaboratorGrid{display:grid;flex:1 1 auto;grid-template-columns:minmax(360px,.85fr) minmax(520px,1.45fr);gap:10px;min-height:0;}
.menuAbsStatsPattern{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;}
.menuAbsStatsPattern > div{border:1px solid #e2e8f0;border-radius:8px;background:#f8fbff;padding:9px;}
.menuAbsStatsPattern span{display:block;color:#64748b;font-size:9px;text-transform:uppercase;font-weight:650;}
.menuAbsStatsPattern strong{display:block;margin-top:4px;color:#173a66;font-size:12px;line-height:1.3;font-weight:700;}
.menuAbsStatsDetailColumns{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px;}
.menuAbsStatsDetailBlock{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden;}
.menuAbsStatsDetailBlock h4{margin:0;padding:9px 10px;border-bottom:1px solid #e2e8f0;background:#f8fbff;color:#173a66;font-size:11px;font-weight:700;}
.menuAbsStatsDetailList{min-height:0;overflow:auto;padding:4px 8px;scrollbar-width:none;}
.menuAbsStatsDetailRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:8px 2px;border-bottom:1px solid #edf2f8;}
.menuAbsStatsDetailRow strong{display:block;color:#173a66;font-size:10px;font-weight:680;}
.menuAbsStatsDetailRow span{display:block;margin-top:2px;color:#64748b;font-size:9px;line-height:1.3;}
.menuAbsStatsDetailRow em{color:#0369a1;font-style:normal;font-size:10px;font-weight:700;white-space:nowrap;}
@media (max-width:1250px){
    .menuAbsStatsModal{min-height:0;}
    .menuAbsStatsContent{overflow:auto;}
    .menuAbsStatsGrid{height:auto;min-height:900px;grid-template-columns:minmax(300px,1fr) minmax(300px,1fr);}
    .menuAbsStatsPanel.is-chart{grid-column:1/-1;min-height:430px;}
    .menuAbsStatsCollaboratorGrid{height:auto;grid-template-columns:1fr;}
}
@media (max-width:820px){
    .menuAbsStatsBackdrop{padding:64px 0 0;}
    .menuAbsStatsModal{width:100vw;height:calc(100dvh - 64px);border-right:0;border-bottom:0;border-left:0;border-radius:0;}
    .menuAbsStatsControls{padding:9px 10px 0;}
    .menuAbsStatsContent{padding:10px;}
    .menuAbsStatsToolbar,.menuAbsStatsCollaboratorTop{align-items:stretch;flex-direction:column;}
    .menuAbsStatsFilters{display:grid;grid-template-columns:1fr 1fr;}
    .menuAbsStatsField{min-width:0;}
    .menuAbsStatsField select{width:100%;max-width:none;}
    .menuAbsStatsKpis{grid-template-columns:1fr 1fr;}
    .menuAbsStatsGrid{min-height:1420px;grid-template-columns:1fr;}
    .menuAbsStatsPanel.is-chart{grid-column:auto;}
    .menuAbsStatsDetailColumns{grid-template-columns:1fr;}
}
.menuOpsActionBlocks{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
}
.menuOpsActionBlocks.is-three{
    grid-template-columns:repeat(3, minmax(0, 1fr));
}
.menuOpsCategory{
    display:grid;
    align-content:start;
    gap:8px;
    min-width:0;
    border:0;
    border-radius:0;
    background:transparent;
    padding:0;
}
.menuOpsCategory.is-alert{
    background:transparent;
}
.menuOpsCategory.is-ok{
    background:transparent;
}
.menuOpsCategoryHead{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}
.menuOpsCategoryHead strong{
    color:#0f2b63;
    font-size:16px;
    font-weight:610;
    line-height:1.2;
}
.menuOpsCategory.is-alert .menuOpsCategoryHead strong{
    color:#0f2b63;
}
.menuOpsCategory.is-rtt-jaune .menuOpsCategoryHead strong{color:#854d0e;}
.menuOpsCategory.is-rtt-orange .menuOpsCategoryHead strong{color:#9a3412;}
.menuOpsCategory.is-rtt-rouge .menuOpsCategoryHead strong{color:#991b1b;}
.menuOpsCategory.is-info .menuOpsCategoryHead strong{
    color:#0f2b63;
}
.menuOpsCategoryHead span{
    color:#64748b;
    font-size:12px;
    font-weight:500;
    white-space:nowrap;
}
.menuOpsGrid{
    display:grid;
    grid-template-columns:minmax(0, 1.08fr) minmax(360px, .92fr);
    gap:12px;
    align-items:start;
}
.menuOpsGrid.is-focus{
    grid-template-columns:1fr;
}
.menuOpsStack{
    display:grid;
    gap:12px;
    min-width:0;
}
.menuOpsMainWithPointage{
    display:grid;
    grid-template-columns:minmax(0, 1fr) minmax(340px, 420px);
    gap:12px;
    align-items:start;
}
.menuOpsMainColumn{
    display:grid;
    gap:12px;
    min-width:0;
}
.menuOpsPointageColumn{
    display:grid;
    gap:18px;
    align-items:start;
    position:sticky;
    top:84px;
    z-index:2;
    min-width:0;
}
.menuOpsPointageColumn > .menuNextPanel + .menuNextPanel{
    position:relative;
}
.menuOpsPointageColumn > .menuNextPanel + .menuNextPanel::before{
    content:"";
    position:absolute;
    top:-10px;
    left:18px;
    right:18px;
    height:2px;
    border-radius:999px;
    background:#bfdbfe;
}
.menuOpsPanel{
    border:1px solid #dbe7f6;
    border-radius:14px;
    background:#fff;
    padding:14px;
    box-shadow:0 10px 24px rgba(15,43,99,0.05);
}
.menuOpsPanelHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.menuOpsPanelHead h3{
    margin:0;
    color:#0f2b63;
    font-size:16px;
    line-height:1.2;
    font-weight:680;
}
.menuOpsPanel.is-priority{
    border-color:#bfdbfe;
    background:#fff;
}
.menuOpsPanel.is-ok{
    border-color:#bbf7d0;
    background:#f8fffb;
}
.menuOpsPanel.is-ok .menuOpsPanelHead h3{color:#15803d;}
.menuOpsList{
    display:grid;
    gap:7px;
}
.menuOpsItem{
    display:grid;
    grid-template-columns:30px minmax(0, 1fr);
    align-items:center;
    gap:9px;
    min-height:46px;
    border:1px solid #e2ebf6;
    border-left:3px solid #dbe7f6;
    border-radius:11px;
    background:#fff;
    padding:8px 10px;
}
.menuOpsItem .menuNextIcon{
    width:30px;
    height:30px;
    border-radius:9px;
    align-self:center;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:0;
}
.menuOpsItem .menuNextIcon [data-icone-duotone]{
    display:flex;
    align-items:center;
    justify-content:center;
}
.menuOpsItem strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    font-weight:620;
    line-height:1.2;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuOpsItemBody{
    min-width:0;
}
.menuOpsItemActions{
    display:flex;
    justify-content:flex-start;
    align-items:flex-start;
    margin-top:8px;
}
.menuOpsItem span{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:11.5px;
    font-weight:480;
    line-height:1.25;
}
.menuOpsItem.is-alert{
    border-color:#e2ebf6;
    border-left-color:#93c5fd;
    background:#fff;
}
.menuOpsItem.is-alert strong{color:#0f172a;}
.menuOpsItem.is-rtt-jaune{
    border-color:#fde68a;
    border-left-color:#eab308;
    background:#fffbeb;
}
.menuOpsItem.is-rtt-jaune strong{color:#854d0e;}
.menuOpsItem.is-rtt-orange{
    border-color:#fed7aa;
    border-left-color:#f97316;
    background:#fff7ed;
}
.menuOpsItem.is-rtt-orange strong{color:#9a3412;}
.menuOpsItem.is-rtt-rouge{
    border-color:#fecaca;
    border-left-color:#dc2626;
    background:#fef2f2;
}
.menuOpsItem.is-rtt-rouge strong{color:#991b1b;}
.menuOpsItem.is-ok{
    border-color:#e2ebf6;
    border-left-color:#86efac;
    background:#fff;
}
.menuOpsItem.is-ok strong{color:#0f172a;}
.menuOpsItem.is-info{
    border-left-color:#93c5fd;
}
.menuRhReplacementSections{display:grid;gap:14px;}
.menuRhReplacementSection{display:grid;gap:7px;}
.menuRhReplacementSectionHead{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.menuRhReplacementSectionHead h4{margin:0;color:#0f2b63;font-size:13px;font-weight:780;}
.menuRhReplacementSectionHead span,.menuRhReplacementHistory summary>span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:760;}
.menuRhReplacementList{display:grid;gap:0;max-height:620px;overflow:auto;padding-right:4px;border-top:1px solid #e2ebf6;}
.menuRhReplacementRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #e2ebf6;}
.menuRhReplacementRow:last-child{border-bottom:0;padding-bottom:0;}
.menuRhReplacementRowActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;}
.menuRhReplacementHistory{border-top:1px solid #dbe7f6;padding-top:10px;}
.menuRhReplacementHistory summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;color:#334155;font-size:13px;font-weight:750;cursor:pointer;list-style:none;}
.menuRhReplacementHistory summary::-webkit-details-marker{display:none;}
.menuRhReplacementHistory[open] summary{margin-bottom:7px;color:#0f2b63;}
.menuRhReplacementTitle{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#0f2b63;font-size:14px;font-weight:760;line-height:1.3;}
.menuRhReplacementMeta{display:block;margin-top:4px;color:#64748b;font-size:12.5px;line-height:1.4;}
.menuRhReplacementProgress{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:7px;}
.menuRhReplacementProgress span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid #dbe7f6;border-radius:999px;background:#f8fbff;color:#475569;font-size:11px;font-weight:650;}
.menuRhReplacementProgress .is-ok{border-color:#bbf7d0;background:#f0fdf4;color:#15803d;}
.menuRhReplacementProgress .is-waiting{border-color:#fde68a;background:#fffbeb;color:#a16207;}
.menuRhReplacementProgress .is-reported{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9;}
.menuRhReplacementProgress .is-refused{border-color:#fecdd3;background:#fff1f2;color:#be123c;}
.menuRhReplacementStatus{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:760;}
.menuRhReplacementStatus.is-ok{border-color:#bbf7d0;background:#f0fdf4;color:#15803d;}
.menuRhReplacementStatus.is-waiting{border-color:#fde68a;background:#fffbeb;color:#a16207;}
.menuRhReplacementStatus.is-refused{border-color:#fecdd3;background:#fff1f2;color:#be123c;}
.menuRhReplacementStatus.is-confirmed{border-color:#bbf7d0;background:#f0fdf4;color:#15803d;}
.menuRhReplacementStatus.is-reopen{border-color:#fecdd3;background:#fff1f2;color:#be123c;}
.menuRhReplacementStatus.is-not-required{border-color:#cbd5e1;background:#f8fafc;color:#475569;}
.menuRhReplacementStatus.is-reported{border-color:#c4b5fd;background:#f5f3ff;color:#6d28d9;}
.menuRhReplacementModal{width:min(700px,100%);padding:0;overflow:hidden;border-color:#cbdcf8;}
.menuRhReplacementModalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 16px;border-bottom:1px solid #dbeafe;}
.menuRhReplacementModalHead h3{margin:0;color:#0f2b63;font-size:20px;line-height:1.25;font-weight:820;}
.menuRhReplacementModalHead p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.45;}
.menuRhReplacementModalBody{padding:20px 22px 22px;}
.menuRhReplacementOutcome{margin:0;padding:12px 14px;border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e3a6d;font-size:14px;font-weight:720;line-height:1.45;}
.menuRhReplacementOutcome.is-confirmed{border-color:#bbf7d0;background:#f0fdf4;color:#166534;}
.menuRhReplacementOutcome.is-reopen{border-color:#fecdd3;background:#fff1f2;color:#be123c;}
.menuRhReplacementOutcome.is-not-required{border-color:#cbd5e1;background:#f8fafc;color:#475569;}
.menuRhReplacementSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;}
.menuRhReplacementSummary div{padding:10px 12px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;}
.menuRhReplacementSummary span{display:block;color:#64748b;font-size:11px;font-weight:650;line-height:1.3;}
.menuRhReplacementSummary strong{display:block;margin-top:3px;color:#0f2b63;font-size:14px;line-height:1.35;}
.menuRhReplacementParticipants{display:grid;gap:8px;margin-top:18px;}
.menuRhReplacementParticipants h4{margin:0;color:#0f2b63;font-size:14px;}
.menuRhReplacementParticipant{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #e2ebf6;border-radius:8px;background:#fff;}
.menuRhReplacementParticipant strong,.menuRhReplacementParticipant span{display:block;}
.menuRhReplacementParticipant strong{color:#1e293b;font-size:13px;}
.menuRhReplacementParticipant span{margin-top:2px;color:#64748b;font-size:12px;}
@media (max-width:600px){.menuRhReplacementRow{align-items:flex-start;grid-template-columns:1fr;}.menuRhReplacementRowActions{justify-content:flex-start;}.menuRhReplacementSummary{grid-template-columns:1fr;}.menuRhReplacementParticipant{align-items:flex-start;flex-direction:column;gap:6px;}}
.menuOpsAction{
    min-height:32px;
    border:1px solid #bfdbfe;
    border-radius:9px;
    background:#fff;
    color:#0f2b63;
    padding:0 10px;
    font:inherit;
    font-size:12px;
    font-weight:560;
    cursor:pointer;
}
.menuOpsAction:hover,
.menuOpsAction:focus-visible{
    outline:none;
    background:#eff6ff;
    border-color:#93c5fd;
}
.menuReplacementDetails{
    width:100%;
}
.menuReplacementActions{
    position:relative;
    width:100%;
    min-width:0;
}
.menuReplacementProgress{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:4px 8px;
    margin-bottom:8px;
    padding:8px 10px;
    border:1px solid #86efac;
    border-radius:9px;
    background:#f0fdf4;
    color:#166534;
    font-size:11.5px;
    line-height:1.35;
}
.menuReplacementProgress strong{
    font-size:12px;
}
.menuReplacementProgress span{
    color:#3f6212;
}
.menuReplacementTopActions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-bottom:8px;}
.menuReplacementSkip{border-color:#fed7aa;background:#fff7ed;color:#9a3412;}
.menuReplacementSkip:hover,.menuReplacementSkip:focus-visible{border-color:#fdba74;background:#ffedd5;color:#9a3412;}
.menuReplacementSchedule:disabled{
    cursor:not-allowed;
    opacity:.55;
}
.menuReplacementDetails summary{
    width:max-content;
    min-height:32px;
    display:flex;
    align-items:center;
    border:1px solid #bfdbfe;
    border-radius:9px;
    background:#fff;
    color:#0f2b63;
    padding:0 10px;
    font-size:12px;
    font-weight:560;
    cursor:pointer;
    list-style:none;
}
.menuReplacementDetails summary::-webkit-details-marker{display:none;}
.menuReplacementLabel{
    display:inline-flex;
    align-items:center;
}
.menuReplacementLabelClosed,
.menuReplacementLabelOpen{
    display:none;
}
.menuReplacementDetails summary:hover,
.menuReplacementDetails summary:focus-visible{
    outline:none;
    background:#eff6ff;
    border-color:#93c5fd;
}
.menuReplacementDetails[open] summary{
    background:#eff6ff;
    border-color:#93c5fd;
}
.menuReplacementList{
    display:grid;
    gap:7px;
    margin-top:8px;
}
.menuReplacementCandidate,
.menuReplacementEmpty{
    display:grid;
    gap:7px;
    border:1px solid #dbe7f6;
    border-radius:10px;
    background:#f8fbff;
    padding:9px;
}
.menuReplacementCandidateHead{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
}
.menuReplacementCandidateHead strong{
    white-space:normal;
}
.menuReplacementCandidateHead span,
.menuReplacementEmpty{
    color:#64748b;
    font-size:11.5px;
    font-weight:480;
}
.menuReplacementMeta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.menuReplacementMeta span,
.menuReplacementMeta a{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    border:1px solid #dbe7f6;
    border-radius:999px;
    background:#fff;
    color:#334155;
    padding:0 8px;
    font-size:11.5px;
    font-weight:500;
    text-decoration:none;
}
.menuReplacementCandidateActions{
    display:flex;
    justify-content:flex-end;
}
.menuReplacementChoose{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #bfdbfe;
    border-radius:9px;
    background:#fff;
    color:#0f2b63;
    padding:0 10px;
    font-size:12px;
    font-weight:560;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.menuReplacementChoose:hover,
.menuReplacementChoose:focus-visible{
    outline:none;
    background:#eff6ff;
    border-color:#93c5fd;
}
.menuReplacementChoose:disabled{
    cursor:wait;
    opacity:.65;
}
.menuReplacementFunctionGroup{
    margin-top:5px;
    color:#1e3a5f;
    font-size:11.5px;
    font-weight:750;
}
.menuReplacementMore{
    min-height:34px;
    justify-self:start;
    margin-top:3px;
    padding:0 11px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#f8fafc;
    color:#334155;
    font:inherit;
    font-size:12px;
    font-weight:650;
    cursor:pointer;
}
.menuReplacementMore:hover,
.menuReplacementMore:focus-visible{outline:none;border-color:#93c5fd;background:#eff6ff;color:#0f2b63;}
.menuReplacementFallback{display:grid;gap:7px;padding-top:2px;}
.menuReplacementFallback[hidden]{display:none;}
.menuReplacementChoose.is-pending:disabled{
    cursor:default;
    opacity:1;
    color:#166534;
    border-color:#86efac;
    background:#f0fdf4;
}
.menuOpsCoveragePanel{
    display:grid;
    gap:10px;
}
.menuOpsCoverageHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
}
.menuOpsCoverageHead h3{
    margin:0;
    color:#0f2b63;
    font-size:16px;
    font-weight:680;
    line-height:1.2;
}
.menuOpsCoverageHead span{
    color:#64748b;
    font-size:12px;
    font-weight:500;
}
.menuOpsCoverageScroll{
    overflow-x:auto;
    padding-bottom:2px;
}
.menuOpsCoverageMatrix{
    display:grid;
    grid-template-columns:minmax(82px, 104px) repeat(var(--ops-coverage-days, 10), 54px);
    width:max-content;
    min-width:max-content;
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    overflow:hidden;
}
.menuOpsCoverageAxis,
.menuOpsCoverageDayCell,
.menuOpsCoverageLabel,
.menuOpsCoverageValue{
    min-height:28px;
    border-right:1px solid #e2ebf6;
    border-bottom:1px solid #edf2f7;
    display:flex;
    align-items:center;
}
.menuOpsCoverageAxis{
    align-items:center;
    padding:5px 10px;
    color:#334155;
    font-size:12px;
    font-weight:610;
    background:#fff;
}
.menuOpsCoverageDayCell{
    justify-content:center;
    padding:5px 6px;
    color:#475569;
    font-size:11px;
    font-weight:520;
    background:#f8fbff;
}
.menuOpsCoverageDayCell.is-weekend{
    background:#f1f5f9;
}
.menuOpsCoverageLabel{
    padding:5px 10px;
    color:#475569;
    font-size:12px;
    font-weight:520;
    background:#fff;
}
.menuOpsCoverageValue{
    justify-content:center;
    padding:5px 6px;
    color:#334155;
    font-size:12px;
    font-weight:520;
    font-variant-numeric:tabular-nums;
    background:#fbfdff;
}
.menuOpsCoverageValue.is-weekend{
    background:#f8fafc;
}
.menuOpsCoverageValue.is-warn{
    color:#be123c;
    background:#fff1f2;
}
.menuOpsCoverageValue.is-surplus{
    color:#9a3412;
    background:#fff7ed;
}
.menuOpsCoverageValue.is-ok{
    color:#166534;
}
.menuOpsDays{
    display:grid;
    grid-template-columns:repeat(7, minmax(0, 1fr));
    gap:7px;
}
.menuOpsDay{
    min-height:112px;
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    padding:9px;
    display:flex;
    flex-direction:column;
    gap:7px;
}
.menuOpsDay.has-absence{
    border-color:#fecdd3;
    background:#fff9fa;
}
.menuOpsDay strong{
    color:#0f2b63;
    font-size:12px;
    font-weight:620;
    line-height:1.15;
}
.menuOpsDayMeta{
    margin-top:auto;
    color:#64748b;
    font-size:11px;
    font-weight:500;
}
.menuOpsChips{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.menuOpsChips .menuNextVacCode{
    min-width:0;
    padding:3px 7px;
    font-size:10.5px;
    font-weight:560;
}
.menuOpsEmpty{
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#f8fafc;
    color:#64748b;
    padding:14px;
    text-align:center;
    font-size:13px;
    font-weight:520;
}
.menuNextPortal{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:14px;
}
.menuNextPortalHero{
    min-height:250px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}
.menuNextPortalTitle{
    color:#0f2b63;
    font-size:29px;
    font-weight:950;
}
.menuNextPortalBirthday{
    margin-top:5px;
    color:#0f2b63;
    font-size:14px;
    font-weight:600;
}
.menuNextPortalText{
    color:#64748b;
    margin-top:6px;
    line-height:1.4;
}
.menuNextPortalActions{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    margin-top:14px;
}
.menuNextPortalPointage{
    margin-top:14px;
}
.menuCollabMobileFallback .menuNextPortalHero{justify-content:flex-start;}
.menuFiveDays{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid #dbe3ef;
}
.menuFiveDaysTitle{
    margin-bottom:9px;
    color:#0f2b46;
    font-size:14px;
    font-weight:800;
}
.menuFiveDaysList{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px;
}
.menuFiveDay{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
}
.menuFiveDayDate{
    color:#475569;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
}
.menuFiveDayBubble{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    max-width:100%;
    padding:5px;
    border:1px solid rgba(15,23,42,.16);
    border-radius:50%;
    box-shadow:0 2px 6px rgba(15,23,42,.1);
    font-size:14px;
    font-weight:900;
    line-height:1.05;
    text-align:center;
    overflow-wrap:anywhere;
}
.menuFiveDayBubble.is-rest{color:#475569 !important;}
.menuFiveDayBubble small{
    position:absolute;
    right:-3px;
    bottom:-3px;
    min-width:19px;
    padding:2px;
    border-radius:999px;
    background:#0f2b46;
    color:white;
    font-size:10px;
}
.menuFiveDayHours{
    color:#334155;
    font-size:11px;
    font-weight:750;
    line-height:1.15;
    text-align:center;
}
.menuFiveDayHours span{display:block;}
.menuFiveDay:focus-visible .menuFiveDayBubble{outline:3px solid #2563eb;outline-offset:3px;}
.menuFiveDayDialog{
    position:fixed;
    inset:auto;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    margin:0;
    width:min(360px,calc(100vw - 28px));
    max-width:calc(100vw - 28px);
    max-height:calc(100dvh - 40px);
    overflow-y:auto;
    border:1px solid #cbd5e1;
    border-radius:16px;
    padding:18px;
    color:#0f172a;
    box-shadow:0 24px 70px rgba(15,23,42,.3);
}
.menuFiveDayDialog::backdrop{background:rgba(15,23,42,.55);}
.menuFiveDayDialogHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.menuFiveDayDialogHead h3{margin:0;font-size:19px;text-transform:capitalize;}
.menuFiveDayDialogClose{width:36px;height:36px;border:0;border-radius:8px;background:#eff6ff;color:#0f2b46;font-size:24px;cursor:pointer;}
.menuFiveDayDialogBody{display:grid;gap:9px;}
.menuFiveDayDialogBody p{margin:0;font-size:15px;}
.menuFiveDayDialogVacation{display:grid;gap:4px;padding:10px;border:1px solid #dbe3ef;border-radius:10px;background:#f8fafc;}
.menuFiveDayDialogVacation strong{font-size:16px;}
.menuFiveDayDialogVacation span{font-size:18px;font-weight:800;}
.menuFiveDayDialogVacation small{font-size:13px;color:#475569;}
.menuCollabMobileFallback{display:none;}
.menuCollabDesktopLayout{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(420px, .95fr);
    gap:16px;
    align-items:start;
}
.menuCollabInfoGrid{
    display:grid;
    grid-template-columns:minmax(0, 1.05fr) minmax(420px, .95fr);
    gap:16px;
    align-items:stretch;
    margin-top:14px;
}
.menuCollabInfoGrid.is-single{
    grid-template-columns:1fr;
}
.menuCollabInfoStack{
    min-width:0;
    height:100%;
    display:grid;
    align-content:start;
    gap:14px;
}
.menuCollabInfoGrid > .menuNextPanel{
    align-self:stretch;
}
.menuCollabDetailedCounters[hidden]{
    display:none !important;
}
.menuCollabStack{
    display:grid;
    gap:14px;
}
.menuCollabReplacementList{display:grid;gap:9px;}
.menuCollabReplacementItem{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbeafe;border-radius:12px;padding:11px 12px;background:#f8fbff;}
.menuCollabReplacementItem strong,.menuCollabReplacementItem span{display:block;}
.menuCollabReplacementItem span{margin-top:3px;color:#64748b;font-size:0.88rem;}
.menuCollabReplacementItem .menuCollabReplacementReported{display:inline-flex;width:max-content;margin-top:6px;padding:3px 8px;border:1px solid #f5c46b;border-radius:999px;background:#fff7e6;color:#8a4b08;font-size:0.76rem;font-weight:750;}
.menuCollabReplacementActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;}
.menuCollabColumnNav{
    display:flex;
    justify-content:flex-start;
    min-width:0;
}
.menuCollabPointageHero{
    border:1px solid #dbeafe;
    background:linear-gradient(135deg, #eff6ff 0%, #ffffff 58%);
    padding:18px;
}
.menuCollabPointageTop{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin-bottom:14px;
}
.menuCollabPointageKicker{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    color:#0f2b63;
    font-size:18px;
    line-height:1.2;
    font-weight:800;
    text-transform:none;
}
.menuCollabPointageTitle{
    display:block;
    margin:0;
    color:#0f2b63;
    font-size:18px;
    line-height:1.2;
    font-weight:680;
}
.menuCollabPointageCurrent{
    display:flex;
    flex-direction:column;
    gap:8px;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:rgba(255,255,255,.78);
    padding:14px;
}
.menuCollabPointageShiftList{
    display:grid;
    gap:14px;
}
.menuCollabPointageShift{
    min-width:0;
}
.menuCollabPointageCurrentDate{
    color:#475569;
    font-size:13px;
    line-height:1.25;
    font-weight:620;
}
.menuPointageHolidayNotice{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px 7px;
    border:1px solid #fde68a;
    border-radius:12px;
    background:#fffbeb;
    color:#854d0e;
    padding:9px 11px;
    font-size:13px;
    line-height:1.4;
}
.menuPointageHolidayNotice strong{
    color:#713f12;
    font-weight:800;
}
.menuCollabPointageHero > .menuPointageHolidayNotice{
    margin-bottom:14px;
}
.menuCollabPointageCurrentLine{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px 12px;
    min-width:0;
}
.menuCollabPointageSchedule{
    color:#0f2b63;
    font-size:18px;
    line-height:1.25;
    font-weight:720;
}
.menuCollabPointageSchedule.is-empty{
    color:#475569;
    font-size:15px;
    font-weight:560;
}
.menuCollabPointageMetaRow{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px 12px;
}
.menuCollabPointageMeta{
    color:#475569;
    font-size:14px;
    font-weight:500;
}
.menuCollabDayElements{
    display:grid;
    gap:7px;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #dbeafe;
}
.menuCollabDayElementsTitle{
    color:#31558b;
    font-size:12px;
    font-weight:720;
    letter-spacing:.01em;
}
.menuCollabDayElement{
    display:flex;
    align-items:flex-start;
    gap:8px;
    min-width:0;
    border-left:3px solid #93c5fd;
    border-radius:8px;
    background:#f8fbff;
    color:#173d75;
    padding:7px 9px;
    font-size:13px;
    line-height:1.35;
}
.menuCollabDayElement.is-rendez-vous{ border-left-color:#6366f1; }
.menuCollabDayElement.is-activite{ border-left-color:#0891b2; }
.menuCollabDayElement.is-attention{ border-left-color:#f59e0b; background:#fffbeb; color:#854d0e; }
.menuCollabDayElement.is-important{ border-left-color:#ef4444; background:#fff5f5; color:#991b1b; }
.menuCollabDayElementIcon{
    flex:0 0 18px;
    font-weight:760;
    text-align:center;
}
.menuCollabDayElementText{ min-width:0; }
.menuCollabDayElement time{
    margin-right:5px;
    font-weight:720;
    white-space:nowrap;
}
.menuBirthdayModalBackdrop{
    position:fixed;
    inset:0;
    z-index:2147481001;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.55);
    backdrop-filter:blur(3px);
}
.menuBirthdayModalBackdrop[hidden]{display:none !important;}
.menuBirthdayModal{
    display:flex;
    flex-direction:column;
    width:min(640px,100%);
    max-height:min(82vh,760px);
    overflow:hidden;
    border:1px solid #dbe5f2;
    border-radius:14px;
    background:#fff;
    box-shadow:0 20px 64px rgba(2,6,23,.28);
}
.menuBirthdayModalHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px 15px;
    border-bottom:1px solid #e2e8f0;
}
.menuBirthdayModalTitle{
    display:flex;
    align-items:flex-start;
    gap:11px;
    min-width:0;
}
.menuBirthdayModalTitle .menuNextIcon{
    width:34px;
    height:34px;
    color:#1d4ed8;
}
.menuBirthdayModalTitle h3{
    margin:0;
    color:#0f3574;
    font-size:19px;
    line-height:1.25;
    font-weight:650;
}
.menuBirthdayModalTitle p{
    margin:4px 0 0;
    color:#64748b;
    font-size:12px;
    line-height:1.45;
}
.menuBirthdayModalClose{
    display:grid;
    place-items:center;
    flex:0 0 auto;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #dbe5f2;
    border-radius:9px;
    background:#fff;
    color:#334155;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.menuBirthdayModalClose:hover,
.menuBirthdayModalClose:focus-visible{
    outline:none;
    border-color:#93c5fd;
    background:#f8fbff;
    color:#1d4ed8;
}
.menuBirthdayModalBody{
    min-height:0;
    overflow:auto;
    padding:8px 20px;
}
.menuBirthdayList{display:grid;}
.menuBirthdayRow{
    display:grid;
    grid-template-columns:92px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:50px;
    padding:9px 4px;
    border-bottom:1px solid #e7eef8;
}
.menuBirthdayRow:last-child{border-bottom:0;}
.menuBirthdayDate{
    color:#0f3574;
    font-size:13px;
    font-weight:700;
}
.menuBirthdayPerson{min-width:0;}
.menuBirthdayPerson strong{
    display:block;
    overflow:hidden;
    color:#0f172a;
    font-size:13px;
    font-weight:650;
    line-height:1.3;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuBirthdayPerson span,
.menuBirthdayDelay{
    color:#64748b;
    font-size:11px;
    line-height:1.35;
}
.menuBirthdayEmpty{
    padding:28px 8px;
    color:#64748b;
    font-size:13px;
    text-align:center;
}
.menuBirthdayModalFoot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 20px 16px;
    border-top:1px solid #e2e8f0;
}
.menuBirthdayProgress{
    color:#64748b;
    font-size:12px;
}
.menuBirthdayMore{
    min-height:36px;
    padding:0 13px;
    border:1px solid #93c5fd;
    border-radius:9px;
    background:#eff6ff;
    color:#1d4ed8;
    font:inherit;
    font-size:12px;
    font-weight:650;
    cursor:pointer;
}
.menuBirthdayMore:hover,
.menuBirthdayMore:focus-visible{
    outline:none;
    border-color:#60a5fa;
    background:#dbeafe;
}
.menuCollabPointageCode{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:24px;
    border:1px solid rgba(15,43,99,.14);
    border-radius:12px;
    padding:0 10px;
    font-size:13px;
    font-weight:650;
    box-shadow:0 4px 10px rgba(15,43,99,.06);
}
.menuCollabPointageKicker .menuCollabPointageCode{
    vertical-align:middle;
}
.menuCollabPointageSide .menuCollabPointageCode{
    display:none;
}
.menuCollabPointageStatus{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid #fed7aa;
    border-radius:999px;
    background:#fff7ed;
    color:#9a3412;
    padding:6px 11px;
    font-size:13px;
    font-weight:650;
}
.menuCollabPointageStatus.ok{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#166534;
}
.menuCollabPointageStatus.idle{
    border-color:#dbeafe;
    background:#f8fbff;
    color:#334155;
}
.menuCollabPointageMetrics{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.menuCollabMetric{
    border:1px solid #dbeafe;
    border-radius:14px;
    background:rgba(255,255,255,.86);
    padding:13px;
}
.menuCollabMetric span{
    display:block;
    color:#64748b;
    font-size:11px;
    font-weight:650;
    text-transform:uppercase;
}
.menuCollabMetric strong{
    display:block;
    margin-top:6px;
    color:#0f172a;
    font-size:20px;
    font-weight:720;
}
.menuCollabPointageFooter{
    display:block;
    gap:14px;
    margin-top:18px;
}
.menuCollabPointageHint{
    color:#475569;
    font-size:13px;
    line-height:1.35;
    font-weight:700;
}
.menuCollabPointageAction{
    border:1px solid #1d4ed8;
    border-radius:14px;
    background:#2563eb;
    color:#fff;
    padding:13px 16px;
    min-width:0;
    width:100%;
    font-size:16px;
    font-weight:680;
    box-shadow:0 10px 18px rgba(37,99,235,.18);
    cursor:pointer;
}
.menuCollabPointageActions{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
}
.menuCollabPointageAction{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:0;
}
.menuCollabPointageAction .ico{
    font-size:18px;
    line-height:1;
}
.menuCollabPointageAction .txt{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.1;
}
.menuCollabPointageAction .txt small{
    margin-top:3px;
    font-size:11px;
    font-weight:620;
    opacity:.82;
}
.menuCollabPointageSlot.is-empty{
    min-height:58px;
    pointer-events:none;
    visibility:hidden;
}
.menuCollabPointageAction.secondary{
    border-color:#cbd5e1;
    background:#fff;
    color:#0f172a;
    box-shadow:none;
}
.menuCollabPointageAction.stop{
    border-color:#1d4ed8;
    background:#2563eb;
    color:#fff;
}
.menuCollabPointageDone{
    border:1px solid #bbf7d0;
    background:#f0fdf4;
    color:#166534;
    border-radius:14px;
    padding:13px 16px;
    font-size:14px;
    font-weight:650;
    text-align:center;
}
.menuCollabPointageUnavailable{
    border:1px solid #fed7aa;
    background:#fff7ed;
    color:#9a3412;
    border-radius:14px;
    padding:13px 16px;
    font-size:14px;
    font-weight:650;
    line-height:1.35;
    text-align:center;
}
.menuCollabPointageAction:hover{
    background:#1d4ed8;
}
.menuCollabPointageAction.secondary:hover{
    background:#f8fafc;
}
.menuCollabPointageAction:disabled{
    border-color:#cbd5e1;
    background:#94a3b8;
    box-shadow:none;
    cursor:not-allowed;
}
.menuCollabPointageSide{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
}
.menuCollabPointageNav{
    display:inline-flex;
    gap:6px;
}
.menuCollabPointageNavBtn,
.menuCollabHoursNavBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#fff;
    color:#0f2b63;
    font-size:18px;
    font-weight:950;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,43,99,.07);
}
.menuCollabPointageNavBtn:hover,
.menuCollabHoursNavBtn:hover{
    border-color:#60a5fa;
    background:#eff6ff;
}
.menuCollabPointageNavBtn:disabled,
.menuCollabHoursNavBtn:disabled{
    opacity:.5;
    cursor:not-allowed;
    box-shadow:none;
}
.menuOpsPersonalPointage{
    position:static;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,43,99,0.05);
}
.menuOpsPointageColumn .menuCollabPointageTop{
    grid-template-columns:1fr;
}
.menuOpsPointageColumn .menuCollabPointageSide{
    align-items:flex-start;
}
.menuOpsPersonalPointage .menuCollabPointageKicker{
    font-size:15px;
    font-weight:620;
}
.menuOpsPersonalPointage .menuCollabPointageMetrics{
    grid-template-columns:repeat(2, minmax(0,1fr));
}
.menuOpsPersonalPointage .menuCollabPointageActions{
    grid-template-columns:1fr;
}
.menuOpsPersonalPointage .menuCollabPointageSlot.is-empty{
    display:none;
}
.menuOpsPersonalPointage .menuCollabPointageStatus,
.menuOpsPersonalPointage .menuCollabMetric span,
.menuOpsPersonalPointage .menuCollabMetric strong,
.menuOpsPersonalPointage .menuCollabPointageAction,
.menuOpsPersonalPointage .menuCollabPointageDone{
    font-weight:620;
}
.menuMyPointageIssues{
    margin-top:16px;
    border-top:1px solid #dbe7f6;
    padding-top:14px;
}
.menuMyPointageIssuesHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.menuMyPointageIssuesHead strong{
    color:#0f2b63;
    font-size:15px;
    line-height:1.2;
    font-weight:650;
}
.menuMyPointageIssuesHead span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
    height:24px;
    border:1px solid #bfdbfe;
    border-radius:999px;
    background:#eff6ff;
    color:#0f2b63;
    font-size:13px;
    font-weight:650;
}
.menuMyPointageIssuesHead span.is-alert{
    animation:menuPointageIssuesPulse 1.35s ease-in-out infinite;
}
@keyframes menuPointageIssuesPulse{
    0%, 100%{transform:scale(1); box-shadow:none;}
    50%{transform:scale(1.16); box-shadow:0 0 0 5px rgba(74,222,128,.2);}
}
@media (prefers-reduced-motion:reduce){
    .menuMyPointageIssuesHead span.is-alert{animation:none;}
}
.menuMyPointageIssuesList{
    display:grid;
    gap:8px;
}
.menuMyPointagePager{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:10px;
    color:#4b6386;
    font-size:12px;
    font-weight:520;
}
.menuMyPointagePagerNav{
    display:inline-flex;
    gap:6px;
}
.menuMyPointagePager button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#fff;
    color:#0f2b63;
    font-size:16px;
    line-height:1;
    font-weight:650;
    cursor:pointer;
}
.menuMyPointagePager button:hover:not(:disabled){
    border-color:#60a5fa;
    background:#eff6ff;
}
.menuMyPointagePager button:disabled{
    opacity:.42;
    cursor:not-allowed;
}
.menuMyPointageIssue{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    border:1px solid #dbe7f6;
    border-radius:12px;
    background:#fff;
    padding:11px;
}
.menuMyPointageIssue strong{
    display:block;
    color:#0f172a;
    font-size:13px;
    line-height:1.2;
    font-weight:650;
}
.menuMyPointageIssue span{
    display:block;
    margin-top:3px;
    color:#4b6386;
    font-size:12px;
    line-height:1.25;
    font-weight:500;
}
.menuMyPointageEmpty{
    border:1px dashed #bfdbfe;
    border-radius:12px;
    background:#f8fbff;
    color:#4b6386;
    padding:10px;
    font-size:13px;
    font-weight:520;
    text-align:center;
}
.menuCollabCounters{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:10px;
}
.menuCollabCounters.has-absence{
    grid-template-columns:repeat(3, minmax(0,1fr));
}
.menuCollabCounter{
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#fff;
    padding:13px;
}
.menuCollabCounter span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
}
.menuCollabCounter strong{
    display:block;
    margin-top:6px;
    color:#0f2b63;
    font-size:23px;
    font-weight:950;
}
.menuCollabCounter small{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:11px;
    font-weight:750;
    line-height:1.25;
}
.menuCollabCounter.is-wide{
    grid-column:span 2;
}
.menuCollabCounterList{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.menuCollabCounterChip{
    display:inline-flex;
    align-items:center;
    border:1px solid #dbe7f6;
    border-radius:999px;
    background:#f8fbff;
    color:#334155;
    padding:4px 8px;
    font-size:11px;
    font-weight:560;
    line-height:1.2;
}
.menuCollabFormationList{
    display:grid;
    gap:8px;
}
.menuCollabFormationItem{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#fff;
    padding:11px 12px;
}
.menuCollabFormationItem strong{
    display:block;
    color:#0f2b63;
    font-size:14px;
    font-weight:650;
    line-height:1.25;
}
.menuCollabFormationItem span{
    display:block;
    margin-top:3px;
    color:#4b6386;
    font-size:12px;
    font-weight:520;
    line-height:1.25;
}
.menuCollabFormationBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #bfdbfe;
    border-radius:999px;
    background:#eff6ff;
    color:#0f2b63;
    padding:5px 9px;
    font-size:11px;
    font-weight:650;
    white-space:nowrap;
}
.menuCollabTrainingTop{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.menuCollabTrainingCount{
    display:flex;
    align-items:baseline;
    gap:8px;
    margin:2px 0 12px;
}
.menuCollabTrainingCount strong{
    color:#0f2b63;
    font-size:28px;
    font-weight:950;
    line-height:1;
}
.menuCollabTrainingCount span{
    color:#4b6386;
    font-size:12px;
    font-weight:650;
}
.menuCollabTrainingSection + .menuCollabTrainingSection{margin-top:12px;}
.menuCollabTrainingSection h4{
    margin:0 0 7px;
    color:#355477;
    font-size:12px;
    font-weight:900;
}
.menuCollabTrainingList{display:grid;gap:7px;}
.menuCollabTrainingItem{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    border:1px solid #dbeafe;
    border-radius:10px;
    background:#fff;
    padding:9px 10px;
    color:#0f2b63;
    text-align:left;
}
button.menuCollabTrainingItem{width:100%;cursor:pointer;}
button.menuCollabTrainingItem:hover{border-color:#93c5fd;background:#f8fbff;}
.menuCollabTrainingItem > span:first-child{min-width:0;}
.menuCollabTrainingItem strong{display:block;font-size:13px;font-weight:800;line-height:1.25;}
.menuCollabTrainingItem small{display:block;margin-top:2px;color:#64748b;font-size:11px;font-weight:560;line-height:1.25;}
.menuCollabTrainingAlert{
    flex:0 0 auto;
    border:1px solid #fbbf24;
    border-radius:999px;
    background:#fffbeb;
    color:#92400e;
    padding:4px 7px;
    font-size:10px;
    font-weight:900;
    white-space:nowrap;
}
.menuCollabTrainingEmpty{color:#64748b;font-size:12px;font-weight:560;}
.menuCollabTrainingModalBackdrop{
    position:fixed;
    inset:0;
    z-index:10060;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.48);
}
.menuCollabTrainingModalBackdrop[hidden]{display:none !important;}
.menuCollabTrainingModal{
    width:min(560px, 100%);
    max-height:calc(100vh - 40px);
    overflow:auto;
    border:1px solid #dbeafe;
    border-radius:8px;
    background:#fff;
    box-shadow:0 20px 50px rgba(15,23,42,.28);
    padding:20px;
}
.menuCollabTrainingModalHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e2e8f0;padding-bottom:12px;}
.menuCollabTrainingModalHead h3{margin:0;color:#0f2b63;font-size:19px;line-height:1.25;}
.menuCollabTrainingModalHead p{margin:5px 0 0;color:#64748b;font-size:13px;line-height:1.4;}
.menuCollabTrainingModalClose{width:34px;height:34px;padding:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-size:21px;line-height:1;cursor:pointer;}
.menuCollabTrainingModalClose:hover{background:#f8fbff;border-color:#93c5fd;color:#1d4ed8;}
.menuCollabTrainingFileRow{display:flex;align-items:center;gap:9px;margin-top:16px;padding:9px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;}
.menuCollabTrainingFileRow input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.menuCollabTrainingFileName{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475569;font-size:13px;}
.menuCollabTrainingModalHint{margin:10px 0 0;color:#64748b;font-size:12px;line-height:1.4;}
.menuCollabTrainingModalStatus{min-height:20px;margin:10px 0 0;font-size:13px;font-weight:700;color:#334155;}
.menuCollabTrainingModalActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;}
.menuCollabTrainingPlanningList{display:grid;gap:8px;margin-top:16px;}
.menuCollabRequiredDocumentsModal{width:min(680px,100%);}
.menuCollabRequiredDocumentsList{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.menuCollabRequiredDocumentsChip{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #fecaca;border-radius:999px;background:#fef2f2;color:#b91c1c;font-size:12px;font-weight:750;}
.menuCollabRequiredDocumentsChip.is-clickable{cursor:pointer;font:inherit;text-align:left;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;}
.menuCollabRequiredDocumentsChip.is-clickable:hover,.menuCollabRequiredDocumentsChip.is-clickable:focus-visible{outline:none;border-color:#f87171;background:#fff1f2;box-shadow:0 0 0 3px rgba(248,113,113,.16);}
.menuCollabRequiredDocumentsNote{margin:12px 0 0;color:#64748b;font-size:13px;line-height:1.45;}
.menuCollabReplacementModalBackdrop{z-index:10070;background:rgba(15,23,42,.56);backdrop-filter:blur(2px);}
.menuCollabReplacementModal{width:min(660px,100%);padding:0;overflow:hidden;border-color:#cbdcf8;}
.menuCollabReplacementModalHead{padding:20px 22px 16px;border-bottom:1px solid #dbeafe;}
.menuCollabReplacementModalTitle{display:flex;align-items:center;gap:10px;margin:0;color:#0f2b63;font-size:20px;line-height:1.25;font-weight:850;}
.menuCollabReplacementStatusDot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 4px #dbeafe;}
.menuCollabReplacementModalHead p{margin:6px 0 0;color:#64748b;font-size:13px;line-height:1.45;}
.menuCollabReplacementModalBody{padding:20px 22px 22px;}
.menuCollabReplacementLead{margin:0;color:#334155;font-size:15px;line-height:1.5;}
.menuCollabReplacementSummary{margin-top:16px;padding:16px;border:1px solid #dbeafe;border-radius:8px;background:#f8fbff;}
.menuCollabReplacementWhen{display:block;color:#0f2b63;font-size:16px;line-height:1.45;font-weight:850;}
.menuCollabReplacementMeta{display:grid;gap:7px;margin:14px 0 0;color:#475569;font-size:14px;line-height:1.4;}
.menuCollabReplacementMeta strong{color:#1e3a6d;font-weight:800;}
.menuCollabReplacementDetails{display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid #dbeafe;color:#475569;font-size:13px;line-height:1.4;}
.menuCollabReplacementModalActions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px;}
@media (max-width:600px){.menuCollabReplacementModalActions{flex-wrap:wrap;}.menuCollabReplacementModalActions .menuNextSmallBtn{flex:1 1 auto;}}
.menuCollabHoursToolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin:10px 0 12px;
}
.menuCollabHoursNav{
    display:flex;
    align-items:center;
    gap:8px;
}
.menuCollabHoursLabel{
    min-width:170px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    color:#0f2b63;
    padding:8px 12px;
    text-align:center;
    font-weight:950;
}
.menuCollabHoursFocus{
    border:1px solid #bfdbfe;
    border-radius:16px;
    background:linear-gradient(135deg, #eff6ff 0%, #fff 70%);
    padding:14px;
    margin-bottom:10px;
}
.menuCollabHoursFocus span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:850;
    text-transform:uppercase;
}
.menuCollabHoursFocus strong{
    display:block;
    margin-top:5px;
    color:#0f2b63;
    font-size:30px;
    line-height:1;
    font-weight:950;
}
.menuCollabHoursFocus small{
    display:block;
    margin-top:6px;
    color:#475569;
    font-weight:750;
}
.menuCollabScheduleTools{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
    flex-wrap:wrap;
}
.menuCollabScheduleTitle{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    min-width:0;
}
.menuCollabScheduleTitle h3{
    margin:0;
    color:#0f2b63;
    font-size:18px;
    line-height:1.2;
    font-weight:680;
}
.menuCollabSegment{
    display:inline-flex;
    border:1px solid #dbe7f6;
    border-radius:9px;
    background:#ffffff;
    padding:1px;
}
.menuCollabSegment button{
    border:0;
    border-radius:7px;
    background:transparent;
    color:#51627a;
    padding:5px 9px;
    font-size:12px;
    font-weight:620;
    cursor:pointer;
}
.menuCollabSegment button.is-active{
    background:#eff6ff;
    color:#0f2b63;
    box-shadow:none;
}
.menuCollabScheduleList{
    display:grid;
    gap:9px;
}
.menuCollabDay{
    display:grid;
    grid-template-columns:86px minmax(0,1fr);
    gap:14px;
    align-items:center;
    border:1px solid #dbe7f6;
    border-radius:14px;
    background:#fff;
    padding:11px 13px;
}
.menuCollabDay.is-today{
    border-color:#93c5fd;
    background:#eff6ff;
}
.menuCollabDay.is-weekend{
    background:#f8fafc;
}
.menuCollabDate{
    color:#0f2b63;
    font-size:15px;
    font-weight:720;
}
.menuCollabDate span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:11px;
    font-weight:560;
}
.menuCollabVacations{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}
.menuCollabVac{
    display:inline-flex;
    align-items:center;
    gap:7px;
    border:1px solid rgba(15,43,99,.14);
    border-radius:999px;
    padding:6px 10px;
    font-size:12px;
    font-weight:720;
    white-space:nowrap;
    box-shadow:0 3px 9px rgba(15,43,99,.05);
}
.menuCollabVac small{
    font-size:11px;
    font-weight:560;
    opacity:.84;
}
.menuCollabEmpty{
    color:#64748b;
    font-size:13px;
    font-weight:560;
}
.menuCollabSideCard{
    min-height:0;
}
.menuMyPointageIssuesFooter{
    display:flex;
    justify-content:flex-end;
    margin-top:10px;
}
.menuCollabPointageIssuesModal{width:min(760px, 100%);}
.menuCollabPointageIssuesModal .menuMyPointageIssuesList{margin-top:16px;}
@media (min-width: 901px){
    .menuCollabDesktopLayout{
        --menu-collab-primary-height:590px;
        align-items:start;
    }
    .menuCollabPointageHero.menuCollabPointageFixed,
    .menuCollabSideCard.menuCollabScheduleFixed{
        box-sizing:border-box;
        height:var(--menu-collab-primary-height);
        overflow:hidden;
    }
    .menuCollabPointageHero.menuCollabPointageFixed{
        display:flex;
        flex-direction:column;
        height:auto;
        min-height:var(--menu-collab-primary-height);
        overflow:visible;
    }
    .menuCollabPointageHero.menuCollabPointageFixed .menuCollabPointageShiftList{
        min-height:0;
        flex:0 0 auto;
        overflow:visible;
        padding-right:0;
    }
    .menuCollabPointageHero.menuCollabPointageFixed .menuMyPointageIssues{
        flex:0 0 auto;
    }
    .menuCollabSideCard.menuCollabScheduleFixed{
        display:flex;
        flex-direction:column;
    }
    .menuCollabSideCard.menuCollabScheduleFixed .menuCollabScheduleList{
        min-height:0;
        flex:1 1 auto;
        overflow:auto;
        padding-right:4px;
    }
}
.menuCollabTimeline{
    display:grid;
    gap:8px;
}
.menuCollabTimelineItem{
    border:1px solid #dbe7f6;
    border-radius:14px;
    background:#fff;
    padding:10px;
}
.menuCollabTimelineItem strong{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:#0f2b63;
    font-size:13px;
    font-weight:950;
}
.menuCollabStatusMini{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:0;
    margin:0 !important;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid #dbe7f6;
    background:#f8fafc;
    color:#475569 !important;
    font-size:11px !important;
    line-height:1.1;
    white-space:nowrap;
}
.menuCollabStatusMini.pending{
    border-color:#bfdbfe;
    background:#eff6ff;
    color:#1d4ed8 !important;
}
.menuCollabStatusMini.ok{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#15803d !important;
}
.menuCollabStatusMini.refused{
    border-color:#fecaca;
    background:#fff1f2;
    color:#be123c !important;
}
.menuCollabTimelineItem span{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-size:12px;
    font-weight:750;
}
.menuNextCard{
    min-height:190px;
    padding:16px;
    border:1px solid #dbeafe;
    border-radius:15px;
    background:#ffffff;
    box-shadow:0 10px 24px rgba(15,43,99,0.06);
}
.menuNextCardHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}
.menuNextCard h3{
    margin:0;
    color:#0f2b63;
    font-size:18px;
}
.menuNextCard small{
    display:block;
    margin-top:3px;
    color:#64748b;
    font-weight:700;
}
.menuNextIcon{
    width:34px;
    height:34px;
    border:1px solid #dbeafe;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1193d2;
    background:#f8fbff;
    flex:0 0 auto;
    margin-top:0;
    align-self:center;
}
.menuNextIcon svg{
    width:18px;
    height:18px;
}
.menuNextActionsList{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.menuNextAction{
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#fbfdff;
    color:#0f2b63;
    font-weight:850;
    cursor:pointer;
    text-align:left;
}
.menuNextAction:hover{
    background:#eff8ff;
    border-color:#bae6fd;
}
.menuNextActionMeta{
    color:#94a3b8;
    font-size:12px;
    font-weight:800;
}
.menuNextChart{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.menuNextMini{
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:13px;
    background:#ffffff;
}
.menuNextMini strong{
    display:block;
    color:#0f2b63;
    font-size:15px;
}
.menuNextMini span{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
}
.menuNextStatsGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
    margin-top:14px;
}
.menuNextStatsGrid .is-wide{
    grid-column:1 / -1;
}
.menuNextTypeBars{
    height:148px;
    margin:12px 0 16px;
}
.menuNextTypeBars .menuNextBarWrap{
    display:grid;
    grid-template-rows:112px 20px;
    align-items:end;
    justify-items:center;
    gap:8px;
}
.menuNextTypeBars .menuNextBarPlot,
.menuNextTypeBars .menuNextBarStack{
    max-width:78px;
}
.menuNextTypeBars .menuNextBarDay{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}
.menuNextEmptyChart{
    min-height:148px;
    margin-top:12px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    background:#f8fbff;
    color:#64748b;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:12px;
    font-weight:800;
}
.menuNextStatsPanel{
    margin-top:14px;
}
.menuNextChiefGraphPanel{
    margin-top:6px;
}
.menuNextChiefGraphPanel .menuNextStatsHeader{
    align-items:center;
}
.menuNextChiefGraphPanel .menuNextStatsTitleArea{
    gap:4px;
}
.menuNextChiefGraphPanel .menuNextStatsMeta{
    margin-top:4px;
}
.menuNextChiefGraphPanel .menuNextStatsBlockTitle{
    margin:8px 0 4px;
}
.menuNextChiefGraphPanel .menuNextBars{
    height:112px;
    margin-top:6px;
    margin-bottom:8px;
}
.menuNextChiefGraphPanel .menuNextBarWrap{
    grid-template-rows:88px 14px;
    gap:4px;
}
.menuNextChiefGraphPanel .menuNextTypeBars{
    height:142px;
    margin:8px 0 10px;
}
.menuNextChiefGraphPanel .menuNextTypeBars .menuNextBarWrap{
    grid-template-rows:112px 18px;
    gap:5px;
}
.menuNextChiefGraphPanel .menuNextAbsenceLegend{
    margin-top:6px;
    gap:6px;
}
.menuNextChiefGraphPanel .menuNextAbsenceLegendItem{
    min-height:22px;
    padding:3px 7px;
}
.menuNextStatsHeader{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
}
.menuNextStatsTitleArea{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.menuNextStatsControls{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.menuNextSegment{
    display:inline-flex;
    align-items:center;
    gap:2px;
    padding:2px;
    border:1px solid #d8e5f4;
    border-radius:10px;
    background:#ffffff;
    box-sizing:border-box;
}
.menuNextSegment button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#475569;
    padding:0 11px;
    font-weight:500;
    font-size:12px;
    cursor:pointer;
    box-sizing:border-box;
    white-space:nowrap;
    line-height:1;
}
.menuNextStatsTitleArea .menuNextSegment button{
    width:auto;
}
.menuNextStatsTypeSegment{
    flex:0 0 auto;
    width:max-content;
    justify-content:flex-start;
    align-self:flex-start;
}
.menuNextStatsTypeSegment button{
    flex:0 0 auto;
}
.menuNextStatsTypeSegment button[data-menu-next-stat-type="pointages"],
.menuNextStatsTypeSegment button[data-menu-next-chief-graph="pointages"]{
    flex-basis:auto;
    min-width:0;
}
.menuNextSegment button:hover,
.menuNextSegment button.is-active{
    background:#f8fbff;
    color:#0f2b63;
    box-shadow:0 0 0 1px rgba(17,147,210,0.16);
}
.menuNextStatsMeta{
    margin-top:8px;
    color:#64748b;
    font-size:12px;
    font-weight:500;
}
.menuNextStatsBlockTitle{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:12px;
    margin:14px 0 8px;
}
.menuNextStatsBlockTitle strong{
    color:#0f2b63;
    font-size:14px;
    font-weight:750;
}
.menuNextStatsBlockTitle span{
    color:#64748b;
    font-size:12px;
}
.menuNextDemandStatus{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin-top:14px;
}
.menuNextDemandStatusItem{
    min-height:66px;
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    padding:10px 12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    color:inherit;
    font:inherit;
    text-align:left;
}
button.menuNextDemandStatusItem{
    cursor:pointer;
}
button.menuNextDemandStatusItem:hover,
button.menuNextDemandStatusItem:focus-visible{
    outline:none;
    border-color:#fdba74;
    box-shadow:0 10px 22px rgba(194,65,12,0.12);
}
.menuNextDemandStatusItem.is-pending{
    border-color:#fed7aa;
    background:#fff7ed;
}
.menuNextDemandStatusItem strong{
    color:#0f2b63;
    font-size:22px;
    line-height:1;
}
.menuNextDemandStatusItem.is-pending strong{
    color:#c2410c;
}
.menuNextDemandStatusItem span{
    color:#475569;
    font-size:12px;
    font-weight:700;
}
.menuNextBars{
    display:flex;
    align-items:stretch;
    gap:7px;
    height:104px;
    margin-top:12px;
    padding-top:0;
    margin-bottom:12px;
}
.menuNextBarWrap{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    font:inherit;
    color:inherit;
    flex:1;
    min-width:0;
    height:100%;
    align-self:stretch;
    display:grid;
    grid-template-rows:78px 16px;
    align-items:end;
    justify-items:center;
    gap:5px;
    text-decoration:none;
}
.menuNextBarPlot{
    width:100%;
    height:100%;
    min-height:0;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    position:relative;
}
.menuNextBarWrap.is-clickable{
    cursor:pointer;
}
.menuNextBarWrap.is-empty .menuNextBarPlot::after{
    content:"";
    width:100%;
    max-width:54px;
    height:2px;
    border-radius:999px;
    background:#dbeafe;
}
.menuNextBarWrap.is-empty .menuNextBarDay{
    color:#64748b;
}
.menuNextBarWrap.is-clickable:hover .menuNextBarStack{
    transform:translateY(-2px);
    box-shadow:0 10px 18px rgba(232,76,85,0.16);
}
.menuNextBarWrap:focus-visible{
    outline:3px solid rgba(47,109,255,0.28);
    outline-offset:4px;
    border-radius:10px;
}
.menuNextBarWrap .menuNextBar{
    flex:0 0 auto;
    width:100%;
}
.menuNextBarDay{
    color:#475569;
    font-size:11px;
    font-weight:750;
    line-height:1;
    min-height:13px;
}
.menuNextBar{
    flex:1;
    min-width:10px;
    border-radius:8px 8px 3px 3px;
    background:linear-gradient(180deg,#79caff,#1193d2);
}
.menuNextBarStack{
    flex:0 0 auto;
    width:100%;
    min-width:10px;
    height:18px;
    display:block;
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    overflow:hidden;
    border-radius:8px 8px 3px 3px;
    background:transparent;
    border:0;
    transition:transform .16s ease, box-shadow .16s ease;
}
.menuNextBarSegment{
    display:block;
    position:absolute;
    left:0;
    right:0;
    width:100%;
    margin:0;
    min-height:0;
}
.menuNextBarSegment.ok,
.menuNextBarSegment.info{
    bottom:0;
}
.menuNextBarSegment.alert{
    top:0;
}
.menuNextBarSegment.ok{
    background:linear-gradient(180deg,#78d795,#3abb75);
}
.menuNextBarSegment.alert{
    background:linear-gradient(180deg,#ff9aa0,#e84c55);
}
.menuNextBarSegment.info{
    background:linear-gradient(180deg,#93c5fd,#2563eb);
}
.menuNextAbsenceBars .menuNextBarStack{
    display:flex;
    flex-direction:column-reverse;
    align-items:stretch;
    justify-content:flex-start;
    background:#f1f5f9;
    border:1px solid rgba(15,23,42,0.08);
}
.menuNextAbsenceBars .menuNextBarSegment{
    position:static;
    left:auto;
    right:auto;
    width:100%;
    min-height:4px;
}
.menuNextAbsenceLegend{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}
.menuNextAbsenceLegendItem{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:26px;
    padding:4px 8px;
    border:1px solid #dbe7f6;
    border-radius:999px;
    background:#fff;
    color:#334155;
    font-size:12px;
    font-weight:850;
}
.menuNextAbsenceLegendSwatch{
    width:12px;
    height:12px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,0.16);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.35);
}
.menuNextBar.alert{
    background:linear-gradient(180deg,#ff9aa0,#e84c55);
}
.menuNextBar.ok{
    background:linear-gradient(180deg,#78d795,#3abb75);
}
.menuNextAlertSummary{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:8px;
    margin-top:12px;
}
.menuNextAlertChart{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin-top:12px;
}
.menuNextAlertChartRow{
    display:grid;
    grid-template-columns:138px minmax(0, 1fr) auto;
    align-items:center;
    gap:10px;
    min-height:34px;
}
.menuNextAlertChartLabel{
    min-width:0;
    color:#0f2b63;
    font-size:12px;
    font-weight:750;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.menuNextAlertTrack{
    height:18px;
    border-radius:999px;
    background:#edf5ff;
    border:1px solid #dbeafe;
    overflow:hidden;
}
.menuNextAlertFill{
    display:block;
    height:100%;
    min-width:18px;
    border-radius:999px;
    background:linear-gradient(90deg,#ff9aa0,#e84c55);
    box-shadow:inset 0 -1px 0 rgba(15,23,42,0.08);
}
.menuNextAlertFill.is-demand{
    background:linear-gradient(90deg,#93c5fd,#2563eb);
}
.menuNextAlertLegend{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:12px;
}
.menuNextAlertItem{
    border:1px solid #e2e8f0;
    font:inherit;
    color:inherit;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    padding:10px 11px;
    border-radius:12px;
    background:#f8fbff;
    text-align:left;
    width:100%;
}
.menuNextAlertItem.is-clickable{
    cursor:pointer;
}
.menuNextAlertItem.is-clickable:hover{
    border-color:#fecdd3;
    background:#fff7f8;
    box-shadow:0 10px 22px rgba(232,76,85,0.12);
}
.menuNextAlertItem.is-total{
    border-color:#bfdbfe;
    background:#eff6ff;
}
.menuNextAlertItem.is-pointage-summary{
    grid-template-columns:auto minmax(0,1fr) auto;
    min-height:52px;
    border-color:#fecaca;
    background:#fff7f8;
}
.menuNextAlertItem.is-pointage-summary:not(:disabled):hover,
.menuNextAlertItem.is-pointage-summary:not(:disabled):focus-visible{
    outline:none;
    border-color:#fb7185;
    background:#fff1f2;
    box-shadow:0 12px 26px rgba(232,76,85,0.14);
}
.menuNextAlertItem.is-pointage-summary strong{
    font-size:14px;
}
.menuNextAlertBadge{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:46px;
    min-height:30px;
    margin:0 !important;
    padding:4px 10px;
    border-radius:999px;
    border:1px solid #fecaca;
    background:#fee2e2;
    color:#b42318 !important;
    font-size:13px !important;
    font-weight:850;
    line-height:1;
    white-space:nowrap;
}
.menuNextAlertDot{
    width:10px;
    height:10px;
    border-radius:999px;
    background:#1193d2;
    box-shadow:0 0 0 3px rgba(17,147,210,0.12);
}
.menuNextAlertItem.is-alert .menuNextAlertDot{
    background:#e84c55;
    box-shadow:0 0 0 3px rgba(232,76,85,0.13);
}
.menuNextAlertItem.is-demand .menuNextAlertDot{
    background:#2563eb;
    box-shadow:0 0 0 3px rgba(37,99,235,0.13);
}
.menuNextAlertItem strong{
    display:block;
    min-width:0;
    color:#0f2b63;
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.menuNextAlertItem span{
    margin:2px 0 0;
    color:#64748b;
    font-size:12px;
}
.menuNextAlertCount{
    min-width:28px;
    padding:0;
    background:transparent;
    border:0;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    text-align:right;
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
}
.menuNextAlertItem.is-demand .menuNextAlertCount{
    color:#64748b;
}
.menuNextAlertItem.is-total .menuNextAlertCount{
    color:#0f2b63;
}
.menuNextActionCue{
    color:#94a3b8;
    font-size:20px;
    font-weight:750;
    line-height:1;
    transition:color .16s ease, transform .16s ease;
}
.menuNextAlertItem.is-clickable:hover .menuNextActionCue,
.menuNextAlertItem.is-clickable:focus-visible .menuNextActionCue{
    color:#2563eb;
    transform:translateX(2px);
}
.menuNextPointageDrawer{
    margin-top:-1px;
    border:1px solid #bfdbfe;
    border-radius:14px;
    background:#ffffff;
    box-shadow:0 16px 34px rgba(15,43,99,0.08);
    overflow:hidden;
}
.menuNextPointageDrawer[hidden]{
    display:none;
}
.menuNextPointageDrawerHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:12px 14px;
    background:linear-gradient(135deg,#eff6ff,#f8fbff);
    border-bottom:1px solid #dbeafe;
}
.menuNextPointageDrawerHead strong{
    display:block;
    color:#0f2b63;
    font-size:13px;
}
.menuNextPointageDrawerHead span{
    display:block;
    margin-top:2px;
    color:#64748b;
    font-size:12px;
}
.menuNextPointageTableWrap{
    overflow:auto;
    max-height:320px;
}
.menuNextPointageTable{
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}
.menuNextPointageTable th,
.menuNextPointageTable td{
    padding:8px 10px;
    border-bottom:1px solid #e2e8f0;
    color:#0f172a;
    font-size:12px;
    vertical-align:top;
}
.menuNextPointageTable th{
    position:sticky;
    top:0;
    z-index:1;
    background:#f8fbff;
    color:#24446f;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.menuNextPointageErrorsTable{
    table-layout:fixed;
    min-width:900px;
}
.menuNextPointageErrorsTable th:nth-child(4),
.menuNextPointageErrorsTable th:nth-child(5),
.menuNextPointageErrorsTable th:nth-child(6),
.menuNextPointageErrorsTable td:nth-child(4),
.menuNextPointageErrorsTable td:nth-child(5),
.menuNextPointageErrorsTable td:nth-child(6){
    width:84px;
    text-align:center;
}
.menuNextPointageErrorCards{
    display:none;
}
#menuNextPointageErrorsModal .piBox{
    width:min(860px, calc(100vw - 32px));
    max-height:calc(100vh - 44px);
    background:#ffffff;
    border:1px solid #dbe4f0;
    border-radius:18px;
    box-shadow:0 24px 60px rgba(15,23,42,.24);
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
#menuNextPointageErrorsModal .piHeader{
    display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
    padding:16px 20px 12px;border-bottom:1px solid #e2e8f0;
}
#menuNextPointageErrorsModal .piTitle{font-size:22px;font-weight:650;color:#0f172a;}
#menuNextPointageErrorsModal .piSubtitle{margin-top:3px;color:#64748b;font-size:12px;}
#menuNextPointageErrorsModal .piClose{
    width:40px;height:40px;display:grid;place-items:center;padding:0;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#334155;font-size:22px;cursor:pointer;
}
#menuNextPointageErrorsModal .piBody{padding:12px 18px 16px;overflow:auto;display:flex;flex-direction:column;gap:10px;}
#menuNextPointageErrorsModal .piBulkPanel{
    display:grid;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:10px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff;padding:10px 12px;
}
#menuNextPointageErrorsModal .piBulkField{display:flex;flex-direction:column;gap:5px;}
#menuNextPointageErrorsModal .piBulkField label{color:#475569;font-size:11px;font-weight:600;}
#menuNextPointageErrorsModal .piBulkField select,
#menuNextPointageErrorsModal .piBulkBtn{
    min-height:38px;border:1px solid #cbd5e1;border-radius:10px;background:#ffffff;color:#0f172a;padding:7px 10px;font:inherit;font-size:12px;font-weight:600;
}
#menuNextPointageErrorsModal .piBulkBtn{cursor:pointer;white-space:nowrap;}
#menuNextPointageErrorsModal .piBulkBtn.primary{border-color:#93c5fd;background:#eff6ff;color:#0b3b79;}
#menuNextPointageErrorsModal .piBulkNotice{margin:0;border:1px solid #fcd34d;border-radius:12px;background:#fffbeb;color:#92400e;padding:9px 11px;font-size:12px;line-height:1.4;font-weight:600;}
#menuNextPointageErrorsModal .piTableWrap{overflow:auto;border:1px solid #e2e8f0;border-radius:14px;background:#fff;}
#menuNextPointageErrorsModal .piTable{width:100%;min-width:760px;border-collapse:collapse;font-size:12px;}
#menuNextPointageErrorsModal .piTable th,
#menuNextPointageErrorsModal .piTable td{padding:9px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle;}
#menuNextPointageErrorsModal .piTable th:nth-child(7),
#menuNextPointageErrorsModal .piTable td:nth-child(7){width:230px;min-width:230px;max-width:230px;}
#menuNextPointageErrorsModal .piTable th{background:#f8fafc;color:#475569;font-size:11px;font-weight:650;text-transform:uppercase;}
#menuNextPointageErrorsModal .piTableStrong{color:#0f172a;font-weight:650;}
#menuNextPointageErrorsModal .piTableMuted{display:block;margin-top:2px;color:#64748b;font-size:11px;}
#menuNextPointageErrorsModal .piProblemBadge{display:inline-block;box-sizing:border-box;max-width:100%;padding:5px 9px;border:1px solid #fecaca;border-radius:14px;background:#fff1f2;color:#b91c1c;font-size:11px;font-weight:600;line-height:1.35;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
#menuNextPointageErrorsModal .piActionBtn{border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;padding:8px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
@media (max-width:720px){
    #menuNextPointageErrorsModal{align-items:center;padding:12px;}
    #menuNextPointageErrorsModal .piBox{width:100%;max-height:calc(100dvh - 24px);border-radius:14px;}
    #menuNextPointageErrorsModal .piHeader{padding:14px;gap:10px;}
    #menuNextPointageErrorsModal .piTitle{font-size:18px;}
    #menuNextPointageErrorsModal .piBody{padding:10px 12px 14px;}
    #menuNextPointageErrorsModal .piBulkPanel{grid-template-columns:1fr;align-items:stretch;}
    #menuNextPointageErrorsModal .piBulkBtn{width:100%;}
}
.menuNextPointageHour{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:62px;
    min-height:36px;
    color:#0f172a;
    font-variant-numeric:tabular-nums;
    line-height:1.25;
    text-align:center;
    white-space:normal;
}
.menuNextPointageRupture td{
    background:#eff6ff;
    color:#0f2b63;
    font-weight:950;
    letter-spacing:.02em;
}
.menuNextPointageStatus{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:3px 8px;
    font-weight:900;
    white-space:nowrap;
}
.menuNextPointageStatus.is-ok{
    background:#dcfce7;
    color:#166534;
}
.menuNextPointageStatus.is-warn{
    background:#fff7ed;
    color:#c2410c;
}
.menuNextPointageStatus.is-alert{
    background:#fff1f2;
    color:#be123c;
}
.menuNextPointageEmpty{
    padding:16px;
    color:#64748b;
    font-size:13px;
}
.menuNextPointageModal{
    position:fixed;
    inset:0;
    z-index:10070;
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(15,23,42,0.42);
    backdrop-filter:blur(4px);
}
.menuNextPointageModal.open{
    display:flex;
}
.menuNextPointageResolutionModal{
    z-index:10080;
}
.menuNextPointageResolutionModal .priBox{
    width:min(1120px, calc(100vw - 48px));
    max-height:calc(100vh - 48px);
    background:#ffffff;
    border-radius:18px;
    border:1px solid #dbe4f0;
    box-shadow:0 24px 60px rgba(15,23,42,0.24);
    display:flex;
    flex-direction:column;
    overflow:hidden;
}
.menuNextPointageResolutionModal .priHeader{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:16px 22px 12px;
    border-bottom:1px solid #e2e8f0;
}
.menuNextPointageResolutionModal .priTitle{
    font-size:22px;
    font-weight:800;
    color:#0f172a;
    line-height:1.15;
}
.menuNextPointageResolutionModal .priSubtitle{
    margin-top:4px;
    font-size:13px;
    color:#64748b;
}
.menuNextPointageResolutionModal .priClose{
    width:40px;
    height:40px;
    border-radius:12px;
    border:1px solid #cbd5e1;
    background:#ffffff;
    color:#334155;
    font-size:22px;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
    padding:0;
}
.menuNextPointageResolutionModal .priBody{
    padding:16px 22px 18px;
    overflow:auto;
    display:grid;
    grid-template-columns:minmax(280px,.9fr) minmax(360px,1.25fr) minmax(240px,.75fr);
    grid-template-areas:"constat decision impact";
    gap:14px;
    align-items:stretch;
}
.menuNextPointageResolutionModal .priSection{
    min-width:0;
    box-sizing:border-box;
    height:100%;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#ffffff;
    padding:14px 16px;
}
.menuNextPointageResolutionModal .priSectionConstat{grid-area:constat;}
.menuNextPointageResolutionModal .priSectionDecision{grid-area:decision;}
.menuNextPointageResolutionModal .priSectionImpact{grid-area:impact;}
.menuNextPointageResolutionModal .priSectionTitle{
    margin:0 0 10px;
    color:#0f172a;
    font-size:14px;
    font-weight:800;
}
.menuNextPointageResolutionModal .priInfo{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
    border-radius:12px;
    background:#f8fafc;
    padding:10px 12px;
}
.menuNextPointageResolutionModal .priInfoItem{font-size:12.5px;color:#334155;}
.menuNextPointageResolutionModal .priInfoItem strong{
    display:block;
    margin-bottom:3px;
    color:#64748b;
    font-size:11px;
    text-transform:uppercase;
}
.menuNextPointageResolutionModal .priMessage{
    border:1px solid #fde68a;
    border-radius:12px;
    background:#fffbeb;
    color:#92400e;
    padding:10px 12px;
    font-size:12.5px;
    line-height:1.45;
}
.menuNextPointageResolutionModal .priDecisionGrid,
.menuNextPointageResolutionModal .priForm{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 16px;
}
.menuNextPointageResolutionModal .priField{display:flex;flex-direction:column;gap:6px;}
.menuNextPointageResolutionModal .priField.priFieldFull{grid-column:1 / -1;}
.menuNextPointageResolutionModal .priField label{color:#334155;font-size:12px;font-weight:700;}
.menuNextPointageResolutionModal .priField input,
.menuNextPointageResolutionModal .priField textarea,
.menuNextPointageResolutionModal .priField select{
    width:100%;
    min-height:42px;
    box-sizing:border-box;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#ffffff;
    color:#0f172a;
    padding:10px 12px;
    font:inherit;
    font-size:13px;
    font-weight:650;
}
.menuNextPointageResolutionModal .priField textarea{min-height:78px;resize:vertical;}
.menuNextPointageResolutionModal .priHint{color:#64748b;font-size:11px;}
.menuNextPointageResolutionModal .priImpact{display:grid;grid-template-columns:1fr;gap:8px;}
.menuNextPointageResolutionModal .priImpactCard{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:10px;
    border:1px solid #dbe4f0;
    border-radius:12px;
    background:#f8fbff;
    padding:9px 11px;
}
.menuNextPointageResolutionModal .priImpactLabel{color:#64748b;font-size:11px;text-transform:uppercase;}
.menuNextPointageResolutionModal .priImpactValue{grid-row:1 / span 2;grid-column:2;color:#0f172a;font-size:18px;font-weight:800;}
.menuNextPointageResolutionModal .priImpactSub{grid-column:1;margin-top:2px;color:#64748b;font-size:11px;}
.menuNextPointageResolutionModal .priActions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    border-top:1px solid #e2e8f0;
    background:#f8fafc;
    padding:12px 22px 14px;
}
.menuNextPointageResolutionModal .priBtn{
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:10px 14px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.menuNextPointageResolutionModal .priBtnSecondary{background:#ffffff;color:#334155;}
.menuNextPointageResolutionModal .priBtnPrimary{border-color:#1193d2;background:#1193d2;color:#ffffff;}
@media (max-width:920px){
    .menuNextPointageResolutionModal{align-items:flex-start;padding:12px;}
    .menuNextPointageResolutionModal .priBox{width:100%;max-height:calc(100vh - 24px);}
    .menuNextPointageResolutionModal .priBody{
        grid-template-columns:1fr;
        grid-template-areas:"constat" "decision" "impact";
    }
}
.menuNextPointageModalBox{
    width:min(980px, calc(100vw - 32px));
    max-height:min(760px, calc(100vh - 44px));
    display:grid;
    grid-template-rows:auto minmax(0, 1fr);
    overflow:hidden;
    border:1px solid #bfdbfe;
    border-radius:18px;
    background:#ffffff;
    box-shadow:0 28px 70px rgba(15,23,42,0.28);
}
.menuNextPointageModalHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:16px 18px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
}
.menuNextPointageModalHead h4{
    margin:0;
    color:#0f2b63;
    font-size:20px;
    line-height:1.2;
}
.menuNextPointageModalHead span{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:13px;
    font-weight:650;
}
.menuNextPointageModalClose{
    display:inline-grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#ffffff;
    color:#0f172a;
    font-size:24px;
    font-weight:750;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .08s ease;
}
.menuNextPointageModalClose:hover,
.menuNextPointageModalClose:focus-visible{
    outline:none;
    border-color:#2563eb;
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 20px rgba(37,99,235,0.20);
}
.menuNextPointageModalClose:active{
    transform:translateY(1px);
    border-color:#1d4ed8;
    background:#1d4ed8;
    color:#ffffff;
    box-shadow:0 4px 12px rgba(37,99,235,0.16);
}
.menuNextPointageModalBody{
    min-height:0;
    overflow:auto;
    padding:14px;
}
.menuNextPointageResolutionContext{
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    color:#0f2b63;
    padding:11px 12px;
    font-size:13px;
    line-height:1.45;
}
.menuNextPointageResolutionGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:12px;
}
.menuNextPointageResolutionGrid label,
.menuNextPointageResolutionComment label{
    display:grid;
    gap:6px;
    color:#334155;
    font-size:13px;
    font-weight:620;
}
.menuNextPointageResolutionGrid input,
.menuNextPointageResolutionGrid select,
.menuNextPointageResolutionComment textarea{
    width:100%;
    min-width:0;
    border:1px solid #cbd5e1;
    border-radius:11px;
    background:#ffffff;
    color:#0f172a;
    padding:9px 10px;
    font:inherit;
    font-size:14px;
}
.menuNextPointageResolutionComment{
    margin-top:12px;
}
.menuNextPointageResolutionComment textarea{
    min-height:92px;
    resize:vertical;
}
.menuNextPointageResolutionError{
    display:none;
    margin-top:10px;
    border:1px solid #fecaca;
    border-radius:10px;
    background:#fff1f2;
    color:#b91c1c;
    padding:9px 10px;
    font-size:13px;
    font-weight:560;
}
.menuNextPointageResolutionError.is-visible{
    display:block;
}
.menuNextPointageResolutionActions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:14px;
    flex-wrap:wrap;
}
.menuNextPointageResolutionActions button{
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#ffffff;
    color:#0f172a;
    padding:9px 14px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
}
.menuNextPointageResolutionActions button.primary:hover,
.menuNextPointageResolutionActions button.primary:focus-visible{
    outline:none;
    border-color:#2563eb;
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 20px rgba(37,99,235,0.20);
}
@media (max-width:720px){
    .menuNextPointageResolutionGrid{
        grid-template-columns:1fr;
    }
    .menuNextPointageResolutionActions button{
        flex:1 1 140px;
    }
}
@media (max-width:720px){
    .menuNextPointageModal{
        align-items:center;
        padding:12px;
    }
    .menuNextPointageModalBox{
        width:100%;
        max-height:calc(100dvh - 24px);
        border-radius:14px;
    }
    .menuNextPointageModalHead{
        gap:10px;
        padding:14px;
    }
    .menuNextPointageModalHead h4{
        font-size:18px;
    }
    .menuNextPointageModalBody{
        padding:12px;
    }
    .menuNextPointageErrorCards{
        display:grid;
        gap:10px;
    }
    .menuNextPointageErrorCard{
        border:1px solid #dbe4f0;
        border-radius:12px;
        background:#ffffff;
        padding:12px;
    }
    .menuNextPointageErrorCardHead{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:8px;
    }
    .menuNextPointageErrorCardHead strong{
        min-width:0;
        color:#0f172a;
        font-size:15px;
        overflow-wrap:anywhere;
    }
    .menuNextPointageErrorCardMeta{
        display:block;
        margin-top:4px;
        color:#64748b;
        font-size:12px;
    }
    .menuNextPointageErrorCardFields{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        margin-top:10px;
    }
    .menuNextPointageErrorCardFields > div{
        min-width:0;
        border:1px solid #e2e8f0;
        border-radius:9px;
        background:#f8fafc;
        padding:7px 8px;
    }
    .menuNextPointageErrorCardFields span{
        display:block;
        color:#64748b;
        font-size:10px;
        font-weight:650;
        text-transform:uppercase;
    }
    .menuNextPointageErrorCardFields strong{
        display:block;
        margin-top:3px;
        color:#0f172a;
        font-size:12px;
        font-weight:600;
        overflow-wrap:anywhere;
    }
    .menuNextPointageErrorCard p{
        margin:10px 0 0;
        color:#475569;
        font-size:12px;
        line-height:1.45;
        overflow-wrap:anywhere;
    }
    .menuNextPointageErrorCardActions{
        display:flex;
        justify-content:flex-end;
        margin-top:10px;
    }
}
.menuPointageJustificationForm{
    display:grid;
    gap:12px;
}
.menuPointageJustificationContext{
    border:1px solid #dbeafe;
    border-radius:12px;
    background:#f8fbff;
    color:#0f2b63;
    padding:11px 12px;
    font-size:13px;
    line-height:1.35;
}
.menuPointageJustificationForm label{
    display:grid;
    gap:6px;
    color:#334155;
    font-size:13px;
    font-weight:620;
}
.menuPointageJustificationForm select,
.menuPointageJustificationForm textarea{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:11px;
    background:#fff;
    color:#0f172a;
    padding:10px 11px;
    font:inherit;
    font-size:14px;
    font-weight:500;
}
.menuPointageJustificationForm textarea{
    min-height:92px;
    resize:vertical;
}
.menuPointageJustificationActions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.menuPointageJustificationActions button{
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    background:#ffffff;
    color:#0f172a;
    padding:0 16px;
    font:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .08s ease;
}
.menuPointageJustificationActions button.primary{
    border-color:#cbd5e1;
    background:#ffffff;
    color:#0f172a;
}
.menuPointageJustificationActions button:hover,
.menuPointageJustificationActions button:focus-visible,
.menuPointageJustificationActions button.primary:hover,
.menuPointageJustificationActions button.primary:focus-visible{
    outline:none;
    border-color:#2563eb;
    background:#2563eb;
    color:#ffffff;
    box-shadow:0 8px 20px rgba(37,99,235,0.20);
}
.menuPointageJustificationActions button:active,
.menuPointageJustificationActions button.primary:active{
    transform:translateY(1px);
    border-color:#1d4ed8;
    background:#1d4ed8;
    color:#ffffff;
    box-shadow:0 4px 12px rgba(37,99,235,0.16);
}
.menuPointageJustificationActions button:disabled,
.menuPointageJustificationActions button.primary:disabled{
    cursor:not-allowed;
    transform:none;
    border-color:#cbd5e1;
    background:#e2e8f0;
    color:#64748b;
    box-shadow:none;
}
.menuPointageJustificationError{
    display:none;
    border:1px solid #fecaca;
    border-radius:10px;
    background:#fff1f2;
    color:#be123c;
    padding:9px 10px;
    font-size:13px;
    font-weight:560;
}
.menuPointageJustificationError.is-visible{
    display:block;
}
.menuNextRhBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 14px;
    border:1px solid #bfdbfe;
    border-radius:11px;
    background:linear-gradient(180deg,#ffffff,#f8fbff);
    color:#003b7a;
    font:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 6px 14px rgba(15,43,99,0.08);
    transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.menuNextRhBtn:hover,
.menuNextRhBtn:focus-visible{
    outline:none;
    border-color:#60a5fa;
    background:#eff6ff;
    color:#002f6c;
    box-shadow:0 10px 20px rgba(37,99,235,0.14);
    transform:translateY(-1px);
}
.menuNextPointageTable td:last-child{
    text-align:right;
    white-space:nowrap;
}
.menuNextGraphTooltip{
    position:fixed;
    z-index:5000;
    min-width:210px;
    max-width:min(360px, calc(100vw - 24px));
    padding:10px 11px;
    border:1px solid #bfdbfe;
    border-radius:14px;
    background:rgba(255,255,255,0.97);
    color:#0f172a;
    box-shadow:0 18px 40px rgba(15,43,99,0.18);
    pointer-events:none;
    opacity:0;
    transform:translateY(4px);
    transition:opacity .12s ease, transform .12s ease;
}
.menuNextGraphTooltip.is-visible{
    opacity:1;
    transform:translateY(0);
}
.menuNextGraphTooltip strong{
    display:block;
    margin-bottom:7px;
    color:#0f2b63;
    font-size:13px;
}
.menuNextGraphTooltip span{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:3px 0;
    color:#4b6386;
    font-size:12px;
}
.menuNextGraphTooltip b{
    color:#0f172a;
}
.menuNextVacCode[data-menu-graph-tooltip],
.menuNextPill[data-menu-graph-tooltip]{
    cursor:help;
}
@media (max-width: 1180px){
    .menuNextGrid{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .menuNextLayout,
    .menuNextContentGrid,
    .menuNextUtilityRow,
    .menuNextPortal,
    .menuCollabDesktopLayout,
    .menuCollabInfoGrid,
    .menuOpsGrid,
    .menuOpsMainWithPointage,
    .menuNextChiefGrid{grid-template-columns:1fr;}
    .menuOpsPointageColumn,
    .menuOpsPersonalPointage{position:static;}
    .menuCollabPointageMetrics,
    .menuCollabCounters,
    .menuCollabCounters.has-absence{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .menuNextChiefLeft,
    .menuNextChiefRight,
    .menuNextChiefToday{grid-column:1; grid-row:auto;}
    .menuNextStatsGrid{grid-template-columns:1fr;}
    .menuNextQuickGrid,
    .menuNextRhStats,
    .menuNextChiefKpis,
    .menuOpsActionBlocks,
    .menuOpsKpis,
    .menuNextPortalActions{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .menuOpsDays{grid-template-columns:repeat(4, minmax(0, 1fr));}
}
@media (min-width: 761px) and (max-width: 900px){
    .menuNextHero.menuCollabHeroWithCounters{
        grid-template-columns:1fr;
        gap:9px;
    }
    .menuCollabCompactCounters{
        grid-template-columns:100px repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 760px){
    .menuNextHero{display:block;}
    .menuNextStatsHeader,
    .menuNextStatsControls{display:grid; grid-template-columns:1fr; justify-content:stretch;}
    .menuOpsTop,
    .menuOpsFilters,
    .menuOpsGroupTabs{justify-content:stretch;}
    .menuOpsGroupTabs button{flex:1 1 auto;}
    .menuOpsActionBlocks,
    .menuOpsKpis{grid-template-columns:1fr;}
    .menuOpsBirthdayButton{flex:0 0 40px;}
    .menuBirthdayModalBackdrop{align-items:flex-end;padding:12px;}
    .menuBirthdayModal{max-height:calc(100dvh - 24px);}
    .menuBirthdayModalHead{padding:16px;}
    .menuBirthdayModalBody{padding:6px 16px;}
    .menuBirthdayModalFoot{align-items:stretch;padding:12px 16px 14px;flex-direction:column;}
    .menuBirthdayMore{width:100%;}
    .menuBirthdayRow{grid-template-columns:82px minmax(0,1fr);gap:9px;}
    .menuBirthdayDelay{grid-column:2;}
    .menuOpsCoverageMatrix{grid-template-columns:minmax(74px, 92px) repeat(var(--ops-coverage-days, 10), 48px);}
    .menuOpsDays{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .menuNextSegment{width:100%; justify-content:space-between;}
    .menuNextChiefOpsPanel .menuNextSmallBtn{
        width:100%;
        min-width:0;
    }
    .menuNextChiefOpsPanel .menuNextButtonGroup{
        justify-content:stretch;
    }
    .menuNextSegment button{flex:1;}
    .menuNextStatsTypeSegment{
        width:100%;
        max-width:100%;
        justify-content:stretch;
    }
    .menuNextStatsTypeSegment button{
        flex:1 1 0;
        min-width:0;
    }
    .menuNextStatsTypeSegment button[data-menu-next-stat-type="pointages"],
    .menuNextStatsTypeSegment button[data-menu-next-chief-graph="pointages"]{
        flex-basis:0;
        min-width:0;
    }
    .menuCollabDesktopOnly{display:none !important;}
    .menuCollabMobileFallback{display:block;}
    .menuCollabPointageMetrics,
    .menuCollabCounters,
    .menuCollabCounters.has-absence{grid-template-columns:1fr;}
    .menuCollabReplacementItem{align-items:flex-start;flex-direction:column;}
    .menuCollabReplacementActions{justify-content:flex-start;}
    .menuCollabPointageTop,
    .menuCollabPointageFooter{grid-template-columns:1fr;}
    .menuCollabPointageSide{
        align-items:flex-start;
        flex-direction:row-reverse;
        justify-content:space-between;
        width:100%;
    }
    .menuCollabHoursToolbar{
        align-items:stretch;
        flex-direction:column;
    }
    .menuCollabHoursNav{
        justify-content:space-between;
        width:100%;
    }
    .menuCollabHoursLabel{
        min-width:0;
        flex:1;
    }
    .menuCollabPointageFooter{grid-template-columns:1fr;}
    .menuCollabPointageAction{width:100%; min-width:0;}
    .menuNextGrid,
    .menuNextChart,
    .menuNextStatsGrid,
    .menuNextQuickGrid,
    .menuNextRhStats,
    .menuNextChiefKpis,
    .menuNextPortalActions{grid-template-columns:1fr;}
    .menuNextPortalPointage .menuCollabPointageActions{grid-template-columns:1fr;}
    .menuNextPortalPointage .menuCollabPointageSlot.is-empty{display:none;}
}

/* === Dashboard menu (accueil) === */
.menuDashShell{
    display:flex;
    flex-direction:column;
    gap:16px;
}
@media (max-width: 960px){
    .test-notes-body{
        grid-template-columns:1fr;
    }
    .test-notes-column + .test-notes-column{
        border-left:none;
        border-top:1px solid #e5eefb;
    }
}
@media (max-width: 640px){
    .test-notes-card{
        width:min(100vw - 16px, 1000px);
        max-height:min(92vh, 1000px);
    }
    .test-notes-head,
    .test-notes-column{
        padding:16px;
    }
    .test-notes-actions{
        flex-direction:column;
    }
    .test-notes-actions button{
        width:100%;
    }
}
.menuDashHero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding:2px 2px 0;
}
.menuDashHero h2{
    font-size:28px;
    line-height:1.1;
    color:#0f2b46;
    margin:0;
    font-weight:800;
}
.menuDashHero p{
    margin:6px 0 0;
    color:#64748b;
    font-size:14px;
}
.menuDashHeroPeriod{
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid #dbe3f0;
    border-radius:999px;
    background:#fff;
    color:#334155;
    padding:6px 8px;
    font-size:13px;
    font-weight:500;
    white-space:nowrap;
}
.menuDashWeekBtn{
    width:30px;
    height:30px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    border-radius:999px;
    cursor:pointer;
    font-weight:800;
    line-height:1;
}
.menuDashWeekBtn:hover,
.menuDashNavBtn:hover{
    background:#f8fbff;
}
.menuDashWeekLabel{
    padding:0 4px;
    font-weight:500;
    letter-spacing:0;
}
.menuDashEnvCard{
    border:1px solid #dbe3f0;
    border-radius:16px;
    background:linear-gradient(180deg,#f8fbff 0%, #ffffff 100%);
    box-shadow:0 4px 14px rgba(15,23,42,0.05);
    padding:16px 18px;
}
.menuDashEnvHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.menuDashEnvHead h3{
    margin:0;
    font-size:16px;
    color:#0f2b46;
}
.menuDashEnvBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 10px;
    border-radius:999px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f2b46;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.menuDashEnvGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px 14px;
}
.menuDashEnvField{
    border:1px solid #e5edf7;
    border-radius:12px;
    background:#fff;
    padding:10px 12px;
}
.menuDashEnvField strong{
    display:block;
    margin-bottom:4px;
    font-size:12px;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.menuDashEnvField span{
    display:block;
    font-size:14px;
    color:#0f172a;
    word-break:break-word;
}
.menuDashboard{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:16px;
    margin-top:0;
    align-items:stretch;
}
.menuDashCard{
    border:1px solid #dbe3f0;
    border-radius:16px;
    background:#fff;
    box-shadow:0 4px 14px rgba(15,23,42,0.05);
    padding:18px;
    min-height:170px;
    display:flex;
    flex-direction:column;
    align-self:stretch;
}
.menuDashCard h3{
    font-size:18px;
    color:#0f2b46;
    margin:0 0 6px 0;
}
.menuDashCardHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:6px;
}
.menuDashCardHead h3{
    margin:0;
}
.menuDashSub{
    font-size:13px;
    color:#64748b;
    margin-bottom:14px;
}
.menuDashList{
    display:flex;
    flex-direction:column;
    gap:8px;
    flex:1 1 auto;
    max-height:360px;
    overflow:auto;
}
.menuDashListInstitution{
    display:block;
    max-height:none;
    overflow:visible;
}
.menuDashListInstitution .menuDashDrawer + .menuDashDrawer{
    margin-top:8px;
}
.menuDashItem{
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fbff;
    padding:8px 10px;
}
.menuDashItem.has-action{
    border-color:#c7dbf6;
}
.menuDashItem.is-today{
    background:#f1f7ff;
    border-color:#bfd7f4;
    box-shadow:0 0 0 1px rgba(17,147,210,0.08);
}
.menuDashTodayBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px 8px;
    border-radius:999px;
    border:1px solid #bae6fd;
    background:#ecfeff;
    color:#0c4a6e;
    font-size:11px;
    font-weight:700;
    margin-left:auto;
    white-space:nowrap;
}
.menuDashDrawer{
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fbff;
    overflow:hidden;
    width:100%;
}
.menuDashDrawer summary{
    list-style:none;
    display:block;
    cursor:pointer;
    padding:8px 10px;
}
.menuDashDrawer summary::-webkit-details-marker{
    display:none;
}
.menuDashDrawer[open] summary{
    border-bottom:1px solid #dbe3f0;
    background:#f1f7ff;
}
.menuDashDrawerBody{
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:10px;
    width:100%;
}
.menuDashDrawerRow{
    border:1px solid #dbe3f0;
    border-radius:10px;
    background:#fff;
    padding:8px 10px;
    width:100%;
}
.menuDashDrawerTitle{
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:8px;
    font-size:12px;
    font-weight:700;
    color:#0f2b46;
    line-height:1.4;
}
.menuDashDrawerMeta{
    font-size:12px;
    color:#475569;
    margin-top:3px;
    line-height:1.45;
}
.menuDashItemHead{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
}
.menuDashColorDot{
    width:10px;
    height:10px;
    border-radius:999px;
    flex:0 0 10px;
    border:1px solid rgba(15,23,42,0.12);
    background:#cbd5e1;
}
.menuDashItemTitle{
    font-size:13px;
    font-weight:700;
    color:#0f2b46;
}
.menuDashItemMeta{
    font-size:12px;
    color:#475569;
    margin-top:2px;
}
.menuDashDayThread{
    display:flex;
    flex-direction:column;
    gap:6px;
    margin-top:10px;
    padding:10px;
    border:1px solid #bfdbfe;
    border-radius:14px;
    background:linear-gradient(180deg, #eff6ff 0%, #f8fbff 100%);
}
.menuDashDayThreadLine{
    width:max-content;
    max-width:100%;
    padding:6px 10px;
    border:1px solid #dbeafe;
    border-radius:999px;
    background:#ffffff;
    color:#0f2b46;
    font-size:13px;
    font-weight:500;
    line-height:1.25;
    box-shadow:0 4px 12px rgba(15, 43, 70, .05);
}
.menuDashDayThreadLine.is-live{
    color:#0c4a6e;
    background:#e0f2fe;
    border-color:#bae6fd;
}
.menuDashDayThread.is-timeline{
    flex-direction:row;
    gap:0;
    margin:0;
    padding:12px 4px;
    overflow-x:auto;
    list-style:none;
    background:#f8fbff;
    border-color:#dbe5f2;
    border-radius:12px;
}
.menuDashTimelineEvent{
    flex:1 0 auto;
    min-width:112px;
    display:grid;
    grid-template-rows:18px 16px 18px;
    gap:4px;
    text-align:center;
}
.menuDashTimelineLabel,
.menuDashTimelineTime{
    padding:0 10px;
    white-space:nowrap;
    font-size:12px;
    line-height:18px;
}
.menuDashTimelineLabel{
    color:#64748b;
    font-weight:500;
}
.menuDashTimelineTime{
    color:#0f3574;
    font-weight:600;
    font-variant-numeric:tabular-nums;
}
.menuDashTimelineTrack{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}
.menuDashTimelineTrack::before{
    content:'';
    position:absolute;
    left:0;
    right:0;
    top:7px;
    height:2px;
    background:#bfdbfe;
}
.menuDashTimelineEvent:first-child .menuDashTimelineTrack::before{left:50%;}
.menuDashTimelineEvent:last-child .menuDashTimelineTrack::before{right:50%;}
.menuDashTimelineTrack span{
    position:relative;
    width:10px;
    height:10px;
    border:2px solid #f8fbff;
    border-radius:50%;
    background:#2563eb;
}
.menuDashTimelineEvent.is-pause .menuDashTimelineTrack span{
    background:#94a3b8;
}
.menuDashTimelineEvent.is-live .menuDashTimelineTrack span{
    background:#d97706;
}
.menuDashDayThread.is-timeline:focus-visible{
    outline:2px solid #93c5fd;
    outline-offset:2px;
}
.menuDashItemFooter{
    margin-top:8px;
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}
.menuDashInlineBtn{
    min-height:30px;
    padding:5px 10px;
    border-radius:999px;
    border:1px solid #bcd0ea;
    background:#fff;
    color:#0f2b46;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.menuDashInlineBtn:hover{
    background:#f8fbff;
    border-color:#93c5fd;
}
.menuDashPointageModal{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,0.42);
    backdrop-filter:blur(4px);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    z-index:30000;
}
.menuDashPointageModal.open{display:flex;}
.menuDashPointageBox{
    width:min(760px, 100%);
    max-height:calc(100vh - 36px);
    background:#fff;
    border-radius:18px;
    border:1px solid #dbe5f3;
    box-shadow:0 24px 60px rgba(15,23,42,0.24);
    overflow:hidden;
    display:flex;
    flex-direction:column;
}
.menuDashPointageModal.is-sortie-confirm .menuDashPointageBox{
    width:min(640px, 100%);
}
.menuDashPointageHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:18px 20px 14px;
    border-bottom:1px solid #e6edf8;
}
.menuDashPointageTitle{
    margin:0;
    font-size:20px;
    font-weight:700;
    color:#0f2b46;
}
.menuDashPointageSubtitle{
    margin-top:4px;
    font-size:13px;
    color:#64748b;
}
.menuDashPointageClose{
    min-width:40px;
    min-height:40px;
    border-radius:12px;
    border:1px solid #d3dfef;
    background:#fff;
    color:#0f2b46;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.menuDashPointageBody{
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:18px 20px;
    overflow:auto;
}
.menuDashPointageVacationHead{
    display:flex;
    align-items:center;
    gap:10px;
}
.menuDashPointageCode{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:58px;
    height:30px;
    padding:0 10px;
    border-radius:999px;
    font-size:13px;
    font-weight:800;
    border:1px solid rgba(15,23,42,0.08);
}
.menuDashPointageLibelle{
    font-size:15px;
    font-weight:700;
    color:#0f2b46;
}
.menuDashPointageGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}
.menuDashPointageCard{
    border:1px solid #dbe5f3;
    border-radius:14px;
    background:#f8fbff;
    padding:12px 14px;
}
.menuDashPointageLabel{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:#64748b;
    margin-bottom:6px;
}
.menuDashPointageValue{
    font-size:18px;
    font-weight:800;
    color:#0f172a;
}
.menuDashPointageMeta{
    margin-top:6px;
    font-size:12px;
    font-weight:600;
    color:#64748b;
}
.menuDashPointageStatus{
    border-radius:14px;
    padding:14px 16px;
    font-weight:700;
}
.menuDashPointageStatus.too_early{
    background:#eff6ff;
    color:#1d4ed8;
}
.menuDashPointageStatus.allowed{
    background:#ecfdf5;
    color:#047857;
}
.menuDashPointageStatus.early_allowed,
.menuDashPointageStatus.late_allowed,
.menuDashPointageStatus.too_late,
.menuDashPointageStatus.not_today{
    background:#fff7ed;
    color:#c2410c;
}
.menuDashPointageStatus.already_pointed{
    background:#f5f3ff;
    color:#6d28d9;
}
.menuDashPointageStatus.completed{
    background:#ecfeff;
    color:#0f766e;
}
.menuDashPointageCountdown{
    font-size:18px;
    font-weight:800;
}
.menuDashPointageHint{
    font-size:13px;
    color:#64748b;
    line-height:1.5;
}
.menuDashPointageActions{
    display:flex;
    justify-content:stretch;
    gap:10px;
    flex-wrap:wrap;
}
.menuDashPointageActions.ultra{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}
.menuDashPointageActionBig{
    min-height:76px;
    border-radius:14px;
    padding:12px 14px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    text-align:center;
    font-weight:900;
    cursor:pointer;
}
.menuDashPointageActionBig .ico{
    font-size:22px;
    line-height:1;
}
.menuDashPointageActionBig .txt{
    font-size:15px;
}
.menuDashPointageActionBig .sub{
    font-size:11px;
    font-weight:700;
    opacity:0.82;
}
.menuDashPointagePrimary{
    min-height:42px;
    padding:10px 16px;
    border-radius:12px;
    border:1px solid #2563eb;
    background:#2563eb;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.menuDashPointagePrimary:disabled{
    opacity:0.65;
    cursor:not-allowed;
}
.menuDashPointageSecondary{
    min-height:42px;
    padding:10px 16px;
    border-radius:12px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    font-weight:700;
    cursor:pointer;
}
.menuDashPointageActionBig.is-disabled,
.menuDashPointageActionBig:disabled{
    opacity:0.45;
    cursor:not-allowed;
}
.menuDashPointageSoft{
    display:grid;
    gap:8px;
}
.menuDashPointageSoftItem{
    border:1px solid #dbe5f3;
    background:#f8fbff;
    color:#334155;
    border-radius:12px;
    padding:10px 12px;
    font-size:13px;
    line-height:1.35;
}
.menuDashPointageSoftItem.warn{
    border-color:#fed7aa;
    background:#fff7ed;
    color:#9a3412;
}
.menuDashPointageSoftItem.danger{
    border-color:#fecaca;
    background:#fef2f2;
    color:#991b1b;
}
.menuDashPointageSoftItem.ok{
    border-color:#bbf7d0;
    background:#f0fdf4;
    color:#166534;
}
.menuDashPointageSoftItem strong{
    display:block;
    margin-bottom:2px;
    font-size:13px;
}
.menuDashPointageForm{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px;
}
.menuDashPointageField{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.menuDashPointageField.full{
    grid-column:1 / -1;
}
.menuDashPointageField label{
    font-size:12px;
    font-weight:700;
    color:#475569;
}
.menuDashPointageField input,
.menuDashPointageField select,
.menuDashPointageField textarea{
    width:100%;
    border:1px solid #cbd5e1;
    border-radius:12px;
    background:#fff;
    color:#0f172a;
    padding:10px 12px;
    font-family:'Manrope',sans-serif;
    font-size:14px;
}
.menuDashPointageField textarea{
    min-height:78px;
    resize:vertical;
}
.menuDashPointageField input.input-invalid,
.menuDashPointageField select.input-invalid,
.menuDashPointageField textarea.input-invalid{
    border-color:#fb923c;
    box-shadow:0 0 0 3px rgba(251,146,60,.20);
}
.menuDashPointageAlert{
    border:1px solid #fed7aa;
    background:#fff7ed;
    color:#9a3412;
    border-radius:12px;
    padding:12px 14px;
    font-size:13px;
    line-height:1.45;
}
.menuDashPointageAlert.major{
    border-color:#fb923c;
    background:linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
    color:#7c2d12;
    border-radius:18px;
    padding:18px 20px;
    box-shadow:0 18px 42px rgba(154, 52, 18, .16);
}
.menuDashPointageAlert.major strong{
    display:block;
    margin-bottom:8px;
    color:#7c2d12;
    font-size:20px;
    line-height:1.2;
    font-weight:800;
}
.menuDashPointageAlert.major span{
    display:block;
    color:#9a3412;
    font-size:15px;
    line-height:1.45;
}
.menuDashPointageConfirmPanel{
    min-width:0;
    border-top:1px solid #e2e8f0;
    background:#fff;
    padding-top:16px;
}
.menuDashPointageConfirmHeading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.menuDashPointageConfirmEyebrow{
    color:#64748b;
    font-size:12px;
    margin-bottom:4px;
}
.menuDashPointageConfirmDuration{
    color:#123a7a;
    background:#eff6ff;
    border-radius:8px;
    padding:6px 10px;
    white-space:nowrap;
    font-size:13px;
    font-weight:600;
}
.menuDashPointageConfirmSchedule{
    color:#0f172a;
    font-size:14px;
    font-weight:600;
    margin-bottom:6px;
}
.menuDashPointageExitSummary{
    display:flex;
    flex-wrap:wrap;
    gap:8px 24px;
    font-size:13px;
    color:#475569;
}
.menuDashPointageExitSummary strong{
    color:#0f172a;
    margin-left:6px;
    font-weight:600;
}
.menuDashPointageConfirmPanel > .menuDashPointageActions{
    position:sticky;
    bottom:-1px;
    z-index:3;
    justify-content:flex-end;
    margin-top:16px;
    padding:12px 0 1px;
    border-top:1px solid #e2e8f0;
    background:#fff;
}
.menuDashPointageConfirmPanel .menuDashPointagePrimary,
.menuDashPointageConfirmPanel .menuDashPointageSecondary{
    min-height:40px;
    border-radius:10px;
    font-weight:600;
}
.menuDashPointageConfirmPanel textarea{
    min-height:64px;
}
.menuDashPointageExitConfirm > .menuDashPointageAlert{
    margin-bottom:16px;
}
.menuDashPointageConfirmPanel :is(input, textarea):focus-visible,
.menuDashPauseChoice:focus-within{
    outline:2px solid #93c5fd;
    outline-offset:2px;
}
.menuDashPointageEcartSelect{
    position:relative;
}
.menuDashPointageEcartSelect summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:40px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    color:#0f172a;
    font-size:14px;
    cursor:pointer;
    list-style:none;
}
.menuDashPointageEcartSelect summary::-webkit-details-marker{display:none;}
.menuDashPointageEcartSelect summary::after{
    content:'';
    width:6px;
    height:6px;
    border-right:1.5px solid #64748b;
    border-bottom:1.5px solid #64748b;
    transform:rotate(45deg);
}
.menuDashPointageEcartOptions{
    position:absolute;
    top:calc(100% + 4px);
    left:0;
    right:0;
    z-index:5;
    padding:4px;
    border:1px solid #dbe5f2;
    border-radius:10px;
    background:#fff;
    box-shadow:0 5px 18px rgba(15,23,42,.08);
}
.menuDashPointageEcartOptions button{
    display:block;
    width:100%;
    border:0;
    border-radius:6px;
    padding:8px;
    text-align:left;
    background:#fff;
    color:#0f172a;
    cursor:pointer;
}
.menuDashPointageEcartOptions button:hover,
.menuDashPointageEcartOptions button:focus-visible{
    background:#eff6ff;
    outline:1px solid #93c5fd;
}
.menuDashPointageConfirmTitle{
    color:#0f2b63;
    font-size:16px;
    font-weight:700;
    margin-bottom:4px;
}
.menuDashPointageConfirmText{
    color:#475569;
    font-size:13px;
    line-height:1.4;
    margin-bottom:12px;
}
.menuDashPausePopupOverlay{
    position:fixed;
    inset:0;
    z-index:30020;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(15, 23, 42, .52);
    backdrop-filter:blur(3px);
}
.menuDashPausePopup{
    width:min(680px, calc(100vw - 28px));
    max-height:min(780px, calc(100dvh - 34px));
    overflow:auto;
    border:2px solid #fb923c;
    border-radius:24px;
    background:#fffaf5;
    box-shadow:0 32px 90px rgba(124, 45, 18, .38);
    padding:18px;
}
.menuDashPausePopup .menuDashPointageAlert.major{
    margin-bottom:14px;
}
.menuDashPauseChoiceGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}
.menuDashPauseChoice{
    display:flex;
    gap:10px;
    align-items:center;
    border:1px solid #dbe5f2;
    border-radius:10px;
    background:#fff;
    padding:12px;
    color:#0f2b46;
    font-size:14px;
    line-height:1.35;
    cursor:pointer;
}
.menuDashPointageField .menuDashPauseChoice input{
    appearance:none;
    flex:0 0 18px;
    width:18px;
    height:18px;
    min-height:18px;
    border:1px solid #94a3b8;
    border-radius:50%;
    padding:0;
    margin:0;
    background:#fff;
    cursor:pointer;
}
.menuDashPauseChoice input:checked{
    border:5px solid #2563eb;
}
.menuDashPauseChoice:hover{
    border-color:#93c5fd;
}
.menuDashPauseChoice:has(input:checked){
    background:#eff6ff;
    border-color:#93c5fd;
}
.menuDashPauseChoice span{
    display:block;
    color:#64748b;
    font-size:12px;
    margin-top:2px;
}
.menuDashPauseReason{
    display:none;
}
.menuDashPauseReason.is-visible{
    display:flex;
}
.menuDashPauseHours{
    display:none;
}
.menuDashPauseHours.is-visible{
    display:flex;
}
.menuDashPauseHoursGrid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
}
.menuDashPausesList{
    display:grid;
    gap:12px;
    margin-bottom:16px;
}
.menuDashPauseItem{
    min-width:0;
    padding:12px;
    border:1px solid #dbe5f2;
    border-radius:12px;
    background:#f8fbff;
}
.menuDashPauseItem .menuDashPointageConfirmHeading{
    margin-bottom:8px;
}
.menuDashPauseItem .menuDashPointageConfirmSchedule{
    margin:0;
    font-size:13px;
}
.menuDashPauseItem .menuDashPauseChoiceGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
}
.menuDashPauseItem .menuDashPauseChoice{
    min-height:44px;
    padding:9px 12px;
}
.menuDashPauseItem .menuDashPointageForm{
    gap:10px;
}
@media (max-width: 720px){
    .menuDashPointageModal{
        padding:8px;
    }
    .menuDashPointageBox{
        max-height:calc(100dvh - 16px);
        border-radius:16px;
    }
    .menuDashPointageHead{
        padding:12px 14px 10px;
        gap:10px;
    }
    .menuDashPointageTitle{
        font-size:18px;
    }
    .menuDashPointageSubtitle{
        font-size:12px;
    }
    .menuDashPointageClose{
        min-width:36px;
        min-height:36px;
        border-radius:11px;
        font-size:22px;
    }
    .menuDashPointageBody{
        min-height:0;
        gap:9px;
        padding:10px 12px 12px;
    }
    .menuDashPointageVacationHead{
        gap:8px;
    }
    .menuDashPointageCode{
        min-width:48px;
        height:26px;
        padding:0 8px;
        font-size:12px;
    }
    .menuDashPointageLibelle{
        font-size:13px;
    }
    .menuDashPointageGrid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:8px;
    }
    .menuDashPointageCard{
        border-radius:12px;
        padding:9px 10px;
    }
    .menuDashPointageLabel{
        margin-bottom:4px;
        font-size:10px;
        letter-spacing:.03em;
    }
    .menuDashPointageValue{
        font-size:15px;
    }
    .menuDashPointageMeta{
        margin-top:4px;
        font-size:11px;
    }
    .menuDashPointageStatus{
        border-radius:12px;
        padding:10px 12px;
        font-size:13px;
    }
    .menuDashPointageCountdown{
        font-size:16px;
    }
    .menuDashPointageSoft{
        gap:6px;
    }
    .menuDashPointageSoftItem{
        border-radius:11px;
        padding:8px 10px;
        font-size:12px;
    }
    .menuDashDayThread{
        font-size:12px;
    }
    .menuDashPointageForm{grid-template-columns:1fr;}
    .menuDashPointageField{
        gap:4px;
    }
    .menuDashPointageField label{
        font-size:11px;
    }
    .menuDashPointageField input,
    .menuDashPointageField select,
    .menuDashPointageField textarea{
        min-height:38px;
        border-radius:10px;
        padding:8px 10px;
        font-size:13px;
    }
    .menuDashPointageField textarea{
        min-height:58px;
    }
    .menuDashPausePopupOverlay{
        padding:10px;
        align-items:flex-start;
    }
    .menuDashPausePopup{
        width:100%;
        max-height:calc(100dvh - 20px);
        border-radius:18px;
        padding:12px;
    }
    .menuDashPauseChoiceGrid{grid-template-columns:1fr;}
    .menuDashPointageActions.ultra{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:6px;
    }
    .menuDashPointageActionBig{
        min-height:54px;
        padding:8px 6px;
        border-radius:12px;
    }
    .menuDashPointageActionBig .ico{
        font-size:16px;
    }
    .menuDashPointageActionBig .txt{
        font-size:12px;
    }
    .menuDashPointageActionBig .sub{
        font-size:9px;
        line-height:1.15;
    }
}
@media (max-width: 360px){
    .menuDashPointageActions.ultra{
        gap:4px;
    }
    .menuDashPointageActionBig{
        padding:7px 4px;
    }
    .menuDashPointageActionBig .txt{
        font-size:11px;
    }
    .menuDashPointageActionBig .sub{
        display:none;
    }
}
.menuDashEmpty{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:82px;
    color:#64748b;
}
.menuDashEmpty strong{
    color:#0f2b46;
    font-size:14px;
    margin-bottom:4px;
}
.menuDashEmpty span{
    font-size:13px;
    line-height:1.45;
}
.menuDashActions{
    margin-top:6px;
    display:flex;
    gap:8px;
}
.menuDashBtn{
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    border-radius:8px;
    padding:5px 10px;
    font-size:12px;
    cursor:pointer;
}
.menuDashBtn:disabled{
    opacity:0.55;
    cursor:not-allowed;
}
.menuPrintOverlay{
    position:fixed;
    inset:0;
    z-index:55000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(15,23,42,.34);
}
.menuPrintOverlay.open{display:flex;}
.menuPrintDialog{
    width:min(440px, calc(100vw - 44px));
    border:1px solid #cbd5e1;
    border-radius:16px;
    background:#fff;
    box-shadow:0 24px 70px rgba(15,23,42,.28);
    overflow:hidden;
}
.menuPrintHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:16px 18px;
    border-bottom:1px solid #e2e8f0;
}
.menuPrintHead h3{
    margin:0;
    color:#0f2b46;
    font-size:18px;
}
.menuPrintBody{
    display:grid;
    gap:12px;
    padding:18px;
}
.menuPrintOption{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border:1px solid #dbe7f5;
    border-radius:12px;
    background:#f8fbff;
    color:#0f2b46;
    font-size:14px;
    font-weight:600;
}
.menuPrintOption input{
    width:18px;
    height:18px;
    flex:0 0 auto;
    accent-color:#2563eb;
}
.menuPrintFormat{
    display:grid;
    gap:8px;
    margin:0;
    padding:12px 14px;
    border:1px solid #dbe7f5;
    border-radius:12px;
    background:#ffffff;
}
.menuPrintFormat legend{
    padding:0 4px;
    color:#38506b;
    font-size:12px;
    font-weight:650;
}
.menuPrintFormatChoices{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}
.menuPrintFormatChoices label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:0 12px;
    border:1px solid #cbdff5;
    border-radius:10px;
    background:#f8fbff;
    color:#0f2b46;
    font-size:13px;
    font-weight:600;
}
.menuPrintFormatChoices input{
    accent-color:#2563eb;
}
.menuPrintActions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    padding:0 18px 18px;
}
.menuDashTimelineHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:8px;
}
.menuDashTimelineNav{
    display:flex;
    align-items:center;
    gap:8px;
}
.menuDashNavBtn{
    width:34px;
    height:34px;
    border:1px solid #cbd5e1;
    background:#fff;
    border-radius:10px;
    cursor:pointer;
    color:#0f172a;
    font-weight:700;
}
.menuDashTimelineItem{
    display:grid;
    grid-template-columns:72px 1fr;
    gap:12px;
    align-items:start;
}
.menuDashTimelineItem.is-clickable{
    cursor:pointer;
}
.menuDashTimelineItem.is-clickable:hover{
    background:#f8fbff;
}
.menuDashTimelineItem.is-clickable .menuDashEventBody{
    cursor:pointer;
}
.menuDashTimelineItem.is-pulse{
    animation: menuDashPulse 2.2s ease-in-out infinite;
}
.menuDashDate{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:72px;
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#fff;
}
.menuDashDateDay{
    font-size:22px;
    font-weight:800;
    color:#0f2b46;
    line-height:1;
}
.menuDashDateMeta{
    margin-top:4px;
    font-size:12px;
    color:#475569;
}
.menuDashEventBody{
    min-width:0;
}
.menuDashBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 8px;
    border-radius:999px;
    font-size:14px;
    font-weight:800;
    color:#0f172a;
    border:1px solid #cbd5e1;
    background:#fff;
    margin-bottom:6px;
}
.menuDashBadge.badge-s{ background:#e0f2fe; border-color:#7dd3fc; color:#0c4a6e; }
.menuDashBadge.badge-h{ background:#dcfce7; border-color:#86efac; color:#166534; }
.menuDashBadge.badge-f{ background:#fef3c7; border-color:#fcd34d; color:#92400e; }
.menuDashBadge.badge-if{ background:#ede9fe; border-color:#c4b5fd; color:#5b21b6; }
.menuDashBadge.badge-documents{ background:#dbeafe; border-color:#93c5fd; color:#1e3a8a; }
.menuDashMobileHome{
    display:none;
}
.menuDashMobileHero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:1px solid #cfe0f5;
    border-radius:12px;
    background:#ffffff;
    box-shadow:0 2px 8px rgba(15,23,42,0.04);
    padding:11px 12px;
}
.menuDashMobileHero > div:first-child{
    min-width:0;
    flex:1 1 auto;
}
.menuDashMobileKicker{
    font-size:10px;
    font-weight:800;
    color:#315fba;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.menuDashMobileTitle{
    margin:2px 0 0;
    color:#0f2b46;
    font-size:21px;
    line-height:1.08;
    font-weight:850;
}
.menuDashMobileBirthday{
    margin-top:4px;
    color:#0f2b63;
    font-size:12px;
    line-height:1.25;
    font-weight:600;
}
.menuDashMobileSubtitle{
    color:#64748b;
    font-size:11px;
    line-height:1.25;
    flex:0 1 48%;
    max-width:190px;
    text-align:right;
}
.menuDashMobileTodayCard,
.menuDashMobileSection{
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(15,23,42,0.04);
    padding:9px 10px;
}
.menuDashMobileTodayCard{
    position:relative;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.menuDashMobileTodayTop{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}
.menuDashMobileTodayText{
    min-width:0;
}
.menuDashMobileTodayAside{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:7px;
    flex:0 0 auto;
}
.menuDashMobileVacationNav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin-top:1px;
}
.menuDashMobileNavBtn{
    width:34px;
    height:34px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f2b46;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 1px 3px rgba(15,23,42,.07);
}
.menuDashMobileNavBtn:disabled{
    opacity:.35;
    cursor:not-allowed;
}
.menuDashMobileDate{
    color:#64748b;
    font-size:11px;
    font-weight:750;
}
.menuDashMobileCode{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    max-width:72px;
    padding:3px 8px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,0.12);
    background:#f8fafc;
    color:#0f2b46;
    font-size:12px;
    font-weight:900;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuDashMobileTime{
    margin-top:4px;
    color:#0f172a;
    font-size:22px;
    line-height:1.05;
    font-weight:850;
}
.menuDashMobileMeta{
    margin-top:2px;
    color:#475569;
    font-size:12px;
    line-height:1.25;
}
.menuDashMobileIndication{
    margin-top:7px;
    padding:7px 9px;
    border-left:3px solid #3b82f6;
    border-radius:5px;
    background:#eff6ff;
    color:#0f2b46;
    font-size:12px;
    line-height:1.35;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.menuDashMobileThread{
    display:grid;
    gap:4px;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid #e2e8f0;
}
.menuDashMobileThread div{
    color:#0f2b46;
    font-size:12px;
    line-height:1.28;
}
.menuDashMobileDaySummary{
    margin-top:8px;
    border-top:1px solid #e2e8f0;
    padding-top:8px;
    min-width:0;
    overflow:hidden;
}
.menuDashMobileDaySummaryTitle{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    color:#334155;
    font-size:10px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.menuDashMobileDayTimeline{
    display:grid;
    gap:6px;
    margin-top:7px;
    width:100%;
    min-width:0;
    box-sizing:border-box;
    max-width:100%;
    padding:8px;
    border:1px solid #dbeafe;
    border-radius:13px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.menuDashMobileDayTimelineItem{
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    min-width:0;
    width:100%;
    color:#0f2b46;
    font-size:12px;
    line-height:1.2;
}
.menuDashMobileDayTimelineLabel{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:58px;
    min-height:24px;
    padding:3px 8px;
    border-radius:999px;
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1d4ed8;
    font-size:11px;
    font-weight:900;
}
.menuDashMobileDayTimelineValue{
    min-width:0;
    color:#0f2b46;
    font-size:12px;
    font-weight:900;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuDashMobileDayTimelineItem.is-open .menuDashMobileDayTimelineLabel{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#b45309;
}
.menuDashMobileDayTimelineItem.is-open .menuDashMobileDayTimelineValue{
    color:#b45309;
}
.menuDashMobileDayTotals{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    margin-top:8px;
}
.menuDashMobileDayTotal{
    border:1px solid #dbe3ef;
    border-radius:9px;
    background:#fff;
    padding:6px 5px;
    text-align:center;
}
.menuDashMobileDayTotal span{
    display:block;
    color:#64748b;
    font-size:8px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.menuDashMobileDayTotal strong{
    display:block;
    margin-top:2px;
    color:#0f172a;
    font-size:11px;
    font-weight:900;
}
.menuDashMobilePrimary{
    width:100%;
    min-height:42px;
    margin-top:8px;
    border:1px solid #2563eb;
    border-radius:10px;
    background:#2563eb;
    color:#fff;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}
.menuDashMobilePrimary:disabled{
    opacity:.55;
    cursor:not-allowed;
}
.menuDashMobilePointageActions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:10px;
}
.menuDashMobilePointageActions .menuCollabPointageSlot.is-empty{
    display:none;
}
.menuDashMobilePointageActions .menuCollabPointageAction{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    min-height:48px;
    border:1px solid #1d4ed8;
    border-radius:10px;
    background:#2563eb;
    color:#fff;
    font-size:14px;
    font-weight:800;
    cursor:pointer;
}
.peps-error-modal-overlay{
    position:fixed;
    inset:0;
    z-index:2147481000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.58);
    backdrop-filter:blur(3px);
}
.peps-error-modal-overlay.is-open{display:flex;}
.peps-error-modal-card{
    width:min(580px,100%);
    overflow:hidden;
    border:1px solid #dbe5f2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 64px rgba(2,6,23,.28);
}
.peps-error-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding:20px 22px 16px;
    border-bottom:1px solid #e2e8f0;
}
.peps-error-modal-title-wrap{display:flex;align-items:flex-start;gap:10px;}
.peps-error-modal-mark{
    display:inline-grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff4df;
    color:#b45309;
    font-weight:900;
}
.peps-error-modal-head h3{margin:0;color:#0f3574;font-size:19px;line-height:1.3;}
.peps-error-modal-head p{margin:8px 0 0;color:#475569;font-size:14px;line-height:1.5;}
.peps-error-modal-close{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:34px;
    height:34px;
    border:1px solid #dbe5f2;
    border-radius:9px;
    background:#fff;
    color:#334155;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.peps-error-modal-close:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8;}
.peps-error-modal-body{padding:18px 22px 0;}
.peps-error-modal-help{margin:0;color:#64748b;font-size:13px;line-height:1.5;}
.peps-error-modal-details{
    box-sizing:border-box;
    width:100%;
    min-height:104px;
    margin-top:12px;
    resize:vertical;
    border:1px solid #cbd5e1;
    border-radius:8px;
    background:#f8fafc;
    color:#334155;
    padding:10px;
    font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.peps-error-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 22px 20px;}
.peps-error-modal-actions .key-btn-sec,.peps-error-modal-actions .key-btn-pri{min-height:40px;display:inline-flex;align-items:center;gap:7px;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"]{background:rgba(11,58,117,.34);}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-card{
    width:min(560px,100%);
    border-color:#dbe5f2;
    border-radius:14px;
    box-shadow:0 24px 60px rgba(11,58,117,.22);
}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-head{padding:18px 20px 16px;border-bottom-color:#dbe5f2;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-title-wrap{gap:12px;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-mark{
    flex:0 0 34px;
    width:34px;
    height:34px;
    border:1px solid #bfdbfe;
    border-radius:10px;
    background:#eff6ff;
    color:#1d4ed8;
    font-weight:600;
}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-mark [data-icone-duotone]{display:inline-flex;width:17px;height:17px;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-head h3{color:#0f3574;font-size:17px;font-weight:600;letter-spacing:-.01em;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-head p{margin-top:4px;color:#64748b;font-size:12px;line-height:1.5;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions{gap:8px;padding:14px 20px 16px;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-sec,
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-pri{
    min-height:36px;
    margin:0;
    padding:0 13px;
    border-radius:9px;
    box-shadow:none;
    font-family:'Manrope',sans-serif;
    font-size:12px;
    font-weight:600;
    transform:none;
}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-sec{color:#0f3574;background:#fff;border-color:#dbe5f2;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-sec:hover{color:#1d4ed8;background:#f8fbff;border-color:#bfdbfe;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-pri{color:#fff;background:#2f8ed8;border-color:#2f8ed8;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"] .peps-error-modal-actions .key-btn-pri:hover{color:#fff;background:#257fc5;border-color:#257fc5;}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"][data-peps-confirm-variant="danger"] .peps-error-modal-mark{
    color:#b42318;
    background:#fff1f0;
    border-color:#fecaca;
}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"][data-peps-confirm-variant="danger"] .peps-error-modal-actions .key-btn-pri{
    color:#fff;
    background:#c24135;
    border-color:#c24135;
}
#pepsGenericConfirmModal[data-peps-confirm-context="besoins"][data-peps-confirm-variant="danger"] .peps-error-modal-actions .key-btn-pri:hover{
    color:#fff;
    background:#a9362d;
    border-color:#a9362d;
}
.peps-prompt-field{display:flex;flex-direction:column;gap:7px;}
.peps-prompt-label{color:#334155;font-size:12px;font-weight:850;letter-spacing:.025em;}
.peps-prompt-input{
    box-sizing:border-box;width:100%;min-height:46px;padding:0 12px;
    border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;
    font:inherit;outline:none;transition:border-color .16s ease,box-shadow .16s ease;
}
.peps-prompt-input::placeholder{color:#94a3b8;}
.peps-prompt-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.peps-prompt-help{margin:0;color:#64748b;font-size:12px;line-height:1.45;}
.peps-prompt-error{min-height:18px;margin:4px 0 0;color:#b91c1c;font-size:12px;font-weight:700;}
.peps-error-modal-overlay[data-peps-prompt-variant="m1"] .peps-error-modal-mark{background:#eff6ff;color:#1d4ed8;}
.peps-error-modal-overlay[data-peps-prompt-variant="m1"] .peps-error-modal-card{width:min(610px,100%);}
.peps-information-modal-overlay{
    position:fixed;
    inset:0;
    z-index:2147481001;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(15,23,42,.58);
    backdrop-filter:blur(3px);
}
.peps-information-modal-overlay.is-open{display:flex;}
.peps-information-modal-card{
    width:min(580px,100%);
    overflow:hidden;
    border:1px solid #dbe5f2;
    border-radius:12px;
    background:#fff;
    box-shadow:0 20px 64px rgba(2,6,23,.28);
}
.peps-information-modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:20px 22px 16px;
    border-bottom:1px solid #e2e8f0;
}
.peps-information-modal-title-wrap{display:flex;align-items:center;gap:10px;min-width:0;}
.peps-information-modal-mark{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#e8f1ff;
    color:#1d4ed8;
}
.peps-information-modal-mark svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.peps-information-modal-overlay.is-warning .peps-information-modal-mark{background:#fff4df;color:#b45309;}
.peps-information-modal-head h3{margin:0;color:#0f3574;font-size:19px;line-height:1.3;}
.peps-information-modal-close{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:34px;
    height:34px;
    border:1px solid #dbe5f2;
    border-radius:9px;
    background:#fff;
    color:#334155;
    font-size:22px;
    line-height:1;
    cursor:pointer;
}
.peps-information-modal-close:hover{border-color:#93c5fd;background:#f8fbff;color:#1d4ed8;}
.peps-information-modal-body{padding:20px 22px 0;}
.peps-information-modal-body .peps-information-message{margin:0;color:#475569;font-size:15px;line-height:1.55;}
.peps-information-modal-body .peps-information-detail-list{max-height:min(48vh,420px);overflow:auto;margin:10px 0 0;padding-left:21px;padding-right:8px;color:#475569;font-size:14px;line-height:1.5;}
.peps-information-modal-body .peps-information-detail-list li+li{margin-top:7px;}
.rtt-reference-content h4{margin:0 0 6px;color:#0f3574;font-size:16px;line-height:1.35;}
.rtt-reference-content p{margin:0 0 14px;color:#475569;font-size:14px;line-height:1.5;}
.rtt-reference-table-wrap{overflow:clip;border:1px solid #dbe7f6;border-radius:10px;}
.rtt-reference-table{width:100%;border-collapse:collapse;table-layout:fixed;color:#1e293b;font-size:14px;}
.rtt-reference-table th,.rtt-reference-table td{padding:11px 13px;border-bottom:1px solid #e7eef8;text-align:center;white-space:normal;}
.rtt-reference-table thead th{background:#eff6ff;color:#0f3574;font-weight:700;}
.rtt-reference-table th:first-child{text-align:left;}
.rtt-reference-table tbody th{background:#f8fbff;color:#334155;font-weight:700;}
.rtt-reference-table tbody tr:last-child th,.rtt-reference-table tbody tr:last-child td{border-bottom:0;}
.rtt-reference-content .rtt-reference-note{margin:14px 0 0;color:#64748b;font-size:13px;}
.peps-information-modal-actions{display:flex;justify-content:flex-end;padding:18px 22px 20px;}
.peps-information-modal-action{
    min-height:44px;
    padding:10px 16px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#fff;
    color:#334155;
    font-size:14px;
    font-weight:600;
    box-shadow:0 1px 2px rgba(15,23,42,.08);
    cursor:pointer;
    transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
}
.peps-information-modal-action:hover{
    border-color:#3b82f6;
    background:#eff6ff;
    color:#1d4ed8;
    box-shadow:0 2px 6px rgba(59,130,246,.22);
    transform:translateY(-1px);
}
.peps-information-modal-action:focus-visible{
    outline:0;
    border-color:#3b82f6;
    box-shadow:0 0 0 3px rgba(59,130,246,.18);
}
.peps-progress-modal-card{width:min(520px,100%);}
.peps-progress-modal-body{padding:22px;}
.peps-progress-modal-stage{margin:0 0 14px;color:#475569;font-size:14px;line-height:1.45;}
.peps-progress-modal-track{height:10px;overflow:hidden;border-radius:999px;background:#e8f1ff;border:1px solid #dbeafe;}
.peps-progress-modal-fill{height:100%;width:0;border-radius:inherit;background:#2563eb;transition:width 220ms ease;}
.peps-progress-modal-fill.is-indeterminate{width:38%;animation:pepsProgressSweep 1.05s ease-in-out infinite;}
.peps-progress-modal-caption{margin:12px 0 0;color:#64748b;font-size:12px;line-height:1.4;}
@keyframes pepsProgressSweep{from{transform:translateX(-115%);}to{transform:translateX(300%);}}
@media (max-width:560px){
    .peps-error-modal-overlay{padding:12px;align-items:flex-end;}
    .peps-error-modal-actions{flex-direction:column-reverse;}
    .peps-error-modal-actions button{justify-content:center;width:100%;}
    .peps-information-modal-overlay{padding:12px;align-items:flex-end;}
    .peps-information-modal-action{width:100%;}
}
.menuDashMobilePointageActions .menuCollabPointageAction.secondary{
    border-color:#cbd5e1;
    background:#fff;
    color:#0f172a;
}
.menuDashMobilePointageActions .menuCollabPointageAction:disabled{
    opacity:.55;
    cursor:not-allowed;
}
.menuDashMobileActions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.menuDashMobileAction{
    min-height:38px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f2b46;
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuDashMobileAction:only-child{
    grid-column:1 / -1;
}
.menuDashMobileAction:hover,
.menuDashMobilePrimary:hover{
    filter:brightness(.98);
}
.menuDashMobileSection h3{
    margin:0 0 6px;
    color:#0f2b46;
    font-size:14px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:0;
}
.menuDashMobileSection h3,
.menuDashMobileDrawer > summary{
    font-family:inherit;
}
.menuDashMobileSectionHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px;
}
.menuDashMobileSectionHead h3{
    margin:0;
}
.menuDashMobileWeekNav{
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
}
.menuDashMobileWeekBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border:1px solid #cbd5e1;
    border-radius:9px;
    background:#fff;
    color:#0f2b46;
    font-size:16px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.menuDashMobileWeekLabel{
    color:#64748b;
    font-size:10px;
    font-weight:850;
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuDashMobileMiniList{
    display:grid;
    gap:6px;
}
.menuDashMobileMiniItem{
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fbff;
    padding:8px 9px;
}
.menuDashMobileMiniTitle{
    color:#0f2b46;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
}
.menuDashMobileMiniMeta{
    margin-top:2px;
    color:#64748b;
    font-size:11px;
    line-height:1.28;
}
.menuDashMobileWeekGrid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px;
    overflow:visible;
    padding:0;
    margin:0;
}
.menuDashMobileDay{
    position:relative;
    min-width:0;
    min-height:50px;
    border:1px solid #dbe3ef;
    border-radius:10px;
    background:#f8fbff;
    padding:5px 3px;
    text-align:center;
    cursor:pointer;
    transition:transform .12s ease, border-color .12s ease, box-shadow .12s ease, opacity .12s ease;
}
.menuDashMobileDay:hover{
    transform:translateY(-1px);
    border-color:#93c5fd;
    box-shadow:0 8px 18px rgba(15,23,42,.08);
}
.menuDashMobileDay.is-past{
    opacity:.62;
    background:#f8fafc;
}
.menuDashMobileDay.is-today{
    border-color:#38bdf8;
    background:#f0f9ff;
    box-shadow:inset 0 3px 0 #2563eb;
}
.menuDashMobileDay.is-selected{
    border-color:#f59e0b;
    background:#fff7ed;
    box-shadow:0 0 0 2px rgba(245,158,11,.20);
}
.menuDashMobileDay.is-today.is-selected{
    border-color:#f59e0b;
    background:linear-gradient(180deg,#eff6ff 0,#fff7ed 42%);
    box-shadow:inset 0 3px 0 #2563eb, 0 0 0 2px rgba(245,158,11,.22);
}
.menuDashMobileDayName{
    color:#0f2b46;
    font-size:10px;
    line-height:1.1;
    font-weight:900;
}
.menuDashMobileDayDate{
    color:#64748b;
    font-size:10px;
    line-height:1.1;
    margin-top:1px;
}
.menuDashMobileDayCodes{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    margin-top:4px;
    min-width:0;
}
.menuDashMobileDayCode{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    max-width:100%;
    min-width:0;
    width:100%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    border:1px solid rgba(15,23,42,.10);
    border-radius:999px;
    padding:2px 2px;
    font-size:9px;
    line-height:1.1;
    font-weight:900;
}
.menuDashMobileDayEmpty{
    margin-top:6px;
    color:#94a3b8;
    font-size:8px;
    font-weight:750;
}
.menuDashMobileDrawer{
    border:1px solid #dbe3f0;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(15,23,42,0.04);
    overflow:hidden;
}
.menuDashMobileDrawer > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:42px;
    padding:9px 10px;
    cursor:pointer;
    list-style:none;
    color:#0f2b46;
    font-size:14px;
    font-weight:850;
    line-height:1.2;
}
.menuDashMobileDrawer > summary::-webkit-details-marker{
    display:none;
}
.menuDashMobileDrawer > summary::after{
    content:"›";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border:1px solid #cbd5e1;
    border-radius:999px;
    color:#2563eb;
    font-size:17px;
    line-height:1;
    transform:rotate(90deg);
    transition:transform .15s ease;
}
.menuDashMobileDrawer[open] > summary::after{
    transform:rotate(-90deg);
}
.menuDashMobileMonthPanel{
    border-top:1px solid #e2e8f0;
    padding:8px 8px 10px;
}
.menuDashMobileMonthNav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:8px;
}
.menuDashMobileMonthBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:30px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f2b46;
    font-size:17px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.menuDashMobileMonthLabel{
    min-width:0;
    color:#0f2b46;
    font-size:13px;
    font-weight:850;
    text-align:center;
    text-transform:capitalize;
}
.menuDashMobileMonthGridWrap{
    overflow-x:hidden;
    padding-bottom:2px;
}
.menuDashMobileMonthGrid{
    display:grid;
    grid-template-columns:24px repeat(var(--mobile-month-weeks, 5), minmax(0,1fr));
    min-width:0;
    border:1px solid #dbe3f0;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
}
.menuDashMobileMonthCorner,
.menuDashMobileMonthWeek,
.menuDashMobileMonthDay,
.menuDashMobileMonthCell{
    border-right:1px solid #e2e8f0;
    border-bottom:1px solid #e2e8f0;
}
.menuDashMobileMonthCorner,
.menuDashMobileMonthWeek{
    min-height:26px;
    background:#f1f6fd;
    color:#334155;
    font-size:9px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.menuDashMobileMonthDay{
    min-height:38px;
    background:#f8fbff;
    color:#0f2b46;
    font-size:10px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
}
.menuDashMobileMonthCell{
    min-height:42px;
    padding:2px;
    background:#fff;
}
.menuDashMobileMonthCell.is-out{
    background:#f8fafc;
    color:#94a3b8;
}
.menuDashMobileMonthDate{
    display:block;
    margin-bottom:2px;
    color:#94a3b8;
    font-size:8px;
    font-weight:850;
    line-height:1;
}
.menuDashMobileMonthPills{
    display:flex;
    flex-wrap:wrap;
    gap:2px;
    justify-content:center;
}
.menuDashMobileMonthPill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:26px;
    height:26px;
    border:1px solid rgba(15,23,42,.10);
    border-radius:999px;
    padding:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    line-height:1.1;
    font-weight:900;
    text-align:center;
    cursor:pointer;
}
.menuDashMobileMonthDetail{
    display:none;
}
.menuDashMobileMonthDetail[hidden]{
    display:none;
}
.menuDashMobileMonthPopup{
    position:fixed;
    inset:0;
    z-index:16000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:12px;
    background:rgba(15,23,42,.38);
}
.menuDashMobileMonthPopup.is-open{
    display:flex;
}
.menuDashMobileMonthPopupCard{
    width:min(390px, 100%);
    max-height:calc(100dvh - 24px);
    border:1px solid #cfe0f5;
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 60px rgba(15,23,42,.25);
    overflow:auto;
}
.menuDashMobileMonthPopupHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    border-bottom:1px solid #e2e8f0;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.menuDashMobileMonthPopupHead h4{
    margin:0;
    color:#0f2b46;
    font-size:16px;
    line-height:1.15;
    font-weight:850;
}
.menuDashMobileMonthPopupClose{
    width:34px;
    height:34px;
    border:1px solid #cbd5e1;
    border-radius:11px;
    background:#fff;
    color:#0f2b46;
    font-size:20px;
    font-weight:900;
    cursor:pointer;
}
.menuDashMobileMonthPopupBody{
    padding:12px 14px 14px;
}
.menuDashMobileMonthPopupNav{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    gap:8px;
    align-items:center;
    margin-bottom:10px;
}
.menuDashMobileMonthPopupNavBtn{
    width:38px;
    height:38px;
    border:1px solid #cbd5e1;
    border-radius:13px;
    background:#f8fbff;
    color:#0f2b46;
    font-size:22px;
    font-weight:900;
    cursor:pointer;
}
.menuDashMobileMonthPopupNavInfo{
    min-width:0;
    text-align:center;
    color:#64748b;
    font-size:10px;
    font-weight:750;
}
.menuDashMobileMonthPopupNavInfo:empty{
    visibility:hidden;
}
.menuDashMobileMonthDetailBlock{
    border:1px solid #dbe3f0;
    border-radius:14px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    padding:10px;
}
#mobileMonthPopupContent{
    display:grid;
    gap:8px;
}
.menuDashMobileMonthDetailHead{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:8px;
}
.menuDashMobileMonthDetailTitle{
    color:#0f2b46;
    font-size:13px;
    font-weight:850;
    line-height:1.18;
}
.menuDashMobileMonthDetailMeta{
    margin-top:2px;
    color:#64748b;
    font-size:11px;
    line-height:1.25;
}
.menuDashMobileMonthDetailTime{
    margin-top:8px;
    color:#0f172a;
    font-size:20px;
    line-height:1;
    font-weight:950;
}
.menuDashMobileMonthStats{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:9px;
}
.menuDashMobileMonthStat{
    flex:1 1 86px;
    min-width:0;
    border:1px solid #e2e8f0;
    border-radius:9px;
    background:#fff;
    padding:6px 7px;
}
.menuDashMobileMonthStat span{
    display:block;
    color:#64748b;
    font-size:8px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.menuDashMobileMonthStat strong{
    display:block;
    margin-top:2px;
    color:#0f172a;
    font-size:11px;
    font-weight:900;
}
.menuDashMobileMonthDetailCode{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:28px;
    border-radius:999px;
    border:1px solid rgba(15,23,42,.12);
    padding:0 7px;
    font-size:10px;
    font-weight:900;
}
.menuDashMobileMonthDetailGrid{
    display:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
}
.menuDashMobileMonthDetailEmpty{
    border:1px dashed #cbd5e1;
    border-radius:14px;
    background:#f8fafc;
    color:#64748b;
    padding:16px;
    text-align:center;
    font-size:13px;
    font-weight:750;
}
.menuDashMobileMonthDetailBox{
    border:1px solid #e2e8f0;
    border-radius:9px;
    background:#fff;
    padding:6px;
}
.menuDashMobileMonthDetailBox span{
    display:block;
    color:#64748b;
    font-size:8px;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.menuDashMobileMonthDetailBox strong{
    display:block;
    margin-top:2px;
    color:#0f172a;
    font-size:11px;
    font-weight:900;
}
.menuDashMobileEvent{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px;
    align-items:start;
}
.menuDashMobileEvent .menuDashBadge{
    min-width:28px;
    height:28px;
    font-size:11px;
    margin:0;
}
@keyframes menuDashPulse{
    0%, 100%{
        box-shadow:0 0 0 0 rgba(59,130,246,0);
        border-color:#dbe3f0;
    }
    50%{
        box-shadow:0 0 0 4px rgba(59,130,246,0.08);
        border-color:#93c5fd;
    }
}
@media (max-width: 720px){
    .menuDashShell{
        gap:12px;
    }
    .menuDashHero,
    .menuDashboardDesktop{
        display:none;
    }
    .menuDashMobileHome{
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:7px;
        min-width:0;
    }
    .menuDashMobileHome > *{
        min-width:0;
    }
    .menuDashMobileDay{
        min-height:50px;
    }
}
.menuDashModal{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.42);
    display:none;
    align-items:center;
    justify-content:center;
    z-index:15000;
    padding:16px;
}
.menuDashModal.is-open{ display:flex; }
.menuDashModalCard{
    width:min(560px, 100%);
    background:#fff;
    border:1px solid #dbe3f0;
    border-radius:16px;
    box-shadow:0 18px 60px rgba(15,23,42,.24);
    padding:18px;
}
.menuDashModalHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.menuDashModalHead h4{
    margin:0;
    color:#0f2b46;
    font-size:18px;
}
.menuDashModalClose{
    width:34px;
    height:34px;
    border:1px solid #cbd5e1;
    background:#fff;
    border-radius:10px;
    cursor:pointer;
}
.menuDashModalGrid{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:8px 12px;
    font-size:14px;
    color:#334155;
}
.menuDashModalGrid strong{
    color:#0f172a;
}
@media (max-width: 1200px){
    .menuDashboard{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .menuDashCard:last-child{grid-column:1 / -1;}
}
@media (max-width: 900px){
    .menuDashHero{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .menuDashEnvGrid{grid-template-columns:1fr;}
    .menuDashboard{grid-template-columns:1fr;}
    .menuDashCard:last-child{grid-column:auto;}
}
@media (max-width: 520px){
    .menuCollabPointageActions.is-mobile{
        grid-template-columns:repeat(4, minmax(0, 1fr));
        gap:6px;
    }
    .menuCollabPointageActions.is-mobile .menuCollabPointageAction,
    .menuCollabPointageActions.is-mobile .menuDashMobilePrimary{
        min-height:48px;
        margin-top:0;
        padding:9px 6px;
        font-size:12px;
        font-weight:750;
        line-height:1.05;
        white-space:normal;
    }
    .menuCollabPointageActions.is-mobile .menuCollabPointageAction .txt{
        align-items:center;
    }
    .menuCollabPointageActions.is-mobile .menuCollabPointageAction .txt small{
        font-size:9px;
    }
}
@media (max-width: 720px){
    #zoneTravail{
        padding:74px 10px 24px 10px;
    }
}
@media (max-width: 560px){
    #zoneTravail{padding:68px 8px 18px 8px;}
    .menuDashCard{padding:14px;min-height:150px;}
    .menuDashHero h2{font-size:24px;}
    .menuDashHeroPeriod{white-space:normal;}
}

body.menu-rh-editorial-active #btnHeaderAlertesRh,
body.menu-rh-editorial-active #btnHeaderAlertesCollaborateur{
    display:none !important;
}
.menuOpsRhEditorial{
    width:min(1120px, 100%);
    margin-inline:auto;
}
.menuOpsRhEditorial .menuOpsTitle h2{font-size:30px;letter-spacing:-.035em;}
.menuOpsRhEditorial .menuOpsTop{margin-bottom:12px;}
.menuOpsRhEditorial .menuOpsBradfordKpi,
.menuOpsRhEditorial .menuOpsBirthdayButton{display:none;}
.menuOpsRhAttention{
    margin-bottom:16px;
    overflow:hidden;
    border:1px solid #d9e0e8;
    border-radius:15px;
    background:#fff;
}
.menuOpsRhAttentionList{display:grid;}
.menuOpsRhAttentionItem{
    display:block;
    border-top:1px solid #e5e7eb;
    background:#fff;
}
.menuOpsRhAttentionItem:first-child{border-top:0;}
.menuOpsRhAttentionItem > summary{list-style:none;}
.menuOpsRhAttentionItem > summary::-webkit-details-marker{display:none;}
.menuOpsRhAttentionRow{
    width:100%;
    display:grid;
    grid-template-columns:36px minmax(0, 1fr);
    align-items:center;
    gap:10px;
    min-height:58px;
    padding:9px 16px;
    border:0;
    background:#fff;
    color:#172033;
    text-align:left;
    cursor:pointer;
    box-sizing:border-box;
}
.menuOpsRhAttentionItem > summary.menuOpsRhAttentionRow{padding-right:42px;position:relative;}
.menuOpsRhAttentionItem > summary.menuOpsRhAttentionRow::after{
    content:"⌄";
    position:absolute;
    right:16px;
    top:50%;
    color:#94a3b8;
    font-size:15px;
    transform:translateY(-50%);
}
.menuOpsRhAttentionItem[open] > summary.menuOpsRhAttentionRow::after{content:"⌃";}
.menuOpsRhAttentionRow:hover,.menuOpsRhAttentionRow:focus-visible{background:#f8fafc;outline:none;}
.menuOpsRhAttentionIcon{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f1f5f9;
    color:#64748b;
}
.menuOpsRhAttentionIcon .menuNextIcon{width:18px;height:18px;}
.menuOpsRhAttentionText{display:grid;gap:2px;min-width:0;}
.menuOpsRhAttentionTitle{display:flex;align-items:baseline;gap:9px;min-width:0;}
.menuOpsRhAttentionTitle strong{font-size:14px;line-height:1.2;}
.menuOpsRhAttentionText span{overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap;}
.menuOpsRhAttentionText .menuOpsRhAttentionCount{overflow:visible;color:#475569;font-size:17px;font-weight:800;white-space:nowrap;}
.menuOpsRhAttentionRow.is-critical .menuOpsRhAttentionIcon{background:#fee2e2;color:#b4232d;}
.menuOpsRhAttentionRow.is-critical .menuOpsRhAttentionCount{color:#a61b24;}
.menuOpsRhAttentionRow.is-admin .menuOpsRhAttentionIcon{background:#fef3c7;color:#9a6200;}
.menuOpsRhAttentionRow.is-admin .menuOpsRhAttentionCount{color:#855300;}
.menuOpsRhAttentionRow.is-clear .menuOpsRhAttentionIcon{background:#f1f5f9;color:#94a3b8;}
.menuOpsRhAttentionRow.is-clear{color:#64748b;}
.menuOpsRhAttentionDetails{
    padding:0 16px 13px 62px;
    border-top:1px solid #f1f5f9;
}
.menuOpsRhAttentionDetails .menuOpsList{display:grid;gap:8px;padding-top:10px;}
.menuOpsRhAttentionDetails .menuOpsEmpty{padding:8px 0;}
.menuOpsRhPersonalStrip{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px 28px;
    margin-bottom:16px;
    padding:2px 14px;
}
.menuOpsRhPersonalDetail,
.menuOpsRhPersonalStatic{
    min-width:0;
    border:0;
    background:transparent;
}
.menuOpsRhPersonalDetail[open]{grid-column:1 / -1;}
.menuOpsRhPersonalDetail > summary{list-style:none;}
.menuOpsRhPersonalDetail > summary::-webkit-details-marker{display:none;}
.menuOpsRhPersonalItem{
    display:grid;
    grid-template-columns:22px minmax(0, 1fr);
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:4px 0;
    color:#475569;
    text-align:left;
    cursor:pointer;
    box-sizing:border-box;
}
.menuOpsRhPersonalItem:hover,.menuOpsRhPersonalItem:focus-visible{color:#0f2b63;outline:none;}
.menuOpsRhPersonalItem .menuNextIcon{width:19px;height:19px;opacity:.72;}
.menuOpsRhPersonalText{display:flex;align-items:baseline;gap:5px;min-width:0;font-size:13px;line-height:1.35;white-space:nowrap;}
.menuOpsRhPersonalItem strong{display:inline;color:#27364a;font-size:13px;}
.menuOpsRhPersonalState{
    min-width:0;
    overflow:hidden;
    color:#475569;
    font-size:13px;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.menuOpsRhPersonalState::before{content:"— ";color:#94a3b8;}
.menuOpsRhPersonalState.is-attention{color:#855300;font-weight:650;}
.menuOpsRhPersonalDetail > .menuNextPanel,
.menuOpsRhPersonalDetail > .menuOpsPersonalPointage{
    grid-column:1 / -1;
    margin:8px 0 0;
    border:1px solid #e2e8f0;
    border-radius:12px;
    box-shadow:none;
}
.menuOpsRhEditorial .menuOpsMainWithPointage{grid-template-columns:minmax(0, 1fr);}
.menuOpsRhEditorial .menuOpsMainColumn{display:grid;gap:16px;}
.menuOpsRhEditorial .menuOpsCoveragePanel{order:-2;}
.menuOpsRhEditorial .menuOpsCoveragePanel{padding:14px 16px;border-color:#d9e0e8;border-radius:14px;}
.menuOpsRhEditorial .menuOpsCoverageHead{margin-bottom:8px;}
.menuOpsRhEditorial .menuOpsCoverageHead > div > span{display:none;}
.menuOpsRhCoverageLegend{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin-left:auto;
    color:#64748b;
    font-size:12px;
}
.menuOpsRhCoverageLegend span{display:inline-flex;align-items:center;gap:6px;}
.menuOpsRhCoverageLegend i{width:9px;height:9px;border-radius:50%;background:#15803d;}
.menuOpsRhCoverageLegend .is-surplus i{background:#9a6200;}
.menuOpsRhCoverageLegend .is-missing i{background:#b4232d;}
.menuOpsRhEditorial .menuOpsCoverageScroll{width:100%;overflow-x:auto;}
.menuOpsRhEditorial .menuOpsCoverageMatrix{
    grid-template-columns:minmax(120px, 1.2fr) repeat(var(--ops-coverage-days, 10), minmax(72px, 1fr));
    width:100%;
    min-width:720px;
    border:0;
    border-radius:0;
    background:transparent;
}
.menuOpsRhEditorial .menuOpsCoverageAxis,
.menuOpsRhEditorial .menuOpsCoverageDayCell,
.menuOpsRhEditorial .menuOpsCoverageLabel,
.menuOpsRhEditorial .menuOpsCoverageValue{
    min-height:26px;
    border:0;
    background:transparent;
}
.menuOpsRhEditorial .menuOpsCoverageDayCell{color:#737b87;font-weight:600;}
.menuOpsRhEditorial .menuOpsCoverageValue.is-warn{color:#a61b24;background:transparent;}
.menuOpsRhEditorial .menuOpsCoverageValue.is-surplus{color:#855300;background:transparent;}
.menuOpsRhEditorial .menuOpsCoverageValue.is-ok{color:#166534;background:transparent;}
.menuOpsRhCoverageAction{display:flex;justify-content:flex-end;margin-top:6px;}
.menuOpsRhEditorial .menuOpsPointageColumn{display:none;}
.menuRhReplacementUnifiedList{display:grid;gap:8px;}
.menuOpsRhEditorial [aria-label="Suivi des remplacements"] .menuOpsPanelHead{margin-bottom:10px;}

@media (min-width: 1900px){
    .header-left{justify-self:start;}
    #desktopTopNav{
        width:max-content;
        padding-inline:0;
        justify-self:center;
    }
    .header-right{justify-self:end;}
}

@media (max-width: 760px){
    .menuOpsRhPersonalStrip{grid-template-columns:1fr;}
    .menuOpsRhAttentionRow{padding-inline:12px;}
    .menuOpsRhAttentionItem > summary.menuOpsRhAttentionRow{padding-right:36px;}
    .menuOpsRhAttentionDetails{padding-left:12px;padding-right:12px;}
}

/* === Animations === */
@keyframes slideInLeft{from{opacity:0;transform:translateX(-100px);}to{opacity:1;transform:translateX(0);}}
