/* Generated by python deploy/build_assets.py; edit the source files below. */

/* app.css */
:root{--paper:#f9faf7;--surface:#fff;--ink:#202a25;--muted:#70796f;--line:#e3e7df;--green:#285b43;--light-green:#eff4eb;--heading:'Manrope',sans-serif;--body:'DM Sans',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}a:hover{color:var(--green)}button{cursor:pointer}button:disabled{cursor:default}button,input,select,textarea{border-radius:5px}input,select,textarea{background:#fff;border:1px solid #dce2d8;color:var(--ink);padding:10px 11px;max-width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #95b39d;outline-offset:1px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading)}h1{font-size:clamp(30px,3vw,42px);line-height:1.22;letter-spacing:-1.6px;font-weight:650}h2{font-size:20px;line-height:1.4;letter-spacing:-.5px}h3{font-size:14px;font-weight:650}p{margin-top:12px}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:650;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.quiet,.footnote{color:var(--muted)}.footnote{font-size:11px;line-height:1.7}.footnote a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.mono{font-size:11px;letter-spacing:.3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:16px;background:var(--green);color:#fff;padding:10px;z-index:20}.skip-link:focus{top:10px}
.app-header{height:80px;display:flex;align-items:center;gap:38px;padding:0 36px;border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;width:228px;flex-shrink:0}.brand svg{width:36px;height:36px;color:var(--green);stroke-width:1.3}.brand .mark-dot{fill:var(--green)}.brand span{font-family:var(--heading);font-size:11px;line-height:1.5;letter-spacing:.3px}.brand strong{font-size:17px;letter-spacing:-.4px;font-weight:750}.main-nav{display:flex;gap:28px;height:100%;align-items:center;white-space:nowrap}.main-nav a{display:flex;height:100%;align-items:center;border-bottom:2px solid transparent;color:var(--muted);font-size:12px;transition:color .16s,border-color .16s}.main-nav a.active{color:var(--ink);border-color:var(--green);font-weight:600}.account-nav{margin-left:auto;display:flex;align-items:center;gap:20px;font-size:12px}.username{color:var(--muted)}.button{border:1px solid var(--green);background:var(--green);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 17px;border-radius:5px;font-weight:550;font-size:12px;line-height:1.4;transition:background .16s,transform .16s;white-space:nowrap}.button:hover{color:#fff;background:#1b4632;transform:translateY(-1px)}.button.outline{background:transparent;color:var(--ink);border-color:#d3dbcf}.button.outline:hover{background:var(--light-green);border-color:#aebfa9}.button.small{padding:8px 12px;font-size:11px}.text-button{padding:0;background:none;border:0;color:var(--muted);font-size:12px}.text-button:hover{color:var(--green)}.full-width{width:100%}.messages{background:var(--light-green);border-bottom:1px solid var(--line);padding:14px 36px;color:var(--green);font-size:13px}
.workspace{display:grid;grid-template-columns:254px minmax(0,1fr);min-height:calc(100vh - 140px)}.filter-sidebar{border-right:1px solid var(--line);padding:30px 25px;background:#f5f7f2}.location{padding-bottom:26px;margin-bottom:25px;border-bottom:1px solid var(--line)}.location h2{font-size:18px}.location h2 span{float:right;font-size:16px;font-weight:400;color:var(--muted)}.location p{font-size:11px;color:var(--muted);margin-top:5px}.location .eyebrow{font-size:9px;margin-bottom:9px}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.filter-heading h2{font-size:13px;font-weight:700;letter-spacing:0}.filter-heading a{font-size:11px;color:var(--muted)}.field{margin-bottom:17px}.field label{display:block;font-size:10px;color:#687163;margin-bottom:7px;font-weight:550}.field input,.field select{width:100%;font-size:11px;padding:10px 9px;min-height:37px}.checkbox{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#697162;line-height:1.5;margin:12px 0}.checkbox input{accent-color:var(--green);margin:1px 0 0;width:14px;height:14px;flex-shrink:0}.more-filters{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;margin-bottom:20px}.more-filters summary{display:flex;justify-content:space-between;font-size:11px;cursor:pointer;list-style:none;color:var(--muted);margin-bottom:16px}.more-filters[open] summary span{transform:rotate(45deg)}.apply-button{width:100%;justify-content:space-between;margin-top:11px}.sidebar-note{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:10px;line-height:1.7}.sidebar-note strong{font-size:10px;font-weight:550}.sidebar-note p{color:var(--muted);margin:8px 0 12px}.sidebar-note a{color:var(--green)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;flex-shrink:0;margin-right:6px}.status-dot.muted{background:#90988a}.form-errors{font-size:11px;color:#9d402a;line-height:1.4;margin-bottom:15px}.form-errors ul{padding-left:16px}.results-main{min-width:0;padding:35px 38px 24px;animation:arrive .3s ease-out}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.page-heading p{color:var(--muted);font-size:12px;margin-top:10px}.page-heading .eyebrow{margin-bottom:12px}.save-search{align-self:center}.scope-banner{display:flex;align-items:center;gap:5px;font-size:10px;color:#62725e;border:1px solid #e3e8db;background:#f1f5ed;border-radius:4px;padding:10px 13px;margin-bottom:24px;line-height:1.6}.scope-banner a{margin-left:auto;white-space:nowrap;color:var(--green);padding-left:12px}.search-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:22px}.search-input{display:flex;align-items:center;flex:1;border:1px solid #dbe1d6;border-radius:5px;background:#fff;padding:0 12px;height:43px;min-width:0}.search-input svg{width:17px;height:17px;color:var(--muted);flex-shrink:0}.search-input input{background:none;border:0;flex:1;min-width:0;padding:12px 10px;font-size:12px;outline:none}.search-input:focus-within{outline:2px solid #95b39d;outline-offset:1px}.search-input button{font-size:10px;color:var(--muted);white-space:nowrap}.search-input button span{padding-left:5px;color:#a8afa1}.sort-control select{font-size:11px;height:43px;background:transparent;border:1px solid #dbe1d6;width:160px}.result-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:20px}.result-tabs a{font-size:11px;color:var(--muted);padding:0 0 14px;border-bottom:2px solid transparent;white-space:nowrap}.result-tabs a.active{color:var(--green);border-color:var(--green);font-weight:600}.result-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin-bottom:16px}.result-meta strong{color:var(--ink);font-weight:600}.table-scroll{overflow:auto}.permit-table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}.permit-table thead{background:#f0f3eb}.permit-table th{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:12px 13px;color:#6e7768;font-weight:500;white-space:nowrap}.permit-table th:first-child{border-radius:4px 0 0 4px}.permit-table th:last-child{border-radius:0 4px 4px 0}.permit-table td{padding:20px 13px;border-bottom:1px solid var(--line);vertical-align:top}.permit-table td:first-child{padding-left:10px}.permit-table tbody tr{transition:background .16s}.permit-table tbody tr:hover{background:#f0f4eb}.project-cell{min-width:230px;width:48%}.address-link{font-family:var(--heading);font-size:13px;letter-spacing:-.15px;font-weight:650;display:inline-block}.address-link span{padding-left:7px;opacity:0;transform:translate(-3px,3px);display:inline-block;transition:opacity .15s,transform .15s}.permit-table tr:hover .address-link span,.address-link:focus-visible span{opacity:1;transform:none}.project-cell p{font-size:10px;line-height:1.65;color:var(--muted);margin-top:6px;max-width:465px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.row-context{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:9px;color:#91988a}.row-context .mono{font-size:9px}.use-label{color:var(--green);position:relative}.use-label:before{content:'';display:inline-block;width:3px;height:3px;background:#91a783;border-radius:50%;margin:0 5px 2px 0}.date-cell{white-space:nowrap;font-size:10px}.date-cell small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.category-tag{display:inline-block;font-size:9px;line-height:1.5;color:#5f6d58;background:#edf2e7;padding:4px 8px;border-radius:3px;white-space:nowrap;border:1px solid #e1e8d8}.estimate{text-align:right;white-space:nowrap;font-size:11px;font-weight:550;font-variant-numeric:tabular-nums}.permit-table .estimate.quiet{font-size:10px;font-weight:400}.bookmark-cell{width:30px;padding-right:0!important}.bookmark{display:inline-flex;border:0;background:none;padding:0 2px;color:#9fa794;transition:color .15s}.bookmark svg{width:19px;height:19px;stroke-width:1.4}.bookmark:hover{color:var(--green)}.bookmark.saved{color:var(--green)}.bookmark.saved svg{fill:#dce8d7}.pagination{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);margin:24px 0 28px;gap:15px}.pagination>div{display:flex;align-items:center;gap:17px}.results-main>.footnote{border-top:1px solid var(--line);padding-top:18px;max-width:100%;font-size:10px}.empty-state{text-align:center;padding:70px 25px;color:var(--muted)}.empty-state svg{width:40px;height:40px;margin-bottom:18px;color:#99ad8c}.empty-state h2{font-size:20px;color:var(--ink)}.empty-state p{margin:10px auto 25px;max-width:380px;font-size:13px}.app-footer{padding:20px 36px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#8a9282;font-size:10px;background:#f5f7f2}
.detail-main{max-width:1230px;padding:40px 42px 70px;margin:auto;min-height:calc(100vh - 140px);animation:arrive .25s ease-out}.back-link{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:28px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:50px;border-top:1px solid var(--line);padding-top:30px}.fact-strip{display:flex;justify-content:space-between;gap:20px}.fact-strip .eyebrow{font-size:9px;margin-bottom:8px}.fact-strip strong{font-family:var(--heading);font-size:18px;font-weight:600}.detail-section{border-bottom:1px solid var(--line);padding:25px 0}.detail-section h2{font-size:18px;margin-bottom:16px}.detail-section p{font-size:13px;color:#626d5e;line-height:1.85}.detail-section .source-description{font-size:15px;line-height:1.9;white-space:pre-wrap;color:var(--ink)}.detail-section .footnote{font-size:11px}.detail-section a:not(.category-tag){text-decoration:underline;text-underline-offset:3px;color:var(--green)}.detail-aside{border-left:1px solid var(--line);padding-left:28px}.detail-aside h2{font-size:16px}.detail-aside p{font-size:12px;color:var(--muted);margin:12px 0 20px}.detail-aside .button{font-size:11px}.aside-divider{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}.aside-divider p{margin-bottom:8px;font-size:11px}.aside-divider a{color:var(--green);font-size:11px}.contractor-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #edf0e8;font-size:12px}.contractor-row span{font-size:10px;color:var(--muted)}.definition-list{display:grid;grid-template-columns:160px 1fr;gap:12px 25px;font-size:12px;line-height:1.7}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;overflow-wrap:anywhere}details>summary{cursor:pointer;font-size:12px;color:var(--green);padding:10px 0}.revision{padding:18px 0;border-top:1px solid var(--line);font-size:11px}.revision>span{display:block;color:var(--muted);margin-top:3px}.notice{background:var(--light-green);border-left:3px solid #95ae88;padding:15px 20px;font-size:12px;color:#56664e;margin:20px 0 30px}.prose-main{max-width:820px;padding:48px 36px 70px;margin:auto}.prose-main .lede{font-size:17px;color:var(--muted);margin:22px 0}.auth-main{max-width:480px;padding:60px 24px 80px;margin:auto;min-height:calc(100vh - 140px)}.auth-main h1{font-size:35px}.auth-main>p{color:var(--muted);font-size:13px;margin:18px 0 28px}.stacked-form p{margin:20px 0}.stacked-form label{font-size:12px;display:block;margin-bottom:8px}.stacked-form input:not([type=checkbox]),.stacked-form select{width:100%}.stacked-form .helptext{font-size:11px;color:var(--muted);display:block;margin-top:7px}.stacked-form ul{font-size:11px;color:var(--muted);padding-left:18px}.stacked-form .errorlist{color:#9d402a}.stacked-form .button{margin-top:16px}.simple-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.simple-table th{font-weight:500;color:var(--muted);background:#f0f3eb}.simple-table td,.simple-table th{padding:13px 10px;border-bottom:1px solid var(--line)}.evidence-row{display:flex;justify-content:space-between;gap:30px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px}.evidence-row p{color:var(--muted);max-width:700px;margin-bottom:12px}.evidence-row>.evidence-row:last-child{white-space:nowrap}.evidence-row .eyebrow{font-size:9px;margin-bottom:8px}.shortlist-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:50px;padding:30px 0;border-top:1px solid var(--line)}.shortlist-row p{font-size:12px;color:var(--muted);margin-bottom:12px}.note-form{margin-top:20px}.shortlist-row .note-form{margin-top:0}.note-form label{display:block;font-size:11px;color:var(--muted);margin-bottom:9px}.note-form textarea{display:block;width:100%;font-size:12px;margin-bottom:10px;resize:vertical}.saved-search-row{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding:30px 0;border-top:1px solid var(--line)}.saved-search-row h2{font-size:19px}.saved-search-row p{font-size:12px}.row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:18px}.preferences-form{display:flex;align-items:center;gap:16px;margin-top:20px}.preferences-form .checkbox{margin:0;font-size:11px}.preferences-form select{font-size:11px;padding:6px 10px}.digest-history{display:flex;flex-direction:column;gap:10px;font-size:11px;color:var(--muted);margin-top:25px}.digest-history a{color:var(--green)}.saved-filters{display:grid;grid-template-columns:1fr 1fr;background:#f1f4ec;padding:20px;gap:10px;font-size:11px}.saved-filters dt{color:var(--muted)}.saved-filters dd{margin:0}
@keyframes arrive{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.results-main{padding-right:60px;padding-left:50px}.project-cell{width:55%}}
@media(max-width:1150px){.app-header{gap:18px;padding:0 24px}.brand{width:215px}.main-nav{gap:18px}.account-nav{gap:12px}.workspace{grid-template-columns:230px minmax(0,1fr)}.results-main{padding:30px 24px}.filter-sidebar{padding:26px 20px}.project-cell{min-width:215px;width:42%}.permit-table td{padding-left:10px;padding-right:10px}.page-heading h1{font-size:34px}.result-tabs{gap:20px}.username{display:none}.detail-layout{gap:30px;grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:900px){.app-header{height:auto;min-height:78px;flex-wrap:wrap;gap:0 20px;padding:16px 22px 0}.brand{width:auto;flex:1}.account-nav{order:2}.main-nav{width:100%;height:44px;order:3;gap:24px;margin-top:10px}.main-nav a{font-size:11px}.workspace{grid-template-columns:210px minmax(0,1fr)}.filter-sidebar{padding:24px 16px}.results-main{padding:25px 20px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:16px}.page-heading h1{font-size:30px}.save-search{padding:8px 12px;font-size:10px}.scope-banner{align-items:flex-start}.scope-banner a{display:none}.search-toolbar{gap:10px;flex-wrap:wrap}.search-input{flex-basis:100%}.sort-control{margin-left:auto}.sort-control select{height:34px;width:155px}.result-tabs{gap:18px;overflow:auto}.permit-table{min-width:620px}.result-meta>span:last-child{display:none}.detail-layout{grid-template-columns:minmax(0,1fr)}.detail-aside{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.detail-main{padding:30px 25px 55px}.shortlist-row{grid-template-columns:1fr;gap:20px}.saved-search-row{flex-wrap:wrap}.row-actions{flex-direction:row;align-items:center}.fact-strip strong{font-size:16px}.preferences-form{flex-wrap:wrap}}
@media(max-width:620px){.app-header{padding:14px 18px 0;position:relative}.brand svg{width:30px;height:30px}.brand strong{font-size:15px}.brand span{font-size:9px}.account-nav{font-size:11px;gap:10px}.account-nav .button{padding:7px 10px;font-size:10px}.account-nav .button span{display:none}.main-nav{justify-content:space-between;gap:10px;margin-top:10px}.main-nav a{font-size:10px}.workspace{display:flex;flex-direction:column}.filter-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:18px}.location{padding-bottom:0;border:0;margin:0}.location h2{font-size:16px}.location p{display:none}.location .eyebrow{font-size:8px;margin-bottom:4px}.filter-sidebar #filter-form{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-heading{grid-column:1/-1;margin-bottom:0}.filter-heading h2{font-size:12px}.field{margin:0}.field input,.field select{font-size:11px;min-width:0}.field label{font-size:10px;margin-bottom:5px}.checkbox{margin:4px 0;font-size:10px}.more-filters{grid-column:1/-1;margin:0;padding-top:10px}.more-filters summary{margin-bottom:0}.more-filters[open] .field{margin-top:12px}.apply-button{grid-column:1/-1;margin:0}.sidebar-note{display:none}.results-main{padding:27px 18px 20px}.page-heading h1{font-size:32px}.page-heading .eyebrow{font-size:9px}.page-heading p{font-size:11px}.scope-banner{font-size:9px;padding:9px;margin-bottom:20px}.result-tabs{gap:20px}.result-tabs a{font-size:10px}.result-meta{font-size:10px}.permit-table{min-width:650px}.pagination{flex-wrap:wrap;font-size:10px;gap:15px}.pagination>div{width:100%;justify-content:space-between;gap:10px}.app-footer{padding:18px;font-size:9px;gap:15px}.app-footer>span:first-child{display:none}.detail-main{padding:28px 18px 50px}.detail-main h1{font-size:30px;overflow-wrap:anywhere}.detail-main .page-heading .button{font-size:11px}.fact-strip{flex-wrap:wrap;gap:22px}.fact-strip strong{font-size:16px}.definition-list{grid-template-columns:1fr;gap:5px;font-size:12px}.definition-list dd{margin-bottom:14px}.contractor-row{align-items:flex-start;flex-direction:column;gap:5px}.evidence-row{flex-direction:column;gap:12px}.auth-main{padding:40px 22px 60px}.auth-main h1{font-size:31px}.prose-main{padding:35px 20px 55px}.prose-main h1{font-size:31px}.preferences-form{gap:14px}.shortlist-row{padding:24px 0}.saved-search-row{padding:24px 0}.result-tabs::-webkit-scrollbar{height:0}.table-scroll{margin-right:-18px}.simple-table{min-width:460px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.filter-disclosure .mobile-filter-trigger{display:none}.project-cell p{font-size:11px}.address-link{font-size:14px}.date-cell{font-size:11px}.date-cell small{font-size:10px}.field label{font-size:11px}.row-context{font-size:10px}.row-context .mono{font-size:10px}.permit-table th{font-size:10px}
@media(max-width:620px){.filter-disclosure .mobile-filter-trigger{display:flex;justify-content:space-between;align-items:center;margin-top:14px;border-top:1px solid var(--line);padding:13px 0 0;font-size:12px;color:var(--green);list-style:none}.filter-disclosure[open] .mobile-filter-trigger span{transform:rotate(45deg)}.filter-disclosure:not([open]) #filter-form{display:none}.permit-table{display:block;min-width:0}.permit-table thead{display:none}.permit-table tbody{display:block}.permit-table tr{display:grid;grid-template-columns:1fr 1fr;position:relative;padding:20px 0;border-bottom:1px solid var(--line);gap:13px 15px}.permit-table td{padding:0!important;border:0}.permit-table .project-cell{grid-column:1/-1;width:100%;min-width:0;padding-right:26px!important}.project-cell .address-link{font-size:15px}.project-cell p{font-size:12px;line-height:1.7;margin-top:8px}.row-context{font-size:10px}.permit-table .date-cell{font-size:11px}.permit-table .date-cell:before{content:'Issued / ready';font-size:9px;color:var(--muted);display:block;margin-bottom:5px}.permit-table .date-cell small{font-size:10px}.permit-table td:nth-child(3){grid-column:2;grid-row:3;align-self:center;text-align:right}.permit-table .estimate{grid-column:2;grid-row:2;font-size:12px}.permit-table .estimate:before{content:'Reported estimate';font-size:9px;font-weight:400;color:var(--muted);display:block;margin-bottom:5px}.permit-table .bookmark-cell{position:absolute;right:0;top:21px;width:24px}.permit-table .bookmark svg{height:23px;width:23px}.permit-table .empty-state{grid-column:1/-1}.table-scroll{margin-right:0}.result-tabs{margin-top:5px}.category-tag{font-size:10px}.result-meta>span:last-child{display:block;font-size:9px}.pagination{margin-top:22px}.location h2 span{display:none}.filter-sidebar{padding-bottom:15px}}

/* research.css */
/* Calm research surfaces extend the existing CivicBuilds workspace. */
.planning-links{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:16px 0;font-size:12px;color:var(--green)}
.planning-links .button:not(.outline){color:#fff}
.planning-coverage{font-size:12px;line-height:1.7;margin:22px 0 28px;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.planning-coverage summary{cursor:pointer;color:var(--green)}
.planning-source{padding:18px 0;border-bottom:1px solid var(--line)}
.planning-source a{display:inline-block;margin-top:10px;color:var(--green)}
.planning-source p{margin:7px 0;color:var(--muted)}
.planning-row{display:grid;grid-template-columns:125px minmax(0,1fr) 155px;gap:24px;padding:25px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}
.planning-date{display:flex;flex-direction:column;gap:5px}
.planning-facts{min-width:0;overflow-wrap:anywhere}
.planning-facts .eyebrow{font-size:9px;margin-bottom:7px;letter-spacing:1px}
.planning-facts p{margin-top:8px}
.planning-facts .address-link{font-size:16px;font-weight:600}
.planning-stage{text-align:right;color:var(--green)}
.planning-watched{color:var(--green);font-size:11px;font-weight:600}
.planning-watch-form{max-width:650px}
.planning-watch-form textarea{width:100%}
.planning-revision{display:flex;justify-content:space-between;gap:25px;font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.planning-revision p{margin:0}
@media(max-width:1100px){.planning-filters .field{min-width:140px}}
@media(max-width:760px){.planning-row{grid-template-columns:minmax(0,1fr);gap:12px}.planning-date{flex-direction:row;flex-wrap:wrap;gap:12px}.planning-stage{text-align:left}.planning-revision{flex-direction:column;gap:6px}}
.property-lookup .direction-field{flex:0 0 85px;min-width:85px}
.license-row{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}
.license-row>div{min-width:0;flex:1;overflow-wrap:anywhere}
.license-row p{margin:7px 0}
.license-row dl{max-width:260px;flex:1;margin:0}
.license-row dd{margin:6px 0;color:var(--muted)}
.business-phone{color:var(--green);font-size:16px;font-weight:600;display:inline-block;padding:6px 0}
.match-label{font-size:12px;color:var(--green);line-height:1.7}
.history-research{display:flex;justify-content:space-between;gap:30px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;line-height:1.7;margin-bottom:24px}
.history-research>div{min-width:0;max-width:600px}
.history-research p{font-size:12px;color:var(--muted);margin:7px 0}
.history-research a:not(.button){color:var(--green)}
.history-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:26px;padding:24px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}
.history-date{display:flex;flex-direction:column;gap:4px;font-variant-numeric:tabular-nums}
.history-facts .section-heading{margin-bottom:8px;align-items:flex-start;font-size:13px;flex-wrap:wrap}
.history-facts details{margin:14px 0}
.history-facts summary{color:var(--green);cursor:pointer}
.history-facts p{margin:10px 0;overflow-wrap:anywhere}
.history-links{display:flex;gap:20px;flex-wrap:wrap;color:var(--green);font-size:11px}
@media(max-width:760px){
  .license-row,.history-research{flex-direction:column;gap:16px}
  .license-row dl{max-width:none}
  .history-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .history-date{flex-direction:row;gap:12px}
  .history-research form,.history-research .button{width:100%}
}
[hidden]{display:none!important}
.main-nav{gap:22px;min-width:0}
@media(max-width:1500px){
  .app-header{height:auto;min-height:78px;flex-wrap:wrap;gap:0 20px;padding:16px 24px 0}
  .brand{width:auto;flex:1}
  .account-nav{order:2;white-space:nowrap}
  .main-nav{width:100%;height:44px;order:3;margin-top:10px}
}
.research-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:11px;color:var(--green)}
.research-actions button{font-size:inherit;color:inherit}
.filter-context{font-size:11px;line-height:1.6;color:var(--muted);margin-bottom:14px;overflow-wrap:anywhere}
.filter-context a{color:var(--green)}
.map-panel{margin:0 0 24px}
.map-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px;font-size:11px;color:var(--muted);line-height:1.6}
.permit-map{height:400px;border-radius:5px;background:#e9eee4;z-index:0}
.map-nearby{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;font-size:12px}
.permit-map .leaflet-popup-content{font-size:12px;line-height:1.6}
.permit-map .leaflet-popup-content a{font-weight:650;color:var(--green)}
.permit-map .leaflet-popup-content p{margin:8px 0}
.inline-filters{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding:20px 0;margin-bottom:20px;border-bottom:1px solid var(--line)}
.inline-filters .field{margin:0;flex:1;min-width:170px;max-width:310px}
.inline-filters input,.inline-filters select{font-size:12px}
.inline-filters>a{font-size:12px;padding:12px 0;color:var(--green)}
.inline-filters .checkbox{font-size:11px;margin-bottom:11px}
.company-list-row,.activity-row{display:flex;justify-content:space-between;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}
.company-list-row>div:first-child,.activity-row>div:first-child{min-width:0;flex:1}
.company-list-row>div:last-child,.activity-row>div:last-child{text-align:right;flex-shrink:0;font-size:12px}
.company-list-row .address-link,.activity-row .address-link{font-size:15px;overflow-wrap:anywhere}
.company-list-row p,.activity-row p{font-size:12px;line-height:1.7;margin-top:8px}
.company-heading{font-size:34px;line-height:1.25;overflow-wrap:anywhere}
.company-link{color:var(--green);font-weight:600}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}
.section-heading h2{margin:0}
.section-heading a{font-size:12px;color:var(--green)}
.work-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.work-breakdown a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--green)}
.work-breakdown strong{font-variant-numeric:tabular-nums}
.workspace-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.workspace-status{font-size:12px;color:var(--green)}
.due-label{display:inline-block;margin-left:10px;color:#8a502d;font-weight:600}
.workspace-form .field input,.workspace-form .field select{font-size:12px}
.change-row{padding:26px 0;border-bottom:1px solid var(--line)}
.change-heading{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.change-heading time{margin-left:auto;font-size:11px;color:var(--muted)}
.change-row>p{margin:12px 0;font-size:13px;line-height:1.7}
.change-diff{display:grid;grid-template-columns:180px 1fr;gap:24px;font-size:12px;line-height:1.7;margin:14px 0}
.change-diff dt{font-weight:600}
.change-diff dd{margin:0;overflow-wrap:anywhere}
.source-link{font-size:12px;color:var(--green)}
@media(max-width:760px){
  .main-nav{overflow-x:auto;max-width:100%;gap:21px;scrollbar-width:thin}
  .main-nav>a{flex-shrink:0}
  .research-actions{gap:14px;font-size:11px}
  .result-meta{gap:15px;align-items:flex-start;flex-wrap:wrap}
  .map-toolbar{flex-direction:column;align-items:flex-start;gap:5px}
  .permit-map{height:330px}
  .company-list-row,.activity-row{gap:15px;flex-direction:column}
  .company-list-row>div:last-child,.activity-row>div:last-child{text-align:left;display:flex;align-items:center;gap:15px;flex-wrap:wrap}
  .company-list-row>div:last-child p,.activity-row>div:last-child p{margin:0}
  .company-heading{font-size:28px}
  .inline-filters .field{max-width:none;min-width:140px}
  .change-heading time{margin-left:0;flex-basis:100%}
  .change-diff{grid-template-columns:1fr;gap:4px}
  .map-nearby{flex-wrap:wrap}
}

.discovery-review h2{margin-top:10px}
.discovery-followup{color:var(--green);font-weight:600}
.discovery-application{border-top:1px solid var(--line);padding:20px 0;overflow-wrap:anywhere}
.discovery-review .definition-list dd{overflow-wrap:anywhere}
.pilot-proposal{overflow-wrap:anywhere}
.pilot-proposal h2{margin-top:8px}
.pilot-check{border-left:3px solid var(--line);padding-left:16px;margin:18px 0}
.pilot-proposal details{margin:18px 0}
.reported-work{border-top:2px solid var(--ink,#142321);margin:24px 0;padding:22px 0 0}
.reported-work h3{margin:0 0 18px;font-size:1.05rem}
.reported-work-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 24px;margin:0 0 16px}
.reported-work-facts div{min-width:0}
.reported-work-facts dt{font-size:.75rem;color:var(--muted,#52615d);margin-bottom:6px}
.reported-work-facts dd{margin:0;font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.reported-work-source summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.reported-work-source p{margin:12px 0;font-size:.85rem;overflow-wrap:anywhere}
.reported-work-source q{display:block;margin-top:5px;color:var(--muted,#52615d)}
.reported-work-compact{border-top:1px solid var(--line,#c8ceca);margin:18px 0;padding-top:18px}
.reported-work-compact .reported-work-facts dd{font-size:1rem}
@media(max-width:720px){.reported-work-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}}
/* Compact, wrapping hierarchy for research pages and record details. */
.search-breadcrumbs { padding: 14px 28px 0; font-size: .8rem; color: var(--muted, #54625b); }
.search-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 5px 9px; list-style: none; margin: 0; padding: 0; }
.search-breadcrumbs li { overflow-wrap: anywhere; }
.search-breadcrumbs li + li::before { content: "/"; margin-right: 9px; opacity: .55; }
@media (max-width: 700px) { .search-breadcrumbs { padding: 12px 16px 0; } }

.main-nav{overflow-x:auto;scrollbar-width:thin}.main-nav>a{flex-shrink:0}

/* Keep the theme overrides after these shared record headings. */
@media(max-width:760px){.project-services .section-heading{align-items:flex-start;gap:14px;flex-wrap:wrap}}

/* industrial.css */
/* Industrial orange: shared app chrome and readable research surfaces. */
:root {
  --paper: #f6f3ee;
  --surface: #fffdfa;
  --ink: #17221e;
  --muted: #59635d;
  --line: #cad0c7;
  --accent: #c43f16;
  --accent-hover: #a82f0d;
  --green: var(--accent);
  --light-green: #f3e9dd;
  --rail: #18221f;
  --rail-text: #f6f3ee;
  --rail-width: 204px;
}

.industrial-theme {font-size: 15px; line-height: 1.55; padding-left: var(--rail-width);}
.industrial-theme .app-content {min-width: 0; min-height: 100svh;}
.industrial-theme h1 {font-size: clamp(36px, 3.6vw, 48px); font-weight: 800; line-height: 1.1; letter-spacing: -1.8px;}
.industrial-theme h2 {font-weight: 750; font-size: 22px; line-height: 1.3;}
.industrial-theme h3 {font-weight: 700; font-size: 16px;}
.industrial-theme .eyebrow {font-size: 11px; font-weight: 700; color: var(--accent);}
.industrial-theme .quiet {color: var(--muted);}
.industrial-theme .footnote {font-size: 12px; line-height: 1.65;}
.industrial-theme .mono {font-size: 12px;}
.industrial-theme input,
.industrial-theme select,
.industrial-theme textarea {background: var(--surface); border-color: var(--line); border-radius: 1px; padding: 11px 12px; min-height: 44px; font-size: 14px;}
.industrial-theme input:focus,
.industrial-theme select:focus,
.industrial-theme textarea:focus {outline-color: var(--accent);}
.industrial-theme .checkbox input {min-height: 0; width: 17px; height: 17px; margin-top: 2px;}
.industrial-theme .button {background: var(--accent); border-color: var(--accent); border-radius: 1px; min-height: 44px; font-size: 13px; font-weight: 700; padding: 11px 16px;}
.industrial-theme .button:hover {background: var(--accent-hover); border-color: var(--accent-hover); transform: none;}
.industrial-theme .button.outline {background: transparent; color: var(--ink); border-color: var(--line);}
.industrial-theme .button.outline:hover {background: var(--light-green); border-color: var(--accent);}
.industrial-theme .button.small {font-size: 12px; padding: 9px 13px; min-height: 40px;}
.industrial-theme .text-button {font-size: 13px; color: var(--muted);}
.industrial-theme .text-button:hover {color: var(--accent);}
.industrial-theme .field label {font-size: 12px; font-weight: 650; color: var(--ink); margin-bottom: 8px;}
.industrial-theme .field input,
.industrial-theme .field select {font-size: 14px; padding: 10px 11px;}
.industrial-theme .checkbox {font-size: 12px; color: var(--muted); gap: 9px;}
.industrial-theme .form-errors {font-size: 13px;}
.industrial-theme .messages {font-size: 14px; padding: 15px 32px;}
.industrial-theme .skip-link {position: fixed; z-index: 100;}

/* Navigation is a stable rail on desktop and a native disclosure on mobile. */
.app-rail {position: fixed; inset: 0 auto 0 0; width: var(--rail-width); z-index: 20; background: var(--rail); color: var(--rail-text); overflow-y: auto; padding: 28px 18px 20px;}
.app-rail .brand {display: block; width: auto; padding: 0 6px; margin-bottom: 28px; color: var(--rail-text);}
.app-rail .brand::before {content: ''; display: block; width: 30px; height: 6px; background: #eb5929; margin-bottom: 13px;}
.app-rail .brand strong {font-size: 23px; font-weight: 800; letter-spacing: -1px;}
.app-rail .brand span {font-family: var(--heading); line-height: 1.2;}
.app-rail .navigation-disclosure {min-height: calc(100svh - 126px); display: flex; flex-direction: column;}
.app-rail .navigation-trigger {display: none;}
.app-rail .main-nav {height: auto; width: auto; display: flex; flex-direction: column; align-items: stretch; margin: 0; gap: 20px; overflow: visible; white-space: normal;}
.app-rail .nav-group {display: flex; flex-direction: column; gap: 2px;}
.app-rail .nav-group-label {font-size: 10px; line-height: 1.4; letter-spacing: 1.1px; text-transform: uppercase; color: #bcc5be; padding: 0 10px 7px; font-weight: 600;}
.app-rail .main-nav a {height: auto; min-height: 38px; padding: 9px 10px; color: var(--rail-text); font-size: 13px; font-weight: 500; line-height: 1.35; border: 0;}
.app-rail .main-nav a:hover {background: #2b3731; color: var(--rail-text);}
.app-rail .main-nav a.active {background: var(--accent); color: #fff; font-weight: 700;}
.app-rail .account-nav {display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin: 30px 8px 0; padding-top: 20px; border-top: 1px solid #526057; font-size: 13px; white-space: normal; order: initial;}
.app-rail .account-nav > a:not(.button),
.app-rail .account-nav .text-button {color: var(--rail-text);}
.app-rail .account-nav .text-button:hover,
.app-rail .account-nav > a:not(.button):hover {color: #ffc9b4;}
.app-rail .username {display: block; color: #c8d0c9; overflow-wrap: anywhere; font-size: 12px;}
.app-rail .account-nav .button {font-size: 12px; padding: 10px 12px; width: 100%;}
.workspace-topbar {display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 32px; min-height: 54px; border-bottom: 1px solid var(--line); font-size: 12px;}
.workspace-topbar > span {font-weight: 700; letter-spacing: .8px; text-transform: uppercase;}
.workspace-topbar > a {color: var(--muted);}
.workspace-topbar > a:hover {color: var(--accent);}

/* Shared content hierarchy. */
.industrial-theme .detail-main {max-width: 1360px; padding: 36px 36px 56px; min-height: calc(100svh - 110px);}
.industrial-theme .page-heading {margin-bottom: 25px; gap: 20px; align-items: center;}
.industrial-theme .page-heading h1 {font-size: clamp(36px, 3.6vw, 48px);}
.industrial-theme .page-heading p {font-size: 15px; line-height: 1.6; color: var(--muted); margin-top: 12px; max-width: 680px;}
.industrial-theme .back-link {font-size: 13px; margin-bottom: 24px;}
.industrial-theme .source-link,
.industrial-theme .section-heading a {font-size: 13px;}
.industrial-theme .section-heading {align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 18px;}
.industrial-theme .section-heading .quiet {font-size: 13px;}
.industrial-theme .detail-layout {grid-template-columns: minmax(0, 1fr) 280px; gap: 35px; padding-top: 24px; border-top: 2px solid var(--ink);}
.industrial-theme .detail-section {padding: 23px 0;}
.industrial-theme .detail-section h2 {font-size: 23px; margin-bottom: 15px;}
.industrial-theme .detail-section p {font-size: 14px; color: var(--muted); line-height: 1.75;}
.industrial-theme .detail-section .source-description {font-size: 16px; line-height: 1.7; color: var(--ink);}
.industrial-theme .detail-section .footnote {font-size: 12px;}
.industrial-theme .detail-aside {padding-left: 25px;}
.industrial-theme .detail-aside h2 {font-size: 20px;}
.industrial-theme .detail-aside h3 {font-size: 16px;}
.industrial-theme .detail-aside p,
.industrial-theme .aside-divider p,
.industrial-theme .aside-divider a {font-size: 13px; overflow-wrap: anywhere;}
.industrial-theme .detail-aside .button {font-size: 13px;}
.industrial-theme .definition-list {font-size: 14px; grid-template-columns: 170px minmax(0, 1fr); gap: 11px 20px;}
.industrial-theme .fact-strip {flex-wrap: wrap;}
.industrial-theme .fact-strip strong {font-size: 21px; font-weight: 800;}
.industrial-theme .fact-strip .eyebrow {font-size: 11px; color: var(--muted);}
@media (max-width: 620px) {
  .industrial-theme .contractor-facts {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));}
  .industrial-theme .contractor-facts .eyebrow {letter-spacing: 1px;}
}
.industrial-theme .notice {font-size: 14px; color: var(--ink); border-left-color: var(--accent); background: var(--light-green);}
.industrial-theme details > summary {font-size: 13px;}
.industrial-theme .contractor-row {font-size: 14px; border-color: var(--line);}
.industrial-theme .contractor-row span {font-size: 12px;}
.industrial-theme .revision {font-size: 13px;}
.industrial-theme .app-footer {padding: 21px 32px; background: var(--paper); color: var(--muted); font-size: 12px; gap: 16px; flex-wrap: wrap;}
.industrial-theme .prose-main {max-width: 960px; padding: 40px 32px 60px;}
.industrial-theme .auth-main {padding: 48px 25px 65px; max-width: 520px;}
.industrial-theme .auth-main h1 {font-size: 40px;}
.industrial-theme .auth-main > p {font-size: 15px;}
.industrial-theme .stacked-form label,
.industrial-theme .stacked-form input,
.industrial-theme .stacked-form select {font-size: 14px;}
.industrial-theme .stacked-form .helptext,
.industrial-theme .stacked-form ul {font-size: 12px;}
.industrial-theme .simple-table {font-size: 14px;}
.industrial-theme .simple-table th {color: var(--muted); background: #eeeae3; font-weight: 650;}
.industrial-theme .simple-table td,
.industrial-theme .simple-table th {border-color: var(--line); padding: 14px 12px;}

/* Permit results remain a working table, with legible primary facts. */
.industrial-theme .workspace {grid-template-columns: 222px minmax(0, 1fr); min-height: calc(100svh - 110px);}
.industrial-theme .filter-sidebar {padding: 28px 20px; background: #eeece5;}
.industrial-theme .location {padding-bottom: 20px; margin-bottom: 23px;}
.industrial-theme .location h2 {font-size: 22px; font-weight: 800;}
.industrial-theme .location p {font-size: 12px;}
.industrial-theme .location .eyebrow {font-size: 10px; color: var(--muted);}
.industrial-theme .filter-heading h2 {font-size: 16px;}
.industrial-theme .filter-heading a {font-size: 12px; color: var(--accent);}
.industrial-theme .filter-sidebar .field {margin-bottom: 16px;}
.industrial-theme .filter-sidebar .field input,
.industrial-theme .filter-sidebar .field select {font-size: 13px;}
.industrial-theme .filter-sidebar .checkbox {font-size: 12px;}
.industrial-theme .filter-context,
.industrial-theme .more-filters summary {font-size: 12px;}
.industrial-theme .sidebar-note,
.industrial-theme .sidebar-note strong {font-size: 12px;}
.industrial-theme .results-main {padding: 32px 32px 28px;}
.industrial-theme .scope-banner {border: 0; border-left: 3px solid var(--accent); background: #eeeae3; border-radius: 0; color: var(--muted); padding: 11px 13px; font-size: 12px; margin-bottom: 22px;}
.industrial-theme .search-toolbar {gap: 13px;}
.industrial-theme .search-input {height: 48px; background: var(--surface); border-color: var(--line); border-radius: 1px; padding-left: 13px;}
.industrial-theme .search-input input {font-size: 15px; min-height: 44px; padding: 10px 12px;}
.industrial-theme .search-input input:focus {outline: none;}
.industrial-theme .search-input:focus-within {outline-color: var(--accent);}
.industrial-theme .search-input button {color: var(--accent); font-size: 12px; font-weight: 700; min-height: 44px;}
.industrial-theme .sort-control select {height: 48px; font-size: 13px; background: var(--surface); border-color: var(--line); width: 170px;}
.industrial-theme .result-tabs {gap: 22px; border-bottom: 2px solid var(--ink); flex-wrap: wrap; overflow: visible;}
.industrial-theme .result-tabs a {font-size: 13px; font-weight: 600; padding-bottom: 12px; border-bottom-width: 3px; margin-bottom: -2px;}
.industrial-theme .result-meta {font-size: 13px; gap: 18px; margin-bottom: 18px; flex-wrap: wrap;}
.industrial-theme .research-actions {font-size: 12px; gap: 16px;}
.industrial-theme .permit-table {font-size: 13px; min-width: 680px;}
.industrial-theme .permit-table thead {background: transparent; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.industrial-theme .permit-table th {color: var(--muted); font-size: 10px; font-weight: 700; padding: 12px 10px; border-radius: 0;}
.industrial-theme .permit-table td {padding: 22px 10px; border-color: var(--line);}
.industrial-theme .permit-table .project-cell {width: 45%; min-width: 250px; padding-left: 0;}
.industrial-theme .project-cell .address-link {font-family: var(--heading); font-size: 20px; line-height: 1.3; font-weight: 800; color: var(--ink); letter-spacing: -.45px;}
.industrial-theme .project-cell .address-link:hover {color: var(--accent);}
.industrial-theme .project-cell p {font-size: 14px; line-height: 1.55; color: var(--muted); margin-top: 9px;}
.industrial-theme .row-context,
.industrial-theme .row-context .mono {font-size: 11px;}
.industrial-theme .date-cell {font-size: 13px;}
.industrial-theme .date-cell small {font-size: 11px; line-height: 1.45;}
.industrial-theme .category-tag {font-size: 11px; color: var(--ink); background: #eeeae3; border-color: var(--line); border-radius: 1px; white-space: normal; min-width: 85px;}
.industrial-theme .estimate {font-size: 14px; font-weight: 750;}
.industrial-theme .permit-table .estimate.quiet {font-size: 12px;}
.industrial-theme .bookmark {color: var(--muted); padding: 6px 3px;}
.industrial-theme .bookmark.saved {color: var(--accent);}
.industrial-theme .bookmark.saved svg {fill: var(--light-green);}
.industrial-theme .bookmark svg {width: 22px; height: 22px; stroke-width: 1.6;}
.industrial-theme .pagination {font-size: 12px; margin: 25px 0;}
.industrial-theme .results-main > .footnote {font-size: 12px;}
.industrial-theme .empty-state {padding: 48px 20px;}
.industrial-theme .empty-state h2 {font-size: 26px; font-weight: 800;}
.industrial-theme .empty-state p {font-size: 15px; max-width: 470px;}

/* Company discovery and the private workspace use the same row hierarchy. */
.industrial-theme .service-main {max-width: 1320px;}
.directory-search {display: flex; align-items: center; gap: 12px; margin-top: 28px;}
.directory-search .field {flex: 1; min-width: 0; margin: 0;}
.directory-search .field input {font-size: 16px; min-height: 48px;}
.directory-search .button {min-height: 48px;}
.service-filter-disclosure {margin: 12px 0 20px;}
.service-filter-trigger {display: none;}
.industrial-theme .service-filters {margin-bottom: 0; padding: 13px 0 19px; gap: 16px;}
.industrial-theme .service-filters .field {min-width: 155px; max-width: none;}
.industrial-theme .service-filters .checkbox {margin-bottom: 12px; font-size: 12px;}
.industrial-theme .service-main > .section-heading {border-bottom: 2px solid var(--ink); padding: 15px 0; margin-bottom: 0;}
.industrial-theme .business-list {margin-top: 0; border-top: 0;}
.industrial-theme .business-row {padding: 25px 0; gap: 26px;}
.industrial-theme .business-row .address-link,
.industrial-theme .business-row .company-link,
.industrial-theme .shortlist-row .address-link {font-family: var(--heading); font-size: 24px; font-weight: 800; line-height: 1.3; letter-spacing: -.6px; color: var(--ink);}
.industrial-theme .business-row .address-link:hover,
.industrial-theme .business-row .company-link:hover,
.industrial-theme .shortlist-row .address-link:hover {color: var(--accent);}
.industrial-theme .business-row p {font-size: 14px; margin-top: 9px; line-height: 1.6;}
.industrial-theme .business-row .offering-line {font-size: 15px; font-weight: 700; color: var(--ink);}
.industrial-theme .business-row .coverage-line {font-size: 12px;}
.industrial-theme .business-actions {gap: 12px; max-width: 245px; padding-top: 2px;}
.business-contact-links {display: flex; flex-direction: column; align-items: flex-end; gap: 3px;}
.industrial-theme .business-contact-links .business-phone {font-size: 14px; font-weight: 650; padding: 2px 0; color: var(--muted);}
.industrial-theme .business-contact-links .source-link {font-size: 12px;}
.industrial-theme .business-evidence-details {margin-top: 9px;}
.industrial-theme .business-evidence-details summary {font-size: 12px; padding: 4px 0; font-weight: 600;}
.industrial-theme .business-row .business-evidence {font-size: 14px; max-width: 750px;}
.industrial-theme .offering-line {font-size: 15px; color: var(--ink); font-weight: 700;}
.industrial-theme .detail-section .offering-line {font-size: 16px; color: var(--ink); font-weight: 700;}
.industrial-theme .offering-evidence {font-size: 14px;}
.industrial-theme .service-match .match-label {font-size: 12px;}
.industrial-theme .service-match details {margin-top: 10px; font-size: 13px;}
.industrial-theme .service-match details p {font-size: 13px;}
.industrial-theme .project-services .company-link {font-size: 21px;}
.industrial-theme .inline-filters input,
.industrial-theme .inline-filters select {font-size: 14px;}
.industrial-theme .workspace-tabs {border-bottom: 2px solid var(--ink); margin: 18px 0 4px;}
.industrial-theme .workspace-tabs a {font-size: 14px; font-weight: 650; padding: 13px 0; border-bottom-width: 3px; margin-bottom: -2px;}
.industrial-theme .workspace-tabs .active {color: var(--accent);}
.industrial-theme .shortlist-row {padding: 26px 0; gap: 35px;}
.industrial-theme .shortlist-row p {font-size: 14px;}
.industrial-theme .note-form label {font-size: 12px; font-weight: 650; color: var(--ink);}
.industrial-theme .note-form textarea {font-size: 14px; min-height: 115px;}
.industrial-theme .saved-permit-link {font-size: 13px; gap: 12px;}
.industrial-theme .saved-search-row h2 {font-size: 23px; font-weight: 800;}
.industrial-theme .saved-search-row p,
.industrial-theme .preferences-form,
.industrial-theme .preferences-form select,
.industrial-theme .preferences-form .checkbox {font-size: 13px;}
.industrial-theme .saved-filters {background: #eeeae3; font-size: 13px;}

/* Research pages inherit the new scale without losing source qualifiers. */
.industrial-theme .company-list-row .address-link,
.industrial-theme .activity-row .address-link,
.industrial-theme .planning-facts .address-link {font-family: var(--heading); font-size: 21px; font-weight: 800; color: var(--ink); letter-spacing: -.4px;}
.industrial-theme .company-list-row p,
.industrial-theme .activity-row p,
.industrial-theme .planning-row,
.industrial-theme .history-row,
.industrial-theme .license-row,
.industrial-theme .planning-coverage,
.industrial-theme .planning-links,
.industrial-theme .history-research,
.industrial-theme .history-research p {font-size: 14px;}
.industrial-theme .company-list-row > div:last-child,
.industrial-theme .activity-row > div:last-child,
.industrial-theme .planning-watched,
.industrial-theme .history-links {font-size: 12px;}
.industrial-theme .planning-facts .eyebrow {font-size: 11px;}
.industrial-theme .work-breakdown a,
.industrial-theme .workspace-status,
.industrial-theme .change-diff,
.industrial-theme .change-heading time {font-size: 13px;}
.industrial-theme .evidence-row {font-size: 14px;}
.industrial-theme .change-row > p {font-size: 15px;}
.industrial-theme .change-heading .address-link {font-size: 20px; font-weight: 750;}
.industrial-theme .workspace-form .field input,
.industrial-theme .workspace-form .field select {font-size: 14px;}

@media (min-width: 981px) {
  .app-rail .navigation-disclosure:not([open]) > :not(summary) {display: block;}
}

@media (max-width: 1200px) {
  :root {--rail-width: 190px;}
  .app-rail {padding-left: 14px; padding-right: 14px;}
  .app-rail .brand strong {font-size: 22px;}
  .industrial-theme .workspace {display: block;}
  .industrial-theme .filter-sidebar {padding: 18px 28px; border-right: 0; border-bottom: 1px solid var(--line);}
  .industrial-theme .location {border: 0; padding: 0; margin: 0;}
  .industrial-theme .location .eyebrow,
  .industrial-theme .location p,
  .industrial-theme .sidebar-note {display: none;}
  .industrial-theme .filter-disclosure .mobile-filter-trigger {display: flex; justify-content: space-between; align-items: center; margin-top: 13px; padding: 12px 0 0; border-top: 1px solid var(--line); font-size: 14px; font-weight: 650; color: var(--accent); list-style: none;}
  .industrial-theme .filter-disclosure:not([open]) #filter-form {display: none;}
  .industrial-theme .filter-disclosure[open] #filter-form {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 20px;}
  .industrial-theme .filter-heading,
  .industrial-theme .filter-sidebar .more-filters,
  .industrial-theme .filter-sidebar .apply-button,
  .industrial-theme .filter-sidebar .form-errors,
  .industrial-theme .filter-sidebar .filter-context {grid-column: 1 / -1;}
  .industrial-theme .filter-sidebar .field {margin: 0;}
  .industrial-theme .filter-heading {margin-bottom: 0;}
  .industrial-theme .detail-layout {grid-template-columns: minmax(0, 1fr) 250px; gap: 25px;}
  .industrial-theme .detail-main {padding-right: 28px; padding-left: 28px;}
  .industrial-theme .business-bookmark {grid-template-columns: minmax(0, 1fr) minmax(240px, 340px);}
}

@media (max-width: 980px) {
  .industrial-theme {padding-left: 0;}
  .app-rail {position: relative; inset: auto; width: 100%; overflow: visible; padding: 0 24px; display: flex; align-items: flex-start; gap: 20px;}
  .app-rail .brand {margin: 0; padding: 20px 0; flex-shrink: 0;}
  .app-rail .brand::before {display: inline-block; width: 19px; height: 5px; margin: 0 10px 5px 0;}
  .app-rail .brand strong {font-size: 23px;}
  .app-rail .navigation-disclosure {min-height: 0; display: block; margin-left: auto; padding: 15px 0;}
  .app-rail .navigation-trigger {display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 44px; padding: 7px 11px; color: var(--rail-text); border: 1px solid #6a766f; font-size: 13px; list-style: none; font-weight: 650;}
  .app-rail .navigation-trigger::-webkit-details-marker {display: none;}
  .app-rail .navigation-trigger span {font-size: 18px;}
  .app-rail .navigation-disclosure[open] .navigation-trigger span {transform: rotate(45deg);}
  .app-rail .navigation-disclosure[open] {width: 100%;}
  .app-rail:has(.navigation-disclosure[open]) {flex-wrap: wrap; gap: 0;}
  .app-rail .navigation-disclosure[open] .navigation-trigger {position: absolute; right: 24px; top: 15px;}
  .app-rail .main-nav {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 6px 0 12px;}
  .app-rail .main-nav a {font-size: 13px; min-height: 44px;}
  .app-rail .account-nav {flex-direction: row; align-items: center; flex-wrap: wrap; gap: 20px; margin: 10px 0 0; padding: 15px 10px 0;}
  .app-rail .account-nav .button {width: auto;}
  .workspace-topbar {padding: 14px 28px; min-height: 48px;}
  .industrial-theme .detail-layout {grid-template-columns: minmax(0, 1fr);}
  .industrial-theme .detail-aside {border-left: 0; border-top: 1px solid var(--line); padding: 26px 0 0;}
  .industrial-theme .detail-aside .aside-divider {max-width: 650px;}
  .industrial-theme .detail-aside .note-form {max-width: 650px;}
  .industrial-theme .shortlist-row,
  .industrial-theme .business-bookmark {grid-template-columns: minmax(0, 1fr); gap: 20px;}
  .industrial-theme .page-heading {align-items: flex-start; flex-wrap: wrap;}
}

@media (max-width: 760px) {
  .app-rail .main-nav {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px;}
  .industrial-theme .detail-main,
  .industrial-theme .results-main {padding: 28px 24px 40px;}
  .industrial-theme .filter-sidebar {padding: 18px 24px;}
  .industrial-theme .filter-disclosure[open] #filter-form {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .industrial-theme .business-row {grid-template-columns: minmax(0, 1fr); gap: 17px;}
  .industrial-theme .business-actions {flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; max-width: none; gap: 12px; padding-top: 0;}
  .business-contact-links {flex-direction: row; flex-wrap: wrap; align-items: center; gap: 15px; flex-basis: 100%;}
  .industrial-theme .business-actions .button {white-space: normal;}
  .service-filter-trigger {display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--accent); font-weight: 650; list-style: none;}
  .service-filter-trigger::-webkit-details-marker {display: none;}
  .service-filter-disclosure[open] .service-filter-trigger span {transform: rotate(45deg);}
  .service-filter-disclosure:not([open]) .service-filters {display: none;}
  .industrial-theme .service-filters {display: grid; grid-template-columns: 1fr 1fr; gap: 18px 13px;}
  .industrial-theme .service-filters .field {min-width: 0; max-width: 100%;}
  .industrial-theme .service-filters .checkbox {grid-column: 1 / -1; margin: 0;}
  .industrial-theme .service-filters .reset-filters {grid-column: 1 / -1; padding: 0;}
  .industrial-theme .section-heading {align-items: baseline;}
  .industrial-theme .company-list-row > div:last-child p {font-size: 13px;}
}

@media (max-width: 620px) {
  .app-rail {padding: 0 18px; gap: 12px;}
  .app-rail .brand {padding: 20px 0;}
  .app-rail .brand strong {font-size: 21px;}
  .app-rail .brand::before {width: 16px; margin-right: 8px;}
  .app-rail .navigation-trigger {gap: 15px; font-size: 12px; padding: 7px 9px;}
  .app-rail .navigation-disclosure[open] .navigation-trigger {right: 18px;}
  .workspace-topbar {font-size: 11px; padding: 12px 18px; gap: 14px; flex-wrap: wrap;}
  .industrial-theme .detail-main,
  .industrial-theme .results-main {padding: 27px 18px 35px;}
  .industrial-theme .page-heading h1,
  .industrial-theme .detail-main h1 {font-size: 36px; letter-spacing: -1.2px; line-height: 1.14;}
  .industrial-theme .page-heading p {font-size: 14px;}
  .industrial-theme .page-heading .eyebrow {font-size: 10px; margin-bottom: 10px;}
  .industrial-theme .page-heading .button {font-size: 12px;}
  .industrial-theme .filter-sidebar {padding: 16px 18px;}
  .industrial-theme .location h2 {font-size: 20px;}
  .industrial-theme .filter-sidebar .field input,
  .industrial-theme .filter-sidebar .field select {font-size: 16px;}
  .industrial-theme input,
  .industrial-theme select,
  .industrial-theme textarea,
  .industrial-theme .field input,
  .industrial-theme .field select,
  .industrial-theme .inline-filters input,
  .industrial-theme .inline-filters select,
  .industrial-theme .workspace-form .field input,
  .industrial-theme .workspace-form .field select,
  .industrial-theme .note-form textarea {font-size: 16px;}
  .industrial-theme .checkbox {font-size: 13px;}
  .industrial-theme .button.small {min-height: 44px;}
  .industrial-theme .scope-banner {font-size: 12px; margin-bottom: 18px;}
  .industrial-theme .scope-banner a {display: inline; white-space: normal; padding-left: 0; margin-left: 0;}
  .industrial-theme .scope-banner {flex-wrap: wrap; gap: 5px 8px;}
  .industrial-theme .search-toolbar {gap: 12px; margin-bottom: 18px;}
  .industrial-theme .search-input {flex-basis: 100%; padding-left: 10px;}
  .industrial-theme .search-input input {font-size: 16px; padding: 10px 8px;}
  .industrial-theme .search-input button span {display: none;}
  .industrial-theme .sort-control select {font-size: 14px; width: 180px; height: 44px;}
  .industrial-theme .result-tabs {gap: 16px; margin-bottom: 17px;}
  .industrial-theme .result-tabs a {font-size: 12px; padding-bottom: 9px;}
  .industrial-theme .result-meta > span:last-child {font-size: 12px;}
  .industrial-theme .research-actions {gap: 16px; font-size: 12px;}
  .industrial-theme .permit-table {display: block; min-width: 0; font-size: 13px;}
  .industrial-theme .permit-table thead {display: none;}
  .industrial-theme .permit-table tbody {display: block;}
  .industrial-theme .permit-table tr {padding: 22px 0; gap: 15px;}
  .industrial-theme .permit-table .project-cell {width: 100%; min-width: 0;}
  .industrial-theme .project-cell .address-link {font-size: 22px;}
  .industrial-theme .project-cell p {font-size: 14px; line-height: 1.6;}
  .industrial-theme .permit-table .date-cell {font-size: 13px;}
  .industrial-theme .permit-table .date-cell::before,
  .industrial-theme .permit-table .estimate::before {font-size: 11px; color: var(--muted);}
  .industrial-theme .permit-table .estimate {font-size: 15px;}
  .industrial-theme .permit-table .estimate.quiet {font-size: 13px;}
  .industrial-theme .bookmark {min-width: 30px; min-height: 44px; padding: 7px 3px;}
  .industrial-theme .permit-table .bookmark-cell {top: 16px; width: 30px;}
  .industrial-theme .business-row .address-link,
  .industrial-theme .business-row .company-link,
  .industrial-theme .shortlist-row .address-link {font-size: 22px;}
  .industrial-theme .business-row p {font-size: 14px;}
  .industrial-theme .business-row .coverage-line {font-size: 12px;}
  .industrial-theme .business-evidence-details summary,
  .industrial-theme .service-match summary {min-height: 44px; display: flex; align-items: center;}
  .industrial-theme .text-button {min-height: 44px;}
  .industrial-theme .service-main > .section-heading {gap: 9px;}
  .industrial-theme .service-main > .section-heading h2 {font-size: 19px;}
  .directory-search {gap: 10px; margin-top: 22px;}
  .directory-search .button {padding: 11px 12px; font-size: 12px; white-space: normal; max-width: 112px;}
  .industrial-theme .definition-list {grid-template-columns: 1fr; font-size: 14px; gap: 5px;}
  .industrial-theme .definition-list dd {margin-bottom: 13px;}
  .industrial-theme .fact-strip strong {font-size: 20px;}
  .industrial-theme .detail-section h2 {font-size: 22px;}
  .industrial-theme .workspace-tabs {gap: 25px;}
  .industrial-theme .workspace-tabs a {font-size: 13px;}
  .industrial-theme .pagination {font-size: 12px; gap: 18px;}
  .industrial-theme .app-footer {font-size: 12px; padding: 19px 18px;}
  .industrial-theme .auth-main h1 {font-size: 36px;}
  .industrial-theme .prose-main {padding: 30px 20px 45px;}
}

@media (prefers-reduced-motion: no-preference) {
  .app-rail .main-nav a {transition: background .15s ease, color .15s ease;}
  .industrial-theme .business-row .address-link,
  .industrial-theme .project-cell .address-link {transition: color .15s ease;}
  .industrial-theme .business-evidence-details[open] > p {animation: arrive .18s ease-out;}
}
.planning-document-brief { border-top: 4px solid var(--accent); }
.planning-document-brief h2 { max-width: 28ch; }
.brief-excerpt { padding: 1rem 0; border-bottom: 1px solid var(--line, #d8d1c7); }
.brief-excerpt blockquote { margin: .5rem 0 .75rem; max-width: 76ch; line-height: 1.65; overflow-wrap: anywhere; }
.brief-excerpt a { font-weight: 700; }

/* Shared company rows and municipality controls. */
.company-list-row>.button{align-self:start}.company-list-row p{overflow-wrap:anywhere}
.municipality-switch {margin-bottom: 24px;}
.municipality-switch label {display: block; font-size: 12px; font-weight: 700; margin-bottom: 7px;}
.municipality-controls {display: flex; align-items: stretch; gap: 6px;}
.municipality-controls select {width: 100%; min-width: 0; flex: 1;}
.industrial-theme .municipality-controls .button {padding: 9px; flex: 0 0 auto;}
