:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182d41;background:#f3f6fa;font-size:16px;--navy:#162d45;--blue:#165c95;--gold:#ffbf47;--line:#d6dfe8;--muted:#576a7d;--white:#fff;--error:#9e3333}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;font-weight:650;border:1px solid transparent;border-radius:6px;padding:.66rem .9rem;font-size:.9rem;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;text-decoration:none;transition:background .15s}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--navy);color:white}.primary:hover{background:#254764}.secondary{background:white;border-color:#bdcad7;color:var(--navy)}.secondary:hover{background:#edf3f8}.danger{color:#983535;background:#fff4f4;border-color:#e6c8c8}.text-button{padding:.4rem 0;color:var(--blue);background:none;text-align:left}.text-button:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #efaa27;outline-offset:3px}a{color:#125d95}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.35rem,2vw,1.85rem);font-weight:650;letter-spacing:-.045rem;margin-bottom:0}h2{font-size:1.4rem;line-height:1.25;margin:.35rem 0 .7rem}h3{font-size:1rem;margin:0 0 .6rem}p{line-height:1.55}label{display:block;font-size:.875rem;font-weight:600;margin:0 0 .45rem}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #bccbd7;border-radius:5px;background:white;color:#182d41;padding:.65rem .7rem;font-size:1rem;margin:.35rem 0 1rem;min-height:43px}textarea{resize:vertical;line-height:1.4}input::placeholder,textarea::placeholder{color:#66788a;opacity:1}.small{font-size:.875rem}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.13em;color:#5b6e81;margin:0 0 .5rem;display:block}.masthead{display:flex;justify-content:space-between;align-items:center;padding:1rem max(24px,calc((100vw - 1512px)/2));background:var(--navy);color:white}.brand{color:white;text-decoration:none;display:flex;gap:.7rem;align-items:center;font-size:1.25rem;letter-spacing:-.025em;font-weight:700}.brand small{display:block;font-size:.63rem;font-weight:450;letter-spacing:.18em;margin-top:.18rem;color:#bdcddd}.brandmark{border:1px solid #8193a5;border-radius:5px;font-family:Georgia,serif;padding:.1rem .45rem;font-size:1.65rem}.brandmark span{color:var(--gold)}.edition{font-size:.9rem;display:flex;gap:1rem;align-items:center}.badge{font-size:.7rem;letter-spacing:.1em;font-weight:700;border:1px solid #617c96;padding:.3rem .5rem;border-radius:3px;color:#dce7f1}main{max-width:1560px;margin:auto;padding:1.7rem 24px}.topline{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.7rem}.session-note{font-size:.8rem;line-height:1.5;color:var(--muted);margin:0;flex-shrink:0}.steps{display:flex;border-bottom:1px solid #c8d5e1;margin:0 0 1rem;gap:1rem}.step{border-radius:0;background:none;gap:.7rem;padding:1rem .6rem;color:#56697a;border-bottom:3px solid transparent}.step span{font-size:.75rem;font-weight:500}.step.active{color:var(--navy);border-bottom-color:var(--navy)}.step b{font-size:.7rem;background:#dee7ef;border-radius:20px;padding:.2rem .4rem;min-width:1.5rem}.notice{padding:.9rem 1rem;margin-bottom:1rem;border:1px solid #9ebfdc;background:#edf5fc;font-size:.9rem;border-radius:5px}.notice.error{color:#7c2e2e;border-color:#e1afaf;background:#fff4f4}.map-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.search-pane{padding:1.4rem;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.pane-heading p{font-size:.9rem;color:var(--muted);margin-bottom:1.3rem}.search-row{display:flex;gap:.4rem;align-items:start}.search-row input{min-width:0;margin-top:0}.search-row button{height:44px}.search-results{max-height:240px;overflow-y:auto;margin-top:.8rem}.result{border-top:1px solid var(--line);padding:.65rem 0;display:flex;align-items:center;gap:.5rem}.result-info{flex:1;min-width:0}.result-info button{display:block;text-align:left;background:none;color:var(--navy);padding:.1rem 0;font-size:.9rem}.result small{display:block;font-size:.8rem;overflow-wrap:anywhere;color:var(--muted);margin-top:.25rem}.result .add{padding:.5rem .65rem;font-size:.8rem}.import-box{border-top:1px solid var(--line);margin-top:auto;padding-top:1.3rem}.import-box p{font-size:.85rem;color:var(--muted)}.import-box .text-button{display:block;font-size:.8rem;margin-top:.5rem}.file-button{position:relative;width:100%}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0!important}.selection-summary{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem;font-size:.8rem;gap:.4rem}.selection-summary strong{font-size:1.3rem}.selection-summary button{font-size:.8rem}.map-shell{display:flex;flex-direction:column;min-height:670px;min-width:0}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.7rem 1rem;background:#fff;border-bottom:1px solid var(--line);z-index:500}.map-toolbar span{font-size:.8rem;color:var(--muted);margin-left:auto}#map{min-height:540px;flex:1;background:#e9eef2}.map-bottom{padding:.65rem 1rem;font-size:.75rem;display:flex;justify-content:space-between;gap:1rem;background:#edf2f7;color:#455e72;border-top:1px solid var(--line)}.map-bottom span:last-child{flex-shrink:0}.source-note{display:flex;justify-content:space-between;gap:2rem;font-size:.75rem;color:var(--muted);margin-top:1rem}.source-note p{margin:0}.source-note p:first-child{max-width:850px}.source-note p:last-child{max-width:280px}.section-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.section-bar p{margin-bottom:0;font-size:.9rem;color:var(--muted)}.section-bar .eyebrow{font-size:.75rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap}.review-options{background:#e8eff6;border:1px solid #ccdae6;border-radius:6px;padding:1rem;margin:1rem 0}.checkbox{display:flex;gap:.7rem;align-items:flex-start;font-size:.875rem;line-height:1.5;font-weight:500}.checkbox input{width:18px;height:18px;flex:0 0 18px;margin-top:.1rem;accent-color:var(--navy)}.review-options p{margin:.6rem 0 0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:6px;background:#fff}table{border-collapse:collapse;width:100%;text-align:left}th{background:#eaf0f6;font-size:.8rem;letter-spacing:.025em;font-weight:600;padding:1rem;white-space:nowrap}td{padding:1rem;vertical-align:top;border-top:1px solid var(--line);min-width:180px}td:first-child{width:24%}td:nth-child(2){width:25%}td:nth-child(3){width:28%}td:last-child{min-width:70px;width:70px}td textarea,td input:not([type=checkbox]){font-size:.875rem;min-width:180px;margin:0 0 .35rem;min-height:36px;padding:.45rem .55rem}td textarea{min-height:62px}.property-id{font-size:.75rem;color:var(--muted);line-height:1.6}.row-status{font-size:.8rem;color:#54715f}.row-status.warn{color:#925c17}.row-status.error{color:#9c3030}.empty{text-align:center;padding:4rem 1rem;background:white;border:1px dashed #bacbdc;border-radius:6px}.empty-number{color:#a6b7c8;font-size:2.5rem;letter-spacing:-.1rem}.empty p{color:var(--muted);font-size:.9rem}.section-footer{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 0}.section-footer p{margin:0}.letter-workspace{display:grid;grid-template-columns:minmax(340px,1fr) minmax(430px,1.05fr);gap:2rem;align-items:start}.letter-editor{padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:7px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.field-grid label{min-width:0}.span-2{grid-column:1/-1}.optional{color:var(--muted);font-size:.75rem;font-weight:400}.letter-editor details{border-top:1px solid var(--line);padding:1rem 0}.letter-editor summary{font-size:.9rem;cursor:pointer;margin-bottom:.5rem}.merge-help p{font-size:.85rem;line-height:1.8;overflow-wrap:anywhere}code{background:#edf2f7;color:#335474;border-radius:3px;padding:.1rem .25rem;font-size:.8rem}.preview-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}.preview-toolbar h3{white-space:nowrap}.preview-toolbar select{max-width:300px;font-size:.875rem}.paper{background:white;border:1px solid #d9e1e9;box-shadow:0 6px 18px #1b36551a;padding:2.6rem 2.8rem;min-height:640px;font-family:Georgia,"Times New Roman",serif;line-height:1.6;color:#202b36;font-size:.9rem;overflow-wrap:anywhere}.paper .sender{font-family:Arial,sans-serif;font-size:1.05rem;font-weight:bold;border-bottom:2px solid #293f56;padding-bottom:.7rem;margin-bottom:1.7rem}.paper .sender small{display:block;font-size:.8rem;font-weight:normal;white-space:pre-line}.paper .to,.paper .body-text,.paper .closing{white-space:pre-line}.paper .subject{font-weight:bold;margin-top:1.5rem}.paper .reference{font-family:Arial,sans-serif;color:#617080;font-size:.7rem;border-top:1px solid #ddd;margin-top:1.5rem;padding-top:.5rem}.preview-column>.small{margin:.7rem 0 1rem}.download-panel{padding:1.3rem;background:#e7eef6;border:1px solid #bdcede;border-radius:7px}.download-buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.download-buttons .primary{flex:1 0 100%}.download-buttons .secondary{flex:1}.download-panel p:last-child{margin-bottom:0}footer{max-width:1512px;margin:0 auto;border-top:1px solid var(--line);padding:1.5rem 0 2rem;display:flex;justify-content:space-between;gap:3rem;font-size:.8rem}footer p{max-width:780px;color:var(--muted);margin:0}dialog{border:1px solid var(--line);border-radius:8px;max-width:470px;padding:2rem;box-shadow:0 12px 60px #0003}dialog::backdrop{background:#182d4166}dialog .actions{justify-content:flex-end}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}.leaflet-container{font:inherit}.leaflet-control-attribution{font-size:12px!important}.draw-cursor{cursor:crosshair!important}
@media(min-width:1200px){.preview-column{position:sticky;top:1rem}}@media(max-width:1050px){.session-note{display:none}.map-workspace{grid-template-columns:290px minmax(0,1fr)}.map-toolbar span{display:none}.letter-workspace{gap:1rem;grid-template-columns:minmax(300px,1fr) minmax(340px,1fr)}.paper{padding:1.8rem}footer{margin:0 24px}.field-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}@media(max-width:740px){main{padding:1.3rem 14px}.masthead{padding:1rem 16px}.edition{font-size:.8rem;gap:.5rem}.topline{margin-bottom:1rem}.topline h1{max-width:25ch}.steps{gap:0}.step{font-size:.8rem;flex:1;gap:.4rem;padding:.8rem .25rem;flex-wrap:wrap}.step span{font-size:.7rem}.step b{display:none}.map-workspace{display:flex;flex-direction:column}.search-pane{border-right:0;border-bottom:1px solid var(--line);padding:1rem}.pane-heading h2{font-size:1.2rem}.pane-heading p{margin-bottom:.7rem}.search-results{max-height:180px}.import-box{margin-top:1rem;padding-top:1rem}.import-box p{margin-bottom:.6rem}.import-box .file-button{width:auto}.import-box .text-button{display:inline-flex;margin-left:.7rem}.selection-summary{margin-top:.6rem;padding-top:.6rem}.map-shell{min-height:430px}#map{min-height:365px}.map-toolbar{padding:.6rem}.map-toolbar button{font-size:.8rem}.source-note{display:block}.source-note p:last-child{max-width:none;margin-top:.5rem}.section-bar{display:block}.section-bar .actions{margin-top:1rem}.letter-workspace{display:block}.letter-editor{padding:1rem;margin-bottom:1rem}.field-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.paper{padding:1.7rem;min-height:0}.preview-toolbar{gap:.5rem}.preview-toolbar select{max-width:60%}.section-footer{align-items:flex-end;gap:1rem}footer{margin:0 14px;display:block}footer p{margin-top:.7rem}.download-buttons .secondary{flex-basis:100%}}@media(max-width:400px){.field-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.edition .badge{display:none}.paper{padding:1.2rem}}

/* Guided workflow and company letterhead */
.workflow-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1rem;scroll-margin-top:1rem}.workflow-nav p{font-size:.875rem;color:var(--muted);margin:0}.workflow-nav.bottom{margin:1.3rem 0 0;padding:1.1rem 0;border-top:1px solid var(--line)}.panel{scroll-margin-top:1rem}.panel:focus{outline:none}.logo-settings{margin:.6rem 0 1.4rem;padding:1rem;border:1px solid var(--line);border-radius:6px;background:#f7f9fc;min-width:0}.logo-settings legend{font-size:.9rem;font-weight:650;padding:0 .35rem}.logo-settings input[type=file]{font-size:.875rem;max-width:100%;padding:.5rem}.logo-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.logo-controls label{flex:1;min-width:150px}.logo-controls select{margin-bottom:0}.logo-controls button{align-self:flex-end;margin-bottom:.45rem}.logo-settings p{margin:.6rem 0 0}.letter-logo{display:flex;align-items:center;margin-bottom:1rem;min-height:0}.letter-logo.align-left{justify-content:flex-start}.letter-logo.align-center{justify-content:center}.letter-logo.align-right{justify-content:flex-end}.letter-logo img{display:block;max-width:150px;max-height:60px;object-fit:contain;width:auto;height:auto}.final-download{max-width:960px;margin:1.2rem auto 2rem;padding:2rem}.download-summary{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 2rem;margin:1.4rem 0}.download-summary dt{font-size:.8rem;color:var(--muted);margin-bottom:.3rem}.download-summary dd{margin:0;font-size:1rem;overflow-wrap:anywhere}.alternate-downloads{padding:1rem 0}.final-download>.checkbox{padding:1rem 0;border-top:1px solid #bdcede;border-bottom:1px solid #bdcede;margin:1rem 0}
@media(max-width:740px){.steps{display:grid;grid-template-columns:1fr 1fr}.step{justify-content:flex-start;padding:.75rem .5rem}.workflow-nav{align-items:stretch;flex-wrap:wrap}.workflow-nav p{flex-basis:100%}.workflow-nav>.primary{margin-left:auto}.final-download{padding:1.2rem}.download-summary{grid-template-columns:1fr}.logo-controls{gap:.6rem}.workflow-nav.bottom .primary{width:100%}}

/* A warmer, clearer treatment for the parcel-to-print workflow. */
body{background:linear-gradient(180deg,#edf4fa 0,#f7f8fa 380px,#f3f6fa 100%)}
.masthead{background:linear-gradient(105deg,#12273c,#1c3d59);border-bottom:3px solid #d7a441}
.topline .eyebrow{color:#94681e}
.steps{border-bottom-color:#c4d3df}
.step{transition:background .15s,color .15s,border-color .15s}
.step:hover:not(.active){background:#e8eff5;color:var(--navy)}
.step.active{background:linear-gradient(180deg,#fffaf0,#fff);border-bottom-color:#d8a13d}
.step.active b{background:#ffedc4;color:#533b13}
.map-workspace,.letter-editor,.table-wrap,.print-option{box-shadow:0 8px 28px #1b36550d}
.map-toolbar{background:#f8fbfd}
.selection-summary{margin-top:1rem;padding:.8rem .7rem;background:#f7f9fb;border:1px solid #e1e8ee;border-radius:6px}
.selection-summary strong{color:#9b6b17}
.selection-summary .reset-selection{padding:.42rem .7rem;color:#57401b;background:#fff7e7;border-color:#dfc27e;font-size:.8rem}
.selection-summary .reset-selection:hover:not(:disabled){background:#ffedc4;border-color:#c9993d}
.mailing-cta{background:#ffcf68;color:#172e45;border:1px solid #d4a13c;border-radius:6px;padding:.72rem 1rem;font-weight:750;box-shadow:0 3px 0 #d7a34445;transition:background .15s,transform .15s,box-shadow .15s}
.mailing-cta:hover:not(:disabled){background:#ffd982;transform:translateY(-1px);box-shadow:0 5px 10px #d7a34435}
.mailing-cta svg{width:1.1rem;height:.95rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.download-panel{background:linear-gradient(135deg,#e7eef6,#f3f7fa);border-color:#bdcede}
@media(max-width:740px){.selection-summary{margin-top:.6rem;padding:.55rem .6rem}.mailing-cta{width:100%;justify-content:center}}

.footer-settings{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:6px;min-width:0}.footer-settings legend{font-size:.9rem;font-weight:650;padding:0 .35rem}.footer-settings p{margin:.2rem 0 .7rem}.paper .organization-footer{text-align:center;white-space:pre-line;font-family:Arial,sans-serif;font-size:.78rem;line-height:1.5;font-weight:400;color:#333;margin-top:2rem;padding-top:.5rem}

.print-option{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.4rem;margin:1.2rem 0;scroll-margin-top:1rem}.print-option h3{font-size:1.15rem;margin:0 0 .7rem}.print-option>p{font-size:.9rem;line-height:1.55}.print-option .checkbox{margin:1rem 0}.print-option .actions{margin:.9rem 0}.print-option .print-help{margin-top:1rem;font-size:.8rem}.print-option:focus{outline:2px solid #22567b;outline-offset:3px}@media(max-width:740px){.final-download{padding:1rem}.print-option{padding:1rem}.print-option .actions{flex-direction:column;align-items:stretch}}

/* Statewide selection and CSV mapping */
.location-picker{padding-bottom:.6rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}.location-picker p{line-height:1.5;margin:.4rem 0}.location-picker select{margin-bottom:.65rem}#csv-mapping{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:90vh;overflow:auto}#csv-map-status{color:#7c2e2e}#csv-mapping .actions{position:sticky;bottom:-2rem;background:white;padding:1rem 0}.brand small{font-size:.7rem}.source-note{font-size:.8125rem}@media(max-width:420px){.edition{max-width:100px;text-align:right}.brand{font-size:1.15rem}.brandmark{font-size:1.4rem}.edition .badge{display:none}}

/* Engineering and land-project template fields */
.audience-line{font-size:1rem;color:var(--muted);max-width:64ch;margin:.65rem 0 0;line-height:1.5}.template-fields{min-width:0;margin:1.15rem 0;padding:1rem;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}.template-fields legend{font-size:.95rem;font-weight:650;padding:0 .35rem}.template-fields .field-grid{margin:0}.template-fields [data-template-field]{min-width:0}.template-fields textarea{resize:vertical}.template-fields[hidden],[data-template-field][hidden]{display:none!important}#template-note{line-height:1.5}#template-choice{max-width:100%}.merge-help code{overflow-wrap:anywhere}

/* Local signature and an explicit signatory block */
.signer-settings,.signature-settings{min-width:0;padding:1rem;margin:1rem 0;border:1px solid var(--line);border-radius:6px;background:#f7f9fc}.signer-settings legend,.signature-settings legend{font-size:1rem;font-weight:650;padding:0 .35rem}.signature-settings input[type=file]{max-width:100%;font-size:.875rem}.signature-settings textarea{resize:vertical}.closing-block{break-inside:avoid}.paper .closing-block p{white-space:pre-wrap;margin:0}.paper .signature-space{height:54px;display:flex;align-items:center;justify-content:flex-start}.signature-space img{display:block;max-width:156px;max-height:36px;width:auto;height:auto;object-fit:contain}.paper .signatory-text{line-height:1.45}.paper .closing-block{margin-bottom:1rem}
