.schedule-color-entry {width:100%;padding:0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;}
.schedule-color-entry>span {display:flex;align-items:center;gap:8px;}
.schedule-color-dot {display:inline-block;width:16px;height:16px;flex:none;border:1px solid #777;border-radius:50%;}
.schedule-color-dialog.ui-dialog {position:fixed;inset:auto;left:calc(var(--app-visual-viewport-left,0px) + var(--app-visual-viewport-width,100vw)/2);top:calc(var(--app-visual-viewport-top,0px) + var(--app-visual-viewport-height,100dvh)/2);transform:translate(-50%,-50%);width:min(420px,calc(var(--app-visual-viewport-width,100vw) - 24px));max-height:calc(var(--app-visual-viewport-height,100dvh) - 24px - env(safe-area-inset-top));box-sizing:border-box;margin:0;padding:0 12px 12px;background:var(--surface-canvas);color:var(--color-ink);border:1px solid var(--surface-border);border-radius:20px;overflow-y:auto;overscroll-behavior:contain;}
.schedule-color-dialog header {display:flex;justify-content:space-between;align-items:center;gap:4px;position:sticky;top:0;z-index:2;background:var(--surface-canvas);}
.schedule-color-dialog h2 {font-size:1rem;margin:0;}
.schedule-color-dialog button {min-height:44px;font:inherit;color:inherit;cursor:pointer;}
.schedule-color-dialog :focus-visible {outline:2px solid var(--color-accent);outline-offset:2px;}
.schedule-color-dialog [hidden] {display:none!important;}
.schedule-color-preset {display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--surface-border);text-align:left;padding:0 10px;}
.schedule-color-check {margin-left:auto;font-weight:800;}
.schedule-color-tabs {display:flex;gap:2px;margin:4px 0 12px;background:var(--surface-border);border-radius:9px;padding:2px;}
.schedule-color-tabs button {flex:1;border:0;border-radius:7px;background:transparent;font-size:.85rem;}
.schedule-color-tabs [aria-selected=true] {background:var(--surface-raised);font-weight:700;}
.schedule-color-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;}
.schedule-color-swatch {border:1px solid #0003;border-radius:2px;padding:0;}
.schedule-color-swatch .schedule-color-check {background:white;color:#222;border-radius:50%;padding:0 3px;}
.schedule-color-swatch[aria-pressed=false] .schedule-color-check {background:transparent;}
.schedule-color-spectrum {position:relative;height:180px;touch-action:none;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),var(--picker-hue);border:1px solid #777;border-radius:8px;}
#scheduleColorCursor {position:absolute;width:16px;height:16px;border:2px solid white;box-shadow:0 0 0 1px #222;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;}
.schedule-color-dialog input {box-sizing:border-box;min-width:0;max-width:100%;font-size:16px;}
.schedule-color-dialog input[type=range] {width:100%;padding:0;border:0;min-height:44px;touch-action:pan-y;accent-color:var(--color-accent);}
.schedule-color-channel {display:grid;grid-template-columns:1fr 68px;align-items:center;column-gap:10px;margin-bottom:8px;}
.schedule-color-channel label {grid-column:1/-1;font-size:.85rem;}
.schedule-color-channel input[type=number] {width:68px;min-height:44px;padding:4px;}
.schedule-color-footer {display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;margin-top:12px;}
.schedule-color-preview {width:36px;height:36px;border-radius:6px;border:1px solid #777;}
.schedule-color-footer output {font-size:.82rem;}
.schedule-color-footer label {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;}
.schedule-color-footer input {width:130px;min-height:44px;padding:6px;}
#scheduleColorError {font-size:.8rem;margin:6px 0 0;}
#scheduleColorError:empty {display:none;}
