@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap";:root{font-family:DM Sans,sans-serif;color:#173334;background:#f5f7f2;line-height:1.5;font-synthesis:none;--ink:#173334;--dim:#526562;--teal:#124d4d;--line:#d8e1d8;--white:#fff;--radius:17px}*,*:before,*:after{box-sizing:border-box}body{margin:0}#root{min-height:100vh;display:flex;flex-direction:column}main{flex:1}a{color:var(--teal);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}h1,h2,h3,h4,p{margin:0 0 .75rem}h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(3rem,7.4vw,6.75rem);letter-spacing:-.035em;line-height:.96}h2{font-size:1.45rem;line-height:1.2;letter-spacing:-.026em}h3{font-size:1.1rem}p{color:var(--dim)}hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.frame{width:min(1160px,calc(100% - 52px));margin-inline:auto}.top{background:#f5f7f2;border-bottom:1px solid var(--line)}.header-row,.footer-row{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:78px}.brand{font-size:1.25rem;font-weight:700;letter-spacing:-.035em;display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{display:grid;place-items:center;height:36px;min-width:36px;padding-inline:3px;border-radius:9px;background:var(--teal);color:#f9fcf6;font-size:.98rem;letter-spacing:-.02em}.header-row nav,.footer-row nav{display:flex;flex-wrap:wrap;align-items:center;gap:1.35rem}.header-row nav a,.footer-row nav a{font-size:.93rem;font-weight:700;text-decoration:none}.header-row nav [aria-current=page]{text-decoration:underline}.button,button:not(.map-pin){display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border-radius:10px;min-height:41px;padding:.58rem .95rem;text-decoration:none;font-weight:700;border:1px solid transparent}.primary,.header-action{background:var(--teal);color:#fff}.primary:hover,.header-action:hover{background:#0d3c3c}.secondary{background:#fff;color:var(--teal);border-color:#cbd8ce!important}.quiet{background:transparent;color:var(--teal);border-color:var(--line)!important}.quiet:hover,.secondary:hover{background:#e9f1e9}.danger{background:#9e322c;color:#fff}.actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.skip{position:absolute;top:-100px;left:1rem;padding:.5rem;background:#fff}.skip:focus{top:1rem;z-index:10}.hero{margin:2.5rem 0 3.6rem;display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1rem,6vw,6rem);align-items:center;padding:clamp(1.6rem,6vw,4.1rem);border-radius:25px;background:radial-gradient(ellipse at 86% 8%,#397470 0%,transparent 53%),linear-gradient(130deg,#133f43,#155752);color:#fbf9ed}.hero h1{margin-bottom:1.45rem}.hero h1 em{color:#d2e6bd;font-weight:400}.hero p{color:#e5eeea}.hero-copy>p:not(.eyebrow){max-width:31rem;font-size:1.1rem;margin-bottom:1.4rem}.hero .primary{background:#e4efcf;color:#163d37}.hero .primary:hover{background:#f4f9eb}.hero .secondary{border-color:#8ab1a8!important;background:transparent;color:#f1f9f2}.hero .secondary:hover{background:#2f6663}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.105em;font-weight:700;color:#376d68}.signal{display:inline-block;width:.56rem;height:.56rem;background:#bde5a9;border-radius:50%;margin-right:.35rem;box-shadow:0 0 0 4px #bde5a928}.hero-aside{background:#ffffff13;border:1px solid #ffffff42;border-radius:17px;padding:1.3rem}.hero-aside h2{font-size:1.05rem}.hero-aside>a{display:grid;align-items:center;grid-template-columns:auto 1fr auto;gap:.75rem;padding:.75rem .45rem;color:#fff;text-decoration:none;border-top:1px solid #ffffff28}.hero-aside>a:hover{background:#ffffff14}.hero-aside small{display:block;color:#d2e5df;font-size:.8rem}.service-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;color:#143936;font-size:1.5rem;font-weight:700}.electric{background:#f5deab}.water{background:#b6e4e5}.traffic{background:#d6e8b8}.getting-started{margin-bottom:3.2rem}.getting-started h2{font-size:clamp(1.45rem,4vw,2.15rem)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.2rem}.feature-grid article{border-top:1px solid var(--line);padding:1.05rem .2rem 0}.feature-grid a{font-weight:700}.page-heading{margin:2.5rem 0 1.4rem}.page-heading h1,.narrow h1{font-size:clamp(2.8rem,6vw,4.6rem);line-height:1.04}.panel,.map-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(.95rem,2.2vw,1.5rem);margin-bottom:1rem;min-width:0}.narrow{max-width:560px;margin:2.5rem auto}.narrow h2{margin-top:1.45rem}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem}.small,small{font-size:.86rem;color:var(--dim)}.counter{color:#4d6d61;margin-left:.45rem;font-size:.9rem}.feedback{padding:.65rem .9rem;border-radius:9px;background:#e8efea;margin:1rem 0;color:var(--ink);font-weight:600}.feedback.error{background:#f8e7e1;color:#87302c}.feedback.success{background:#dfefe0;color:#21533f}.empty{padding:1.5rem}.filter{max-width:360px}form{display:grid;gap:.85rem;margin:.65rem 0}.panel>form:last-child{margin-bottom:0}form>button{justify-self:start}label{display:grid;gap:.32rem;font-weight:700;font-size:.94rem;margin-bottom:.4rem}input:not([type=checkbox]),select,textarea{width:100%;padding:.62rem .72rem;border:1px solid #b9cbbf;border-radius:8px;background:#fff;color:var(--ink);min-height:40px}input:disabled,select:disabled{background:#f1f4f1}input[type=checkbox]{width:1.08rem;height:1.08rem;accent-color:var(--teal);flex:none}.inline{display:flex;align-items:center;gap:.5rem}.rows{padding:0;list-style:none;margin:.55rem 0}.rows li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.52rem 0;border-top:1px solid var(--line)}.rows li button{flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:.8rem}.dashboard{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.3rem;margin-bottom:3rem}.sidebar{display:grid;align-content:start;gap:.3rem;background:#e9efe7;border-radius:var(--radius);padding:.55rem}.sidebar button{justify-content:flex-start;text-align:left;background:transparent;color:var(--ink);padding:.55rem .7rem}.sidebar button.current{background:var(--teal);color:#fff}.dashboard-content{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.section-heading h2{margin:0}.choices,.target{border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;margin:0;min-width:0}.choices{display:flex;flex-wrap:wrap;gap:.2rem .9rem}.choices legend,.target legend{font-weight:700}details summary{cursor:pointer;font-weight:700}details[open] summary{margin-bottom:.85rem}.metric strong{font-size:2.55rem;letter-spacing:-.055em}.metric p{margin:0}.preview,.approval{padding:1rem;background:#eef4ec;border-radius:11px;margin-top:1rem}.notice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;margin-top:1rem}.notice-list .panel{margin:0}.notice-list .selected{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}.notice-list .panel p{white-space:pre-wrap;overflow-wrap:anywhere}.notice-card h2{font-size:1.25rem}table{border-collapse:collapse;width:100%;font-size:.88rem;text-align:left}td,th{border-bottom:1px solid var(--line);padding:.55rem .4rem;overflow-wrap:anywhere}th{font-weight:700}.map-panel{padding:.75rem}.map-canvas{height:min(52vh,475px);min-height:300px;border-radius:12px;overflow:hidden;background:#e7efea}.map-empty{min-height:130px;display:grid;align-content:center;text-align:center;background:#edf3ec;border-radius:11px;padding:1rem}.map-empty p,.map-panel>.small{margin:.5rem 0 0}.map-tools{display:flex;gap:.55rem;flex-wrap:wrap;align-items:flex-end;margin:0 0 .65rem}.map-tools label{margin:0}.map-pin{height:34px;width:34px;border:2px solid #fff;border-radius:50%;background:#126962;color:#fff;box-shadow:0 2px 8px #0005;touch-action:none;font-size:1.05rem}.pin-closed{background:#a5352d}.pin-partial{background:#9a651e}.pin-traffic{background:#285d92}footer{border-top:1px solid var(--line);margin-top:2.75rem}.footer-row{min-height:90px}@media(max-width:760px){.frame{width:calc(100% - 30px)}.hero{grid-template-columns:1fr;gap:1.5rem;margin:1.4rem 0 2.25rem}.feature-grid,.split{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr;gap:1rem}.sidebar{display:flex;overflow:auto;scrollbar-width:thin}.sidebar button{white-space:nowrap}.header-row{gap:.6rem;align-items:flex-start;padding:.75rem 0;min-height:0}.header-row nav{gap:.45rem .7rem;justify-content:flex-end}.header-row nav a{font-size:.85rem}.header-row nav .button,.header-row nav button{min-height:32px;padding:.26rem .55rem}.footer-row nav{gap:.6rem;justify-content:flex-end}.panel{margin-bottom:.75rem}}@media(max-width:420px){.header-row{flex-wrap:wrap}.header-row nav{justify-content:flex-start}.hero .actions{align-items:stretch;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}}.map-test{height:185px;margin-top:.7rem;border-radius:10px;overflow:hidden;background:#e7efea}[hidden]{display:none!important}.public-map .section-heading,.staff-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.public-map h1{font-size:clamp(2rem,4vw,3.8rem);margin:0}.filter-bar{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem;margin:1rem 0}.filter-bar label{display:grid;gap:.25rem;margin:0;flex:1 1 9rem}.map-filters label:first-child{flex-basis:15rem}.public-map-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1rem;align-items:stretch}.public-map-layout .map-panel{min-width:0;margin:0}.public-map-layout .map-canvas,.public-map-layout .map-empty{height:clamp(25rem,calc(100dvh - 15rem),54rem);border-radius:1rem}.map-results{min-width:0;background:#fff;border:1px solid #d9e0d6;border-radius:1rem;overflow:auto;max-height:clamp(25rem,calc(100dvh - 15rem),54rem)}#map-results{padding:1rem}.map-results h2{font-size:1.35rem;margin:0 0 .65rem}.map-toggle{display:none}.map-events,.activity-list{padding:0;margin:0;list-style:none}.map-events li+li,.activity-list li+li{border-top:1px solid #d9e0d6}.map-events button{width:100%;border:0;border-radius:.55rem;padding:.8rem .55rem;display:grid;gap:.2rem;text-align:left;background:transparent;color:inherit;font:inherit}.map-events button:is(:hover,:focus-visible){background:#edf4ed}.map-events small,.map-events span,.activity-list small{color:#405c60}.map-detail>.quiet{margin-bottom:1rem}.map-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .65rem;font-size:.91rem}.map-detail dt{font-weight:700}.map-detail dd{margin:0}.staff-heading h1{font-size:clamp(2.5rem,5vw,5rem)}.staff-nav>div+div{border-top:1px solid #cdd9ce;margin-top:.7rem;padding-top:.7rem}.staff-nav strong{display:block;font-size:.77rem;padding:.35rem .7rem;color:#405c60}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.6rem;margin:.8rem 0}.metrics .metric{margin:0;padding:.8rem;text-align:left;color:inherit;display:grid;gap:.25rem;align-content:start}.metrics .metric strong{font-size:1.6rem}.metrics .metric span{font-size:.88rem}.activity-list li{display:grid;gap:.25rem;padding:.6rem 0}.org-tabs{margin:1rem 0}.org-tabs [aria-pressed=true]{background:#104e50;color:#fff}.wizard-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:1rem 0;padding:0}.wizard-steps li{font-weight:600;border-bottom:2px solid #d4e0d5;padding:.45rem .25rem;color:#405c60}.wizard-steps [aria-current=step]{color:#104e50;border-color:#104e50}.wizard-actions{justify-content:flex-end;margin-top:1rem}.autocomplete{position:relative;margin:.7rem 0}.suggestions{position:relative;background:#fff;border:1px solid #c5d3c6;border-radius:.6rem;max-height:19rem;overflow:auto}.suggestions ul{list-style:none;padding:0;margin:0}.suggestions li{display:grid;gap:.15rem;padding:.55rem .75rem;min-height:2.65rem;cursor:pointer}.suggestions li:is(:hover,[aria-selected=true]){background:#e5efe5}.suggestions p{padding:.5rem .75rem;margin:0}.target-summary{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.5rem 0;padding:0}.target-summary li{border-radius:1rem;background:#e7efe5;padding:.25rem .65rem;font-size:.86rem}.house-list{max-height:16rem;overflow:auto;padding:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.2rem}.review-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.55rem}.review-counts div{border:1px solid #d9e0d6;border-radius:.65rem;padding:.65rem}.review-counts dd{margin:.3rem 0 0;font-size:1.35rem;font-weight:700}@media(max-width:760px){.public-map-layout{display:block;position:relative}.public-map-layout .map-canvas,.public-map-layout .map-empty{height:clamp(20rem,58dvh,34rem)}.public-map-layout .map-results{position:relative;margin:-.65rem .35rem 0;max-height:24rem;box-shadow:0 -.2rem 1rem #12352b20}.map-toggle{display:block;width:100%;border:0;text-align:left}#map-results:not(.expanded){display:none}.map-filters label,.map-filters label:first-child{flex-basis:calc(50% - .7rem)}.staff-heading,.public-map .section-heading{flex-wrap:wrap}.staff-nav>div+div{border:0;margin:0;padding:0}.staff-nav strong{padding:.2rem .45rem}.wizard-steps{font-size:.76rem}}.house-grid{max-height:19rem;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.3rem}.house-option{margin:0;padding:.35rem;display:flex;align-items:center;gap:.35rem}.house-option input{width:auto}.address-target-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.map-pin.pin-cluster{background:#104e50;color:#fff;border:2px solid white;border-radius:50%;min-width:2.75rem;min-height:2.75rem;font-weight:700}.integration-card{min-width:0}.integration-card h3{margin-bottom:.7rem}.integration-card fieldset{border:0;margin:.8rem 0;padding:0}.integration-card code{display:block;overflow-wrap:anywhere;padding:.65rem;border-radius:.5rem;background:#eef3ef}.integration-test{border-top:1px solid #d9e0d6;margin-top:.75rem;padding-top:.9rem}.integration-status{display:inline-block;padding:.2rem .65rem;border-radius:2rem;background:#e8efec;color:#294746;font-size:.86rem;font-weight:700}.integration-status.active{background:#e0f1e5;color:#185431}.integration-status.invalid,.integration-status.unavailable{background:#fceae5;color:#842c22}.integration-health .small{margin:.3rem 0 0}.citizen-top{background:#fff}.citizen-top .header-row{min-height:64px}.citizen-top .citizen-nav{gap:.25rem}.citizen-nav a{display:grid;place-items:center;padding:.52rem .9rem;min-height:44px;border-radius:9px;color:#3e5756}.citizen-top .citizen-nav [aria-current=page]{background:#e3efeb;color:#124d4d;text-decoration:none}.citizen-main{padding-bottom:1.5rem}.citizen-footer .footer-row{min-height:60px}.citizen-main .page-heading h1,.citizen-main .narrow h1,.compact-heading h1,.road-heading h1{font-family:inherit;font-weight:700;font-size:clamp(1.6rem,4vw,2.4rem);letter-spacing:-.055em;line-height:1.12}.road-overview{padding-top:1rem}.road-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;margin-bottom:.85rem}.road-heading h1,.compact-heading h1{margin:0}.road-period{display:inline-flex;gap:.18rem;padding:.2rem;background:#e6eee8;border-radius:12px;flex-shrink:0}.road-period button:not(.map-pin){min-height:38px;gap:.38rem;padding:.3rem .64rem;color:#294b4b;background:transparent;border-radius:9px;font-size:.88rem;white-space:nowrap}.road-period [aria-pressed=true]:not(.map-pin){background:#124d4d;color:#fff}.road-period button span{font-variant-numeric:tabular-nums;font-size:.76rem;opacity:.9}.road-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(15rem,1fr);gap:1rem;align-items:start}.road-map-area{min-width:0;background:#e6efed;border:1px solid var(--line);border-radius:16px;overflow:hidden}.road-map-area .map-panel{position:relative;margin:0;padding:0;border:0;border-radius:0;background:transparent}.road-map-area .map-panel>p[role=status]{position:absolute;z-index:1;top:.7rem;left:.7rem;padding:.35rem .6rem;border-radius:7px;background:#fff}.road-map-area .map-canvas,.road-map-area .map-empty,.road-map-loading{height:clamp(24rem,calc(100dvh - 12rem),49rem);border-radius:0}.road-map-loading{display:grid;place-items:center;color:var(--dim)}.road-side{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff;max-height:clamp(24rem,calc(100dvh - 12rem),49rem);overflow:auto;scroll-margin-bottom:calc(64px + env(safe-area-inset-bottom))}.road-empty,.road-detail{display:grid;gap:.75rem;padding:1rem;margin:0}.road-empty button,.road-detail button{justify-self:start}.road-list{margin:0;padding:0;list-style:none}.road-list li+li{border-top:1px solid var(--line)}.road-list button:not(.map-pin){width:100%;display:grid;justify-content:stretch;justify-items:start;gap:.2rem;padding:.85rem 1rem;text-align:left;border:0;border-radius:0;color:var(--ink);background:#fff}.road-list button:hover,.road-list button:focus-visible{background:#f0f6f3}.road-list button>span:not(.road-impact),.road-detail p{font-size:.9rem;color:var(--dim);font-weight:500;margin:0}.road-list button>strong,.road-detail h2{line-height:1.2;margin:0;overflow-wrap:anywhere}.road-impact{justify-self:start;padding:.16rem .48rem;border-radius:7px;background:#e5eeeb;color:#254b47;font-size:.75rem;font-weight:700}.road-impact.closed{background:#f9e4dd;color:#842c22}.road-impact.partial{background:#f7edcf;color:#694b13}.road-schedule{display:grid;gap:.1rem;padding-top:.32rem;font-size:.86rem;color:#2b4746}.road-schedule time{font-weight:700}.compact-heading{margin:1.25rem 0 1rem}.citizen-settings .panel{margin:0}.device-setting{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.3rem 0 .8rem}.device-setting small{display:block}.email-setting,.account-settings{padding-top:.75rem;border-top:1px solid var(--line)}.email-setting{margin-bottom:.8rem}.account-settings summary{font-size:.9rem;color:var(--teal)}.account-delete{margin-top:.8rem}.notice-chips{display:flex;gap:.4rem;flex-wrap:wrap}.notice-chips button[aria-pressed=true]{background:var(--teal);color:#fff}@media(max-width:760px){.citizen-top .header-row,.citizen-main,.citizen-footer .frame{width:calc(100% - 28px)}.citizen-top .header-row{min-height:50px}.citizen-top .brand span{height:30px;min-width:30px;border-radius:8px;font-size:.84rem}.citizen-top .brand{font-size:1.08rem}.citizen-top .citizen-nav{position:fixed;z-index:12;inset:auto 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;background:#fff;padding:.35rem .65rem calc(.35rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -.25rem 1rem #1a433812}.citizen-top .citizen-nav a{padding:.35rem .25rem;text-align:center;font-size:.84rem}.citizen-footer{margin-bottom:calc(56px + env(safe-area-inset-bottom))}.citizen-footer .brand{display:none}.citizen-footer .footer-row{min-height:44px}.citizen-footer .footer-row nav{gap:.9rem}.citizen-footer .footer-row nav a{font-size:.78rem}.road-overview{padding-top:.68rem}.road-heading{margin-bottom:.6rem;flex-wrap:wrap}.road-heading h1{font-size:1.38rem}.road-period button:not(.map-pin){font-size:.8rem;min-height:36px;padding-inline:.5rem}.road-layout{display:block}.road-map-area .map-canvas,.road-map-area .map-empty,.road-map-loading{height:clamp(16rem,49dvh,32rem)}.road-side{max-height:none;margin-top:.6rem}.road-empty,.road-detail{padding:.8rem}.citizen-main .page-heading{margin:1.2rem 0 .85rem}}.pin-accident{background:#a5352d;color:#fff}
