.booking-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.mode-card{text-align:left;padding:19px;background:white;border:1px solid var(--line);border-radius:13px;color:var(--green)}.mode-card strong{display:block;margin-top:12px;font:800 15px Manrope,system-ui}.mode-card p{font-size:11px;color:var(--muted);line-height:1.6;margin-top:7px}.mode-card.active{border:2px solid var(--green);padding:18px;background:#eff3e8}.flow-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,1fr);gap:22px;align-items:start}.flow-grid .panel{padding:21px}.flow-heading{margin:0 0 18px}.flow-heading p{margin-top:7px;font-size:12px;color:var(--muted);line-height:1.7}.flow-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.flow-header .textbtn{white-space:nowrap}.stepper{display:flex;gap:15px;color:var(--muted);font-size:11px;margin-bottom:20px}.stepper strong{color:var(--green)}.selected-day{padding:16px 0;border-bottom:1px solid var(--line)}.selected-day:first-child{padding-top:0}.selected-day:last-child{border-bottom:0}.selected-day .chips{margin:10px 0 0;flex-wrap:wrap;overflow:visible;gap:6px}.selected-day .chip{padding:8px 11px;border-radius:8px;font-size:10px}.dog-choice{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.dog-choice .chip{font-size:12px}.flow-summary{position:sticky;top:105px}.flow-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.flow-actions p{font-size:11px;color:var(--muted)}.booking-calendar .cal-cell{min-height:57px}.cal-cell:disabled{opacity:.38;cursor:default}.cal-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#aec28e}.service-count{font-size:8px!important;min-height:10px}.month-title{font-size:16px}.weekday-row{display:grid;grid-template-columns:55px 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.weekday-row select{padding:12px;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;color:var(--ink)}.date-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rule-card{padding:20px}.rule-card+.rule-card{border-top:1px solid var(--line)}.rule-pattern{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.rule-pattern span{font-size:11px;padding:8px 10px;background:#f1f4eb;border-radius:7px}.night-card{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.night-card:last-child{border:0}.service-preview{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.month-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0}.review-table{width:100%;border-collapse:collapse;font-size:12px}.review-table td,.review-table th{border-bottom:1px solid var(--line);text-align:left;padding:13px 8px;vertical-align:top}.review-table th{font-size:10px;color:var(--muted);font-weight:600}.review-table td:last-child,.review-table th:last-child{text-align:right}.exception{background:#f5f1e6;border-radius:10px;padding:14px;margin-top:12px}.exception label{display:flex;gap:9px;font-size:11px;align-items:start;margin-top:10px}.exception input{margin-top:2px}.cal-modal-list{max-height:260px;overflow:auto}.batch-counter{font:800 15px Manrope,system-ui;color:var(--green)}.dog-editor{display:grid;grid-template-columns:1fr 100px;gap:12px}.calendar-service{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;padding:2px 3px;background:#eaf0df;border-radius:3px;color:var(--green)}.cal-cell.client-day{justify-content:flex-start;align-items:stretch;padding:6px;min-height:85px}.client-day>span:first-child{text-align:center}.service-inbox button{margin-top:10px}.rule-edit-banner{font-size:11px;line-height:1.7;color:var(--muted);margin-bottom:16px}.flow-error{padding:12px;border-radius:8px;background:#f5e8df;color:#9a4030;font-size:11px;line-height:1.6;margin-bottom:15px}.all-dates-label{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.7}.receipt{max-width:580px;margin:0 auto}.receipt .brand-mark{width:55px;height:55px;border-radius:50%;margin:0 auto 20px}.receipt h1{text-align:center;font-size:27px}.receipt>p{text-align:center;margin-top:12px;line-height:1.7;color:var(--muted)}.dog-limit{font-size:10px;color:var(--muted);margin:12px 0}.inline-note{font-size:10px;color:#887354;line-height:1.7;margin-top:10px}.booking-id{font-size:9px;color:var(--muted);overflow-wrap:anywhere}.review-mobile{display:none}
@media(max-width:1000px){.flow-grid{grid-template-columns:1fr}.flow-summary{position:static}.booking-modes{gap:9px}.mode-card{padding:16px}.mode-card.active{padding:15px}}
@media(max-width:680px){.booking-modes{grid-template-columns:1fr}.mode-card{display:grid;grid-template-columns:28px 1fr;column-gap:13px;padding:15px}.mode-card svg{grid-row:1/3;align-self:center}.mode-card strong{margin:0;font-size:13px}.mode-card p{margin-top:4px;font-size:10px}.mode-card.active{padding:14px}.flow-grid{gap:15px}.flow-grid .panel{padding:17px}.flow-header h1{font-size:25px}.flow-actions{flex-wrap:wrap}.flow-actions .primary{margin-left:auto}.booking-calendar .cal-cell{min-height:47px}.date-pair{gap:9px}.review-table{font-size:11px}.review-table td,.review-table th{padding:11px 5px}.cal-cell.client-day{min-height:70px;padding:4px}.calendar-service{font-size:7px}.weekday-row{grid-template-columns:42px 1fr}.receipt h1{font-size:25px}.flow-heading h2{font-size:18px}}
.scenario-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 15px;background:#e9eee2;border:1px solid var(--line);border-radius:10px;margin-bottom:20px;font-size:11px}.scenario-bar label{display:flex;gap:8px;align-items:center;font-weight:700}.scenario-bar select{padding:8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--green)}.scenario-bar span{color:var(--muted)}.bulkbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:20px 0}.bulkbar label{font-size:10px;display:flex;flex-direction:column;gap:6px}.bulkbar input{padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff}.bulkbar strong{font-size:11px}.bulkbar button:disabled{opacity:.4;cursor:default}.work-card input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--green)}.simulation-confirm{display:flex;gap:9px;line-height:1.7;font-size:12px;margin-top:20px;padding:14px;background:#f0ecd9;border-radius:8px}.simulation-confirm input{margin-top:3px}.critical{margin-bottom:22px;border:1px solid #d7b587;background:#f7ecdb;justify-content:space-between}.cal-grid>*{min-width:0}.work-card h3{overflow-wrap:anywhere}.work-card .money{font-size:12px}.stat strong{overflow-wrap:anywhere}.flow-summary .listline{flex-wrap:wrap}.modal .actions{flex-wrap:wrap}
@media(max-width:680px){.bulkbar{padding:12px;gap:8px}.bulkbar .secondary{font-size:10px;padding:10px}.stats .stat strong{font-size:19px}.critical{flex-wrap:wrap}.review-table{table-layout:fixed;overflow-wrap:anywhere}.flow-header{align-items:flex-start}.flow-header h1{overflow-wrap:anywhere}.work-card .row.between{flex-wrap:wrap}.work-card .job-actions .primary{margin-left:0}.mobile-nav button{min-width:0;font-size:8px}.mode-card{min-height:64px}}

/* Draft service colours are provisional; labels also identify every service. */
.service-am{--service-bg:#e0edf9;--service-ink:#164f7c;--service-edge:#609dca}.service-pm{--service-bg:#f1e5fa;--service-ink:#673586;--service-edge:#aa77c5}.service-double{--service-bg:#fcebd2;--service-ink:#7a4811;--service-edge:#d9a051}.service-daycare{--service-bg:#dff1e6;--service-ink:#215b3c;--service-edge:#68aa81}
.calendar-service[class*="service-"]{background:var(--service-bg);color:var(--service-ink);border-left:3px solid var(--service-edge)}
.service-legend{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 6px}.service-legend .calendar-service{font-size:11px;padding:6px 9px}
.booking-calendar .cal-cell.adhoc-day{min-height:108px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:4px;padding:6px 3px;background:#fff}.adhoc-day>span:first-child{text-align:center}.booking-calendar .adhoc-day.selected{background:#f6f8f1;box-shadow:inset 0 0 0 2px var(--green);color:var(--ink)}.adhoc-day .calendar-service{font-size:9px;white-space:normal;line-height:1.3;overflow-wrap:anywhere;padding:3px 2px;flex-shrink:0}
.date-service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.service-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:12px;background:var(--service-bg);color:var(--service-ink);border:2px solid transparent;border-radius:10px;text-align:left}.service-option.chosen{border-color:var(--service-ink)}.service-option strong{font-size:19px}
@media(max-width:480px){.flow-grid .booking-calendar{padding:12px}.booking-calendar .cal-grid{gap:3px}.adhoc-day .calendar-service{font-size:8px;border-left-width:2px}.service-legend .calendar-service{font-size:10px}.date-service-options{gap:8px}.service-option{font-size:12px}}

.date-colour-preview{padding:12px;background:#f7f8f3;border:1px solid var(--line);border-radius:10px;font-size:12px}.date-colour-preview .service-legend{margin-bottom:0}

.inline-service-picker{position:sticky;top:86px;z-index:3;background:#fff;padding:12px;border:1px solid var(--line);border-radius:12px;margin:12px 0;box-shadow:0 3px 12px #183f3510}.inline-service-picker>.row>strong{font-size:12px}.inline-service-picker .date-service-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0}.inline-service-picker .service-option{min-height:44px;padding:7px;font-size:11px;gap:3px}.inline-service-picker .service-option strong{font-size:14px}.inline-service-picker .service-option:disabled{opacity:.5;cursor:default}.inline-service-picker .hint{margin:0;font-size:10px}.booking-calendar .adhoc-day.editing-date{outline:2px solid #609dca;outline-offset:1px}.booking-calendar .cal-cell.adhoc-day{min-height:72px}
@media(max-width:680px){.inline-service-picker{top:72px;padding:10px}.inline-service-picker .service-option{font-size:10px;padding:6px 4px}.inline-service-picker .service-option strong{font-size:12px}}
