.cr-shell{--cr-blue:#022a8f;--cr-yellow:#ffc515;--cr-line:#e3e9f4;color:#112b67;font-family:Inter,"Noto Sans Thai","Segoe UI",Tahoma,sans-serif}.cr-public{max-width:1220px;margin:70px auto;padding:0 24px}.cr-public .cr-kicker{font-size:12px;letter-spacing:2px;font-weight:800;color:#74809b}.cr-public h2{font-size:32px;margin:8px 0 12px}.cr-public>p{color:#74809b}.cr-box{border:1px solid var(--cr-line);border-radius:24px;background:#fff;padding:28px;box-shadow:0 14px 40px #022a8f08}.cr-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:28px;align-items:start}.cr-month-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.cr-month-head h3{margin:0;font-size:19px}.cr-shell .cr-month-head button{border:1px solid var(--cr-line);border-radius:10px;background:white;color:var(--cr-blue);width:42px;height:42px;padding:0;font-size:24px;cursor:pointer}.cr-weekdays,.cr-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cr-weekdays{text-align:center;font-size:12px;color:#74809b;margin-bottom:10px}.cr-shell .cr-day{position:relative;min-width:0;min-height:62px;border:1px solid var(--cr-line);border-radius:10px;background:#fff;color:#112b67;padding:9px 2px;font:inherit;font-size:14px;cursor:pointer}.cr-shell .cr-day:hover{border-color:var(--cr-blue);background:#f3f6ff}.cr-shell .cr-day.is-selected{background:var(--cr-blue);color:#fff;border-color:var(--cr-blue)}.cr-shell .cr-day.is-start{box-shadow:inset 0 0 0 2px var(--cr-yellow)}.cr-shell .cr-day:disabled{opacity:.55;cursor:default}.cr-dots{display:flex;justify-content:center;gap:4px;margin-top:5px}.cr-dot{width:6px;height:6px;border-radius:50%;background:#022a8f}.cr-dot.bo{background:#bd7a00}.cr-day.is-selected .cr-dot{background:#fff}.cr-list{display:grid;gap:14px;max-height:530px;overflow:auto}.cr-round{border:1px solid var(--cr-line);border-radius:16px;padding:18px;background:#f9fbff}.cr-round-top{display:flex;align-items:center;gap:12px}.cr-round img{width:62px;height:62px;object-fit:contain}.cr-round h3{margin:0;font-size:16px}.cr-round small{font-size:12px;color:#74809b}.cr-round p{font-size:14px;margin:12px 0;color:#4d5974}.cr-round a{display:inline-flex;min-height:40px;align-items:center;font-size:14px;font-weight:700;color:var(--cr-blue)}.cr-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.cr-shell .cr-filter{border:1px solid var(--cr-line);border-radius:999px;background:#fff;color:var(--cr-blue);padding:10px 16px;font:inherit;font-size:13px;cursor:pointer}.cr-shell .cr-filter[aria-pressed=true]{background:var(--cr-blue);color:#fff}.cr-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:#74809b;margin-top:16px}.cr-legend span{display:inline-flex;align-items:center;gap:5px}.cr-legend .cr-start-key{width:12px;height:12px;border:2px solid var(--cr-yellow);border-radius:3px}.cr-admin{margin-bottom:28px}.cr-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:0;padding:0;margin:20px 0}.cr-types legend{font-size:16px;font-weight:700;margin-bottom:12px}.cr-types .cr-type{display:grid;justify-items:center;text-align:center;gap:8px;border:1px solid var(--cr-line);border-radius:16px;padding:18px;margin:0;cursor:pointer}.cr-type:has(input:checked){border-color:var(--cr-blue);background:#f3f6ff;box-shadow:inset 0 0 0 1px var(--cr-blue)}.cr-type input{width:18px;height:18px;padding:0}.cr-type img{height:90px;width:90px;object-fit:contain}.cr-type small{font-weight:400;color:#74809b}.cr-settings{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:18px}.cr-preview{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:#edf3ff;border-radius:12px;margin:20px 0}.cr-preview span{font-size:13px}.cr-selected{padding-left:24px;max-height:380px;overflow:auto;font-size:14px}.cr-selected li{padding:7px 0}.cr-shell .cr-remove{border:0;background:#edf3ff;color:#022a8f;padding:2px 10px;font-size:18px;cursor:pointer}.cr-shell button:focus-visible,.cr-shell a:focus-visible{outline:3px solid var(--cr-yellow);outline-offset:2px}.cr-admin #cr-editor{scroll-margin-top:100px}.cr-admin table{margin-top:24px}@media(max-width:760px){.cr-layout{grid-template-columns:1fr}.cr-public{padding:0 16px;margin:45px auto}.cr-public h2{font-size:26px}.cr-box{padding:18px}.cr-shell .cr-day{min-height:48px;font-size:13px}.cr-calendar,.cr-weekdays{gap:4px}.cr-settings{grid-template-columns:1fr}.cr-types{gap:8px}.cr-types .cr-type{padding:12px 8px;font-size:13px}.cr-list{max-height:none}}
.build-main section.cr-public{padding:0 24px}
.cr-public .cr-round-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:20px 0}
.cr-public .cr-pick-round{display:flex;align-items:center;gap:14px;min-width:0;padding:16px;border:2px solid var(--cr-line);border-radius:16px;background:#fff;color:#112b67;text-align:left;font:inherit;cursor:pointer}

.cr-pick-round img{flex-shrink:0;width:56px;height:56px;object-fit:contain}.cr-pick-round span{min-width:0}.cr-pick-round strong,.cr-pick-round small{display:block;overflow-wrap:anywhere}.cr-pick-round strong{font-size:15px;line-height:1.5}.cr-pick-round small{margin-top:6px;font-size:12px;color:#4d5974;line-height:1.7}
.cr-public .cr-box{padding:24px}.cr-active-round{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--cr-line)}.cr-active-round strong{font-size:19px}.cr-active-round span{font-size:13px;color:#4d5974}
.cr-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.cr-mini-month{min-width:0}.cr-mini-month h4{text-align:center;font-size:16px;margin:0 0 18px}.cr-public .cr-month-head h3{font-size:15px;text-align:center;line-height:1.6}
.cr-mini-day{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:42px;border-radius:8px;background:#f7f9fd;color:#74809b;font-size:13px;line-height:1.4;font-weight:500}.cr-mini-day[aria-hidden=true]{background:transparent}.cr-mini-day small{font-size:8px;line-height:1.2;font-weight:500;white-space:nowrap;letter-spacing:-.15px}.cr-mini-day.is-class{background:#ffc515;color:#112b67;font-weight:800}.cr-mini-day.is-first{background:#ffc515;color:#112b67;font-weight:800}
.cr-key-class,.cr-key-first{display:inline-block;width:14px;height:14px;border-radius:4px;background:#ffc515}.cr-key-first{background:#ffc515}.cr-public .cr-legend{margin-top:24px;color:#4d5974}.cr-all-dates{margin-top:20px;font-size:13px;line-height:1.8}.cr-all-dates summary{cursor:pointer;font-weight:600;color:#022a8f}.cr-enquire{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font-size:14px;font-weight:700;color:#022a8f}
@media(max-width:1199px){.cr-months{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cr-public .cr-box{padding:18px}.cr-mini-day{min-height:38px;font-size:12px}}
@media(max-width:620px){.cr-months{grid-template-columns:1fr;gap:26px}.cr-mini-month{max-width:360px;width:100%;margin:0 auto}.cr-mini-day{min-height:42px}.cr-active-round{align-items:flex-start;flex-direction:column}.cr-public .cr-round-picker{grid-template-columns:1fr}}
@media(max-width:760px){.build-main section.cr-public{padding:0 16px}}

.cr-public .cr-all-dates{border:1px solid #e0e7f3;border-radius:12px;overflow:hidden;background:#f8faff}.cr-public .cr-all-dates summary{padding:13px 16px;background:#fff5cf;color:#022a8f;font-size:14px;font-weight:700}.cr-public .cr-all-dates summary:focus-visible{outline:3px solid #ffc515;outline-offset:-3px}.cr-public .cr-date-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:16px;margin:0}.cr-public .cr-date-card{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid #dce5f3;border-left:4px solid #ffc515;border-radius:10px;background:#fff;padding:14px 16px;line-height:1.6}.cr-date-number{color:#022a8f;font-size:14px}.cr-date-day{color:#263c66;font-size:14px}.cr-date-time{font-size:13px;color:#5e6e89;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cr-date-status{align-self:flex-start;padding:2px 8px;border-radius:6px;background:#edf3ff;color:#315587;font-size:11px}.cr-date-card[data-state=pending] .cr-date-status{background:#fff0cc;color:#805400}.cr-date-card[data-state=cancelled]{border-left-color:#c5cedb}.cr-date-card[data-state=cancelled] .cr-date-status{background:#f1f3f7;color:#69778c}@media(max-width:900px){.cr-public .cr-date-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cr-public .cr-date-list{grid-template-columns:1fr;padding:12px;gap:10px}.cr-public .cr-date-card{padding:12px 14px}}

.cr-types{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}#cr-private-duration{margin:18px 0;padding:14px 16px;background:#eef8f4;border:1px solid #cfe8dc;border-radius:10px}#cr-private-duration[hidden]{display:none}#cr-private-duration label{margin:0}#cr-duration{max-width:180px;display:block;margin-top:6px}#cr-private-duration p{margin:8px 0 0}

.cr-shell .cr-selected{display:grid;gap:10px;list-style:none;padding:3px;margin:14px 0;max-height:400px;overflow:auto}.cr-shell .cr-selected li{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #dce5f4;border-radius:12px;background:#f5f8ff;box-shadow:0 2px 5px #022a8f05}.cr-selected-number{display:grid;place-items:center;flex:0 0 28px;height:28px;background:#ffc515;color:#022a8f;border-radius:8px;font-size:12px;font-weight:700}.cr-shell .cr-selected-date{flex:1;min-width:0;padding:8px 0;background:transparent;color:#022a8f;font-size:14px;font-weight:600;text-align:left;line-height:1.5;white-space:normal}.cr-shell .cr-selected-date:hover{color:#001954;text-decoration:underline}.cr-shell .cr-selected .cr-remove{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;margin-left:auto;padding:0;border:1px solid #dce5f4;border-radius:10px;background:#fff;color:#31558e;font-size:22px;line-height:1}.cr-shell .cr-selected .cr-remove:hover:not(:disabled){background:#fff0ef;border-color:#efb7b1;color:#b52f25}.cr-shell .cr-selected .cr-remove:disabled{opacity:.4;cursor:default}
.cr-admin .cr-create-callout{border:1px solid #f1d777;border-left:4px solid var(--cr-yellow);border-radius:12px;background:#fffbee;padding:22px 24px;margin-bottom:24px}.cr-admin .cr-create-callout .toolbar{margin-bottom:12px}.cr-admin .cr-create-callout h2{margin-bottom:0}.cr-admin .cr-create-callout>p{margin:0;color:#52658a}.cr-admin .cr-create-button{background:var(--cr-yellow);color:var(--cr-blue);border:1px solid #e8b000;border-radius:8px;padding:12px 20px;box-shadow:0 3px 8px #b886001a}.cr-admin .cr-create-button:hover{background:#f3b900}.cr-admin .cr-create-button:focus-visible{outline:3px solid var(--cr-blue);outline-offset:3px}@media(max-width:600px){.cr-admin .cr-create-callout{padding:18px 16px}.cr-admin .cr-create-callout .toolbar{align-items:flex-start;gap:18px}.cr-admin .cr-create-button{width:100%}}
.cr-admin #cr-form>.actions>button[type=submit]{background:#16803c;color:#fff}.cr-admin #cr-form>.actions>button[type=submit]:hover{background:#116530}.cr-admin #cr-cancel{background:#dc2626;color:#fff}.cr-admin #cr-cancel:hover{background:#b91c1c}
.cr-admin .cr-day.is-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#eaf3ff;color:#163d7c;border:2px solid var(--cr-selection-color,#2473c5)}.cr-admin .cr-day.is-selected:hover{background:#dcecff;border-color:var(--cr-selection-color,#2473c5)}.cr-day-code{display:block;max-width:100%;font-size:9px;font-weight:700;line-height:1.4;overflow-wrap:anywhere;padding:0 2px}
.cr-admin .cr-existing-hint{grid-column:1/-1;margin:0 0 12px}.cr-admin .cr-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;min-height:76px}.cr-existing-badges{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0}.cr-existing-badge{display:block;max-width:100%;border:1px solid #b9cbed;border-radius:4px;padding:1px 3px;background:#eaf1ff;color:#163d7c;font-size:9px;line-height:1.4;white-space:nowrap}.cr-existing-more{font-size:9px;line-height:1.4}.cr-existing-detail{white-space:pre-line;background:#f2f6ff;border:1px solid #d5dff0;border-radius:8px;padding:12px;font-size:12px;color:#163d7c;overflow-wrap:anywhere}.cr-existing-detail[hidden]{display:none}
.cr-admin .cr-day.is-selected{justify-content:flex-start}.cr-admin .cr-existing-badges{margin-top:2px}.cr-admin .cr-existing-badge{width:100%;font-size:9px;text-align:center}
.cr-private-status-hint{display:block;font-size:12px;font-weight:400;line-height:1.6;color:#52658a;margin-top:8px;max-width:300px}.cr-private-status-hint[hidden]{display:none}
.cr-recommended-colors{display:block!important;flex-basis:100%;width:100%;box-sizing:border-box;margin-top:12px}.cr-recommended-colors>strong{display:block;font-size:13px;color:#112b67}.cr-recommended-colors>small{display:block;margin:5px 0 10px;color:#657896;font-size:11px;line-height:1.5}.cr-recommended-colors .cr-color-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-width:680px}.cr-shell .cr-recommended-colors .cr-color-swatch,.cr-recommended-colors .cr-color-swatch{display:flex;flex-direction:column;align-items:stretch;gap:5px;width:auto;height:auto;min-height:0;border:1px solid #dce5f3;border-radius:8px;padding:5px;background:#fff;color:#112b67;font-size:10px;line-height:1.4;box-shadow:none;text-align:center}.cr-recommended-colors .cr-color-swatch[aria-pressed=true]{outline:2px solid #022a8f;outline-offset:1px;border-color:#022a8f;background:#f5f8ff}.cr-pastel-preview{display:grid;place-items:center;height:30px;border-radius:5px;background:var(--swatch-color);font-size:15px;font-weight:700}.cr-recommended-colors .cr-color-in-use{font-size:9px;color:#8a520b;background:#fff0ce;border-radius:4px;padding:2px 3px}.cr-recommended-colors .cr-color-available{font-size:9px;color:#387454;padding:2px 3px}.cr-selected-color-usage{font-size:12px;line-height:1.7;color:#53617c;overflow-wrap:anywhere;margin:10px 0 0}@media(max-width:500px){.cr-recommended-colors .cr-color-swatches{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Public round cards use the saved Admin color. */
.cr-public .cr-pick-round {position:relative;padding-right:48px;background:var(--cr-round-color,#fff);color:var(--cr-round-ink,#112b67)}
/* aria-pressed is the single selection state for both the badge and assistive technology. */
.cr-public .cr-pick-round[aria-pressed=true]::after {
  content:"\2713";
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  color:var(--cr-blue);
  font:800 17px/1 var(--pm-font-body, sans-serif);
  box-shadow:0 2px 6px #112b6718;
  pointer-events:none;
}

.cr-public .cr-pick-round small {color:var(--cr-round-ink,#4d5974)}

/* White circular backing keeps course logos clear on Admin-selected colors. */
.cr-public .cr-pick-round img {
  box-sizing: border-box;
  border-radius: 50%;
  background: #fff;
  padding: 4px;
}

/* The selected round colors its lesson dates. */

.cr-public .cr-mini-day.is-class,
.cr-public .cr-mini-day.is-first {
  background: var(--cr-round-color,var(--cr-yellow));
  color: var(--cr-round-ink,#112b67);
}
.cr-public .cr-key-class,
.cr-public .cr-key-first {
  background: var(--cr-round-color,var(--cr-yellow));
}
.cr-public .cr-date-card {border-left-color:var(--cr-round-color,var(--cr-yellow))}
.cr-public .cr-date-card[data-state=cancelled] {border-left-color:#c5cedb}
