/* Fits the existing premium palette; does not alter scroll or layout roots. */
#tabs.has-plans [data-view="shift-openings"] { grid-column:1 / -1; }
#tabs [data-view="shift-openings"] { font-size:13px; white-space:normal; line-height:1.3; }
.shift-panel { padding:14px; margin-bottom:0; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }
.shift-heading,.shift-list-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:12px; }
.shift-heading h2,.shift-list-head h2 { font-size:16px; line-height:1.3; margin:0; }
.shift-heading p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.shift-refresh { color:var(--text); background:var(--surface-2); border:1px solid var(--line); border-radius:12px; width:40px; height:40px; font-size:25px; cursor:pointer; }
.shift-day { gap:12px; margin-bottom:12px; cursor:pointer; }
.shift-day:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#rangeModal.is-single-day button:disabled { opacity:.35; cursor:default; box-shadow:none; }
#rangeModal.is-single-day .range-sheet { bottom:auto; max-height:calc(100dvh - 54px); }
#rangeModal.is-single-day .range-body { min-height:0; }
.shift-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.shift-count { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; padding:10px 9px; border:1px solid transparent; border-radius:12px; background:var(--surface-2); color:var(--text); cursor:pointer; }
.shift-count strong { font-size:25px; line-height:1.1; }
.shift-count span { font-size:12px; font-weight:600; line-height:1.3; text-align:left; }
.shift-count.shift-opened { color:var(--good); background:var(--good-soft); }
.shift-count.shift-not_opened { color:var(--bad); background:var(--bad-soft); }
.shift-count.is-active { border-color:currentColor; }
.shift-caption { color:var(--muted); font-size:12px; line-height:1.5; margin:10px 0 0; }
.shift-muted { color:var(--muted); font-size:12px; }
.shift-clusters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.shift-clusters > [data-shift-cluster=""] { grid-column:1 / -1; }
.shift-cluster { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:1 1 130px; min-width:0; padding:10px; font:inherit; font-size:13px; border:1px solid var(--line); border-radius:11px; color:var(--text); background:var(--surface-2); cursor:pointer; }
.shift-cluster span { overflow-wrap:anywhere; }
.shift-cluster strong { flex-shrink:0; font-variant-numeric:tabular-nums; }
.shift-cluster.is-active { border-color:var(--accent); background:var(--primary-soft); color:var(--accent); }
.shift-list-head { margin:15px 3px 10px; flex-wrap:wrap; }
.shift-list-head h2 span { color:var(--muted); font-size:14px; margin-left:3px; }
.shift-list-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.shift-sort { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:36px; border:1px solid var(--line); border-radius:10px; padding:6px 10px; color:var(--accent); background:var(--surface-2); font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.shift-reset { border:0; background:transparent; color:var(--accent); font-size:13px; cursor:pointer; }
.shift-rows { background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.shift-store { padding:10px 12px; margin:0; background:transparent; border:0; }
.shift-store + .shift-store { border-top:1px solid var(--line); }
.shift-store-top { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:36px; }
.shift-store h3 { min-width:0; margin:0; font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
.shift-store-status { text-align:right; flex-shrink:0; font-size:12px; font-weight:600; line-height:1.25; color:var(--muted); }
.shift-store-status span { display:block; }
.shift-time { display:block; font-size:21px; line-height:1.15; font-variant-numeric:tabular-nums; }
.shift-opened .shift-store-status { color:var(--good); }
.shift-not_opened .shift-store-status { color:var(--bad); }
.shift-store summary { list-style:none; cursor:pointer; }
.shift-store summary::-webkit-details-marker { display:none; }
.shift-store summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:5px; }
.shift-store-note { font-size:12px; line-height:1.45; color:var(--muted); margin:8px 0 1px; overflow-wrap:anywhere; }
.shift-panel button:focus-visible,.shift-list button:focus-visible,.shift-day input:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
