@layer er-earth {
/* One editor layout, with permanently exposed service and pricing fields. */
html body #er1278-invoice-root.er41-invoice{--er41-paper:#fff;--er41-soft:#f5f7f3;--er41-line:#d9e2d9;--er41-ink:#243d30;--er41-muted:#617368}
html body #er1278-invoice-root.er41-invoice .er1278-desk{display:flex!important;flex-direction:column!important;min-height:0!important;overflow:hidden!important;width:min(1040px,100%)!important}
html body #er1278-invoice-root.er41-invoice .er1278-head{position:static!important;flex:0 0 auto!important;padding:16px 22px!important;height:auto!important;min-height:76px!important}
html body #er1278-invoice-root.er41-invoice .er1278-head h2{font:700 24px/1.25 system-ui!important;margin:2px 0 0!important}
html body #er1278-invoice-root.er41-invoice .er1278-scroll{position:static!important;flex:1 1 0%!important;min-height:0!important;overflow:auto!important;padding:20px 22px!important;scroll-padding:18px!important;overscroll-behavior:contain!important}
html body #er1278-invoice-root.er41-invoice .er41-items{display:grid!important;gap:16px!important}
html body #er1278-invoice-root.er41-invoice .er1280-item.er41-line{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;padding:18px!important;margin:0!important;min-height:0!important;height:auto!important;max-height:none!important;border:1px solid var(--er41-line)!important;border-radius:14px!important;background:var(--er41-paper)!important;overflow:visible!important}
html body #er1278-invoice-root.er41-invoice .er41-item-head{display:grid!important;grid-template-columns:minmax(0,1fr) 40px!important;gap:12px!important;align-items:end!important}
html body #er1278-invoice-root.er41-invoice .er41-line label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;min-width:0!important;margin:0!important;font:600 12px/1.4 system-ui!important;color:var(--er41-muted)!important}
html body #er1278-invoice-root.er41-invoice .er41-cleaning small{font:400 12px/1.4 system-ui!important}
html body #er1278-invoice-root.er41-invoice .er41-cleaning{display:block!important}
html body #er1278-invoice-root.er41-invoice :is(input:not([type=checkbox]),textarea,select){font:400 15px/1.4 system-ui!important;box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;height:44px!important;min-height:44px!important;padding:9px 11px!important;border:1px solid #cbd7cd!important;border-radius:9px!important;background:var(--er41-paper)!important;color:var(--er41-ink)!important}
html body #er1278-invoice-root.er41-invoice .er41-line textarea{display:block!important;position:static!important;height:84px!important;min-height:84px!important;max-height:none!important;resize:vertical!important;margin-top:2px!important;overflow:auto!important;white-space:pre-wrap!important}
html body #er1278-invoice-root.er41-invoice :is(input,select,textarea,button,summary):focus-visible{outline:2px solid #397557!important;outline-offset:2px!important}
html body #er1278-invoice-root.er41-invoice .er41-item-head>button{width:40px!important;height:44px!important;padding:0!important;border:1px solid var(--er41-line)!important;border-radius:9px!important;background:var(--er41-soft)!important;color:#617368!important;font:400 24px/1 system-ui!important}
html body #er1278-invoice-root.er41-invoice .er41-prices{display:grid!important;grid-template-columns:.8fr 1fr 1.5fr 1.1fr 1fr!important;gap:12px!important;align-items:end!important}
html body #er1278-invoice-root.er41-invoice .er41-discount{display:flex!important;min-width:0!important;gap:4px!important}
html body #er1278-invoice-root.er41-invoice .er41-discount input{flex:1 1 0%!important;width:0!important}
html body #er1278-invoice-root.er41-invoice .er41-discount select{flex:0 0 60px!important;width:60px!important}
html body #er1278-invoice-root.er41-invoice .er41-line-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important;padding-top:10px!important;border-top:1px solid var(--er41-line)!important;font:400 12px/1.4 system-ui!important;color:var(--er41-muted)!important}
html body #er1278-invoice-root.er41-invoice .er41-line-bottom label{flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:36px!important}
html body #er1278-invoice-root.er41-invoice input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;accent-color:#285f46!important}
html body #er1278-invoice-root.er41-invoice .er41-line-bottom strong{font:700 18px/1.4 system-ui!important;color:var(--er41-ink)!important;margin-left:8px!important}
html body #er1278-invoice-root.er41-invoice :is(.er1284-payment-accordion,.er1280-history){border:1px solid var(--er41-line)!important;border-radius:12px!important;margin:14px 0 0!important;padding:0!important;background:var(--er41-paper)!important}
html body #er1278-invoice-root.er41-invoice :is(.er1284-payment-accordion,.er1280-history)>summary{display:flex!important;align-items:center!important;gap:10px!important;min-height:48px!important;padding:12px 14px!important;font:600 14px/1.4 system-ui!important;cursor:pointer!important;list-style:none!important;color:var(--er41-ink)!important}
html body #er1278-invoice-root.er41-invoice :is(.er1284-payment-accordion,.er1280-history)>summary:before{content:'›'!important;display:block!important;font-size:22px!important;transform:none!important}
html body #er1278-invoice-root.er41-invoice :is(.er1284-payment-accordion,.er1280-history)[open]>summary:before{transform:rotate(90deg)!important}
html body #er1278-invoice-root.er41-invoice .er1284-payment-accordion>summary span{margin-left:auto!important;font:400 12px/1.4 system-ui!important;color:var(--er41-muted)!important}
html body #er1278-invoice-root.er41-invoice :is(.er1281-payments,.er1278-history,.er1307-history-summary){padding:14px!important}
html body #er1278-invoice-root.er41-invoice .er41-actionbar{position:static!important;flex:0 0 auto!important;background:var(--er41-paper)!important;border-top:1px solid var(--er41-line)!important;padding:10px 18px max(12px,env(safe-area-inset-bottom))!important;z-index:3!important}
html body #er1278-invoice-root.er41-invoice .er1278-foot{position:static!important;display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:10px!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
html body #er1278-invoice-root.er41-invoice .er1278-foot button{height:auto!important;min-height:44px!important;padding:10px 8px!important;font:650 14px/1.3 system-ui!important;border-radius:10px!important}
html body #er1278-invoice-root.er41-invoice .er1278-feedback{position:static!important;display:block!important;margin:0 0 10px!important;padding:9px 12px!important;max-height:100px!important;overflow:auto!important;border:1px solid #c7ddcd!important;border-radius:8px!important;background:#edf6ef!important;color:#275f43!important;font:500 13px/1.4 system-ui!important}
html body #er1278-invoice-root.er41-invoice .er1278-feedback.bad{background:#fff2ef!important;color:#8b3329!important;border-color:#e5c3bc!important}
html body #er1278-invoice-root.er41-invoice [hidden]{display:none!important}
html body #er1278-invoice-root.er41-invoice [disabled]{opacity:.6!important;cursor:wait!important}
@media(max-width:760px){
 html body #er1278-invoice-root.er41-invoice .er1278-head{padding:12px 16px!important;min-height:64px!important}
 html body #er1278-invoice-root.er41-invoice .er1278-head h2{font-size:22px!important}
 html body #er1278-invoice-root.er41-invoice .er1278-scroll{padding:16px!important}
 html body #er1278-invoice-root.er41-invoice .er1280-item.er41-line{padding:14px!important;gap:12px!important}
 html body #er1278-invoice-root.er41-invoice :is(input:not([type=checkbox]),textarea,select){font-size:16px!important}
 html body #er1278-invoice-root.er41-invoice .er41-prices{grid-template-columns:1fr 1fr!important;gap:12px!important}
 html body #er1278-invoice-root.er41-invoice .er41-service-date{grid-column:1/-1!important}
 html body #er1278-invoice-root.er41-invoice .er41-actionbar{padding:10px 12px max(12px,env(safe-area-inset-bottom))!important}
 html body #er1278-invoice-root.er41-invoice .er1278-foot{gap:7px!important}
 html body #er1278-invoice-root.er41-invoice .er1278-foot button{font-size:12px!important;min-height:44px!important}
 html body #er1278-invoice-root.er41-invoice .er1283-bottom-grid{display:flex!important;flex-direction:column!important}
 html body #er1278-invoice-root.er41-invoice .er1280-endrow{order:-1!important}
}
html[data-er-theme=dark] body #er1278-invoice-root.er41-invoice{--er41-paper:#21352a;--er41-soft:#2a4234;--er41-line:#47604e;--er41-ink:#eef4ec;--er41-muted:#bacdbb}
/* Compact device preferences retain readable choices and selection feedback. */
html body #erDevicePreferences:not(.er155-device-setup){width:min(390px,calc(100vw - 28px))!important;padding:20px!important;border-radius:16px!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-eyebrow{display:none!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-pref-head h2{font:700 21px/1.3 system-ui!important;margin:0 36px 6px 0!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-pref-head p{font:400 12px/1.5 system-ui!important;margin:0 0 16px!important}
html body #erDevicePreferences:not(.er155-device-setup) [data-er-pref-close]:not(.er1449-pref-done){width:32px!important;height:32px!important;min-height:32px!important;font-size:22px!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list{gap:8px!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list>button{min-height:62px!important;height:auto!important;padding:11px 12px!important;gap:12px!important;border:1px solid #d5dfd2!important;border-radius:10px!important;background:var(--er-paper,#fff)!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list>button[aria-pressed=true]{border:2px solid #437955!important;background:#edf4e9!important;padding:10px 11px!important;box-shadow:none!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-preview{width:23px!important;height:32px!important;border-radius:5px!important;flex:none!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list strong{font:650 14px/1.4 system-ui!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list small{font:400 11px/1.4 system-ui!important}
html body #erDevicePreferences:not(.er155-device-setup) .er1449-pref-done{height:42px!important;min-height:42px!important;margin-top:16px!important;font:650 13px/1.4 system-ui!important}
html[data-er-theme=dark] body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list>button[aria-pressed=true]{background:#2d4836!important;color:#eff6eb!important;border-color:#8dbb91!important}
html[data-er-theme=dark] body #erDevicePreferences:not(.er155-device-setup) .er1449-mode-list>button[aria-pressed=true] :is(strong,small){color:#eff6eb!important}
/* Full-width profile shortcuts prevent the old three-column cards clipping. */
html body #app #page .er40-profile{gap:16px!important;max-width:1080px!important}
html body #app #page .er40-profile .pf2-hero{min-height:94px!important;padding:18px!important}
html body #app #page .er40-profile-group>div>h3{padding:12px 16px!important;margin:0!important;border-top:1px solid var(--er40-line)!important;border-bottom:1px solid var(--er40-line)!important;color:var(--er40-muted)!important;font:700 11px/1.4 system-ui!important;text-transform:uppercase!important;letter-spacing:.07em!important}
html body #app #page .er40-profile-copy{min-width:0!important}
html body #app #page .er40-profile-copy :is(strong,small){white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important}
html body #app #page .er40-profile-details{gap:16px!important}
html body #app #page .er41-single-group{grid-template-columns:minmax(0,1fr)!important}
html body #app #page .er40-profile-detail{min-width:0!important;width:100%!important}
html body #app #page .er40-profile .pf2-row{display:flex!important;align-items:center!important;gap:10px!important;min-height:52px!important;padding:12px 14px!important}
html body #app #page .er40-profile .pf2-row :is(.pf2-row-val,.pf2-val){white-space:normal!important;overflow-wrap:anywhere!important;min-width:0!important;text-align:right!important}
html body #app #page .er40-profile .pf2-links{display:flex!important;flex-direction:column!important}
html body #modalHost .er40-time-review .er41-approval-row{display:block!important;grid-template-columns:minmax(0,1fr)!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;border-radius:0!important}
html body #modalHost .er40-time-review .er41-approval-row .te-payroll-field{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(140px,1fr)!important;align-items:center!important;gap:12px!important;margin:0!important}
html body #modalHost .er40-time-review .er41-approval-row label{font:650 13px/1.4 system-ui!important;margin:0!important}
html body #modalHost .er40-time-review .er41-approval-row select{min-height:42px!important;height:42px!important;font:400 14px/1.4 system-ui!important}
/* Smaller invoice totals, with an independently scrolling section menu. */
html body #er-invoicing .er-invoice-metrics{gap:10px!important;margin:0 0 18px!important}
html body #er-invoicing .er-invoice-metrics button{min-height:94px!important;padding:12px 14px!important;gap:3px!important;border-radius:10px!important;background:#fff!important;border-color:#d6dfd2!important;box-shadow:none!important}
html body #er-invoicing .er-invoice-metrics button.overdue{border-top:3px solid #b56c4d!important}
html body #er-invoicing .er-invoice-metrics button.outstanding{border-top:3px solid #b89c50!important}
html body #er-invoicing .er-invoice-metrics button.paid{border-top:3px solid #3b7752!important}
html body #er-invoicing .er-invoice-metrics button.drafts{border-top:3px solid #7d8c79!important}
html body #er-invoicing .er-invoice-metrics strong{font:700 22px/1.25 system-ui!important;letter-spacing:-.02em!important}
html body #er-invoicing .er-invoice-metrics small{font:500 12px/1.35 system-ui!important;color:#5e6f61!important}
html body #er-invoicing .er-invoice-metrics span{font:400 10px/1.4 system-ui!important;color:#6a786b!important}
html[data-er-theme=dark] body #er-invoicing .er-invoice-metrics button{background:#253a2d!important;color:#edf4e6!important;border-color:#53644e!important}
html[data-er-theme=dark] body #er-invoicing .er-invoice-metrics :is(small,span){color:#c1cfb9!important}
@media(max-width:1023px){html body #er-invoicing .er-invoice-layout>aside{scroll-behavior:auto!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important}html body #er-invoicing .er-invoice-layout nav{width:max-content!important}html body #er-invoicing .er-invoice-metrics button{min-height:88px!important;padding:11px 12px!important}html body #er-invoicing .er-invoice-metrics strong{font-size:21px!important}}
@media(min-width:1024px){
 html body #app .er1319-brand{align-items:flex-start!important;min-width:0!important;gap:10px!important;padding:8px 4px!important}
 html body #app .er1319-brand>span:last-child{min-width:0!important;flex:1!important}
 html body #app .er1319-brand .er41-brand-company{display:block!important;font:600 12px/1.5 system-ui!important;letter-spacing:0!important;text-transform:none!important;color:#dce8d6!important;white-space:normal!important;overflow-wrap:break-word!important;margin-top:5px!important}
 html body #app .er1319-company{margin:3px 3px 9px!important;padding:0 4px 12px 54px!important;font:400 10px/1.4 system-ui!important}
 html body #app #page .er40-profile-details{display:block!important;column-count:2!important;column-gap:20px!important}
 html body #app #page .er40-profile-detail{break-inside:avoid!important;margin:0 0 16px!important}
 html body #app .er1319-sidebar .side-user{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
 html body #app .er1319-sidebar .side-logout{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;min-height:36px!important;padding:8px 10px!important;border:1px solid #bc7867!important;border-radius:8px!important;background:#f9e8e1!important;color:#8b352a!important;font:650 12px/1.3 system-ui!important}
 html body #app .er1319-sidebar .side-logout span{display:inline!important}
 html body #app .er1319-sidebar .side-logout svg{width:17px!important;height:17px!important;stroke:currentColor!important;fill:none!important}
 html body #app .er1319-sidebar .er-invoice-nav{margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
 html body #app .er1319-sidebar .er-invoice-nav svg{width:18px!important;height:18px!important;flex:none!important}
}
/* Client delivery occupies one compact row, with setup help on demand. */
html body[data-modal-type=shift] #modalHost .er145225-draft-visibility{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'notice setup' 'contact setup'!important;align-items:center!important;gap:2px 10px!important;margin:12px 0 0!important;padding:10px 12px!important;min-height:0!important;border:1px solid #d7e2d7!important;border-radius:10px!important;background:#f7f9f5!important}
html body[data-modal-type=shift] #modalHost #er145221-edit-opt{grid-area:notice!important;display:flex!important;align-items:center!important;min-height:32px!important;gap:9px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important}
html body[data-modal-type=shift] #modalHost #er145221-edit-opt strong{font:650 13px/1.4 system-ui!important}
html body[data-modal-type=shift] #modalHost #er145221-edit-opt small{display:none!important}
html body[data-modal-type=shift] #modalHost #er145221-edit-opt input{appearance:auto!important;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;accent-color:#285f46!important;margin:0!important}
html body[data-modal-type=shift] #modalHost #er145221-edit-contact{grid-area:contact!important;font:400 11px/1.4 system-ui!important;min-height:0!important;margin:0 0 0 28px!important;padding:0!important;text-align:left!important;overflow-wrap:anywhere!important;color:#627467!important}
html body[data-modal-type=shift] #modalHost #er41-notify-setup{grid-area:setup!important;min-height:36px!important;padding:7px 9px!important;border:1px solid #cbd8cd!important;border-radius:8px!important;background:#fff!important;color:#285d43!important;font:600 11px/1.3 system-ui!important;cursor:pointer!important}
html body .er41-delivery-state{border:1px solid #dce4da;border-radius:10px;padding:12px;margin-bottom:12px;background:#f6f9f4;color:#284c37}
html body .er41-delivery-state.missing{background:#fff7e8;border-color:#e4d2a8;color:#795321}
html body .er41-delivery-state :is(p,li){font:400 13px/1.5 system-ui;margin:7px 0}
html body .er41-delivery-state summary{cursor:pointer;min-height:32px;font-weight:650}
html body .er41-notice-setup .er41-delivery-state{padding:12px!important;margin-bottom:12px!important;border-radius:10px!important}
html body .er41-notice-setup .er145221-body :is(p,li){font:400 13px/1.5 system-ui!important;margin:7px 0!important}
html body .er41-notice-setup .er41-delivery-state strong{font:650 14px/1.4 system-ui!important}
/* Colour identifies the job; the badge and border identify its state. */
@media(min-width:1024px){
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card.er1170-job{height:62px!important;min-height:62px!important;max-height:62px!important;grid-template-rows:16px 18px 14px!important;gap:1px 6px!important;padding:4px 8px!important;background:color-mix(in srgb,var(--er14509-card-accent) 5%,white)!important;border:1px solid #d5e0d7!important;border-left:4px solid var(--er14509-card-accent)!important;border-radius:7px!important;box-shadow:none!important;transition:box-shadow .12s ease!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card .er14509-time{font:700 12px/16px system-ui!important;color:#273e32!important;-webkit-text-fill-color:currentColor!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card .er14509-client{font:650 13px/18px system-ui!important;color:#243c2f!important;-webkit-text-fill-color:currentColor!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card .er14509-status{font:650 9px/14px system-ui!important;height:16px!important;padding:0 5px!important;border-radius:4px!important;max-width:80px!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card :is(.er14509-hours,.er14509-hours b,.er14509-people){font:500 10px/14px system-ui!important;color:#5c7062!important;-webkit-text-fill-color:currentColor!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=draft]{background:#fff8e6!important;border-color:#ceae6e!important;border-style:dashed!important;border-left-style:solid!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=declined]{background:repeating-linear-gradient(135deg,#fff4f1 0 8px,#fae8e3 8px 10px)!important;border-color:#ad5142!important;border-style:dashed!important;border-left-style:solid!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=declined] .er14509-client{color:#863d30!important;text-decoration:line-through!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=confirmed] .er14509-status{background:#246145!important;color:white!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card:is(:hover,:focus-visible){box-shadow:0 0 0 2px #3a7656!important;outline:none!important;z-index:4!important}
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er1170-emp[data-er14529-colour]{background:#f7faf6!important;background-image:none!important;box-shadow:inset 3px 0 0 var(--er14529-colour)!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er14509-card.er1170-job{background:#263c2f!important;border-color:#526557!important;border-left-color:var(--er14509-card-accent)!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er14509-card :is(.er14509-client,.er14509-time){color:#eff5ec!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er14509-card :is(.er14509-hours,.er14509-hours b,.er14509-people){color:#c1d1bf!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=draft]{background:#443a25!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er14509-card[data-er14509-status=declined]{background:repeating-linear-gradient(135deg,#472e29 0 8px,#55392e 8px 10px)!important}
 html.er-earth[data-er-theme=dark] body.ww-roster-active #app #page .er14509-roster .er1170-emp[data-er14529-colour]{background:#22392b!important}
}
}
