:root{--navy:#102c3b;--navy-2:#173f50;--teal:#0c9b91;--teal-dark:#087c76;--mint:#e1f5ef;--ink:#152832;--muted:#66777f;--line:#e1e9e8;--paper:#fff;--canvas:#f5f8f7;--soft:#eff5f4;--amber:#d08a26;--red:#b3443a;--shadow:0 14px 45px rgba(19,48,59,.09);--radius:18px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-color:var(--teal)}
button{cursor:pointer}
img{max-width:100%}
[hidden]{display:none!important}
.skip-link{position:absolute;top:-60px;left:1rem;padding:.75rem 1rem;background:#fff;z-index:50;border-radius:8px}
.skip-link:focus{top:1rem}
.site-header{height:78px;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid rgba(222,232,231,.7)}
.header-inner{height:100%;max-width:1210px;padding:0 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.brand-mark{width:36px;height:36px;display:inline-grid;place-items:center;flex:none;padding:4px;border-radius:11px;background:var(--teal);box-shadow:0 3px 10px rgba(26,115,132,.18)}
.brand-mark svg{width:100%;height:100%;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.brand-name{font-family:Manrope,"Segoe UI",sans-serif;font-size:20px;font-weight:800;letter-spacing:-.9px;color:var(--navy)}
.brand-name span{color:var(--teal-dark);font-weight:600}
.brand-light .brand-name,.brand-light .brand-name span{color:#fff}
.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.main-nav a,.login-link{color:#41545d;font-size:13px;font-weight:600;transition:color .2s}
.main-nav a:hover,.login-link:hover{color:var(--teal-dark)}
.header-actions{display:flex;align-items:center;gap:23px}
.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:9px;font-weight:700;font-size:14px;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.button:hover{transform:translateY(-1px)}
.button-small{min-height:43px;padding:0 17px;font-size:13px}
.button-primary{background:var(--teal);color:#fff;box-shadow:0 5px 15px rgba(12,155,145,.16)}
.button-primary:hover{background:var(--teal-dark)}
.button-navy{background:var(--navy);color:#fff}
.button-navy:hover{background:var(--navy-2)}
.button-outline{border:1px solid #c8d9d7;background:#fff;color:var(--navy)}
.button-outline:hover{border-color:var(--teal);background:#f3fbf9}
.button-quiet{border:0;background:transparent;color:var(--teal-dark);padding:8px 10px}
.button-danger{background:#fff4f2;color:var(--red);border:1px solid #f2d3ce}
.button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.mobile-menu-button{display:none;border:0;background:none;font-size:22px;color:var(--navy)}
.system-notice{padding:10px 20px;text-align:center;color:#6a4512;background:#fff4dc;border-bottom:1px solid #f1dfb7;font-size:13px}
main{min-height:48vh}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff}
.hero::before{content:"";position:absolute;right:-4%;top:-52%;width:64%;height:180%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(17,166,154,.29),rgba(17,166,154,0) 67%);pointer-events:none}
.hero::after{content:"";position:absolute;right:8%;bottom:-170px;width:470px;height:330px;border:1px solid rgba(255,255,255,.11);border-radius:50%;transform:rotate(-22deg);box-shadow:0 0 0 22px rgba(255,255,255,.025),0 0 0 52px rgba(255,255,255,.025),0 0 0 82px rgba(255,255,255,.025);pointer-events:none}
.hero-inner{position:relative;z-index:1;max-width:1210px;margin:0 auto;padding:98px 28px 104px;display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:65px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;color:var(--teal-dark)}
.eyebrow-light{color:#76d8cb}
.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.hero h1{font-family:Manrope,"Segoe UI",sans-serif;font-size:clamp(42px,5.2vw,66px);line-height:1.08;letter-spacing:-3.1px;margin:18px 0 21px;max-width:680px}
.hero h1 em{font-style:normal;color:#79dbce}
.hero-copy{color:#d4e1e4;font-size:17px;line-height:1.7;max-width:560px;margin:0}
.hero-cta{display:flex;align-items:center;gap:16px;margin-top:32px}
.hero-cta .button{min-height:54px;padding:0 24px}
.hero-quiet{color:#d5e2e4;font-size:13px;font-weight:600}
.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin:35px 0 0;padding:0;list-style:none;color:#dce8e8;font-size:12px}
.hero-points li{display:flex;align-items:center;gap:8px}
.hero-points li::before{content:"✓";display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(101,209,194,.17);color:#79dbce;font-weight:800}
.hero-card{position:relative;max-width:410px;justify-self:end;width:100%;padding:25px;background:#fff;color:var(--ink);border-radius:17px;box-shadow:0 24px 70px rgba(0,0,0,.19)}
.hero-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}
.hero-card-top strong{font-family:Manrope,"Segoe UI",sans-serif;font-size:17px;color:var(--navy)}
.availability{display:inline-flex;align-items:center;gap:7px;color:#417369;font-size:11px;font-weight:700}
.availability::before{content:"";width:7px;height:7px;background:#37b89d;border-radius:50%}
.hero-card p{font-size:13px;color:var(--muted);margin:0 0 17px}
.postcode-form{display:flex;gap:9px}
.postcode-form input{min-width:0;flex:1}
.postcode-form .button{padding:0 15px;min-height:47px}
.field input,.field select,.field textarea,.postcode-form input,.toolbar-search{width:100%;border:1px solid #d8e3e1;background:#fff;color:var(--ink);border-radius:8px;padding:12px 13px;min-height:46px}
.field textarea{min-height:105px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.postcode-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(12,155,145,.13)}
.form-label{display:block;font-size:12px;color:#344a53;font-weight:700;margin-bottom:7px}
.field{margin-bottom:16px}
.field small,.field-hint{display:block;color:var(--muted);font-size:11px;margin-top:6px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.form-grid .full{grid-column:1/-1}
.card-hint{font-size:11px;color:#718188;margin-top:14px;text-align:center}
.section{padding:88px 28px}
.section-soft{background:var(--canvas)}
.section-navy{background:var(--navy);color:#fff}
.section-inner{max-width:1154px;margin:0 auto}
.section-heading{max-width:630px;margin-bottom:42px}
.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}
.section-heading h2{font-family:Manrope,"Segoe UI",sans-serif;font-size:clamp(30px,4vw,43px);line-height:1.18;letter-spacing:-1.9px;color:var(--navy);margin:12px 0 13px}
.section-navy .section-heading h2{color:#fff}
.section-heading p{color:var(--muted);margin:0;font-size:15px;line-height:1.7}
.section-navy .section-heading p{color:#c8d7da}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step-card,.feature-card,.service-card,.price-card,.faq-item,.info-card,.panel,.quote-card{background:#fff;border:1px solid var(--line);border-radius:14px}
.step-card{padding:25px 24px;min-height:204px}
.step-number{width:38px;height:38px;border-radius:11px;background:#e3f5f2;color:var(--teal-dark);display:grid;place-items:center;font-weight:800;font-size:13px}
.step-card h3,.feature-card h3,.service-card h3{font-size:16px;color:var(--navy);margin:19px 0 8px}
.step-card p,.feature-card p,.service-card p{color:var(--muted);font-size:13px;line-height:1.65;margin:0}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.feature-card{padding:25px 23px;box-shadow:0 6px 26px rgba(19,48,59,.035)}
.icon-tile{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e4f5f1;color:var(--teal-dark);font-size:20px}
.feature-card h3{margin-top:17px}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.service-card{padding:22px 18px;min-height:174px}
.service-card .icon-tile{width:38px;height:38px}
.service-card h3{font-size:14px;margin:16px 0 6px}
.service-card p{font-size:12px}
.split-section{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:70px}
.split-copy h2{font-family:Manrope,"Segoe UI",sans-serif;font-size:40px;line-height:1.17;letter-spacing:-1.8px;color:var(--navy);margin:12px 0 16px}
.split-copy p{color:var(--muted);line-height:1.75}
.check-list{padding:0;margin:22px 0 27px;list-style:none;display:grid;gap:13px}
.check-list li{display:flex;gap:11px;align-items:flex-start;color:#40555e;font-size:13px}
.check-list li::before{content:"✓";color:var(--teal-dark);font-weight:800}
.cleaner-preview{min-height:362px;border-radius:18px;background:linear-gradient(145deg,#e8f4f0,#d1eae4);padding:28px;position:relative;overflow:hidden}
.preview-top{display:flex;justify-content:space-between;align-items:center}
.preview-avatar{width:37px;height:37px;border-radius:50%;background:#d9f3ed;display:grid;place-items:center;color:#247e74;font-weight:800}
.preview-card{background:#fff;border:1px solid rgba(16,44,59,.06);border-radius:14px;padding:18px;margin-top:17px;box-shadow:0 8px 25px rgba(16,44,59,.07)}
.preview-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}
.preview-kpis div{background:#f7faf9;padding:12px;border-radius:9px}
.preview-kpis small{display:block;font-size:10px;color:var(--muted)}
.preview-kpis strong{display:block;color:var(--navy);font-size:17px;margin-top:4px}
.preview-lines{display:grid;gap:11px;margin-top:15px}
.preview-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f0;padding:0 0 10px;font-size:11px;color:#425760}
.preview-line:last-child{border:0;padding:0}
.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq-item{padding:17px 20px}
.faq-item summary{font-weight:700;color:var(--navy);font-size:13px;cursor:pointer}
.faq-item p{color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:0}
.callout{border-radius:16px;padding:35px 38px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:26px}
.callout h2{font-family:Manrope,"Segoe UI",sans-serif;margin:0 0 7px;font-size:28px;letter-spacing:-1px}
.callout p{margin:0;color:#d2e0e1;font-size:13px}
.site-footer{background:#0c2430;color:#fff;padding:54px 28px 18px}
.footer-main,.footer-bottom{max-width:1154px;margin:auto}
.footer-main{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;padding-bottom:42px}
.footer-brand p{max-width:300px;color:#b9c9cd;font-size:12px;line-height:1.8;margin-top:16px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.footer-links div{display:grid;align-content:start;gap:10px}
.footer-links strong{font-size:11px;color:#90a9ae;text-transform:uppercase;letter-spacing:1.1px;margin-bottom:3px}
.footer-links a{font-size:12px;color:#dbe5e6}
.footer-links a:hover{color:#78d9cc}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:16px;display:flex;justify-content:space-between;color:#95aaae;font-size:10px}
.toast{position:fixed;z-index:70;left:50%;bottom:25px;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:var(--navy);color:#fff;border-radius:10px;padding:12px 17px;box-shadow:var(--shadow);font-size:13px;transition:all .22s ease;max-width:calc(100vw - 30px)}
.toast.show{transform:translate(-50%,0);opacity:1}
.page-wrap{max-width:1154px;margin:0 auto;padding:57px 28px 82px}
.page-intro{margin-bottom:29px}
.page-intro h1{font-family:Manrope,"Segoe UI",sans-serif;font-size:40px;letter-spacing:-1.8px;line-height:1.16;color:var(--navy);margin:8px 0}
.page-intro p{color:var(--muted);max-width:670px;margin:0}
.page-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--teal-dark)}
.public-grid{display:grid;grid-template-columns:1fr .7fr;gap:22px}
.info-card{padding:25px}
.info-card h2,.panel h2{font-family:Manrope,"Segoe UI",sans-serif;color:var(--navy);font-size:19px;letter-spacing:-.5px;margin:0 0 15px}
.info-card p{color:var(--muted);font-size:13px}
.quote-card{padding:25px;box-shadow:var(--shadow)}
.result-banner{padding:15px 17px;border-radius:10px;background:#eaf7f4;color:#31695e;font-size:13px;margin:15px 0}
.result-banner.warning{background:#fff4df;color:#78541c}
.result-banner.error{background:#fff0ed;color:#8f3830}
.auth-layout{max-width:980px;margin:auto;padding:62px 28px;display:grid;grid-template-columns:.9fr 1fr;gap:55px;align-items:center}
.auth-aside{background:var(--navy);border-radius:18px;color:#fff;padding:36px;min-height:380px;position:relative;overflow:hidden}
.auth-aside::after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;bottom:-120px;background:rgba(26,179,161,.2)}
.auth-aside h1{font:800 34px/1.13 Manrope,"Segoe UI",sans-serif;letter-spacing:-1.6px;margin:18px 0}
.auth-aside p{color:#cfdddf;font-size:14px}
.auth-panel{padding:15px 0}
.auth-panel h2{font:800 27px/1.2 Manrope,"Segoe UI",sans-serif;letter-spacing:-1px;color:var(--navy);margin:0 0 7px}
.auth-panel>p{color:var(--muted);font-size:13px;margin:0 0 24px}
.auth-switch{font-size:12px;color:var(--muted);margin-top:17px}
.auth-switch a{color:var(--teal-dark);font-weight:700}
.workspace{min-height:72vh;background:var(--canvas);display:grid;grid-template-columns:240px 1fr}
.workspace-sidebar{background:var(--navy);color:#fff;padding:25px 15px;display:flex;flex-direction:column}
.workspace-brand{padding:0 10px 26px;border-bottom:1px solid rgba(255,255,255,.12)}
.workspace-brand .brand-mark{width:29px;height:29px}
.workspace-label{margin:23px 12px 8px;color:#86a2a8;font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.workspace-nav{display:grid;gap:4px}
.workspace-nav button{width:100%;display:flex;align-items:center;gap:11px;padding:10px 12px;background:transparent;color:#c7d6d9;border:0;text-align:left;border-radius:8px;font-size:12px;font-weight:600}
.workspace-nav button:hover,.workspace-nav button.active{background:rgba(255,255,255,.12);color:#fff}
.workspace-nav button.active{box-shadow:inset 3px 0 #69d6c7}
.workspace-nav .nav-ico{width:18px;text-align:center;font-size:14px;opacity:.9}
.sidebar-bottom{margin-top:auto;padding:20px 11px 0;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#b8c8cb}
.sidebar-bottom button{margin-top:10px;background:transparent;border:0;padding:0;color:#87ded2;font-size:11px}
.workspace-main{min-width:0;padding:30px 34px 55px}
.workspace-topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:29px}
.workspace-topbar h1{font:800 24px/1.2 Manrope,"Segoe UI",sans-serif;color:var(--navy);margin:0;letter-spacing:-.8px}
.workspace-topbar p{color:var(--muted);font-size:12px;margin:4px 0 0}
.user-chip{display:flex;align-items:center;gap:9px;font-size:12px;color:#40545d;font-weight:600}
.user-chip .preview-avatar{width:32px;height:32px;font-size:11px}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:20px}
.kpi-card{padding:17px 18px;background:#fff;border:1px solid var(--line);border-radius:11px}
.kpi-card span{display:block;color:var(--muted);font-size:11px}
.kpi-card strong{display:block;color:var(--navy);font:800 26px/1.2 Manrope,"Segoe UI",sans-serif;margin:7px 0 4px}
.kpi-card small{font-size:10px;color:#708087}
.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.panel{padding:20px;margin-bottom:16px;min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.panel-head h2{margin:0;font-size:16px}
.panel-head .button{min-height:35px;padding:0 12px;font-size:11px}
.panel p.muted{font-size:12px;color:var(--muted)}
.table-wrap{width:100%;overflow:auto}
.data-table{border-collapse:collapse;width:100%;min-width:600px;font-size:11px}
.data-table th{text-align:left;padding:10px 9px;color:#78888d;text-transform:uppercase;letter-spacing:.65px;font-size:9px;border-bottom:1px solid var(--line);white-space:nowrap}
.data-table td{padding:11px 9px;border-bottom:1px solid #edf1f0;color:#3d5058;vertical-align:middle}
.data-table tr:last-child td{border-bottom:0}
.data-table td strong{color:var(--navy);font-weight:700}
.table-empty{text-align:center!important;padding:35px 16px!important;color:var(--muted)!important}
.badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:20px;font-size:9px;font-weight:800;letter-spacing:.15px;background:#edf2f1;color:#59686d;white-space:nowrap;text-transform:capitalize}
.badge-active,.badge-paid,.badge-complete,.badge-approved{background:#e3f5ee;color:#21725b}
.badge-pending_payment,.badge-pending,.badge-new,.badge-due,.badge-scheduled{background:#fff4de;color:#91621e}
.badge-suspended,.badge-overdue,.badge-declined,.badge-cancelled,.badge-void{background:#fff0ed;color:#a1443c}
.badge-contacted,.badge-quote_sent,.badge-accepted,.badge-sent,.badge-in_progress{background:#eaf3fa;color:#397090}
.inline-form{display:flex;gap:9px;align-items:end;flex-wrap:wrap}
.inline-form .field{margin:0;min-width:120px;flex:1}
.inline-form .button{min-height:42px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.toolbar-search{max-width:280px;min-height:39px;font-size:12px}
.toolbar-select{min-height:39px;border:1px solid #d8e3e1;border-radius:8px;padding:0 10px;background:#fff;color:#40545d;font-size:12px}
.details-form{padding:15px;margin:0 0 16px;background:#f8fbfa;border:1px solid var(--line);border-radius:10px}
.details-form summary{font-weight:700;color:var(--navy);font-size:12px;cursor:pointer}
.details-form form{margin-top:17px}
.action-row{display:flex;gap:6px;flex-wrap:wrap}
.action-row .button{min-height:31px;padding:0 9px;font-size:10px}
.price-row{display:grid;grid-template-columns:1.4fr .9fr .75fr .9fr .7fr;gap:8px;align-items:center;margin:9px 0}
.price-row input,.price-row select{min-width:0;width:100%;border:1px solid #dae4e2;border-radius:7px;padding:8px 9px;background:#fff;font-size:11px}
.price-row.header{font-size:9px;text-transform:uppercase;color:#7b898e;font-weight:800;letter-spacing:.6px}
.price-row .remove-price{border:0;background:transparent;color:var(--red);font-size:12px}
.empty-state{padding:28px 18px;text-align:center;color:var(--muted);border:1px dashed #d2dfdd;border-radius:10px;font-size:12px}
.empty-state strong{display:block;color:var(--navy);font-size:14px;margin-bottom:5px}
.list-stack{display:grid;gap:9px}
.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f0;font-size:12px}
.list-row:last-child{border:0}
.list-row strong{display:block;color:var(--navy)}
.list-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.info-strip{padding:12px 14px;background:#ecf7f5;border-radius:9px;color:#416e67;font-size:11px;margin-bottom:15px}
.warning-strip{padding:12px 14px;background:#fff5e2;border-radius:9px;color:#785b27;font-size:11px;margin-bottom:15px}
.progress-line{height:5px;border-radius:8px;background:#e4eeec;overflow:hidden}
.progress-line span{display:block;height:100%;background:var(--teal);border-radius:8px}
.price-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.price-card{padding:23px}
.price-card h3{font:800 18px Manrope,"Segoe UI",sans-serif;color:var(--navy);margin:0 0 7px}
.price-card p{font-size:12px;color:var(--muted);min-height:38px}
.price-card .price{font:800 34px Manrope,"Segoe UI",sans-serif;letter-spacing:-1.3px;color:var(--navy);margin:13px 0 2px}
.price-card .price small{font:500 12px "DM Sans",Arial,sans-serif;color:var(--muted);letter-spacing:0}
.quote-summary{padding:17px;border-radius:10px;background:var(--canvas);margin:16px 0}
.quote-summary strong{color:var(--navy)}
.quote-success{text-align:center;padding:45px 22px}
.quote-success .step-number{margin:0 auto 16px;width:52px;height:52px;border-radius:50%;font-size:20px}
.quote-success h2{font:800 28px Manrope,"Segoe UI",sans-serif;color:var(--navy);margin:0 0 8px}
.legal-copy{max-width:800px;color:#51636b}
.legal-copy h2{font:800 19px Manrope,"Segoe UI",sans-serif;color:var(--navy);margin:28px 0 9px}
.legal-copy p,.legal-copy li{font-size:13px;line-height:1.8}
.link-button{background:none;border:0;padding:0;color:var(--teal-dark);font-weight:700}
.loading{padding:35px;text-align:center;color:var(--muted);font-size:12px}
.skeleton{height:70px;background:linear-gradient(90deg,#eff4f3 25%,#f7faf9 50%,#eff4f3 75%);background-size:220% 100%;animation:shimmer 1.6s infinite;border-radius:10px}
@keyframes shimmer{to{background-position:-220% 0}}
@media(max-width:1000px){.main-nav{gap:18px}.header-actions{gap:13px}.hero-inner{gap:38px}.services-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:210px 1fr}.workspace-main{padding:27px 23px 45px}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.site-header{height:66px}.header-inner{padding:0 18px;gap:12px}.brand-mark{width:31px;height:31px}.brand-name{font-size:18px}.mobile-menu-button{display:block;margin-left:auto}.main-nav{display:none;position:absolute;top:65px;left:0;right:0;padding:16px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 20px rgba(16,44,59,.06);flex-direction:column;align-items:flex-start;gap:15px}.main-nav.open{display:flex}.header-actions{gap:10px}.header-actions .button{padding:0 11px;min-height:38px;font-size:11px}.login-link{font-size:11px}.hero-inner{padding:67px 20px 70px;grid-template-columns:1fr;gap:42px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-copy{font-size:15px}.hero-card{justify-self:start;max-width:480px}.hero::after{right:-25%;bottom:-210px}.section{padding:63px 20px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:32px}.steps-grid,.feature-grid{grid-template-columns:1fr}.step-card{min-height:auto}.split-section{grid-template-columns:1fr;gap:30px}.split-copy h2{font-size:32px}.cleaner-preview{min-height:300px}.faq-list{grid-template-columns:1fr}.callout{padding:26px;align-items:flex-start;flex-direction:column}.footer-main{grid-template-columns:1fr;gap:30px}.footer-links{gap:14px}.footer-bottom{gap:12px;flex-direction:column}.auth-layout{grid-template-columns:1fr;gap:25px;padding:36px 20px}.auth-aside{min-height:0;padding:27px}.auth-aside h1{font-size:28px}.auth-panel{padding:4px 0}.page-wrap{padding:38px 19px 55px}.page-intro h1{font-size:32px}.public-grid{grid-template-columns:1fr}.price-compare{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.workspace-sidebar{padding:13px 15px;position:sticky;top:66px;z-index:10}.workspace-brand{display:none}.workspace-label,.sidebar-bottom{display:none}.workspace-nav{display:flex;overflow:auto;gap:6px}.workspace-nav button{width:auto;white-space:nowrap;font-size:10px;padding:8px 10px}.workspace-nav button.active{box-shadow:inset 0 -2px #69d6c7}.workspace-nav .nav-ico{width:auto}.workspace-main{padding:23px 17px 40px}.workspace-topbar{align-items:flex-start}.workspace-topbar h1{font-size:21px}.user-chip{font-size:0}.user-chip .preview-avatar{font-size:11px}.dashboard-grid{grid-template-columns:1fr}.kpi-card{padding:14px}.kpi-card strong{font-size:22px}.panel{padding:16px}.toolbar{align-items:stretch;flex-direction:column}.toolbar-search{max-width:none;width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.price-row{grid-template-columns:1fr 1fr}.price-row.header{display:none}.price-row .remove-price{grid-column:2;justify-self:end}.footer-links{grid-template-columns:1fr 1fr}.data-table{min-width:550px}}
@media(max-width:420px){.hero h1{font-size:39px}.hero-cta{align-items:flex-start;flex-direction:column}.header-actions .login-link{display:none}.services-grid{grid-template-columns:1fr 1fr}.service-card{padding:17px 14px}.preview-kpis{gap:6px}.preview-kpis div{padding:9px}.footer-links{grid-template-columns:1fr 1fr}.kpi-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.customer-nav{display:flex!important;gap:5px;background:#f0f6f5;padding:6px;border-radius:10px;margin:20px 0}.customer-nav button{color:#40545d;background:transparent;padding:9px 13px;border-radius:7px}.customer-nav button.active{background:#fff;color:#0c766f;box-shadow:0 2px 7px rgba(16,44,59,.08)}.service-admin-row{display:grid;grid-template-columns:1fr 1.4fr .7fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f0}.service-admin-row input:not([type=checkbox]){width:100%;min-height:39px;border:1px solid #d8e3e1;border-radius:7px;padding:8px 10px}.service-admin-row label{font-size:11px;color:#53656c;white-space:nowrap}.service-admin-row .button{min-height:34px;padding:0 10px;font-size:10px}@media(max-width:580px){.service-admin-row{grid-template-columns:1fr 1fr}.service-admin-row label{grid-column:1}.customer-nav{overflow:auto}.customer-nav button{white-space:nowrap;font-size:10px}}
.round-member{display:inline-flex;align-items:center;gap:5px;background:#f1f6f5;border-radius:20px;padding:4px 8px;margin:3px;font-size:10px;color:#41555d}.round-member button{border:0;background:transparent;color:#a6453c;font-size:15px;line-height:1;padding:0 2px}.details-form table{width:100%}
/* Cleaner CRM quick-start setup */
.setup-panel{padding:22px}.setup-summary{display:flex;align-items:center;justify-content:space-between;gap:20px}.setup-summary h2{margin:7px 0;color:#102c3b}.setup-summary p{margin:0;color:#66777f}.setup-summary>strong{font-size:40px;color:#128777}.setup-progress{height:9px;background:#e9f0f2;border-radius:999px;overflow:hidden;margin:20px 0}.setup-progress span{display:block;height:100%;background:linear-gradient(90deg,#148d7b,#72c8b3);border-radius:inherit;transition:width .25s ease}.setup-step-list{display:grid;gap:10px}.setup-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px;border:1px solid #e4ebed;border-radius:12px;background:#fff}.setup-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f4f1;color:#148777;font-weight:800}.setup-step.is-done .setup-step-number{background:#dff3e9;color:#247958}.setup-step-copy strong{color:#173746}.setup-step-copy p{margin:4px 0 0;color:#66777f;font-size:13px;line-height:1.5}.setup-step-status{color:#75868d;font-size:12px;font-weight:750;white-space:nowrap}.setup-step.is-done .setup-step-status{color:#247958}@media(max-width:700px){.setup-panel{padding:16px}.setup-summary>strong{font-size:32px}.setup-step{grid-template-columns:38px minmax(0,1fr);gap:10px}.setup-step-status{grid-column:2}.setup-step .button{grid-column:2;justify-self:start}}


/* Coastal blue identity with a quiet numerology detail */
:root{--navy:#243f50;--navy-2:#315b69;--teal:#477e89;--teal-dark:#315b69;--mint:#e0ebeb;--ink:#263a44;--muted:#62737b;--line:#dfe5e3;--paper:#fffdf8;--canvas:#f5f0e5;--soft:#edf3f2;--amber:#b88a59;--red:#b3443a;--shadow:0 14px 45px rgba(32,58,68,.10);--radius:18px}
.site-header{background:rgba(255,253,248,.96);border-bottom-color:rgba(210,221,218,.8)}
.brand-mark{background:#315b69;transform:none;border:1px solid #274c57;position:relative;overflow:visible}
.brand-mark i{background:#fffdf8;opacity:1}.brand-mark i:nth-child(2),.brand-mark i:nth-child(3){background:#d5e5e7;opacity:1}
.brand-mark::before{content:"";position:absolute;left:3px;right:3px;bottom:-5px;height:6px;border-bottom:1.5px solid #6f8d91;border-radius:50%;box-shadow:0 2px 0 -1px #6f8d91}
.brand-mark::after{content:"✳";position:absolute;right:-5px;top:-8px;color:var(--amber);font-size:10px;line-height:1}
.hero{background:radial-gradient(ellipse at 85% 18%,rgba(142,179,177,.24) 0,transparent 38%),linear-gradient(130deg,#f5f0e5,#edf3f2);color:var(--ink)}
.hero::before{background:radial-gradient(rgba(102,153,162,.2),rgba(102,153,162,0) 67%)}
.hero::after{border-color:rgba(49,91,105,.13);box-shadow:0 0 0 22px rgba(49,91,105,.025),0 0 0 52px rgba(49,91,105,.025),0 0 0 82px rgba(49,91,105,.025)}
.hero h1 em{color:#56818a}.hero-copy,.hero-quiet,.hero-points{color:var(--muted)}
.hero-points li::before{background:rgba(71,126,137,.13);color:#315b69}
.hero-card{background:var(--paper);border:1px solid var(--line);box-shadow:0 24px 70px rgba(32,58,68,.13)}
.availability{color:#4f7780}.availability::before{background:#6f9a91}
.section-soft{background:var(--canvas)}.section-navy{background:#315b69;color:#fffdf8}
.section-navy .section-heading h2{color:#fffdf8}.section-navy .section-heading p{color:#d5e5e7}
.cleaner-preview{background:linear-gradient(145deg,#e5efee,#d3e4e5)}
.callout{background:#315b69;color:#fffdf8}.callout p{color:#d5e5e7}
.site-footer{background:#213f48;color:#fffdf8}.footer-brand p{color:#c3d2d4}
.footer-links strong{color:#aac0c1}.footer-links a{color:#e1e9e8}.footer-links a:hover{color:#c4dfe1}

/* Window-cleaner weekly planner board */
.planner-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:18px;padding:17px 18px;margin-bottom:12px;background:#fffdf8;border:1px solid var(--line);border-radius:13px;box-shadow:0 4px 16px rgba(32,58,68,.04)}
.planner-date-tools,.planner-filter-tools{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.planner-date-tools>.button{min-height:42px;padding:0 13px;font-size:12px}
.planner-date-field{width:180px;margin:0 0 0 5px}
.planner-filter-tools{justify-content:flex-end}
.planner-filter-tools .field{width:142px;margin:0}
.planner-filter-tools .field select,.planner-date-field input{min-height:42px;padding:8px 10px;font-size:12px}
.planner-tools-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 1px 14px;color:var(--muted);font-size:11px}
.planner-tools-bottom .button{min-height:36px;padding:0 12px;font-size:11px;white-space:nowrap}
.planner-calendar{overflow:hidden;padding:0;margin-bottom:18px;background:#fffdf8;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px rgba(32,58,68,.05)}
.planner-board-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;border-bottom:1px solid var(--line)}
.planner-kicker{font-size:9px;font-weight:800;letter-spacing:1.4px;color:var(--teal-dark)}
.planner-board-head h2{margin:3px 0 1px;color:var(--navy);font:800 19px/1.2 Manrope,"Segoe UI",sans-serif}
.planner-board-head p{margin:0;color:var(--muted);font-size:11px}.planner-board-head p span{padding:0 4px;color:#9aa8a8}
.planner-drag-hint{padding:7px 10px;background:#eef3f2;border-radius:20px;color:#516c72;font-size:10px;white-space:nowrap}
.planner-board-scroll{overflow-x:auto;padding:0 12px 13px}
.planner-board-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));gap:8px;min-width:1050px;padding-top:12px}
.planner-board-grid.is-day{grid-template-columns:minmax(260px,540px);min-width:0;max-width:565px}
.planner-board-grid.is-month{grid-template-columns:repeat(7,minmax(135px,1fr));min-width:1000px}
.planner-day{min-width:0;min-height:300px;border:1px solid #dfe6e4;border-radius:10px;background:#f7f6ef;overflow:hidden;transition:border-color .15s,background .15s}
.planner-day[data-calendar-date]:hover{border-color:#9db9ba}
.planner-day.is-selected{border-color:#739ba2;box-shadow:inset 0 0 0 1px #739ba2;background:#f3f6f2}
.planner-day.is-outside-month{opacity:.55}
.planner-day-head{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:9px 9px;background:#315b69;color:#fffdf8;min-height:46px}
.planner-day-head>div{display:flex;align-items:baseline;gap:4px;min-width:0}
.planner-day-head strong{font-size:11px;white-space:nowrap}.planner-day-head>div>span{font-size:9px;opacity:.8;white-space:nowrap}
.planner-day-count{font-size:8px;font-weight:700;color:#e6efec;white-space:nowrap}
.planner-day-total{padding:6px 9px;background:#e9efeb;color:#315b69;font-size:10px;font-weight:800;border-bottom:1px solid #dce5e2}
.planner-day-jobs{padding:5px;display:grid;align-content:start;gap:5px}
.planner-job-card{display:grid;gap:4px;padding:8px 8px 7px;border:1px solid #e3e8e3;border-left:3px solid #6d9298;border-radius:7px;background:#fffdf8;color:var(--ink);box-shadow:0 1px 3px rgba(32,58,68,.035)}
.planner-job-card[draggable="true"]{cursor:grab}.planner-job-card[draggable="true"]:active{cursor:grabbing}
.planner-job-top,.planner-job-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px}
.planner-job-time{font-size:9px;font-weight:800;color:#315b69}
.planner-job-card .badge{padding:2px 5px;font-size:7px}
.planner-job-name{font-size:10px;line-height:1.3;color:#243f50;overflow-wrap:anywhere}
.planner-job-address{font-size:8px;line-height:1.35;color:#758287;overflow-wrap:anywhere}
.planner-job-bottom{margin-top:2px;padding-top:4px;border-top:1px solid #edf0ec;font-size:8px;color:#66777f}
.planner-job-bottom strong{color:#315b69;font-size:9px;white-space:nowrap}
.planner-no-jobs{margin:8px 3px;color:#909b9b;font-size:9px;text-align:center}
.planner-board-grid.is-month .planner-day{min-height:170px}.planner-board-grid.is-month .planner-job-card{padding:6px}.planner-board-grid.is-month .planner-job-address{display:none}
@media(max-width:1050px){.planner-controls{grid-template-columns:1fr}.planner-filter-tools{justify-content:flex-start}.planner-date-tools{justify-content:flex-start}}
@media(max-width:760px){.planner-controls{padding:13px;gap:12px}.planner-date-field{width:155px}.planner-filter-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.planner-filter-tools .field{width:auto;min-width:0}.planner-filter-tools .form-label{font-size:10px}.planner-filter-tools .field select{padding:8px 6px;font-size:11px}.planner-tools-bottom{align-items:flex-start;flex-direction:column}.planner-board-head{align-items:flex-start;flex-direction:column;padding:14px}.planner-board-grid{min-width:1100px}.planner-day{min-height:260px}}
@media(max-width:430px){.planner-date-tools{display:grid;grid-template-columns:42px 1fr 42px}.planner-date-tools>.button{padding:0 8px}.planner-date-tools>.button:nth-child(2){grid-column:2;grid-row:1}.planner-date-field{grid-column:1/-1;width:100%;margin:2px 0 0}.planner-filter-tools{grid-template-columns:1fr 1fr}.planner-filter-tools .field:first-child{grid-column:1/-1}.planner-board-grid{min-width:1080px}}

@media(max-width:760px){.header-actions .login-link{color:#fff;min-width:76px;min-height:40px;font-size:13px;padding:0 12px;box-shadow:0 4px 12px rgba(20,125,145,.18)}}

@media print {
  @page { margin: 12mm; }
  body { background: #fff !important; }
  body * { visibility: hidden !important; }
  .planner-calendar, .planner-calendar * { visibility: visible !important; }
  .planner-calendar { position: absolute !important; inset: 0 auto auto 0 !important; width: 100% !important; }
  .planner-board-head { margin-bottom: 10px !important; }
  .planner-board-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; min-width: 0 !important; }
  .planner-day { break-inside: avoid; border: 1px solid #9aa !important; background: #fff !important; }
  .planner-job-card { break-inside: avoid; border: 1px solid #ccd !important; background: #fff !important; color: #111 !important; }
  .planner-job-card button, .planner-drag-hint { display: none !important; }
}
\n.brand-name{font-size:17px;letter-spacing:-.5px}.brand-name span{margin-left:4px;font-weight:800}\n@media(max-width:760px){.brand-name{font-size:15px;letter-spacing:-.4px}.brand-mark{width:32px;height:32px}}\n
.brand-name{font-size:17px;letter-spacing:-.5px}.brand-name span{margin-left:4px;font-weight:800}
@media(max-width:760px){.brand-name{font-size:15px;letter-spacing:-.4px}.brand-mark{width:32px;height:32px}}

.planner-bulk-tools{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f7faf9;margin:0 0 12px}
.planner-bulk-tools .field{min-width:190px;margin:0}
.planner-job-select{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.planner-job-select input{width:16px;height:16px;accent-color:var(--teal)}
.planner-job-name{display:block;border:0;background:transparent;color:var(--navy);padding:0;text-align:left;font:inherit;font-weight:800;cursor:pointer}
.link-button{border:0;background:none;color:var(--teal-dark);font:inherit;font-weight:700;text-decoration:underline;padding:0;cursor:pointer}
@media(max-width:760px){.planner-bulk-tools{align-items:stretch}.planner-bulk-tools .field{width:100%}.planner-bulk-tools>.button{flex:1}}
@media print{.planner-bulk-tools,.planner-job-select,.planner-day-head .link-button{display:none!important}}
.user-logo{width:34px;height:34px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid var(--line);padding:2px}

.checkbox-field{display:flex;align-items:center;gap:9px}.checkbox-field input{width:18px;height:18px;accent-color:var(--teal)}.planner-bulk-sms{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.planner-bulk-sms summary{font-weight:700;color:var(--navy);cursor:pointer}.planner-bulk-sms form{display:grid;gap:8px;min-width:min(400px,78vw)}.planner-bulk-sms textarea{min-height:80px}

.mobile-app-link{display:block;margin:8px 14px 12px;padding:10px 12px;border:1px solid #ffffff30;border-radius:10px;color:#e8fffc;text-decoration:none;font-size:13px;font-weight:700}.mobile-app-link:hover{background:#ffffff12}

.pricing-panel{display:block}.saved-price-list{display:grid;gap:8px;margin:14px 0}.saved-price-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.saved-price-main strong{display:block;color:var(--navy);font-size:13px}.saved-price-main p{margin:4px 0 0;color:var(--muted);font-size:11px}.saved-price-amount{white-space:nowrap;color:var(--navy);font-size:14px}.saved-price-actions{display:flex;gap:6px}.price-editor{margin-top:16px;padding:16px;background:#f8fbfa}.price-editor[hidden]{display:none!important}.price-editor .panel-head h3{margin:0}.price-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.price-row input,.price-row select{font-size:13px;padding:10px 11px}.price-row label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.price-row label input{width:auto}.price-editor-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
@media(max-width:680px){.saved-price-card{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.saved-price-actions{grid-column:1/-1}.price-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.saved-price-card{grid-template-columns:1fr}.saved-price-amount{font-size:15px}.price-row{grid-template-columns:1fr}}

.planner-select-day{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer;font-size:10px}.planner-select-day input{width:13px;height:13px;min-height:0;margin:0;accent-color:#16879a}.district-how-it-works{padding-left:22px;line-height:1.65}.district-how-it-works li{margin:12px 0}.district-how-it-works strong{display:block;color:#102c3b}

/* Keep the cleaner workspace inside narrow browser and phone views. */
.workspace{grid-template-columns:240px minmax(0,1fr)}
.workspace-sidebar,.workspace-nav,.workspace-main,.kpi-card{min-width:0}
.workspace-sidebar,.workspace-nav,.workspace-main{max-width:100%}
.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.workspace{grid-template-columns:210px minmax(0,1fr)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workspace{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.kpi-grid{grid-template-columns:minmax(0,1fr)}}

@media(max-width:420px){.header-inner{padding-left:12px;padding-right:12px;gap:8px}.brand{gap:7px}.brand-name{font-size:14px;letter-spacing:-.4px}.brand-mark{width:28px;height:28px}.header-actions .login-link{display:inline-flex;min-width:68px;font-size:12px;padding:0 10px}.header-actions>.button-navy{display:none}}

.toolbar{flex-wrap:wrap}.toolbar>.field{min-width:0;max-width:100%}.workspace-brand .brand{max-width:100%;align-items:flex-start}.workspace-brand .brand-name{min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:15px;line-height:1.25}.workspace-brand .brand-mark{flex:0 0 29px}
