:root{font-family:Arial,sans-serif;color:#173e38;background:#f3f7f4;line-height:1.6}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:960px;margin:6vh auto;padding:28px}header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:48px}header a{font-size:22px;font-weight:bold;color:inherit;text-decoration:none}header span,.hint,footer{color:#61756f;font-size:14px}section{background:white;padding:36px;border:1px solid #dce6df;border-radius:18px}h1{font-size:34px;line-height:1.2;overflow-wrap:anywhere}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold}label,input{display:block;width:100%}input{margin:8px 0 20px;padding:14px;border:1px solid #91a89e;border-radius:7px;font:inherit}button{background:#1c5146;color:white;border:0;padding:14px 20px;border-radius:7px;font:inherit;cursor:pointer;margin:5px 5px 5px 0}button:disabled{opacity:.6;cursor:wait}.secondary{background:#e7eee9;color:#173e38}:focus-visible{outline:3px solid #b48222;outline-offset:3px}#message{overflow-wrap:anywhere}footer{margin-top:32px}.account-heading,.plan-line{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metrics article{background:#f1f6f2;padding:20px;border-radius:12px}.metrics strong,.metrics small{display:block}.metrics strong{font-size:25px;margin:8px 0;overflow-wrap:anywhere}.metrics span,.metrics small{font-size:13px}.warning{background:#fff2d9;padding:16px;border-radius:8px}.badge{display:inline-block;background:#e7eee9;padding:4px 12px;border-radius:6px;font-size:13px}h2{font-size:21px;margin-top:30px}progress{width:100%;height:12px;accent-color:#1c5146}#login{max-width:600px;margin:auto}@media(max-width:640px){.metrics{grid-template-columns:1fr}main{padding:18px;margin:16px auto}section{padding:24px}h1{font-size:28px}header{margin-bottom:26px}}

#call-scope{font:inherit;padding:10px;border:1px solid #91a89e;border-radius:7px;background:white;max-width:100%}.call-list{list-style:none;padding:0}.call-list li{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid #dce6df}.call-list small{display:block;color:#61756f;font-size:13px}.call-duration{white-space:nowrap}.call-paging{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.call-paging span{font-size:13px}#calls-status{font-size:14px}@media(max-width:480px){.call-list li{flex-direction:column;gap:6px}}
.contact-tools{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.contact-tools input{flex:1;min-width:12rem}.contact-list{list-style:none;padding:0}.contact-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #d9e5df}.contact-list small{display:block;margin-top:.35rem}.contact-event{border-left:3px solid #c5dad0;padding:.6rem 1rem;margin:1rem 0}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}#customer-contacts textarea{box-sizing:border-box;width:100%;padding:.75rem;font:inherit;border:1px solid #bdcfc6;border-radius:8px}#customer-contacts [data-detail],.outbound-panel{border-top:1px solid #d9e5df;margin-top:2rem;padding-top:1rem}#customer-contacts{margin-top:2rem}#customer-contacts button:disabled{opacity:.55;cursor:not-allowed}
#customer-contacts{padding:0;border:0;border-radius:0}#customer-contacts [data-detail],#customer-contacts .outbound-panel{padding:20px 0;border:0;border-top:1px solid #d9e5df;border-radius:0}.contact-list li>div{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.contact-list li{align-items:flex-start;flex-direction:column}.contact-tools input{min-width:0;width:100%;flex-basis:100%}.contact-event{padding:.6rem}.contact-tools{gap:.25rem}}
/* Customer workspace navigation */
.portal-brand{font-size:21px;font-weight:700;text-decoration:none;color:#173e38}
#portal-sidebar{position:fixed;inset:0 auto 0 0;width:244px;padding:34px 22px;background:#e7efea;border-right:1px solid #d4e0d8;display:flex;flex-direction:column;gap:24px}
#portal-sidebar>.hint{margin-top:auto}nav{display:flex;flex-direction:column;gap:7px}nav a{padding:13px 16px;border-radius:9px;color:#35594f;text-decoration:none;font-size:15px}nav a:hover{background:#dce8df}nav a[aria-current=page]{background:#1c5146;color:white;font-weight:700}
.portal-ready main{max-width:1180px;margin:0 0 0 244px;padding:32px 44px}.portal-ready main>header{margin-bottom:28px}.portal-ready main>header>a{display:none}#account{padding:32px;min-height:65vh}#portal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e4ebe6;margin-top:20px;padding-top:18px}#open-menu{display:none}#current-section{color:#517267;margin:0}#business{font-size:30px;margin:14px 0 30px}#signed-in-email{overflow-wrap:anywhere;margin-top:0}.account-heading{gap:8px}.account-heading button{padding:10px 16px}
#portal-menu{padding:24px;border:0;border-radius:0 18px 18px 0;position:fixed;inset:0 auto 0 0;margin:0;width:min(320px,90vw);max-height:100dvh;height:100dvh;color:#173e38;background:#f3f7f4}#portal-menu::backdrop{background:#102e2866}.menu-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.quick-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0}.quick-actions a{padding:12px 18px;border:1px solid #cadbd0;border-radius:8px;color:#1c5146;text-decoration:none;background:#f3f7f4}#outbound-overview .outbound-panel{padding:20px 0;border:0;border-top:1px solid #dce6df;border-radius:0}#customer-contacts{margin-top:0}#service-requests{border-top:0;margin-top:0;padding-top:0}[data-panel]>h2:first-child{margin-top:0}
@media(max-width:900px){#portal-sidebar{display:none!important}.portal-ready main{margin:0;padding:22px;max-width:none}#open-menu{display:inline-block}.portal-ready main>header>a{display:block}.portal-ready main>header{margin-bottom:20px}#account{padding:24px}#business{font-size:26px}}
@media(max-width:480px){.portal-ready main{padding:14px}#account{padding:20px 16px}.account-heading{align-items:flex-start}#business{font-size:24px}.metrics article{padding:16px}.quick-actions a{flex:1;text-align:center}#portal-toolbar{padding-top:12px}}

#customer-inbox textarea{box-sizing:border-box;width:100%;padding:12px;font:inherit;min-height:120px}#customer-inbox section{padding:16px 0;border:0}#customer-inbox button:disabled{opacity:.55;cursor:not-allowed}

nav.contact-jump{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;margin:16px 0}.contact-jump span{font-size:14px;color:#517267;margin-right:4px}.contact-jump a{flex:0 0 auto;white-space:nowrap;padding:10px 12px;background:#edf4ef;border:1px solid #d4e0d8}.contact-jump a:focus-visible,.contact-anchor:focus-visible{outline:2px solid #1c5146;outline-offset:3px}.contact-anchor{scroll-margin-top:20px}

.report-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.report-metrics article{background:#f1f6f2;padding:16px;border-radius:10px}.report-metrics strong{font-size:24px}.report-metrics h3{font-size:16px} [data-report-form] input{max-width:240px}

.calendar-tools{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.calendar-tools label{width:auto}.calendar-tools input,.calendar-tools select{font:inherit;max-width:190px;padding:8px;margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:20px}.calendar-day{border:1px solid #dce6df;min-height:100px;padding:5px;min-width:0}.calendar-day h3{font-size:13px;margin:0}.calendar-event{display:block;width:100%;text-align:left;font-size:12px;padding:7px;margin:5px 0;overflow-wrap:anywhere}.calendar-event span,.calendar-event small{display:block}.calendar-agenda{display:none}[data-appointment]{max-width:min(540px,92vw);border:1px solid #cadbd0;border-radius:12px;padding:24px;color:#173e38}[data-appointment]::backdrop{background:#102e2866}[data-appointment-content]{overflow-wrap:anywhere}@media(max-width:700px){.calendar-grid{display:none}.calendar-agenda{display:block}.calendar-event{font-size:15px}.calendar-tools{gap:4px}}

.calendar-day.calendar-today,.calendar-agenda .calendar-today{background:#e2f0e8;border:2px solid #387765;border-radius:6px}.calendar-today h3{color:#174f40;font-weight:700}.calendar-agenda .calendar-today{padding:10px}[data-booking] label{display:block;margin-top:14px}[data-booking] input:not([type=checkbox]),[data-booking] select{width:100%;box-sizing:border-box;min-width:0}[data-booking] input[type=checkbox]{width:auto}[data-appointment]{box-sizing:border-box;width:min(540px,92vw);max-height:90vh;overflow:auto}

[data-booking] select{font:inherit;padding:12px;border:1px solid #8fa99f;border-radius:6px;background:white;color:#173e38}[data-booking] label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:10px}[data-booking] input[type=checkbox]{flex:none;margin:4px 0}

.report-email-preview { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; padding: 1rem; border: 1px solid #cbdad5; border-radius: .5rem; }

[data-email-preferences] label { display:flex; align-items:center; gap:.65rem; margin:.8rem 0; }
[data-email-preferences] input[type="checkbox"] { width:1.15rem; height:1.15rem; flex:0 0 auto; margin:0; display:inline-block; }
[data-report-form] label { display:block; margin:.75rem 0; }
[data-report-form] select, [data-report-emails] select { display:block; width:100%; max-width:30rem; padding:.65rem; font:inherit; border:1px solid #90aba2; border-radius:.4rem; background:white; color:inherit; }
.contact-editor{box-sizing:border-box;width:min(680px,94vw);max-height:90vh;overflow:auto;border:1px solid #cadbd0;border-radius:12px;padding:24px;color:#173e38}.contact-editor::backdrop{background:#102e2866}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-editor label{display:block;margin:10px 0}.contact-editor input:not([type=checkbox]),.contact-editor textarea{box-sizing:border-box;width:100%;min-width:0}.contact-editor fieldset{min-width:0;border:1px solid #cadbd0;border-radius:8px;margin:20px 0;padding:14px}.contact-editor [hidden]{display:none}.contact-checkbox input{width:auto}.contact-addresses{display:grid;grid-template-columns:1fr 1fr;gap:16px;overflow-wrap:anywhere}[data-note] textarea{box-sizing:border-box;width:100%}@media(max-width:600px){.contact-form-grid,.contact-addresses{grid-template-columns:1fr}.contact-editor{padding:16px}}
.contact-editor textarea,[data-note] textarea{font:inherit;line-height:1.5;padding:10px;border:1px solid #91aaa3;border-radius:6px}
.conversation-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.conversation-heading h3{margin:12px 0}.conversation-badge{font-size:14px;padding:5px 10px;border-radius:16px;background:#e8f1ec;color:#1c5146}[data-conversation-header] .contact-tools details{margin:0}[data-conversation-header] summary{cursor:pointer;padding:10px}

.conversation-open{display:inline-block;background:#1c5146;color:white;text-decoration:none;padding:14px 20px;border-radius:7px;margin:5px 5px 5px 0;font:inherit}.conversation-open:hover{background:#143f36}
.calendar-single-day{grid-template-columns:1fr}.calendar-date-book{background:transparent;color:#173e38;padding:8px 4px;margin:0;font-size:13px;font-weight:bold;width:100%;text-align:left}.calendar-date-book:hover:not(:disabled){background:#d9e9e0}.calendar-date-book:disabled{opacity:.65;cursor:default}.calendar-mobile-count{display:none}.calendar-status-pending{background:#fff0cd;color:#624700;border-left:4px solid #b67d00}.calendar-status-confirmed{background:#e2f0e8;color:#174f40;border-left:4px solid #387765}.calendar-status-cancelled{background:#eeeef0;color:#51545c;border-left:4px solid #81858c}.calendar-status-cancelled small{font-weight:bold}.calendar-today-button{font-weight:bold;box-shadow:inset 0 0 0 2px #75a996}@media(max-width:700px){.calendar-grid{display:grid}.calendar-grid .calendar-event{display:none}.calendar-grid .calendar-day{min-height:56px;padding:2px}.calendar-grid .calendar-date-book{font-size:11px;padding:8px 0}.calendar-mobile-count{display:block;font-size:10px}.calendar-single-day{display:none}.calendar-agenda{margin-top:16px}}
.contact-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.contact-heading h3{margin:0}.service-address-summary{padding:14px 18px;background:#edf4ef;border-left:4px solid #387765;border-radius:7px;margin:14px 0}.service-address-summary p{margin:6px 0;overflow-wrap:anywhere}

.notification-choice {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:16px 0;border-bottom:1px solid #d8e4df;}
.notification-choice label {margin:0;}
.notification-choice p {grid-column:1/-1;margin:0;}
.notification-choice select {width:100%;min-height:44px;padding:10px 12px;font:inherit;color:inherit;background:#fff;border:1px solid #91aaa3;border-radius:8px;}
@media(max-width:600px){.notification-choice{grid-template-columns:1fr;}.notification-choice button{justify-self:start;}}

.caller-preferences fieldset{min-width:0;border:1px solid #cadbd0;border-radius:8px;padding:16px;margin:16px 0}.caller-preferences .contact-checkbox{display:flex;align-items:flex-start;gap:10px;margin:14px 0}.caller-preferences input[type=checkbox]{display:inline-block;flex:0 0 auto;width:18px;height:18px;margin:2px 0}.caller-preferences button{margin:0 8px 8px 0}
