.schedule-screen{color:#183447}.schedule-title,.schedule-toolbar,.schedule-controls,.schedule-filters,.schedule-job-heading,.schedule-reminder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.schedule-title{margin:4px 0 20px}.schedule-title h1{font-size:28px;margin:3px 0 7px}.schedule-title p{margin:0}.schedule-eyebrow{color:#9e2640;font-size:11px;letter-spacing:1px;font-weight:750;margin:0 0 5px}.schedule-controls{justify-content:flex-start;gap:7px}.schedule-screen button,.job-visits button{font-size:13px;padding:8px 11px;min-height:36px}.schedule-screen [aria-pressed=true]{background:#f8e8ee;color:#9d2440;border-color:#dcb8c3}.schedule-badge{display:inline-block;background:#e9edf3;color:#43566d;border-radius:4px;padding:3px 7px;font-size:11px;white-space:nowrap}.schedule-badge.due{background:#fff0cc;color:#795300}.schedule-badge.confirmed{background:#f8e8ee;color:#9d2440}.schedule-badge.completed{background:#e4f1e9;color:#246849}.schedule-badge.cancelled{background:#eceef0;color:#637083}.schedule-toolbar{margin-bottom:13px}.schedule-toolbar label{margin:0;font-size:12px}.schedule-toolbar input,.schedule-toolbar select{margin-top:3px;padding:7px 9px;font-size:13px;width:auto}.schedule-toolbar label:has(#scheduleZone){max-width:210px}.schedule-toolbar #scheduleZone{width:100%}.schedule-filters{justify-content:flex-start;margin:12px 0 17px}.schedule-filters label{margin:0;min-width:200px;font-size:12px}.schedule-filters input,.schedule-filters select{font-size:13px;padding:8px 10px}.schedule-filters label:first-child{flex:1;max-width:600px}.schedule-columns{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;align-items:start}.schedule-columns>div{min-width:0}.schedule-period{font-size:17px;margin:0 0 12px}.schedule-calendar-wrap{overflow-x:auto;border:1px solid #d7dfe5;background:white;border-radius:7px}.schedule-calendar{min-width:820px}.schedule-calendar-head,.schedule-calendar-body{display:grid;grid-template-columns:47px repeat(7,minmax(0,1fr))}.schedule-calendar-head{border-bottom:1px solid #d7dfe5}.schedule-calendar-head button{border:0;border-radius:0;border-left:1px solid #e1e7ec;padding:10px 4px;font-size:12px;color:#536b7c;background:white}.schedule-calendar-head b{font-size:20px;display:block;color:#183447}.schedule-calendar-head .is-today{background:#faedf2;color:#ac1d40}.schedule-day-column{position:relative;border-left:1px solid #e1e7ec;background:repeating-linear-gradient(to bottom,transparent,transparent 55px,#e7edf2 55px,#e7edf2 56px)}.schedule-day-column.is-today{background-color:#fffafc}.schedule-hours{position:relative;background:#fcfdfe}.schedule-hours span{position:absolute;left:5px;font-size:10px;color:#597080;transform:translateY(4px)}.schedule-screen .schedule-event{position:absolute;display:block;text-align:left;background:#e9eef5;border:0;border-left:3px solid #607a94;border-radius:4px;overflow:auto;padding:6px;font-size:11px;line-height:1.3;color:#24465e}.schedule-screen .schedule-event.confirmed{background:#f6e5ec;border-color:#ad1d40}.schedule-screen .schedule-event.completed{background:#e8f2ed;border-color:#4f9276}.schedule-event b,.schedule-event span,.schedule-event small{display:block;margin-top:4px}.schedule-event b{font-size:12px}.schedule-event small{font-size:10px;color:#4c6575}.schedule-unscheduled{background:white;border:1px solid #d7dfe5;border-radius:7px;padding:16px;margin-top:31px;max-height:740px;overflow:auto}.schedule-unscheduled h2{font-size:16px}.schedule-unscheduled .muted{font-size:12px}.schedule-unscheduled article{padding:13px 0;border-top:1px solid #e1e7ec}.schedule-unscheduled article b{display:block;font-size:13px;margin:6px 0 9px}.schedule-unscheduled small{font-size:11px;color:#607687}.schedule-empty{padding:25px 16px;background:#fff;border:1px dashed #c6d1db;color:#596d80;border-radius:6px}.schedule-agenda-visit{background:#fff;border:1px solid #d7dfe5;border-left:3px solid #607a94;padding:15px;display:flex;gap:15px;justify-content:space-between;margin-bottom:10px;border-radius:6px}.schedule-agenda-visit.confirmed{border-left-color:#ad1d40}.schedule-agenda-visit.completed{border-left-color:#4f9276}.schedule-agenda-visit.cancelled{opacity:.75}.schedule-agenda-visit>div:first-child{min-width:0}.schedule-agenda-visit b,.schedule-agenda-visit span:not(.schedule-badge),.schedule-agenda-visit strong,.schedule-agenda-visit small{display:block}.schedule-agenda-visit b{font-size:15px;margin:6px 0}.schedule-agenda-visit small{font-size:12px;color:#607080}.schedule-agenda-visit strong{font-size:14px;margin-top:5px}.schedule-agenda-visit span{font-size:13px;margin:5px 0}.schedule-notes{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}.schedule-visit-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch;flex:none;max-width:150px}.schedule-visit-actions .schedule-badge{align-self:start}.schedule-message:empty{display:none}.schedule-message{background:#fff3d8;padding:10px 12px;margin-bottom:16px;font-size:13px;border-radius:6px}.job-visits{max-width:1100px;padding:20px;background:white;border:1px solid #b2c4cf;border-radius:10px;margin:16px 0}.schedule-job-heading{margin-bottom:16px}.schedule-job-heading h2{font-size:19px}.schedule-reminder-heading{margin-bottom:13px}.schedule-reminder{display:flex;gap:15px;justify-content:space-between;padding:18px;border:1px solid #d7dfe5;background:#fff;border-radius:7px;margin-bottom:12px}.schedule-reminder.is-due{background:#fff9ee;border-color:#e7d3a8}.schedule-reminder h3{font-size:16px;margin:8px 0}.schedule-reminder p{font-size:14px;margin:5px 0}.schedule-reminder small{font-size:12px;color:#526b7a}.schedule-reminder-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.schedule-snooze{font-size:11px;margin:0}.schedule-snooze select{font-size:13px;padding:7px 9px;margin-top:3px}.schedule-booking{position:fixed;inset:40px 0 0 auto;margin:0;border-radius:0;width:530px;max-width:100vw;height:calc(100dvh - 40px);max-height:none;padding:0}.schedule-booking form{height:100%;display:flex;flex-direction:column}.schedule-booking .modalhead{padding:20px 24px;border-bottom:1px solid #dce3e9;flex:none}.schedule-booking .modalhead h2{font-size:23px}.schedule-form-body{padding:18px 24px;overflow:auto;min-height:0;flex:1}.schedule-form-body label{font-size:13px;margin:0 0 13px}.schedule-form-body input,.schedule-form-body select,.schedule-form-body textarea{font-size:14px;padding:9px 11px}.schedule-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-form-grid>*{min-width:0}.schedule-reminder-choices{border:0;border-top:1px solid #dce3e9;padding:15px 0 5px;margin:17px 0 5px;display:flex;gap:10px;flex-wrap:wrap}.schedule-reminder-choices legend{font-size:15px;font-weight:700;padding:0 10px 0 0}.schedule-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:16px 24px;border-top:1px solid #dce3e9;flex:none}.schedule-form-actions .danger{margin-right:auto}.schedule-form-actions button{font-size:14px;padding:9px 13px}.schedule-warning{background:#fff2d6;color:#7c560b;padding:10px 12px;border-radius:5px;font-size:13px}.schedule-available{background:#eaf4ee;color:#286847;padding:10px 12px;border-radius:5px;font-size:13px}.schedule-nav-count{font-size:11px;background:#fff0cc;color:#795300;border-radius:4px;margin-left:6px;padding:1px 5px}
@media(max-width:1100px){.schedule-columns{grid-template-columns:minmax(0,1fr)}.schedule-unscheduled{margin-top:0;max-height:360px}.schedule-unscheduled article{display:inline-block;vertical-align:top;width:min(100%,240px);padding:12px;margin-right:10px}.schedule-toolbar .schedule-controls{flex-wrap:wrap}}
@media(max-width:800px){.schedule-title{align-items:flex-start;gap:10px;margin-bottom:15px}.schedule-title h1{font-size:23px}.schedule-title .muted{font-size:12px}.schedule-title .schedule-controls{gap:6px}.schedule-screen button,.job-visits button{font-size:12px;padding:7px 9px}.schedule-toolbar{align-items:flex-end}.schedule-toolbar label:has(#scheduleZone){max-width:185px}.schedule-filters label{min-width:140px}.schedule-calendar{min-width:820px}.schedule-agenda-visit{padding:12px;gap:9px}.schedule-agenda-visit b{font-size:14px}.schedule-visit-actions{max-width:110px}.schedule-visit-actions button{white-space:normal}.schedule-reminder{display:block;padding:14px}.schedule-reminder-actions{margin-top:13px}.schedule-reminder-actions button{min-height:38px}.schedule-reminder-heading h2{font-size:19px}.schedule-booking{inset:0;margin:0;width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.schedule-booking .modalhead{padding:15px}.schedule-form-body{padding:15px}.schedule-form-actions{padding:12px}.schedule-form-grid{gap:10px}.job-visits{padding:15px}.schedule-job-heading h2{font-size:18px}.schedule-unscheduled article{width:100%;margin:0;padding:12px 0}.schedule-badge{max-width:100%;white-space:normal}}

/* Calendar-first planning, shared across phone and desktop. */
.schedule-screen{max-width:1100px;margin:0 auto}.schedule-title{margin-bottom:8px!important;align-items:center!important}.schedule-title h1{font-size:22px!important;margin:0!important}.schedule-toolbar{margin-bottom:8px;gap:8px}.schedule-toolbar strong{font-size:15px;margin-left:6px}.schedule-message{margin:6px 0;padding:7px 10px}.schedule-success:empty{display:none}.schedule-success{margin:6px 0 10px;background:#e4f1e9;border:1px solid #8cb69d;padding:10px 12px;border-radius:5px;color:#205a3e;font-size:14px;font-weight:600}.schedule-weekdays,.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-month{border:1px solid #d7dfe5;border-radius:6px;overflow:hidden;background:#fff}.schedule-weekdays{background:#f3f5f7}.schedule-weekdays span{text-align:center;font-size:12px;padding:6px 0;color:#536174}.schedule-month-day{min-width:0;min-height:76px;border-top:1px solid #e2e7ec;border-right:1px solid #e2e7ec;box-sizing:border-box;padding:3px}.schedule-month-day:nth-child(7n){border-right:0}.schedule-month-day.outside-month{background:#f8f9fa}.outside-month .schedule-day-number{color:#8993a1}.schedule-screen .schedule-day-number{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:28px;font-size:13px;padding:3px 5px;border:0;background:transparent;color:#43566d;text-align:left}.schedule-day-number small{font-size:10px;border-radius:3px;padding:1px 4px;background:#e9edf3}.schedule-month-day.is-selected{background:#fff4f7;box-shadow:inset 0 0 0 2px #a52437}.is-today .schedule-day-number{font-weight:800;color:#a52437}.schedule-screen .schedule-event{position:static;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;height:auto;min-height:24px;font-size:11px;padding:3px 5px;margin:2px 0;border-left-width:2px}.schedule-event strong{font-size:10px}.schedule-screen .schedule-more{min-height:22px;padding:2px 4px;font-size:10px;border:0;background:transparent}.schedule-day-heading{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:12px 0 7px}.schedule-day-heading h2{font-size:15px;margin:0}.schedule-day-heading>span{font-size:11px;color:#637083}.schedule-agenda-visit{padding:10px 12px;margin-bottom:6px}.schedule-agenda-visit b{font-size:14px;margin:3px 0}.schedule-agenda-visit strong{margin:2px 0;font-size:13px}.schedule-visit-actions{flex-direction:row;align-items:center;max-width:none;flex-wrap:wrap;justify-content:flex-end}.schedule-empty{padding:12px;font-size:13px;margin:0 0 10px}.schedule-options{margin:10px 0}.schedule-options summary,.schedule-unscheduled summary{font-size:13px;color:#536174;cursor:pointer;min-height:36px;display:list-item;align-content:center}.schedule-filters{margin:5px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-filters label{min-width:0;max-width:none!important}.schedule-filters input,.schedule-filters select{width:100%;min-width:0;box-sizing:border-box}.schedule-unscheduled{padding:0 12px;margin:8px 0;max-height:260px}.schedule-unscheduled article{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;margin:0;padding:8px 0}.schedule-unscheduled article b{flex:1}.schedule-booking{inset:0;margin:auto;border-radius:9px;width:580px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 28px)}.schedule-booking form{max-height:calc(100dvh - 28px);height:auto}.schedule-booking .modalhead{padding:12px 18px}.schedule-booking .modalhead h2{font-size:20px}.schedule-form-body{padding:12px 18px}.schedule-form-body label{font-size:12px;margin-bottom:9px}.schedule-form-body input,.schedule-form-body select,.schedule-form-body textarea{padding:7px 9px;font-size:14px;min-height:36px;max-width:100%;box-sizing:border-box}.schedule-form-grid{gap:0 12px}.schedule-form-actions{padding:10px 18px}.schedule-reminder-choices{display:block;padding:8px 0;margin:5px 0;border-top:1px solid #dce3e9}.schedule-reminder-choices legend{font-size:13px}.schedule-reminder-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px;margin:0 0 6px}.schedule-reminder-row label{margin:0}.schedule-reminder-row button{font-size:12px;padding:7px 8px;min-height:36px}.schedule-reminder-choices>button{padding:6px 9px;font-size:12px;min-height:34px}.schedule-reminder-hint{font-size:11px;color:#637083;line-height:1.4;margin:0 0 9px}.schedule-booking-details summary{font-size:12px;cursor:pointer;margin-bottom:8px;min-height:30px;align-content:center}.schedule-booking #scheduleSaveMessage{font-size:13px;margin:6px 0 0}.schedule-form-body .schedule-warning{padding:7px 9px;margin:6px 0;font-size:12px}
@media(max-width:800px){.schedule-title h1{font-size:19px!important}.schedule-title .schedule-controls{flex-wrap:nowrap}.schedule-screen button{font-size:12px;min-height:36px}.schedule-month-day{min-height:56px;padding:2px}.schedule-screen .schedule-day-number{min-height:30px;padding:2px 3px;font-size:12px}.schedule-screen .schedule-event{font-size:9px;min-height:19px;padding:2px 3px}.schedule-event strong{font-size:9px}.schedule-toolbar strong{font-size:13px;margin-left:0}.schedule-toolbar .schedule-controls{gap:4px}.schedule-toolbar{align-items:center}.schedule-toolbar button{padding:5px 7px}.schedule-weekdays span{font-size:10px}.schedule-day-heading{flex-wrap:wrap;gap:3px}.schedule-visit-actions{flex-direction:column;max-width:100px}.schedule-agenda-visit b{font-size:12px}.schedule-booking{inset:0;margin:auto;width:100%;max-width:100vw;max-height:100dvh;border-radius:0}.schedule-booking form{max-height:100dvh}.schedule-form-body{padding:10px 12px}.schedule-booking .modalhead,.schedule-form-actions{padding:10px 12px}.schedule-form-actions button{font-size:12px;padding:7px 10px}.schedule-form-grid{gap:0 9px}.schedule-unscheduled article{flex-wrap:wrap}.schedule-unscheduled article b{min-width:50%;font-size:12px}}
@media(max-width:360px){.schedule-screen .schedule-event{font-size:8px}.schedule-event strong{display:block}.schedule-title .schedule-controls{gap:4px}.schedule-title button{padding:5px 6px;font-size:11px}.schedule-toolbar{flex-wrap:wrap}.schedule-day-number small{padding:1px 3px}.schedule-form-actions{gap:5px}}
.schedule-title{justify-content:flex-end}.schedule-view-week .schedule-month-day{min-height:180px}.schedule-view-day .schedule-weekdays,.schedule-view-day .schedule-month-grid{grid-template-columns:minmax(0,1fr)}.schedule-view-day .schedule-month-day{min-height:160px;border-right:0}.schedule-view-day .schedule-event{font-size:13px;padding:8px}.schedule-view-day .schedule-event strong{font-size:13px}.schedule-day-visits .schedule-agenda-visit{align-items:center}

/* Compact reminder rows with status, task and timing kept together. */
.schedule-reminder-heading{margin:10px 0 5px}.schedule-reminder-heading h2{font-size:17px;margin:0}.schedule-reminder-heading .schedule-controls{gap:4px}.schedule-reminder-heading button{padding:5px 9px;min-height:32px}.schedule-reminder-list{border:1px solid #d7dfe5;border-radius:6px;overflow:hidden;background:#fff}.schedule-reminder-list>.schedule-empty{margin:0;border:0;border-radius:0}.schedule-reminder{display:flex;align-items:center;gap:8px 16px;padding:8px 10px;margin:0;border:0;border-bottom:1px solid #e2e7ec;border-radius:0}.schedule-reminder:last-child{border-bottom:0}.schedule-reminder.is-overdue{background:#fff9ee}.schedule-reminder-details{flex:1;min-width:0}.schedule-reminder-summary{display:flex;align-items:baseline;gap:7px;min-width:0}.schedule-reminder h3{font-size:13px;line-height:1.35;margin:0;overflow-wrap:anywhere}.schedule-reminder .schedule-badge{flex:none;font-size:10px;padding:2px 5px}.schedule-reminder-meta{display:flex;flex-wrap:wrap;gap:2px 12px;margin-top:3px;font-size:11px;line-height:1.4;color:#526b7a}.schedule-reminder-meta>span{min-width:0;overflow-wrap:anywhere}.schedule-reminder-meta time{white-space:nowrap}.schedule-reminder-actions{gap:5px;margin:0;flex:none;flex-wrap:nowrap}.schedule-reminder-actions button{font-size:12px;padding:5px 8px;min-height:32px}.schedule-snooze{display:flex;align-items:center;gap:4px;font-size:11px;white-space:nowrap}.schedule-snooze select{width:auto;max-width:105px;font-size:12px;padding:5px 6px;margin:0;min-height:32px}
@media(max-width:800px){.schedule-reminder{display:flex;flex-wrap:wrap;gap:6px;padding:7px 8px}.schedule-reminder-details{flex-basis:100%}.schedule-reminder-actions{margin:0;gap:6px;justify-content:flex-end;width:100%}.schedule-reminder-actions button,.schedule-snooze select{min-height:36px}.schedule-reminder-heading h2{font-size:16px}.schedule-reminder-heading{gap:4px}.schedule-reminder-heading .schedule-controls{gap:3px}.schedule-reminder-heading button{font-size:11px;padding:4px 6px}.schedule-reminder-meta{gap:2px 8px}}

/* Every calendar day opens scheduling; bookings offer their own quick actions. */
.schedule-month-day.can-schedule{cursor:pointer}.schedule-month-day.can-schedule:hover{box-shadow:inset 0 0 0 1px #c38293}.schedule-screen .schedule-weekday{border:0;border-radius:0;background:transparent;color:#536174;font-size:12px;padding:6px 0;min-height:30px;min-width:0}.schedule-screen .schedule-weekday:hover{background:#f8e8ee;color:#942136}.schedule-screen .schedule-event:focus-visible,.schedule-screen .schedule-day-number:focus-visible,.schedule-screen .schedule-weekday:focus-visible{outline:2px solid #a52437;outline-offset:-2px}
.schedule-visit-options{width:420px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:16px;border-radius:8px}.schedule-visit-options .modalhead{gap:12px}.schedule-visit-options .modalhead h2{font-size:19px;margin:0}.schedule-visit-options .modalhead button{font-size:13px;padding:6px 9px;min-height:36px}.schedule-visit-summary{padding:12px 0;overflow-wrap:anywhere}.schedule-visit-summary strong{font-size:12px;color:#942136}.schedule-visit-summary p{font-size:14px;margin:5px 0;overflow-wrap:anywhere}.schedule-visit-summary time{font-size:12px;color:#536174}.schedule-quick-actions{display:flex;gap:8px}.schedule-quick-actions button{flex:1;font-size:13px;min-height:40px;padding:8px 12px}.schedule-visit-options .form-message{font-size:13px;margin:10px 0 0}.schedule-visit-options .form-message:empty{display:none}
@media(max-width:800px){.schedule-screen .schedule-weekday{font-size:10px;min-height:32px}.schedule-visit-options{padding:14px}.schedule-visit-options .modalhead h2{font-size:18px}}
