/* RUN15: scoped to calendars, publication controls and horizontal month navigation. */
.nuc-month-strip{display:flex!important;flex-wrap:nowrap!important;gap:7px;overflow-x:auto;width:100%;padding:8px 2px;min-width:0;align-items:center}
.nuc-month-strip button{flex:0 0 auto;flex-direction:row;min-height:36px;height:auto;padding:6px 13px;border-radius:22px;gap:6px;background:#f5f4f1;color:#36546b;border:1px solid #dfdcd6;text-transform:capitalize}
.nuc-month-strip button:disabled{opacity:.48}.nuc-month-strip .month-count{background:#dae5f1;color:#1564b8}
.nuc-month-strip button[aria-pressed=true]{background:#1564b8;color:#fff;box-shadow:none}
.nuc-calendar-months,.nuc-publication-months{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#fff;border:1px solid #ddd;border-radius:14px;margin:12px 0 20px;min-width:0}
.nuc-calendar-months>label,.nuc-publication-months>label{flex:0 0 auto;margin:0!important;min-width:110px}.nuc-calendar-months select,.nuc-publication-months select{min-width:100px}
body.content-body .section-learning>.module-filters{display:flex;gap:14px;align-items:center;justify-content:flex-start;margin:12px 0;padding:0}
body.content-body .section-learning>.module-filters>label:has([data-filter=Pays]){display:flex!important;align-items:center;gap:10px;flex:none;min-width:0;background:white;border:1px solid #b6cfe3;border-radius:8px;padding:7px 12px;margin:0}
body.content-body .section-learning>.module-filters>label select{width:auto;min-width:160px}
body.content-body .section-learning .nuc-event-controls{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0;margin:0;justify-content:flex-start;background:transparent}
body.content-body .section-learning .nuc-event-controls button{min-height:42px;padding:8px 16px}.section-learning .nuc-event-controls [aria-pressed=true]{background:#1564b8!important;color:white!important}
body.content-body .section-learning .calendar-layout.cal-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}
body.content-body .section-learning .calendar-month{grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:auto;align-items:stretch}
body.content-body .section-learning .calendar-day.cal-day{display:flex;flex-direction:column;min-width:0;min-height:125px;height:auto;max-height:none;overflow:visible;padding:6px;box-sizing:border-box}
body.content-body .section-learning .calendar-day .nuc-day-select{display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:24px;height:auto;width:100%;padding:0;margin:0;gap:2px;border:0;background:transparent;box-shadow:none;font-size:11px}
body.content-body .section-learning .calendar-day .day-count{font-size:9px;white-space:nowrap}
.nuc-day-events{display:flex;flex-direction:column;gap:4px;width:100%;min-width:0;margin-top:5px}
body.content-body .section-learning .calendar-event.cal-evt{display:block!important;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0;text-decoration:none;font-size:12px;line-height:1.35;white-space:normal!important;text-overflow:clip;overflow-wrap:anywhere;word-break:normal;-webkit-line-clamp:unset;max-height:none;height:auto;overflow:visible;border-left:3px solid #1564b8;border-radius:3px;padding:5px;background:#c9dff1;color:#174b73}
body.content-body .section-learning .calendar-event.event-seminar{background:#ffe1b0;color:#9a4100;border-color:#f77800}
body.content-body .section-learning .calendar-event.event-training,body.content-body .section-learning .calendar-event.event-workshop{background:#d5eee5;color:#126d65;border-color:#168176}
body.content-body .section-learning .calendar-event.nuc-event-bar{position:relative;flex:0 0 6px!important;height:6px!important;min-height:6px!important;max-height:6px!important;padding:0!important;border:0!important;background:#1564b8!important}
body.content-body .section-learning .calendar-event.nuc-event-bar.event-seminar{background:#f77800!important}
body.content-body .section-learning .calendar-event.nuc-event-bar.event-training,body.content-body .section-learning .calendar-event.nuc-event-bar.event-workshop{background:#168176!important}
.nuc-event-tip{position:fixed;z-index:10000;width:max-content;max-width:min(340px,calc(100vw - 16px));padding:10px 14px;background:#17384e;color:#fff;border-radius:8px;box-shadow:0 4px 18px #0003;font:14px/1.4 Arial,sans-serif;white-space:normal;pointer-events:none;box-sizing:border-box}
.nuc-event-tip[hidden]{display:none!important}.nuc-event-bar:focus-visible{outline:3px solid #e0a000;outline-offset:3px}
.nuc-publication-tabs{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #ddd;border-radius:16px;padding:20px;margin-bottom:20px}
.nuc-publication-tabs>button{border-radius:32px;padding:14px 20px;font-weight:700;font-size:16px;white-space:nowrap;background:#f5f4f1;color:#36546b;border:1px solid #ddd}
.nuc-publication-tabs>button[aria-pressed=true]{background:#1564b8;color:#fff;border-color:#1564b8}
.nuc-publication-tabs .publication-domains{flex:1 1 540px;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.nuc-publication-tabs .pub-filter{border-radius:24px;font-size:15px;padding:10px 16px;margin:0}
@media(max-width:900px){body.content-body .section-learning .calendar-layout.cal-layout{grid-template-columns:minmax(0,1fr)}.nuc-calendar-months,.nuc-publication-months{padding:8px;gap:8px}.nuc-publication-tabs{padding:12px}.nuc-publication-tabs>button{font-size:14px;padding:10px}.nuc-month-strip button{min-width:0}}
@media(max-width:500px){body.content-body .section-learning .calendar-day.cal-day{min-height:92px;padding:3px}body.content-body .section-learning .calendar-event.cal-evt{font-size:10px;padding:3px}.nuc-publication-tabs .pub-filter{font-size:12px;padding:8px}.nuc-calendar-months>label,.nuc-publication-months>label{min-width:90px}.nuc-event-controls button{font-size:12px}}
body.content-body .nuc-publication-tabs>button{border-radius:32px!important;padding:14px 20px!important;font-weight:700;font-size:16px!important;white-space:nowrap;background:#f5f4f1;color:#36546b;border:1px solid #ddd;min-height:48px}
body.content-body .nuc-publication-tabs>button[aria-pressed=true]{background:#1564b8!important;color:#fff!important;border-color:#1564b8!important}
body.content-body .nuc-publication-tabs .pub-filter{border-radius:24px!important;font-size:15px!important;padding:10px 16px!important;margin:0;min-height:42px}
body.content-body .section-learning>.module-filters>label:has([data-filter=Pays]){flex-direction:row!important}
@media(max-width:500px){body.content-body .nuc-publication-tabs>button{font-size:13px!important;padding:10px 12px!important}body.content-body .nuc-publication-tabs .pub-filter{font-size:12px!important;padding:8px 10px!important}}

/* RUN15.1 : mois publiés du thème, sans compteur. */
.nuc-theme-calendar .nuc-month-strip button.has-content{background:#e5f3e6!important;color:#245b32!important;border:1px solid #b4d7ba!important;}
.nuc-theme-calendar .nuc-month-strip button.has-content[aria-pressed="true"]{background:#d5ebd9!important;color:#174827!important;box-shadow:inset 0 0 0 2px #438552;font-weight:700;}
.sidebar .sb-link[data-p="publications"][aria-current]{background:#dceefa!important;color:#0d3b5c!important;border-color:#9ec2dc!important;}
/* RUN16 : publications, présentation BSMO. */
#referenceModule .nuc-pubs-bsmo{color:#20333e;font:14px/1.5 Arial,sans-serif;max-width:1240px;margin:0 auto;min-width:0}
#referenceModule .np-hero{position:relative;display:flex;gap:16px;align-items:center;background:#e1f4ee;border-radius:14px;padding:24px 26px 30px;margin:0 0 16px;color:#104d43;min-height:135px;box-sizing:border-box}
#referenceModule .np-hero::before,#referenceModule .np-hero::after{content:'';position:absolute;inset:7px 16px;border:1px solid #91b6ad;pointer-events:none;transform:skewX(-1deg)}
#referenceModule .np-hero::after{inset:11px 21px;border-color:#b3d0c8;transform:skewX(1deg)}
#referenceModule .np-book{font-size:40px;font-weight:400;color:#4c9384}#referenceModule .np-intro h2{font:700 19px Arial,sans-serif;margin:0 0 9px;color:#104d43}#referenceModule .np-intro p{margin:5px 0}#referenceModule .np-totals strong{font-size:27px;margin-right:4px}#referenceModule .np-subtitle{font-size:13px}
#referenceModule .np-journals{position:absolute;right:34px;bottom:17px;background:#fff;color:#096c59;border:1px solid #a2dccb;border-radius:20px;padding:2px 12px;min-height:25px;font-size:12px;z-index:1}
#referenceModule .np-year-row{display:flex;gap:10px;align-items:center;margin:14px 0 0}#referenceModule .np-year-row select{width:auto;min-width:80px;max-width:140px;border:1px solid #bdd0dc;border-radius:7px;background:#fff;padding:8px 12px;font:14px Arial,sans-serif;color:#243641}
#referenceModule .np-months{margin:3px 0 12px;min-width:0}#referenceModule .np-months .nuc-month-strip{padding:7px 0;gap:6px}#referenceModule .np-months button{padding:5px 10px;font-size:12px;border-radius:7px;min-height:30px}#referenceModule .np-months button[aria-pressed=true]{background:#0d705c;border-color:#0d705c;color:white}#referenceModule .np-months .month-count{padding:1px 4px;border-radius:3px;background:#e0efe9;color:#176c58;margin-left:4px}
#referenceModule .np-domains,#referenceModule .np-types{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;background:transparent;padding:0;border:0}
#referenceModule .np-domain{display:inline-flex;gap:7px;align-items:center;min-height:30px;padding:4px 10px;background:#e3f5ef;color:#084e41;border:1px solid #9ee0cc;border-radius:7px;font-size:13px;font-weight:400}
#referenceModule .np-domain[aria-pressed=true]{background:#0e705c;color:white;border-color:#0e705c;font-weight:700}#referenceModule .np-count{font-weight:700;padding:0 5px;background:#ffffffb8;border-radius:3px;color:#096a55}#referenceModule .np-domain[aria-pressed=true] .np-count{background:#ffffff35;color:white}
#referenceModule .np-type{display:inline-flex;gap:5px;align-items:center;min-height:25px;padding:2px 9px;background:white;border:1px solid #f4d4a6;border-radius:16px;font:12px Arial,sans-serif;color:#223743}#referenceModule .np-type::before{content:'';width:6px;height:6px;border-radius:50%;background:#eea236}#referenceModule .np-type[aria-pressed=true]{background:#fff0d6;border-color:#e69c24}#referenceModule .np-type .np-count{background:none;color:inherit;padding:0;font-weight:400}
#referenceModule .np-results{margin:18px 0 10px;font-weight:600;color:#465661}#referenceModule .np-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}#referenceModule .np-card{border:1px solid #dee7ed;border-top:3px solid #20a681;border-radius:0 0 14px 14px;background:white;padding:15px;min-width:0;box-shadow:none}
#referenceModule .np-card-head{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}#referenceModule .np-card h3{margin:0;font:700 15px/1.45 Arial,sans-serif;color:#23313d;overflow-wrap:anywhere}#referenceModule .np-badge{background:#e1f4ee;color:#105d4c;font-size:11px;font-weight:600;padding:5px 10px;border-radius:20px;flex-shrink:0;max-width:32%;text-align:center}
#referenceModule .np-summary,#referenceModule .np-meta{font-size:13px;color:#526373;margin:12px 0;line-height:1.55;overflow-wrap:anywhere}#referenceModule .np-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:13px}#referenceModule .np-card a{color:#0961b8;text-decoration:none}#referenceModule .np-card a:hover{text-decoration:underline}#referenceModule .np-kind{margin-left:auto;font-size:11px;color:#67777f}
#referenceModule .np-more,#referenceModule .np-journal-selected{background:#e1f4ee;color:#0e6250;border:1px solid #96cab9;border-radius:7px;padding:8px 14px;margin:12px 0}#referenceModule .np-note{font-size:12px;color:#697c84;margin:16px 0}
#referenceModule .np-dialog{width:min(640px,calc(100vw - 36px));max-height:80vh;box-sizing:border-box;overflow:auto;border:1px solid #a6d7c9;border-radius:14px;padding:22px;color:#203b38;background:white;box-shadow:0 16px 70px #0004}
#referenceModule .np-dialog:not([open]){display:none}#referenceModule .np-dialog::backdrop{background:#152c3c80}#referenceModule .np-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}#referenceModule .np-dialog h2{font:700 20px Arial,sans-serif;margin:0}#referenceModule .np-close{border:0;background:#e1f4ee;color:#145d4e;font-size:24px;border-radius:50%;width:36px;height:36px;padding:0}
#referenceModule .np-journal-list{list-style:none;padding:0;margin:12px 0}#referenceModule .np-journal-list li{border-bottom:1px solid #e2ebe7}#referenceModule .np-journal-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:0;border-radius:4px;background:white;color:#174e43;padding:10px;font:14px/1.4 Arial,sans-serif}#referenceModule .np-journal-list button:hover,#referenceModule .np-journal-list button[aria-pressed=true]{background:#e1f4ee}
#referenceModule .nuc-pubs-bsmo button:focus-visible,#referenceModule .nuc-pubs-bsmo a:focus-visible{outline:3px solid #dcaa32;outline-offset:2px}
@media(max-width:600px){#referenceModule .np-hero{padding:20px 18px 44px;gap:10px}#referenceModule .np-book{font-size:26px}#referenceModule .np-totals{font-size:12px}#referenceModule .np-totals strong{font-size:23px}#referenceModule .np-card-head{gap:8px}#referenceModule .np-badge{font-size:10px;max-width:35%;padding:4px 7px}#referenceModule .np-domain{font-size:12px;padding:4px 7px}#referenceModule .np-card{padding:12px}}
#referenceModule .np-type[aria-pressed=true]{color:#543e13!important}
#referenceModule .np-type[aria-pressed=true] .np-count{color:#543e13!important}
#referenceModule .np-book svg{display:block;width:40px;height:32px}
@media(max-width:600px){#referenceModule .np-book svg{width:28px;height:26px}}
/* RUN16.1 : contours et centrage explicite du dialogue, tous navigateurs. */
#referenceModule .np-domain,#referenceModule .np-type,#referenceModule .np-months .nuc-month-strip button{border-width:2px}
#referenceModule .np-card{border-width:2px;border-color:#bfd8ce;border-top:4px solid #20a681}
#referenceModule .np-journals{font-weight:700;border:2px solid #125d48;color:#125d48}
#referenceModule .np-dialog{position:fixed!important;inset:auto!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;max-height:calc(100dvh - 48px);max-width:calc(100vw - 32px);border:2px solid #83b7a8}
