.shift.R,.shift.D{background:var(--shift-work-background,#e1f5ea);color:var(--shift-work-text,#248359)}
.shift.R.is-duty,.shift.D.is-duty{background:var(--shift-workDuty-background,#e1f5ea);color:var(--shift-workDuty-text,#248359)}
.shift.Z{background:var(--shift-parts-background,#e3efff);color:var(--shift-parts-text,#2e5fa4)}
.shift.Z.is-duty{background:var(--shift-partsDuty-background,#e3efff);color:var(--shift-partsDuty-text,#2e5fa4)}
.shift.V{background:var(--shift-off-background,#f0f3f8);color:var(--shift-off-text,#7f8b9f)}
.shift.O{background:var(--shift-leave-background,#fff1d8);color:var(--shift-leave-text,#b07b25)}
.shift.B{background:var(--shift-sick-background,#ffe9eb);color:var(--shift-sick-text,#c36570)}
.shift.X{background:var(--shift-other-background,#f1eafa);color:var(--shift-other-text,#9468b4)}
.shift.empty{background:var(--shift-empty-background,transparent);color:var(--shift-empty-text,#c4cdda)}
.shift.R,.shift.D{border:var(--shift-work-border-width,0px) var(--shift-work-border-style,solid) var(--shift-work-border-color,#248359)}
.shift.R.is-duty,.shift.D.is-duty{border:var(--shift-workDuty-border-width,0px) var(--shift-workDuty-border-style,solid) var(--shift-workDuty-border-color,#1d3f8b)}
.shift.Z{border:var(--shift-parts-border-width,0px) var(--shift-parts-border-style,solid) var(--shift-parts-border-color,#2e5fa4)}
.shift.Z.is-duty{border:var(--shift-partsDuty-border-width,0px) var(--shift-partsDuty-border-style,solid) var(--shift-partsDuty-border-color,#1d3f8b)}
.shift.V{border:var(--shift-off-border-width,0px) var(--shift-off-border-style,solid) var(--shift-off-border-color,#7f8b9f)}
.shift.O{border:var(--shift-leave-border-width,0px) var(--shift-leave-border-style,solid) var(--shift-leave-border-color,#b07b25)}
.shift.B{border:var(--shift-sick-border-width,0px) var(--shift-sick-border-style,solid) var(--shift-sick-border-color,#c36570)}
.shift.X{border:var(--shift-other-border-width,0px) var(--shift-other-border-style,solid) var(--shift-other-border-color,#9468b4)}
.shift.empty{border:var(--shift-empty-border-width,1px) var(--shift-empty-border-style,dashed) var(--shift-empty-border-color,var(--calendar-emptyBorder,#e6eaf1))}
.duty-icon,.legend>.duty-key{color:var(--shift-workDuty-icon,#1d3f8b)}
.wrench-icon{color:var(--shift-parts-icon,#1d3f8b)}
.shift.Z.is-duty .duty-icon,.shift.Z.is-duty .wrench-icon{color:var(--shift-partsDuty-icon,#1d3f8b)}
.legend .work{background:var(--shift-work-background,#e1f5ea)}.legend .special{background:var(--shift-parts-background,#e3efff)}.legend .off{background:var(--shift-off-background,#f0f3f8)}.legend .leave{background:var(--shift-leave-background,#fff1d8)}.legend .sick{background:var(--shift-sick-background,#ffe9eb)}
.schedule-table .weekend{background:var(--calendar-weekend,#f5f7fb)}
.schedule-table td.today{background:var(--calendar-today,#edf2ff);box-shadow:inset 2px 0 var(--calendar-todayBorder,#8ba4f5),inset -2px 0 var(--calendar-todayBorder,#8ba4f5)}
.schedule-table thead th.today{background:var(--calendar-todayHeader,#e4ebff);box-shadow:inset 2px 0 var(--calendar-todayBorder,#8ba4f5),inset -2px 0 var(--calendar-todayBorder,#8ba4f5)}
.schedule-table th.today .day-number{background:var(--calendar-todayNumberBackground,#345ce8);color:var(--calendar-todayNumberText,#ffffff)}
.schedule-table .group-row td{background:var(--calendar-groupBackground,#f8faff);color:var(--calendar-groupText,#7c8ba1)}
.schedule-table .staffing-row td{background:var(--calendar-staffingBackground,#fafbfd);color:var(--calendar-staffingText,#6d7c94)}
.schedule-table .staffing-row td.covered{color:var(--calendar-staffingCovered,#349373)}
.schedule-table .staffing-row td.shortage{color:var(--calendar-staffingShortage,#c86743);background:var(--calendar-staffingShortageBackground,#fff3ea)}
.schedule-table .staffing-row td.today{background:var(--calendar-todayHeader,#e4ebff)}
.today-card.main .today-icon,.today-card.main .today-count{background:var(--shift-work-background,#e1f5ea);color:var(--shift-work-text,#248359)}
.today-card.parts .today-icon,.today-card.parts .today-count{background:var(--shift-parts-background,#e3efff);color:var(--shift-parts-text,#2e5fa4)}
.today-card.duty .today-icon,.today-card.duty .today-count{background:var(--shift-workDuty-background,#e1f5ea);color:var(--shift-workDuty-text,#248359)}
.palette-editor{display:grid;gap:22px}.palette-editor h3{margin-bottom:12px}.palette-editor .card-text{font-size:13px}
.palette-preview{border:1px solid #e5e9f1;border-radius:9px;padding:16px;background:#fbfcfe}.palette-samples{display:flex;flex-wrap:wrap;gap:12px 16px}.palette-sample{display:flex;align-items:center;gap:7px;font-size:12px;color:#51617a}.palette-sample .shift{width:35px;height:32px;margin:0;flex-shrink:0}
.palette-preview-day{display:inline-flex;align-items:center;gap:10px;margin:16px 0 0;padding:8px 12px;background:var(--calendar-today);border-left:2px solid var(--calendar-todayBorder);border-right:2px solid var(--calendar-todayBorder);font-size:12px;color:#42536e}.palette-preview-day strong{background:var(--calendar-todayNumberBackground);color:var(--calendar-todayNumberText);padding:3px 7px;border-radius:5px}
.palette-table{border-collapse:collapse;width:100%;font-size:13px}.palette-table th{text-align:left;font-size:12px;color:#738096;font-weight:500}.palette-table th,.palette-table td{padding:9px 7px;border-bottom:1px solid #eef0f5;vertical-align:middle}.palette-table th:first-child,.palette-table td:first-child{padding-left:0}.palette-table th:first-child{width:36%}
.palette-color{display:flex;align-items:center;gap:6px;min-width:0}.palette-color input[type=color]{width:32px;height:31px;padding:2px;border:1px solid #dce3ef;border-radius:5px;background:#fff;cursor:pointer;flex-shrink:0}.palette-color input[type=text]{width:76px;min-width:0;max-width:100%;padding:7px 5px;border:1px solid #dce3ef;border-radius:5px;font:12px monospace;text-transform:uppercase}.palette-color input[aria-invalid=true]{border-color:#bb3a45;outline-color:#bb3a45}
.palette-borders{display:grid}.palette-border-row{display:grid;grid-template-columns:minmax(140px,1fr) 92px 140px 115px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef0f5}.palette-border-row>strong{font-size:12px;font-weight:500;color:#51617a}.palette-border-field{display:grid;gap:6px;min-width:0;font-size:11px;color:#738096}.palette-border-field select{width:100%;padding:8px 6px;font-size:12px}.palette-border-field .palette-color{align-self:center}
.palette-calendar{display:grid;grid-template-columns:1fr 1fr;gap:13px 18px}.palette-calendar label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;color:#51617a;min-width:0}.palette-calendar .palette-color{flex-shrink:0}.palette-muted{color:#98a6bb}.palette-warning{font-size:12px;color:#9d651a;line-height:1.5;margin:14px 0 0}.palette-transparent{margin-top:12px}.palette-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.palette-editor select{border:1px solid #dce3ef;border-radius:7px;padding:9px 12px;background:#fff;color:#38465d;max-width:100%;font-size:13px}
@media(max-width:600px){.palette-calendar{grid-template-columns:1fr}.palette-table th,.palette-table td{padding:9px 3px;font-size:11px}.palette-table th:first-child{width:30%}.palette-color{flex-direction:column;gap:4px}.palette-color input[type=text]{width:64px;font-size:11px}.palette-calendar .palette-color{flex-direction:row}.palette-calendar .palette-color input[type=text]{width:76px}.palette-samples{gap:10px 14px}.palette-actions{align-items:stretch}.palette-actions>*{flex:1;min-width:130px}}
@media(max-width:600px){.palette-border-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start}.palette-border-row>strong{grid-column:1/-1}.palette-border-field .palette-color{flex-direction:row;flex-wrap:wrap;gap:4px}.palette-border-field .palette-color input[type=text]{width:64px}}
