.cmsc-wrap{max-width:1180px;margin:0 auto;padding:24px 16px 44px;color:#36422f}.cmsc-header{text-align:center;max-width:760px;margin:0 auto 22px}.cmsc-kicker{margin:0 0 6px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:#7b8f63;font-weight:700}.cmsc-header h2{margin:0 0 8px;font-size:clamp(32px,4vw,50px);line-height:1.05;color:#425238}.cmsc-header p{margin:0 auto 12px;font-size:15px;line-height:1.55;color:#697360}.cmsc-season{display:inline-flex;gap:5px;flex-wrap:wrap;align-items:center;justify-content:center;background:#f5f2e9;border:1px solid rgba(123,143,99,.22);border-radius:999px;padding:7px 13px;font-size:12px;color:#66715c}.cmsc-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}.cmsc-panel,.cmsc-preview{background:#fff;border:1px solid rgba(123,143,99,.18);border-radius:22px;box-shadow:0 14px 36px rgba(72,83,61,.08)}.cmsc-panel{padding:18px}.cmsc-preview{padding:18px}.cmsc-panel h3,.cmsc-preview h3{margin:0 0 6px;font-size:18px;color:#37462f}.cmsc-panel-help{margin:0 0 14px;font-size:13px;color:#6d7765}.cmsc-slot-table{border:1px solid rgba(123,143,99,.14);border-radius:16px;overflow:hidden;margin-bottom:16px}.cmsc-slot-head,.cmsc-slot-row{display:grid;grid-template-columns:1.3fr repeat(3,.75fr);align-items:center}.cmsc-slot-head{background:#fbfaf5;color:#607154;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cmsc-slot-head span,.cmsc-slot-row>*{padding:10px 8px;text-align:center;border-bottom:1px solid rgba(123,143,99,.12)}.cmsc-slot-row:last-child>*{border-bottom:0}.cmsc-slot-row strong{text-align:left;font-size:14px;color:#34422f;font-weight:700}.cmsc-slot-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(123,143,99,.28);border-radius:10px;background:#f7f5ee;color:#9b9b91;font-size:16px;font-weight:800;cursor:pointer;transition:all .18s ease}.cmsc-slot-toggle.is-active{background:#7b8f63;border-color:#7b8f63;color:#fff;box-shadow:0 7px 14px rgba(80,96,63,.16)}.cmsc-slot-toggle:hover{transform:translateY(-1px)}.cmsc-preferences{margin:16px 0;padding:14px;border-radius:18px;background:#fbfaf5;border:1px solid rgba(124,143,99,.14);text-align:center}.cmsc-preferences>span{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#738066;margin-bottom:10px;font-weight:700}.cmsc-filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.cmsc-filter{border:1px solid rgba(124,143,99,.32);background:#fff;color:#53634d;border-radius:999px;padding:7px 13px;font-size:.9rem;cursor:pointer;transition:all .18s ease}.cmsc-filter:hover,.cmsc-filter.is-active{background:#7b8f63;border-color:#7b8f63;color:#fff}.cmsc-actions{display:grid;gap:8px;margin-top:14px}.cmsc-refresh-week,.cmsc-reset,.cmsc-reroll-slot{border:0;border-radius:999px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.cmsc-refresh-week{background:#7b8f63;color:#fff;padding:11px 18px;box-shadow:0 8px 18px rgba(80,96,63,.16)}.cmsc-reset{background:#fff;color:#66715c;border:1px solid rgba(123,143,99,.22);padding:10px 16px}.cmsc-refresh-week:hover,.cmsc-reset:hover,.cmsc-reroll-slot:hover{transform:translateY(-2px)}.cmsc-refresh-small{padding:8px 14px;font-size:12px;box-shadow:none}.cmsc-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.cmsc-menu-days{display:grid;gap:14px}.cmsc-day-block{border:1px solid rgba(123,143,99,.15);border-radius:18px;padding:14px;background:#fffdf8}.cmsc-day-block h4{margin:0 0 12px;font-size:16px;text-transform:uppercase;letter-spacing:.02em;color:#273420}.cmsc-day-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cmsc-slot-result>small{display:block;text-align:center;margin:0 0 6px;text-transform:uppercase;letter-spacing:.06em;color:#68765f;font-size:11px;font-weight:800}.cmsc-meal{position:relative;background:#fff;border-radius:16px;box-shadow:0 9px 24px rgba(72,83,61,.08);overflow:hidden;border:1px solid rgba(123,143,99,.12);transition:transform .25s ease,box-shadow .25s ease}.cmsc-meal:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(72,83,61,.12)}.cmsc-meal a{text-decoration:none;color:inherit;display:block}.cmsc-meal-img{height:116px;background:#f5f2e9;overflow:hidden}.cmsc-meal-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.cmsc-meal:hover .cmsc-meal-img img{transform:scale(1.04)}.cmsc-meal-img span{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eef2e8,#faf7ef)}.cmsc-meal-body{position:relative;padding:18px 12px 12px;text-align:left;min-height:78px}.cmsc-kind{position:absolute;top:-18px;left:14px;width:36px;height:36px;border-radius:50%;background:#eaf0e3;border:4px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(72,83,61,.14)}.cmsc-kind img{width:20px;height:20px;object-fit:contain}.cmsc-meal strong{display:block;margin:2px 0 9px;font-size:14px;line-height:1.25;color:#273420}.cmsc-tags{display:flex;flex-wrap:wrap;gap:5px}.cmsc-tags span{background:#f5f2e9;color:#66715c;border-radius:999px;padding:4px 7px;font-size:10px}.cmsc-tags .cmsc-meat{background:#fff2ef;color:#9d4938}.cmsc-edit{position:absolute;top:8px;right:8px;z-index:3;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#526344;box-shadow:0 7px 14px rgba(0,0,0,.08)}.cmsc-reroll-slot{position:absolute;right:8px;bottom:8px;background:#eef2e8;color:#546446;padding:5px 9px;font-size:10px;opacity:0}.cmsc-meal:hover .cmsc-reroll-slot{opacity:1}.cmsc-meal-empty{height:100%;min-height:156px;display:flex;align-items:center;justify-content:center;background:#fbfaf5;color:#a0a397;box-shadow:none}.cmsc-empty{text-align:center;background:#fff;border-radius:20px;padding:24px;color:#66715c;box-shadow:0 10px 28px rgba(72,83,61,.1)}.cmsc-note{margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#fbfaf5;color:#7a846f;font-size:13px;line-height:1.45}.cmsc-meal.is-updated{animation:cmscPulse 1.15s ease}@keyframes cmscPulse{0%{box-shadow:0 0 0 0 rgba(123,143,99,.35);transform:scale(1)}35%{box-shadow:0 0 0 7px rgba(123,143,99,.18),0 18px 40px rgba(72,83,61,.18);transform:scale(1.025)}100%{box-shadow:0 9px 24px rgba(72,83,61,.08);transform:scale(1)}}@media(max-width:1040px){.cmsc-layout{grid-template-columns:1fr}.cmsc-panel{max-width:720px;width:100%;margin:0 auto}.cmsc-day-meals{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.cmsc-wrap{padding:22px 10px 34px}.cmsc-preview,.cmsc-panel{padding:14px;border-radius:18px}.cmsc-day-meals{grid-template-columns:1fr}.cmsc-meal-img{height:180px}.cmsc-slot-head,.cmsc-slot-row{grid-template-columns:1.15fr repeat(3,.7fr)}.cmsc-slot-head span,.cmsc-slot-row>*{padding:8px 4px}.cmsc-header p{font-size:14px}.cmsc-refresh-week{width:100%}.cmsc-preview-head{display:block}.cmsc-refresh-small{margin-top:8px}}

/* v0.2.1 — mode compact / capture */
.cmsc-preview-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.cmsc-compact-toggle{border:1px solid rgba(91,111,78,.35);background:#fffdf7;color:#516144;border-radius:999px;padding:9px 14px;font-weight:700;cursor:pointer}.cmsc-compact-toggle:hover{background:#f5f7ef}.cmsc-wrap.is-compact{max-width:980px}.cmsc-wrap.is-compact .cmsc-header,.cmsc-wrap.is-compact .cmsc-wrap.is-compact .cmsc-panel{display:none}.cmsc-wrap.is-compact .cmsc-layout{display:block}.cmsc-wrap.is-compact .cmsc-preview{max-width:900px;margin:0 auto;border-radius:22px;padding:22px;background:#fffdf8;box-shadow:0 18px 45px rgba(47,57,42,.10);border:1px solid rgba(91,111,78,.18)}.cmsc-wrap.is-compact .cmsc-preview-head{margin-bottom:16px}.cmsc-wrap.is-compact .cmsc-preview-head h3{font-size:24px}.cmsc-wrap.is-compact .cmsc-day-block{padding:14px 16px;margin-bottom:12px;border-radius:16px;background:#fff}.cmsc-wrap.is-compact .cmsc-day-block h4{font-size:14px;margin-bottom:10px}.cmsc-wrap.is-compact .cmsc-day-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cmsc-wrap.is-compact .cmsc-slot-result small{font-size:10px;margin-bottom:5px}.cmsc-wrap.is-compact .cmsc-meal{border-radius:14px}.cmsc-wrap.is-compact .cmsc-meal-img{height:84px}.cmsc-wrap.is-compact .cmsc-meal-body{padding:9px 10px 10px}.cmsc-wrap.is-compact .cmsc-meal-body strong{font-size:13px;line-height:1.25}.cmsc-wrap.is-compact .cmsc-tags{margin-top:6px}.cmsc-wrap.is-compact .cmsc-tags span,.cmsc-wrap.is-compact .cmsc-meat{font-size:10px;padding:3px 6px}.cmsc-wrap.is-compact .cmsc-reroll-slot,.cmsc-wrap.is-compact .cmsc-edit{display:none!important}@media(max-width:720px){.cmsc-wrap.is-compact .cmsc-day-meals{grid-template-columns:1fr}.cmsc-preview-actions{justify-content:flex-start}}

/* v0.2.2 — affichage calendrier */
.cmsc-menu-days{display:block;overflow-x:auto;padding-bottom:4px}.cmsc-calendar-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 12px}.cmsc-calendar-meta span{background:#f5f7ef;border:1px solid rgba(123,143,99,.18);border-radius:14px;padding:8px 12px;font-size:13px;color:#53634d}.cmsc-calendar{--cmsc-days:7;display:grid;grid-template-columns:92px repeat(var(--cmsc-days), minmax(132px,1fr));min-width:1040px;border:1px solid rgba(123,143,99,.16);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(72,83,61,.07)}.cmsc-calendar>*{border-right:1px solid rgba(123,143,99,.12);border-bottom:1px solid rgba(123,143,99,.12)}.cmsc-calendar>*:nth-child(calc(var(--cmsc-days) + 1n)){border-right:1px solid rgba(123,143,99,.12)}.cmsc-calendar-corner,.cmsc-calendar-day{background:#fbfaf5}.cmsc-calendar-day{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 8px}.cmsc-calendar-day strong{text-transform:uppercase;letter-spacing:.04em;font-size:14px;color:#273420}.cmsc-calendar-slot{display:flex;align-items:center;justify-content:center;min-height:142px;background:#fffdf8}.cmsc-calendar-slot span{writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;color:#7b8f63}.cmsc-calendar-slot-soir span{color:#b66a3f}.cmsc-calendar-slot-dessert span{color:#7b5bb3}.cmsc-calendar-cell{min-height:142px;padding:10px;background:#fff}.cmsc-calendar-empty{height:100%;min-height:120px;display:flex;align-items:center;justify-content:center;color:#a5aa9d;font-size:22px}.cmsc-calendar .cmsc-slot-result>small{display:none}.cmsc-calendar .cmsc-meal{height:100%;box-shadow:none;border-radius:14px}.cmsc-calendar .cmsc-meal-img{height:82px}.cmsc-calendar .cmsc-meal-body{padding:9px 10px 10px;min-height:78px}.cmsc-calendar .cmsc-kind{display:none}.cmsc-calendar .cmsc-meal strong{font-size:13px;line-height:1.25;margin:0 0 7px}.cmsc-calendar .cmsc-tags span{font-size:9px;padding:3px 6px}.cmsc-calendar .cmsc-edit{width:24px;height:24px;font-size:12px}.cmsc-calendar .cmsc-reroll-slot{display:none}.cmsc-wrap.is-compact{max-width:1500px}.cmsc-wrap.is-compact .cmsc-preview{max-width:1480px;padding:22px}.cmsc-wrap.is-compact .cmsc-menu-days{overflow-x:visible}.cmsc-wrap.is-compact .cmsc-calendar{min-width:0;grid-template-columns:98px repeat(var(--cmsc-days),minmax(130px,1fr))}.cmsc-wrap.is-compact .cmsc-calendar-cell{padding:10px}.cmsc-wrap.is-compact .cmsc-calendar .cmsc-meal-img{height:92px}.cmsc-wrap.is-compact .cmsc-calendar .cmsc-meal-body strong{font-size:14px}.cmsc-wrap.is-compact .cmsc-calendar-meta{justify-content:flex-start}@media(max-width:760px){.cmsc-calendar{min-width:860px;grid-template-columns:74px repeat(var(--cmsc-days), minmax(112px,1fr))}.cmsc-calendar-slot{min-height:126px}.cmsc-calendar-cell{min-height:126px;padding:8px}.cmsc-calendar .cmsc-meal-img{height:70px}.cmsc-calendar .cmsc-meal-body{padding:8px}.cmsc-calendar .cmsc-meal strong{font-size:12px}.cmsc-calendar-slot span{font-size:10px}.cmsc-wrap.is-compact .cmsc-menu-days{overflow-x:auto}}

.cmsc-preview{overflow-x:auto}.cmsc-calendar{min-width:900px}.cmsc-status,.cmsc-badges,.cmsc-auto-rules{display:none!important}

/* v0.2.4 - vue calendrier en deux blocs en mode complet */
.cmsc-preview{overflow:hidden}.cmsc-menu-days{display:block}.cmsc-full-calendars{display:grid;gap:18px}.cmsc-calendar-group{overflow:visible}.cmsc-compact-calendar{display:none}.cmsc-full-calendars .cmsc-calendar{min-width:0;width:100%;grid-template-columns:76px repeat(var(--cmsc-days), minmax(130px,1fr))}.cmsc-full-calendars .cmsc-calendar-slot,.cmsc-full-calendars .cmsc-calendar-cell{min-height:118px}.cmsc-full-calendars .cmsc-calendar-cell{padding:8px}.cmsc-full-calendars .cmsc-meal{display:flex;align-items:center;min-height:86px;height:100%;border-radius:14px;overflow:hidden}.cmsc-full-calendars .cmsc-meal a{display:grid;grid-template-columns:72px 1fr;align-items:stretch;width:100%;min-height:86px}.cmsc-full-calendars .cmsc-meal-img{height:100%;min-height:86px}.cmsc-full-calendars .cmsc-meal-img img{width:100%;height:100%;object-fit:cover}.cmsc-full-calendars .cmsc-meal-body{min-height:0;padding:9px 10px;display:flex;flex-direction:column;justify-content:center}.cmsc-full-calendars .cmsc-meal strong{font-size:12.5px;line-height:1.25;margin:0}.cmsc-full-calendars .cmsc-tags{display:none}.cmsc-full-calendars .cmsc-edit{width:22px;height:22px;font-size:11px}.cmsc-full-calendars .cmsc-reroll-slot{display:none}.cmsc-full-calendars .cmsc-calendar-empty{min-height:92px;height:100%;font-size:18px}.cmsc-full-calendars .cmsc-calendar-day{min-height:48px}.cmsc-full-calendars .cmsc-calendar-day strong{font-size:13px}.cmsc-full-calendars .cmsc-calendar-slot span{font-size:10px}.cmsc-wrap.is-compact .cmsc-full-calendars{display:none}.cmsc-wrap.is-compact .cmsc-compact-calendar{display:block;overflow-x:auto}.cmsc-wrap.is-compact .cmsc-compact-calendar .cmsc-calendar{min-width:900px}.cmsc-wrap.is-compact .cmsc-header,.cmsc-wrap.is-compact .cmsc-wrap.is-compact .cmsc-panel{display:none}.cmsc-wrap.is-compact .cmsc-layout{display:block}.cmsc-wrap.is-compact .cmsc-preview{box-shadow:none;border:0;padding:0;background:transparent;overflow:visible}.cmsc-wrap.is-compact .cmsc-preview-head{margin-bottom:18px}.cmsc-wrap.is-compact .cmsc-preview h3{font-size:28px}.cmsc-wrap.is-compact .cmsc-compact-calendar .cmsc-calendar{box-shadow:0 12px 30px rgba(72,83,61,.07)}
@media (max-width:980px){.cmsc-layout{grid-template-columns:1fr}.cmsc-full-calendars .cmsc-calendar{grid-template-columns:62px repeat(var(--cmsc-days), minmax(110px,1fr))}.cmsc-full-calendars .cmsc-meal a{grid-template-columns:58px 1fr}.cmsc-full-calendars .cmsc-meal-img{min-height:74px}.cmsc-full-calendars .cmsc-meal strong{font-size:11.5px}}

/* v0.2.5 — suppression du bouton/filigrane modifier dans le générateur */
.cmsc-calendar .cmsc-edit,.cmsc-full-calendars .cmsc-edit,.cmsc-compact-calendar .cmsc-edit{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}


/* v0.2.6 — mémorisation + meilleure version mobile */
.cmsc-preview{max-width:100%;}
.cmsc-full-calendars .cmsc-calendar{table-layout:fixed;}
.cmsc-full-calendars .cmsc-meal a{min-width:0;}
.cmsc-full-calendars .cmsc-meal strong{word-break:normal;overflow-wrap:anywhere;}
.cmsc-calendar .cmsc-meal-img img{filter:none!important;opacity:1!important;}
.cmsc-calendar .cmsc-meal a::before,
.cmsc-calendar .cmsc-meal a::after,
.cmsc-meal::before,
.cmsc-meal::after{display:none!important;}

@media (max-width: 900px){
  .cmsc-wrap{padding:18px 10px 34px;}
  .cmsc-layout{display:block;}
  .cmsc-panel{margin:0 0 16px;max-width:none;width:auto;}
  .cmsc-preview{padding:14px;overflow:hidden;}
  .cmsc-preview-head{align-items:flex-start;}
  .cmsc-preview-actions{width:100%;justify-content:flex-start;}
  .cmsc-full-calendars{gap:14px;}
  .cmsc-calendar-group{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .cmsc-full-calendars .cmsc-calendar{min-width:640px;grid-template-columns:58px repeat(var(--cmsc-days), minmax(132px,1fr));}
  .cmsc-full-calendars .cmsc-calendar-slot,
  .cmsc-full-calendars .cmsc-calendar-cell{min-height:104px;}
  .cmsc-full-calendars .cmsc-meal{min-height:76px;}
  .cmsc-full-calendars .cmsc-meal a{grid-template-columns:58px 1fr;min-height:76px;}
  .cmsc-full-calendars .cmsc-meal-img{min-height:76px;}
  .cmsc-full-calendars .cmsc-meal-body{padding:8px;}
  .cmsc-full-calendars .cmsc-meal strong{font-size:11.5px;line-height:1.2;}
  .cmsc-full-calendars .cmsc-calendar-empty{min-height:76px;}
  .cmsc-slot-table{overflow-x:auto;}
  .cmsc-slot-head,.cmsc-slot-row{min-width:360px;}
}

@media (max-width: 560px){
  .cmsc-header h2{font-size:32px;}
  .cmsc-header p{font-size:14px;}
  .cmsc-panel h3,.cmsc-preview h3{font-size:20px;}
  .cmsc-full-calendars .cmsc-calendar{min-width:590px;grid-template-columns:52px repeat(var(--cmsc-days), minmax(126px,1fr));}
  .cmsc-full-calendars .cmsc-meal a{grid-template-columns:54px 1fr;}
  .cmsc-full-calendars .cmsc-calendar-day strong{font-size:12px;}
  .cmsc-full-calendars .cmsc-calendar-slot span{font-size:9px;}
  .cmsc-filter-buttons{justify-content:flex-start;}
  .cmsc-filter{font-size:13px;padding:7px 11px;}
  .cmsc-refresh-week,.cmsc-reset{width:100%;}
  .cmsc-wrap.is-compact .cmsc-preview{padding:0;}
  .cmsc-wrap.is-compact .cmsc-compact-calendar{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}


/* v0.2.7 — corrections affichage, mots non coupés, changement par repas et mobile */
.cmsc-full-calendars .cmsc-calendar{grid-template-columns:76px repeat(var(--cmsc-days), minmax(158px,1fr));}
.cmsc-full-calendars .cmsc-meal a{grid-template-columns:62px minmax(0,1fr);}
.cmsc-full-calendars .cmsc-meal-img{min-height:82px;}
.cmsc-full-calendars .cmsc-meal strong,
.cmsc-calendar .cmsc-meal strong{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  white-space:normal;
}
.cmsc-full-calendars .cmsc-meal-body{padding:8px 9px 26px;}
.cmsc-full-calendars .cmsc-reroll-slot{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  position:absolute;
  right:7px;
  bottom:7px;
  width:24px;
  height:24px;
  padding:0;
  border-radius:999px;
  background:#eef2e8;
  color:#546446;
  border:1px solid rgba(123,143,99,.24);
  opacity:.72;
  font-size:0;
  z-index:5;
  box-shadow:0 5px 12px rgba(72,83,61,.12);
}
.cmsc-full-calendars .cmsc-reroll-slot::before{content:'↻';font-size:14px;line-height:1;font-weight:800;}
.cmsc-full-calendars .cmsc-reroll-slot:hover,
.cmsc-full-calendars .cmsc-reroll-slot:focus{opacity:1;background:#7b8f63;color:#fff;transform:none;}
.cmsc-wrap.is-compact .cmsc-reroll-slot{display:none!important;}
.cmsc-mobile-list{display:none;}

@media (max-width: 900px){
  .cmsc-full-calendars .cmsc-calendar{grid-template-columns:62px repeat(var(--cmsc-days), minmax(150px,1fr));}
  .cmsc-full-calendars .cmsc-meal a{grid-template-columns:58px minmax(0,1fr);}
  .cmsc-full-calendars .cmsc-meal strong{font-size:11.5px;}
}

@media (max-width: 700px){
  .cmsc-full-calendars,
  .cmsc-wrap.is-compact .cmsc-compact-calendar{display:none!important;}
  .cmsc-mobile-list{display:grid;gap:10px;}
  .cmsc-mobile-day{border:1px solid rgba(123,143,99,.16);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(72,83,61,.06);}
  .cmsc-mobile-day h4{margin:0;padding:10px 12px;background:#fbfaf5;color:#273420;text-transform:uppercase;letter-spacing:.04em;font-size:13px;}
  .cmsc-mobile-meal{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid rgba(123,143,99,.12);min-height:auto!important;background:#fff;}
  .cmsc-mobile-meal>small{display:block!important;color:#7b8f63;text-transform:uppercase;letter-spacing:.07em;font-weight:900;font-size:10px;text-align:center;}
  .cmsc-mobile-meal[data-slot="soir"]>small{color:#b66a3f;}
  .cmsc-mobile-meal[data-slot="dessert"]>small{color:#7b5bb3;}
  .cmsc-mobile-list .cmsc-meal{height:auto;min-height:66px;box-shadow:none;border-radius:12px;}
  .cmsc-mobile-list .cmsc-meal a{display:grid;grid-template-columns:58px minmax(0,1fr);min-height:66px;}
  .cmsc-mobile-list .cmsc-meal-img{height:66px;min-height:66px;}
  .cmsc-mobile-list .cmsc-meal-body{padding:7px 28px 7px 8px;min-height:0;display:flex;align-items:center;}
  .cmsc-mobile-list .cmsc-meal strong{font-size:12px;line-height:1.2;margin:0;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
  .cmsc-mobile-list .cmsc-tags,.cmsc-mobile-list .cmsc-kind{display:none!important;}
  .cmsc-mobile-list .cmsc-reroll-slot{display:inline-flex!important;opacity:.8;right:5px;bottom:50%;transform:translateY(50%);font-size:0;width:22px;height:22px;padding:0;border-radius:50%;}
  .cmsc-mobile-list .cmsc-reroll-slot::before{content:'↻';font-size:13px;font-weight:800;}
  .cmsc-wrap.is-compact .cmsc-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
  .cmsc-wrap.is-compact .cmsc-preview h3{font-size:22px;}
  .cmsc-wrap.is-compact .cmsc-mobile-list{gap:7px;}
  .cmsc-wrap.is-compact .cmsc-mobile-day h4{padding:7px 10px;font-size:11px;}
  .cmsc-wrap.is-compact .cmsc-mobile-meal{grid-template-columns:56px 1fr;padding:5px 8px;gap:6px;}
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal a{grid-template-columns:44px 1fr;min-height:48px;}
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-img{height:48px;min-height:48px;}
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-body{padding:5px 6px;}
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal strong{font-size:10.5px;line-height:1.12;}
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-reroll-slot{display:none!important;}
}



/* v0.2.10 — vrai mode compact mobile pensé pour capture d'écran */
@media (max-width:700px){
  /* Le mode normal mobile reste utilisable : panneau + filtres visibles. */
  .cmsc-wrap:not(.is-compact) .cmsc-panel{display:block!important;}

  /* Le compact ne touche qu'à la vue capture. */
  .cmsc-wrap.is-compact{
    max-width:100%!important;
    padding:4px!important;
  }
  .cmsc-wrap.is-compact .cmsc-header,
  .cmsc-wrap.is-compact .cmsc-panel,
  .cmsc-wrap.is-compact .cmsc-full-calendars,
  .cmsc-wrap.is-compact .cmsc-compact-calendar,
  .cmsc-wrap.is-compact .cmsc-refresh-small{
    display:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-layout{display:block!important;}
  .cmsc-wrap.is-compact .cmsc-preview{
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    margin:0!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    margin:0 0 5px!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview h3{
    font-size:15px!important;
    line-height:1.05!important;
    margin:0!important;
    color:#37462f!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview-actions{width:auto!important;display:flex!important;justify-content:flex-end!important;}
  .cmsc-wrap.is-compact .cmsc-compact-toggle{
    display:inline-flex!important;
    padding:4px 7px!important;
    font-size:10px!important;
    line-height:1!important;
    border-radius:999px!important;
    white-space:nowrap!important;
  }

  /* Grille capture : 2 colonnes de jours, sans défilement horizontal. */
  .cmsc-wrap.is-compact .cmsc-mobile-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-day{
    border:1px solid rgba(123,143,99,.16)!important;
    border-radius:9px!important;
    background:#fff!important;
    box-shadow:none!important;
    overflow:hidden!important;
    min-width:0!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-day h4{
    margin:0!important;
    padding:4px 5px!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.04em!important;
    background:#fbfaf5!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-meal{
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    align-items:center!important;
    gap:3px!important;
    padding:3px 4px!important;
    min-height:34px!important;
    border-top:1px solid rgba(123,143,99,.10)!important;
    background:#fff!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-meal>small{
    display:block!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    text-align:center!important;
    font-weight:900!important;
    margin:0!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal{
    min-height:31px!important;
    height:auto!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal a{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    align-items:center!important;
    gap:4px!important;
    min-height:31px!important;
    width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-img{
    width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:5px!important;
    background:#f5f2e9!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-img img{
    width:30px!important;
    height:30px!important;
    object-fit:cover!important;
    border-radius:5px!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-body{
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    display:block!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal strong{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    font-size:8px!important;
    line-height:1.08!important;
    margin:0!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    color:#273420!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-tags,
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-kind,
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-reroll-slot{
    display:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-mobile-list .cmsc-meal-empty{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:30px!important;
    color:#a5aa9d!important;
    font-size:11px!important;
  }
}


/* v0.2.11 — en mode compact, cacher le panneau de réglages sur ordinateur aussi */
.cmsc-wrap.is-compact .cmsc-panel{
  display:none!important;
}
.cmsc-wrap.is-compact .cmsc-layout{
  display:block!important;
}
.cmsc-wrap.is-compact .cmsc-preview{
  width:100%;
}


/* v0.2.15 — Mode compact = même mise en page que le mode complet, sans panneau de réglages */
.cmsc-wrap.is-compact .cmsc-header,
.cmsc-wrap.is-compact .cmsc-panel{
  display:none!important;
}
.cmsc-wrap.is-compact .cmsc-layout{
  display:block!important;
}
.cmsc-wrap.is-compact .cmsc-preview{
  width:100%!important;
  max-width:1180px!important;
  margin:0 auto!important;
}
.cmsc-wrap.is-compact .cmsc-full-calendars{
  display:grid!important;
  gap:14px!important;
}
.cmsc-wrap.is-compact .cmsc-compact-calendar,
.cmsc-wrap.is-compact .cmsc-mobile-list{
  display:none!important;
}
.cmsc-wrap.is-compact .cmsc-calendar-group{
  overflow:visible!important;
  width:100%!important;
}
.cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar{
  width:100%!important;
}
.cmsc-wrap.is-compact .cmsc-preview-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.cmsc-wrap.is-compact .cmsc-preview-actions{
  width:auto!important;
  display:flex!important;
  justify-content:flex-end!important;
}

@media (max-width:700px){
  /* En mobile normal, on ne change rien : filtres et réglages restent disponibles. */
  .cmsc-wrap:not(.is-compact) .cmsc-panel{
    display:block!important;
  }

  /* En mode compact uniquement : on garde le calendrier du mode complet, sans panneau. */
  .cmsc-wrap.is-compact{
    padding:8px 6px 26px!important;
    max-width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-panel,
  .cmsc-wrap.is-compact .cmsc-header,
  .cmsc-wrap.is-compact .cmsc-compact-calendar,
  .cmsc-wrap.is-compact .cmsc-mobile-list{
    display:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview{
    padding:10px!important;
    border-radius:16px!important;
    overflow:visible!important;
    box-shadow:0 10px 28px rgba(72,83,61,.08)!important;
    border:1px solid rgba(123,143,99,.16)!important;
    background:#fffdf8!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview-head{
    margin-bottom:8px!important;
    flex-wrap:nowrap!important;
  }
  .cmsc-wrap.is-compact .cmsc-preview h3{
    font-size:18px!important;
    line-height:1.1!important;
    margin:0!important;
  }
  .cmsc-wrap.is-compact .cmsc-compact-toggle,
  .cmsc-wrap.is-compact .cmsc-refresh-small{
    padding:5px 8px!important;
    font-size:10px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars{
    display:grid!important;
    gap:8px!important;
    width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-calendar-group{
    overflow:visible!important;
    padding:0!important;
    width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar{
    min-width:0!important;
    width:100%!important;
    grid-template-columns:34px repeat(var(--cmsc-days), minmax(0,1fr))!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-day{
    min-height:26px!important;
    padding:4px 2px!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-day strong{
    font-size:7.5px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-slot{
    min-height:58px!important;
    padding:0!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-slot span{
    font-size:7px!important;
    letter-spacing:.02em!important;
    writing-mode:vertical-rl!important;
    transform:rotate(180deg)!important;
    white-space:nowrap!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-cell{
    min-height:58px!important;
    padding:2px!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-slot-result>small{
    display:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal{
    min-height:54px!important;
    height:auto!important;
    border-radius:7px!important;
    box-shadow:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal a{
    display:block!important;
    min-height:54px!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal-img{
    height:28px!important;
    min-height:28px!important;
    width:100%!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal-img img{
    height:28px!important;
    object-fit:cover!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal-body{
    padding:3px 2px!important;
    min-height:0!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal strong{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0!important;
    font-size:6.8px!important;
    line-height:1.05!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-tags,
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-kind,
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-reroll-slot,
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-edit{
    display:none!important;
  }
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-calendar-empty,
  .cmsc-wrap.is-compact .cmsc-full-calendars .cmsc-meal-empty{
    min-height:54px!important;
    font-size:11px!important;
    background:#fff!important;
  }
}

/* v0.2.16 — glisser-déposer des repas dans le menu */
.cmsc-meal[draggable="true"]{cursor:grab;touch-action:manipulation;}
.cmsc-meal[draggable="true"]:active{cursor:grabbing;}
.cmsc-meal.is-dragging{opacity:.48;transform:scale(.985)!important;box-shadow:0 0 0 2px rgba(123,143,99,.32)!important;}
.cmsc-calendar-cell.is-drop-target,.cmsc-mobile-meal.is-drop-target{outline:2px dashed rgba(123,143,99,.65);outline-offset:-5px;background:#fbfff6;}
.cmsc-calendar-cell.is-drop-denied,.cmsc-mobile-meal.is-drop-denied{outline:2px dashed rgba(170,85,65,.45);outline-offset:-5px;background:#fff7f4;}
.cmsc-is-dragging .cmsc-calendar-cell,.cmsc-is-dragging .cmsc-mobile-meal{transition:background .15s ease,outline-color .15s ease;}
.cmsc-is-dragging .cmsc-meal a{pointer-events:none;}


/* v0.2.17 — bouton Ajouter au menu + fenêtre de choix */
.cmsc-add-to-menu,
.frc-action-button.cmsc-add-to-menu,
.irc-add-menu-button{
  border:1px solid rgba(123,143,99,.34);
  background:#f7f9f2;
  color:#4f6142;
  border-radius:999px;
  padding:9px 13px;
  font-weight:700;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(65,77,52,.07);
}
.cmsc-add-to-menu:hover,
.irc-add-menu-button:hover{background:#eef3e6;transform:translateY(-1px);}
.irc-add-menu-button{position:absolute;right:12px;bottom:12px;z-index:4;}
.irc-card{padding-bottom:48px;}
.cmsc-add-modal[hidden]{display:none!important;}
.cmsc-modal-open{overflow:hidden;}
.cmsc-add-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px;}
.cmsc-add-backdrop{position:absolute;inset:0;background:rgba(36,42,31,.34);backdrop-filter:blur(2px);}
.cmsc-add-box{position:relative;width:min(420px,100%);background:#fffdf8;border:1px solid rgba(123,143,99,.26);border-radius:24px;padding:24px;box-shadow:0 24px 80px rgba(40,47,34,.24);color:#3f4938;}
.cmsc-add-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;line-height:1;color:#7c846f;cursor:pointer;}
.cmsc-add-kicker{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#7b8f63;}
.cmsc-add-title{margin:0 22px 18px 0;font-size:24px;line-height:1.1;color:#384331;}
.cmsc-add-box label{display:block;margin:0 0 13px;font-size:13px;font-weight:800;color:#59644f;}
.cmsc-add-box select{width:100%;margin-top:6px;border:1px solid rgba(123,143,99,.3);border-radius:14px;padding:11px 12px;background:#fff;color:#37402f;font:inherit;}
.cmsc-add-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}
.cmsc-add-cancel,.cmsc-add-confirm{border-radius:999px;border:1px solid rgba(123,143,99,.28);padding:10px 15px;font-weight:800;cursor:pointer;}
.cmsc-add-cancel{background:#fff;color:#65705a;}
.cmsc-add-confirm{background:#7b8f63;color:#fff;border-color:#7b8f63;}
.cmsc-add-note{margin:14px 0 0;color:#777;font-size:13px;line-height:1.45;}
@media(max-width:640px){.irc-add-menu-button{right:10px;bottom:10px;font-size:12px;padding:8px 11px}.cmsc-add-box{padding:20px;border-radius:20px}.cmsc-add-title{font-size:21px}}
