/* km Sports Courses – profile box, course overview, occupancy plan.
 * Theme it with custom properties on :root, e.g.
 * --kmsc-primary, --kmsc-dark, --kmsc-highlight, --kmsc-soft, --kmsc-line, --kmsc-radius, --kmsc-muted,
 * --kmsc-surface, --kmsc-font-heading and the icons --kmsc-i-users, -leaders, -calendar, -pin, -costs, -match. */
.kmsc-profile, .kmsc-overview, .kmsc-plan, .kmsc-preview {
	--_p: var(--kmsc-primary, var(--wp--preset--color--primary, #24539a));
	--_d: var(--kmsc-dark, #14304f);
	--_hl: var(--kmsc-highlight, #2e7524);
	--_soft: var(--kmsc-soft, #eef3fa);
	--_line: var(--kmsc-line, #dfe4ea);
	--_r: var(--kmsc-radius, 12px);
	--_muted: var(--kmsc-muted, #555e6b);
	--_surface: var(--kmsc-surface, #fff);
	--_fh: var(--kmsc-font-heading, inherit);
	--kmsc-i-users-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.2-5.5 6.5-5.5s5.9 1.9 6.5 5.5'/%3E%3Cpath d='M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14.8c2 .7 3.2 2.5 3.5 5.2'/%3E%3C/svg%3E");
	--kmsc-i-leaders-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='8' r='4'/%3E%3Cpath d='M3 21c.7-4 3.4-6 7-6 1.6 0 3 .4 4.1 1.2'/%3E%3Cpath d='m15.5 19 2 2 4-4'/%3E%3C/svg%3E");
	--kmsc-i-calendar-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
	--kmsc-i-pin-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
	--kmsc-i-costs-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4a1 1 0 0 1 1-1h8l9 9-9 9-9-9z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");
	--kmsc-i-match-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4z'/%3E%3Cpath d='M7 6H4a3 3 0 0 0 3 4M17 6h3a3 3 0 0 1-3 4'/%3E%3C/svg%3E");
}
.kmsc-profile .screen-reader-text, .kmsc-overview .screen-reader-text, .kmsc-plan .screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kmsc-ic-users { --_icon: var(--kmsc-i-users, var(--kmsc-i-users-default)); }
.kmsc-ic-leaders { --_icon: var(--kmsc-i-leaders, var(--kmsc-i-leaders-default)); }
.kmsc-ic-calendar { --_icon: var(--kmsc-i-calendar, var(--kmsc-i-calendar-default)); }
.kmsc-ic-pin { --_icon: var(--kmsc-i-pin, var(--kmsc-i-pin-default)); }
.kmsc-ic-costs { --_icon: var(--kmsc-i-costs, var(--kmsc-i-costs-default)); }
.kmsc-ic-match { --_icon: var(--kmsc-i-match, var(--kmsc-i-match-default)); }
.kmsc-profile [class*="kmsc-ic-"]::before, .kmsc-overview [class*="kmsc-ic-"]::before {
	content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; color: var(--_p);
	-webkit-mask: var(--_icon) center / contain no-repeat; mask: var(--_icon) center / contain no-repeat; background-color: currentColor;
}

/* ---------- Profile box ---------- */
.kmsc-profile { box-sizing: border-box; margin-block: 0 var(--wp--preset--spacing--50, 2rem); padding: 24px; border-radius: var(--_r); background: var(--_soft); }
.kmsc-profile p { margin: 0; }
.kmsc-profile__label { margin: 0 0 4px !important; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--_p); }
.kmsc-profile__sport { display: inline-block; margin: 0 0 14px !important; padding: 3px 12px; border-radius: 999px; background: var(--_p); color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.kmsc-profile__content { max-width: 70ch; }
.kmsc-profile__content > p:last-child { font-size: 1.125rem; }
.kmsc-profile__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 20px 32px; }
.kmsc-profile__content + .kmsc-profile__facts { margin-top: 24px; padding-top: 24px; border-top: 1px solid color-mix(in srgb, var(--_p) 18%, transparent); }
.kmsc-profile__fact { position: relative; padding-left: 34px; }
.kmsc-profile__fact::before { width: 22px !important; height: 22px !important; }
.kmsc-profile__fact--time_note { grid-column: 1 / -1; }
.kmsc-profile__season + .kmsc-profile__season { margin-top: 10px; }
.kmsc-profile__season-title { display: block; font-weight: 700; color: var(--_d); }
.kmsc-profile__season-title small { font-weight: 400; color: var(--_muted); }
.kmsc-profile__now { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--_hl); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; vertical-align: middle; }
.kmsc-profile__time-note { margin-top: 8px !important; color: var(--_muted); font-style: italic; }
.kmsc-profile__role { font-weight: 700; }
.kmsc-profile__role ~ .kmsc-profile__role { display: inline-block; margin-top: .5em; }
.kmsc-profile__match-label { font-weight: 700; }
.kmsc-profile__results { margin-top: 6px !important; }
.kmsc-profile__results a { font-weight: 700; color: var(--_p); }
.kmsc-profile__results a::after { content: " ↗"; }
@media (min-width: 782px) { .kmsc-profile { padding: 36px 44px; } }

/* ---------- Course overview ---------- */
.kmsc-overview__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: start; margin-bottom: var(--wp--preset--spacing--40, 1.5rem); }
.kmsc-overview__filters { display: grid; gap: 10px; grid-column: 1; grid-row: 1; }
.kmsc-overview__filter { display: flex; flex-wrap: wrap; gap: 8px; }
.kmsc-overview__filter[hidden] { display: none; }
.kmsc-overview__filter button { min-width: 48px; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--_line); background: var(--_surface); color: inherit; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.kmsc-overview__filter button:hover { border-color: var(--_p); color: var(--_p); }
.kmsc-overview__filter button[aria-pressed="true"] { background: var(--_p); border-color: var(--_p); color: #fff; }
.kmsc-overview__filter--sport button[aria-pressed="true"] { background: var(--_d); border-color: var(--_d); }
.kmsc-overview__filter--age button[aria-pressed="true"] { background: var(--_hl); border-color: var(--_hl); }
.kmsc-overview__count { grid-column: 2; grid-row: 1; margin: 0; padding: 8px 16px; border-radius: 999px; background: var(--_soft); color: var(--_d); font-size: .95rem; white-space: nowrap; }
.kmsc-overview__count strong { font-family: var(--_fh); font-size: 1.35rem; font-weight: 800; line-height: 1; color: var(--_p); }
.kmsc-overview__count small { color: var(--_muted); }
.kmsc-overview__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.kmsc-overview__item { position: relative; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 20px 22px; border: 1px solid var(--_line); border-radius: var(--_r); background: var(--_surface); transition: border-color .2s, box-shadow .2s; }
.kmsc-overview__item[hidden] { display: none; }
.kmsc-overview__item:has(a:hover) { border-color: var(--_p); box-shadow: 0 10px 24px rgba(15, 42, 75, .08); }
.kmsc-overview__sport { margin: 0 !important; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--_p); }
.kmsc-overview__age { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: var(--_soft); color: var(--_d); font-size: .65rem; letter-spacing: .04em; vertical-align: 1px; }
.kmsc-overview__title { margin: 0 0 4px; font-size: 1.4rem; }
.kmsc-overview__title a { color: inherit; text-decoration: none; }
.kmsc-overview__title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--_r); } /* whole card clickable */
.kmsc-overview__title a:focus-visible { outline: none; }
.kmsc-overview__item:has(.kmsc-overview__title a:focus-visible) { outline: 3px solid var(--_p); outline-offset: 2px; }
.kmsc-overview__meta, .kmsc-overview__times { position: relative; margin: 0; padding-left: 28px; font-size: .95rem; line-height: 1.45; color: var(--_muted); }
.kmsc-overview__meta::before, .kmsc-overview__times::before { width: 18px !important; height: 18px !important; }
.kmsc-overview__times small { display: block; font-size: .75rem; color: var(--_muted); }
.kmsc-overview__empty { padding: 16px 0; color: var(--_muted); }
@media (max-width: 781px) {
	.kmsc-overview__head { grid-template-columns: 1fr; }
	.kmsc-overview__count { grid-column: 1; grid-row: 2; justify-self: end; }
}

/* ---------- Occupancy plan ---------- */
.kmsc-plan { --kmsc-plan-row: 5px; margin-block: var(--wp--preset--spacing--40, 1.5rem); }
.kmsc-plan.alignwide { max-width: min(1600px, 100%) !important; }
.kmsc-cat--other { background: #f1f3f6; color: #3f4855; }
.kmsc-plan__tools { display: grid; gap: 12px; margin-bottom: 16px; }
.kmsc-plan__facilities { display: flex; gap: 0; border-bottom: 2px solid var(--_line); overflow-x: auto; scrollbar-width: none; }
.kmsc-plan__facilities[hidden], .kmsc-plan__seasons[hidden] { display: none; }
.kmsc-plan__facilities button { flex: none; margin-bottom: -2px; padding: 10px 18px; border: 0; border-bottom: 3px solid transparent; background: none; font: inherit; font-family: var(--_fh); font-size: 1.15rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; color: var(--_muted); cursor: pointer; }
.kmsc-plan__facilities button[aria-selected="true"] { border-bottom-color: var(--_p); color: var(--_p); }
.kmsc-plan__seasons { display: inline-flex; width: fit-content; padding: 3px; border-radius: 999px; background: #f1f3f6; }
.kmsc-plan__seasons button { min-height: 38px; padding: 6px 16px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: .9rem; font-weight: 600; color: inherit; cursor: pointer; }
.kmsc-plan__seasons button small { margin-left: 4px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.kmsc-plan__seasons button[aria-pressed="true"] { background: var(--_surface); color: var(--_p); box-shadow: 0 1px 4px rgba(15, 42, 75, .15); }
.kmsc-plan__days { display: none; gap: 6px; }
.kmsc-plan__days button { position: relative; flex: 1 1 0; min-height: 44px; border: 1px solid var(--_line); border-radius: 999px; background: var(--_surface); font: inherit; font-weight: 700; color: inherit; cursor: pointer; }
.kmsc-plan__days button[aria-selected="true"] { background: var(--_p); border-color: var(--_p); color: #fff; }
.kmsc-plan__days button.is-today::after { content: ""; position: absolute; left: 50%; bottom: 5px; width: 5px; height: 5px; margin-left: -2.5px; border-radius: 50%; background: var(--_hl); }
.kmsc-plan__legend { display: flex; flex-wrap: wrap; gap: 6px; }
.kmsc-plan__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 6px 12px 6px 8px; border: 1px solid var(--_line); border-radius: 999px; background: var(--_surface); font: inherit; font-size: .82rem; color: inherit; cursor: pointer; }
.kmsc-plan__chip i { box-sizing: border-box; width: 16px; height: 16px; border-radius: 4px; flex: none; }
.kmsc-plan__chip:hover { border-color: var(--_p); }
.kmsc-plan__chip[aria-pressed="true"] { border-color: var(--_p); box-shadow: inset 0 0 0 1px var(--_p); background: var(--_soft); font-weight: 600; }
.kmsc-plan__facility + .kmsc-plan__facility { margin-top: var(--wp--preset--spacing--50, 2rem); }
.kmsc-plan.is-js .kmsc-plan__facility + .kmsc-plan__facility { margin-top: 0; }
.kmsc-plan__facility-title { margin: 0 0 10px; font-size: 1.3rem; }
.kmsc-plan.is-js:has(.kmsc-plan__facilities) .kmsc-plan__facility-title { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kmsc-plan[data-season="summer"] [data-season="winter"], .kmsc-plan[data-season="winter"] [data-season="summer"] { display: none !important; }

/* Grid */
.kmsc-plan__scroll { overflow-x: auto; border: 1px solid var(--_line); border-radius: var(--_r); background: var(--_surface); }
.kmsc-plan__grid { display: grid; grid-template-columns: 3rem repeat(7, minmax(0, 1fr)); }
.kmsc-plan__axis, .kmsc-plan__day { display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.kmsc-plan__day { border-left: 2px solid var(--_line); }
.kmsc-plan__head { position: sticky; top: 0; z-index: 4; background: var(--_surface); border-bottom: 1px solid var(--_line); }
.kmsc-plan__dayname { margin: 0; padding: 10px 6px 4px; font-size: 1rem; text-align: center; letter-spacing: .02em; }
.kmsc-plan__today { display: none; margin-left: 6px; padding: 1px 6px; border-radius: 999px; background: var(--_hl); color: #fff; font: 600 .62rem/1.5 inherit; letter-spacing: .04em; text-transform: uppercase; vertical-align: middle; }
.kmsc-plan__day.is-today .kmsc-plan__dayname { color: var(--_p); }
.kmsc-plan__day.is-today .kmsc-plan__today { display: inline-block; }
.kmsc-plan__lanes { display: grid; grid-template-columns: repeat(var(--kmsc-plan-lanes, 3), minmax(0, 1fr)); padding-bottom: 6px; font-size: .66rem; color: var(--_muted); text-align: center; }
.kmsc-plan__body {
	position: relative; display: grid; grid-template-columns: repeat(var(--kmsc-plan-lanes, 3), minmax(0, 1fr)); grid-template-rows: repeat(var(--kmsc-plan-rows), var(--kmsc-plan-row));
	margin: 0; padding: 0; list-style: none;
	background-image: linear-gradient(to bottom, #e9edf2 0 1px, transparent 1px), linear-gradient(to right, #eef1f5 0 1px, transparent 1px);
	background-size: 100% calc(var(--kmsc-plan-row) * 12), calc(100% / var(--kmsc-plan-lanes, 3)) 100%;
}
.kmsc-plan__axis .kmsc-plan__body { grid-template-columns: 1fr; background: none; }
.kmsc-plan__day .kmsc-plan__body { background-position: 0 0, -1px 0; }
.kmsc-plan__axis .kmsc-plan__body span { align-self: start; margin-top: -.55em; padding-right: 6px; font-size: .68rem; font-variant-numeric: tabular-nums; color: var(--_muted); text-align: right; }
.kmsc-plan__axis .kmsc-plan__body span:first-child { margin-top: 2px; }
.kmsc-plan__item { position: relative; min-height: 0; margin: 1px; transition: opacity .2s, filter .2s; }
.kmsc-plan__box { box-sizing: border-box; display: block; height: 100%; border-radius: 6px; padding: 4px 6px; overflow: hidden; text-decoration: none; font-size: .7rem; line-height: 1.18; hyphens: auto; }
.kmsc-plan__box strong { display: block; font-weight: 700; -webkit-hyphens: auto; hyphens: auto; }
a.kmsc-plan__box strong { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.kmsc-plan__time { display: block; font-variant-numeric: tabular-nums; }
.kmsc-plan__note { display: block; margin-top: 2px; font-size: .64rem; }
.kmsc-plan__item.is-short .kmsc-plan__note { display: none; }
.kmsc-plan__season-mark { margin-left: 3px; font-weight: 400; }
/* Simultaneous in the same area: side by side */
.kmsc-plan[data-season="summer"] .kmsc-plan__item.is-split-s { justify-self: start; width: calc(100% / var(--ks) - 2px); margin-left: calc(100% * var(--ts) / var(--ks) + 1px); }
.kmsc-plan[data-season="winter"] .kmsc-plan__item.is-split-w { justify-self: start; width: calc(100% / var(--kw) - 2px); margin-left: calc(100% * var(--tw) / var(--kw) + 1px); }
.kmsc-plan__item.is-narrow .kmsc-plan__box { padding: 3px 4px; font-size: .64rem; }
.kmsc-plan__item.is-narrow.is-short .kmsc-plan__time { display: none; }
/* Hover/focus: show the whole text */
.kmsc-plan__item:is(:hover, :focus-within) { z-index: 5; }
.kmsc-plan__item:is(:hover, :focus-within) .kmsc-plan__time, .kmsc-plan__item:is(:hover, :focus-within) .kmsc-plan__note { display: block; }
.kmsc-plan__item:is(:hover, :focus-within) .kmsc-plan__box { position: absolute; top: 0; left: 0; height: auto; min-height: 100%; min-width: 100%; width: max-content; max-width: 15rem; box-shadow: 0 10px 24px rgba(15, 42, 75, .25); }
.kmsc-plan.is-filtered .kmsc-plan__item:not(.is-match) { opacity: .16; filter: grayscale(1); }
.kmsc-plan__item.is-now .kmsc-plan__box { outline: 2px solid var(--_hl); outline-offset: 1px; }
.kmsc-plan__now { position: absolute; left: 0; right: 0; z-index: 6; height: 2px; background: var(--_hl); pointer-events: none; }
.kmsc-plan__now::before { content: ""; position: absolute; left: -5px; top: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--_hl); }
.kmsc-plan__foot { margin: 12px 0 0; font-size: .85rem; color: var(--_muted); }
.kmsc-plan__table { margin-top: 12px; }
.kmsc-plan__table summary { cursor: pointer; font-weight: 600; color: var(--_p); }
.kmsc-plan__table .wp-block-table { margin-top: 12px; overflow-x: auto; }
.kmsc-plan__table table { font-size: .85rem; border-collapse: collapse; width: 100%; }
.kmsc-plan__table :is(th, td) { padding: 6px 10px; border-bottom: 1px solid var(--_line); text-align: left; white-space: nowrap; }
.kmsc-plan__daybar { display: contents; }
.kmsc-plan__daystep, .kmsc-plan__daynav { display: none; }

/* Phones & tablets: one day, with tabs */
@media (max-width: 899px) {
	.kmsc-plan { --kmsc-plan-row: 6px; }
	.kmsc-plan.is-js .kmsc-plan__days { display: flex; }
	.kmsc-plan.is-js .kmsc-plan__grid { grid-template-columns: 2.6rem minmax(0, 1fr); min-width: 0 !important; }
	.kmsc-plan.is-js .kmsc-plan__day:not(.is-active) { display: none; }
	.kmsc-plan.is-js .kmsc-plan__day { border-left: 0; }
	.kmsc-plan.is-js .kmsc-plan__dayname { text-align: left; padding-left: 8px; font-size: 1.15rem; }
	.kmsc-plan.is-js .kmsc-plan__lanes { font-size: .75rem; font-weight: 600; }
	.kmsc-plan.is-js .kmsc-plan__box { font-size: .8rem; padding: 5px 8px; }
	.kmsc-plan.is-js .kmsc-plan__note { font-size: .72rem; }
	.kmsc-plan__legend { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
	.kmsc-plan__legend::-webkit-scrollbar { display: none; }
	.kmsc-plan__chip { flex: none; }
	.kmsc-plan__facilities button { padding: 10px 12px; font-size: 1rem; }
	.kmsc-plan.is-js .kmsc-plan__daybar { display: flex; align-items: center; gap: 6px; padding: 6px 6px 0; }
	.kmsc-plan.is-js .kmsc-plan__daybar .kmsc-plan__dayname { flex: 1; padding: 4px 0 0; text-align: center; }
	.kmsc-plan.is-js .kmsc-plan__daystep:not(.is-bottom) { display: grid; place-items: center; flex: none; width: 40px; height: 40px; padding: 0; border: 1px solid var(--_line); border-radius: 50%; background: var(--_surface); color: var(--_p); font: 700 1.4rem/1 inherit; cursor: pointer; }
	.kmsc-plan.is-js .kmsc-plan__daystep:active { background: var(--_soft); }
	.kmsc-plan.is-js .kmsc-plan__daynav { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
	.kmsc-plan.is-js .kmsc-plan__daystep.is-bottom { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px; border: 1px solid var(--_line); border-radius: 999px; background: var(--_surface); color: var(--_p); font: 700 .95rem/1.2 inherit; cursor: pointer; }
	.kmsc-plan.is-js .kmsc-plan__daystep.is-bottom span { font-size: 1.3rem; line-height: 1; }
}
@media (prefers-reduced-motion: reduce) {
	.kmsc-overview__item, .kmsc-plan__item { transition: none; }
}

/* ---------- Editor: preview of the profile below the title, block hints ---------- */
.kmsc-preview { max-width: var(--wp--style--global--wide-size, 1240px); margin: 0 auto 24px; border: 2px dashed color-mix(in srgb, var(--_p) 35%, transparent); border-radius: var(--_r); user-select: none; }
.kmsc-preview[hidden] { display: none; }
.kmsc-preview__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 12px; background: color-mix(in srgb, var(--_p) 8%, transparent); color: var(--_d); font: 600 12px/1.4 system-ui, sans-serif; }
.kmsc-preview__edit { padding: 4px 10px; border: 1px solid var(--_p); border-radius: 4px; background: #fff; color: var(--_p); font: 600 12px/1.4 system-ui, sans-serif; cursor: pointer; }
.kmsc-preview__body { pointer-events: none; }
.kmsc-preview__body .kmsc-profile { margin: 0; }
.kmsc-plan-editor__hint, .kmsc-overview-editor__hint { margin: 0 0 8px; padding: 8px 12px; border-radius: 6px; background: #eef3fa; font-size: 13px; }
