/* Move controls occupy the legend row or temporary overlays. */
.sv-move-selected { outline:2px solid var(--ds-brand-ink);outline-offset:2px; }
.sv-move-cut { outline:2px dashed var(--ds-brand-ink);outline-offset:2px; }
.sv-move-cut::before { content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--ds-surface) 22%,transparent) 6px 8px,color-mix(in srgb,var(--ds-ink) 10%,transparent) 8px 9px);pointer-events:none; }
.sv-move-cut>.sp-face,.sv-move-cut>.sp-full { position:relative;z-index:1; }
.sv-move-bar { position:absolute;right:16px;bottom:4px;z-index:44;display:flex;align-items:center;gap:7px;width:max-content;max-width:min(480px,calc(100% - 32px));min-width:0;padding:4px 6px 4px 10px;border:1px solid var(--ds-brand-ink);border-radius:var(--ds-r-md);background:var(--ds-surface);box-shadow:0 2px 8px color-mix(in srgb,var(--ds-ink) 8%,transparent);font-size:var(--ds-text-caps); }
.sv-move-root .sp-colorkey:has(.sv-move-bar) { flex-wrap:wrap; }
.sv-move-root .sp-colorkey>.sv-move-bar { position:relative;right:auto;bottom:auto;margin-left:auto;flex-shrink:1; }
.sv-move-bar>b { white-space:nowrap;color:var(--ds-brand-ink);font-size:var(--ds-text-av);letter-spacing:.06em; }
.sv-move-bar>span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0; }
.sv-move-bar button { white-space:nowrap;flex-shrink:0;padding:3px 5px!important;font-size:var(--ds-text-caps)!important; }
.sv-move-bar kbd { font:inherit;color:var(--ds-ink-3); }
.sv-move-load { display:block;position:relative;width:100%;height:3px;background:var(--ds-line);border-radius:var(--ds-r-block);overflow:hidden; }
.sv-move-load>i { display:block;height:100%;background:var(--ds-brand-ink);border-radius:inherit; }
.sv-move-past { opacity:.4; }
.sv-move-target { outline:1px solid var(--ds-brand-ink);outline-offset:-1px; }
.sv-move-target.sp-extension-target { background:var(--ds-brand-ink)!important;color:var(--ds-action-fg)!important; }
.sv-move-ghost { position:absolute;z-index:30;pointer-events:none;border:0;outline:2px dashed var(--ds-brand-ink);outline-offset:-2px;border-radius:var(--ds-r-sm);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:4px 7px;min-width:0;box-sizing:border-box;font-size:var(--sp-fs-sm,var(--ds-text-caps));line-height:calc(14px * var(--sp-k,1));letter-spacing:var(--ds-track-sm); }
.sv-move-ghost>span,.sv-move-ghost>strong { display:block;flex:none;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:inherit;line-height:inherit; }
.sv-move-ghost>strong { font-size:var(--sp-fs-base,var(--ds-text-sm)); }
.sv-move-ghost.sv-move-overlap { outline-color:var(--ds-st-late);padding-left:10px;padding-bottom:8px; }
.sv-move-ghost.sv-move-overlap::after { content:"";position:absolute;inset:2px;border-left:4px solid var(--ds-st-late);border-bottom:4px solid var(--ds-st-late);pointer-events:none; }
.sv-move-drag-label { white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.sv-move-tip { position:fixed;z-index:90;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:min(450px,calc(100vw - 16px));padding:7px 9px;border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:var(--ds-r-md);box-shadow:0 4px 14px color-mix(in srgb,var(--ds-ink) 13%,transparent);pointer-events:none;font-size:var(--ds-text-caps);overflow-wrap:anywhere; }
.sv-move-fit { font-style:normal;font-size:var(--ds-text-caps);border-radius:var(--ds-r-sm);padding:3px 6px;line-height:1.4; }
.sv-move-fit.sv-move-free { color:var(--ds-ok-ink);background:var(--ds-ok-soft); }
.sv-move-fit.sv-move-tight { color:var(--ds-ink-3);background:transparent;border:0;border-radius:0;padding:0 }
.sv-move-fit.sv-move-overlap { color:var(--ds-bad-ink);background:var(--ds-bad-soft); }
.sv-move-fit.sv-move-unknown { color:var(--ds-ink-3);background:var(--ds-paper); }
.sv-move-pop { position:fixed;z-index:44;display:flex;flex-direction:column;box-sizing:border-box;width:min(396px,calc(100vw - 16px));max-height:calc(100dvh - 24px);border:1px solid var(--ds-field);border-radius:var(--ds-r-lg);background:var(--ds-surface);box-shadow:0 12px 40px color-mix(in srgb,var(--ds-ink) 19%,transparent);overflow:hidden;color:var(--ds-ink);font:var(--ds-text-sm) var(--ds-font); }
.sv-move-pop header { display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--ds-line);flex-shrink:0; }
.sv-move-pop header>strong { font-size:var(--ds-text-md); }
.sv-move-body { flex:1 1 auto;overflow:auto;overscroll-behavior:contain;min-height:0;padding:12px 14px; }
.sv-move-fields { display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:10px; }
.sv-move-fields label { display:block;font-size:var(--ds-text-caps);font-weight:var(--ds-w-semi); }
.sv-move-fields select { display:block;width:100%;min-width:0;border:1px solid var(--ds-field);background:var(--ds-surface);color:var(--ds-ink);border-radius:var(--ds-r-md);padding:7px;margin-top:5px;height:34px; }
.sv-move-tech { display:flex;align-items:center;gap:7px; }
.sv-move-tech select { flex:1; }
.sv-move-tech .sp-av,.sv-move-alternatives .sp-av { width:26px;height:26px;flex:0 0 26px;border-radius:var(--ds-r-full);overflow:hidden;background:var(--ds-brand-ink);color:var(--ds-action-fg);display:inline-flex;align-items:center;justify-content:center;font-size:var(--ds-text-av); }
.sv-move-tech .sp-av img,.sv-move-alternatives .sp-av img { width:100%;height:100%;object-fit:cover; }
.sv-move-quick { display:flex;gap:6px;margin:12px 0; }
.sv-move-quick button { flex:1;padding:6px 4px!important;font-size:var(--ds-text-caps)!important;white-space:nowrap; }
.sv-move-month { display:flex;align-items:center;justify-content:space-between;padding:5px 0 10px; }
.sv-move-month button { width:28px;height:28px;padding:0!important; }
.sv-move-calendar { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px; }
.sv-move-dow { text-align:center;font-size:var(--ds-text-av);color:var(--ds-ink-3);padding-bottom:5px; }
.sv-move-root button.sv-move-day { position:relative;display:flex;flex-direction:column;gap:3px;height:36px;min-height:36px;padding:3px 6px;border:0;border-radius:var(--ds-r-md);background:transparent;box-shadow:none; }
.sv-move-day>span { display:flex;align-items:center;justify-content:center;width:23px;height:23px;line-height:23px;border-radius:var(--ds-r-full); }
.sv-move-root .sv-move-day:not(:disabled):hover,.sv-move-root .sv-move-day.sv-move-hover { background:var(--ds-paper-hover);box-shadow:inset 0 0 0 1px var(--ds-brand-ink); }
.sv-move-day .sv-move-today { background:var(--ds-brand-ink);color:var(--ds-action-fg); }
.sv-move-muted { opacity:.55; }
.sv-move-root button.sv-move-day:disabled { opacity:.3;cursor:default; }
.sv-move-mark { position:absolute;right:1px;top:0;font-style:normal;font-size:var(--ds-text-av);line-height:12px; }
.sv-move-mark.sv-move-overlap { color:var(--ds-st-late); }
.sv-move-mark.sv-move-tight { color:var(--ds-ink-3); }
.sv-move-details { margin-top:14px;border-top:1px solid var(--ds-line);padding-top:10px; }
.sv-move-fitrow { display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-top:10px;overflow-wrap:anywhere; }
.sv-move-fitrow>span { color:var(--ds-ink-3);font-size:var(--ds-text-caps); }
.sv-move-alternatives,.sv-move-extra { display:flex;gap:5px;flex-wrap:wrap; }
.sv-move-alternatives button { font-size:var(--ds-text-caps)!important;padding:3px 6px!important; }
.sv-move-more { text-align:center;padding:7px;background:var(--ds-paper);border-top:1px solid var(--ds-line);font-size:var(--ds-text-av);color:var(--ds-ink-3);flex-shrink:0; }
.sv-move-more[hidden],.sv-move-extra[hidden],.sv-move-root .sp-undo-bar[hidden] { display:none; }
.sv-move-undo { display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:min(760px,calc(100% - 32px));white-space:normal!important; }
.sv-move-warning { font-size:var(--ds-text-caps);overflow-wrap:anywhere; }

/* Overlap ghost: the red band sits above the board's own block decorations. */
.sched-pro .sv-move-ghost.sv-move-overlap::after{content:""!important;display:block!important;position:absolute!important;inset:2px!important;border:0!important;border-left:4px solid var(--ds-st-late)!important;border-bottom:4px solid var(--ds-st-late)!important;background:none!important;z-index:2!important;pointer-events:none}
