:root{--ink:#17231f;--muted:#6d7b75;--line:#e4e9e6;--paper:#fff;--surface:#f5f7f4;--forest:#123e35;--forest-2:#0c2f29;--lime:#cbed65;--lime-soft:#eff8ce;--blue:#4d76d9;--blue-soft:#edf2ff;--amber:#c17a11;--amber-soft:#fff5da;--purple:#7759c7;--purple-soft:#f2edff;--danger:#be5945;--danger-soft:#fff0eb;--shadow:0 20px 60px rgba(17,43,36,.13);--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.app-shell{min-height:100vh}.topbar{height:76px;background:var(--forest-2);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1440px)/2));box-shadow:0 1px 0 rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:11px;color:white;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;color:var(--lime)}.brand-mark svg{width:43px;height:43px;stroke:none}.brand span:last-child{display:grid;line-height:1}.brand strong{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.3px}.brand small{font-size:11px;color:#acc1ba;margin-top:6px;letter-spacing:.08em;text-transform:uppercase}.topbar-actions{display:flex;align-items:center;gap:14px}.mode-chip{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:12px;color:#d0ddd8;background:rgba(255,255,255,.05)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(203,237,101,.12)}.icon-button,.close-button{width:38px;height:38px;border:0;background:transparent;color:inherit;display:grid;place-items:center;border-radius:10px}.icon-button:hover{background:rgba(255,255,255,.08)}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e8f6bc;color:#17372f;font-weight:700;font-size:12px;border:2px solid rgba(255,255,255,.2)}main{max-width:1440px;margin:auto;padding:38px 28px 120px}.hero-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:#7d8b85;margin:0 0 9px;text-transform:uppercase}.hero-row h1{font-family:Manrope,sans-serif;font-size:31px;line-height:1.15;letter-spacing:-1px;margin:0}.subhead{margin:8px 0 0;color:var(--muted);font-size:14px}.secondary-button,.primary-button,.text-button{border-radius:10px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:13px}.secondary-button{background:white;border:1px solid var(--line);color:#34443e;box-shadow:0 1px 2px rgba(0,0,0,.03)}.secondary-button:hover{border-color:#c9d2ce;background:#fbfcfb}.secondary-button svg{width:17px;height:17px}.primary-button{background:var(--forest);color:white;border:1px solid var(--forest);box-shadow:0 3px 9px rgba(18,62,53,.18)}.primary-button:hover{background:#0d312b}.primary-button svg{width:17px;height:17px}.primary-button.disabled{opacity:.5;cursor:not-allowed}.text-button{border:0;background:transparent;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px}.metric-card{background:white;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 1px 3px rgba(12,47,41,.03)}.metric-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.metric-icon svg{width:20px;height:20px}.metric-icon.green{background:var(--lime-soft);color:#436218}.metric-icon.blue{background:var(--blue-soft);color:var(--blue)}.metric-icon.amber{background:var(--amber-soft);color:var(--amber)}.metric-icon.purple{background:var(--purple-soft);color:var(--purple)}.metric-card div:last-child{display:grid}.metric-card span{font-size:12px;color:var(--muted)}.metric-card strong{font:700 22px/1.2 Manrope,sans-serif;margin-top:3px}.weather-alert{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;background:#fff8df;border:1px solid #f0df9a;border-radius:13px;padding:13px 15px;margin-bottom:17px;color:#705318}.weather-icon{width:38px;height:38px;border-radius:10px;background:#ffebad;display:grid;place-items:center;color:#8f6513}.weather-alert div:nth-child(2){display:grid}.weather-alert strong{font-size:13px;color:#6a4b0e}.weather-alert span{font-size:12px;margin-top:3px;color:#8b723d}.weather-alert>button{border:0;background:transparent;color:#775512;font-weight:700;font-size:12px}.weather-alert>button:not(.dismiss-alert){padding:8px 11px;border:1px solid #ead078;border-radius:8px;background:rgba(255,255,255,.5)}.weather-alert .dismiss-alert{font-size:21px;font-weight:400;padding:5px}.schedule-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 7px rgba(18,48,40,.04);overflow:hidden}.schedule-header{display:flex;justify-content:space-between;align-items:flex-end;padding:22px 23px 16px}.schedule-header h2,.modal h2,.drawer h2{font:700 21px/1.2 Manrope,sans-serif;letter-spacing:-.4px;margin:0}.schedule-tools{display:flex;gap:9px}.search-box{height:39px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 11px;width:245px;background:#fbfcfb}.search-box:focus-within{border-color:#90a79d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.search-box svg{width:17px;height:17px;color:#8d9994}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:12px;color:var(--ink)}.filter-row{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid var(--line)}.filter-tab{border:0;background:transparent;padding:11px 11px 12px;font-size:12px;color:#77847f;font-weight:600;position:relative}.filter-tab span{margin-left:4px;padding:2px 6px;border-radius:999px;background:#eff2f0;font-size:10px}.filter-tab.active{color:var(--forest)}.filter-tab.active:after{content:"";position:absolute;height:2px;background:var(--forest);left:10px;right:10px;bottom:-1px;border-radius:2px}.filter-tab.active span{background:var(--lime-soft);color:#385a1c}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1000px}th{text-align:left;background:#fafbfa;color:#7b8983;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:11px 13px;border-bottom:1px solid var(--line)}td{font-size:12px;padding:13px;border-bottom:1px solid #edf0ee;color:#394942}tbody tr{transition:.15s;background:white}tbody tr:hover{background:#fbfcfb}tbody tr.selected{background:#f6fae8}.check-cell{width:42px;padding-left:20px}input[type="checkbox"]{appearance:none;width:16px;height:16px;border:1.5px solid #b9c5c0;border-radius:4px;background:white;display:inline-grid;place-content:center;vertical-align:middle}input[type="checkbox"]:checked{background:var(--forest);border-color:var(--forest)}input[type="checkbox"]:checked:before{content:"";width:8px;height:4px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translate(1px,-1px)}.customer-cell{display:flex;align-items:center;gap:10px;min-width:160px}.initials{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;font-weight:700;font-size:10px;background:#edf2ef;color:#456158}.customer-cell div{display:grid}.customer-cell strong{font-size:12px;color:#273830}.customer-cell span,.service-cell span,.date-cell span{font-size:10px;color:#89958f;margin-top:3px}.service-cell,.date-cell{display:grid;min-width:130px}.service-cell strong,.date-cell strong{font-weight:600;color:#35453f}.tech-chip{display:flex;align-items:center;gap:7px}.tech-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dfe8e4;color:#3d574e;font-size:9px;font-weight:700}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:700;white-space:nowrap}.status-pill:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status-confirmed{color:#2d6a4e;background:#e9f6ee}.status-awaiting{color:#9a6712;background:#fff5dd}.status-needs-reschedule{color:#a54e3c;background:#fff0eb}.right{text-align:right}.price-cell{text-align:right;font-weight:700}.row-action{border:0;background:transparent;color:#75857e;width:31px;height:31px;border-radius:8px;display:grid;place-items:center}.row-action:hover{background:#edf2ef;color:var(--forest)}.row-action svg{width:17px}.empty-state{text-align:center;padding:60px 20px}.empty-state strong,.empty-state span{display:block}.empty-state span{font-size:12px;color:var(--muted);margin-top:5px}.bulk-bar{position:fixed;z-index:30;left:50%;bottom:22px;transform:translate(-50%,130px);background:#102f29;color:white;min-width:480px;border-radius:14px;padding:11px 12px 11px 18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 16px 45px rgba(8,29,25,.3);transition:.25s ease}.bulk-bar.visible{transform:translate(-50%,0)}.bulk-bar>div{display:flex;align-items:center;gap:10px}.bulk-bar strong{font-size:12px}.bulk-bar>div button{border:0;background:transparent;color:#acc0b8;font-size:11px}.bulk-bar .primary-button{background:var(--lime);border-color:var(--lime);color:#1a3229;box-shadow:none}.modal-backdrop{position:fixed;z-index:50;inset:0;background:rgba(5,25,21,.42);display:grid;place-items:center;padding:20px;backdrop-filter:blur(3px)}.modal-backdrop[hidden]{display:none}.modal{width:min(640px,100%);max-height:90vh;overflow:auto;background:white;border-radius:18px;box-shadow:var(--shadow)}.modal-header,.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 24px;border-bottom:1px solid var(--line)}.close-button{font-size:25px;color:#7b8983}.close-button:hover{background:#f1f4f2}.modal-body{padding:22px 24px}.stepper{display:grid;grid-template-columns:24px 1fr 24px;grid-template-rows:24px auto;align-items:center;width:190px;margin:0 auto 26px}.stepper span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#edf1ef;color:#7e8b85;font-size:10px;font-weight:700}.stepper span.active{background:var(--forest);color:white}.stepper i{height:1px;background:#dce3df}.stepper p{font-size:9px;color:#89958f;margin:5px -15px 0;text-align:center}.stepper p:last-child{grid-column:3}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label{font-size:11px;font-weight:600;color:#50615a}.form-grid input,.form-grid select{display:block;width:100%;height:42px;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:white;color:#273830;font-size:12px;outline:0}.form-grid input:focus,.form-grid select:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.toggle-row span{display:grid}.toggle-row strong{font-size:12px}.toggle-row small{font-size:10px;color:var(--muted);margin-top:3px}.toggle-row input{display:none}.toggle-row i{width:35px;height:20px;background:#cdd6d2;border-radius:20px;position:relative;transition:.2s}.toggle-row i:after{content:"";width:16px;height:16px;border-radius:50%;background:white;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:.2s}.toggle-row input:checked+i{background:var(--forest)}.toggle-row input:checked+i:after{transform:translateX(15px)}.safety-note{background:#f0f6f3;border:1px solid #d9e7e1;border-radius:11px;padding:12px;display:flex;gap:11px;color:#365b4e}.safety-note svg{flex:0 0 auto;width:19px;height:19px}.safety-note div{display:grid}.safety-note strong{font-size:11px}.safety-note span{font-size:10px;color:#668078;margin-top:3px}.safety-note.compact{margin-top:20px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--line);background:#fbfcfb;border-radius:0 0 18px 18px}.preview-summary{display:flex;justify-content:space-between;padding:10px 12px;background:#f5f7f6;border-radius:9px;font-size:11px;color:#5c6d66;margin-bottom:12px}.message-list{display:grid;gap:9px;max-height:285px;overflow:auto;padding-right:3px}.message-item{border:1px solid var(--line);border-radius:11px;padding:12px}.message-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-item-header strong{font-size:11px}.message-item-header span{font-size:9px;color:#75867f;background:#edf2ef;padding:3px 6px;border-radius:999px}.message-item p{margin:0;font-size:11px;line-height:1.5;color:#52635c}.approval-gate{display:flex;gap:10px;margin-top:13px;padding:11px 12px;background:#fff8e5;border:1px solid #f1dfaa;border-radius:10px;color:#795d1f}.approval-gate div{display:grid}.approval-gate strong{font-size:10px}.approval-gate small{font-size:9px;margin-top:2px}.lock-icon{font-size:18px}.drawer{position:fixed;z-index:60;right:0;top:0;bottom:0;width:min(430px,100%);background:white;box-shadow:-20px 0 60px rgba(11,38,32,.16);transform:translateX(105%);transition:.26s ease;display:flex;flex-direction:column}.drawer.open{transform:translateX(0)}.drawer-header{padding:23px}.drawer-body{padding:22px 23px;overflow:auto;flex:1}.customer-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.meta-box{border:1px solid var(--line);border-radius:10px;padding:10px;display:grid}.meta-box span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:#8b9792}.meta-box strong{font-size:11px;margin-top:4px}.template-label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;margin-bottom:9px}.template-label span{font-size:9px;color:#436e5d;background:#e9f5ef;padding:3px 6px;border-radius:999px}.phone-preview{background:#f2f5f3;border:1px solid #e0e7e3;border-radius:18px;padding:13px}.phone-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#7a8982;margin:0 4px 18px}.phone-top strong{font-size:9px;color:#3d5047}.message-bubble{background:#dcefd1;padding:12px;border-radius:13px 13px 3px 13px;margin-left:34px;font-size:12px;line-height:1.5;color:#243a31;box-shadow:0 1px 2px rgba(0,0,0,.03)}.variable-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.variable-row span{font-size:9px;color:#547065;background:#edf2ef;border-radius:5px;padding:4px 6px}.drawer-footer{display:flex;gap:8px;padding:15px 23px;border-top:1px solid var(--line)}.drawer-footer button{flex:1}.drawer-scrim{position:fixed;z-index:55;inset:0;background:rgba(5,25,21,.25)}.toast{position:fixed;z-index:80;left:50%;bottom:24px;transform:translate(-50%,100px);background:#12352e;color:white;padding:10px 15px;border-radius:10px;box-shadow:0 8px 25px rgba(0,0,0,.18);font-size:12px;transition:.25s}.toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.metrics{grid-template-columns:repeat(2,1fr)}.weather-alert{grid-template-columns:auto 1fr auto}.weather-alert .dismiss-alert{position:absolute;right:4px;top:1px}.weather-alert>button:not(.dismiss-alert){grid-column:2;justify-self:start}.schedule-header{align-items:flex-start;gap:14px}.schedule-tools{flex-direction:column}.search-box{width:220px}}
@media(max-width:620px){.topbar{height:66px;padding:0 16px}.mode-chip{display:none}.brand-mark,.brand-mark svg{width:38px;height:38px}.avatar{display:none}main{padding:25px 14px 110px}.hero-row{align-items:flex-start}.hero-row .secondary-button{display:none}.hero-row h1{font-size:26px}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric-card{padding:13px 12px;gap:9px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:18px}.weather-alert{grid-template-columns:auto 1fr;padding:12px}.weather-alert>button:not(.dismiss-alert){grid-column:2}.schedule-header{display:block;padding:18px 16px 13px}.schedule-tools{margin-top:14px;flex-direction:row}.search-box{width:100%;flex:1}.schedule-tools .secondary-button{white-space:nowrap;padding:9px}.filter-row{overflow:auto;padding:0 10px}.filter-tab{white-space:nowrap}.bulk-bar{min-width:0;width:calc(100% - 24px);bottom:12px;padding-left:14px}.bulk-bar .primary-button{font-size:11px;padding:9px 10px}.form-grid{grid-template-columns:1fr}.modal-body{padding:18px}.modal-header,.modal-footer{padding:17px}.modal-footer{position:sticky;bottom:0}.drawer{width:100%}}

.view-switch{display:flex;gap:3px;padding:3px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:10px}.view-switch button{border:0;background:transparent;color:#aebfb9;border-radius:7px;padding:7px 10px;font-size:11px;font-weight:700}.view-switch button.active{background:white;color:var(--forest-2);box-shadow:0 1px 3px rgba(0,0,0,.16)}.employee-view{max-width:1120px}.employee-hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:23px}.employee-hero h1{font:700 31px/1.15 Manrope,sans-serif;letter-spacing:-1px;margin:0}.employee-controls{display:flex;align-items:flex-end;gap:10px}.employee-controls label{display:grid;gap:6px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7b8983}.employee-controls select{height:39px;min-width:140px;border:1px solid var(--line);border-radius:10px;background:white;color:#30443c;padding:0 32px 0 11px;font-size:12px;font-weight:600}.route-date{height:39px;display:flex;align-items:center;gap:3px;background:white;border:1px solid var(--line);border-radius:10px;padding:0 3px}.route-date strong{min-width:92px;text-align:center;font-size:12px}.date-arrow{width:31px;height:31px;border:0;border-radius:7px;background:transparent;color:#5f7069;font-size:21px;line-height:1}.date-arrow:hover{background:#eff3f1}.employee-summary{display:grid;grid-template-columns:repeat(4,1fr);background:var(--forest);color:white;border-radius:14px;padding:17px 8px;margin-bottom:15px}.employee-summary>div{display:grid;text-align:center;border-right:1px solid rgba(255,255,255,.13)}.employee-summary>div:last-child{border-right:0}.employee-summary strong{font:700 21px/1.1 Manrope,sans-serif}.employee-summary span{color:#b9cbc5;font-size:10px;margin-top:4px}.run-sheet-card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 7px rgba(18,48,40,.04);overflow:hidden}.run-sheet-note{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}.run-sheet-note>div:first-child{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:7px}.run-sheet-note strong{font-size:12px}.run-sheet-note small{grid-column:2;color:#84918c;font-size:9px;margin-top:2px}.sync-dot{width:8px;height:8px;border-radius:50%;background:#59c87a;box-shadow:0 0 0 4px #e8f6ec}.run-sheet-legend{display:flex;align-items:center;gap:13px}.run-sheet-legend span{display:flex;align-items:center;gap:5px;color:#66756f;font-size:9px;font-weight:600}.run-sheet-legend i{width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.1)}.legend-green{background:#1be84e}.legend-white{background:#fff}.legend-red{background:#ff493e}.run-sheet-wrap{overflow-x:auto}.run-sheet-table{min-width:680px;table-layout:fixed}.run-sheet-table th{padding:12px 14px;background:#f7f9f8;color:#26352f;font-size:12px;text-transform:none;letter-spacing:0;border-right:1px solid #dfe5e2}.run-sheet-table th:first-child{width:48%}.run-sheet-table th:nth-child(2){width:29%}.run-sheet-table th:last-child{width:23%;text-align:center}.run-sheet-table td{height:48px;padding:9px 14px;border-right:1px solid #dfe5e2;border-bottom:1px solid #dfe5e2;color:#14231d;font-size:15px}.run-sheet-table td:first-child{font-weight:700}.run-sheet-table td:last-child{text-align:center;font-weight:700}.run-sheet-table .employee-confirmed td:first-child{background:#1be84e}.run-sheet-table .employee-do-not-attend td:first-child{background:#ff493e}.run-sheet-table .employee-awaiting td:first-child{background:#fff}.client-note{font-weight:500;color:rgba(20,35,29,.7);font-size:12px}.run-sheet-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;color:#7b8983;font-size:9px;background:#fbfcfb}.employee-view[hidden]{display:none}
.employee-active .bulk-bar{display:none}

@media(max-width:760px){.view-switch button{padding:7px 8px}.topbar-actions{gap:8px}.employee-hero{display:block}.employee-controls{margin-top:17px}.employee-summary{grid-template-columns:1fr 1fr;padding:8px}.employee-summary>div{padding:10px;border-right:0}.employee-summary>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.13)}.employee-summary>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}.run-sheet-note{align-items:flex-start;gap:13px}.run-sheet-legend{flex-wrap:wrap;justify-content:flex-end}.run-sheet-footer{display:grid}.run-sheet-table{min-width:560px}.run-sheet-table td{font-size:13px}}
@media(max-width:520px){.brand span:last-child{display:none}.view-switch button{font-size:10px}.employee-controls{display:grid;grid-template-columns:1fr 1.25fr}.employee-controls select{min-width:0;width:100%}.route-date{margin-top:15px}.run-sheet-note{display:grid}.run-sheet-legend{justify-content:flex-start}.employee-hero h1{font-size:27px}}

.office-schedule-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:end}.schedule-view-toggle{display:flex;gap:3px;padding:3px;background:#edf1ef;border-radius:10px;align-self:center}.schedule-view-toggle button{border:0;background:transparent;color:#6f7f78;border-radius:7px;padding:7px 14px;font-size:11px;font-weight:700}.schedule-view-toggle button.active{background:white;color:var(--forest);box-shadow:0 1px 4px rgba(17,48,40,.12)}.office-schedule-header .schedule-tools{justify-self:end}.office-date-field{height:39px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:0 8px 0 10px;background:#fff;color:#75857e}.office-date-field svg{width:16px;height:16px}.office-date-field input{border:0;outline:0;color:#34443e;font-size:11px;background:transparent;width:115px}.office-run-sheet-note{border-top:1px solid var(--line);background:#fbfcfb}.office-run-sheet-table{min-width:1120px;table-layout:fixed}.office-run-sheet-table th{padding:11px 10px;background:#f7f9f8;color:#26352f;font-size:10px;text-transform:none;letter-spacing:0;border-right:1px solid #dfe5e2}.office-run-sheet-table th:nth-child(1){width:43px}.office-run-sheet-table th:nth-child(2){width:215px}.office-run-sheet-table th:nth-child(3){width:190px}.office-run-sheet-table th:nth-child(4){width:145px}.office-run-sheet-table th:nth-child(5){width:145px}.office-run-sheet-table th:nth-child(6){width:110px}.office-run-sheet-table th:nth-child(7){width:75px}.office-run-sheet-table th:nth-child(8){width:42px}.office-run-sheet-table td{height:49px;padding:8px 10px;border-right:1px solid #dfe5e2;font-size:12px}.office-run-sheet-table .check-cell{padding-left:14px}.office-client-cell{font-weight:700}.office-client-cell>div{display:grid}.office-client-cell span{font-size:9px;font-weight:500;margin-top:3px;color:rgba(20,35,29,.66)}.office-status-confirmed{background:#1be84e!important}.office-status-awaiting{background:#fff!important}.office-status-do-not-attend{background:#ff493e!important}.office-run-sheet-table tr.selected td{box-shadow:inset 0 2px 0 rgba(18,62,53,.2),inset 0 -2px 0 rgba(18,62,53,.2)}.office-run-sheet-table tr.selected td:first-child{box-shadow:inset 2px 0 0 var(--forest),inset 0 2px 0 rgba(18,62,53,.2),inset 0 -2px 0 rgba(18,62,53,.2)}.office-run-sheet-table tr.selected td:last-child{box-shadow:inset -2px 0 0 var(--forest),inset 0 2px 0 rgba(18,62,53,.2),inset 0 -2px 0 rgba(18,62,53,.2)}.address-cell{font-weight:600;color:#31443c}.window-cell{text-align:center;font-weight:700}.weekly-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfb}.week-navigation{display:flex;align-items:center;gap:9px}.week-navigation button{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:white;color:#53665e;font-size:19px}.week-navigation div{display:grid;text-align:center;min-width:160px}.week-navigation small{font-size:8px;letter-spacing:.11em;color:#8a9691}.week-navigation strong{font-size:12px;margin-top:2px}.weekly-scroll{overflow-x:auto}.weekly-board{display:grid;grid-template-columns:repeat(7,minmax(300px,1fr));min-width:2100px;background:#eef2f0;gap:1px}.week-column{background:white;min-height:560px}.week-column>header{height:51px;display:flex;align-items:center;justify-content:center;gap:6px;border-bottom:1px solid #dce3df;background:#f5f7f6}.week-column>header span,.week-column>header strong{font:700 13px/1 Manrope,sans-serif;white-space:nowrap}.week-column>header strong{color:#75847e;font-size:11px}.weekend-day{background:#fbfcfb}.weekend-day>header{background:#edf3f0}.week-route{padding-bottom:12px}.week-route+.week-route{margin-top:22px;border-top:7px solid #f2f5f3}.week-route-heading{height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:#eaf0ed;border-bottom:1px solid #d6dfda}.week-route-heading>strong{display:flex;align-items:center;gap:6px;font-size:10px}.week-route-heading small{font-size:8px;color:#73827c}.week-route-heading .tech-avatar{width:20px;height:20px}.week-job{display:grid;grid-template-columns:48% 34% 18%;min-height:45px;border-bottom:1px solid #dfe5e2}.week-job>div{padding:6px;border-right:1px solid #dfe5e2}.week-job>div:last-child{border-right:0}.week-client,.week-place{display:grid;align-content:center}.week-client strong,.week-place strong{font-size:9px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-client small,.week-place small{font-size:7px;color:rgba(20,35,29,.65);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-client.employee-confirmed{background:#1be84e}.week-client.employee-do-not-attend{background:#ff493e}.week-client.employee-awaiting{background:#fff}.week-window{display:grid;place-items:center;font-size:9px;font-weight:700}.weekly-active .bulk-bar{display:none}#weeklyScheduleView[hidden],#dailyScheduleView[hidden],#dailyScheduleTools[hidden]{display:none}

@media(max-width:1120px){.office-schedule-header{grid-template-columns:1fr auto}.office-schedule-header .schedule-view-toggle{justify-self:end}.office-schedule-header .schedule-tools{grid-column:1/-1;justify-self:stretch;margin-top:14px}.office-schedule-header .search-box{flex:1;width:auto}}
@media(max-width:620px){.office-schedule-header{display:block}.office-schedule-header .schedule-view-toggle{display:inline-flex;margin-top:14px}.office-schedule-header .schedule-tools{margin-top:12px}.office-date-field{flex:0 0 auto}.office-run-sheet-note{display:grid}.weekly-toolbar{align-items:flex-start;gap:14px}.weekly-toolbar>.run-sheet-legend{justify-content:flex-end}.week-navigation div{min-width:125px}.weekly-board{grid-template-columns:repeat(7,285px);min-width:1995px}}

.office-run-sheet-table{min-width:900px}.office-run-sheet-table th:nth-child(1){width:285px}.office-run-sheet-table th:nth-child(2){width:215px}.office-run-sheet-table th:nth-child(3){width:170px}.office-run-sheet-table th:nth-child(4){width:160px}.office-run-sheet-table th:nth-child(5){width:70px}.name-column-heading{display:flex;align-items:center;gap:9px}.office-client-main{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:9px}.office-client-main>div{display:grid}.office-client-main .inline-sms{justify-self:end;color:#24473b}.office-client-main .inline-sms:hover{background:rgba(255,255,255,.45)}.employee-daily-table{min-width:900px;table-layout:fixed}.employee-daily-table th:first-child{width:30%}.employee-daily-table th:nth-child(2){width:25%}.employee-daily-table th:nth-child(3){width:19%}.employee-daily-table th:nth-child(4){width:16%;text-align:center}.employee-daily-table th:nth-child(5){width:10%;text-align:center}.employee-daily-table td:nth-child(4),.employee-daily-table td:nth-child(5){text-align:center;font-weight:700}.employee-daily-table td:first-child>strong{display:block}.staff-note-preview{display:block;margin-top:4px;color:rgba(20,35,29,.7);font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-editable-row{cursor:pointer}.staff-editable-row:hover td{box-shadow:inset 0 1px 0 rgba(18,62,53,.2),inset 0 -1px 0 rgba(18,62,53,.2)}.staff-editable-row:focus{outline:2px solid var(--forest);outline-offset:-2px}.staff-weekly-board{display:grid;grid-template-columns:repeat(7,minmax(280px,1fr));min-width:1960px;background:#eef2f0;gap:1px}.staff-week-day{background:white;min-height:380px}.staff-week-day>header{height:51px;display:flex;align-items:center;justify-content:center;gap:6px;background:#f5f7f6;border-bottom:1px solid #dce3df}.staff-week-day>header span,.staff-week-day>header strong{font:700 13px/1 Manrope,sans-serif;white-space:nowrap}.staff-week-day>header strong{color:#75847e;font-size:11px}.staff-week-day table{min-width:0;table-layout:fixed;width:100%}.staff-week-day th{padding:9px 7px;background:#fafbfa;color:#52625b;font-size:8px;text-transform:none;letter-spacing:0;border-right:1px solid #dfe5e2}.staff-week-day th:first-child{width:48%}.staff-week-day th:nth-child(2){width:32%}.staff-week-day th:last-child{width:20%;text-align:center}.staff-week-day td{height:43px;padding:6px 7px;border-right:1px solid #dfe5e2;font-size:9px}.staff-week-day td:first-child{font-weight:700}.staff-week-day td:last-child{text-align:center;font-weight:700}.staff-week-day tr.employee-confirmed td:first-child{background:#1be84e}.staff-week-day tr.employee-do-not-attend td:first-child{background:#ff493e}.staff-week-day tr.employee-awaiting td:first-child{background:#fff}.staff-week-day .no-route td{height:58px;text-align:center!important;color:#96a19d;font-weight:500!important;background:white!important}.staff-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.staff-edit-grid label{display:grid;gap:6px;color:#56675f;font-size:10px;font-weight:700}.staff-edit-grid .full-field{grid-column:1/-1}.staff-edit-grid input,.staff-edit-grid select,.staff-edit-grid textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:white;padding:10px 11px;color:#263a32;font-size:12px;outline:0}.staff-edit-grid input,.staff-edit-grid select{height:41px}.staff-edit-grid textarea{resize:vertical;line-height:1.45}.staff-edit-grid input:focus,.staff-edit-grid select:focus,.staff-edit-grid textarea:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}#employeeDailyView[hidden],#employeeWeeklyView[hidden],#employeeRouteDate[hidden]{display:none}

@media(max-width:760px){.employee-controls{flex-wrap:wrap}.employee-schedule-toggle{order:3}.staff-weekly-board{grid-template-columns:repeat(7,270px);min-width:1890px}.staff-edit-grid{grid-template-columns:1fr}.staff-edit-grid .full-field{grid-column:auto}}

.week-route{min-height:var(--route-height);padding-bottom:0}.week-route+.week-route{margin-top:0;border-top:8px solid #f2f5f3}.week-route-empty .week-route-heading{color:#7d8b85;background:#f4f7f5}.week-route-empty .week-route-heading .tech-avatar{background:#e8eeeb;color:#8a9892}.week-column{min-height:auto}

.mobile-only{display:none}button,.staff-editable-row,input,select,textarea{touch-action:manipulation}
@media(max-width:700px){
  html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{overflow-x:hidden;padding-bottom:env(safe-area-inset-bottom)}
  .topbar{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  button,.primary-button,.secondary-button,.text-button,.icon-button,.close-button{min-height:44px}.view-switch button,.schedule-view-toggle button{min-height:38px}
  input,select,textarea,.search-box input,.form-grid input,.form-grid select,.staff-edit-grid input,.staff-edit-grid select,.staff-edit-grid textarea{font-size:16px}
  .search-box{height:44px}.office-date-field{height:44px}.office-date-field input{width:132px;font-size:16px}.employee-controls select{height:44px;font-size:16px}.route-date{height:44px}.date-arrow{width:38px;height:38px}
  .office-table-wrap,.run-sheet-wrap{overflow:visible;background:#f3f6f4;padding:9px}.office-run-sheet-table,.employee-daily-table{display:block;min-width:0;width:100%;padding:0}.office-run-sheet-table thead,.employee-daily-table thead{display:none}.office-run-sheet-table tbody,.employee-daily-table tbody{display:grid;gap:10px;width:100%}
  .office-run-sheet-table tr,.employee-daily-table tr{display:grid;grid-template-columns:1.3fr 1fr .62fr;width:100%;overflow:hidden;border:1px solid #dce4df;border-radius:12px;background:white;box-shadow:0 1px 3px rgba(12,47,41,.04)}
  .office-run-sheet-table td,.employee-daily-table td{display:block;width:auto;height:auto;min-height:48px;padding:8px 10px;border:0;border-right:1px solid #e1e7e4;border-bottom:0;text-align:left;font-size:12px}.office-run-sheet-table td::before,.employee-daily-table td::before{content:attr(data-label);display:block;margin-bottom:4px;color:#89958f;font-size:8px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
  .office-run-sheet-table td:first-child,.employee-daily-table td:first-child{grid-column:1/-1;min-height:54px;border-right:0}.office-run-sheet-table td:first-child::before,.employee-daily-table td:first-child::before{display:none}.office-run-sheet-table td:nth-child(2),.employee-daily-table td:nth-child(2){grid-column:1/-1;border-right:0;border-bottom:1px solid #e1e7e4}.office-run-sheet-table td:nth-child(3),.employee-daily-table td:nth-child(3){grid-column:1}.office-run-sheet-table td:nth-child(4),.employee-daily-table td:nth-child(4){grid-column:2;text-align:left}.office-run-sheet-table td:nth-child(5),.employee-daily-table td:nth-child(5){grid-column:3;text-align:left;border-right:0}
  .office-run-sheet-table tr.selected{box-shadow:0 0 0 2px var(--forest)}.office-run-sheet-table tr.selected td,.office-run-sheet-table tr.selected td:first-child,.office-run-sheet-table tr.selected td:last-child{box-shadow:none}.office-client-main{min-height:38px}.office-client-main .row-action{min-height:38px}.staff-note-preview{font-size:10px;white-space:normal}
  .weekly-scroll{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.weekly-scroll::-webkit-scrollbar{display:none}.weekly-board{grid-template-columns:repeat(7,calc(100vw - 26px));min-width:0;width:max-content}.week-column{width:calc(100vw - 26px);scroll-snap-align:start;scroll-snap-stop:always}.staff-weekly-board{grid-template-columns:repeat(7,calc(100vw - 26px));min-width:0;width:max-content}.staff-week-day{width:calc(100vw - 26px);scroll-snap-align:start;scroll-snap-stop:always}.week-client strong,.week-place strong{font-size:10px}.week-window{font-size:10px}
  .weekly-toolbar{display:grid;gap:12px}.weekly-toolbar>.run-sheet-legend{justify-content:flex-start}.mobile-only{display:inline;color:#46675b;font-weight:700}.run-sheet-footer{padding-bottom:max(13px,env(safe-area-inset-bottom))}
  .employee-hero{display:block}.employee-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:16px}.employee-schedule-toggle{grid-column:1/-1;order:0;justify-self:start}.employee-controls label{grid-column:1}.employee-controls .route-date{grid-column:2;margin-top:15px}.employee-controls select{width:100%;min-width:0}
  .drawer{height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.drawer-footer{padding-bottom:max(15px,env(safe-area-inset-bottom))}.modal{max-height:calc(100dvh - 16px)}.modal-backdrop{padding:8px}.bulk-bar{bottom:max(12px,env(safe-area-inset-bottom))}.toast{bottom:max(20px,env(safe-area-inset-bottom))}
}

.inbox-view{padding:24px clamp(16px,3vw,42px) 48px;min-height:calc(100vh - 90px)}
.inbox-nav-badge{display:inline-grid;place-items:center;margin-left:3px;padding:1px 5px;min-width:17px;border-radius:999px;background:#d6322f;color:#fff;font-size:10px}
.inbox-nav-badge[hidden]{display:none}
.inbox-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:min(740px,calc(100vh - 245px));min-height:440px;border:1px solid #d8e5dc;border-radius:17px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(12,47,41,.06)}
.inbox-layout:not(.thread-open) .inbox-thread,.inbox-layout.thread-open .inbox-list{display:none}
.inbox-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid #e3ebe5}
.inbox-search-label{padding:18px 18px 5px;color:#455e50;font-weight:700;font-size:13px}
#inboxSearch{height:40px;margin:0 16px 10px;padding:0 12px;border:1px solid #bdcfc2;border-radius:9px;font:inherit;outline-color:#18734d}
.inbox-connection{margin:0 16px 10px;color:#567268;font-size:11px;line-height:1.4}
.inbox-conversations{flex:1;overflow:auto;border-top:1px solid #edf2ee}
.inbox-person{display:grid;width:100%;padding:13px 16px;gap:4px;border:0;border-bottom:1px solid #edf2ee;background:#fff;color:#163c2c;text-align:left;cursor:pointer}
.inbox-person:hover,.inbox-person:focus-visible{background:#eef8f0;outline:none}.inbox-person.selected{background:#e5f3e9;border-left:3px solid #1f754c;padding-left:13px}
.inbox-person-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.inbox-person strong{font-size:14px}.inbox-person small{color:#65786d;font-size:11px}.inbox-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#516b5d;font-size:12px}
.inbox-unread{display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:99px;background:#206e48;color:#fff;font-size:11px}.inbox-list-divider{padding:12px 16px 8px;color:#708378;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.inbox-list-empty{padding:24px 16px;color:#64776c;font-size:13px;line-height:1.5}
.inbox-thread{display:flex;flex-direction:column;min-width:0;min-height:0}.inbox-thread-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid #e7eee8}.inbox-thread-head h2{margin:0;font-size:18px}.inbox-thread-head span{color:#60766a;font-size:12px}
.inbox-messages{display:flex;flex:1;min-height:0;flex-direction:column;gap:12px;padding:22px;overflow:auto;background:#f8fbf8}.inbox-placeholder{margin:auto;color:#657a6d;text-align:center;font-size:14px;line-height:1.5}
.inbox-bubble{max-width:min(80%,580px);padding:12px 16px;border:1px solid #e1e9e2;border-radius:14px;background:#fff;overflow-wrap:anywhere}.inbox-bubble.outgoing{align-self:flex-end;background:#e5f3e9;border-color:#c8e2cf}.inbox-bubble.incoming{align-self:flex-start}.inbox-bubble-meta{color:#65796c;font-size:11px;font-weight:700}.inbox-bubble p{margin:7px 0 0;white-space:pre-wrap;font-size:14px;line-height:1.5}.inbox-failed{color:#a14229}
.inbox-compose{display:grid;gap:8px;padding:14px 20px;border-top:1px solid #e4eee7}.inbox-compose[hidden]{display:none}.inbox-compose>label{font-size:12px;font-weight:700;color:#355543}.inbox-compose textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:64px;max-height:180px;padding:10px;border:1px solid #bdd3c3;border-radius:10px;font:inherit;outline-color:#18734d}.inbox-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.inbox-compose-actions label{display:flex;align-items:center;gap:8px;color:#4c6656;font-size:12px;font-weight:700}.inbox-compose-actions select{padding:8px;border:1px solid #b9cfbf;border-radius:8px;font:inherit}.inbox-channel-help{margin:0;color:#5c7365;font-size:11px;line-height:1.5}.inbox-client-button{margin-bottom:5px;background:#e9f5ee;color:#205f3e}
.staff-mode .inbox-client-button,.staff-mode #openInboxMessage,.staff-mode [data-inbox-multi-sms],.staff-mode #sendAllInInbox{display:none!important}
.inbox-page-actions{display:flex;flex-wrap:wrap;gap:8px}.staff-inbox-back[hidden],.staff-inbox-list-back[hidden]{display:none}.staff-inbox-list-back{display:inline-flex;border:0;padding:0 0 5px;background:none;color:#176646;font:700 12px Manrope,sans-serif;text-decoration:underline;cursor:pointer}
@media(max-width:740px){.inbox-view{padding:16px 10px 30px}.inbox-layout{height:calc(100dvh - 188px);min-height:590px}.inbox-list{border-right:0}.inbox-thread-head{padding:11px 13px;flex-wrap:wrap}.inbox-thread-head h2{font-size:15px}.inbox-thread-head button{font-size:11px;padding:8px}.inbox-thread-head .staff-inbox-list-back{padding:0 0 5px}.inbox-messages{padding:13px}.inbox-compose{padding:10px 13px}.inbox-bubble{max-width:90%}}

.compliance-treatment-area{display:grid;gap:7px;padding:11px 12px;border:1px solid #dce6de;border-radius:10px;background:#f6faf6;color:#52645b;font-size:12px;font-weight:700}
.compliance-treatment-area strong{color:#274a37;font-size:14px;line-height:1.45;white-space:pre-wrap}
.compliance-spray-volume{margin:14px 0}
.compliance-spray-volume label{display:grid;gap:8px;color:#385347;font-size:14px;font-weight:700}
.compliance-spray-volume input{width:min(100%,320px);height:46px;padding:0 12px;border:1px solid #cddbd1;border-radius:9px;color:#233e31;background:#fff;font-size:16px}

.access-manage-modal{width:min(760px,100%)}
.access-manager-list{display:grid;gap:10px}
.access-manager-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:12px;align-items:end;padding:14px;border:1px solid #dce6e0;border-radius:12px;background:#fbfdfb}
.access-manager-identity{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}
.access-manager-identity strong{font-size:15px;color:#173a2e}
.access-manager-identity small{flex-basis:100%;font-size:12px;color:#71817a}
.access-status{padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#fff0d7;color:#815713}
.access-status.active{background:#e4f4e9;color:#206d45}
.access-manager-row label{display:grid;gap:6px;color:#50665a;font-size:12px;font-weight:700}
.access-manager-row input{width:100%;height:42px;padding:0 10px;border:1px solid #bfd0c5;border-radius:8px;background:white;color:#19372a;font-size:16px}
.access-manager-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.access-manager-actions button{min-height:40px;padding:7px 12px;font-size:13px}
.access-revoke-button{border:1px solid #d7a9a1;border-radius:8px;background:#fff7f5;color:#923d32;font-weight:800;cursor:pointer}
.access-revoke-button:hover{background:#ffe8e2}
.access-revoked-notice{display:none}
.schedule-access-loading{display:none}
html.schedule-locked .schedule-access-loading:not([hidden]){display:grid;min-height:100dvh;place-items:center;padding:24px;background:#f3f8f4;text-align:center;font-size:16px}
.schedule-access-loading img{width:min(260px,75vw);height:auto}
html.schedule-locked #staffAccessModal{background:#f3f8f4;padding:24px;overflow:auto}
html.schedule-locked .staff-access-modal{width:min(100%,460px);box-shadow:0 14px 35px #15392317}
html.schedule-locked [data-close-staff-access],html.schedule-locked #staffAccessSignOut{display:none!important}
html.schedule-locked .staff-access-modal .modal-context{font-size:16px;line-height:1.5}
html.schedule-locked .staff-access-grid{grid-template-columns:1fr}
html.schedule-locked .staff-access-modal .modal-footer .primary-button{width:100%;min-height:48px;font-size:16px}
.staff-access-status{font-size:15px;line-height:1.5;color:#923d32}
html.access-revoked .app-shell,html.access-revoked .modal-backdrop,html.access-revoked .toast{display:none!important}
html.access-revoked .schedule-access-loading{display:none!important}
html.access-revoked .access-revoked-notice{display:flex;min-height:100dvh;align-items:center;justify-content:center;padding:24px;background:#f3f8f4}
.access-revoked-notice>div{max-width:460px;padding:28px;border:1px solid #d6e4d9;border-radius:14px;background:white;box-shadow:0 14px 35px #15392317}
.access-revoked-notice h1{margin:0 0 9px;color:#173a2e;font-size:24px}
.access-revoked-notice p{margin:0 0 18px;color:#536a5e;font-size:15px;line-height:1.5}
@media(max-width:700px){.access-manager-row{grid-template-columns:1fr}.access-manager-actions{grid-column:auto}.access-manager-actions button{flex:1}}

/* Batch pre-treatment PDF review from the office weekly selection. */
.week-selection-status #prepareWeekPreAdvice:not(:disabled){border-color:#81cda0;background:#e9f8ee;color:#205d3e}
.batch-pre-advice-modal{width:min(900px,100%);display:flex;flex-direction:column;overflow:hidden}
.batch-pre-advice-body{min-height:0;overflow:auto;display:grid;gap:13px}
.batch-pre-advice-summary{padding:12px 14px;border:1px solid #c9e0cf;border-radius:10px;background:#f0f8f2;color:#285a3f;font-size:13px;font-weight:700;line-height:1.45}
.batch-pre-advice-progress{margin:0;padding:10px 12px;border:1px solid #e7d29d;border-radius:9px;background:#fff9e9;color:#6c521c;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.batch-pre-advice-note{margin:0;color:#64786d;font-size:12px;line-height:1.45}
.batch-pre-advice-list{display:grid;gap:9px}
.batch-pre-advice-item{padding:13px 14px;border:1px solid #dce5e0;border-radius:11px;background:#fff}
.batch-pre-advice-item-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.batch-pre-advice-item-heading>div{display:grid;gap:3px;min-width:0}
.batch-pre-advice-item-heading strong{font-size:14px;color:#203c30}
.batch-pre-advice-item-heading small{font-size:12px;color:#718078}
.batch-pre-advice-state{max-width:45%;padding:5px 8px;border-radius:999px;background:#fff1d4;color:#795615;font-size:11px;font-weight:800;line-height:1.35;text-align:right;overflow-wrap:anywhere}
.batch-pre-advice-state.ready{background:#e5f6eb;color:#23633e}.batch-pre-advice-state.delivered{background:#ecf0ee;color:#53665c}
.batch-pre-advice-item p{margin:9px 0;color:#68796f;font-size:12px;overflow-wrap:anywhere}.batch-pre-advice-item p strong{color:#2d4436;font-weight:700}
.batch-pre-advice-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.batch-pre-advice-actions button,.batch-pre-advice-actions a{min-height:36px;padding:7px 11px;font-size:13px;text-decoration:none}
.batch-pre-advice-actions label{display:inline-flex;align-items:center;gap:7px;color:#52665a;font-size:13px;cursor:pointer}.batch-pre-advice-actions select{min-height:36px;padding:5px 9px;border:1px solid #d1ddd5;border-radius:8px;background:white;color:#254436;font-size:13px}.batch-pre-advice-actions [disabled]{opacity:.55;cursor:not-allowed}
.batch-pre-advice-preview{overflow:hidden;border:1px solid #d9e2dd;border-radius:11px;background:#f7faf8}.batch-pre-advice-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;color:#254637;font-size:13px;font-weight:700}.batch-pre-advice-preview a{color:#276b4b;font-size:12px;white-space:nowrap}.batch-pre-advice-preview p{margin:0;padding:16px;color:#65786d;font-size:12px}.batch-pre-advice-preview iframe{display:block;width:100%;height:min(560px,60vh);border:0;background:white}
.batch-pre-advice-modal [hidden]{display:none!important}
#openCompliancePreSms{text-decoration:none}#openCompliancePreSms[hidden]{display:none!important}
.clock-on-pre-advice-actions{display:grid;gap:10px;padding:14px;border:1px solid #bcd9c7;border-radius:12px;background:#f1faf4}.clock-on-pre-advice-actions>div:first-child{display:grid;gap:4px}.clock-on-pre-advice-actions strong{color:#1c4932;font-size:15px}.clock-on-pre-advice-actions span{color:#526c5c;font-size:13px;line-height:1.45}.clock-on-pre-advice-buttons{display:flex;flex-wrap:wrap;gap:9px}.clock-on-pre-advice-buttons>a{text-decoration:none}.clock-on-pre-advice-buttons>*{min-height:44px}.clock-on-pre-advice-buttons .disabled{opacity:.5;pointer-events:none}.clock-on-pre-advice-confirm{display:grid;gap:9px;padding-top:10px;border-top:1px solid #d1e4d7}.clock-on-pre-advice-confirm button{justify-self:start;min-height:44px}.clock-on-pre-advice-actions[hidden],.clock-on-pre-advice-confirm[hidden]{display:none!important}.clock-on-pre-advice #compliancePrePdfFrame{height:min(440px,45vh)}
.clock-on-pre-advice-email{display:grid;gap:7px;padding-top:10px;border-top:1px solid #d1e4d7}.clock-on-pre-advice-email label{color:#1c4932;font-size:13px;font-weight:800}.clock-on-pre-advice-email>div{display:flex;flex-wrap:wrap;gap:9px}.clock-on-pre-advice-email input{flex:1 1 220px;min-width:0;min-height:44px;padding:9px 12px;border:1px solid #bdcec3;border-radius:9px;background:white;color:#19392c;font:inherit}.clock-on-pre-advice-email button{min-height:44px}.clock-on-pre-advice-email[hidden],.clock-on-pre-advice-buttons>a[hidden]{display:none!important}
.compliance-post-pdf{margin:12px 0}.compliance-post-pdf iframe{height:min(520px,54vh)}.compliance-post-email-capture,.compliance-post-share{margin-top:12px;padding:13px;border:1px solid #d1e4d7;border-radius:10px;background:#f1faf4}.compliance-post-email-capture{border-top:1px solid #d1e4d7}.compliance-post-share{display:grid;gap:9px}.compliance-post-share button{justify-self:start;min-height:44px}.compliance-post-share span{color:#526c5c;font-size:12px;line-height:1.45}.compliance-post-pdf[hidden],.compliance-post-share[hidden]{display:none!important}
.compliance-post-share a{justify-self:start;min-height:44px;text-decoration:none}.compliance-post-share a[hidden]{display:none!important}
.compliance-post-share strong{color:#1c4932;font-size:14px;line-height:1.4}
.compliance-post-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.compliance-post-share-actions button{min-height:44px}
@media(max-width:620px){.compliance-post-share-actions{display:grid}.compliance-post-share-actions button{width:100%}}
@media(max-width:620px){.clock-on-pre-advice-buttons,.clock-on-pre-advice-email>div{display:grid}.clock-on-pre-advice-buttons>*,.clock-on-pre-advice-email input,.clock-on-pre-advice-email button,.clock-on-pre-advice-confirm button{width:100%}.clock-on-pre-advice #compliancePrePdfFrame{height:min(360px,42vh)}}
@media(max-width:620px){.batch-pre-advice-modal .modal-header,.batch-pre-advice-modal .modal-body,.batch-pre-advice-modal .modal-footer{padding-left:14px;padding-right:14px}.batch-pre-advice-item-heading{flex-direction:column;gap:6px}.batch-pre-advice-state{max-width:100%;text-align:left}.batch-pre-advice-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.batch-pre-advice-modal .modal-footer button{min-height:44px}.batch-pre-advice-preview iframe{height:55vh}}

/* Queensland pest-management compliance workspace. */
.compliance-pre-wording[hidden],#downloadCompliancePrePdf[hidden],#copyComplianceNotice[hidden]{display:none!important}
.compliance-view{max-width:1440px}.compliance-view[hidden]{display:none}.compliance-active .bulk-bar{display:none}.compliance-hero{align-items:flex-end}.compliance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.compliance-metrics article{display:grid;gap:3px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 1px 3px rgba(12,47,41,.03)}.compliance-metrics span{color:#667970;font-size:11px;font-weight:800}.compliance-metrics strong{font:800 24px/1.1 Manrope,sans-serif;color:#153c31}.compliance-metrics small{color:#83918b;font-size:9px;line-height:1.4}.compliance-card{overflow:hidden;margin-bottom:16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 2px 7px rgba(18,48,40,.04)}.compliance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid var(--line)}.compliance-toolbar>div:first-child{display:grid;gap:3px}.compliance-toolbar strong{font-size:13px;color:#203d33}.compliance-toolbar span{max-width:760px;color:#718079;font-size:10px;line-height:1.45}.compliance-table-wrap{overflow:auto}.compliance-table{min-width:1050px}.compliance-table th{position:sticky;top:0;z-index:2}.compliance-table td{height:58px;padding:10px 13px}.compliance-table td:first-child{white-space:nowrap}.compliance-customer-cell{display:grid;gap:2px;min-width:190px}.compliance-customer-cell strong{color:#213d33;font-size:11px}.compliance-customer-cell span{max-width:260px;overflow:hidden;color:#7b8983;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.compliance-state{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:4px 7px;border-radius:999px;background:#eef2f0;color:#64766e;font-size:9px;font-weight:800;white-space:nowrap}.compliance-state:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.compliance-state.complete{background:#e6f6eb;color:#246542}.compliance-state.due{background:#fff1cf;color:#855b0a}.compliance-state.overdue{background:#ffe7e2;color:#983f32}.compliance-state.na{background:#eff2f1;color:#7c8984}.compliance-open-button{min-height:31px;padding:5px 9px;border:1px solid #b7cec3;border-radius:7px;background:#f5fbf7;color:#275a47;font-size:9px;font-weight:900;white-space:nowrap}.compliance-open-button:hover,.compliance-open-button:focus-visible{border-color:#5f9b7e;outline:2px solid rgba(45,111,80,.15)}.compliance-reference-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px}.compliance-reference-card>div:first-child{display:grid;gap:4px}.compliance-reference-card strong{font-size:12px;color:#234337}.compliance-reference-card span{max-width:850px;color:#687b72;font-size:10px;line-height:1.5}.compliance-reference-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.compliance-reference-links a{padding:7px 9px;border:1px solid #cfddd6;border-radius:8px;color:#285c48;font-size:9px;font-weight:800;text-decoration:none;white-space:nowrap}.compliance-incident-list{display:grid;gap:8px;padding:14px 18px}.compliance-incident-row{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e0e7e3;border-radius:10px;background:#fbfcfb}.compliance-incident-row>i{width:9px;height:9px;border-radius:50%;background:#cf6a53}.compliance-incident-row>div{display:grid;gap:2px}.compliance-incident-row strong{font-size:10px;color:#253f35}.compliance-incident-row span{font-size:9px;color:#74847d}.compliance-incident-row small{font-size:8px;color:#8b9893;font-weight:800}.compliance-incident-empty{padding:14px;border:1px dashed #d6dfdb;border-radius:10px;color:#73827b;font-size:10px;text-align:center}

.compliance-setup-modal{width:min(980px,100%)}.compliance-job-modal{width:min(850px,100%)}.compliance-incident-modal{width:min(780px,100%)}.compliance-setup-body{display:grid;gap:14px}.compliance-setup-section,.compliance-armp-fields,.compliance-treatment-products{padding:15px;border:1px solid #dfe7e3;border-radius:12px;background:#fbfcfb}.compliance-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.compliance-section-heading>div{display:grid;gap:3px}.compliance-section-heading strong{font-size:12px;color:#244238}.compliance-section-heading span{color:#75847d;font-size:9px;line-height:1.4}.compliance-status-chip{padding:4px 7px;border-radius:999px;background:#fff0cf;color:#7e590d;font-size:8px!important;font-weight:900;white-space:nowrap}.compliance-status-chip.complete{background:#e6f6eb;color:#256443}.compliance-form-grid textarea,.compliance-long-fields textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:#fff;color:#273830;font-size:12px;line-height:1.45;outline:0;resize:vertical}.compliance-form-grid textarea:focus,.compliance-long-fields textarea:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.compliance-long-fields{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:11px}.compliance-long-fields label{color:#50615a;font-size:10px;font-weight:700}.compliance-toggle{margin-bottom:0}.compliance-profile-list,.compliance-product-register{display:grid;gap:8px}.compliance-profile-row{display:grid;grid-template-columns:minmax(115px,.8fr) repeat(4,minmax(110px,1fr));gap:7px;padding:10px;border:1px solid #e0e7e3;border-radius:10px;background:#fff}.compliance-profile-row>strong{align-self:center;color:#244238;font-size:11px}.compliance-profile-row label,.compliance-product-row label{display:grid;gap:4px;color:#77867f;font-size:8px;font-weight:800;text-transform:uppercase}.compliance-profile-row input,.compliance-product-row input,.compliance-profile-row select{width:100%;height:34px;border:1px solid #d2ddd7;border-radius:7px;padding:0 8px;background:#fff;color:#233d34;font-size:10px;text-transform:none}.compliance-profile-checks{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:12px}.compliance-profile-checks label{display:flex;align-items:center;gap:6px;color:#536b61;font-size:9px;text-transform:none}.compliance-profile-checks input{width:16px;height:16px}.compliance-product-row{display:grid;grid-template-columns:1.2fr 1fr .75fr 1.35fr auto;align-items:end;gap:7px;padding:9px;border:1px solid #e0e7e3;border-radius:10px;background:#fff}.compliance-product-row button,.treatment-product-row button{width:34px;height:34px;border:1px solid #e0b7af;border-radius:7px;background:#fff7f5;color:#9a4336;font-size:16px}.compliance-empty-register{padding:14px;border:1px dashed #cfdad5;border-radius:9px;color:#718179;font-size:10px;text-align:center}

.compliance-job-body{display:grid;gap:14px}.compliance-deadline-banner{padding:10px 12px;border:1px solid #ead8a2;border-radius:10px;background:#fff8e4;color:#755618;font-size:10px;font-weight:700;line-height:1.45}.compliance-deadline-banner.complete{border-color:#b9dbc5;background:#eef9f1;color:#276243}.compliance-notice-preview{max-height:360px;overflow:auto;margin:13px 0;padding:16px;border:1px solid #d9e2dd;border-radius:12px;background:#fbfcfb;color:#30463d;font-size:11px;line-height:1.55;white-space:pre-wrap}.compliance-notice-preview h3{margin:0 0 10px;color:#183d31;font:800 15px/1.2 Manrope,sans-serif}.compliance-delivery-grid{margin-top:12px}.compliance-manual-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.compliance-confirm-check{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:11px 12px;border:1px solid #dce5e0;border-radius:10px;background:#f8faf9;color:#3e554c;font-size:10px;line-height:1.45}.compliance-confirm-check input{flex:0 0 auto;margin-top:1px}.compliance-armp-fields{margin-top:14px;border-color:#e6c48c;background:#fffaf0}.compliance-treatment-products{margin:14px 0}.treatment-product-row{display:grid;grid-template-columns:1.1fr 1fr .7fr .75fr .8fr auto;align-items:end;gap:7px;margin-top:7px;padding:9px;border:1px solid #e0e7e3;border-radius:10px;background:#fff}.treatment-product-row label{display:grid;gap:4px;color:#77867f;font-size:8px;font-weight:800;text-transform:uppercase}.treatment-product-row input,.treatment-product-row select{width:100%;height:35px;border:1px solid #d2ddd7;border-radius:7px;padding:0 7px;background:#fff;color:#233d34;font-size:10px;text-transform:none}.compliance-record-sheet{display:grid;gap:13px}.compliance-record-header{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:11px;background:#153c31;color:#fff}.compliance-record-header>div{display:grid;gap:3px}.compliance-record-header strong{font-size:15px}.compliance-record-header span{color:#bfd1ca;font-size:9px}.compliance-record-header code{align-self:start;padding:4px 6px;border-radius:6px;background:rgba(255,255,255,.1);color:#dce8e3;font-size:8px}.compliance-record-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compliance-record-field{display:grid;gap:3px;padding:10px;border:1px solid #e0e7e3;border-radius:9px}.compliance-record-field.wide{grid-column:1/-1}.compliance-record-field span{color:#7b8983;font-size:8px;font-weight:800;text-transform:uppercase}.compliance-record-field strong{color:#2c443a;font-size:10px;line-height:1.45;white-space:pre-wrap}.compliance-record-products{display:grid;gap:6px}.compliance-record-product{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr;gap:5px;padding:8px;border:1px solid #dde6e1;border-radius:8px;background:#fbfcfb;color:#3c5149;font-size:9px}.compliance-version-list{display:grid;gap:5px;padding-top:11px;border-top:1px solid #e0e7e3}.compliance-version-row{display:flex;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:7px;background:#f2f5f3;color:#65766f;font-size:8px}.compliance-job-footer{flex-wrap:wrap}.compliance-job-footer .primary-button{margin-left:auto}

.compliance-job-modal [hidden]{display:none!important}.compliance-pre-pdf{overflow:hidden;border:1px solid #d9e2dd;border-radius:12px;background:#f7faf8}.compliance-pre-pdf-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;background:#eef4f0;color:#254637;font-size:12px}.compliance-pre-pdf-heading a{color:#276b4b;font-size:11px;font-weight:800;white-space:nowrap}.compliance-pre-pdf>p{margin:0;padding:18px;color:#64786e;font-size:12px}.compliance-pre-pdf iframe{display:block;width:100%;height:min(600px,65vh);border:0;background:white}

.compliance-indicator{display:inline-flex;align-items:center;gap:3px;margin-top:2px;padding:2px 4px;border:0;border-radius:999px;background:#fff0ca;color:#7a570d;font-size:6px;font-weight:900;line-height:1;white-space:nowrap}.compliance-indicator:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.compliance-indicator.complete{background:#dff5e7;color:#23613e}.compliance-indicator.overdue{background:#ffe3de;color:#943f32}.employee-clock-control .compliance-indicator,.employee-clock-complete+.compliance-indicator{font-size:8px;padding:3px 6px}.staff-mode [data-app-view="compliance"],.staff-mode #openComplianceSetup,.staff-mode #openComplianceIncident{display:none!important}
.week-client:has(>.compliance-indicator){grid-template-columns:auto minmax(0,1fr) auto;column-gap:2px}.week-client>.compliance-indicator{grid-column:3;grid-row:1;align-self:center;justify-self:end;margin-top:0}.week-client:has(>.compliance-indicator)>.drag-handle{grid-row:1/5}.employee-clock-column>.compliance-indicator{margin:5px auto 0;font-size:8px;padding:3px 6px}

@media(max-width:900px){.compliance-metrics{grid-template-columns:repeat(2,1fr)}.compliance-reference-card{align-items:flex-start;flex-direction:column}.compliance-reference-links{justify-content:flex-start}.compliance-profile-row{grid-template-columns:1fr 1fr}.compliance-profile-row>strong,.compliance-profile-checks{grid-column:1/-1}.compliance-product-row,.treatment-product-row{grid-template-columns:1fr 1fr}.compliance-product-row button,.treatment-product-row button{width:100%}.compliance-long-fields{grid-template-columns:1fr}}
@media(max-width:620px){.compliance-metrics{grid-template-columns:1fr 1fr;gap:8px}.compliance-metrics article{padding:12px}.compliance-toolbar{align-items:stretch;flex-direction:column}.compliance-toolbar .search-box{width:100%}.compliance-table{display:block;min-width:0}.compliance-table thead{display:none}.compliance-table tbody{display:grid;gap:9px;padding:10px}.compliance-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dce4df;border-radius:11px}.compliance-table td{display:block;height:auto;min-height:47px;padding:8px 9px;border-right:1px solid #e1e7e4;border-bottom:1px solid #e1e7e4}.compliance-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#89958f;font-size:8px;font-weight:700;text-transform:uppercase}.compliance-table td:nth-child(even){border-right:0}.compliance-table td:last-child{grid-column:1/-1;border-right:0}.compliance-open-button{width:100%;min-height:40px}.compliance-profile-row,.compliance-product-row,.treatment-product-row,.compliance-record-grid{grid-template-columns:1fr}.compliance-profile-row>strong,.compliance-profile-checks,.compliance-record-field.wide{grid-column:auto}.compliance-profile-checks{display:grid}.compliance-profile-row input,.compliance-product-row input,.compliance-profile-row select,.treatment-product-row input,.treatment-product-row select,.compliance-form-grid textarea{font-size:16px}.compliance-record-product{grid-template-columns:1fr 1fr}.compliance-manual-actions{display:grid;grid-template-columns:1fr}.compliance-manual-actions>*{width:100%}.compliance-incident-row{grid-template-columns:10px minmax(0,1fr)}.compliance-incident-row small{grid-column:2}}
@media(max-width:390px){.weekly-board,.staff-weekly-board{grid-template-columns:repeat(7,calc(100vw - 24px))}.week-column,.staff-week-day{width:calc(100vw - 24px)}.topbar-actions{gap:5px}.view-switch{gap:1px}.view-switch button{padding-left:7px;padding-right:7px}.metrics{grid-template-columns:1fr}.weather-alert{grid-template-columns:1fr}.weather-icon{display:none}.weather-alert>button:not(.dismiss-alert){grid-column:1}.office-schedule-header .schedule-tools{display:grid;grid-template-columns:1fr}.office-date-field{width:100%}}

/* Continuous office week document */
.document-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:16px}.document-toolbar>div:first-child{display:grid;gap:2px}.document-toolbar>div:first-child strong{font-size:12px}.document-toolbar>.run-sheet-legend{justify-self:end}.document-toolbar .secondary-button{min-height:36px;padding:7px 12px}.drag-help{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 18px;background:#f2f7f4;border-bottom:1px solid var(--line);color:#52685f;font-size:10px}.drag-help>div{display:flex;align-items:center;gap:8px}.drag-grip{font-size:17px;color:#315b4c}.week-selection-status{flex:0 0 auto}.week-selection-status strong{color:#244a3c;font-size:10px}.week-selection-status button{min-height:28px;padding:3px 8px;border:1px solid #cddbd4;border-radius:7px;background:white;color:#315b4c;font-size:9px;font-weight:800}.week-selection-status button:disabled{opacity:.45}.week-document{max-height:72vh;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;background:#e7eeea;padding:0 0 18px;scrollbar-gutter:stable}.week-sheet{background:white;border-bottom:12px solid #e7eeea;scroll-margin-top:0}.week-sheet:last-child{border-bottom:0}.week-sheet-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:8px 18px;background:rgba(255,255,255,.97);border-top:1px solid #d7e0db;border-bottom:1px solid #ccd9d2;box-shadow:0 2px 5px rgba(16,43,39,.06);backdrop-filter:blur(8px)}.week-sheet-header>div{display:grid;gap:2px}.week-sheet-header>div span{font-size:8px;font-weight:700;letter-spacing:.12em;color:#85938d}.week-sheet-header>div strong{font:700 13px/1.2 Manrope,sans-serif;color:#17372e}.week-period-chip{padding:5px 8px;border-radius:999px;background:#eef2f0;color:#62736c;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.current-week-sheet .week-sheet-header{box-shadow:inset 4px 0 0 #1be84e,0 2px 5px rgba(16,43,39,.07)}.current-week-sheet .week-period-chip{background:#dff8e5;color:#1f6b3d}.week-sheet .weekly-board{min-height:0}.week-sheet .week-column{min-height:0}.office-week-job{cursor:grab;transition:opacity .15s,box-shadow .15s}.office-week-job:active{cursor:grabbing}.office-week-job:focus-visible{outline:2px solid #1d6fe8;outline-offset:-2px}.office-week-job.multi-selected{position:relative;z-index:2;box-shadow:inset 0 0 0 2px #176ee8,0 0 0 1px #fff}.office-week-job.multi-selected .drag-handle{background:#176ee8;color:#fff}.office-week-job.dragging{opacity:.32}.week-route-drop{display:flex;flex-direction:column;transition:box-shadow .15s,background-color .15s}.week-route-drop>.week-jobs{flex:1;cursor:cell}.week-route-empty>.week-jobs{display:grid;min-height:20px;place-items:center}.week-route-empty>.week-jobs:after{content:'+ Add job';color:#7d8b85;font-size:8px;font-weight:800;opacity:.55;pointer-events:none}.week-route-drop.drop-target{background:#e7f8ed;box-shadow:inset 0 0 0 3px #259451}.week-client{grid-template-columns:auto minmax(0,1fr);align-items:center;align-content:center}.week-client strong{min-width:0}.drag-handle{display:grid;place-items:center;width:24px;height:30px;min-height:0;margin:-4px 3px -4px -4px;padding:0;border:0;border-radius:5px;background:transparent;color:rgba(20,50,40,.58);font-size:16px;line-height:1;cursor:grab;touch-action:none}.drag-handle:hover,.drag-handle:focus-visible{background:rgba(255,255,255,.55);color:#173f32;outline:none}.drag-ghost{position:fixed;inset:0 auto auto 0;z-index:1000;max-width:260px;padding:10px 13px;border:1px solid #1d7446;border-radius:9px;background:white;color:#17372e;box-shadow:0 10px 30px rgba(12,45,35,.22);font-size:12px;font-weight:800;pointer-events:none;will-change:transform}.dragging-visit{user-select:none;-webkit-user-select:none}.dragging-visit *{cursor:grabbing!important}

@media(min-width:701px){.weekly-scroll{overflow-x:auto;overscroll-behavior-x:contain}.weekly-board,.staff-weekly-board{grid-template-columns:repeat(7,minmax(0,1fr));min-width:140%;width:140%}.week-column,.staff-week-day{min-width:0;width:auto}.week-job{grid-template-columns:minmax(0,50%) minmax(0,31%) minmax(0,19%)}.week-job>div{padding:5px 4px}.week-client strong,.week-place strong{font-size:8px}.week-window{font-size:8px}.drag-handle{width:19px;margin-left:-3px;margin-right:2px}.staff-week-day th,.staff-week-day td{padding-left:5px;padding-right:5px}.staff-week-day th{font-size:7px}.staff-week-day td{font-size:8px}}

@media(max-width:700px){.document-toolbar{grid-template-columns:1fr auto}.document-toolbar>.run-sheet-legend{grid-column:1/-1;justify-self:start}.drag-help{align-items:flex-start;flex-wrap:wrap;padding:10px 12px;font-size:11px;line-height:1.35}.drag-help>div:first-child{align-items:flex-start}.week-selection-status{width:100%;justify-content:space-between}.week-selection-status button{min-height:36px}.week-document{max-height:68dvh;padding-bottom:max(14px,env(safe-area-inset-bottom));scrollbar-gutter:auto}.week-sheet-header{padding:8px 12px}.week-sheet-header>div strong{font-size:12px}.drag-handle{width:36px;height:40px;margin:-4px 2px -4px -5px;font-size:20px}.week-sheet .weekly-scroll{border-bottom:1px solid #d7e0db}}

/* Dense schedules and direct office cell editing */
.employee-group-row td{height:34px;padding:5px 10px!important;background:#eaf0ed;border-top:5px solid #f3f6f4;border-bottom:1px solid #d5dfda;color:#233e34}.employee-group-row:first-child td{border-top:0}.employee-group-row td,.employee-group-row td:first-child,.employee-group-row td:last-child{box-shadow:none!important}.employee-group-row td{display:table-cell}.employee-group-row td>strong{display:inline-flex;align-items:center;gap:7px;font-size:10px}.employee-group-row td>small{float:right;margin-top:5px;color:#74837d;font-size:8px;font-weight:700}.employee-group-row .tech-avatar{width:20px;height:20px}.employee-empty-row td{height:34px!important;padding:7px 12px!important;background:#fbfcfb;color:#96a19d;font-size:9px;font-style:italic}.office-cell-edit,.week-cell-edit{border-radius:3px;cursor:default;outline:none}.office-cell-edit.is-editing,.week-cell-edit.is-editing{cursor:text}.office-cell-edit:focus,.week-cell-edit:focus{background:rgba(255,255,255,.72);box-shadow:0 0 0 2px #176ee8}.office-cell-edit{display:inline-block;min-width:18px}.week-cell-edit{display:block;min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:700;line-height:1.15}.week-window .week-cell-edit{text-align:center}

@media(min-width:701px){.week-column>header,.staff-week-day>header{height:36px}.week-column>header span,.staff-week-day>header span{font-size:10px}.week-column>header strong,.staff-week-day>header strong{font-size:9px}.week-route{min-height:calc(28px + var(--route-rows,0)*27px)}.week-route+.week-route{border-top-width:4px}.week-route-heading{height:28px;padding:0 5px}.week-route-heading>strong{gap:4px;font-size:8px}.week-route-heading .tech-avatar{width:17px;height:17px}.week-route-heading small{font-size:7px}.week-job{min-height:27px}.week-job>div{padding:2px 3px}.drag-handle{width:17px;height:23px;margin:-1px 2px -1px -2px;font-size:13px}.staff-week-day th{height:23px;padding-top:3px;padding-bottom:3px}.staff-week-day td{height:27px;padding-top:3px;padding-bottom:3px;line-height:1.1}.staff-week-day .no-route td{height:34px}.staff-note-preview{margin-top:2px;font-size:7px}}

@media(max-width:700px){.office-run-sheet-table .employee-group-row{display:block;grid-template-columns:none;border-radius:9px;background:#eaf0ed}.office-run-sheet-table .employee-group-row td{display:flex!important;align-items:center;justify-content:space-between;grid-column:1/-1!important;min-height:44px;border:0!important}.office-run-sheet-table .employee-group-row td::before,.office-run-sheet-table .employee-empty-row td::before{display:none}.office-run-sheet-table .employee-group-row td>small{float:none;margin:0}.office-run-sheet-table .employee-empty-row{display:block;grid-template-columns:none}.office-run-sheet-table .employee-empty-row td{display:block!important;grid-column:1/-1!important;border:0!important}.week-route{min-height:calc(34px + var(--route-rows,0)*45px)}.week-cell-edit{font-size:10px}.office-cell-edit:focus,.week-cell-edit:focus{font-size:16px}}

.employee-daily-table .employee-name-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.employee-daily-table .employee-name-line>strong{min-width:0;overflow-wrap:anywhere}.staff-contact-actions{flex:none;display:flex;gap:6px}.staff-call-link,.staff-message-link,.staff-on-way-button{flex:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid #bdd6c7;border-radius:10px;background:#eff8f2;color:#176646;text-decoration:none;touch-action:manipulation}.staff-call-link svg,.staff-message-link svg,.staff-on-way-button svg{width:19px;height:19px}.staff-call-link:hover,.staff-call-link:focus-visible,.staff-message-link:hover,.staff-message-link:focus-visible,.staff-on-way-button:not(:disabled):not(.is-unavailable):hover,.staff-on-way-button:focus-visible{background:#d9f0e2;border-color:#78ad8e;outline:2px solid #176646;outline-offset:2px}.staff-call-link:disabled,.staff-message-link:disabled,.staff-on-way-button:disabled:not(.is-sent){opacity:.4;cursor:not-allowed;outline:0}.staff-on-way-button.is-unavailable{opacity:.45}.staff-on-way-button.is-sending{background:#dcebff;color:#176ee8}.staff-on-way-button.is-sent,.staff-on-way-button.is-sent:disabled{opacity:1;border-color:#0f9635;background:#1be84e;color:#123e25;cursor:default}@media(max-width:700px){.staff-call-link,.staff-message-link,.staff-on-way-button{width:44px;height:44px}}

/* Four-week copying, unassigned sandbox and undo */
.icon-button:disabled{cursor:not-allowed;opacity:.35}.week-sheet-header>.week-sheet-actions{display:flex;flex-direction:row;align-items:center;gap:6px}.week-copy-button,.week-paste-button,.week-technicians-button{min-height:28px;padding:4px 8px;border:1px solid #cbd8d2;border-radius:7px;background:white;color:#315b4c;font-size:8px;font-weight:800}.week-copy-button:hover,.week-paste-button:not(:disabled):hover,.week-technicians-button:hover{border-color:#839d92;background:#f3f8f5}.week-paste-button{background:#173f32;color:white;border-color:#173f32}.week-paste-button:disabled{background:#eef2f0;color:#9aa59f;border-color:#dce3df;cursor:not-allowed}.week-clipboard-status{color:#657870;font-size:9px;font-weight:700}.week-route-unassigned{min-height:max(64px,calc(28px + var(--route-rows,0)*27px));background:repeating-linear-gradient(135deg,#fffdf5,#fffdf5 8px,#faf7e9 8px,#faf7e9 16px);outline:1px dashed #d3bb72;outline-offset:-1px}.week-route-unassigned .week-route-heading{background:#f5edcf;color:#5c4b20;border-bottom-color:#dbc98f}.week-route-unassigned .tech-avatar{background:#ddbd55;color:#493a10}

@media(max-width:700px){.week-sheet-header{align-items:flex-start;gap:8px}.week-sheet-actions{flex-wrap:wrap;justify-content:flex-end}.week-copy-button,.week-paste-button,.week-technicians-button{min-height:36px;font-size:9px}.week-sheet-actions .week-period-chip{flex-basis:100%;text-align:right}.week-clipboard-status{font-size:9px}.week-route-unassigned{min-height:max(92px,calc(34px + var(--route-rows,0)*45px))}}

/* Client database and safe Sheet import */
.client-sheet-controls{display:none}
.quote-forms-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quote-forms-actions a{text-decoration:none}.quote-forms-key{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:12px}.quote-forms-key[hidden]{display:none}.quote-forms-key label{display:grid;gap:6px;color:#50615a;font-size:12px;font-weight:700}.quote-forms-key input{width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:16px}.quote-forms-key p{grid-column:1/-1;margin:0;color:#65766d;font-size:12px;line-height:1.5}.staff-mode .quote-forms-section{display:none!important}
.clients-view{max-width:1540px}.clients-view[hidden]{display:none}.clients-active .bulk-bar{display:none}.clients-hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:23px}.clients-hero h1{font:700 31px/1.15 Manrope,sans-serif;letter-spacing:-1px;margin:0}.client-list-card{overflow:hidden;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 2px 7px rgba(18,48,40,.04)}.client-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border-bottom:1px solid var(--line)}.client-list-toolbar>div:first-child{display:grid}.client-list-toolbar>div:first-child strong{font:700 16px/1.2 Manrope,sans-serif}.client-list-toolbar>div:first-child span{margin-top:3px;color:#84918c;font-size:9px}.client-search{width:300px}.client-table-wrap{max-height:68vh;overflow:auto;scrollbar-gutter:stable}.client-table{min-width:1760px;table-layout:fixed}.client-table th{position:sticky;top:0;z-index:4;height:39px;padding:9px 10px;background:#f5f8f6;color:#40544b;text-transform:none;letter-spacing:0;border-right:1px solid #dfe5e2;white-space:nowrap}.client-table td{height:42px;padding:7px 10px;border-right:1px solid #e4e9e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-table th:first-child,.client-table td:first-child{position:sticky;left:0;z-index:3;width:230px;background:#fbfcfb;box-shadow:1px 0 0 #dce3df}.client-table th:first-child{z-index:5;background:#eef3f0}.client-table th:nth-child(2),.client-table th:nth-child(3),.client-table th:nth-child(11){width:135px}.client-table th:nth-child(4){width:125px}.client-table th:nth-child(5){width:80px}.client-table th:nth-child(6){width:130px}.client-table th:nth-child(7){width:225px}.client-table th:nth-child(8){width:210px}.client-table th:nth-child(9){width:165px}.client-table th:nth-child(10){width:150px}.client-table td:first-child strong{color:#1e3d32}.client-table a{color:#235e4b;text-decoration:none}.client-table a:hover{text-decoration:underline}.card-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}.card-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.card-status.yes{background:#e7f6ec;color:#287348}.card-status.no{background:#fff2e3;color:#9c6116}.card-status.expired{background:#fff0eb;color:#ae4938}.client-import-modal{width:min(720px,100%)}.import-instructions{margin:0 0 16px;color:#56675f;font-size:12px;line-height:1.5}.import-file-field,.import-text-field,.import-mode-field{display:grid;gap:7px;color:#50615a;font-size:10px;font-weight:700}.import-file-field{padding:14px;border:1px dashed #aebeb6;border-radius:11px;background:#f7faf8}.import-file-field input{font-size:11px}.import-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:#8a9691;font-size:9px}.import-divider:before,.import-divider:after{content:"";height:1px;flex:1;background:var(--line)}.import-text-field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:11px;color:#273830;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;outline:0}.import-text-field textarea:focus,.import-mode-field select:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.import-mode-field{margin-top:13px}.import-mode-field select{height:42px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:white;color:#273830;font-size:12px;outline:0}.import-preview{display:grid;gap:4px;margin-top:13px;padding:11px 12px;border:1px solid #dce6e1;border-radius:10px;background:#f4f8f6}.import-preview strong{font-size:11px}.import-preview span{color:#6b7d75;font-size:10px}.selection-delete-button,.danger-button{color:#a83f31!important}.week-selection-status .selection-delete-button:not(:disabled){border-color:#e5b7ae;background:#fff5f2}.bulk-bar .bulk-actions{gap:7px}.bulk-bar .bulk-actions .danger-button{min-height:37px;padding:8px 11px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:transparent;color:#ffd6cf!important;font-size:10px;font-weight:800}

@media(max-width:700px){
  .clients-hero{display:grid;gap:16px;align-items:start}.clients-hero h1{font-size:27px}.clients-hero .primary-button{justify-self:start}.client-list-toolbar{align-items:stretch;display:grid}.client-search{width:100%}.client-table-wrap{max-height:none;overflow:visible;padding:9px;background:#f3f6f4}.client-table{display:block;min-width:0;width:100%}.client-table thead{display:none}.client-table tbody{display:grid;gap:10px}.client-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dce4df;border-radius:12px;background:white;box-shadow:0 1px 3px rgba(12,47,41,.04)}.client-table td,.client-table td:first-child{position:static;display:block;width:auto;height:auto;min-height:47px;padding:8px 10px;border-right:1px solid #e1e7e4;border-bottom:1px solid #e1e7e4;white-space:normal;overflow:visible;box-shadow:none}.client-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#89958f;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.client-table td:first-child{grid-column:1/-1;min-height:54px;background:#f9fbfa;border-right:0}.client-table td:nth-child(odd):not(:first-child){border-right:0}.client-table td:nth-last-child(-n+2){border-bottom:0}.client-table a{overflow-wrap:anywhere}.client-import-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.client-import-modal .modal-footer .text-button{grid-column:1/-1;order:3}.import-file-field input,.import-text-field textarea,.import-mode-field select{font-size:16px}.bulk-bar{gap:7px}.bulk-bar>div:first-child{min-width:74px}.bulk-bar .bulk-actions{gap:5px}.bulk-bar .bulk-actions .danger-button{padding:7px 8px;font-size:9px}.bulk-bar .bulk-actions .primary-button{padding:7px 8px;font-size:9px}
}

/* Editable and sortable client sheet */
.client-table{min-width:1970px}.client-table th:nth-child(12){width:155px}.client-table th button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:22px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;white-space:nowrap}.client-table th button:hover,.client-table th button.active{color:#143f32}.sort-indicator{color:#91a09a;font-size:12px}.client-table th button.active .sort-indicator{color:#176e48}.client-table td{cursor:text}.client-name-cell{display:flex;align-items:center;gap:8px}.client-name-cell .client-cell-edit{min-width:0;flex:1}.client-delete-button{flex:0 0 auto;min-height:28px;padding:4px 8px;border:1px solid #e2b8b0;border-radius:7px;background:#fff7f5;color:#a23f32;font-size:12px;font-weight:800;cursor:pointer}.client-delete-button:hover,.client-delete-button:focus-visible{border-color:#b75647;background:#fff0ed;outline:2px solid rgba(183,86,71,.2);outline-offset:1px}.client-cell-edit{display:block;width:100%;min-height:18px;border-radius:4px;outline:0}.client-cell-edit.card-status{display:inline-flex;width:auto}.client-cell-edit.is-editing{min-width:48px;padding:3px 5px;margin:-3px -5px;background:white;box-shadow:0 0 0 2px #176ee8;color:#183c31;white-space:normal}.client-mobile-sort{display:none}.staff-mode .client-delete-button{display:none!important}

/* Position-aware route dragging */
.office-week-job{position:relative}.office-week-job.drop-before:before,.office-week-job.drop-after:after{content:"";position:absolute;z-index:7;left:2px;right:2px;height:3px;border-radius:3px;background:#176ee8;box-shadow:0 0 0 1px white}.office-week-job.drop-before:before{top:-2px}.office-week-job.drop-after:after{bottom:-2px}.week-route-unassigned.drop-target{background:repeating-linear-gradient(135deg,#edfff2,#edfff2 8px,#e1f8e8 8px,#e1f8e8 16px)}

/* Quick arrival-window editing and selected route sorting */
.quick-window-edit{cursor:text}.quick-window-edit:not(.is-editing):hover{background:rgba(23,110,72,.1);box-shadow:inset 0 -1px 0 rgba(23,110,72,.45)}.week-selection-status .route-sort-button:not(:disabled){border-color:#9dbbe8;background:#edf4ff;color:#195ba9}.route-sort-modal{width:min(700px,100%)}.route-sort-context{display:grid;gap:3px;padding:11px 12px;border:1px solid #dce5e1;border-radius:10px;background:#f6f9f7}.route-sort-context strong{font-size:12px;color:#24483b}.route-sort-context span{font-size:10px;color:#73847d}.route-direction-field{display:grid;gap:7px;margin:16px 0;color:#50615a;font-size:10px;font-weight:700}.route-direction-field select{height:43px;border:1px solid var(--line);border-radius:9px;padding:0 11px;background:white;color:#273830;font-size:12px;outline:0}.route-direction-field select:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.route-preview-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.route-preview-heading strong{font-size:11px}.route-preview-heading span{font-size:9px;color:#74847d}.route-sort-list{display:grid;gap:6px;max-height:315px;overflow:auto;margin:0;padding:0;list-style:none}.route-sort-list li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid #e0e7e3;border-radius:9px;background:#fbfcfb}.route-sort-list li>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#173f32;color:white;font-size:9px;font-weight:800}.route-sort-list li>div{display:grid;min-width:0}.route-sort-list strong{overflow:hidden;color:#273d34;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.route-sort-list strong em{margin-left:5px;padding:2px 5px;border-radius:999px;background:#e6f3ec;color:#2b6a4e;font-size:7px;font-style:normal;letter-spacing:.04em;text-transform:uppercase}.route-sort-list small{overflow:hidden;margin-top:2px;color:#78867f;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.route-sort-footer{align-items:center}.route-sort-footer a{text-decoration:none}.secondary-button.disabled{opacity:.45;pointer-events:none}

@media(max-width:700px){.client-mobile-sort{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.client-mobile-sort label{display:grid;gap:5px;color:#71817a;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.client-mobile-sort select,.client-mobile-sort button{height:44px;border:1px solid var(--line);border-radius:9px;background:white;color:#30443c;padding:0 10px;font-size:16px}.client-mobile-sort button{align-self:end;font-size:12px;font-weight:700}.client-mobile-sort button:disabled{opacity:.45}.client-cell-edit{min-height:22px;font-size:12px}.client-cell-edit.is-editing{font-size:16px}.client-delete-button{min-height:44px;padding:8px 12px;font-size:14px}.client-table{min-width:0}.route-direction-field select{font-size:16px}.route-sort-list{max-height:34dvh}.route-sort-list li{min-height:50px}.route-sort-list strong{font-size:12px}.route-sort-list small{font-size:10px}.route-sort-footer{display:grid;grid-template-columns:1fr 1fr}.route-sort-footer .text-button{grid-column:1/-1;order:4}.route-sort-footer a,.route-sort-footer button{min-height:43px;padding-left:8px;padding-right:8px;font-size:11px}.week-selection-status{flex-wrap:wrap}.week-selection-status .week-clipboard-status{flex-basis:100%}}

/* Full-screen, weekly-only office workspace */
.office-workspace>.hero-row[hidden],.office-workspace>.metrics[hidden],#dailyScheduleView[hidden],#dailyScheduleTools[hidden]{display:none!important}
.office-active .bulk-bar{display:none}

@media(min-width:701px){
  body.office-active{overflow:hidden}
  body.office-active .topbar{height:58px;padding:0 16px}
  body.office-active .brand-mark,body.office-active .brand-mark svg{width:36px;height:36px}
  body.office-active .brand strong{font-size:15px}
  body.office-active .brand small{margin-top:3px;font-size:9px}
  body.office-active .icon-button{width:34px;height:34px}
  #officeView.office-workspace{width:100%;max-width:none;height:calc(100dvh - 58px);padding:7px 8px 0;overflow:hidden}
  .office-workspace .office-schedule-card{height:100%;display:flex;flex-direction:column;border-radius:9px}
  .office-workspace .office-schedule-header{display:flex;align-items:center;min-height:45px;padding:7px 12px}
  .office-workspace .office-schedule-header .eyebrow{margin-bottom:2px;font-size:7px}
  .office-workspace .office-schedule-header h2{font-size:16px}
  .office-workspace #weeklyScheduleView{display:flex;flex:1;min-height:0;flex-direction:column}
  .office-workspace .document-toolbar{min-height:40px;padding:5px 12px;gap:8px}
  .office-workspace .document-toolbar .eyebrow{display:none}
  .office-workspace .document-toolbar>div:first-child strong{font-size:10px}
  .office-workspace .document-toolbar .secondary-button{min-height:29px;padding:4px 9px;font-size:10px}
  .office-workspace .run-sheet-legend{gap:8px}
  .office-workspace .run-sheet-legend span{font-size:8px}
  .office-workspace .drag-help{min-height:35px;padding:5px 10px;font-size:8px}
  .office-workspace .drag-grip{font-size:14px}
  .office-workspace .week-selection-status{gap:5px}
  .office-workspace .week-selection-status button{min-height:24px;padding:2px 6px;font-size:8px}
  .office-workspace .week-document{flex:1;min-height:0;max-height:none;padding-bottom:7px}
  .office-workspace .week-sheet{border-bottom-width:7px}
  .office-workspace .week-sheet-header{min-height:38px;padding:4px 10px}
  .office-workspace .week-sheet-header>div strong{font-size:11px}
  .office-workspace .week-period-chip{padding:3px 6px;font-size:7px}
  .office-workspace .week-copy-button,.office-workspace .week-paste-button,.office-workspace .week-technicians-button{min-height:24px;padding:2px 6px;font-size:7px}
  .office-workspace .week-column>header{height:27px}
  .office-workspace .week-column>header span{font-size:8px}
  .office-workspace .week-column>header strong{font-size:7px}
  .office-workspace .week-route{min-height:calc(21px + var(--route-rows,0)*21px);padding-bottom:0}
  .office-workspace .week-route+.week-route{margin-top:0;border-top-width:3px}
  .office-workspace .week-route-heading{height:21px;padding:0 4px}
  .office-workspace .week-route-heading>strong{gap:3px;font-size:7px}
  .office-workspace .week-route-heading .tech-avatar{width:14px;height:14px;font-size:6px}
  .office-workspace .week-route-heading small{font-size:6px}
  .office-workspace .week-job{min-height:21px}
  .office-workspace .week-job>div{padding:1px 2px}
  .office-workspace .week-cell-edit{font-size:7.25px;line-height:1.05}
  .office-workspace .drag-handle{width:15px;height:19px;margin:0 1px 0 -1px;font-size:11px}
  .office-workspace .week-route-unassigned{min-height:max(42px,calc(21px + var(--route-rows,0)*21px))}
  .office-workspace .run-sheet-footer{min-height:26px;padding:5px 10px;font-size:7px}
  .employee-view{max-width:none;padding-left:14px;padding-right:14px}
  .employee-view .staff-week-day td{height:23px;padding-top:2px;padding-bottom:2px;font-size:7.5px}
  .employee-view .staff-week-day th{height:21px;padding-top:2px;padding-bottom:2px;font-size:6.5px}
}

@media(max-width:700px){
  body.office-active{overflow:hidden}
  body.office-active .topbar{height:62px}
  #officeView.office-workspace{height:calc(100dvh - 62px);padding:6px 5px 0;overflow:hidden}
  .office-workspace .office-schedule-card{height:100%;display:flex;flex-direction:column;border-radius:9px}
  .office-workspace .office-schedule-header{min-height:49px;padding:8px 11px}
  .office-workspace .office-schedule-header .eyebrow{margin-bottom:3px;font-size:8px}
  .office-workspace .office-schedule-header h2{font-size:17px}
  .office-workspace #weeklyScheduleView{display:flex;flex:1;min-height:0;flex-direction:column}
  .office-workspace .document-toolbar{padding:7px 10px;gap:7px}
  .office-workspace .document-toolbar .secondary-button{min-height:34px;padding:5px 8px;font-size:10px}
  .office-workspace .document-toolbar>.run-sheet-legend{display:none}
  .office-workspace .drag-help{padding:7px 9px;font-size:9px}
  .office-workspace .week-document{flex:1;min-height:0;max-height:none}
  .office-workspace .weekly-board{grid-template-columns:repeat(7,calc(100vw - 12px))}
  .office-workspace .week-column{width:calc(100vw - 12px)}
  .office-workspace .run-sheet-footer{padding:7px 9px;font-size:8px}
}

/* Schedule history, financial years and shared staff data */
.schedule-history-search{position:relative;z-index:20;display:grid;gap:3px;width:min(320px,34vw);margin-left:auto}.schedule-history-search>label,.financial-year-control>label{color:#75857e;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.schedule-history-input{height:31px;display:flex;align-items:center;gap:6px;border:1px solid #d8e1dc;border-radius:8px;padding:0 8px;background:#fbfcfb}.schedule-history-input:focus-within{border-color:#6f9184;box-shadow:0 0 0 2px rgba(23,110,72,.1)}.schedule-history-input svg{width:14px;height:14px;color:#71827a}.schedule-history-input input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:#273830;font-size:11px}.schedule-search-results{position:absolute;top:100%;right:0;width:min(390px,85vw);max-height:330px;overflow:auto;margin-top:5px;border:1px solid #ccd8d2;border-radius:10px;background:white;box-shadow:0 14px 38px rgba(12,43,34,.2)}.schedule-search-results[hidden]{display:none}.schedule-search-results button{display:grid;width:100%;padding:9px 11px;border:0;border-bottom:1px solid #e7ece9;background:white;text-align:left}.schedule-search-results button:last-child{border-bottom:0}.schedule-search-results button:hover,.schedule-search-results button:focus-visible{background:#f0f7f3;outline:0}.schedule-search-results strong{color:#1d3c31;font-size:10px}.schedule-search-results span{margin-top:2px;color:#256547;font-size:9px;font-weight:800}.schedule-search-results small{margin-top:2px;color:#78877f;font-size:8px}.schedule-search-empty{padding:14px;color:#74837d;font-size:10px}.financial-year-control{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px 7px}.financial-year-control>label{grid-column:1/-1}.financial-year-control select{height:25px;border:1px solid #d7e0db;border-radius:7px;background:white;color:#29443a;padding:0 22px 0 7px;font-size:9px;font-weight:800}.financial-year-control strong{font-size:9px!important}.schedule-window-controls{display:flex;align-items:center;justify-content:flex-end;gap:5px}.schedule-window-controls>button{min-height:27px;padding:3px 7px;border:1px solid #d3ddd8;border-radius:7px;background:white;color:#315b4c;font-size:8px;font-weight:800}.schedule-window-controls>button:disabled{cursor:not-allowed;opacity:.4}.route-sort-list strong em.fallback{background:#fff0cf;color:#855d12}.employee-daily-table .no-route td{text-align:center!important;color:#8a9791;font-weight:500}

@media(min-width:701px){.office-workspace .office-schedule-header{gap:14px}.office-workspace .document-toolbar{grid-template-columns:1fr auto 1.4fr}.office-workspace .schedule-window-controls .run-sheet-legend{margin-left:4px}}

@media(max-width:700px){.schedule-history-search{width:100%;margin-top:8px}.schedule-history-input{height:40px}.schedule-history-input input{font-size:16px}.schedule-search-results{left:0;right:auto;width:100%;max-height:42dvh}.schedule-search-results strong{font-size:12px}.schedule-search-results span{font-size:11px}.schedule-search-results small{font-size:10px}.office-workspace .office-schedule-header{display:block}.office-workspace .document-toolbar{grid-template-columns:1fr auto}.schedule-window-controls{grid-column:1/-1;justify-content:space-between}.schedule-window-controls>button{min-height:34px;font-size:9px}.schedule-window-controls .run-sheet-legend{display:none}.financial-year-control select{height:34px;font-size:12px}.financial-year-control strong{font-size:9px!important}}

/* Combined staff address + Maps handoff and office status editing */
.employee-daily-table{min-width:760px}.employee-daily-table th:first-child{width:32%}.employee-daily-table th:nth-child(2){width:38%}.employee-daily-table th:nth-child(3){width:19%;text-align:center}.employee-daily-table th:nth-child(4){width:11%;text-align:center}.employee-daily-table td:nth-child(3),.employee-daily-table td:nth-child(4){text-align:center;font-weight:700}.staff-map-link{display:inline-block;color:#174f3b;font-weight:700;text-decoration:underline;text-decoration-color:#9eb6ac;text-underline-offset:2px;-webkit-touch-callout:default;touch-action:manipulation}.staff-map-link:hover,.staff-map-link:focus-visible{color:#0a6a43;text-decoration-color:currentColor}.staff-address-missing{display:block;color:#9a3412;font-weight:800}.staff-address-suburb{display:block;margin-top:2px;color:#6b7c74;font-size:12px}.week-status-control{display:flex;align-items:center}.week-status-control>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.week-status-control select{min-height:28px;padding:3px 23px 3px 7px;border:1px solid #cddbd4;border-radius:7px;background:white;color:#315b4c;font-size:9px;font-weight:800}.week-status-control select:disabled{cursor:not-allowed;opacity:.45}

@media(min-width:701px){.office-workspace .week-status-control select{min-height:24px;padding-top:2px;padding-bottom:2px;font-size:8px}}

@media(max-width:700px){.employee-daily-table{min-width:0}.employee-daily-table tr{grid-template-columns:1fr 1fr}.employee-daily-table td:first-child{grid-column:1/-1}.employee-daily-table td:nth-child(2){grid-column:1/-1;border-right:0;border-bottom:1px solid #e1e7e4}.employee-daily-table td:nth-child(3){grid-column:1;text-align:left}.employee-daily-table td:nth-child(4){grid-column:2;text-align:left;border-right:0}.staff-map-link{font-size:13px;line-height:1.35}.week-status-control select{min-height:36px;font-size:16px}.week-selection-status .week-status-control{flex:1 1 124px}.week-selection-status .week-status-control select{width:100%}}

/* SMS wording previews */
.form-grid .full-field{grid-column:1/-1}.sms-template-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;border-radius:11px;background:#eaf0ed}.sms-template-switch button{min-height:38px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#667870;font-size:11px;font-weight:800}.sms-template-switch button.active{background:white;color:#174536;box-shadow:0 1px 4px rgba(14,52,41,.14)}.sms-template-switch button:focus-visible{outline:2px solid #176ee8;outline-offset:1px}

@media(max-width:620px){.sms-template-switch button{min-height:44px;font-size:12px}.form-grid .full-field select{font-size:16px}}

/* Editable individual and multi-customer SMS previews */
textarea.message-bubble{display:block;width:calc(100% - 34px);min-height:168px;border:0;outline:0;resize:vertical;overflow:auto}.message-bubble:focus{box-shadow:0 0 0 2px rgba(23,79,59,.22)}.multi-sms-modal{width:min(860px,100%);display:flex;flex-direction:column;overflow:hidden}.multi-sms-modal .modal-header{flex:0 0 auto}.multi-sms-subtitle{margin:6px 0 0;color:var(--muted);font-size:12px}.multi-sms-body{min-height:0;overflow:auto}.multi-sms-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px;padding:13px 14px;border:1px solid #dce6e1;border-radius:11px;background:#f5f8f6}.multi-sms-toolbar label{display:grid;gap:6px;color:#52655d;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.multi-sms-toolbar select,.multi-sms-item-controls select{height:36px;border:1px solid #cddbd4;border-radius:8px;background:white;padding:0 30px 0 10px;color:#243a31;font-size:12px}.multi-sms-toolbar>span{color:#6d7f77;font-size:11px}.multi-sms-list{display:grid;gap:12px}.multi-sms-item{padding:15px;border:1px solid #dce5e1;border-radius:13px;background:#fff}.multi-sms-item-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:11px}.multi-sms-item-header>div{display:grid;gap:3px}.multi-sms-item-header strong{font-size:13px;color:#21372e}.multi-sms-item-header span,.multi-sms-item-header small{color:#74857d;font-size:10px}.multi-sms-item-header small{text-align:right}.multi-sms-item-controls{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.multi-sms-item-controls label{display:grid;gap:5px;color:#65766f;font-size:10px;font-weight:700}.multi-sms-item-controls button{min-height:36px;padding:7px 12px}.multi-sms-message-label{display:grid;grid-template-columns:1fr auto;gap:6px;color:#50625a;font-size:10px;font-weight:800}.multi-sms-message-label>span{color:#436e5d;background:#e9f5ef;padding:3px 6px;border-radius:999px;font-size:9px}.multi-sms-message-label textarea{grid-column:1/-1;width:100%;min-height:112px;border:1px solid #cfdcd6;border-radius:10px;padding:11px 12px;background:#f8fbf9;color:#263d33;font-size:13px;line-height:1.5;resize:vertical;outline:0}.multi-sms-message-label textarea:focus{border-color:#769b8c;box-shadow:0 0 0 3px rgba(23,79,59,.08)}

@media(max-width:620px){.multi-sms-modal{max-height:calc(100dvh - 16px)}.multi-sms-modal .modal-header,.multi-sms-modal .modal-body,.multi-sms-modal .modal-footer{padding-left:15px;padding-right:15px}.multi-sms-toolbar{align-items:stretch;flex-direction:column;gap:8px}.multi-sms-toolbar select,.multi-sms-item-controls select,.multi-sms-message-label textarea{font-size:16px}.multi-sms-item{padding:13px}.multi-sms-item-header{display:grid;gap:5px}.multi-sms-item-header small{text-align:left}.multi-sms-item-controls button{min-height:44px}.multi-sms-message-label textarea{min-height:150px}.multi-sms-modal .modal-footer{display:grid;grid-template-columns:1fr 1fr}.multi-sms-modal .modal-footer .text-button{grid-column:1/-1;order:3;min-height:44px}.multi-sms-modal .modal-footer button{min-height:44px}}

/* Spreadsheet-style range selection and denser office weeks */
.week-selection-marquee{position:fixed;z-index:48;border:1px solid #176ee8;background:rgba(23,110,232,.12);box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);pointer-events:none}.office-marquee-active,.office-marquee-active *{cursor:crosshair!important;user-select:none!important;-webkit-user-select:none!important}.office-workspace .week-route-heading>strong{font-weight:900;color:#163b2f}.office-workspace .week-route[data-tech="Mike"] .week-route-heading{box-shadow:inset 3px 0 0 #176947}.office-workspace .week-route[data-tech="Justin"] .week-route-heading{box-shadow:inset 3px 0 0 #2e6fa3}.office-workspace .week-route[data-tech="Cameron"] .week-route-heading{box-shadow:inset 3px 0 0 #6957a4}.office-workspace .week-route[data-tech="Mike"] .tech-avatar{background:#d9ede4;color:#15563c}.office-workspace .week-route[data-tech="Justin"] .tech-avatar{background:#dceaf5;color:#225c88}.office-workspace .week-route[data-tech="Cameron"] .tech-avatar{background:#e8e3f4;color:#554487}

@media(min-width:701px){.office-workspace .week-sheet-header{min-height:34px;padding-top:3px;padding-bottom:3px}.office-workspace .week-column>header{height:24px}.office-workspace .week-route{min-height:calc(19px + var(--route-rows,0)*18px)}.office-workspace .week-route+.week-route{border-top-width:4px}.office-workspace .week-route-heading{height:19px}.office-workspace .week-route-heading>strong{font-size:7.5px}.office-workspace .week-route-heading .tech-avatar{width:13px;height:13px}.office-workspace .week-job{min-height:18px}.office-workspace .week-job>div{padding-top:0;padding-bottom:0}.office-workspace .drag-handle{height:16px;font-size:10px}.office-workspace .week-route-unassigned{min-height:max(36px,calc(19px + var(--route-rows,0)*18px))}}

/* Employee clock-on/off and payment handoff */
.employee-clock-column{padding:0!important}.employee-clock-column.clock-active,.week-window.clock-active,.staff-clock-cell.clock-active{background:#dcebff!important}.employee-clock-column.clock-paid,.week-window.clock-paid,.staff-clock-cell.clock-paid{background:#1be84e!important}.employee-clock-column.clock-invoice,.week-window.clock-invoice,.staff-clock-cell.clock-invoice{background:#ffad28!important}.employee-clock-control{min-height:52px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:5px 7px}.employee-clock-control>strong{font-size:12px;color:#18372b}.employee-clock-control>span{grid-column:1;color:#557067;font-size:9px;font-weight:700}.employee-clock-control>button{grid-column:2;grid-row:1/3;min-height:34px;padding:5px 9px;border:1px solid #286a51;border-radius:8px;background:#184f3d;color:white;font-size:10px;font-weight:900}.employee-clock-control.clock-active>button{background:#176ee8;border-color:#176ee8}.employee-clock-control.clock-unavailable{display:grid;grid-template-columns:1fr}.employee-clock-control.clock-unavailable>span{grid-column:1;color:#8a5049}.employee-clock-complete{width:100%;min-height:52px;display:grid;align-content:center;gap:2px;padding:5px 7px;border:0;background:transparent;color:#17372e;text-align:center}.employee-clock-complete strong{font-size:12px}.employee-clock-complete span{font-size:9px;font-weight:800}.week-window.has-clock{display:grid;place-items:center;padding:0 1px!important}.week-window.has-clock .clock-window-source{display:none}.week-clock-range{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#142d24;font-size:6.7px;font-weight:900;letter-spacing:-.03em}.staff-clock-cell{padding:0!important;text-align:center}.staff-clock-range{display:grid;place-items:center;min-height:27px;padding:2px 3px;color:#183329;font-weight:900}.clock-complete-modal{width:min(520px,100%)}.clock-complete-summary{display:grid;gap:5px;padding:13px 14px;border:1px solid #dbe5e0;border-radius:11px;background:#f5f8f6}.clock-complete-summary strong{font-size:14px;color:#19392f}.clock-complete-summary span{font-size:12px;color:#63766e;font-weight:700}.clock-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:15px}.clock-payment-options button{min-height:94px;display:grid;align-content:center;gap:5px;padding:13px;border:2px solid transparent;border-radius:12px;color:#18352b;text-align:left}.clock-payment-options strong{font-size:14px}.clock-payment-options span{font-size:10px;line-height:1.35}.clock-payment-paid{background:#cffad8}.clock-payment-invoice{background:#ffe1a8}.clock-payment-options button.selected{border-color:#123e31;box-shadow:0 0 0 2px white inset}.clock-complete-note{margin:14px 2px 0;color:#6f7f79;font-size:10px;line-height:1.45}

@media(max-width:700px){.employee-clock-control,.employee-clock-complete{min-height:62px}.employee-clock-control>strong,.employee-clock-complete strong{font-size:14px}.employee-clock-control>button{min-width:88px;min-height:44px;font-size:12px}.employee-clock-control>span,.employee-clock-complete span{font-size:10px}.clock-payment-options{grid-template-columns:1fr}.clock-payment-options button{min-height:88px}.clock-payment-options strong{font-size:16px}.clock-payment-options span{font-size:12px}.week-clock-range{font-size:10px}.staff-clock-range{min-height:43px;font-size:10px}}

/* Customer queue release and live tracker handoff */
.route-heading-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:4px}.queue-release-button{min-height:17px;padding:1px 4px;border:1px solid #9eb2aa;border-radius:5px;background:#fff;color:#315b4c;font-size:6px;font-weight:900;line-height:1;white-space:nowrap}.queue-release-button:hover:not(:disabled),.queue-release-button:focus-visible{border-color:#256b4f;background:#f1f8f4;outline:none}.queue-release-button.is-live{border-color:#63a331;background:#eaf7ce;color:#315f16}.queue-release-button.is-live:before{content:'';display:inline-block;width:4px;height:4px;margin-right:3px;border-radius:50%;background:#5b9a24;vertical-align:1px}.queue-release-button:disabled{cursor:not-allowed;opacity:.38}

@media(max-width:700px){.route-heading-actions{gap:6px}.queue-release-button{min-height:27px;padding:4px 7px;font-size:8px}}

/* Per-customer job-time allocation and historical estimates */
.week-duration-control select{max-width:116px}.week-window:not(.has-clock),.week-window.has-clock{grid-template-columns:minmax(0,1fr) auto;column-gap:2px}.week-window:not(.has-clock) .week-cell-edit{min-width:0}.job-duration-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 3px;border-radius:999px;background:#edf1ef;color:#617069;font-size:5.5px;font-weight:900;line-height:1;white-space:nowrap}.job-duration-badge.duration-history{background:#e3efff;color:#285e9d}.job-duration-badge.duration-manual{background:#ddf3e7;color:#1d6a47}.week-window.has-clock .job-duration-badge{background:rgba(255,255,255,.65);color:#29453a}.staff-window-stack{display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:3px}.staff-window-stack .staff-clock-range{min-height:0;padding:0}.staff-window-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-duration-hint{padding:9px 11px;border:1px solid #dce6e1;border-radius:9px;background:#f4f8f6;color:#586d64;font-size:10px;line-height:1.4}.staff-duration-hint:before{content:'AUTO ESTIMATE';display:block;margin-bottom:3px;color:#315b4c;font-size:7px;font-weight:900;letter-spacing:.08em}.employee-clock-control>span[title]{text-decoration:underline dotted rgba(49,91,76,.35);text-underline-offset:2px}

@media(min-width:701px){.office-workspace .week-duration-control select{max-width:96px}.office-workspace .job-duration-badge{min-width:16px;padding:1px 2px;font-size:4.8px}.office-workspace .week-window:not(.has-clock),.office-workspace .week-window.has-clock{column-gap:1px}.employee-view .job-duration-badge{font-size:5.5px}}

@media(max-width:700px){.week-selection-status .week-duration-control{flex:1 1 164px}.week-selection-status .week-duration-control select{width:100%;max-width:none;min-height:36px;font-size:16px}.job-duration-badge{min-width:27px;padding:3px 5px;font-size:8px}.week-window:not(.has-clock),.week-window.has-clock{column-gap:5px}.staff-window-stack{gap:5px}.staff-duration-hint{font-size:11px}}

/* Native phone Messages handoff */
.drawer-footer a{flex:1;text-decoration:none}.modal-footer a.primary-button,.modal-footer a.secondary-button{text-decoration:none}.primary-button.disabled,.native-sms-next.disabled,[data-open-multi-sms].disabled{opacity:.45;pointer-events:none;cursor:not-allowed}.multi-sms-item-actions{display:flex;align-items:center;gap:7px}.multi-sms-item-actions a{min-height:36px;padding:7px 12px;text-decoration:none}.multi-sms-item.sms-opened,.multi-sms-item.sms-sent{border-color:#9fcfb8;background:#f7fcf9}.multi-sms-item.sms-opened [data-multi-sms-status],.multi-sms-item.sms-sent [data-multi-sms-status]{background:#dff2e8;color:#27644c}.multi-sms-item.sms-uncertain{border-color:#e5bf87;background:#fffaf2}.multi-sms-item.sms-uncertain [data-multi-sms-status]{background:#fff0d5;color:#875525}.multi-sms-item :disabled{cursor:not-allowed}.multi-sms-modal .modal-footer .native-sms-next{min-width:180px;text-align:center}

@media(max-width:620px){.multi-sms-item-controls{align-items:stretch;flex-direction:column}.multi-sms-item-actions{width:100%}.multi-sms-item-actions>*{flex:1;min-height:44px}.multi-sms-modal .modal-footer a,.drawer-footer a{min-height:44px}}

/* Add records and manage schedule staff */
.office-header-actions,.client-hero-actions{display:flex;align-items:center;gap:7px}.office-header-actions button{min-height:31px;padding:5px 9px;border-radius:8px;font-size:10px;white-space:nowrap}.employee-add-job{height:39px;white-space:nowrap}.modal-context{margin:5px 0 0;color:#708078;font-size:11px}.create-job-modal{width:min(720px,100%)}.client-create-modal{width:min(760px,100%)}.staff-manage-modal{width:min(620px,100%)}.create-form-grid label{display:grid;gap:7px;color:#50615a;font-size:11px;font-weight:700}.create-form-grid input,.create-form-grid select,.create-form-grid textarea{display:block;width:100%;min-height:42px;margin:0;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:white;color:#273830;font-size:12px;outline:0}.create-form-grid textarea{min-height:76px;resize:vertical}.create-form-grid input:focus,.create-form-grid select:focus,.create-form-grid textarea:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}.staff-manager-list{display:grid;gap:8px}.staff-manager-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #dce5e1;border-radius:10px;background:#fbfcfb}.staff-order-number{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:#e8efeb;color:#315848;font-size:10px;font-weight:900}.staff-manager-row>div:nth-child(2){display:grid;gap:2px}.staff-manager-row strong{font-size:13px;color:#213a30}.staff-manager-row small{color:#7a8982;font-size:9px}.staff-order-actions{display:flex;gap:5px}.staff-order-actions button{min-width:32px;min-height:32px;border:1px solid #d2ddd7;border-radius:7px;background:white;color:#315849;font-size:12px;font-weight:800}.staff-order-actions button:disabled{cursor:not-allowed;opacity:.35}.staff-order-actions .staff-remove-button{padding:0 9px;color:#9d4638}.staff-manager-add{display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.staff-manager-add>label{color:#50615a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.staff-manager-add>div{display:grid;grid-template-columns:1fr auto;gap:7px}.staff-manager-add input{min-width:0;height:40px;border:1px solid var(--line);border-radius:9px;padding:0 11px;font-size:12px;outline:0}.staff-manager-add input:focus{border-color:#91a69d;box-shadow:0 0 0 3px rgba(18,62,53,.06)}

@media(max-width:700px){.office-header-actions{width:100%;margin-top:8px}.office-header-actions button{flex:1;min-height:40px;font-size:11px}.employee-add-job{grid-column:1/-1;grid-row:3;min-height:44px}.client-hero-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.client-hero-actions button{width:100%;min-height:44px}.create-form-grid{grid-template-columns:1fr}.create-form-grid .full-field{grid-column:auto}.create-form-grid input,.create-form-grid select,.create-form-grid textarea,.staff-manager-add input{font-size:16px}.staff-manager-row{grid-template-columns:28px 1fr}.staff-order-actions{grid-column:1/-1}.staff-order-actions button{min-height:44px;flex:1}.staff-manager-add>div{grid-template-columns:1fr}.staff-manager-add button{min-height:44px}}

/* Shared operations, staff access and Sheets bridge */
.sync-mode-button{cursor:pointer}.sync-mode-button:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1)}.sync-mode-button .status-dot.offline{background:#ffad28}.sync-mode-button .status-dot.error{background:#ff6258}.sync-mode-button .status-dot.syncing{background:#6ea8ff;animation:sync-pulse 1.2s ease-in-out infinite}@keyframes sync-pulse{50%{opacity:.35}}
.operations-modal{width:min(980px,100%)}.operations-body{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#f6f8f7}.operations-section{min-width:0;padding:16px;border:1px solid #dbe5e0;border-radius:13px;background:white}.operations-section.day-start-section,.operations-section.sheets-section{grid-column:1/-1}.operations-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}.operations-section-heading>div{display:grid;gap:3px}.operations-section-heading strong{color:#173a2e;font-size:14px}.operations-section-heading span,.operations-help{color:#71817a;font-size:10px;line-height:1.45}.operations-section-heading label{display:grid;gap:5px;color:#62736c;font-size:9px;font-weight:800;text-transform:uppercase}.operations-section-heading input{height:34px;border:1px solid #ccd8d2;border-radius:8px;padding:0 9px;background:white;color:#274239;font-size:12px}.count-chip,.connection-badge{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:#edf2ef;color:#3f6355!important;font-size:9px!important;font-weight:900}.connection-badge.connected{background:#e2f3cf;color:#366519!important}.connection-badge.offline{background:#fff0cf;color:#825b10!important}.day-start-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.day-route-card{display:grid;gap:8px;padding:11px;border:1px solid #dde7e2;border-radius:10px;background:#fbfcfb}.day-route-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.day-route-card header strong{font-size:12px;color:#193d31}.day-route-card header span{font-size:9px;color:#667970;font-weight:800}.day-route-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.day-route-metrics span{display:grid;gap:2px;padding:6px;border-radius:7px;background:#edf2ef;color:#6c7b75;font-size:8px}.day-route-metrics strong{font-size:11px;color:#233e34}.day-route-flags{min-height:28px;color:#875c12;font-size:9px;line-height:1.45}.day-route-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.day-route-actions button{min-height:32px;padding:4px 7px;border:1px solid #cad8d1;border-radius:7px;background:white;color:#315d4c;font-size:8px;font-weight:900}.route-capacity-badge{padding:1px 4px;border-radius:999px;background:#e6f3ec;color:#286246;font-size:5.5px;font-weight:900;white-space:nowrap}.route-capacity-badge.over{background:#ffe2d9;color:#9a402d}.confirmation-inbox{display:grid;gap:7px;max-height:310px;overflow:auto}.confirmation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid #e0e7e3;border-radius:9px}.confirmation-row>div:first-child{display:grid;gap:2px}.confirmation-row strong{font-size:11px;color:#203b31}.confirmation-row span{color:#78877f;font-size:9px}.confirmation-actions{display:flex;gap:4px}.confirmation-actions button{min-height:28px;padding:3px 6px;border:1px solid #cad6d0;border-radius:6px;background:white;color:#31594a;font-size:7px;font-weight:900}.confirmation-actions button[data-confirmation="confirmed"]{background:#e5f5d4}.confirmation-actions button[data-confirmation="declined"]{background:#ffe3dd}.shared-access-actions,.sheets-actions{display:flex;flex-wrap:wrap;gap:7px}.shared-access-actions button,.sheets-actions button{min-height:35px}.operations-help{margin:11px 0 0}.sheets-fields{display:grid;grid-template-columns:2fr 1fr;gap:9px;margin-bottom:9px}.sheets-fields label{display:grid;gap:5px;color:#5d6e67;font-size:9px;font-weight:800}.sheets-fields input{height:39px;border:1px solid #ccd9d3;border-radius:8px;padding:0 10px;font-size:12px}.sheets-workbook-summary{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0}.sheets-workbook-summary span{padding:5px 8px;border-radius:999px;background:#edf3f0;color:#49645a;font-size:8px;font-weight:800}.sheets-sync-controls{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #e4ebe7}.sheets-sync-controls>label{display:grid;gap:5px;color:#5d6e67;font-size:9px;font-weight:800}.sheets-sync-controls select{height:35px;border:1px solid #ccd9d3;border-radius:8px;padding:0 28px 0 9px;background:white;color:#274239;font-size:10px}.sheets-preview{display:grid;gap:7px;margin-top:10px;padding:10px 11px;border:1px solid #dce6e1;border-radius:9px;background:#f6f9f7}.sheets-preview>strong{font-size:11px;color:#254438}.sheets-preview>span{font-size:9px;color:#708078}.sheets-preview-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.sheets-preview-counts span{display:grid;gap:1px;padding:6px;border:1px solid #dfe8e3;border-radius:7px;background:white;color:#76857e;font-size:7px}.sheets-preview-counts strong{color:#24483a;font-size:13px}.sheets-change-list{display:grid;gap:3px;max-height:160px;overflow:auto}.sheets-change-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:7px;padding:5px 7px;border-radius:6px;background:white;font-size:8px}.sheets-change-row b{padding:3px 5px;border-radius:999px;background:#e3f2e8;color:#276248;text-align:center;font-size:7px;text-transform:uppercase}.sheets-change-row.conflict b{background:#fff0cf;color:#895a08}.sheets-change-row.update b{background:#e8eef9;color:#355b91}.sheets-change-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#536a61}.sheets-warning{padding:6px 8px;border-radius:7px;background:#fff4da;color:#7c5a15;font-size:8px;line-height:1.45}.sheets-approve{margin-top:9px}.sheets-safety{margin-top:10px}.staff-access-modal{width:min(520px,100%)}.rain-day-modal{width:min(650px,100%)}.rain-day-preview{display:grid;gap:5px;margin-top:14px;padding:11px;border:1px solid #dae5df;border-radius:9px;background:#f6f9f7;color:#5d7067;font-size:10px}.rain-day-preview strong{color:#24473a;font-size:11px}
.staff-pin-field{display:grid;gap:3px;min-width:110px;color:#697a72;font-size:8px;font-weight:800;text-transform:uppercase}.staff-pin-field input{width:110px;height:32px;border:1px solid #d0dcd6;border-radius:7px;padding:0 8px;background:white;font-size:12px}.staff-role-note{color:#638073;font-size:8px}.staff-mode #manageStaff,.staff-mode #openDayStart,.staff-mode #openOfficeAddJob,.staff-mode #openClientImport,.staff-mode #openClientCreate,.staff-mode #undoSchedule,.staff-mode .week-selection-status,.staff-mode .week-copy-button,.staff-mode .week-paste-button,.staff-mode .queue-release-button,.staff-mode .office-workspace .drag-handle{display:none!important}.staff-mode .office-workspace .week-cell-edit,.staff-mode .clients-view .client-cell-edit,.staff-mode .client-table td{cursor:default}.staff-mode .office-workspace .week-route-empty{cursor:default}.staff-mode .clients-view .client-cell-edit:focus{outline:none}

.staff-mode #officeMobileAddJob,.staff-mode #officeMobileAddNote,.staff-mode .office-mobile-private-legend,.staff-mode #officeMobileSelection,.staff-mode #officeMobileWeekActions,.staff-mode .office-mobile-week-heading-actions{display:none!important}

/* Detailed staff outcomes */
.clock-payment-options{grid-template-columns:repeat(2,1fr)}.clock-payment-options button:not(.clock-payment-paid):not(.clock-payment-invoice){background:#eef3f0}.job-outcome-details{display:grid;grid-template-columns:1.4fr 1fr;gap:10px;margin-top:13px}.job-outcome-details label{display:grid;gap:6px;color:#53675e;font-size:10px;font-weight:800}.job-outcome-details textarea{min-height:78px;border:1px solid #ccd9d3;border-radius:9px;padding:9px;font-size:12px;resize:vertical}.job-photo-field{align-content:start;padding:10px;border:1px dashed #bfcfc7;border-radius:9px;background:#f7faf8}.job-photo-field input{max-width:100%;font-size:10px}.job-photo-field span{color:#718179;font-size:9px;font-weight:500}.job-outcome-label{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:5.5px;font-weight:900;color:#5d4030}

@media(max-width:700px){.mode-chip{display:none}.sync-mode-button{display:flex}.office-header-actions{flex-wrap:wrap}.office-header-actions button{flex:1 1 42%}.operations-modal{max-height:calc(100dvh - 12px)}.operations-body{grid-template-columns:1fr;padding:13px}.operations-section.day-start-section,.operations-section.sheets-section{grid-column:auto}.day-start-summary{grid-template-columns:1fr}.sheets-fields{grid-template-columns:1fr}.sheets-fields input,.operations-section-heading input,.staff-access-grid input,.staff-access-grid select{font-size:16px}.confirmation-row{grid-template-columns:1fr}.confirmation-actions{display:grid;grid-template-columns:repeat(3,1fr)}.confirmation-actions button{min-height:42px;font-size:9px}.operations-section-heading{align-items:flex-start}.day-route-actions button{min-height:42px;font-size:9px}.staff-manager-row{grid-template-columns:28px 1fr}.staff-pin-field{grid-column:1/-1}.staff-pin-field input{width:100%;height:44px;font-size:16px}.clock-payment-options{grid-template-columns:1fr}.job-outcome-details{grid-template-columns:1fr}.job-outcome-details textarea{font-size:16px}.employee-access-button{min-height:44px}}
@media(max-width:620px){.sync-mode-button{width:32px;height:32px;justify-content:center;padding:0}.sync-mode-button #syncModeText{display:none}.sync-mode-button .status-dot{margin:0}}
.office-pin-setup{display:flex;align-items:end;gap:7px;margin-top:10px}.office-pin-setup label{display:grid;gap:4px;color:#61736b;font-size:8px;font-weight:800;text-transform:uppercase}.office-pin-setup input{width:190px;height:35px;border:1px solid #ccd8d2;border-radius:8px;padding:0 9px;font-size:12px}.office-pin-setup button{min-height:35px}
.sheets-setup-steps{display:grid;gap:3px;margin:0 0 11px;padding-left:20px;color:#697a72;font-size:9px;line-height:1.45}.sheets-setup-steps li::marker{color:#2f6b52;font-weight:900}
.site-backup-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid #c8dbd0;border-radius:9px;background:#f4faf6}.site-backup-controls>div:first-child{display:grid;gap:4px;min-width:210px;flex:1}.site-backup-controls strong{font-size:12px;color:#264939}.site-backup-controls span{font-size:10px;color:#506b5a;line-height:1.4}.site-backup-controls #siteBackupStatus{display:flex;flex-wrap:wrap;gap:5px 10px}.site-backup-controls a{color:#176c4b;text-decoration:underline;font-weight:700}.site-backup-controls .sheets-actions{display:flex;flex-wrap:wrap;gap:6px}.site-backup-controls button{min-height:36px}
.manual-backup-panel[hidden],#manualSiteBackupSyncWarning[hidden]{display:none!important}.manual-backup-panel label{font-size:11px;font-weight:800;color:#254438}.manual-backup-panel textarea{width:100%;min-height:120px;padding:10px;border:1px solid #ccd9d3;border-radius:8px;resize:vertical;font:inherit;font-size:12px;line-height:1.5;color:#274239;background:white;box-sizing:border-box}.manual-backup-panel p{margin:0;font-size:11px;line-height:1.5}.manual-backup-panel .sheets-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;text-decoration:none}.manual-backup-panel>span{font-size:11px;line-height:1.5}.manual-backup-panel a:not(.primary-button){color:#176c4b;text-decoration:underline}
@media(max-width:700px){.sheets-sync-controls{display:grid;align-items:stretch}.sheets-sync-controls select{width:100%;min-height:44px;font-size:16px}.sheets-sync-controls .sheets-actions{display:grid;grid-template-columns:1fr 1fr}.sheets-sync-controls button{min-height:44px}.sheets-preview-counts{grid-template-columns:repeat(2,1fr)}.sheets-change-list{max-height:230px}.sheets-change-row{grid-template-columns:62px minmax(0,1fr);min-height:36px}.sheets-workbook-summary{display:grid;grid-template-columns:1fr}}
.compact-button{min-height:31px;padding:5px 9px;font-size:9px}.audit-history{display:grid;gap:6px;max-height:310px;overflow:auto}.audit-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e0e7e3;border-radius:9px;background:#fbfcfb}.audit-row>div{display:grid;gap:2px;min-width:0}.audit-row strong{overflow:hidden;color:#203b31;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.audit-row span{color:#75847d;font-size:8px}.audit-row small{color:#8a9892;font-size:7px;font-weight:800}.audit-marker{width:7px;height:7px;border-radius:999px;background:#45966e;box-shadow:0 0 0 3px #e4f2eb}.audit-marker.undo{background:#d58b31;box-shadow:0 0 0 3px #fff0da}.audit-empty{padding:15px;border:1px dashed #d5dfda;border-radius:9px;color:#728179;font-size:10px;text-align:center}
@media(max-width:620px){.office-pin-setup{display:grid;grid-template-columns:1fr}.office-pin-setup input{width:100%;height:44px;font-size:16px}.office-pin-setup button{min-height:44px}}

/* Whole-job selection, empty-field prompts, and true schedule fullscreen. */
.office-week-job.multi-selected{box-shadow:none}
.week-job-selection-outline{position:absolute;z-index:8;inset:0;display:none;border:2px solid #176ee8;border-radius:2px;pointer-events:none}
.office-week-job.multi-selected .week-job-selection-outline{display:block}
.week-cell-edit[data-placeholder]:empty:before{content:attr(data-placeholder);color:#71817a;font-style:italic;font-weight:600;opacity:.8}
.week-window:not(.has-clock) .quick-window-edit:empty{display:inline-block;min-width:24px;min-height:1em}
.schedule-fullscreen-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}
.schedule-fullscreen-toggle svg{width:12px;height:12px}
body.schedule-fullscreen{overflow:hidden;background:#fff}
body.schedule-fullscreen #officeView.office-workspace{width:100%;max-width:none;padding:0!important;overflow:hidden}
body.schedule-fullscreen .office-schedule-card{height:100%;border:0;border-radius:0!important;box-shadow:none}
body.schedule-fullscreen .document-toolbar{border-top:0}
body.schedule-fullscreen .run-sheet-footer{display:none}
body.schedule-fullscreen .schedule-fullscreen-toggle{border-color:#176ee8;background:#eaf2ff;color:#1559ad}
body.schedule-fullscreen .week-document{padding-bottom:0}

/* Office notes, full cell text, and one-click status actions. */
.week-cell-reader{display:grid;grid-template-columns:84px 30px minmax(0,1fr) auto;align-items:stretch;min-height:35px;border-bottom:1px solid #d7e0db;background:#fff;color:#294038}
.week-cell-reader>strong{display:flex;align-items:center;padding:0 10px;border-right:1px solid #dfe6e2;color:#607169;font-size:8px;letter-spacing:.04em;text-transform:uppercase}
.week-cell-reader-fx{display:grid;place-items:center;border-right:1px solid #dfe6e2;color:#789087;font:italic 700 11px Georgia,serif}
#weekCellReaderValue{width:100%;min-width:0;min-height:35px;max-height:120px;overflow:auto;resize:vertical;padding:8px 10px;border:0;border-radius:0;outline:none;background:white;color:#243b32;font-size:10px;line-height:1.4;white-space:pre-wrap;word-break:break-word;user-select:text}
#weekCellReaderValue:focus{box-shadow:inset 0 0 0 2px #176ee8}
.week-cell-reader-save{align-self:start;min-height:27px;margin:4px;padding:4px 10px;border:1px solid #d2ded6;border-radius:6px;background:#eef6f0;color:#24543b;font-size:10px;font-weight:700}
.week-cell-reader-save:disabled{opacity:.45;cursor:default}
#jumpToCurrentWeek{width:max-content;justify-self:start;white-space:nowrap}
@media(min-width:701px){.office-workspace .document-toolbar{grid-template-columns:minmax(0,1fr) auto auto minmax(0,1.4fr)}}
.week-client.has-note{grid-template-rows:auto auto;align-content:center}
.week-client.has-note>.drag-handle{grid-row:1/3}
.week-client.has-note>.week-cell-edit{grid-column:2;grid-row:1}
.week-job-note{display:block;min-width:0;grid-column:2;grid-row:2;overflow:hidden;margin-top:1px!important;color:rgba(20,35,29,.7)!important;font-size:6.5px!important;font-weight:500;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.week-status-actions{display:flex;align-items:center;gap:3px}
.week-selection-status .week-status-button{min-width:48px}
.week-selection-status .week-status-awaiting:not(:disabled){border-color:#d8c792;background:#fff9e8;color:#775c0f}
.week-selection-status .week-status-attention:not(:disabled){border-color:#e284b2;background:#ffe1ef;color:#82345d}
.week-selection-status .week-status-confirm:not(:disabled){border-color:#75c98f;background:#dff8e5;color:#145b35}
.week-selection-status .week-status-decline:not(:disabled){border-color:#e39d93;background:#ffe3de;color:#8c3125}
.week-selection-status .week-status-button.is-current{box-shadow:inset 0 0 0 1px currentColor,0 0 0 1px #fff}

@media(min-width:701px){.office-workspace .week-status-button{min-height:24px;padding:2px 6px;font-size:8px}.office-workspace .week-job.has-note{min-height:30px}}
@media(max-width:700px){.week-cell-reader{grid-template-columns:76px 30px minmax(0,1fr) auto}.week-cell-reader>strong{padding:0 8px}.week-cell-reader #weekCellReaderValue{font-size:12px}.week-job-note{font-size:9px!important}.week-client.has-note>.drag-handle{height:44px}.week-status-actions{flex:1 1 100%}.week-selection-status .week-status-button{flex:1;min-height:40px}}

/* Keep a clickable add-job row beneath every office employee and Unassigned list. */
.week-route-drop>.week-jobs:after{content:'+ Add job';display:grid;min-height:27px;place-items:center;color:#668071;font-size:8px;font-weight:800;opacity:.72;pointer-events:none}
.week-route-unassigned>.week-jobs:after{content:'+ Add another unassigned job';color:#8b7b4e}
@media(min-width:701px){.office-workspace .week-route-drop{min-height:calc(37px + var(--route-rows,0)*18px)}.office-workspace .week-route-drop>.week-jobs:after{min-height:18px;font-size:6.5px}.office-workspace .week-route-unassigned{min-height:max(36px,calc(37px + var(--route-rows,0)*18px))}}
@media(max-width:700px){.week-route-drop{min-height:calc(79px + var(--route-rows,0)*45px)}.week-route-drop>.week-jobs:after{min-height:45px;font-size:10px}.week-route-unassigned{min-height:max(92px,calc(79px + var(--route-rows,0)*45px))}}

/* Branded header lockup. */
.brand-logo-shell{display:block;position:relative;width:160px;height:63px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.14)}
.brand-logo-shell img{display:block;width:100%;height:100%;object-fit:contain;padding:2px 7px 2px 4px}
body.office-active .brand-logo-shell{width:124px;height:49px;border-radius:7px}

/* Staff completion notes are distinct from office scheduling notes. */
.week-client.has-note{grid-template-rows:auto auto auto}
.week-client.has-note>.drag-handle{grid-row:1/4}
.week-job-outcome-note{grid-row:3;color:#245d82!important;font-weight:650!important}
.week-job-outcome-note b{font-weight:900}

/* Office-only schedule zoom. */
.office-workspace .weekly-board{zoom:var(--office-schedule-zoom,1)}
.schedule-zoom-control{display:flex;align-items:center;gap:3px;min-height:27px;padding:2px 4px;border:1px solid #d3ddd8;border-radius:7px;background:#fff;color:#315b4c}
.schedule-zoom-control>span{padding:0 2px;font-size:7px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.schedule-zoom-control>button{width:21px;height:21px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:#edf3f0;color:#214f3e;font-size:13px;font-weight:900;line-height:1}
.schedule-zoom-control>button:hover:not(:disabled),.schedule-zoom-control>button:focus-visible{background:#dfeae5;outline:2px solid rgba(23,110,232,.25);outline-offset:0}
.schedule-zoom-control>button:disabled{cursor:not-allowed;opacity:.35}
.schedule-zoom-control input[type="range"]{width:66px;height:18px;margin:0;accent-color:#176947}
.schedule-zoom-control output{min-width:31px;color:#315b4c;font-size:7px;font-weight:900;text-align:center}

/* Keep the cash choice directly below the standard paid-today choice. */
.clock-payment-options>.clock-payment-paid:not(.clock-payment-cash){grid-column:1;grid-row:1}
.clock-payment-options>.clock-payment-invoice{grid-column:2;grid-row:1}
.clock-payment-options>.clock-payment-cash{grid-column:1;grid-row:2;background:#b8f2c4}

@media(max-width:700px){
  .brand-logo-shell,body.office-active .brand-logo-shell{width:124px;height:49px}
  .schedule-window-controls{flex-wrap:wrap}
  .schedule-zoom-control>span,.schedule-zoom-control input[type="range"]{display:none}
  .schedule-zoom-control{min-height:34px}
  .schedule-zoom-control>button{width:28px;height:28px;font-size:16px}
  .schedule-zoom-control output{min-width:38px;font-size:9px}
  .clock-payment-options>.clock-payment-paid:not(.clock-payment-cash),.clock-payment-options>.clock-payment-invoice,.clock-payment-options>.clock-payment-cash{grid-column:auto;grid-row:auto}
}
@media(max-width:520px){.brand .brand-logo-shell{display:block}}
@media(max-width:390px){.brand-logo-shell,body.office-active .brand-logo-shell{width:108px;height:43px}}

/* Lead pipeline and client archive sheets. */
.compliance-form-grid label small{display:block;margin-top:5px;color:#65776e;font-size:12px;line-height:1.4;font-weight:500}.compliance-version-row{align-items:center;flex-wrap:wrap}.compliance-version-row button{margin-left:auto;white-space:nowrap}
.leads-view,.old-clients-view{max-width:1540px}.leads-view[hidden],.old-clients-view[hidden]{display:none}.leads-active .bulk-bar,.old-clients-active .bulk-bar{display:none}
.client-table{min-width:2215px}.client-table th:nth-child(9){width:240px}.client-table th:nth-child(13){width:170px}.record-action-heading{text-align:center}.client-action-cell,.lead-action-cell{text-align:center;cursor:default!important}.record-action-button{min-height:30px;padding:5px 9px;border:1px solid #d9b895;border-radius:7px;background:#fff9ef;color:#865723;font-size:10px;font-weight:800;white-space:nowrap}.record-action-button:hover,.record-action-button:focus-visible{border-color:#b8844c;background:#fff3df;outline:2px solid rgba(184,132,76,.18);outline-offset:1px}.record-action-button.restore-action{border-color:#a9cfb4;background:#f0faf3;color:#27663e}.record-action-button.restore-action:hover,.record-action-button.restore-action:focus-visible{border-color:#5da273;background:#e4f6e9}.record-action-button.remove-action{border-color:#e2b8b0;background:#fff7f5;color:#a23f32}.record-action-button.remove-action:hover,.record-action-button.remove-action:focus-visible{border-color:#b75647;background:#fff0ed}
.lead-table{min-width:1735px;table-layout:fixed}.lead-table th{position:sticky;top:0;z-index:4;height:39px;padding:9px 10px;background:#f5f8f6;color:#40544b;text-transform:none;letter-spacing:0;border-right:1px solid #dfe5e2;white-space:nowrap}.lead-table td{height:42px;padding:7px 10px;border-right:1px solid #e4e9e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.lead-table th button{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;min-height:22px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left;white-space:nowrap}.lead-table th button:hover,.lead-table th button.active{color:#143f32}.lead-table th:nth-child(1){width:125px}.lead-table th:nth-child(2){width:175px}.lead-table th:nth-child(3){width:85px}.lead-table th:nth-child(4){width:135px}.lead-table th:nth-child(5){width:210px}.lead-table th:nth-child(6){width:245px}.lead-table th:nth-child(7){width:95px}.lead-table th:nth-child(8){width:170px}.lead-table th:nth-child(9){width:220px}.lead-table th:nth-child(10){width:130px}.lead-table th:nth-child(11){width:85px}.lead-table th:nth-child(12){width:150px}.lead-lifetime-cell{cursor:default!important;text-align:right;color:#19583e;font-variant-numeric:tabular-nums}.lead-lifetime-cell strong{font-size:12px}.lead-cell-edit{display:block;width:100%;min-height:18px;border-radius:4px;outline:0}.lead-cell-edit.is-editing{min-width:48px;padding:3px 5px;margin:-3px -5px;background:white;box-shadow:0 0 0 2px #176ee8;color:#183c31;white-space:normal}.postcode-looking-up{color:#6d7b75;font-style:italic;cursor:wait}.lead-status-select{width:100%;height:30px;padding:0 24px 0 8px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:800;outline:0}.lead-status-select.needs-contacting{background:#ffe9e5;color:#98392d}.lead-status-select.booked{background:#e4f6e9;color:#24663e}.lead-status-select.thinking{background:#fff3da;color:#855f18}.lead-status-select.left-message{background:#edf2ff;color:#3f5f9f}.lead-status-select:focus{border-color:#176ee8;box-shadow:0 0 0 2px rgba(23,110,232,.16)}
.lead-status-select.sprayed{background:#dff2ef;color:#175d58}
.lead-table{min-width:1950px}.lead-table th:nth-child(12){width:145px}.lead-table th:nth-child(13){width:150px}.lead-copy-cell{text-align:center;cursor:default!important}.record-action-button.copy-action{border-color:#a9cfb4;background:#f0faf3;color:#27663e}.record-action-button.copy-action:hover:not(:disabled),.record-action-button.copy-action:focus-visible:not(:disabled){border-color:#5da273;background:#e4f6e9}.record-action-button.copy-action:disabled{opacity:.6;cursor:default}
.lead-source-select{width:100%;height:30px;padding:0 20px 0 7px;border:1px solid #dbe6e0;border-radius:8px;background:#fff;color:#30473b;font-size:11px;font-weight:600;outline:0;cursor:pointer}.lead-source-select:focus{border-color:#176ee8;box-shadow:0 0 0 2px rgba(23,110,232,.16)}
.staff-mode #openLeadCreate,.staff-mode .record-action-button{display:none!important}.staff-mode .lead-cell-edit,.staff-mode .lead-table td{cursor:default}.staff-mode .lead-cell-edit:focus{outline:none}
.lead-phone-field{display:block}.lead-mobile-call,.lead-mobile-phone-edit{display:none}
@media(max-width:700px),(pointer:coarse){
  .lead-phone-field{display:flex;align-items:center;gap:6px;min-width:0}
  .lead-phone-field .lead-cell-edit:not(.is-editing){display:none}
  .lead-mobile-call{display:inline-flex;align-items:center;flex:1;min-width:0;min-height:32px;color:#19583e;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;overflow-wrap:anywhere}
  .lead-mobile-phone-edit{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;padding:3px;border:0;border-radius:4px;background:transparent;color:#50615a;font:inherit;font-size:11px;cursor:pointer}
  .lead-mobile-phone-edit:focus-visible,.lead-mobile-call:focus-visible{outline:2px solid #176ee8;outline-offset:2px}
  .lead-phone-field .lead-cell-edit.is-editing~.lead-mobile-call,.lead-phone-field .lead-cell-edit.is-editing~.lead-mobile-phone-edit{display:none}
}
.lead-address-field{display:grid;gap:7px;min-width:0}.lead-address-field label{color:#50615a;font-size:11px;font-weight:700}.lead-address-picker{display:block;min-width:0}.lead-address-picker input{width:100%}.lead-address-suggestions{display:block;margin-top:5px;border:1px solid #c8d9cf;border-radius:10px;background:#fff;box-shadow:0 8px 24px rgba(17,43,36,.12);max-height:min(270px,38dvh);overflow:auto}.lead-address-suggestions[hidden]{display:none}.lead-address-help{display:block;margin-top:6px;color:#9a6712;font-size:11px;font-weight:600;line-height:1.4}.lead-address-help[hidden]{display:none}.lead-address-option{display:grid;width:100%;min-height:45px;gap:2px;padding:9px 12px;border:0;border-bottom:1px solid #e7eee9;background:white;color:#213b2e;text-align:left;cursor:pointer}.lead-address-option strong{font-size:13px;line-height:1.3;font-weight:700}.lead-address-option small{font-size:11px;line-height:1.3;color:#65796e}.lead-address-option:hover,.lead-address-option.active,.lead-address-option:focus-visible{background:#eaf7ef;outline:0}.lead-address-message{display:block;padding:12px;color:#61766b;font-size:12px;line-height:1.4}.lead-address-attribution{display:block;padding:7px 12px;border-top:1px solid #e7eee9;color:#65796e;font-size:10px;font-weight:500}.lead-address-attribution a{color:#246649;text-decoration:underline;text-underline-offset:2px}

@media(max-width:700px){
  .topbar{height:auto;min-height:112px;display:grid;grid-template-columns:1fr auto;gap:7px;padding-top:8px;padding-bottom:8px}.topbar .brand{grid-column:1}.topbar-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.view-switch{min-width:0;overflow-x:auto;scrollbar-width:none}.view-switch::-webkit-scrollbar{display:none}.view-switch button{flex:1;min-width:max-content;padding-left:7px;padding-right:7px;font-size:9px}.topbar-actions .icon-button{width:38px}
  .client-table{min-width:0}
  .client-action-cell,.lead-action-cell{grid-column:1/-1!important;border-right:0!important;border-bottom:0!important}.record-action-button{width:100%;min-height:42px;font-size:12px}
  .lead-table{display:block;min-width:0;width:100%}.lead-table thead{display:none}.lead-table tbody{display:grid;gap:10px}.lead-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #dce4df;border-radius:12px;background:white;box-shadow:0 1px 3px rgba(12,47,41,.04)}.lead-table td{display:block;width:auto;height:auto;min-height:47px;padding:8px 10px;border-right:1px solid #e1e7e4;border-bottom:1px solid #e1e7e4;white-space:normal;overflow:visible}.lead-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:#89958f;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.lead-table td:nth-child(even):not(.lead-action-cell){border-right:0}.lead-cell-edit{min-height:22px;font-size:12px}.lead-cell-edit.is-editing,.lead-status-select{font-size:16px}.lead-status-select{height:40px}
  .lead-table .lead-action-cell,.lead-table .lead-copy-cell{grid-column:1/-1;border-right:0!important;border-bottom:1px solid #e1e7e4!important}.lead-table .lead-lifetime-cell{grid-column:1/-1;border-right:0!important;border-bottom:0!important;text-align:left}.lead-table .lead-lifetime-cell strong{font-size:15px}.lead-source-select{height:40px;font-size:16px}
  .lead-address-option{min-height:48px}.lead-address-option strong{font-size:14px}.lead-address-option small,.lead-address-message{font-size:12px}
}

/* The office inbox uses the same conversation view as the full Inbox page. */
.inbox-panel-toggle svg{width:15px;height:15px}.inbox-panel-toggle[aria-expanded="true"]{border-color:#8ab99e;background:#e8f6ed;color:#14583d}
.inbox-panel-toggle[hidden]{display:none!important}
.inbox-side-panel{--inbox-panel-width:min(440px,37vw);position:fixed;z-index:45;top:58px;bottom:0;left:0;width:var(--inbox-panel-width);display:flex;flex-direction:column;min-height:0;background:#fff;border-right:1px solid #cbded2;box-shadow:12px 0 28px rgba(11,38,32,.13)}
.inbox-side-panel[hidden]{display:none}
.inbox-side-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:10px 15px;border-bottom:1px solid #e3ebe5}.inbox-side-header .eyebrow{margin-bottom:3px}.inbox-side-header h2{margin:0;font:700 20px/1.2 Manrope,sans-serif}.inbox-side-actions{display:flex;align-items:center;gap:3px}.inbox-side-actions .icon-button{color:#285542}.inbox-panel-layout-host{flex:1;min-height:0}
.inbox-side-panel .inbox-layout{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);border:0;border-radius:0;box-shadow:none}
.inbox-side-panel .inbox-list{border-right:0;border-bottom:1px solid #d9e6dd}.inbox-side-panel .inbox-search-label{padding:10px 14px 4px;font-size:11px}.inbox-side-panel #inboxSearch{height:36px;margin:0 12px 7px}.inbox-side-panel .inbox-connection{margin:0 12px 7px}.inbox-side-panel .inbox-person{padding:8px 13px;gap:3px}.inbox-side-panel .inbox-person.selected{padding-left:10px}.inbox-side-panel .inbox-person-phone:not(.unmatched){display:none}.inbox-side-panel #inboxClientPhone:not(.unmatched){display:none}
.inbox-side-panel .inbox-thread-head{padding:9px 13px}.inbox-side-panel .inbox-thread-head h2{font-size:15px}.inbox-side-panel .inbox-thread-head .secondary-button{padding:7px 9px;font-size:10px}.inbox-side-panel .inbox-messages{padding:12px;gap:8px}.inbox-side-panel .inbox-bubble{max-width:90%;padding:9px 11px}.inbox-side-panel .inbox-compose{padding:9px 12px;gap:6px}.inbox-side-panel .inbox-compose textarea{min-height:54px}.inbox-side-panel .inbox-compose-actions select{max-width:178px;font-size:11px}.inbox-side-panel .inbox-compose-actions .primary-button{padding:8px 11px;font-size:11px}.inbox-side-panel .inbox-channel-help{font-size:10px}
@media(min-width:901px){body.inbox-panel-open #officeView.office-workspace,body.inbox-panel-open.schedule-fullscreen #officeView.office-workspace{width:calc(100% - min(440px,37vw));max-width:none;margin-left:min(440px,37vw)}body.inbox-panel-open .office-workspace .office-schedule-header{gap:7px}body.inbox-panel-open .office-workspace .schedule-history-search{width:min(235px,25vw)}}
@media(max-width:900px){.inbox-side-panel{--inbox-panel-width:100%;top:auto;bottom:0;width:100%;height:min(62dvh,620px);border-right:0;border-top:1px solid #cbded2;border-radius:16px 16px 0 0;box-shadow:0 -12px 30px rgba(11,38,32,.17)}.inbox-side-header{min-height:50px;padding:7px 12px}.inbox-side-panel .inbox-thread-head{padding:7px 10px}.inbox-side-panel .inbox-compose{padding:7px 10px}.inbox-side-panel .inbox-compose textarea{min-height:45px;max-height:72px}.inbox-side-panel .inbox-channel-help{font-size:9px}}
.offline-sync-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px max(28px,calc((100vw - 1440px)/2));background:#fff0cf;color:#664b12;font-size:14px;font-weight:700;line-height:1.4;border-bottom:1px solid #e8d49b}
.offline-sync-banner[hidden],.offline-sync-banner button[hidden]{display:none}
.offline-sync-banner.error,.offline-sync-banner.conflict{background:#fff0eb;color:#8c3929;border-color:#e9bcaf}
.offline-sync-banner button{flex:none;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;padding:6px 10px;font-weight:700}
.offline-conflict-modal{width:min(640px,calc(100vw - 24px))}
.offline-conflict-modal .modal-body{font-size:14px;line-height:1.5}
.offline-conflict-list{max-height:35vh;overflow:auto;margin:15px 0;padding:0 0 0 22px}
.offline-conflict-list li{padding:4px 0}
.offline-conflict-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}
.offline-conflict-actions button[hidden]{display:none}
@media(max-width:620px){.offline-sync-banner{padding:10px 14px;font-size:13px}.offline-sync-banner #openSyncSignIn{min-height:44px}.offline-conflict-actions button{flex:1;min-height:44px}}

/* Separate office schedule for phone use. Desktop office rules above remain untouched. */
.office-mobile-view{width:100%;max-width:1160px;margin:0 auto;padding:20px 14px 80px;color:#203a2e}
@media(min-width:701px) and (max-width:1250px){.topbar-actions{min-width:0}.view-switch{min-width:0;max-width:58vw;overflow-x:auto;scrollbar-width:none}.view-switch button{flex:none;white-space:nowrap}}
.office-mobile-view[hidden],.office-mobile-view [hidden]{display:none!important}
.office-mobile-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.office-mobile-heading .eyebrow{margin-bottom:3px;font-size:11px}
.office-mobile-heading h1{margin:0;font:800 25px/1.2 Manrope,sans-serif}
.office-mobile-heading .primary-button{min-height:44px;white-space:nowrap}
.office-mobile-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid #d9e5dd;border-radius:15px;background:white;box-shadow:0 2px 8px rgba(19,53,37,.05)}
.office-mobile-view-toggle{display:flex;gap:3px;padding:3px;border-radius:10px;background:#ecf2ed}
.office-mobile-view-toggle button{min-width:82px;min-height:44px;border:0;border-radius:8px;background:transparent;color:#426250;font-size:14px;font-weight:800}
.office-mobile-view-toggle button.active{background:#174b35;color:white;box-shadow:0 1px 4px rgba(17,45,30,.18)}
.office-mobile-period{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.office-mobile-period strong{min-width:0;text-align:center;font-size:16px;line-height:1.25}
.office-mobile-period button{flex:none;width:44px;height:44px;border:1px solid #ccdcd0;border-radius:10px;background:#f9fbf9;color:#174c35;font-size:26px;line-height:1}
.office-mobile-subcontrols{grid-column:1/-1;display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.office-mobile-subcontrols label,.office-mobile-move label{display:grid;gap:5px;color:#526d5b;font-size:12px;font-weight:800}
.office-mobile-subcontrols input,.office-mobile-move input,.office-mobile-move select{width:100%;min-height:44px;padding:8px 10px;border:1px solid #cbdccf;border-radius:9px;background:white;color:#203a2e;font-size:16px}
.office-mobile-subcontrols .secondary-button{min-height:44px}
.office-mobile-search{flex:1 1 230px}
.office-mobile-week-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.office-mobile-week-actions button,.office-mobile-selection button,.office-mobile-route-actions button,.office-mobile-job-actions button{min-height:42px;padding:8px 11px;border:1px solid #cbdccf;border-radius:9px;background:#fff;color:#245b40;font-size:13px;font-weight:800}
.office-mobile-week-actions button:disabled,.office-mobile-selection button:disabled{opacity:.5;cursor:not-allowed}
.office-mobile-week-actions span{color:#647769;font-size:13px}
.office-mobile-selection{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));z-index:40;transform:translateX(-50%);width:min(440px,calc(100vw - 20px));max-height:min(65dvh,420px);overflow-y:auto;margin:0;padding:8px;border:1px solid #a8c5d6;border-radius:11px;background:#eef7fc;box-shadow:0 8px 24px rgba(21,62,75,.24)}
.office-mobile-selection-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.office-mobile-selection-head strong{font-size:13px}
.office-mobile-selection .office-mobile-selection-head button{min-height:28px;padding:3px 9px;font-size:11px}
.office-mobile-bulk-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.office-mobile-selection .office-mobile-bulk-actions button{min-height:38px;padding:4px 5px;font-size:11px;line-height:1.15}
.office-mobile-bulk-actions>[data-mobile-bulk="sms"]{grid-column:span 2}
.office-mobile-disclosure,.office-mobile-more{min-width:0}
.office-mobile-disclosure[open],.office-mobile-more[open]{grid-column:1/-1}
.office-mobile-disclosure summary,.office-mobile-more summary{display:grid;place-items:center;min-height:38px;padding:4px 5px;border:1px solid #cbdccf;border-radius:9px;background:#fff;color:#245b40;font-size:11px;font-weight:800;cursor:pointer;list-style:none}
.office-mobile-disclosure summary::-webkit-details-marker,.office-mobile-more summary::-webkit-details-marker{display:none}
.office-mobile-extra-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}
.office-mobile-bulk-actions [data-mobile-bulk="confirmed"]{color:#fff;border-color:#176e40;background:#1e8549}
.office-mobile-bulk-actions [data-mobile-bulk="do-not-attend"]{color:#fff;border-color:#a3362c;background:#c4443a}
.office-mobile-bulk-actions [data-mobile-bulk="needs-attention"]{color:#82345d;border-color:#e8a5c5;background:#fff0f7}
.office-mobile-bulk-actions [data-mobile-bulk="delete"]{color:#9b3b2e;border-color:#e5bfb7}
.office-mobile-move{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:5px;margin-top:7px;padding-top:7px;border-top:1px solid #cbdfe9}
.office-mobile-selection .office-mobile-move label{font-size:11px}
.office-mobile-selection .office-mobile-move input,.office-mobile-selection .office-mobile-move select{min-height:36px;padding:5px 7px}
.office-mobile-selection .office-mobile-move button{grid-column:1/-1;min-height:36px}
.office-mobile-move button{background:#205840;color:white;border-color:#205840;white-space:nowrap}
.office-mobile-daily,.office-mobile-weekly{margin-top:14px}
.office-mobile-day{min-width:0;padding:10px;border:1px solid #dce6de;border-radius:14px;background:#f9fbf9}
.office-mobile-day-heading{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 10px}
.office-mobile-day-heading strong{min-width:0;font:800 16px/1.3 Manrope,sans-serif;overflow-wrap:anywhere}
.office-mobile-day-heading span{flex:none;color:#62766a;font-size:12px;font-weight:700}
.office-mobile-route{min-width:0;margin-bottom:10px;overflow:hidden;border:1px solid #dae5dc;border-radius:11px;background:white}
.office-mobile-route:last-child{margin-bottom:0}
.office-mobile-route.unassigned{border-color:#dfc985;background:#fffdf5}
.office-mobile-route-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;background:#eaf3ed;border-bottom:1px solid #dce8df}
.office-mobile-route.unassigned .office-mobile-route-heading{background:#f7efcf}
.office-mobile-route-heading>div:first-child{display:grid;min-width:0;gap:3px}
.office-mobile-route-heading strong{font-size:15px;line-height:1.15}
.office-mobile-route-heading small{color:#587361;font-size:12px;line-height:1.25}
.office-mobile-route-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.office-mobile-route-actions button{min-height:36px;padding:6px 9px;font-size:12px}
.office-mobile-route-jobs{display:grid;gap:8px;padding:9px}
.office-mobile-empty{margin:2px 0;color:#7a8b80;font-size:13px}
.office-mobile-job{min-width:0;padding:11px;border:1px solid #dce6dd;border-left:5px solid #adbaaf;border-radius:10px;background:white;overflow-wrap:anywhere}
.office-mobile-job.status-confirmed{border-left-color:#30a65a;background:#f8fcf9}
.office-mobile-job.status-needs-attention{border-left-color:#d45298;background:#fff5fa}
.office-mobile-job.status-do-not-attend{border-left-color:#d05a49;background:#fffaf9}
.office-mobile-job.is-selected{outline:2px solid #3476ad;outline-offset:1px}
.office-mobile-job-top{display:flex;align-items:center;gap:8px}
.office-mobile-check{flex:none;display:grid;place-items:center;width:44px;height:44px;cursor:pointer}
.office-mobile-check input{width:21px;height:21px;margin:0;accent-color:#25714f;appearance:auto}
.office-mobile-job-open{display:grid;flex:1;min-width:0;gap:2px;padding:4px 0;border:0;background:transparent;color:#1e3d2c;text-align:left}
.office-mobile-job-open strong{font-size:16px;line-height:1.3}
.office-mobile-job-open small{color:#516c5a;font-size:13px;line-height:1.3}
.office-mobile-status{flex:none;max-width:33%;padding:5px 7px;border-radius:7px;background:#edf0ed;color:#52655a;font-size:11px;font-weight:800;line-height:1.2;text-align:center}
.status-confirmed .office-mobile-status{background:#dff3e5;color:#1f6b3c}
.status-needs-attention .office-mobile-status{background:#ffd7eb;color:#833359}
.status-do-not-attend .office-mobile-status{background:#ffe8e3;color:#9d3e30}
.office-mobile-job-facts{display:flex;gap:5px 12px;flex-wrap:wrap;margin-top:8px;color:#344d3d;font-size:13px;line-height:1.4}
.office-mobile-job-facts b{color:#637b69;font-weight:700}
.office-mobile-job-address,.office-mobile-job-note{margin:7px 0 0;color:#4e6556;font-size:13px;line-height:1.4;white-space:pre-wrap}
.office-mobile-job-note{padding-top:6px;border-top:1px solid #e5eee6}
.office-mobile-job-note.staff{color:#245c79}
.office-mobile-job-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.office-mobile-job-actions .compliance-indicator{min-height:34px;margin:0;padding:6px 9px;font-size:11px}
.office-mobile-job-actions .staff-call-link{width:42px;height:42px}
.office-mobile-job.compact{padding:7px}
.office-mobile-job.compact .office-mobile-job-top{align-items:flex-start;flex-wrap:wrap;gap:4px}
.office-mobile-job.compact .office-mobile-job-open strong{font-size:13px}
.office-mobile-job.compact .office-mobile-job-open small,.office-mobile-job.compact .office-mobile-job-facts,.office-mobile-job.compact .office-mobile-job-address,.office-mobile-job.compact .office-mobile-job-note{font-size:12px}
.office-mobile-job.compact .office-mobile-job-facts{margin-top:5px}
.office-mobile-job.compact .office-mobile-status{max-width:none;margin-left:0}
.office-mobile-job.compact .office-mobile-job-actions button{min-height:34px;padding:5px 7px;font-size:11px}
.office-mobile-weekly .office-mobile-route-heading{display:grid;gap:7px}
.office-mobile-weekly .office-mobile-route-actions{justify-content:flex-start}
.office-mobile-weekly .office-mobile-route-actions button{min-height:34px;font-size:11px}
@media(max-width:850px){.office-mobile-view{padding:12px 10px 65px}.office-mobile-day{padding:9px}}
@media(max-width:540px){.office-mobile-heading h1{font-size:21px}.office-mobile-controls{grid-template-columns:1fr;padding:10px;gap:10px}.office-mobile-view-toggle{justify-self:start}.office-mobile-period{grid-row:2}.office-mobile-subcontrols{grid-column:1}.office-mobile-move{grid-template-columns:1fr 1fr}.office-mobile-move button{grid-column:1/-1}.office-mobile-job-top{flex-wrap:wrap}.office-mobile-status{max-width:none}.office-mobile-subcontrols .office-mobile-search{flex-basis:100%}}

/* Compact three-column office-mobile rows; desktop office grid stays separate. */
.office-mobile-view .office-mobile-heading{margin-bottom:8px}
.office-mobile-view .office-mobile-controls{gap:7px;padding:9px}
.office-mobile-view.is-daily .office-mobile-controls{display:inline-flex;max-width:100%}
.office-mobile-view .office-mobile-view-toggle button{min-width:62px;min-height:38px;font-size:12px}
.office-mobile-view .office-mobile-period{gap:4px}
.office-mobile-view .office-mobile-period strong{font-size:14px}
.office-mobile-view .office-mobile-period button{width:38px;height:38px;font-size:23px}
.office-mobile-daily{display:grid;gap:14px;max-width:820px;margin:10px auto 0}
.office-mobile-day-section{scroll-margin-top:76px}
.office-mobile-day-section.is-current-day{border-color:#80b58e}
.office-mobile-day-section.is-current-day>.office-mobile-daily-date{background:#d9eddf}
.office-mobile-daily-sheet{overflow:hidden;border:1px solid #cbd8cf;border-radius:10px;background:#fff;box-shadow:0 2px 8px rgba(22,53,34,.05)}
.office-mobile-daily-date{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 10px;border-bottom:2px solid #c3d9c9;background:#e6f1e8}
.office-mobile-daily-date strong{font:900 18px/1.2 Manrope,sans-serif}
.office-mobile-daily-date span{color:#536a59;font-size:11px;font-weight:700;white-space:nowrap}
.office-mobile-daily-columns,.office-mobile-daily-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(86px,.8fr)}
.office-mobile-daily-columns{min-height:26px;align-items:center;background:#f5f7f5;border-top:1px solid #dce5dd;border-bottom:1px solid #dce5dd;color:#526758;font-size:11px;font-weight:800}
.office-mobile-daily-columns span{min-width:0;padding:4px 6px}
.office-mobile-daily-columns span:last-child{text-align:center}
.office-mobile-daily-columns span+span,.office-mobile-daily-row>:not(:first-child){border-left:1px solid #d9e1d9}
.office-mobile-daily-route{min-width:0}
.office-mobile-daily-route+.office-mobile-daily-route{border-top:5px solid #eef3ef}
.office-mobile-daily-route-heading{display:flex;align-items:center;gap:7px;min-height:32px;padding:3px 7px;background:#e4eee6;border-bottom:1px solid #cfddd2}
.office-mobile-daily-route.unassigned .office-mobile-daily-route-heading{background:#f6edce}
.office-mobile-daily-route-heading strong{font-size:13px;line-height:1.2}
.office-mobile-daily-route-heading>span{color:#56705e;font-size:11px;white-space:nowrap}
.office-mobile-daily-route-actions{display:flex;gap:5px;margin-left:auto}
.office-mobile-daily-route-actions button{min-height:27px;padding:3px 7px;border:1px solid #bad0be;border-radius:6px;background:#fff;color:#255c3c;font-size:11px;font-weight:800;white-space:nowrap}
.office-mobile-daily-route.unassigned .office-mobile-daily-route-actions button{border-color:#dfc985}
.office-mobile-view .office-mobile-daily-row{min-height:30px;padding:0;border:0;border-radius:0;background:#fff;font-size:12px;line-height:1.15;overflow-wrap:normal}
.office-mobile-view .office-mobile-daily-row+.office-mobile-daily-row{border-top:1px solid #dce5dd}
.office-mobile-view .office-mobile-daily-row.is-selected{position:relative;z-index:1;outline:none;box-shadow:none}
.office-mobile-view .office-mobile-daily-row.is-selected::after{content:"";position:absolute;inset:0;z-index:3;box-sizing:border-box;border:2px solid #3476ad;pointer-events:none}
.office-mobile-daily-name{display:flex;align-items:stretch;min-width:0;background:#fff}
.staff-mode #officeMobileView .office-mobile-daily-name{color:#000}
.office-mobile-view .status-confirmed .office-mobile-daily-name{background:#2bea52}
.office-mobile-view .status-needs-attention .office-mobile-daily-name{background:#ff91c8}
.office-mobile-view .status-do-not-attend .office-mobile-daily-name{background:#f3564b}
.office-mobile-daily-check{flex:none;display:grid;place-items:center;width:24px;min-height:30px;cursor:pointer}
.office-mobile-daily-check input{width:15px;height:15px;margin:0;accent-color:#205f43}
.office-mobile-daily-name button{flex:1;min-width:0;padding:3px 4px 3px 0;border:0;background:transparent;color:#1b3024;font-size:12px;line-height:1.15;text-align:left}
.office-mobile-daily-name button span,.office-mobile-daily-suburb{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.office-mobile-daily-suburb{min-width:0;padding:7px 5px;color:#263a2a}
.office-mobile-daily-time{display:grid;place-items:center;min-width:0;padding:5px 2px;text-align:center;white-space:nowrap;overflow:hidden;color:#20382b;font-size:11.5px;font-variant-numeric:tabular-nums}
.office-mobile-daily-time.clock-active{background:#dcecff}
.office-mobile-daily-time.clock-invoice{background:#ffa51c}
.office-mobile-daily-time.clock-paid{background:#39e85b}
.office-mobile-daily-empty{min-height:29px;margin:0;padding:7px;color:#738678;font-size:11px}
.office-mobile-daily-row,.office-mobile-daily-name button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.office-mobile-view .office-mobile-daily-row.is-dragging{opacity:.35}
body.office-mobile-drag-active .office-mobile-selection{visibility:hidden;pointer-events:none}
.office-mobile-daily-route.drop-target>.office-mobile-daily-route-heading{background:#d9eaff;box-shadow:inset 0 0 0 2px #3476ad}
.office-mobile-view .office-mobile-daily-row.drop-before{position:relative;z-index:2;box-shadow:inset 0 3px #3476ad}
.office-mobile-view .office-mobile-daily-row.drop-after{position:relative;z-index:2;box-shadow:inset 0 -3px #3476ad}
.office-mobile-drag-ghost{position:fixed;top:0;left:0;z-index:100;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;padding:8px 12px;border:1px solid #226c4c;border-radius:8px;background:#164c37;color:white;box-shadow:0 8px 22px rgba(12,43,29,.26);font-size:13px;font-weight:800}
@media(max-width:540px){.office-mobile-view .office-mobile-controls{grid-template-columns:auto minmax(0,1fr);gap:6px}.office-mobile-view .office-mobile-period{grid-row:auto;justify-content:flex-end}.office-mobile-view .office-mobile-period button{width:34px;height:36px}.office-mobile-view .office-mobile-period strong{font-size:12px}.office-mobile-daily-date{min-height:42px;padding:7px 9px}.office-mobile-daily-route-heading{min-height:29px}.office-mobile-daily-columns,.office-mobile-daily-row{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr) minmax(88px,.85fr)}}

/* The weekly sheet stays one continuous canvas. Scaling its parent changes text and cells together. */
.office-mobile-weekly{margin-top:10px}
.office-mobile-sheet-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px;color:#45644f;font-size:12px;font-weight:700}
.office-mobile-sheet-controls label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.office-mobile-sheet-controls input{width:125px;accent-color:#216144}
.office-mobile-sheet-controls output{min-width:37px;font-variant-numeric:tabular-nums}
.office-mobile-sheet-controls button{min-height:32px;padding:4px 9px;border:1px solid #bed2c3;border-radius:7px;background:#fff;color:#225d40;font-size:12px;font-weight:800}
.office-mobile-sheet-controls>span{color:#6c7e70;font-weight:500}
.office-mobile-sheet-viewport{height:min(72dvh,800px);min-height:330px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;border:1px solid #bdcfc1;border-radius:8px;background:#f4f7f4;scrollbar-width:thin}
.office-mobile-sheet-sizer{position:relative}
.office-mobile-sheet-content{position:relative;width:2100px;transform-origin:top left}
.office-mobile-worksheet-week{margin-bottom:12px}
.office-mobile-worksheet-heading{display:flex;align-items:center;gap:14px;min-height:50px;padding:5px 10px;border-bottom:1px solid #a8c7b0;background:#e3eee6}
.office-mobile-worksheet-week.is-selected-week>.office-mobile-worksheet-heading{background:#cfe7d5}
.office-mobile-worksheet-heading h2{margin:0;color:#2a5138;font:800 16px/1.2 Manrope,sans-serif;white-space:nowrap}
.office-mobile-week-heading-actions{display:flex;align-items:center;gap:6px}
.office-mobile-week-heading-actions button{min-width:62px;min-height:38px;padding:4px 9px;border:1px solid #a9c4b0;border-radius:7px;background:#fff;color:#205137;font-size:13px;font-weight:800;white-space:nowrap}
.office-mobile-week-heading-actions button:last-child:not(:disabled){border-color:#205137;background:#205137;color:#fff}
.office-mobile-week-heading-actions button:disabled{opacity:.48;cursor:not-allowed}
.office-mobile-week-heading-actions button:focus-visible{outline:3px solid #176ee8;outline-offset:2px}
.office-mobile-worksheet-days{display:grid;grid-template-columns:repeat(7,300px);align-items:stretch}
.office-mobile-week-day{min-width:0;border-radius:0;border-right:0;box-shadow:none}
.office-mobile-week-day:last-child{border-right:1px solid #cbd8cf}
.office-mobile-weekly .office-mobile-daily-date{min-height:39px;padding:6px 7px}
.office-mobile-weekly .office-mobile-daily-date strong{font-size:15px;white-space:nowrap}
.office-mobile-weekly .office-mobile-daily-columns,.office-mobile-weekly .office-mobile-daily-row{grid-template-columns:132px 83px 84px}

/* Office-only entries take precedence over customer status colours. */
.legend-purple{background:#c6a4f1;border:1px solid #9570c8}
.legend-office-note{background:#07ffff;border:1px solid #4a91ce}
.office-week-job.office-job-unmatched>.week-client,.office-mobile-view .office-job-unmatched .office-mobile-daily-name{background:#c6a4f1;color:#35214c}
.office-week-job.office-schedule-note>.week-client{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;background:#07ffff;color:#153f65;border-left:3px solid #4a91ce;min-height:30px}
.office-schedule-note .office-note-label{grid-column:3;grid-row:1;color:#245a88;font-size:7px;font-weight:800;margin:0 3px 0 5px}
.office-schedule-note .week-job-note{grid-column:2/-1;font-size:8px!important;line-height:1.3;color:#245a88!important}
.office-schedule-note .drag-handle{grid-row:1/3}
.office-note-modal{max-width:540px}
.schedule-entry-modal-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px}
.schedule-entry-toggle{min-height:44px;border-color:#a9ccea;background:#edf6ff;color:#245a88;font-size:14px;white-space:nowrap}
.schedule-entry-toggle:hover{border-color:#4a91ce;background:#dceeff}
.schedule-entry-modal-header [hidden],.office-note-modal [hidden]{display:none!important}
@media(max-width:540px){.schedule-entry-modal-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}.schedule-entry-modal-header>div{grid-column:1;grid-row:1}.schedule-entry-modal-header>.close-button{grid-column:2;grid-row:1}.schedule-entry-modal-header>.schedule-entry-toggle{grid-column:1/-1;grid-row:2;justify-self:start}}
.office-note-modal textarea{width:100%;resize:vertical;min-height:100px}
.office-note-modal .modal-body>p{font-size:12px;color:#486b8b}
.staff-mode .office-note-button{display:none!important}
.office-mobile-heading{flex-wrap:wrap;gap:8px}
.office-mobile-heading>div{margin-right:auto}
.office-mobile-heading .office-note-button{min-height:44px;white-space:nowrap}
.office-mobile-private-legend{justify-content:flex-start;margin:0 0 10px;flex-wrap:wrap;gap:8px 14px}
.office-mobile-view .office-schedule-note .office-mobile-daily-name{grid-column:1/-1;background:#07ffff;border-left:3px solid #4a91ce}
.office-mobile-view .office-schedule-note button{padding:6px 5px;color:#153f65}
.office-mobile-view .office-schedule-note button small{display:block;margin-top:3px;color:#245a88;font-size:10px;font-weight:700}
.office-mobile-view .office-schedule-note button .office-mobile-note-text{margin-top:4px;white-space:pre-wrap;line-height:1.3}
@media(max-width:540px){.office-mobile-heading>div{flex-basis:100%}.office-mobile-heading>button{flex:1}.office-schedule-note .office-note-label{font-size:9px}}
.office-mobile-weekly .office-mobile-daily-route-heading{flex-wrap:nowrap;gap:4px;min-height:30px;padding:3px 5px}
.office-mobile-weekly .office-mobile-daily-route-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.office-mobile-weekly .office-mobile-daily-route-heading>span{font-size:10px}
.office-mobile-weekly .office-mobile-daily-route-actions{width:auto;gap:3px;margin-left:auto}
.office-mobile-weekly .office-mobile-daily-route-actions button{min-height:24px;padding:2px 4px;font-size:9px}
@media(max-width:540px){.office-mobile-sheet-viewport{height:calc(100dvh - 205px);min-height:340px}.office-mobile-sheet-controls>span{flex-basis:100%}}
@media(orientation:landscape) and (max-height:540px){.office-mobile-sheet-viewport{height:calc(100dvh - 145px);min-height:220px}}

/* Keep bulk SMS sending visible below the scrollable previews on phones. */
@media(max-width:620px){
  body.office-mobile-active .multi-sms-modal .modal-footer{position:relative;flex:0 0 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-bottom:max(15px,env(safe-area-inset-bottom))}
  body.office-mobile-active .multi-sms-modal .modal-footer .text-button{grid-column:1;order:0;min-width:0}
  body.office-mobile-active .multi-sms-modal .modal-footer .native-sms-next{grid-column:2;order:1;min-width:0;white-space:normal;font-size:11px}
  body.office-mobile-active .multi-sms-modal .modal-footer #sendAllInInbox{grid-column:1/-1;order:2;width:100%;min-height:48px;font-weight:800}
}

/* Client phone and address shortcuts. Keep the archive action in its own column. */
.client-table .client-cell-edit[data-client-action]:not(.is-editing){color:#235e4b;cursor:pointer;text-decoration:underline dotted #85aa99;text-underline-offset:3px}
.client-table .client-cell-edit[data-client-action]:not(.is-editing):hover,.client-table .client-cell-edit[data-client-action]:not(.is-editing):focus-visible{color:#124d36;text-decoration-style:solid;outline:2px solid #a1c9b2;outline-offset:2px}
.staff-mode .clients-view .client-cell-edit[data-client-action]:not(.is-editing){cursor:pointer}
.client-contact-menu{position:fixed;z-index:75;width:min(280px,calc(100vw - 24px));padding:13px;border:1px solid #cbdcd2;border-radius:12px;background:white;box-shadow:0 12px 38px rgba(18,48,40,.2);color:#19392e}
.client-contact-menu[hidden],.client-contact-menu-actions [hidden]{display:none}
.client-contact-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.client-contact-menu-header>div{display:grid;min-width:0;gap:3px}
.client-contact-menu-header strong{font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.client-contact-menu-header span{font-size:13px;color:#617569}
.client-contact-menu-header button{flex:none;width:26px;height:26px;border:0;border-radius:6px;background:#f0f4f1;color:#456052;font-size:20px;line-height:1;cursor:pointer}
.client-contact-menu-actions{display:grid;gap:7px;margin-top:12px}
.client-contact-menu-actions a,.client-contact-menu-actions button{display:block;width:100%;min-height:38px;padding:9px 11px;border:1px solid #d8e5db;border-radius:8px;background:#f7faf8;color:#1b5a40;font:700 13px/1.35 Manrope,sans-serif;text-align:left;text-decoration:none;cursor:pointer}
.client-contact-menu-actions a:hover,.client-contact-menu-actions button:hover,.client-contact-menu-actions a:focus-visible,.client-contact-menu-actions button:focus-visible{border-color:#76ad8e;background:#ebf6ef;outline:none}
@media(max-width:700px){.client-contact-menu-actions a,.client-contact-menu-actions button{min-height:44px;font-size:14px}}
.operations-section.email-section{grid-column:1/-1}
.email-test-controls{display:flex;flex-wrap:wrap;align-items:end;gap:9px}
.email-test-controls label{display:grid;flex:1 1 240px;gap:5px;color:#5d6e67;font-size:14px;font-weight:700}
.email-test-controls input{width:100%;min-height:42px;border:1px solid #ccd9d3;border-radius:8px;padding:0 10px;color:#274239;font-size:16px}
.email-test-controls button{min-height:42px}
.email-section .operations-help{font-size:13px}
@media(max-width:700px){.operations-section.email-section{grid-column:auto}.email-test-controls button{width:100%}}

/* A job requiring a call or text remains separate from confirmation. */
.legend-pink{background:#ff91c8}
.week-client.employee-needs-attention{background:#ff91c8}
.run-sheet-table .employee-needs-attention td:first-child{background:#ff91c8}

.staff-mode [data-copy-sheet-selection]{display:none!important}

/* Technician weekly totals for each day. */
.staff-week-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:9px 8px;padding:11px 3px;border-radius:11px;background:var(--forest);color:#fff}
.staff-week-summary>div{display:grid;align-content:center;justify-items:center;min-width:0;padding:2px 3px;border-right:1px solid rgba(255,255,255,.22);text-align:center}
.staff-week-summary>div:last-child{border-right:0}
.staff-week-summary strong{font:700 21px/1.1 Manrope,sans-serif}
.staff-week-summary span{margin-top:4px;color:#bed0ca;font-size:10px;line-height:1.15}
.staff-week-heading{min-width:0}
.staff-week-heading>strong{display:block}
.staff-week-navigation{display:flex;gap:3px;width:max-content;max-width:100%;margin-top:9px;padding:3px;border:1px solid #d7e2db;border-radius:9px;background:#eff4f0}
.staff-week-navigation button{flex:1;min-width:0;min-height:38px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:#526c5b;font:700 12px/1.2 Manrope,sans-serif;white-space:nowrap;cursor:pointer}
.staff-week-navigation button.active{background:var(--forest);color:white}
.staff-week-navigation button:focus-visible{outline:2px solid #176ee8;outline-offset:2px}
.staff-week-landscape-help{display:none}
.staff-mode [data-open-schedule-import]{display:none!important}
.schedule-import-lane-section{display:grid;gap:6px;margin:14px 0;color:#375543;font-size:12px}
.schedule-import-lane-section>span{color:#6b7e71;line-height:1.4}
.schedule-import-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.schedule-import-lanes label{display:grid;gap:5px;font-size:11px;font-weight:700}
.schedule-import-lanes select{width:100%;min-height:40px;border:1px solid #d5e1d8;border-radius:8px;padding:7px;background:white;color:#315440;font-size:13px}
.schedule-import-modal .sheet-import-preview-table td{white-space:normal;min-width:95px}
.schedule-import-modal .sheet-import-preview-table td small{display:block;margin-top:4px;color:#986a24;font-size:10px}
.schedule-import-modal .modal-footer{flex-wrap:wrap}
.schedule-import-modal .modal-footer>.sheet-import-status{flex:1 1 200px}
@media(max-width:700px){.schedule-import-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-import-lanes select{font-size:16px}.schedule-import-modal .modal-footer>.sheet-import-status{flex-basis:100%}}
/* Fit Monday–Friday to the landscape width; scroll right for the weekend. */
@media (orientation:landscape){
  .employee-view.is-weekly-route .staff-weekly-toolbar{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .employee-view.is-weekly-route .staff-weekly-toolbar .eyebrow{margin-bottom:5px;font-size:8px}
  .employee-view.is-weekly-route .staff-week-heading>strong{font-size:13px;line-height:1.3;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-navigation{margin-top:6px}
  .employee-view.is-weekly-route .staff-week-navigation button{min-height:34px;padding:6px 10px;font-size:11px}
  .employee-view.is-weekly-route .weekly-scroll{scroll-snap-type:none}
  .employee-view.is-weekly-route .staff-weekly-board{grid-template-columns:repeat(7,minmax(0,1fr));width:140%;min-width:0}
  .employee-view.is-weekly-route .staff-week-day{width:auto;min-width:0;scroll-snap-align:none}
  .employee-view.is-weekly-route .staff-week-day>header{height:36px;padding:4px 2px}
  .employee-view.is-weekly-route .staff-week-day>header span{font-size:clamp(8px,1vw,11px);line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-summary{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:6px 0;margin:5px 3px;padding:6px 1px;border-radius:7px}
  .employee-view.is-weekly-route .staff-week-summary>div{padding:0 2px;align-content:start}
  .employee-view.is-weekly-route .staff-week-summary>div:nth-child(even){border-right:0}
  .employee-view.is-weekly-route .staff-week-summary strong{font-size:clamp(12px,1.5vw,17px)}
  .employee-view.is-weekly-route .staff-week-summary span{max-width:100%;margin-top:2px;font-size:clamp(7px,.85vw,9px);line-height:1.25;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-day table{width:100%;min-width:0;table-layout:fixed}
  .employee-view.is-weekly-route .staff-week-day th{height:28px;padding:3px 2px;font-size:clamp(6.5px,.8vw,9px);line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-day th:first-child{width:45%}
  .employee-view.is-weekly-route .staff-week-day th:nth-child(2){width:27%}
  .employee-view.is-weekly-route .staff-week-day th:last-child{width:28%}
  .employee-view.is-weekly-route .staff-week-day td{height:auto;min-width:0;padding:4px 2px;vertical-align:middle;font-size:clamp(7.5px,1vw,10px);line-height:1.25;white-space:normal;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-day td>strong{display:block;max-width:100%;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-note-preview{max-width:100%;margin-top:3px;font-size:clamp(6.5px,.85vw,9px);line-height:1.25;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-clock-cell{padding:4px 2px!important}
  .employee-view.is-weekly-route .staff-window-stack{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0}
  .employee-view.is-weekly-route .staff-window-value,.employee-view.is-weekly-route .staff-clock-range{display:block;max-width:100%;min-width:0;padding:0;font-size:inherit;line-height:1.25;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .job-duration-badge{min-width:0;max-width:100%;padding:2px 3px;font-size:clamp(6px,.8vw,8px);line-height:1.15;white-space:normal;overflow-wrap:anywhere}
  .employee-view.is-weekly-route .staff-week-portrait-help{display:none}
  .employee-view.is-weekly-route .staff-week-landscape-help{display:inline}
}
/* Portrait technician run sheet: the landscape table folded into readable job rows. */
@media (max-width:700px) and (orientation:portrait){
  .employee-view.is-daily-route{padding-top:14px}
  .employee-view.is-daily-route .employee-hero{margin-bottom:10px}
  .employee-view.is-daily-route .employee-hero h1{font-size:23px;letter-spacing:-.5px}
  .employee-view.is-daily-route .employee-hero .subhead{display:none}
  .employee-view.is-daily-route .employee-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:10px}
  .employee-view.is-daily-route .employee-schedule-toggle{grid-column:1/-1;grid-row:1;order:0}
  .employee-view.is-daily-route .employee-controls label{grid-column:1;grid-row:2;min-width:0}
  .employee-view.is-daily-route .employee-controls .route-date{grid-column:2;grid-row:2;align-self:end;justify-content:center;min-width:0;margin:0}
  .employee-view.is-daily-route .route-date strong{min-width:0;white-space:nowrap;font-size:14px}
  .employee-view.is-daily-route .date-arrow{flex:none}
  .employee-view.is-daily-route .employee-add-job{grid-column:1;grid-row:3;width:100%;height:44px}
  .employee-view.is-daily-route .employee-access-button{grid-column:2;grid-row:3;width:100%}
  .employee-view.is-daily-route .employee-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px;padding:6px 2px;border-radius:10px}
  .employee-view.is-daily-route .employee-summary>div{min-width:0;padding:5px 3px;border:0;border-right:1px solid rgba(255,255,255,.17)}
  .employee-view.is-daily-route .employee-summary>div:last-child{border-right:0}
  .employee-view.is-daily-route .employee-summary strong{font-size:20px}
  .employee-view.is-daily-route .employee-summary span{font-size:11px;line-height:1.15}
  .employee-view.is-daily-route .run-sheet-card{border-radius:11px}
  .employee-view.is-daily-route .run-sheet-note{display:block;padding:9px 12px}
  .employee-view.is-daily-route .run-sheet-note>div:first-child{display:flex;align-items:center;gap:8px}
  .employee-view.is-daily-route .run-sheet-note strong{font-size:13px}
  .employee-view.is-daily-route .run-sheet-note small{display:none}
  .employee-view.is-daily-route .run-sheet-legend{justify-content:flex-start;flex-wrap:nowrap;gap:10px;margin-top:7px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .employee-view.is-daily-route .run-sheet-legend::-webkit-scrollbar{display:none}
  .employee-view.is-daily-route .run-sheet-legend span{flex:none;font-size:11px}
  .employee-view.is-daily-route .run-sheet-wrap{padding:8px;background:#f0f4f1}
  .employee-view.is-daily-route .employee-daily-table tbody{gap:8px}
  .employee-view.is-daily-route .employee-daily-table tr.staff-editable-row{grid-template-columns:minmax(0,1fr) minmax(76px,23%);border-color:#cbd9cf;border-radius:9px;box-shadow:none}
  .employee-view.is-daily-route .employee-daily-table td{width:auto;height:auto;min-width:0;min-height:0;padding:0;border:0;text-align:left;font-size:14px;line-height:1.35}
  .employee-view.is-daily-route .employee-daily-table td:first-child{grid-column:1;grid-row:1;display:grid;align-content:center;gap:2px;min-height:70px;padding:10px 9px 10px 12px;border-right:1px solid #d5ded8}
  .employee-view.is-daily-route .employee-daily-table td:first-child::before{display:none}
  .employee-view.is-daily-route .employee-name-line{gap:4px}
  .employee-view.is-daily-route .employee-name-line>strong{font:800 16px/1.18 Manrope,sans-serif;letter-spacing:-.25px}
  .employee-view.is-daily-route .staff-contact-actions{gap:4px}
  .employee-view.is-daily-route .staff-call-link,.employee-view.is-daily-route .staff-message-link,.employee-view.is-daily-route .staff-on-way-button:not(.is-sent){width:40px;height:40px;background:rgba(255,255,255,.9)}
  .employee-view.is-daily-route .staff-on-way-button.is-sent{width:40px;height:40px}
  .employee-view.is-daily-route .staff-note-preview{margin-top:3px;font-size:12px;line-height:1.3;color:#294536}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(4){grid-column:2;grid-row:1;display:grid;align-content:center;justify-items:center;gap:3px;padding:8px 3px;border-bottom:1px solid #d5ded8;background:#f7faf8;text-align:center!important;font:800 16px/1.2 Manrope,sans-serif}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(4)::before{content:"PRICE";display:block;margin:0;color:#657b6c;font:800 10px/1.1 "DM Sans",sans-serif;letter-spacing:.07em}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(2){grid-column:1/-1;grid-row:2;min-height:53px;padding:8px 12px 10px;border-bottom:0;background:#fff}
  .employee-view.is-daily-route .employee-daily-table tr.clock-paid td:nth-child(2){background:#1be84e}
  .employee-view.is-daily-route .employee-daily-table tr.clock-invoice td:nth-child(2){background:#ffad28}
  .employee-view.is-daily-route .employee-daily-table tr.staff-editable-row:hover td{box-shadow:none}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(2)::before{display:block;margin-bottom:3px;color:#677c70;font-size:10px}
  .employee-view.is-daily-route .staff-map-link{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(3){grid-column:1/-1;grid-row:3;display:flex;flex-direction:column;align-items:stretch;padding:8px 0 0;background:#f8faf8;text-align:left!important}
  .employee-view.is-daily-route .employee-daily-table td:nth-child(3)::before{display:block;margin:0 12px 2px;color:#677c70;font-size:10px}
  .employee-view.is-daily-route .employee-clock-control{min-height:59px;gap:2px 9px;padding:4px 12px 9px}
  .employee-view.is-daily-route .employee-clock-control>strong,.employee-view.is-daily-route .employee-clock-complete strong{font-size:16px}
  .employee-view.is-daily-route .employee-clock-control>span,.employee-view.is-daily-route .employee-clock-complete span{font-size:12px;line-height:1.25}
  .employee-view.is-daily-route .employee-clock-control>button{min-width:90px;min-height:44px;font-size:13px}
  .employee-view.is-daily-route .employee-clock-complete{min-height:59px;justify-items:start;padding:4px 12px 9px;text-align:left}
  .employee-view.is-daily-route .employee-clock-column>.compliance-indicator{align-self:flex-start;margin:0 12px 9px;padding:4px 8px;font-size:11px}
  .employee-view.is-daily-route .employee-daily-table tr.no-route{display:block}
  .employee-view.is-daily-route .employee-daily-table tr.no-route td{display:block;min-height:55px;padding:17px 12px;text-align:center!important}
  .employee-view.is-daily-route .employee-daily-table tr.no-route td::before{display:none}
  .employee-view.is-daily-route .run-sheet-footer{padding:11px 12px;font-size:11px;line-height:1.4}
}
@media (max-width:360px) and (orientation:portrait){
  .employee-view.is-daily-route .employee-daily-table tr.staff-editable-row{grid-template-columns:minmax(0,1fr) 74px}
  .employee-view.is-daily-route .staff-call-link,.employee-view.is-daily-route .staff-message-link,.employee-view.is-daily-route .staff-on-way-button{width:36px;height:40px}
  .employee-view.is-daily-route .employee-name-line>strong{font-size:15px}
}

/* Undo is an office action and its label stays visible beside the icon. */
#undoSchedule{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:70px;padding:0 9px;font-size:11px;font-weight:800;white-space:nowrap}
#undoSchedule svg{width:16px;height:16px}
#undoSchedule[hidden],#sharedUndo[hidden]{display:none!important}

#openEmployeeAddJob[hidden]{display:none!important}
/* Office decides which visit is a first spray; only its staff price cell is yellow. */
.office-first-spray{display:inline-flex;align-items:center;justify-self:start;gap:3px;min-height:16px;max-width:100%;margin:1px 0 0;color:#405243;font:700 8px/1.1 "DM Sans",sans-serif;white-space:nowrap;cursor:pointer;touch-action:manipulation}
.office-first-spray input{flex:none;width:11px;height:11px;min-height:0;margin:0;padding:0;accent-color:#ae8a00;cursor:pointer}
.office-first-spray:has(input:checked){color:#695000}
.office-first-spray:has(input:disabled){opacity:.5;cursor:default}
.office-first-spray input:disabled{cursor:default}
.office-first-spray:focus-within{outline:2px solid #176ee8;outline-offset:2px;border-radius:2px}
.office-mobile-week-day .office-first-spray{display:flex;min-height:24px;margin-top:2px;font-size:11px}
.office-mobile-week-day .office-first-spray input{width:16px;height:16px}
.employee-view.is-daily-route .employee-daily-table td.staff-first-spray-price{background:#fff176;color:#332d0b}
.employee-view.is-daily-route .employee-daily-table td.staff-first-spray-price::before{color:#66591c}
.run-sheet-legend .legend-first-spray{background:#fff176;border:1px solid #c9af3e}
.clock-first-spray-price{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid #d4bc52;border-radius:11px;background:#fff8ce;color:#332d0b}
.clock-first-spray-price[hidden]{display:none}
.clock-first-spray-price label{font-size:16px;font-weight:800}
.clock-first-spray-price>span,.clock-first-spray-price small{font-size:14px;line-height:1.4}
.clock-first-spray-price input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #9e914d;border-radius:8px;background:white;color:#19392f;font:inherit;font-size:16px}
.clock-first-spray-price-error{color:#9d241d;font-weight:700}
/* A short tap edits the customer; a hold on the name starts a touch-friendly route drag. */
.staff-route-drag-name{display:block;width:100%;min-height:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.staff-route-drag-name:focus-visible{outline:2px solid #176646;outline-offset:2px}
.staff-route-drag-ghost{position:fixed;top:0;left:0;z-index:1000;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;padding:9px 13px;border-radius:9px;background:#174a37;color:#fff;box-shadow:0 8px 22px rgba(12,43,29,.25);font-size:13px;font-weight:800}
body.staff-route-dragging{user-select:none;cursor:grabbing}
.employee-daily-table tr.staff-route-moving{opacity:.5}
.employee-daily-table tr.staff-route-drop-before{box-shadow:0 -4px 0 #15935a!important}
.employee-daily-table tr.staff-route-drop-after{box-shadow:0 4px 0 #15935a!important}
/* Keep the technician's weekly controls to two compact rows on a portrait phone. */
@media (max-width:700px) and (orientation:portrait){
  .employee-view.is-weekly-route{padding-top:14px}
  .employee-view.is-weekly-route .employee-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,42%);align-items:center;gap:8px;margin-bottom:12px}
  .employee-view.is-weekly-route .employee-hero>div:first-child{grid-column:1;grid-row:1;min-width:0}
  .employee-view.is-weekly-route .employee-hero .eyebrow,.employee-view.is-weekly-route .employee-hero .subhead{display:none}
  .employee-view.is-weekly-route .employee-hero h1{font-size:22px;letter-spacing:-.5px}
  .employee-view.is-weekly-route .employee-controls{display:contents}
  .employee-view.is-weekly-route .employee-access-button{grid-column:2;grid-row:1;justify-self:end;min-height:40px;padding:8px 10px;white-space:nowrap}
  .employee-view.is-weekly-route .employee-schedule-toggle{grid-column:1;grid-row:2;justify-self:start;align-self:end}
  .employee-view.is-weekly-route .employee-controls label{grid-column:2;grid-row:2;min-width:0}
  .employee-view.is-weekly-route .employee-controls select{height:40px}
}

/* Clock-off: put required treatment and delivery inputs before optional details and PDF review. */
#complianceTreatmentPanel{display:grid;gap:11px}
.compliance-treatment-required{display:grid;gap:11px;padding:13px;border:1px solid #cddfd3;border-radius:12px;background:#f5faf6}
.compliance-treatment-required-heading{display:grid;gap:2px}
.compliance-treatment-required-heading strong{color:#183d2e;font-size:15px}
.compliance-treatment-required-heading span{color:#61776b;font-size:11px;line-height:1.4}
.compliance-treatment-required .compliance-spray-volume{margin:0;padding:12px;background:#fff}
.compliance-treatment-required .compliance-spray-volume input{width:100%;max-width:350px}
.compliance-treatment-core{gap:10px}
.compliance-treatment-core input,.compliance-treatment-core select{margin-top:5px}
.compliance-treatment-required .compliance-armp-fields,.compliance-treatment-required .compliance-treatment-products,.compliance-treatment-required .compliance-post-email-capture,.compliance-treatment-required .compliance-post-share,.compliance-treatment-required .compliance-confirm-check{margin:0}
.compliance-treatment-required .compliance-confirm-check{min-height:44px;align-items:center;background:#fff;color:#30483b;font-size:12px}
.compliance-treatment-required .compliance-confirm-check input{width:20px;height:20px;margin:0}
.compliance-treatment-extras,.compliance-post-review{overflow:hidden;border:1px solid #d9e5dc;border-radius:11px;background:#fbfcfb}
.compliance-treatment-extras summary,.compliance-post-review summary{position:relative;display:block;cursor:pointer;padding:11px 34px 11px 13px;color:#234634;font-size:12px;font-weight:700;list-style:none}
.compliance-treatment-extras summary::-webkit-details-marker,.compliance-post-review summary::-webkit-details-marker{display:none}
.compliance-treatment-extras summary::after,.compliance-post-review summary::after{content:'⌄';position:absolute;right:14px;top:10px;font-size:19px;line-height:1;transition:transform .15s}
.compliance-treatment-extras[open] summary::after,.compliance-post-review[open] summary::after{transform:rotate(180deg)}
.compliance-treatment-extras summary:focus-visible,.compliance-post-review summary:focus-visible{outline:2px solid #237b52;outline-offset:-3px}
.compliance-treatment-extras>.form-grid{margin:0 12px 12px}
.compliance-post-review summary strong{display:block}
#compliancePostPdfStatus{display:block;margin-top:4px;color:#64786e;font-size:11px;font-weight:500;line-height:1.4}
.compliance-post-review .compliance-post-pdf{margin:0 12px 12px}
@media(max-width:620px){
  .compliance-job-modal .modal-body{padding:12px 14px 16px}
  .compliance-job-modal .modal-header{padding:14px}
  .compliance-treatment-required{gap:10px;padding:11px}
  .compliance-treatment-core{gap:9px}
  .compliance-treatment-core input,.compliance-treatment-core select{height:44px;font-size:16px}
  .compliance-treatment-required .compliance-spray-volume{padding:10px 11px}
  .compliance-treatment-required .compliance-spray-volume label{gap:5px;font-size:13px}
  .compliance-treatment-required .compliance-spray-volume input{height:44px;max-width:none}
  .compliance-post-review .compliance-post-pdf iframe{height:min(360px,44vh)}
  .compliance-job-footer{align-items:center;gap:5px;padding:10px 14px max(10px,env(safe-area-inset-bottom))}
  .compliance-job-footer .primary-button{min-height:44px;min-width:0;padding:8px 11px;text-align:center}
}
.client-import-modal{width:min(920px,100%)}
.import-destination{margin:0 0 15px;padding:12px;border:1px solid #bad9c6;border-radius:10px;background:#eff8f2}
.import-file-field.drag-over{background:#e5f5e9;border-color:#297448;outline:2px solid #297448}
.import-file-field>span{font-size:11px;font-weight:400;line-height:1.5}
.import-heading-toggle{display:flex;align-items:center;gap:8px;margin:12px 0;color:#50615a;font-size:12px}
.import-heading-toggle input{width:16px;height:16px;accent-color:#297448}
.sheet-import-mapping{padding:12px;border:1px solid #dce6e1;border-radius:10px;background:#fbfcfb}
.sheet-import-mapping>strong,.sheet-import-mapping>span{display:block;font-size:12px}
.sheet-import-mapping>span{margin:4px 0 9px;color:#687970;font-size:11px}
.sheet-import-mapping-rows{display:grid;gap:7px;max-height:230px;overflow:auto}
.sheet-import-mapping-rows label{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12px;padding:5px 0;border-bottom:1px solid #eef2ef;font-size:12px}
.sheet-import-mapping-rows label>span{min-width:0;overflow-wrap:anywhere}
.sheet-import-mapping-rows small{display:block;margin-top:3px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7c8b82;font-size:10px}
.sheet-import-mapping-rows select{min-width:0;width:100%;height:36px;border:1px solid #d6e0d9;border-radius:7px;padding:0 7px;background:white;color:#273830;font-size:12px}
.sheet-import-preview-table{overflow:auto;margin-top:8px;max-height:270px;border:1px solid #dce6e1;border-radius:7px}
.sheet-import-preview-table table{width:100%;min-width:650px;border-collapse:collapse;background:white;font-size:11px}
.sheet-import-preview-table th,.sheet-import-preview-table td{padding:8px;text-align:left;border-bottom:1px solid #e7ece9;max-width:260px;overflow-wrap:anywhere}
.sheet-import-preview-table th{position:sticky;top:0;background:#eef5f0}
.import-preview .sheet-import-warning{padding:7px;background:#fff2df;color:#835414;border-radius:6px;line-height:1.45}
.client-action-cell .record-action-button+button{margin-top:4px}
.staff-mode #openLeadImport,.staff-mode #openOldClientImport{display:none!important}
@media(max-width:700px){.sheet-import-mapping-rows select{font-size:16px}.sheet-import-mapping-rows label{gap:8px}.client-import-modal .modal-body{padding:16px}.client-hero-actions{flex-wrap:wrap}}
.client-import-modal [hidden]{display:none!important}
.client-import-modal button:disabled{opacity:.5;cursor:not-allowed}
.sheet-import-status{margin:10px 0 0;color:#7d552c;font-size:12px;line-height:1.5}
.sheet-import-status:empty{display:none}
.client-import-modal .modal-footer{position:sticky;bottom:0;z-index:2;flex-wrap:wrap}
.sheet-import-feedback{flex:0 0 100%;grid-column:1/-1;min-width:0;text-align:left}
.sheet-import-feedback .import-heading-toggle{align-items:flex-start;margin:0;font-size:14px;line-height:1.4}
.sheet-import-feedback .import-heading-toggle input{flex:0 0 auto;margin-top:2px}
.sheet-import-feedback .sheet-import-status{font-size:14px}
.lead-lifetime-cell small{display:block;margin-top:4px;color:#61796c;font-size:12px;line-height:1.35;white-space:normal}

/* Lead insights extends the existing office toggle and sheet styling. */
.leads-switch-wrap{display:inline-flex;margin:0 0 22px;padding:12px 14px;background:#fff;border:1px solid #d7e4db;border-radius:22px;box-shadow:0 4px 16px rgba(21,65,45,.04)}
.leads-view-toggle{padding:5px;border-radius:16px}.leads-view-toggle button{min-height:50px;min-width:105px;border-radius:13px;font-size:16px}
.clients-switch-wrap{display:flex;margin:0 0 18px}.clients-list-toggle{padding:5px;border-radius:13px}.clients-list-toggle button{min-width:105px;min-height:46px;font-size:15px}.clients-list-toggle button:focus-visible{outline:3px solid #438f69;outline-offset:3px}
#activeClientsPanel[hidden],#openClientImport[hidden],#openClientCreate[hidden],#openOldClientImport[hidden]{display:none!important}
@media(max-width:700px) and (orientation:portrait){#oldClientsView .client-mobile-sort{display:flex;flex-wrap:wrap}}
.lead-insight-filter-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;margin-bottom:16px;background:#e6f1ea;border:1px solid #cbdfd1;border-radius:12px;font-size:14px}.lead-insight-filter-notice button{background:white;border:1px solid #bed3c6;border-radius:8px;padding:8px 12px;color:#174b35;font:inherit;cursor:pointer}
.lead-insights{min-width:0;max-width:100%;padding-bottom:30px}.lead-insights [hidden],.leads-view [hidden]{display:none!important}
.staff-mode #leadInsightsPanel,.staff-mode #leadsView .leads-switch-wrap,.staff-mode #leadsView [data-lead-financial],.staff-mode #leadsView td[data-label="Lifetime value"]{display:none!important}
.office-settings-grid>.office-staff-section{grid-column:1/-1}.office-staff-status{margin:0 0 12px;color:#56695e;font-size:14px;line-height:1.6}.office-staff-status:empty{display:none}.office-staff-table tbody th{text-transform:none;letter-spacing:0;color:#183b2c;font-size:15px}.office-staff-table small{display:block;font-size:12px;color:#64746b;line-height:1.6;margin-top:3px}.office-staff-role,.office-staff-access{display:inline-block;padding:3px 9px;border-radius:6px;font-size:14px;line-height:1.6;background:#eef3f0;color:#304e3c}.office-staff-access.active{background:#e5f3e4;color:#2d6535}.office-staff-access.inactive{background:#f2f3f2;color:#626d66}.office-staff-table td:last-child{width:90px}.office-staff-table button{min-height:36px}.office-staff-modal{max-width:720px}.office-staff-modal .modal-body{max-height:calc(100dvh - 210px);overflow-y:auto}.office-staff-profile-section{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.office-staff-profile-section h3{margin:0 0 12px;font-size:17px;font-weight:700;color:#173e2e}.office-staff-permissions{padding:12px 14px;background:#f0f6f2;border:1px solid #dce8df;border-radius:8px;margin:0 0 14px;font-size:15px;line-height:1.65;color:#294e38}.office-staff-check{display:flex!important;align-items:flex-start;gap:10px;font-size:15px;line-height:1.6;font-weight:500;cursor:pointer}.office-staff-check input[type="checkbox"]{flex:0 0 18px;width:18px;min-height:18px;height:18px;padding:0;margin:3px 0 0;accent-color:#174f35}.office-staff-checks{display:grid;gap:10px;margin-top:14px}.office-staff-pin-field{display:grid;gap:6px;max-width:260px;margin:15px 0 0;font-size:14px}.office-staff-error{padding:12px 14px;margin:18px 0 0;border-radius:8px;background:#fff0ed;color:#94382e;font-size:15px;line-height:1.6}.office-staff-revoke{color:#9b3d31;background:none;border:0;padding:10px 12px;font-size:14px;min-height:42px;cursor:pointer}.office-staff-modal .modal-footer{flex-wrap:wrap;gap:10px}.compliance-staff-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}.compliance-staff-summary span{color:#617168}.staff-mode #officeStaffModal{display:none!important}@media(max-width:640px){.office-staff-modal .form-grid{grid-template-columns:1fr}.office-staff-modal .modal-body{max-height:calc(100dvh - 220px)}}
.lead-insights-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px}.lead-insights-controls label,.lead-spend-controls label,.lead-insights-rank{display:flex;flex-direction:column;gap:6px;color:#405b4c;font-size:14px;font-weight:650}.lead-insights select{min-height:43px;max-width:100%;padding:8px 34px 8px 12px;border:1px solid #d1dfd5;border-radius:10px;background:#fff;color:#203f30;font:inherit;font-size:14px}.lead-insights-controls label{min-width:155px}.lead-insights-controls #editLeadSpend{margin-left:auto;min-height:43px;font-size:14px}.lead-insights-controls .text-button{min-height:43px;font-size:14px}
.lead-insights-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px}.lead-insights-metric{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;min-height:145px;min-width:0;padding:18px;border:1px solid #d8e4dc;border-radius:16px;background:#fff;color:#1d4030;text-align:left;font:inherit}.lead-insights-metric>span{font-size:14px;font-weight:650}.lead-insights-metric>strong{font-size:clamp(24px,2.2vw,34px);line-height:1.15;letter-spacing:-.7px;overflow-wrap:anywhere}.lead-insights-metric>small{font-size:12px;font-weight:400;line-height:1.4;color:#687b6e}.lead-insights-metric:nth-child(3){background:#174b35;border-color:#174b35;color:#fff}.lead-insights-metric:nth-child(3)>small{color:#d7e9df}.lead-insights-metric:nth-child(6){background:#ecf5ee}.lead-insights-metric:is(button){cursor:pointer}.lead-insights-metric:is(button):hover{border-color:#578f6d;box-shadow:0 3px 15px rgba(22,75,48,.07)}
.lead-insights-card{min-width:0;padding:23px;margin-bottom:20px;border:1px solid #d6e2da;border-radius:18px;background:#fff;box-shadow:0 2px 12px rgba(22,63,41,.025)}.lead-insights-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.lead-insights-card h2{margin:0 0 7px;font-size:19px;line-height:1.3;letter-spacing:-.3px;color:#244736}.lead-insights-card header p{margin:0;color:#6b7b71;font-size:14px;line-height:1.45}.lead-insights-chip{flex-shrink:0;border:1px solid #d5e6dc;border-radius:8px;background:#edf6ef;color:#28573d;padding:6px 9px;font-size:12px;font-weight:650;white-space:nowrap}.lead-insights-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lead-insights-chart-grid>.lead-insights-card{margin-bottom:20px}
.lead-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain;max-width:100%;scrollbar-width:thin}.lead-insights-chart svg{display:block;width:100%;height:auto;max-height:270px;stroke:none}.lead-chart-grid{stroke:#e6ede8;stroke-width:1}.lead-chart-axis{font-family:inherit;fill:#667b6b;stroke:none;font-size:14px;font-weight:400}.lead-chart-hit{fill:transparent}.lead-chart-bar{fill:#2c8858}.lead-chart-line{fill:none;stroke:#23875a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.lead-chart-area{fill:#edf7f0}.lead-chart-point{fill:#fff;stroke:#23875a;stroke-width:2}.lead-chart-month{cursor:pointer;outline:none}.lead-chart-month:hover .lead-chart-hit,.lead-chart-month:focus .lead-chart-hit,.lead-chart-month.is-active .lead-chart-hit{fill:rgba(36,118,76,.09)}.lead-chart-month:focus .lead-chart-hit{stroke:#21744b;stroke-width:2}.lead-chart-month.is-active .lead-chart-bar{fill:#174b35}.lead-insights-chart-help{margin:12px 0 0;font-size:12px;color:#6b7e71;line-height:1.45}.lead-chart-figures{margin-top:14px;color:#41634d;font-size:12px}.lead-chart-figures summary{cursor:pointer}.lead-chart-figures table{width:100%;margin-top:12px;border-collapse:collapse;font-size:14px}.lead-chart-figures th,.lead-chart-figures td{padding:8px 6px;border-bottom:1px solid #e7ede9;text-align:right}.lead-chart-figures th:first-child{text-align:left}.lead-chart-figures button{border:0;background:none;padding:3px 0;color:#1d7047;text-align:left;font:inherit;cursor:pointer}
.lead-insights-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.lead-insights table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.lead-performance-table{min-width:1100px}.lead-postcode-table{min-width:700px}.lead-insights table thead th{padding:12px 13px;background:#f1f6f3;color:#5c7364;font-size:12px;font-weight:650;white-space:nowrap;text-align:right;border-bottom:1px solid #dce7df}.lead-insights table td,.lead-insights table tbody th{padding:13px;text-align:right;border-bottom:1px solid #e6ede8;white-space:nowrap;font-weight:400}.lead-insights table th:first-child{text-align:left}.lead-insights table tbody tr:last-child td,.lead-insights table tbody tr:last-child th{border-bottom:0}.lead-insights .lead-value-emphasis{color:#1c5a39;font-weight:700}.lead-insight-group-button,.lead-spend-link{border:0;padding:0;background:transparent;color:#254e37;font:inherit;font-weight:650;text-align:left;cursor:pointer}.lead-spend-link{color:#236f49;text-decoration:underline;text-underline-offset:3px;font-weight:500}.lead-insight-mini-bar{display:block;max-width:150px;width:150px;height:4px;border-radius:4px;background:#edf3ee;margin-top:8px;overflow:hidden}.lead-insight-mini-bar i{display:block;height:100%;background:#50976a;border-radius:4px}.lead-insight-estimate{display:block;max-width:100px;color:#748272;font-size:12px;margin-top:5px;white-space:normal}
.lead-insights .is-negative{color:#a83c35}.lead-insights .is-positive{color:#27764a}.lead-insights-rank{flex-shrink:0;min-width:150px}.lead-insights-method,.lead-insights-footnote{font-size:12px;line-height:1.6;color:#6b7c70}.lead-insights-method{margin:16px 0 0}.lead-insights-footnote{max-width:1100px;margin:0}.lead-insights-preview,.lead-insights-error{padding:12px 16px;border-radius:10px;font-size:14px;line-height:1.5;background:#fff3dc;color:#7a5c20;border:1px solid #eed9a8;margin:0 0 18px}.lead-insights-error{background:#fff0ed;color:#9b4439;border-color:#f1cec7}.lead-insights-empty{font-size:14px;color:#6a7b70;padding:45px 10px;text-align:center}
.lead-spend-editor>summary{display:flex;justify-content:space-between;gap:15px;align-items:center;color:#254736;font-size:17px;font-weight:700;cursor:pointer;list-style:none}.lead-spend-editor>summary::after{content:'+';font-size:24px;color:#496c55;order:3}.lead-spend-editor[open]>summary::after{content:'−'}.lead-spend-editor .lead-insights-summary-hint{font-size:12px;color:#718376;font-weight:400;margin-left:auto}.lead-spend-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;padding-top:20px}.lead-spend-controls>span{font-size:14px;color:#667e6d;padding-bottom:12px}.lead-spend-table{min-width:600px;margin-top:16px}.lead-spend-table input{max-width:150px;width:150px;min-height:42px;padding:8px 10px;border:1px solid #cdded2;border-radius:8px;background:#fff;color:#1e4932;text-align:right;font:inherit;font-size:16px}.lead-spend-table input:invalid{border-color:#b45140}.lead-spend-save{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}.lead-spend-save p{margin:0 auto 0 0;flex-basis:55%;font-size:14px;color:#526d5b;line-height:1.5}.lead-spend-save button{font-size:14px;min-height:42px}.lead-insights button:disabled{opacity:.5;cursor:default}
.lead-insights-pipeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.lead-pipeline-status{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;border:0;border-radius:12px;background:#edf2ee;color:#365540;padding:15px;font:inherit;cursor:pointer}.lead-pipeline-status strong{font-size:26px}.lead-pipeline-status span{font-size:12px;font-weight:650}.lead-pipeline-status.booked,.lead-pipeline-status.sprayed{background:#e8f5ed;color:#296643}.lead-pipeline-status.needs-contacting{background:#ffe9e5;color:#98392d}.lead-pipeline-status.thinking{background:#fff3de;color:#876320}.lead-pipeline-status.left-message{background:#edf1fd;color:#4c61a1}.lead-insights-extra{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;padding-top:22px;border-top:1px solid #e1ebe4}.lead-insights-extra div{display:flex;flex-direction:column;gap:7px}.lead-insights-extra span{font-size:14px;color:#5a7262}.lead-insights-extra strong{font-size:22px;color:#284f38}.lead-insights-extra small{font-size:12px;line-height:1.4;color:#748379}
.lead-insights-health{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-insights-health button{display:flex;align-items:center;gap:12px;border:1px solid #e1e9e3;border-radius:10px;background:#fafcfb;padding:13px;color:#647968;font:inherit;text-align:left;cursor:pointer}.lead-insights-health strong{color:#315b3e;font-size:24px}.lead-insights-health span{font-size:12px;line-height:1.45}.lead-insights-health p{grid-column:1/-1;font-size:12px;color:#856835;margin:4px 0}.lead-insights-health button:hover{border-color:#8db39a}.lead-insights-card #leadPostcodeLookupUnresolved{margin-top:12px;font-size:14px;line-height:1.6;color:#536a5b}.lead-insights-card #leadPostcodeLookupUnresolved summary{cursor:pointer}.lead-insights-card #leadPostcodeLookupUnresolved ul{padding-left:20px;max-height:250px;overflow:auto}
.lead-insights :is(button,select,input):focus-visible,.leads-view-toggle button:focus-visible{outline:3px solid #438f69;outline-offset:3px}
@media(max-width:1250px){.lead-insights-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.lead-insights-metric>strong{font-size:29px}.lead-insights-chart-grid{grid-template-columns:1fr}.lead-insights-card>header{align-items:flex-start}.lead-insights-chart svg{min-width:620px}}
@media(max-width:650px){.leads-switch-wrap{padding:10px;margin-bottom:18px}.leads-view-toggle button{min-height:46px;min-width:94px}.lead-insights-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lead-insights-controls label{min-width:0}.lead-insights-controls #editLeadSpend{margin-left:0;width:100%;font-size:14px}.lead-insights-metrics{grid-template-columns:1fr 1fr;gap:10px}.lead-insights-metric{padding:15px;min-height:150px}.lead-insights-metric>strong{font-size:27px}.lead-insights-card{padding:17px;border-radius:15px}.lead-insights-card>header{flex-wrap:wrap;gap:12px;margin-bottom:17px}.lead-insights-card h2{font-size:18px}.lead-insights-rank{width:100%}.lead-insights-rank select{width:100%}.lead-insights-chart-grid{gap:0}.lead-insights-chip{font-size:12px}.lead-insights-extra{gap:16px}.lead-insights-pipeline{grid-template-columns:1fr 1fr}.lead-spend-editor>summary{flex-wrap:wrap;gap:10px}.lead-spend-editor .lead-insights-summary-hint{margin-left:0;width:100%;order:4;line-height:1.5}.lead-spend-save p{flex-basis:100%}.lead-spend-save button{flex:1}.lead-spend-controls label{flex:1;min-width:130px}.lead-spend-controls>span{flex-basis:100%;padding-bottom:0}.lead-insights-health{grid-template-columns:1fr}.lead-insight-filter-notice{align-items:flex-start;font-size:14px}.lead-insight-filter-notice button{flex-shrink:0}.lead-insights-footnote{font-size:12px}}
@media(max-width:360px){.lead-insights-metrics{grid-template-columns:1fr}.lead-insights-controls{grid-template-columns:1fr}.lead-insights-extra{grid-template-columns:1fr}}

/* Phone portrait keeps Clients as one sheet, with cell and text size changing together. */
.client-load-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;border-bottom:1px solid var(--line);background:#f4f8f5;color:#45634f;font-size:14px;line-height:1.4}
.client-load-controls[hidden],.client-load-controls button[hidden]{display:none!important}
.client-load-controls>div{display:flex;flex-wrap:wrap;gap:8px}
.client-load-controls button{min-height:44px;padding:8px 12px;border:1px solid #bed2c3;border-radius:8px;background:#fff;color:#225d40;font:700 14px/1.3 Manrope,sans-serif;cursor:pointer}
.client-load-controls button:focus-visible{outline:3px solid #438f69;outline-offset:2px}
@media(max-width:700px),(max-height:500px) and (pointer:coarse){.client-search input{font-size:16px}.client-load-controls>span{flex-basis:100%}}
@media(max-width:700px) and (orientation:portrait){
  #clientsView .client-mobile-sort{display:none}
  #clientsView .client-list-toolbar{gap:10px;padding:12px}
  #clientsView .client-sheet-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 12px;border-bottom:1px solid var(--line);color:#45634f;font-size:14px}
  #clientsView .client-sheet-controls label{display:flex;align-items:center;gap:7px;font-weight:700}
  #clientsView .client-sheet-controls input{width:115px;accent-color:#216144}
  #clientsView .client-sheet-controls output{min-width:39px;font-variant-numeric:tabular-nums}
  #clientsView .client-sheet-controls button{min-height:36px;padding:5px 10px;border:1px solid #bed2c3;border-radius:7px;background:#fff;color:#225d40;font-size:14px;font-weight:700}
  #clientsView .client-sheet-controls>span{flex-basis:100%;color:#6c7e70;font-size:12px}
  #clientSheetViewport{height:min(68dvh,800px);min-height:300px;max-height:none;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;padding:0;background:#f4f7f4;scrollbar-width:thin;scrollbar-gutter:auto}
  #clientSheetViewport:focus-visible{outline:2px solid #176ee8;outline-offset:-2px}
  #clientSheetContent{width:max-content;min-width:2215px}
  #clientsView .client-table{display:table;width:2215px;min-width:2215px;font-size:14px}
  #clientsView .client-table thead{display:table-header-group}
  #clientsView .client-table tbody{display:table-row-group}
  #clientsView .client-table tr{display:table-row;overflow:visible;border:0;border-radius:0;box-shadow:none}
  #clientsView .client-table td{position:static;display:table-cell;width:auto;height:48px;min-height:0;padding:8px 10px;border-right:1px solid #e4e9e6;border-bottom:1px solid #e4e9e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none;font-size:14px}
  #clientsView .client-table td:before{display:none}
  #clientsView .client-table td:first-child{position:sticky;left:0;z-index:3;width:230px;background:#fbfcfb;box-shadow:1px 0 0 #dce3df}
  #clientsView .client-table th{height:48px;white-space:normal;font-size:14px}
  #clientsView .client-table th button{min-height:32px;white-space:normal}
  #clientsView .client-table th:first-child{z-index:5;background:#eef3f0}
  #clientsView .client-table .sort-indicator{flex-shrink:0}
  #clientsView .client-table .client-cell-edit{font-size:14px}
  #clientsView .client-table .client-cell-edit.is-editing{font-size:16px}
  #clientsView .client-table .record-action-button{min-height:34px;font-size:12px}
  #clientsView .client-table .client-action-cell{border-bottom:1px solid #e4e9e6!important}
  #clientEmpty{width:400px;align-items:start;text-align:left}
}
.staff-client-search{display:grid;gap:6px;min-width:0}
.staff-edit-grid .staff-client-search label{font-size:14px}
.staff-client-search>small{color:#586d64;font-size:13px;line-height:1.4}
.staff-client-search [hidden]{display:none!important}
.staff-client-results{max-height:300px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #b8d0c1;border-radius:9px;background:#fff}
.staff-client-option{display:grid;gap:3px;width:100%;min-height:58px;padding:10px 12px;border:0;border-bottom:1px solid #e2eae5;background:#fff;color:#263a32;text-align:left;cursor:pointer;overflow-wrap:anywhere}
.staff-client-option strong{font-size:15px;line-height:1.4}
.staff-client-option span{font-size:14px;line-height:1.4;color:#586d64}
.staff-client-option small{font-size:13px;line-height:1.4;color:#586d64}
.staff-client-option:hover,.staff-client-option[aria-selected="true"]{background:#edf6f0}
#staffEditClientSearchStatus{margin:0;padding:9px 12px;color:#586d64;font-size:13px;line-height:1.4}

.week-staff-available{display:flex!important;flex-wrap:wrap;gap:6px}.week-staff-available[hidden]{display:none!important}.week-staff-available button{min-height:44px}.staff-manager-empty{padding:14px;color:#708078;font-size:12px}.office-mobile-technicians-button{min-height:36px;padding:6px 9px;border:1px solid #cbd8d2;border-radius:7px;background:white;color:#315b4c;font:inherit;font-size:11px;font-weight:800}.office-mobile-daily-date{flex-wrap:wrap}.staff-mode [data-week-technicians]{display:none!important}

.staff-manage-modal .modal-footer{flex-wrap:wrap}

/* Office business Insights */
.business-insights-view{max-width:1600px;padding-top:28px}.insights-hero h1{margin:0;font:800 32px/1.2 Manrope,sans-serif;letter-spacing:-1px}.insights-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px}.insights-controls label,.insights-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#42554b}.insights-controls label small{font-weight:400;font-size:12px;color:var(--muted)}.insights-controls select,.insights-controls input,.insights-form-grid input,.insights-form-grid select,.insights-form-grid textarea{min-height:40px;border:1px solid #dce4de;border-radius:8px;background:#fff;padding:8px 11px;color:var(--ink);font-size:14px}.insights-controls .insights-search{flex:1;min-width:200px}.insights-controls select{min-width:145px}.insights-controls input[type=date]{max-width:160px}.insights-notice{margin:12px 3px 20px;font-size:14px;color:var(--muted);line-height:1.7}.insights-error{border:1px solid #e1b4a7;background:#fff3ee;border-radius:9px;padding:12px;color:#983c2b;font-size:14px}.insights-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.insights-metric{padding:19px 21px;background:white;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:7px;box-shadow:0 1px 3px rgba(12,47,41,.025)}.insights-metric:first-child{background:#163e33;color:#fff;border-color:#163e33}.insights-metric span{font-size:14px;color:#607368}.insights-metric:first-child span,.insights-metric:first-child small{color:#cbded0}.insights-metric strong{font:800 27px/1.2 Manrope,sans-serif;letter-spacing:-.5px}.insights-metric small{font-size:12px;color:var(--muted);line-height:1.55}.insights-card{background:white;border:1px solid var(--line);border-radius:15px;margin-bottom:18px;overflow:hidden}.insights-card>header{padding:20px 22px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.insights-card h2{margin:0;font:700 17px/1.4 Manrope,sans-serif;letter-spacing:-.3px}.insights-card header p{font-size:14px;color:var(--muted);margin:5px 0 0;line-height:1.6}.insights-card>summary{list-style:none;cursor:pointer;padding:18px 22px;font-size:14px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px}.insights-card>summary:after{content:'+';font-size:20px;line-height:1;color:var(--muted);margin-left:auto}.insights-card[open]>summary:after{content:'−'}.insights-card summary small{font-size:12px;font-weight:400;color:var(--muted)}.insights-settings form{border-top:1px solid var(--line);padding:20px 22px}.insights-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.insights-form-grid input,.insights-form-grid select,.insights-form-grid textarea{width:100%;min-width:0}.insights-method{font-size:12px;color:#738276;line-height:1.75;padding:0 22px;margin:14px 0 18px}.insights-settings .insights-method,.insights-job-modal .insights-method{padding:0}.insights-save-row,.insights-load-row{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.insights-save-row>span{margin-right:auto;max-width:600px;color:var(--muted);font-size:14px;line-height:1.6}.insights-load-row{padding:12px 22px;font-size:12px;color:var(--muted);justify-content:space-between}.insights-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #d9e2dc;margin:26px 0 22px}.insights-tabs button{padding:12px 17px;border:0;background:transparent;font-size:14px;font-weight:600;color:#758477;border-radius:9px 9px 0 0;border-bottom:3px solid transparent}.insights-tabs button.active{color:#173e30;border-bottom-color:#618f30;background:#edf4e8}.insights-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.insights-chart-scroll{overflow-x:auto;padding:6px 12px 8px}.insights-chart-scroll svg{width:100%;height:auto;min-width:500px;stroke:none;fill:none;display:block}.insights-chart-grid .insights-method{margin:4px 0 16px}.insights-chart-axis{font:12px 'DM Sans',sans-serif;fill:#839083}.insights-chart-grid-line{stroke:#edf0eb;stroke-width:1}.insights-bar{fill:#4f8268}.insights-bar-count{fill:#91b747}.insights-scatter-point{fill:#417e65;stroke:white;stroke-width:1.5;opacity:.8}.insights-scatter-point.negative{fill:#bc6452}.insights-table-wrap{overflow-x:auto;max-width:100%}.insights-table-wrap table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.insights-table-wrap th,.insights-table-wrap td{padding:13px 17px;border-bottom:1px solid #edf1eb;white-space:nowrap;vertical-align:middle}.insights-table-wrap thead th{background:#f7f9f5;color:#778677;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.035em}.insights-table-wrap tbody th{font-weight:600}.insights-table-wrap td small,.insights-table-wrap th small{display:block;color:#869082;font-size:12px;font-weight:400;margin-top:4px;max-width:280px;white-space:normal;line-height:1.5}.insights-table-wrap tbody tr:last-child td,.insights-table-wrap tbody tr:last-child th{border-bottom:0}.insights-table-wrap tbody tr:hover{background:#fcfdf9}.insights-name-button{border:0;padding:0;background:transparent;text-align:left;font-weight:600;color:#24543d;font-size:14px;text-decoration:underline;text-decoration-color:#c4d6c8;text-underline-offset:4px}.insights-chip,.insights-list-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:5px 9px;border-radius:999px;font-size:12px;background:#edf5e7;color:#547443}.insights-list-pill.archived{background:#f0f0ee;color:#787d72}.insights-list-pill.unmatched{background:#f2eafa;color:#8960a8}.insights-inline-controls{border:0;border-top:1px solid #edf1eb;border-radius:0;padding:14px 22px}.insights-retention-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;padding:4px 22px 12px}.insights-retention-grid h3{font-size:14px;font-weight:600;color:#637969;margin:16px 0}.insights-band{display:grid;grid-template-columns:90px 1fr 70px;gap:12px;align-items:center;margin:17px 0;font-size:14px}.insights-band>span:last-child{text-align:right;font-weight:700}.insights-band>span:last-child small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}.insights-band-track{height:20px;background:#f0f4ec;border-radius:5px;overflow:hidden}.insights-band-track i{display:block;height:100%;background:#6b9475;border-radius:5px;min-width:0}.insights-milestones{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.insights-milestones>div{border:1px solid var(--line);border-radius:10px;padding:12px}.insights-milestones span{font-size:12px;color:#71806f}.insights-milestones strong{display:block;margin:6px 0;font:700 24px/1.2 Manrope,sans-serif;color:#315e41}.insights-milestones small{font-size:12px;color:#8b9688}.insights-retention-rate{margin-top:14px;background:#f4f7ed;border-radius:10px;padding:16px;font-size:14px;line-height:1.65;color:#687b60}.insights-retention-rate strong{font-size:23px;color:#2d573e;margin-right:8px}.insights-empty{padding:32px 22px;text-align:center;color:var(--muted);font-size:14px}.insights-negative{color:#ac4e3c!important}.insights-positive{color:#427449}.insights-cost-button{padding:6px 10px;font-size:12px;border:1px solid #dce4d9;border-radius:6px;background:#f8fbf3;color:#527041}.insights-history-modal{width:min(1100px,95vw)}.insights-job-modal{width:min(780px,95vw)}.insights-history-modal .modal-body,.insights-job-modal .modal-body{max-height:72vh;overflow-y:auto}.insights-history-modal .insights-method{padding:0}.insights-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.insights-detail-grid>div{padding:14px;border-radius:10px;background:#f4f7ef}.insights-detail-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}.insights-detail-grid strong{font-size:18px}.insights-job-preview{background:#f1f7e8;border:1px solid #e1ebd3;border-radius:9px;padding:14px;font-size:14px;line-height:1.8}.staff-mode [data-app-view=insights],.staff-mode #insightsView,.staff-mode #insightsCustomerModal,.staff-mode #insightsJobModal{display:none!important}
@media(min-width:1450px){.insights-metrics{grid-template-columns:repeat(6,1fr)}.insights-metric{padding:19px 17px}.insights-metric strong{font-size:25px}}
@media(max-width:850px){.business-insights-view{padding:24px 16px 80px}.insights-chart-grid,.insights-retention-grid{grid-template-columns:1fr}.insights-retention-grid{gap:5px}.insights-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.insights-tabs{gap:2px}.insights-tabs button{padding:11px;font-size:14px}.insights-save-row>span{max-width:none;width:100%}.insights-card>header{padding:18px 16px 12px}.insights-inline-controls{padding:14px 16px}.insights-method{padding:0 16px}}
@media(max-width:480px){.insights-hero{align-items:flex-start;gap:18px}.insights-hero h1{font-size:28px}.insights-hero .secondary-button{padding:8px 10px;font-size:12px}.insights-metric{padding:15px}.insights-metric strong{font-size:23px}.insights-metric small{font-size:12px}.insights-form-grid{grid-template-columns:1fr}.insights-detail-grid{grid-template-columns:repeat(2,1fr)}.insights-controls label{flex:1;min-width:135px}.insights-controls select{width:100%;min-width:0}.insights-settings summary small{display:none}.insights-chart-scroll svg{min-width:480px}}

.insights-cost-button{font-size:14px}
.insights-access-notice{padding:22px;display:flex;gap:18px;align-items:center;justify-content:space-between}.insights-access-notice p{margin:0;font-size:16px}


.version-history-open{white-space:nowrap;font-size:14px}.version-history-open[hidden],[data-open-version-history][hidden]{display:none!important}.version-history-backdrop{z-index:180}.version-history-modal{width:min(1280px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.version-history-modal .modal-header{flex:none}.version-history-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:0;overflow:hidden;flex:1}.version-history-main{padding:22px;overflow:auto;min-width:0}.version-history-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.version-history-controls label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}.version-history-controls select{min-height:42px;min-width:210px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff;color:var(--ink);font-size:14px}.version-history-modal button{font-size:14px}.version-history-status{font-size:14px;line-height:1.5;color:#496156;margin-bottom:12px;white-space:pre-wrap}.version-history-status:empty{display:none}.version-history-status.is-error{color:#ad433b;background:#fff1ef;border:1px solid #f4d1cb;border-radius:8px;padding:12px}.version-history-selected h3{margin:0 0 6px;font:800 22px/1.3 Manrope,sans-serif}.version-history-selected p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere}.version-history-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}.version-history-tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:12px 14px;color:var(--muted);font-weight:600}.version-history-tabs button[aria-selected=true]{color:#176e48;border-color:#176e48;background:#f3f9f6}.version-history-comparison-note{font-size:14px;line-height:1.6;color:var(--muted);margin:15px 0}.version-history-table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.version-history-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:14px;line-height:1.5}.version-history-table th,.version-history-table td{text-align:left;vertical-align:top;padding:13px;border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap}.version-history-table thead th{background:#f4f7f5;font-size:14px;font-weight:700}.version-history-table thead th:first-child{width:36%}.version-history-table tbody th{background:#fff;font-weight:400}.version-history-table tbody th span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.03em}.version-history-table tbody th strong{display:block;font-size:14px;color:var(--ink)}.version-history-table tbody th small{display:block;color:var(--muted);font-size:12px;margin:4px 0 8px}.version-history-table tbody th b{font-size:14px;font-weight:600;color:#496156}.version-history-table tr:last-child th,.version-history-table tr:last-child td{border-bottom:0}.version-history-before{background:#fff3f1;color:#753f39}.version-history-after{background:#edf8f2;color:#22583b}.version-history-empty{font-size:14px;color:var(--muted);line-height:1.7;padding:22px;background:#f5f8f6;border-radius:10px}.version-history-timeline{border-left:1px solid var(--line);background:#f8faf9;overflow:auto;padding:20px 15px}.version-history-timeline-heading{display:flex;flex-direction:column;gap:5px;padding:0 7px 18px}.version-history-timeline-heading strong{font-size:16px}.version-history-timeline-heading span{font-size:12px;color:var(--muted)}.version-history-timeline h4{margin:16px 7px 8px;font-size:12px;font-weight:700;color:#596d62}.version-history-entry{display:flex;flex-direction:column;gap:6px;width:100%;border:1px solid transparent;border-left:3px solid #d6e2db;background:transparent;border-radius:8px;padding:12px;text-align:left;margin:6px 0;color:var(--ink)}.version-history-entry:hover{background:#edf4f0}.version-history-entry.is-selected{border-color:#b5d5c4;border-left:3px solid #176e48;background:#e7f3ed}.version-history-entry>strong{font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.version-history-entry>span:not(.version-history-entry-time){font-size:14px;line-height:1.5;color:#4a6255;overflow-wrap:anywhere}.version-history-entry>small{font-size:12px;line-height:1.5;color:var(--muted)}.version-history-entry-time{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.version-history-current{font-size:12px;padding:3px 7px;border-radius:5px;background:#d6eadd;color:#256042;font-weight:600}.version-history-footnote{flex:none;border-top:1px solid var(--line);padding:13px 22px;font-size:12px;line-height:1.6;color:var(--muted);background:#fff}.version-history-modal [hidden]{display:none!important}#versionHistoryMoreChanges,#versionHistoryOlder{margin-top:15px}.staff-mode [data-open-version-history],.staff-mode #versionHistoryModal{display:none!important}.version-history-modal button:focus-visible,.version-history-controls select:focus-visible{outline:3px solid #68a986;outline-offset:2px}.version-history-modal button:disabled{opacity:.5;cursor:default}
.version-history-date{display:flex;flex-direction:column;gap:7px;margin:0 7px 16px;font-size:14px;font-weight:600}.version-history-date input{min-width:0;width:100%;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}.version-history-date input:focus-visible{outline:3px solid #68a986;outline-offset:2px}
.office-settings-view{max-width:1440px;padding-top:28px}.office-settings-view[hidden],.office-settings-view [hidden]{display:none!important}.office-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}.office-settings-heading h1{margin:0;font:800 32px/1.2 Manrope,sans-serif;letter-spacing:-1px}.office-settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px}.office-settings-grid>.operations-section{padding:22px;grid-column:auto}.office-settings-grid>.sheets-section,.office-settings-grid>.audit-section{grid-column:1/-1}.office-settings-view .operations-section-heading strong{font-size:18px;line-height:1.4}.office-settings-view .operations-section-heading span,.office-settings-view .operations-help{font-size:14px;line-height:1.6}.office-settings-view .operations-section-heading label,.office-settings-view label{font-size:14px;line-height:1.5}.office-settings-view button,.office-settings-view a.secondary-button{font-size:14px;min-height:42px}.office-settings-view input,.office-settings-view select,.office-settings-view textarea{font-size:16px;min-width:0;max-width:100%}.office-settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}.office-staff-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:9px}.office-staff-table{width:100%;min-width:480px;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.6}.office-staff-table th,.office-staff-table td{padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:top;white-space:normal;overflow-wrap:anywhere}.office-staff-table thead th{background:#f4f7f5;font-weight:600;color:#52665b}.office-staff-table tbody th{font-weight:600}.office-staff-table tbody tr:last-child>*{border-bottom:0}.office-settings-view .connection-badge{max-width:200px;white-space:normal;font-size:12px;line-height:1.5}.office-settings-view .sheets-setup-steps,.office-settings-view .sheets-workbook-summary,.office-settings-view .sheets-preview,.office-settings-view .site-backup-controls span,.office-settings-view .sheets-safety span{font-size:14px;line-height:1.6}.office-settings-view .audit-row strong{font-size:14px}.office-settings-view .audit-row span,.office-settings-view .audit-row small{font-size:12px;line-height:1.6}.office-settings-view .audit-empty{font-size:14px}.office-settings-view .quote-forms-key label,.office-settings-view .quote-forms-key p{font-size:14px;line-height:1.6}.office-settings-access-notice{padding:24px;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:16px;line-height:1.6}.office-settings-access-notice p{margin-top:0}.office-settings-active .bulk-bar{display:none}.staff-mode [data-app-view="office-settings"],.staff-mode #officeSettingsView,.staff-mode #operationsModal{display:none!important}
@media(max-width:980px){.office-settings-grid{grid-template-columns:minmax(0,1fr)}.office-settings-grid>.operations-section{grid-column:auto}}
@media(max-width:620px){.office-settings-view{padding:20px 12px}.office-settings-heading h1{font-size:28px}.office-settings-grid>.operations-section{padding:16px}.office-settings-view .operations-section-heading{flex-wrap:wrap}.office-settings-view .shared-access-actions,.office-settings-view .email-test-controls,.office-settings-view .quote-forms-actions{gap:10px}.office-settings-view .office-pin-setup,.office-settings-view .sheets-fields,.office-settings-view .sheets-sync-controls{grid-template-columns:minmax(0,1fr)}.office-settings-view .office-pin-setup input{width:100%}.office-settings-view .sheets-fields label{min-width:0}.office-settings-view .site-backup-controls{grid-template-columns:minmax(0,1fr)}}
@media(max-width:850px){.version-history-layout{grid-template-columns:minmax(0,1fr) 255px}.version-history-main{padding:16px}.version-history-controls{align-items:stretch;flex-direction:column;gap:10px}.version-history-modal{width:98vw}}
@media(max-width:620px){.version-history-modal{max-height:96vh;width:98vw}.version-history-layout{display:flex;flex-direction:column}.version-history-timeline{order:-1;flex:none;max-height:210px;border-left:0;border-bottom:1px solid var(--line);padding:12px}.version-history-timeline-heading{padding-bottom:8px}.version-history-timeline h4{margin-top:8px}.version-history-entry{padding:10px}.version-history-main{flex:1;min-height:0}.version-history-table{font-size:14px}.version-history-table th,.version-history-table td{padding:10px}.version-history-footnote{padding:10px 14px}.version-history-tabs button{padding:10px;font-size:14px}.version-history-table thead th:first-child{width:40%}}

.version-history-search{display:flex;flex-direction:column;gap:7px;margin:0 0 18px;font-size:14px;font-weight:600;color:#42574b}.version-history-search input{height:42px;border:1px solid var(--line);border-radius:8px;padding:9px 12px;background:#fff;color:var(--ink);font-size:16px;width:100%;min-width:0}.version-history-search input:focus-visible{outline:3px solid #68a986;outline-offset:2px}.version-history-record{border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:16px;overflow:hidden}.version-history-record-heading{padding:15px 18px;border-bottom:1px solid var(--line);background:#f3f8f5}.version-history-record-heading>span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.version-history-record-heading h4{font:700 18px/1.4 Manrope,sans-serif;margin:5px 0;color:var(--ink);overflow-wrap:anywhere}.version-history-record-heading p{margin:0;font-size:14px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.version-history-record dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0;padding:18px}.version-history-record dl>div{min-width:0}.version-history-record dt{font-size:14px;color:var(--muted);line-height:1.5;margin-bottom:5px}.version-history-record dd{margin:0;font-size:16px;line-height:1.5;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text}.version-history-record dd::selection{background:#c6e5d6}#versionHistoryMoreRecords{margin-top:12px}@media(max-width:620px){.version-history-record dl{grid-template-columns:1fr;gap:14px;padding:15px}.version-history-record-heading{padding:14px 15px}}

.client-frequency-select{max-width:100%;min-width:144px;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--forest);font:inherit;cursor:pointer}.client-frequency-select:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.client-table th:nth-child(13){min-width:175px}.client-table th:nth-child(14){min-width:180px}

/* Give staff fields enough room at desktop and enlarged browser zoom. */
.office-settings-grid>.office-staff-section{grid-column:1/-1;min-width:0}
.office-staff-table{table-layout:auto;min-width:50rem;font-size:.875rem}
.office-staff-table th,.office-staff-table td{padding:.625rem .75rem;font-size:.875rem;line-height:1.55;overflow-wrap:normal;word-break:normal}
.office-staff-table tbody th{min-width:7rem;font-size:.9375rem;overflow-wrap:anywhere}
.office-staff-role,.office-staff-access{white-space:nowrap;width:max-content;max-width:none}
.office-staff-table td[data-label="Contact"]{min-width:8.5rem;max-width:18rem}
.office-staff-contact{display:block}
.office-staff-phone{white-space:nowrap}
.office-staff-email{overflow-wrap:anywhere}
.office-staff-table td[data-label="Licence"]{min-width:9rem}
.office-staff-table small{white-space:nowrap}
.office-staff-table th:last-child,.office-staff-table td:last-child{width:4.75rem;white-space:nowrap}
.office-staff-table td:last-child button{padding:.5rem .75rem;min-height:36px}
@media(max-width:980px){
  .office-staff-table-wrap{overflow:visible}
  .office-staff-table,.office-staff-table tbody{display:block;width:100%;min-width:0}
  .office-staff-table thead{display:none}
  .office-staff-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.75rem 0;border-bottom:1px solid var(--line);gap:.25rem 0}
  .office-staff-table tr:last-child{border:0}
  .office-staff-table th,.office-staff-table td{min-width:0;max-width:none;border:0;padding:.375rem .75rem}
  .office-staff-table tbody th{grid-column:1;grid-row:1;align-self:center;background:transparent}
  .office-staff-table td[data-label="Role"]{grid-column:1;grid-row:2}
  .office-staff-table td[data-label="Schedule"]{grid-column:2;grid-row:2}
  .office-staff-table td[data-label="Site access"]{grid-column:1;grid-row:3}
  .office-staff-table td[data-label="Licence"]{grid-column:2;grid-row:3;min-width:0}
  .office-staff-table td[data-label="Contact"]{grid-column:1/-1;grid-row:4;min-width:0;max-width:none}
  .office-staff-table td[data-label="Profile"]{grid-column:2;grid-row:1;justify-self:end;width:auto}
  .office-staff-table td:before{content:attr(data-label);display:block;font-size:.75rem;color:#697b70;margin-bottom:.1875rem}
  .office-staff-table td[data-label="Profile"]:before{display:none}
}
@media(max-width:520px){
  .office-staff-table tr{grid-template-columns:minmax(0,1fr)}
  .office-staff-table tr>th,.office-staff-table tr>td{grid-column:1;grid-row:auto}
  .office-staff-table td[data-label="Profile"]{justify-self:start}
}

.week-route-before-start{visibility:hidden;pointer-events:none}

.multi-sms-progress{position:sticky;top:0;z-index:2;padding:12px 14px;margin-bottom:14px;border:1px solid #cfe3db;border-radius:10px;background:#f2f8f5;overflow-wrap:anywhere}
.multi-sms-progress p{margin:0;font-size:12px;line-height:1.5;color:#37574d}
.multi-sms-progress #multiSmsProgress{font-weight:600;color:#173f34}
.multi-sms-progress #multiSmsHandoffHelp{margin-top:5px}
.multi-sms-recovery{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.multi-sms-recovery:has(>button:not([hidden])){min-height:38px}
.multi-sms-recovery button{min-height:40px;font-size:12px;white-space:normal}

.multi-sms-recovery [hidden]{display:none!important}

/* Destination for the office selected-job clipboard. */
.job-clipboard-status{color:#23664e;font-size:10px;font-weight:700}.job-clipboard-status:empty{display:none}.week-route.job-paste-destination{box-shadow:inset 0 0 0 2px #23664e}

/* Customer replies received while travelling to a scheduled visit. */
.staff-job-replies:empty{display:none}
.staff-job-replies{margin:10px 0 0;padding:10px 12px;border:1px solid #85b4de;border-left:4px solid #2575ba;border-radius:8px;background:#edf5ff;color:#173d61;white-space:normal;font:400 1rem/1.4 "DM Sans",sans-serif;overflow-wrap:anywhere;text-align:left}
.staff-job-replies>strong{display:block;font-size:.875rem;font-weight:800}
.staff-job-reply+.staff-job-reply{margin-top:10px;padding-top:8px;border-top:1px solid #bfd4e8}
.staff-job-reply time{display:block;margin-top:4px;font-size:.8125rem;color:#466580}
.staff-job-replies .staff-job-reply p{margin:3px 0 0;white-space:pre-wrap;font-size:1rem;line-height:1.4}
.staff-job-replies .staff-job-replies-status{margin:0;font-size:.875rem;line-height:1.4}
@media (max-width:700px), (max-height:500px) and (pointer:coarse){
  html:not(.schedule-locked) .employee-view .employee-access-button{display:none}
}
.staff-job-reply+.staff-job-replies-status{margin-top:8px}
.staff-edit-drawer .staff-job-replies{margin:0 0 16px}
