.schedule-tools {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.schedule-month {
	padding: 8px 14px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--bg-1);
	font-size: 13px;
}

.schedule-grid {
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--bg-1);
	overflow: hidden;
}
.schedule-weekdays {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	border-bottom: 1px solid var(--border);
}
.schedule-weekday {
	padding: 12px 14px;
	font-size: 11px;
	color: var(--fg-mute);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	border-right: 1px solid var(--border);
	font-variant-numeric: tabular-nums;
}
.schedule-weekday:last-child {
	border-right: none;
}
.schedule-month-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}
.schedule-day {
	min-height: 110px;
	border-right: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
	padding: 8px 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	position: relative;
	cursor: pointer;
	transition: background 0.15s;
}
.schedule-day:hover {
	background: var(--bg-2);
}
.schedule-day.empty {
	background: var(--bg);
	opacity: 0.5;
	cursor: default;
}
.schedule-day.today {
	background: var(--glow-accent-soft);
	box-shadow: inset 0 0 0 2px var(--accent);
}
.schedule-day-h {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.schedule-day-n {
	font-size: 14px;
	font-weight: 500;
	color: var(--fg);
	letter-spacing: 0.02em;
}
.schedule-day.today .schedule-day-n {
	color: var(--accent);
}
.schedule-day-count {
	font-size: 10px;
	color: var(--fg-mute);
	padding: 1px 6px;
	border-radius: 100px;
	background: var(--bg-2);
}
.schedule-day-shifts {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.schedule-shift {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 3px 6px;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 500;
}
.schedule-shift-av {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 9px;
	color: #fff;
	font-weight: 600;
}
.schedule-shift.pc-1 {
	background: rgba(142, 93, 216, 0.16);
	color: oklch(0.45 0.13 295);
}
.schedule-shift.pc-1 .schedule-shift-av {
	background: oklch(0.55 0.16 295);
}
.schedule-shift.pc-2 {
	background: rgba(120, 180, 130, 0.16);
	color: oklch(0.42 0.13 145);
}
.schedule-shift.pc-2 .schedule-shift-av {
	background: oklch(0.55 0.16 145);
}
.schedule-shift.pc-3 {
	background: rgba(120, 180, 200, 0.16);
	color: oklch(0.42 0.1 200);
}
.schedule-shift.pc-3 .schedule-shift-av {
	background: oklch(0.55 0.12 200);
}
.schedule-shift.pc-4 {
	background: rgba(216, 100, 100, 0.16);
	color: oklch(0.5 0.14 25);
}
.schedule-shift.pc-4 .schedule-shift-av {
	background: oklch(0.62 0.16 25);
}
.schedule-shift.pc-5 {
	background: rgba(216, 165, 80, 0.18);
	color: oklch(0.5 0.13 70);
}
.schedule-shift.pc-5 .schedule-shift-av {
	background: oklch(0.65 0.14 70);
}
.schedule-shift.pc-6 {
	background: rgba(40, 30, 20, 0.08);
	color: var(--fg-dim);
}
.schedule-shift.pc-6 .schedule-shift-av {
	background: var(--fg);
	color: var(--bg);
}
[data-theme="dark"] .schedule-shift.pc-1 {
	color: oklch(0.8 0.13 295);
}
[data-theme="dark"] .schedule-shift.pc-2 {
	color: oklch(0.78 0.13 145);
}
[data-theme="dark"] .schedule-shift.pc-3 {
	color: oklch(0.78 0.1 200);
}
[data-theme="dark"] .schedule-shift.pc-4 {
	color: oklch(0.78 0.14 25);
}
[data-theme="dark"] .schedule-shift.pc-5 {
	color: oklch(0.82 0.13 80);
}
.schedule-now {
	font-size: 9px;
	color: var(--accent);
	margin-top: 2px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.schedule-legend {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	padding: 14px 18px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--bg-1);
}
.schedule-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--fg-dim);
}
.legend-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
}
.legend-dot.pc-1 {
	background: oklch(0.55 0.16 295);
}
.legend-dot.pc-2 {
	background: oklch(0.55 0.16 145);
}
.legend-dot.pc-3 {
	background: oklch(0.55 0.12 200);
}
.legend-dot.pc-4 {
	background: oklch(0.62 0.16 25);
}
.legend-dot.pc-5 {
	background: oklch(0.65 0.14 70);
}
.legend-dot.pc-6 {
	background: var(--fg);
}
