.schedule-preview-bar{--sp-ink:#111827;--sp-muted:#6b7280;--sp-line:#e5e7eb;--sp-soft:#f3f4f6;--sp-added:#15803d;--sp-added-soft:#dcfce7;--sp-removed:#b91c1c;--sp-removed-soft:#fee2e2;--sp-accent:#b45309;--sp-accent-soft:#fef3c7;--sp-compare:#4f46e5;--sp-compare-soft:#eef2ff;position:fixed;right:12px;bottom:12px;z-index:10000;transition:bottom .3s cubic-bezier(.5,0,.15,1);display:flex;flex-direction:column;align-items:flex-end;gap:8px;font:14px/1.4 system-ui,sans-serif;color:var(--sp-ink)}@media only screen and (max-width:599px){.schedule-preview-bar{bottom:calc(8px + var(--sp-cta-offset, 0px))}}.schedule-preview-bar,.schedule-preview-bar *,.schedule-preview-bar :after,.schedule-preview-bar :before{box-sizing:border-box}.schedule-preview-bar button{font:inherit;color:inherit;cursor:pointer}.schedule-preview-bar svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.schedule-preview-bar h3,.schedule-preview-bar h4,.schedule-preview-bar p,.schedule-preview-bar ul{margin:0}.schedule-preview-bar .schedule-preview-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:999px;background:var(--sp-ink);color:#fff;box-shadow:0 2px 10px #00000040}.schedule-preview-bar .schedule-preview-toggle.is-previewing{background:var(--sp-accent)}.schedule-preview-bar .schedule-preview-toggle-counts{display:inline-flex;align-items:center;gap:6px;margin-left:2px;padding:1px 8px;border-radius:999px;background:#ffffff26;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.schedule-preview-bar .schedule-preview-toggle-counts svg{width:14px;height:14px;opacity:.8}.schedule-preview-bar .schedule-preview-toggle-counts .is-added{color:#86efac}.schedule-preview-bar .schedule-preview-toggle-counts .is-removed{color:#fca5a5}.schedule-preview-bar .schedule-preview-toggle-issues{display:inline-flex;align-items:center;gap:3px;padding:1px 8px 1px 6px;border-radius:999px;background:var(--sp-removed);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.schedule-preview-bar .schedule-preview-toggle-issues svg{width:13px;height:13px;stroke-width:2.5}.schedule-preview-bar .schedule-preview-panel{display:flex;flex-direction:column;gap:14px;width:min(460px,100vw - 24px);max-height:calc(100dvh - 80px);overflow-x:hidden;overflow-y:auto;padding:16px;border-radius:12px;background:#fff;box-shadow:0 8px 32px #00000040}.schedule-preview-bar .schedule-preview-panel.is-compact{max-height:50dvh}@media only screen and (max-width:599px){.schedule-preview-bar .schedule-preview-panel{max-height:calc(100dvh - 80px - var(--sp-cta-offset, 0px))}.schedule-preview-bar .schedule-preview-panel.is-compact{max-height:min(50dvh,100dvh - 80px - var(--sp-cta-offset,0px))}}.schedule-preview-bar .schedule-preview-header{position:sticky;top:-16px;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:-16px -16px 0;padding:10px 16px;border-bottom:1px solid var(--sp-line);background:#fff;font-size:16px}.schedule-preview-bar .schedule-preview-header-actions{display:flex;gap:2px}.schedule-preview-bar .schedule-preview-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent}.schedule-preview-bar .schedule-preview-icon-button:hover{background:var(--sp-soft)}.schedule-preview-bar .schedule-preview-controls{display:flex;flex-wrap:wrap;gap:8px}.schedule-preview-bar .schedule-preview-controls input{flex:1 1 200px;min-width:0;padding:6px 10px;border:1px solid var(--sp-line);border-radius:8px;font:inherit;color:inherit}.schedule-preview-bar .schedule-preview-segments{display:inline-flex;padding:3px;border-radius:10px;background:var(--sp-soft)}.schedule-preview-bar .schedule-preview-segments button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:0;border-radius:7px;background:transparent}.schedule-preview-bar .schedule-preview-segments button svg{width:16px;height:16px}.schedule-preview-bar .schedule-preview-segments button.is-selected{background:#fff;box-shadow:0 1px 3px #00000026;font-weight:600}.schedule-preview-bar .schedule-preview-switch{display:flex;align-items:center;gap:8px;font-weight:600;cursor:pointer}.schedule-preview-bar .schedule-preview-switch input{width:16px;height:16px;margin:0;accent-color:var(--sp-compare)}.schedule-preview-bar .schedule-preview-switch.schedule-preview-markers{padding:0 2px}.schedule-preview-bar .schedule-preview-compare{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid var(--sp-line);border-radius:10px}.schedule-preview-bar .schedule-preview-compare.is-comparing{border-color:#c7d2fe;background:var(--sp-compare-soft)}.schedule-preview-bar .schedule-preview-compare-times{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px}.schedule-preview-bar .schedule-preview-compare-times input{min-width:0;padding:5px 8px;border:1px solid var(--sp-line);border-radius:8px;background:#fff;font:inherit;color:inherit}.schedule-preview-bar .schedule-preview-compare-times small{color:var(--sp-muted)}.schedule-preview-bar .schedule-preview-compare-tag{padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.schedule-preview-bar .schedule-preview-compare-tag.is-before{background:var(--sp-removed-soft);color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-compare-tag.is-after{background:var(--sp-added-soft);color:var(--sp-added)}.schedule-preview-bar .schedule-preview-diff-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:0;border-radius:8px;background:var(--sp-compare);color:#fff;font-weight:600}.schedule-preview-bar .schedule-preview-diff-open:hover{background:#4338ca}.schedule-preview-bar .schedule-preview-status{padding:8px 12px;border-radius:8px;background:var(--sp-soft);color:var(--sp-muted);font-size:13px}.schedule-preview-bar .schedule-preview-status.is-previewing{background:var(--sp-accent-soft);color:var(--sp-accent)}.schedule-preview-bar .schedule-preview-status.is-comparing{background:var(--sp-compare-soft);color:#3730a3}.schedule-preview-bar .schedule-preview-status.is-comparing .is-added{color:var(--sp-added)}.schedule-preview-bar .schedule-preview-status.is-comparing .is-removed{color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-issues{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--sp-removed) 30%,#fff);border-radius:8px;background:color-mix(in srgb,var(--sp-removed-soft) 55%,#fff)}.schedule-preview-bar .schedule-preview-issues h3{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-issues h3 svg{width:15px;height:15px}.schedule-preview-bar .schedule-preview-issues ul{display:flex;flex-direction:column;gap:4px;padding:0;list-style:none}.schedule-preview-bar .schedule-preview-issue{display:flex;flex-direction:column;width:100%;min-width:0;padding:6px 10px;border:0;border-left:3px solid var(--sp-removed);border-radius:6px;background:#fff;text-align:left}.schedule-preview-bar .schedule-preview-issue:hover{filter:brightness(.97)}.schedule-preview-bar .schedule-preview-issue .schedule-preview-change-label{font-weight:600}.schedule-preview-bar .schedule-preview-issue-range{font-weight:600;font-variant-numeric:tabular-nums;color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-issue-message{font-size:12px;color:var(--sp-muted)}.schedule-preview-bar .schedule-preview-month{display:flex;align-items:center;justify-content:space-between;font-size:14px}.schedule-preview-bar .schedule-preview-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.schedule-preview-bar .schedule-preview-weekday{text-align:center;font-size:11px;color:var(--sp-muted)}.schedule-preview-bar .schedule-preview-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;min-width:0;height:38px;padding:3px 0 0;border:1px solid transparent;border-radius:6px;font-size:13px;background:transparent}.schedule-preview-bar .schedule-preview-day:hover{background:var(--sp-soft)}.schedule-preview-bar .schedule-preview-day.is-outside{color:#c4c8cf}.schedule-preview-bar .schedule-preview-day.is-today{border-color:var(--sp-line)}.schedule-preview-bar .schedule-preview-day.is-compare-day{border:1px dashed var(--sp-removed)}.schedule-preview-bar .schedule-preview-day.has-changes{background:var(--sp-accent-soft)}.schedule-preview-bar .schedule-preview-day.has-changes .schedule-preview-day-number{font-weight:700}.schedule-preview-bar .schedule-preview-day.is-selected{background:var(--sp-ink);color:#fff}.schedule-preview-bar .schedule-preview-day.is-selected .is-added{color:#86efac}.schedule-preview-bar .schedule-preview-day.is-selected .is-removed{color:#fca5a5}.schedule-preview-bar .schedule-preview-day-counts{display:flex;gap:3px;font-size:10px;font-weight:600;line-height:1.2}.schedule-preview-bar .schedule-preview-day-counts .is-added{color:var(--sp-added)}.schedule-preview-bar .schedule-preview-day-counts .is-removed{color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-changes{display:flex;flex-direction:column;gap:12px;padding-top:14px;border-top:1px solid var(--sp-line)}.schedule-preview-bar .schedule-preview-changes h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted)}.schedule-preview-bar .schedule-preview-empty{color:var(--sp-muted)}.schedule-preview-bar .schedule-preview-group h4{margin-bottom:6px;font-size:13px;font-weight:600}.schedule-preview-bar .schedule-preview-group ul{display:flex;flex-direction:column;gap:4px;padding:0;list-style:none}.schedule-preview-bar .schedule-preview-group.is-selected-day h4{color:var(--sp-accent)}.schedule-preview-bar .schedule-preview-change{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid transparent;border-left-width:3px;border-radius:8px;text-align:left}.schedule-preview-bar .schedule-preview-change.is-start{border-left-color:var(--sp-added);background:color-mix(in srgb,var(--sp-added-soft) 55%,#fff)}.schedule-preview-bar .schedule-preview-change.is-start .schedule-preview-change-icon{background:var(--sp-added-soft);color:var(--sp-added)}.schedule-preview-bar .schedule-preview-change.is-start .schedule-preview-change-kind{color:var(--sp-added)}.schedule-preview-bar .schedule-preview-change.is-end{border-left-color:var(--sp-removed);background:color-mix(in srgb,var(--sp-removed-soft) 55%,#fff)}.schedule-preview-bar .schedule-preview-change.is-end .schedule-preview-change-icon{background:var(--sp-removed-soft);color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-change.is-end .schedule-preview-change-kind{color:var(--sp-removed)}.schedule-preview-bar .schedule-preview-change:hover{filter:brightness(.97)}.schedule-preview-bar .schedule-preview-change.is-selected{border-color:var(--sp-ink);border-left-color:var(--sp-ink)}.schedule-preview-bar .schedule-preview-change-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%}.schedule-preview-bar .schedule-preview-change-time{flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums}.schedule-preview-bar .schedule-preview-change-text{display:grid;grid-template-columns:auto minmax(0,1fr);-moz-column-gap:6px;column-gap:6px;min-width:0}.schedule-preview-bar .schedule-preview-change-kind{font-weight:600}.schedule-preview-bar .schedule-preview-change-component,.schedule-preview-bar .schedule-preview-change-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-preview-bar .schedule-preview-change-component{grid-column:1/-1;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--sp-muted)}
