/* Service Scope: the SRC tab (service-src.html). Loaded after tracker.css and servicescope.css and uses their tokens (brand guide
   .agents/handoffs/2026-10-23-service-scope-brand.md). The shell draws the header and tabs; the page's own sections (Calendar,
   Upcoming, Check-in, Fleet) are the .src-tabs row.
   The one memorable element is the month: each day holds the store's limit of rental cars as stations on a short line, filled
   Petrol as they are booked, hollow while open, Late red past the limit; today is the Flow station (the current day). The rest is
   quiet: flat panels, hairlined tables, state pills with words. Form choices (rental class, fuel) fill Petrol when chosen; view
   filters (the check-in range) are the shared segmented track. */
.spacer{flex:1}
.src-page{max-width:1400px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--sf-r-panel)}
.panel-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--line-soft)}
.panel-head h2{margin:0;font:700 var(--sf-t-lg)/1.1 var(--sf-font-display)}
@media (max-width:640px){.panel-head{padding:14px 16px}}
.cal-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
@media (max-width:1060px){.cal-layout{grid-template-columns:minmax(0,1fr)}}

/* ---------- month calendar: three slots per day ---------- */
.month-nav{display:flex;align-items:center;gap:8px}
.month-nav .btn{padding:4px 12px;min-height:40px;min-width:40px;font-size:18px;border-radius:var(--sf-r-pill)}
.month-title{font:700 var(--sf-t-lg)/1.1 var(--sf-font-display);min-width:180px;text-align:center}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:16px 24px 20px}
@media (max-width:640px){.cal{padding:12px;gap:4px}.month-title{min-width:120px}}
.dow{font:600 13px var(--sf-font-text);color:var(--muted);text-align:left;padding:0 0 4px 10px}
.day{font:inherit;color:inherit;text-align:left;border:1px solid var(--line-soft);background:var(--panel);border-radius:var(--sf-r-control);min-height:88px;padding:8px 10px 10px;display:flex;flex-direction:column;gap:5px;cursor:pointer;position:relative}
.day:hover{border-color:var(--muted)}
.day.other{background:transparent;border-color:transparent;cursor:default;visibility:hidden}
/* a past day: quieter, but its words keep AA contrast (opacity took them to 2.3:1; R-UX 2026-10-19) */
.day.past{background:var(--raised)}
.day.past .num,.day.past .left{color:var(--muted)}
.day.past .slots{opacity:.55}
.day .num{font:700 15px/1.2 var(--sf-font-display)}
/* today: the current day, a Flow station around its number */
.day.today .num{display:inline-grid;place-items:center;align-self:flex-start;min-width:28px;height:28px;padding:0 4px;border-radius:var(--sf-r-pill);background:var(--sf-flow-ink);color:#FFFFFF;margin:-4px 0 -2px -5px;box-shadow:0 0 0 3px color-mix(in srgb,var(--sf-flow) 26%,transparent)}
:root[data-theme="dark"] .day.today .num{background:var(--sf-flow);color:#14102B}
/* the day you're looking at: a Petrol frame (your choice) */
.day[aria-pressed="true"]{border-color:var(--sf-petrol);box-shadow:inset 0 0 0 1px var(--sf-petrol)}
/* a day's rental cars: stations on a short line, filled as they're booked */
.slots{--gap:4px;display:flex;align-items:center;gap:var(--gap);margin-top:auto;padding-top:4px}
.slot{position:relative;flex:none;width:12px;height:12px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 2px var(--rail-off)}
.slot + .slot{margin-left:8px}
.slot + .slot::before{content:"";position:absolute;right:100%;top:5px;width:12px;height:2px;background:var(--rail-off)}
.slot.taken{background:var(--rail-done);box-shadow:none}
.slot.taken + .slot.taken::before,.slot.taken + .slot.over::before,.slot.over + .slot.over::before{background:var(--rail-done)}
.slot.over{background:var(--flag);box-shadow:none;border-radius:3px}
.day .left{font-size:12px;color:var(--muted);line-height:1.15}
.day.full .left{color:var(--flag-ink);font-weight:600}
.day.closed{background:repeating-linear-gradient(135deg,var(--sf-track) 0 2px,transparent 2px 9px),var(--raised);border-color:transparent}
.day.closed .left{color:var(--muted)}
.day.holiday .left{color:var(--flag-ink);font-weight:600}
@media (max-width:640px){.day{min-height:62px;padding:5px 5px 7px}.day .left{display:none}.slots{gap:2px}.slot{width:8px;height:8px}.slot + .slot{margin-left:2px}.slot + .slot::before{display:none}.day.today .num{margin:-2px 0 0 -2px;min-width:24px;height:24px}}
.legend{display:flex;gap:8px 18px;flex-wrap:wrap;padding:0 24px 18px;font-size:13px;color:var(--muted);align-items:center}
.legend .slot{display:inline-block;vertical-align:-1px;margin-right:7px}
.legend .slot::before{display:none}
#rulesSummary{flex:1 1 100%}

/* ---------- the selected day ---------- */
.day-panel .panel-head{align-items:flex-start}
.day-title{margin:0;font:700 var(--sf-t-lg)/1.15 var(--sf-font-display)}
.day-sub{font-size:13.5px;color:var(--muted);margin-top:3px}
.day-sub.full{color:var(--flag-ink);font-weight:600}
.appts{list-style:none;margin:0;padding:8px 0}
.appt{padding:14px 24px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:6px}
.appt:last-child{border-bottom:0}
.appt-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.appt-name{font-weight:700;font-size:16px}
.appt-car{font-size:14px;color:var(--muted)}
.appt-reason{font-size:14px;margin:0;overflow-wrap:anywhere}
.appt-actions{display:flex;gap:6px;margin-top:2px}
.class-tag{display:inline-block;font:700 12px/1 var(--sf-font-text);border-radius:var(--sf-r-pill);padding:4px 9px;background:var(--info-bg);color:var(--sf-petrol);white-space:nowrap}
.class-tag.none{background:var(--raised);color:var(--muted);border:1px dashed var(--line)}
.appt-time{font:700 15px var(--sf-font-display);color:var(--ink);min-width:64px}
.appt-writer{font-size:13px;color:var(--muted)}
.src-page td.time{font:600 14.5px var(--sf-font-display);white-space:nowrap;color:var(--ink)}
.over-tag{display:inline-block;font:700 12px/1 var(--sf-font-text);border-radius:var(--sf-r-pill);padding:4px 9px;background:var(--err-bg);color:var(--flag-ink);white-space:nowrap}
.day-empty{padding:26px 24px;color:var(--muted);font-size:14px;margin:0}
.day-foot{padding:14px 24px 18px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px}
.day-foot .btn{width:100%}
.full-note{font-size:13px;color:var(--flag-ink);margin:0}

/* ---------- upcoming list ---------- */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 24px 18px}
.toolbar input[type=search]{flex:1 1 240px;width:auto;background:var(--panel)}
.toolbar select{background:var(--panel)}
.toolbar select{flex:0 1 210px;width:auto}
@media (max-width:640px){.toolbar{padding:12px 16px 14px}}
.table-wrap{overflow-x:auto}
.src-page table{width:100%;border-collapse:collapse;font-size:14px}
.src-page th{text-align:left;font:600 12.5px var(--sf-font-text);color:var(--muted);padding:10px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--raised)}
.src-page td{padding:13px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.src-page th:first-child,.src-page td:first-child{padding-left:24px}
.src-page th:last-child,.src-page td:last-child{padding-right:24px}
.src-page tbody tr:last-child td{border-bottom:0}
.src-page tbody tr{cursor:pointer}
.src-page tbody tr:hover{background:var(--raised)}
.src-page td.reason{color:var(--muted);max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.src-page tr.month-break td{background:var(--panel);font:700 var(--sf-t-md)/1.2 var(--sf-font-display);color:var(--ink);padding-top:22px;padding-bottom:10px;border-bottom:2px solid var(--line);cursor:default}
.src-page tr.month-break:first-child td{padding-top:14px}
.src-page tr.month-break .n{font:500 13px var(--sf-font-text);color:var(--muted);margin-left:10px}
.src-page tr.month-break:hover,tr.day-break:hover{background:inherit}
.src-page tr.day-break td{background:var(--raised);font:700 13px var(--sf-font-text);color:var(--muted);padding-top:10px;padding-bottom:8px;cursor:default}
.empty{padding:28px 24px;color:var(--muted);margin:0}

/* ---------- book / edit dialog ---------- */
.src-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--sf-r-control);overflow:hidden}
@media (max-width:560px){.src-seg{grid-template-columns:repeat(2,minmax(0,1fr))}}
.src-seg label{position:relative;cursor:pointer}
.src-seg input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.src-seg span{display:flex;flex-direction:column;justify-content:center;height:100%;padding:9px 8px;font-size:14px;font-weight:600;text-align:center;border-left:1px solid var(--line);background:var(--panel);line-height:1.2}
.src-seg span small{font-weight:500;font-size:11.5px;color:var(--muted)}
.src-seg label:first-child span{border-left:0}
.src-seg input:checked + span{background:var(--primary-bg);color:var(--primary-ink)}
.src-seg input:checked + span small{color:inherit;opacity:.85}
.src-seg input:focus-visible + span{outline:2px solid var(--focus);outline-offset:-4px}
.avail{font-size:13.5px;margin:0;padding:8px 12px;border-radius:var(--sf-r-control);background:var(--arrived-bg);color:var(--arrived)}
.avail.full{background:var(--err-bg);color:var(--flag-ink)}
.override{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer;padding:10px 12px;border:1px dashed var(--danger);border-radius:var(--sf-r-control)}
.override input{margin-top:3px}
.count{font-size:12px;color:var(--muted);text-align:right}
.msg{font-size:13.5px;margin:0}
.msg.err{color:var(--flag-ink)}
.dlg-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* ---------- SRC Check-In ---------- */
/* (the range is a view filter: the shared segmented track with a raised chip, like .seg) */
.ci-bar{padding:12px 24px;border-bottom:1px solid var(--line-soft);display:flex;gap:10px 16px;align-items:center;flex-wrap:wrap}
.ci-export{width:min(440px,calc(100vw - 32px))}
.ci-range{display:inline-grid;grid-template-columns:repeat(3,auto);gap:2px;padding:3px;background:var(--sf-track);border-radius:var(--sf-r-pill)}
.ci-range label{position:relative;cursor:pointer}
.ci-range input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.ci-range span{display:flex;align-items:center;justify-content:center;min-height:34px;padding:0 16px;font:600 13.5px var(--sf-font-text);color:var(--muted);border-radius:var(--sf-r-pill)}
.ci-range label:hover span{color:var(--ink)}
.ci-range input:checked + span{background:var(--panel);color:var(--ink);font-weight:700;box-shadow:var(--sf-shadow-lift),inset 0 0 0 1px var(--line-soft)}
:root[data-theme="dark"] .ci-range input:checked + span{background:var(--sf-raised)}
.ci-range input:focus-visible + span{outline:2px solid var(--focus);outline-offset:1px}
.ci-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.ci-item{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}
.ci-item button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:1fr auto;gap:4px 12px;width:100%;padding:14px 20px;cursor:pointer}
.ci-item button:hover{background:var(--raised)}
.ci-item button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}
.ci-item .stock{font:700 var(--sf-t-md)/1.2 var(--sf-font-display)}
.ci-item .when{justify-self:end;color:var(--muted);font-size:13.5px}
.ci-item .vin{font:500 13px var(--sf-font-text);letter-spacing:.03em;font-variant-numeric:tabular-nums slashed-zero;color:var(--muted)}
.ci-item .who{justify-self:end;font-size:13.5px;color:var(--muted)}
.ci-item .facts{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}
.ci-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--sf-r-pill);background:var(--raised);border:1px solid var(--line);font:700 12px/1.3 var(--sf-font-text)}
.ci-tag.dmg{background:var(--err-bg);border-color:transparent;color:var(--flag-ink)}
dialog.ci-dlg{width:min(720px,calc(100vw - 24px))}
.ci-dlg form,.ci-view{display:flex;flex-direction:column;gap:16px;padding:22px 24px}
.ci-dlg .hint{font-size:12.5px;color:var(--muted);margin:0}
.ci-dlg input.bad{border-color:var(--danger)}
.ci-dlg .hint.bad{color:var(--flag-ink)}
.fuel-seg{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--sf-r-control);overflow:hidden}
.fuel-seg label{position:relative;cursor:pointer}
.fuel-seg input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.fuel-seg span{display:flex;align-items:center;justify-content:center;min-height:42px;font-size:14px;font-weight:600;border-left:1px solid var(--line);background:var(--panel);font-variant-numeric:tabular-nums}
.fuel-seg label:first-child span{border-left:0}
.fuel-seg input:checked + span{background:var(--primary-bg);color:var(--primary-ink)}
.fuel-seg input:focus-visible + span{outline:2px solid var(--focus);outline-offset:-4px}
.fuel-slider{display:none;flex-direction:column;gap:6px;padding:12px 14px 8px;border:1px solid var(--line);border-radius:var(--sf-r-control);background:var(--raised)}
.fuel-now{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.fuel-now span:first-child{font:700 var(--sf-t-xl)/1 var(--sf-font-display);color:var(--ink);font-variant-numeric:tabular-nums}
.fuel-slider.unset .fuel-now span:first-child{color:var(--muted);font-size:18px}
.fuel-slider input[type=range]{width:100%;min-height:44px;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--sf-petrol);cursor:pointer}
.fuel-slider.unset input[type=range]{accent-color:var(--muted);opacity:.7}
.fuel-ticks{display:flex;justify-content:space-between;padding:0 7px;font-size:13px;font-weight:600;color:var(--muted)}
.fuel-ticks span{width:14px;text-align:center}
.fuel-ticks span:empty::before{content:"";display:block;width:1px;height:8px;margin:3px auto 0;background:var(--line)}
.ci-sec{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line-soft)}
.ci-sec h3{margin:0;font:700 var(--sf-t-md)/1.2 var(--sf-font-display);display:flex;align-items:center;gap:10px}
.ci-progress{font:700 12px var(--sf-font-text);padding:2px 9px;border-radius:999px;background:var(--raised);color:var(--muted)}
.ci-progress.done{background:var(--arrived-bg);color:var(--arrived)}
.ci-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ci-photos:empty{display:none}
.ci-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:4/3;border:2px dashed var(--line);border-radius:var(--sf-r-panel);background:var(--raised);color:var(--ink);cursor:pointer;overflow:hidden;text-align:center;font-weight:600;font-size:14px;padding:6px}
.ci-slot:hover{border-color:var(--sf-petrol)}
.ci-slot:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.ci-slot input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.ci-slot svg{width:26px;height:26px;color:var(--muted)}
.ci-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ci-slot .cap{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;font-size:12.5px;background:rgba(12,8,36,.76);color:#fff;display:flex;justify-content:space-between;gap:6px}
.ci-slot.filled{border-style:solid;border-color:var(--arrived)}
.ci-slot.failed{border-style:solid;border-color:var(--danger)}
.ci-slot .rm{position:absolute;top:6px;right:6px;z-index:1;width:30px;height:30px;border-radius:50%;border:0;background:rgba(12,8,36,.78);color:#fff;font-size:18px;line-height:1;cursor:pointer;min-height:0}
.ci-photos.view .ci-slot{cursor:zoom-in}
.ci-foot{position:sticky;bottom:0;margin:0 -24px -22px;padding:14px 24px;background:var(--panel);border-top:1px solid var(--line)}
.ci-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 16px;margin:0}
.ci-facts div{display:flex;flex-direction:column;gap:2px}
.ci-facts dt{font-size:12.5px;color:var(--muted)}
.ci-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.ci-tag.gm{background:var(--info-bg);border-color:transparent;color:var(--accent)}
.ci-gm{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--sf-r-control);background:var(--raised);font-size:14px}
.ci-gm.bad{background:var(--err-bg);color:var(--flag-ink)}
.ci-zoom{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.9);display:grid;place-items:center;padding:12px;cursor:zoom-out}
.ci-zoom img{max-width:100%;max-height:100%;object-fit:contain}
@media (max-width:640px){
  .ci-bar{padding:12px 16px}
  .ci-range{display:grid;width:100%}
  .ci-range span{padding:0 8px}
  .ci-list{grid-template-columns:minmax(0,1fr)}
  .ci-item{border-right:0}
  .ci-item button{padding:14px 16px}
  .fuel-seg{display:none}
  .fuel-slider{display:flex}
  .ci-photos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ci-dlg form,.ci-view{padding:18px 16px}
  .ci-foot{margin:0 -16px -18px;padding:12px 16px;bottom:0}
  .ci-foot .btn{flex:1}
  dialog.ci-dlg{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh!important;margin:0;border-radius:0}
}


/* ---------- Fleet (B3) ---------- */
.fl-msg{margin:0 24px 12px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--flag) 35%,transparent);border-radius:var(--sf-r-control);background:var(--err-bg)}
.fl-strip{margin:16px 24px 6px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.fl-strip .v{font-size:var(--sf-t-2xl)}
.fl-strip .def{font-size:12.5px;line-height:1.35;color:var(--muted);margin-top:4px}
.fl-table .num,.fl-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.src-page .fl-table tbody tr{cursor:default}
.fl-table td.stock{font:700 15px var(--sf-font-display);letter-spacing:-.005em;white-space:nowrap}
.fl-table td{white-space:nowrap}
.fl-table .fl-act{text-align:right}
/* (the wider face needs room: the vehicle and the customer wrap, the cells pack closer, so the action stays in view at 1280) */
.src-page .fl-table th,.src-page .fl-table td{padding-left:11px;padding-right:11px}
.src-page .fl-table th:first-child,.src-page .fl-table td:first-child{padding-left:24px}
.src-page .fl-table th:last-child,.src-page .fl-table td:last-child{padding-right:20px}
.fl-table td:nth-child(2),.fl-table td:nth-child(5){white-space:normal;min-width:120px}
.fl-table th.num{white-space:normal;min-width:56px}
.fl-row.out_of_fleet td:not(.fl-act){color:var(--muted)}
/* a unit's state: a pill with a node, the word always beside it */
.st-tag{display:inline-flex;align-items:center;gap:6px;font:700 12px/1 var(--sf-font-text);border-radius:var(--sf-r-pill);padding:4px 10px 4px 8px;white-space:nowrap;background:var(--raised);color:var(--muted)}
.st-tag::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:currentColor}
.st-tag.out_of_fleet::before{background:transparent;box-shadow:inset 0 0 0 1.5px currentColor}
.st-tag.available{background:var(--arrived-bg);color:var(--arrived)}
.st-tag.rented{background:var(--info-bg);color:var(--sf-petrol)}
.st-tag.overdue{background:var(--err-bg);color:var(--flag-ink)}
.st-tag.out_of_fleet{border:1px dashed var(--line)}
.stale-tag{display:inline-flex;align-items:center;margin-left:4px;font:700 12px/1 var(--sf-font-text);border-radius:var(--sf-r-pill);padding:4px 8px;white-space:nowrap;color:var(--warn,var(--muted));border:1px dashed currentColor}
@media (max-width:640px){.fl-msg{margin:0 16px 12px}.fl-strip{margin:4px 16px 6px}}

/* ---------- the importers ---------- */
dialog.im-dlg{width:min(760px,calc(100vw - 24px))}
.im-dlg form{display:flex;flex-direction:column;gap:14px;padding:22px 24px}
.im-dlg h3{margin:4px 0 0;font:700 16px/1.2 var(--sf-font-display)}
.im-dlg .hint{font-size:13px;color:var(--muted);margin:0}
.im-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 14px}
.im-field{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.im-field select{width:100%}
.im-preview{overflow:auto;max-height:220px;border:1px solid var(--line);border-radius:var(--sf-r-control)}
.im-preview table{border-collapse:collapse;font-size:13px;width:max-content;min-width:100%}
.im-preview th,.im-preview td{padding:6px 10px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.im-preview th{background:var(--raised);font-size:12px;color:var(--muted);position:sticky;top:0}
.im-problems,.im-missing{padding:10px 12px;border-radius:var(--sf-r-control);background:var(--raised);font-size:13.5px}
.im-problems ul{margin:6px 0 0;padding-left:18px;max-height:180px;overflow:auto}
.im-missing .btn{margin-top:8px}
.im-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin:0}
.im-stats div{padding:10px 12px;border:1px solid var(--line);border-radius:var(--sf-r-control)}
.im-stats dt{font-size:12.5px;color:var(--muted)}
.im-stats dd{margin:2px 0 0;font:700 var(--sf-t-xl)/1.1 var(--sf-font-display);font-variant-numeric:tabular-nums}
.im-dlg .msg.ok{color:var(--arrived)}
@media (max-width:640px){.im-dlg form{padding:18px 16px}}

@media (pointer:coarse){.ci-range span{min-height:44px}.month-nav .btn{min-height:44px;min-width:44px}}
.up-more{margin:12px 0 0;text-align:center}   /* Upcoming: "Show bookings after …" (the loaded days end there) */

/* redesign pass (builder E): the selected day stays in view beside the month; on a phone the state of a day is still a word */
@media (min-width:1061px){.day-panel{position:sticky;top:76px}}
.day:focus-visible,.src-tab:focus-visible,.ci-item button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.legend{font-size:14px}
.day .left{font-size:12.5px}
.day.today:not(.past){box-shadow:0 0 0 2px color-mix(in srgb,var(--sf-flow) 55%,transparent)}
@media (max-width:640px){
  .day{min-height:64px}
  .day .left{display:block;font-size:10.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .day:not(.full):not(.closed):not(.holiday):not(.today) .left{display:none}
  .slots{flex-wrap:wrap;row-gap:2px}
  .legend{padding:0 16px 16px}
}
.src-page td,.src-page th{font-size:14.5px}
@media (prefers-reduced-motion:reduce){.day,.ci-item button{transition:none!important}}
