/* Opt-in only. Explicit colour pairs win over duty, team and admin theme hues. */
[data-shift-colour] {
 background:var(--shift-colour) !important;
 color:var(--shift-ink) !important;
 border-color:color-mix(in srgb,var(--shift-ink) 28%,var(--shift-colour)) !important;
 print-color-adjust:exact;
 -webkit-print-color-adjust:exact;
}
[data-shift-colour].oncall,
[data-shift-colour].personal-kind-oncall {border-style:dashed;}
[data-shift-colour] small,
[data-shift-colour] .personal-event-time,
[data-shift-colour] .personal-event-team {color:inherit;opacity:1;}
[data-shift-colour]:focus-visible {
 outline:3px solid var(--shift-ink);
 outline-offset:2px;
 box-shadow:0 0 0 6px var(--shift-colour);
}
.shift-colour-field {min-width:0;margin:16px 0;padding:14px;border:1px solid var(--line,#b9cbd0);border-radius:12px;}
.shift-colour-controls {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.shift-colour-controls label {display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;min-width:0;}
.shift-colour-controls input[type="color"] {width:64px;min-width:64px;max-width:64px;height:44px;min-height:44px;padding:3px;margin:0;cursor:pointer;}
.shift-colour-controls button {min-height:44px;}
.shift-colour-preview {display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 12px;border:1px solid;border-radius:8px;font-weight:650;max-width:100%;overflow-wrap:anywhere;white-space:normal;}
.shift-colour-field .shift-colour-value {font-size:13px;margin:8px 0 0;}
.shift-colour-field .helper {margin:6px 0 0;}
@media (forced-colors:active) {
 [data-shift-colour] {background:Canvas !important;color:CanvasText !important;border-color:CanvasText !important;forced-color-adjust:auto;}
 [data-shift-colour]:focus-visible {outline-color:Highlight;box-shadow:none;}
}
