:root{font-family:Inter,system-ui,sans-serif;color:#152c3d;background:#f0f4f7;line-height:1.55;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#102b3b;color:white;display:flex;justify-content:space-between;align-items:center;padding:22px 5%;gap:24px}a{color:#007364}header a{color:white;text-decoration:none}.brand{font-size:26px;font-weight:800;letter-spacing:2px}.brand small{display:block;font-size:12px;letter-spacing:1.7px}nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}nav span{font-size:14px;color:#c6d6df}main{max-width:1240px;margin:auto;padding:40px 24px 60px}h1{font-size:clamp(28px,4vw,38px);line-height:1.2;margin:10px 0 28px}h2{font-size:20px;margin:0 0 18px}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:700;color:#007364}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.card,.auth,.stats section{background:#fff;border:1px solid #d8e2e8;border-radius:12px;padding:28px;margin-bottom:24px}.auth{max-width:680px;margin:20px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats strong{display:block;font-size:32px;padding-top:10px}.stats span,.muted{color:#617180}label{display:block;font-size:14px;font-weight:600;margin:0 0 18px}input,select,textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #bdcbd4;border-radius:6px;font:inherit;color:#152c3d;background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid #008572;outline-offset:2px}button,.button{display:inline-block;background:#007364;color:white;border:0;padding:12px 20px;border-radius:6px;font:inherit;font-weight:650;cursor:pointer;text-decoration:none}.quiet{background:transparent;border:1px solid #79909d;padding:7px 12px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 20px;margin-bottom:24px}.checks label,.check{display:flex;align-items:center;gap:10px}.checks input,.check input{width:18px;height:18px;margin:0;flex-shrink:0}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:#edf3f6;color:#536775;font-weight:650}td,th{padding:14px;border-bottom:1px solid #e0e7ec}td small{display:block;color:#617180}.materials{min-width:1000px}.materials td{padding:5px}.materials input{min-width:90px}.property-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.property-grid article{border-left:3px solid #008572;padding:5px 20px}.empty{padding:36px 0;color:#617180}.badge{background:#e1f2ec;color:#006350;border-radius:5px;padding:5px 9px;white-space:nowrap}.notice{padding:16px;background:#e1f2ec;margin-bottom:20px;border-radius:6px}.error,.warning{background:#fff2de;color:#774911;padding:16px;border-radius:6px}.totals p,.totals h2{display:flex;justify-content:space-between;border-bottom:1px solid #e0e7ec;padding-bottom:10px;gap:20px}.pre{white-space:pre-wrap}footer{text-align:center;color:#617180;font-size:13px;padding:24px}form{margin:0}@media(max-width:700px){header,.heading{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr;gap:0}.stats section{padding:20px}main{padding:24px 16px}.card,.auth{padding:20px}nav{gap:14px}}@media print{header,footer,.no-print,#print{display:none}body,:root{background:white;color:black}main{padding:0}.card{border:0;padding:12px;margin:0}.scroll{overflow:visible}table{font-size:11px}td,th{padding:6px}.heading h1{font-size:24px}.warning{color:black;background:white;border:1px solid black}a{color:black}}
:root dialog{width:min(640px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid #bdcbd4;border-radius:8px;padding:24px;color:#152c3d;background:white}dialog::backdrop{background:rgb(0 0 0 / 40%)}.customer-actions{display:flex;justify-content:flex-end;gap:12px}#add-customer{margin-bottom:18px}
#address-suggestions{border:1px solid #bdcbd4;margin-top:-12px;margin-bottom:12px;border-radius:6px;overflow:hidden}#address-suggestions button{display:block;width:100%;border-radius:0;text-align:left;background:white;color:#152c3d;font-weight:400;border-bottom:1px solid #e0e7ec}#address-suggestions button:hover,#address-suggestions button:focus{background:#e1f2ec}#address-status:empty{display:none}
[hidden]{display:none!important}
.landing{max-width:none;padding:0}.home-hero{min-height:540px;min-height:min(680px,76svh);display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.12)),url('/static/home-exterior.jpg') center 55%/cover;color:white;padding:64px max(24px,calc((100% - 1150px)/2))}.home-hero-content{max-width:620px}.home-kicker{font-size:13px;font-weight:700;letter-spacing:0}.home-hero h1{font-size:56px;line-height:1.08;letter-spacing:0;margin:24px 0}.home-hero .home-intro{font-size:25px;line-height:1.35}.home-hero p{max-width:510px}.home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.home-portal-link{color:white;font-weight:650;text-underline-offset:5px}.home-services{background:#fff;padding:48px max(24px,calc((100% - 1150px)/2)) 64px}.home-section-heading h2,.home-contact h2{font-size:30px;line-height:1.2}.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:32px}.home-service-grid article{border-top:1px solid #bccbc7;padding-top:22px}.home-number{color:#007364;font-size:14px;font-weight:700}.home-service-grid h3,.home-contact h3{font-size:22px;margin:12px 0}.home-service-grid p{color:#536775}.home-contact{background:#e1f2ec;padding:52px max(24px,calc((100% - 1150px)/2));display:grid;grid-template-columns:1.4fr 1fr;gap:56px}.home-contact p{max-width:470px}.home-contact a:not(.button){font-size:24px;font-weight:700}@media(max-width:700px){.home-hero{min-height:500px;padding:40px 24px;background-position:60% center}.home-hero h1{font-size:38px;overflow-wrap:break-word}.home-hero .home-intro{font-size:21px}.home-service-grid,.home-contact{grid-template-columns:1fr;gap:24px}.home-services,.home-contact{padding:32px 24px}.home-actions{gap:20px}.home-section-heading h2,.home-contact h2{font-size:26px}}
input,select,textarea{font-size:16px}button,.button{min-height:44px}body{padding-bottom:env(safe-area-inset-bottom)}nav a{min-height:44px;display:inline-flex;align-items:center}h1{font-size:38px;letter-spacing:0}.brand,.brand small,.eyebrow{letter-spacing:0}img{max-width:100%;height:auto}.grid>*{min-width:0}.home-hero{background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.08)),url('/static/perimeter-treatment.jpg')}
@media(max-width:700px){header{padding:16px 20px;gap:12px}nav{width:100%;gap:8px 16px}nav span{flex-basis:100%}nav .quiet{min-height:44px}.brand{font-size:24px}h1{font-size:30px}.card,.auth,.stats section{border-radius:8px}.grid{grid-template-columns:1fr}.heading{gap:12px}.heading .button{width:100%;text-align:center}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.checks label{min-height:44px;margin-bottom:4px;overflow-wrap:anywhere}.checks input{flex:0 0 22px;width:22px;height:22px}.materials{min-width:0;display:block}.materials thead{display:none}.materials tbody{display:block}.materials tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-bottom:2px solid #bdcbd4;padding:16px 0}.materials td{display:block;border:0;padding:0;min-width:0}.materials td:first-child,.materials td:last-child{grid-column:1 / -1}.materials td::before{content:attr(data-label);display:block;font-size:13px;font-weight:650}.materials input,.materials select{min-width:0;width:100%}#add-product{width:100%;margin-top:16px}dialog .customer-actions{position:sticky;bottom:-24px;background:white;padding:16px 0;margin-bottom:-8px}.home-hero{background-position:65% center;min-height:500px;padding:32px 20px}.home-hero h1{font-size:36px}.home-hero-content{max-width:100%}.home-hero .home-intro{font-size:20px}.home-actions{gap:16px}.home-services,.home-contact{padding:32px 20px}.property-grid{grid-template-columns:1fr}.totals p,.totals h2{flex-wrap:wrap}footer{overflow-wrap:anywhere}}
@media(max-width:360px){.checks{grid-template-columns:1fr}.home-hero h1{font-size:32px}}
@media(max-width:700px){.record-list,.record-list tbody{display:block}.record-list thead{display:none}.record-list tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #bdcbd4;padding:16px 0;gap:16px}.record-list td{border:0;padding:0;min-width:0}.record-list td:before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#617180;margin-bottom:4px}.record-list td:last-child{grid-column:1/-1}.record-list td:last-child form{display:inline-block;margin:8px 8px 0 0}.record-list td:last-child a{display:inline-block;min-height:44px;padding:8px 16px 8px 0}}
.card{background:transparent;border:0;border-bottom:1px solid #bdcbd4;border-radius:0;padding:24px 0}.quiet{color:inherit}header .quiet{color:white}.form-actions,.search-form{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.search-form label{flex:1;min-width:180px}.request-row{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid #bdcbd4}.request-row>div{min-width:0;overflow-wrap:anywhere}.request-row form{flex:0 0 160px}details{margin-top:24px}summary{cursor:pointer;padding:12px 0}.pre small{display:block}button:disabled{opacity:.55;cursor:wait}#draft-status{font-size:14px}input,textarea{max-width:100%}small,td{overflow-wrap:anywhere}@media(max-width:700px){.request-row{flex-direction:column}.request-row form{flex-basis:auto}.form-actions{align-items:stretch}.form-actions button{flex:1}.badge{white-space:normal}}@media print{.card{border:0;padding:12px}}
