/* Szabadság-tervező (includes/calendar/planner.php + assets/planner.js). Loaded only on pages with a planner.
   Tokens: design system v1.1. Brick = only the travel CTA; orange = holidays with navy-950 text; colour is never the only signal
   (patterns, outline, dots + text labels / aria-labels). */
[x-cloak] { display: none !important; }

.lmus-pl-wrap { padding-block: var(--lmus-space-2xl, 2rem) var(--lmus-space-xl, 1.5rem); }
.lmus-pl-section__title { font-size: var(--lmus-fs-h3); line-height: var(--lmus-lh-h3); font-weight: var(--lmus-fw-h3); color: var(--lmus-color-text); margin: 0 0 var(--lmus-space-md, 1rem); }
.lmus-pl { --_cell: 38px; color: var(--lmus-color-text); }
.lmus-pl-ico { width: 20px; height: 20px; flex: none; fill: currentColor; }

/* Toolbar */
.lmus-pl__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lmus-space-sm, .75rem) var(--lmus-space-lg, 1.25rem); margin-bottom: var(--lmus-space-sm, .75rem); }
.lmus-pl__pager { display: flex; align-items: center; gap: var(--lmus-space-xs, .5rem); }
.lmus-pl__span { margin: 0; min-width: 16rem; text-align: center; font-weight: var(--lmus-fw-bold); font-size: var(--lmus-fs-lg, 1.125rem); }
.lmus-pl-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: var(--lmus-tap, 44px); height: var(--lmus-tap, 44px); padding: 0; border: 1px solid var(--lmus-color-border-strong); border-radius: var(--lmus-radius-md, 8px); background: var(--lmus-white, #fff); color: var(--lmus-navy-900); cursor: pointer; }
.lmus-pl-iconbtn:hover { background: var(--lmus-navy-50); }
.lmus-pl-iconbtn:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); }
.lmus-pl-iconbtn:disabled { opacity: var(--lmus-opacity-disabled, .4); cursor: not-allowed; }
.lmus-pl-iconbtn--sm { width: 36px; height: 36px; border-color: transparent; }
.lmus-pl__school { margin: 0; }

/* Legend */
.lmus-pl-legend { list-style: none; margin: 0 0 var(--lmus-space-md, 1rem); padding: 0; display: flex; flex-wrap: wrap; gap: var(--lmus-space-2xs, .375rem) var(--lmus-space-md, 1rem); font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }
.lmus-pl-legend li { display: inline-flex; align-items: center; gap: 6px; }
.lmus-pl-legend__sch { display: none !important; }
.lmus-pl.is-school .lmus-pl-legend__sch { display: inline-flex !important; }
.lmus-pl-key { position: relative; display: inline-block; width: 18px; height: 18px; border-radius: 4px; background: var(--lmus-white, #fff); border: 1px solid var(--lmus-color-border); }
.lmus-pl-key.is-hol { background: var(--lmus-orange-500); border-color: var(--lmus-orange-500); }
.lmus-pl-key.is-rest { background: repeating-linear-gradient(135deg, var(--lmus-orange-500) 0 3px, var(--lmus-orange-200) 3px 6px); border-color: var(--lmus-orange-500); }
.lmus-pl-key.is-work { box-shadow: inset 0 0 0 2px var(--lmus-navy-900); border-color: transparent; }
.lmus-pl-key.is-fc { background: var(--lmus-orange-100); border: 2px dashed var(--lmus-orange-600); }
.lmus-pl-key.is-we { background: var(--lmus-neutral-100); }
.lmus-pl-key.is-sch::after { content: ""; position: absolute; left: 2px; right: 2px; bottom: 2px; height: 4px; border-radius: 2px; background: var(--lmus-sky-500); }
.lmus-pl-key.is-leave::before { content: ""; position: absolute; top: 3px; right: 3px; width: 6px; height: 6px; border-radius: 50%; background: var(--lmus-navy-900); }

/* Layout */
.lmus-pl__layout { display: grid; grid-template-columns: minmax(0, 1fr) 22rem; gap: var(--lmus-space-xl, 1.5rem); align-items: start; }
.lmus-pl--compact .lmus-pl__layout { grid-template-columns: minmax(0, 1fr); }
.lmus-pl__hint { margin: 0 0 var(--lmus-space-xs, .5rem); font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }
.lmus-pl__months { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lmus-space-lg, 1.25rem) var(--lmus-space-md, 1rem); }
.lmus-pl__swipe { display: none; }

/* Month grid */
.lmus-pl-month { min-width: 0; }
.lmus-pl-grid { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0 3px; font-variant-numeric: tabular-nums; }
.lmus-pl-month__title { caption-side: top; text-align: left; font-weight: var(--lmus-fw-bold); font-size: var(--lmus-fs-base, 1rem); padding: 0 0 var(--lmus-space-2xs, .375rem) 2px; color: var(--lmus-color-text); }
.lmus-pl-grid th { font-size: var(--lmus-fs-xs, .75rem); font-weight: var(--lmus-fw-semibold, 600); color: var(--lmus-color-text-muted); padding: 0 0 2px; text-align: center; }
.lmus-pl-c { padding: 0 1px; height: var(--_cell); text-align: center; }
.lmus-pl-d { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: var(--_cell); padding: 0; border: 0; border-radius: var(--lmus-radius-sm, 6px); background: transparent; color: var(--lmus-color-text); font: inherit; font-size: var(--lmus-fs-sm); font-weight: var(--lmus-fw-medium, 500); cursor: pointer; touch-action: manipulation; }
.lmus-pl-d:hover { background: var(--lmus-navy-50); }
.lmus-pl-d:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); z-index: 2; }
.is-we > .lmus-pl-d { background: var(--lmus-neutral-100); color: var(--lmus-neutral-800, #36454f); }
.is-hol > .lmus-pl-d { background: var(--lmus-orange-500); color: var(--lmus-navy-950); font-weight: var(--lmus-fw-bold); }
.is-rest > .lmus-pl-d { background: repeating-linear-gradient(135deg, var(--lmus-orange-500) 0 4px, var(--lmus-orange-200) 4px 8px); color: var(--lmus-navy-950); font-weight: var(--lmus-fw-bold); }
.is-work > .lmus-pl-d { background: var(--lmus-white, #fff); box-shadow: inset 0 0 0 2px var(--lmus-navy-900); font-weight: var(--lmus-fw-bold); }
.is-fc > .lmus-pl-d { background: var(--lmus-orange-100); box-shadow: inset 0 0 0 2px var(--lmus-orange-600); background-image: none; }
.is-fc > .lmus-pl-d { outline: 2px dashed var(--lmus-orange-600); outline-offset: -2px; box-shadow: none; }
.is-today > .lmus-pl-d { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; font-weight: var(--lmus-fw-extrabold, 800); }
.is-past > .lmus-pl-d { opacity: .55; }
.lmus-pl.is-school .is-sch > .lmus-pl-d::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: 3px; height: 3px; border-radius: 2px; background: var(--lmus-sky-500); }

/* Selection (range band on the cells, so it is continuous) */
.lmus-pl-c.is-range { background: var(--lmus-navy-100); }
.lmus-pl-c.is-preview { background: var(--lmus-navy-50); }
.lmus-pl-c.is-start { border-radius: var(--lmus-radius-sm, 6px) 0 0 var(--lmus-radius-sm, 6px); }
.lmus-pl-c.is-end { border-radius: 0 var(--lmus-radius-sm, 6px) var(--lmus-radius-sm, 6px) 0; }
.lmus-pl-c.is-start.is-end { border-radius: var(--lmus-radius-sm, 6px); }
.lmus-pl-c.is-start > .lmus-pl-d, .lmus-pl-c.is-end > .lmus-pl-d { background: var(--lmus-navy-900); color: var(--lmus-white, #fff); box-shadow: none; outline: 0; }
.lmus-pl-c.is-leave > .lmus-pl-d::before { content: ""; position: absolute; top: 4px; right: 4px; width: 6px; height: 6px; border-radius: 50%; background: var(--lmus-navy-900); }
.lmus-pl-c.is-leave.is-start > .lmus-pl-d::before, .lmus-pl-c.is-leave.is-end > .lmus-pl-d::before { background: var(--lmus-white, #fff); }
.lmus-pl-c.is-range.is-past > .lmus-pl-d { opacity: .8; }

/* Selection card */
.lmus-pl__side { position: sticky; top: calc(var(--lmus-header-h, 72px) + var(--lmus-space-md, 1rem)); }
.lmus-pl--compact .lmus-pl__side { position: static; }
.lmus-pl-sel { min-height: 16rem; padding: var(--lmus-space-lg, 1.25rem); border: 1px solid var(--lmus-color-border); border-radius: var(--lmus-radius-lg, 12px); background: var(--lmus-white, #fff); box-shadow: var(--lmus-shadow-1); }
.lmus-pl--compact .lmus-pl-sel { min-height: 9rem; }
.lmus-pl-sel.is-empty { background: var(--lmus-color-bg-cool); box-shadow: none; }
.lmus-pl-sel p { margin: 0; }
.lmus-pl-sel__head { display: flex; align-items: center; justify-content: space-between; gap: var(--lmus-space-xs, .5rem); margin: -6px -8px 0 0; }
.lmus-pl-sel__kicker, .lmus-pl-ent__kicker { font-size: var(--lmus-fs-xs, .75rem); font-weight: var(--lmus-fw-bold); text-transform: uppercase; letter-spacing: .06em; color: var(--lmus-color-text-muted); margin: 0 0 4px; }
.lmus-pl-sel__title { font-size: var(--lmus-fs-h5, 1.125rem); line-height: var(--lmus-lh-h5, 1.3); font-weight: var(--lmus-fw-bold); color: var(--lmus-color-text); margin-bottom: 2px !important; }
.lmus-pl-sel__wd, .lmus-pl-sel__text { font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }
.lmus-pl-sel__text { margin-top: var(--lmus-space-xs, .5rem) !important; }
.lmus-pl-stats { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lmus-space-xs, .5rem); margin: var(--lmus-space-md, 1rem) 0; }
.lmus-pl-stats div { display: flex; flex-direction: column-reverse; padding: var(--lmus-space-sm, .75rem); border-radius: var(--lmus-radius-md, 8px); background: var(--lmus-navy-50); }
.lmus-pl-stats div.is-leave { background: var(--lmus-orange-100); }
.lmus-pl-stats dt { font-size: var(--lmus-fs-sm); color: var(--lmus-color-text); }
.lmus-pl-stats dd { margin: 0; font-size: var(--lmus-fs-h3, 1.75rem); line-height: 1.1; font-weight: var(--lmus-fw-extrabold, 800); color: var(--lmus-navy-950); }
.lmus-pl-sel__line { font-size: var(--lmus-fs-sm); margin-bottom: 6px !important; }
.lmus-pl-sel__note { font-size: var(--lmus-fs-xs, .75rem); color: var(--lmus-color-text-muted); margin: var(--lmus-space-xs, .5rem) 0 !important; }
.lmus-pl-hintbtn { display: block; width: 100%; text-align: left; margin: var(--lmus-space-xs, .5rem) 0 0; padding: var(--lmus-space-xs, .5rem) var(--lmus-space-sm, .75rem); min-height: var(--lmus-tap, 44px); border: 1px dashed var(--lmus-navy-300); border-radius: var(--lmus-radius-md, 8px); background: var(--lmus-navy-50); color: var(--lmus-navy-900); font: inherit; font-size: var(--lmus-fs-sm); cursor: pointer; }
.lmus-pl-hintbtn:hover { border-style: solid; }
.lmus-pl-hintbtn:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); }
.lmus-pl-sel__actions { margin-top: var(--lmus-space-md, 1rem); display: grid; gap: var(--lmus-space-xs, .5rem); }
.lmus-pl-sel__cta { width: 100%; }
.lmus-pl-sel__offernote { font-size: var(--lmus-fs-xs, .75rem); color: var(--lmus-color-text-muted); }
.lmus-pl-sel__tools { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--lmus-space-xs, .5rem); }
.lmus-pl-sel__notifynote { margin: calc(-1 * var(--lmus-space-2xs, .25rem)) 0 var(--lmus-space-xs, .5rem); font-size: var(--lmus-fs-xs, .75rem); line-height: 1.4; color: var(--lmus-color-text-muted); }
.lmus-pl-sel__tools .lmus-btn { min-height: var(--lmus-tap, 44px); padding-inline: var(--lmus-space-sm, .75rem); }
.lmus-pl-sel__tools .lmus-pl-ico { width: 18px; height: 18px; }
.lmus-pl-toast { min-height: 1.25em; font-size: var(--lmus-fs-sm); font-weight: var(--lmus-fw-semibold, 600); color: var(--lmus-color-success, #1f7a4d); overflow-wrap: anywhere; }

/* Best windows + optimizer windows */
.lmus-pl-wins { margin-top: var(--lmus-space-xl, 1.5rem); }
.lmus-pl-wins__title { font-size: var(--lmus-fs-h5, 1.125rem); font-weight: var(--lmus-fw-bold); margin: 0 0 4px; }
.lmus-pl-wins__lead { margin: 0 0 var(--lmus-space-sm, .75rem); font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }
.lmus-pl-wins__list, .lmus-pl-plan__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr)); gap: var(--lmus-space-xs, .5rem); min-height: 5.5rem; }
.lmus-pl-wins__none { grid-column: 1 / -1; font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }
.lmus-pl-win { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; height: 100%; min-height: 5.5rem; padding: var(--lmus-space-sm, .75rem); border: 1px solid var(--lmus-color-border); border-radius: var(--lmus-radius-md, 8px); background: var(--lmus-white, #fff); color: var(--lmus-color-text); font: inherit; text-align: left; cursor: pointer; }
button.lmus-pl-win:hover { border-color: var(--lmus-navy-900); }
button.lmus-pl-win:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); }
.lmus-pl-win.is-on { border-color: var(--lmus-navy-900); box-shadow: inset 0 0 0 1px var(--lmus-navy-900); background: var(--lmus-navy-50); }
.lmus-pl-win__badge { font-size: var(--lmus-fs-xs, .75rem); }
.lmus-pl-win__range { font-weight: var(--lmus-fw-bold); }
.lmus-pl-win__hol { font-size: var(--lmus-fs-xs, .75rem); color: var(--lmus-color-text-muted); }
.lmus-pl .lmus-pl__more { margin: var(--lmus-space-xl, 2rem) 0 0; font-weight: var(--lmus-fw-semibold, 600); }

/* Panels: entitlement + optimizer */
.lmus-pl-panel { margin-top: var(--lmus-space-3xl, 3rem); padding-top: var(--lmus-space-2xl, 2rem); border-top: 1px solid var(--lmus-color-border); scroll-margin-top: calc(var(--lmus-header-h, 72px) + var(--lmus-space-md, 1rem)); }
.lmus-pl-panel__title { font-size: var(--lmus-fs-h3); line-height: var(--lmus-lh-h3); font-weight: var(--lmus-fw-h3); margin: 0 0 var(--lmus-space-xs, .5rem); }
.lmus-pl-panel__lead { margin: 0 0 var(--lmus-space-lg, 1.25rem); max-width: 70ch; }
.lmus-pl-panel__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--lmus-space-xl, 1.5rem); align-items: start; }
.lmus-pl-form { display: grid; gap: var(--lmus-space-md, 1rem); align-content: start; }
.lmus-pl-form fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: var(--lmus-space-2xs, .375rem); }
.lmus-pl-form legend { padding: 0; margin-bottom: var(--lmus-space-2xs, .375rem); }
.lmus-pl-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: var(--lmus-space-sm, .75rem); }
.lmus-pl-form__help { margin: 0; font-size: var(--lmus-fs-xs, .75rem); font-weight: var(--lmus-fw-regular, 400); color: var(--lmus-color-text-muted); }
.lmus-pl-form__kid { display: grid; grid-template-columns: 6rem minmax(0, 9rem) auto; align-items: center; gap: var(--lmus-space-sm, .75rem); }
.lmus-pl-form .lmus-check { align-items: flex-start; padding-block: 10px; line-height: 1.4; }
.lmus-pl-form .lmus-check input { margin-top: 0; flex: none; }
.lmus-pl-form > .lmus-btn { justify-self: start; }
.lmus-pl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lmus-pl-chip { min-width: var(--lmus-tap, 44px); min-height: var(--lmus-tap, 44px); padding: 0 12px; border: 1px solid var(--lmus-color-border-strong); border-radius: var(--lmus-radius-pill, 999px); background: var(--lmus-white, #fff); color: var(--lmus-navy-900); font: inherit; font-size: var(--lmus-fs-sm); font-weight: var(--lmus-fw-semibold, 600); cursor: pointer; }
.lmus-pl-chip[aria-pressed="true"] { background: var(--lmus-navy-900); border-color: var(--lmus-navy-900); color: var(--lmus-white, #fff); }
.lmus-pl-chip:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); }

.lmus-pl-ent { min-height: 18rem; padding: var(--lmus-space-lg, 1.25rem); border-radius: var(--lmus-radius-lg, 12px); background: var(--lmus-color-bg-cool); }
.lmus-pl-ent p { margin: 0 0 var(--lmus-space-xs, .5rem); }
.lmus-pl-ent__big { font-size: var(--lmus-fs-h1); line-height: 1.05; font-weight: var(--lmus-fw-extrabold, 800); color: var(--lmus-navy-950); margin-bottom: var(--lmus-space-sm, .75rem) !important; }
.lmus-pl-ent__table { width: 100%; border-collapse: collapse; font-size: var(--lmus-fs-sm); margin-bottom: var(--lmus-space-sm, .75rem); }
.lmus-pl-ent__table th, .lmus-pl-ent__table td { padding: 6px 0; border-top: 1px solid var(--lmus-color-border); text-align: left; vertical-align: top; }
.lmus-pl-ent__table th { font-weight: var(--lmus-fw-medium, 500); padding-right: var(--lmus-space-sm, .75rem); }
.lmus-pl-ent__table td { white-space: nowrap; font-weight: var(--lmus-fw-bold); padding-right: var(--lmus-space-sm, .75rem); }
.lmus-pl-ent__table tfoot th, .lmus-pl-ent__table tfoot td { font-weight: var(--lmus-fw-bold); border-top-width: 2px; }
.lmus-pl-ent__ref { font-size: var(--lmus-fs-xs, .75rem); color: var(--lmus-color-text-muted); font-weight: var(--lmus-fw-regular, 400) !important; }
.lmus-pl-ent__line { font-size: var(--lmus-fs-sm); }
.lmus-pl-ent__note { font-size: var(--lmus-fs-xs, .75rem); color: var(--lmus-color-text-muted); }

.lmus-pl-rules { margin-top: var(--lmus-space-lg, 1.25rem); border: 1px solid var(--lmus-color-border); border-radius: var(--lmus-radius-md, 8px); padding: 0 var(--lmus-space-md, 1rem); }
.lmus-pl-rules summary { cursor: pointer; min-height: var(--lmus-tap, 44px); display: flex; align-items: center; font-weight: var(--lmus-fw-semibold, 600); }
.lmus-pl-rules summary:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); border-radius: 4px; }
.lmus-pl-rules__grid { display: grid; grid-template-columns: 16rem minmax(0, 1fr); gap: var(--lmus-space-lg, 1.25rem); padding-bottom: var(--lmus-space-md, 1rem); font-size: var(--lmus-fs-sm); }
.lmus-pl-rules__ladder { font-size: var(--lmus-fs-sm); }
.lmus-pl-rules__ladder caption { text-align: left; font-weight: var(--lmus-fw-bold); padding: 0 0 6px; background: none; }
.lmus-pl-rules__ladder th, .lmus-pl-rules__ladder td { padding: 4px 8px; border-top: 1px solid var(--lmus-color-border); }

.lmus-pl-form--opt { margin-bottom: var(--lmus-space-lg, 1.25rem); max-width: 48rem; }
.lmus-pl-plans { display: grid; gap: var(--lmus-space-lg, 1.25rem); min-height: 2rem; }
.lmus-pl-plan { padding: var(--lmus-space-lg, 1.25rem); border: 1px solid var(--lmus-color-border); border-radius: var(--lmus-radius-lg, 12px); background: var(--lmus-color-bg-alt); }
.lmus-pl-plan__title { margin: 0 0 4px; font-size: var(--lmus-fs-h5, 1.125rem); font-weight: var(--lmus-fw-bold); }
.lmus-pl-plan__sum { margin: 0 0 var(--lmus-space-sm, .75rem); font-size: var(--lmus-fs-sm); }
.lmus-pl-plans__note, .lmus-pl-plans__empty { margin: 0; font-size: var(--lmus-fs-sm); color: var(--lmus-color-text-muted); }

/* Copy below the tool */
.lmus-pl-copy { padding-block: var(--lmus-space-xl, 1.5rem) var(--lmus-space-4xl, 4rem); max-width: 52rem; }
.lmus-pl-copy__sec { padding-top: var(--lmus-space-xl, 1.5rem); margin-top: var(--lmus-space-xl, 1.5rem); border-top: 1px solid var(--lmus-color-border); scroll-margin-top: calc(var(--lmus-header-h, 72px) + var(--lmus-space-md, 1rem)); }
.lmus-pl-copy h2 { font-size: var(--lmus-fs-h3); line-height: var(--lmus-lh-h3); font-weight: var(--lmus-fw-h3); margin: 0 0 var(--lmus-space-sm, .75rem); }
.lmus-pl-copy p { margin: 0 0 var(--lmus-space-sm, .75rem); line-height: var(--lmus-lh-base, 1.6); max-width: 72ch; }
.lmus-pl-steps { margin: 0 0 var(--lmus-space-md, 1rem); padding-left: 1.25rem; display: grid; gap: var(--lmus-space-sm, .75rem); line-height: var(--lmus-lh-base, 1.6); }

/* Compact planner on the year / school pages */
.lmus-cal-planner--live { display: block; border-style: solid; border-width: 1px; border-color: var(--lmus-color-border); background: var(--lmus-white, #fff); }
.lmus-cal-planner--live > p { margin: 0 0 var(--lmus-space-md, 1rem); }
.lmus-cal__body .lmus-pl h3 { margin-top: 0; }
.lmus-pl--compact .lmus-pl__span { min-width: 12rem; font-size: var(--lmus-fs-base, 1rem); }
.lmus-pl--compact .lmus-pl__months { gap: var(--lmus-space-md, 1rem) var(--lmus-space-sm, .75rem); }
.lmus-pl--compact .lmus-pl-sel { margin-top: var(--lmus-space-md, 1rem); }
@media (min-width: 768px) {
  .lmus-pl--compact .lmus-pl-sel__body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 var(--lmus-space-lg, 1.25rem); }
  .lmus-pl--compact .lmus-pl-sel__body > * { grid-column: 1; }
  .lmus-pl--compact .lmus-pl-sel__actions { grid-column: 2; grid-row: 1 / span 12; margin-top: 0; align-content: start; }
}

@media (max-width: 1279px) {
  .lmus-pl__layout { grid-template-columns: minmax(0, 1fr) 19rem; }
}
@media (max-width: 1023px) {
  .lmus-pl__layout { grid-template-columns: minmax(0, 1fr); }
  .lmus-pl__months { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lmus-pl__side { position: static; }
  .lmus-pl-sel { min-height: 0; }
  .lmus-pl-panel__grid { grid-template-columns: minmax(0, 1fr); }
  .lmus-pl-rules__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px), (pointer: coarse) {
  .lmus-pl { --_cell: var(--lmus-tap, 44px); }
}
@media (max-width: 767px) {
  .lmus-pl__bar { justify-content: center; }
  .lmus-pl__pager { width: 100%; justify-content: space-between; }
  .lmus-pl__span { min-width: 0; flex: 1; font-size: var(--lmus-fs-base, 1rem); }
  /* one month per screen, native swipe (scroll snap) */
  .lmus-pl__months { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .lmus-pl__months::-webkit-scrollbar { display: none; }
  .lmus-pl-month { flex: 0 0 100%; scroll-snap-align: start; padding-inline: 1px; }
  .lmus-pl__swipe { display: flex; align-items: center; justify-content: space-between; margin-top: var(--lmus-space-xs, .5rem); }
  .lmus-pl__dots { display: flex; gap: 6px; }
  .lmus-pl__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--lmus-neutral-300); }
  .lmus-pl__dot.is-on { background: var(--lmus-navy-900); }
  .lmus-pl-legend { font-size: var(--lmus-fs-xs, .75rem); gap: 4px 12px; }
  .lmus-pl-sel { padding: var(--lmus-space-md, 1rem); }
  .lmus-pl-wins__list, .lmus-pl-plan__list { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .lmus-pl-win { min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: 8px; }
  .lmus-pl-win__hol { flex-basis: 100%; }
  .lmus-pl-form__kid { grid-template-columns: 5rem minmax(0, 1fr); }
  .lmus-pl-form__kid .lmus-check { grid-column: 2; padding-block: 0; }
  .lmus-pl-ent__big { font-size: var(--lmus-fs-h2, 2rem); }
  .lmus-cal-planner--live { padding: var(--lmus-space-md, 1rem); }
}
@media (prefers-reduced-motion: reduce) {
  .lmus-pl__months { scroll-behavior: auto; }
  .lmus-pl *, .lmus-pl *::before, .lmus-pl *::after { transition: none !important; animation: none !important; }
}
.lmus-pl-subscribe:empty { display: none; }
.lmus-pl-subscribe { margin-top: var(--lmus-space-md, 1rem); }

/* v3.1 (owner feedback 2026-10-13): tinted selection card, notify button, clear button on the month row, mobile spacing */
.lmus-pl-sel:not(.is-empty) { background: var(--lmus-color-bg-warm, #FFF7ED); border-color: var(--lmus-orange-200); }
.lmus-pl-sel:not(.is-empty) .lmus-pl-stats div { background: var(--lmus-white, #fff); }
.lmus-pl-sel:not(.is-empty) .lmus-pl-stats div.is-leave { background: var(--lmus-white, #fff); box-shadow: inset 0 0 0 2px var(--lmus-orange-200); }
.lmus-pl-sel__notify { width: 100%; min-height: var(--lmus-tap, 44px); white-space: normal; line-height: 1.25; padding-block: 8px; }
.lmus-pl-sel__notify .lmus-pl-ico { width: 20px; height: 20px; }
.lmus-pl__monthswrap { position: relative; }
.lmus-pl-clear { position: absolute; top: -8px; right: 0; z-index: 3; display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding: 0 12px; border: 1px solid var(--lmus-color-border-strong); border-radius: var(--lmus-radius-pill, 999px); background: var(--lmus-white, #fff); color: var(--lmus-navy-900); font: inherit; font-size: var(--lmus-fs-sm); font-weight: var(--lmus-fw-semibold, 600); cursor: pointer; }
.lmus-pl-clear:hover { background: var(--lmus-navy-50); }
.lmus-pl-clear:focus-visible { outline: none; box-shadow: var(--lmus-focus-ring); }
.lmus-pl-clear .lmus-pl-ico { width: 16px; height: 16px; }
/* desktop shows the range across several months and the side card has its own × — clear button only in the one-month mobile view */
@media (min-width: 768px) { .lmus-pl-clear { display: none; } }
@media (max-width: 767px) {
  .lmus-pl-legend { gap: 10px 16px; margin-bottom: var(--lmus-space-lg, 1.25rem); line-height: 1.35; }
  .lmus-pl__hint { margin-bottom: var(--lmus-space-md, 1rem); line-height: 1.45; }
  .lmus-pl__school { margin-block: 2px var(--lmus-space-xs, .5rem); }
  .lmus-pl-month__title { padding-bottom: 14px; padding-top: 2px; font-size: var(--lmus-fs-lg, 1.125rem); }
  .lmus-pl-clear { top: -6px; min-height: var(--lmus-tap, 44px); }
}
.lmus-pl .lmus-pl-sel__actions { grid-template-columns: minmax(0, 1fr); }
.lmus-pl .lmus-pl-sel__notify, .lmus-pl .lmus-pl-sel__tools .lmus-btn { white-space: normal; min-width: 0; }
