/* Shared registration swatches and month/week calendar colors. */
.schedule-pastel-0,#calendar .event-color-0{--schedule-bg:#dcebf8;--schedule-border:#94b9d8;--schedule-ink:#314e68}
.schedule-pastel-1,#calendar .event-color-1{--schedule-bg:#dcefe5;--schedule-border:#8fc4aa;--schedule-ink:#305d49}
.schedule-pastel-2,#calendar .event-color-2{--schedule-bg:#faf0cb;--schedule-border:#d8c479;--schedule-ink:#685721}
.schedule-pastel-3,#calendar .event-color-3{--schedule-bg:#f8e2da;--schedule-border:#d9aa97;--schedule-ink:#714d3e}
.schedule-pastel-4,#calendar .event-color-4{--schedule-bg:#ebe2f6;--schedule-border:#b9a2d4;--schedule-ink:#584773}
#calendar .fc-event{background:var(--schedule-bg,#dcebf8);border-color:var(--schedule-border,#94b9d8);color:var(--schedule-ink,#314e68)}
#calendar .fc-event .fc-event-main,#calendar .fc-event .fc-event-title,#calendar .fc-event .fc-event-time{color:inherit}
#calendar .fc-daygrid-event-dot{border-color:var(--schedule-border,#94b9d8)}
.schedule-color-guide{display:grid;gap:4px}.schedule-color-guide>span{font-size:11px;color:#6b766b}
.schedule-color-legend{display:flex;flex-wrap:wrap;gap:8px 14px}.schedule-color-legend>span{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#526151;white-space:nowrap}
.schedule-color-legend i{width:12px;height:12px;border-radius:50%;background:var(--schedule-bg);border:1px solid var(--schedule-border)}
.schedule-color-field{min-width:0;margin:0;padding:20px;border:1px solid #dbe3d4;border-radius:8px;background:#f8faf5}
.schedule-color-field legend{padding:0 8px;font-size:13px;font-weight:650;color:#44513e;letter-spacing:0;text-transform:none}
.schedule-color-field legend span{margin-left:10px;font-size:9px;letter-spacing:1.4px;color:#687561;font-weight:500}
#schedule-color-help{margin:0 0 16px;color:#687561;font-size:12px;line-height:1.7;word-break:keep-all}
.schedule-color-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.schedule-color-option{position:relative;margin:0;cursor:pointer;letter-spacing:0;text-transform:none}
.schedule-color-option input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.schedule-color-chip{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px 8px;background:var(--schedule-bg);color:var(--schedule-ink);border:2px solid transparent;border-radius:7px;font-size:12px;font-weight:600;transition:box-shadow .15s}
.schedule-color-swatch{display:none}.color-auto{background:#eceee9;color:#465042}.color-auto .schedule-color-swatch{display:block;width:14px;height:14px;border-radius:50%;background:conic-gradient(#94b9d8 0 72deg,#8fc4aa 72deg 144deg,#d8c479 144deg 216deg,#d9aa97 216deg 288deg,#b9a2d4 288deg)}
.schedule-color-check{visibility:hidden;font-size:13px}.schedule-color-option input:checked+.schedule-color-chip{border-color:var(--schedule-ink,#465042);box-shadow:0 0 0 2px #fff}.schedule-color-option input:checked+.schedule-color-chip .schedule-color-check{visibility:visible}
.schedule-color-option input:focus-visible+.schedule-color-chip{outline:3px solid #52675b;outline-offset:4px}.schedule-color-option:hover .schedule-color-chip{box-shadow:0 0 0 2px #a5b29d}
.schedule-color-preview{display:flex;align-items:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid #dbe3d4}.schedule-color-preview>span:first-child{color:#687561;font-size:11px;white-space:nowrap}
.schedule-preview-event{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;width:320px;max-width:100%;padding:8px 12px;border:1px solid var(--schedule-border);border-left-width:4px;border-radius:5px;background:var(--schedule-bg);color:var(--schedule-ink);font-size:12px;font-weight:600}
#schedule-color-preview-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-preview-event small{white-space:nowrap;font-size:10px;font-weight:400}
@media(max-width:760px){.schedule-color-field{padding:16px 12px}.schedule-color-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.schedule-color-preview{align-items:flex-start;flex-direction:column;gap:8px}.schedule-preview-event{width:100%}.schedule-color-legend{gap:8px 12px}}
@media print{.schedule-color-field,.schedule-color-field legend,#schedule-color-help,.schedule-color-preview>span:first-child{color:#333}.schedule-color-chip,.schedule-preview-event,#calendar .fc-event{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
