:root{font-family:Instrument Sans,system-ui,sans-serif;color:#20212a;background:#f7f7f8;font-synthesis:none;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body,h1,h2,h3,p{margin:0}input,button,textarea,select{font:inherit}a{color:inherit}.report-page{--municipal-blue: #07558a;--municipal-blue-dark: #06456f;--gold: #f3b82e;--muted: #566172;--border: #c8ccd5;--paper: #fff;--focus: #0e6a9c;min-height:100vh}.report-page :focus-visible{outline:3px solid var(--focus);outline-offset:3px}.report-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.report-hero{position:relative;isolation:isolate;color:#fff;background-color:#123b63;background-image:linear-gradient(90deg,#103a61,#103a61f2 29%,#113351a1 51%,#0a1d3329 75%),var(--town-photo);background-position:center,right 53%;background-size:cover,max(78%,920px) auto;background-repeat:no-repeat}.masthead{position:relative;isolation:isolate;display:flex;min-height:112px;align-items:center;gap:clamp(1.2rem,3.6vw,3.5rem);padding:.55rem clamp(1.2rem,4vw,4rem) .85rem}.masthead:before,.masthead:after{position:absolute;z-index:-1;inset:0 auto -1px 0;width:67%;clip-path:ellipse(84% 104% at 18% -9%);content:""}.masthead:before{background:linear-gradient(90deg,#fff9ef 0%,#fff 56%,var(--gold) 72%,rgb(243 184 46 / 0%) 100%);transform:translateY(5px)}.masthead:after{background:linear-gradient(90deg,#fff 0% 58%,#ffffffe0 77%,#fff0)}.municipal-brand{display:flex;flex:none;align-items:center;gap:.8rem;text-decoration:none}.municipal-brand img{width:3.55rem;height:5rem;object-fit:contain}.municipal-brand span{display:grid;color:#272532;font-size:1.05rem;font-weight:700;line-height:1.15}.municipal-brand strong{color:var(--municipal-blue);font-size:clamp(2.25rem,4vw,2.9rem);letter-spacing:-.07em;line-height:.95}.brand-motto{color:var(--municipal-blue);font:italic 700 clamp(1.15rem,2vw,1.7rem) Georgia,serif;white-space:nowrap;transform:rotate(-5deg)}.brand-motto:after{display:block;width:65%;height:3px;margin:.22rem 0 0 20%;border-radius:80% 30% 0 0;background:linear-gradient(90deg,var(--municipal-blue),var(--gold));content:""}.public-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-left:auto}.public-nav a{display:inline-flex;min-height:2.5rem;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:.45rem;background:#0e2237c2;color:#fff;font-size:.9rem;font-weight:700;text-decoration:none}.public-nav a:hover{background:#0e2237f0}.public-nav .staff-login{background:var(--municipal-blue)}.public-nav .staff-login:hover{background:var(--municipal-blue-dark)}.public-nav svg{width:1.25rem;height:1.25rem}.public-nav :focus-visible{outline-color:var(--gold)}.report-banner{display:flex;width:min(100%,100rem);min-height:133px;align-items:center;gap:clamp(.8rem,2vw,1.7rem);margin:0 auto;padding:.9rem clamp(1.2rem,4vw,3rem) 1.35rem}.banner-bulb{width:clamp(3.3rem,7vw,5.8rem);height:clamp(3.3rem,7vw,5.8rem);flex:none;color:#fff;filter:drop-shadow(0 0 12px rgb(243 184 46 / 52%))}.report-banner h1{font-size:clamp(1.65rem,3.15vw,2.35rem);line-height:1.06;letter-spacing:-.027em}.report-banner p{max-width:43rem;margin-top:.45rem;font-size:clamp(.94rem,1.4vw,1.1rem);font-weight:500;line-height:1.38}.report-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);align-items:start;gap:1.1rem;width:min(100%,100rem);margin-inline:auto;padding:1rem clamp(.85rem,1.65vw,1.6rem) 1.8rem}.report-card{min-width:0;overflow:hidden;border:1px solid #d4d6de;border-radius:.85rem;background:var(--paper);box-shadow:0 2px 7px #1e38510a}.report-title{display:flex;width:100%;align-items:center;gap:.8rem;padding:.55rem clamp(.9rem,1.7vw,1.65rem);background:linear-gradient(105deg,var(--municipal-blue),#104c75);color:#fff;font-size:1.28rem;line-height:1.3}.report-title svg{width:1.5rem;height:1.5rem;flex:none}.citizen-form{padding:.95rem clamp(.85rem,1.65vw,1.65rem) .8rem}.form-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.85rem;min-width:0;margin:0;padding:0;border:0}.form-fields[disabled]{opacity:.72}.report-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem clamp(.9rem,2.6vw,2.65rem)}.rut-lookup-status,.field-hint{color:var(--muted);font-size:.83rem;line-height:1.4}.rut-lookup-status:empty{display:none}.report-field{display:grid;grid-template-columns:1.55rem minmax(0,1fr);gap:.7rem;align-items:start;min-width:0}.report-field .field-icon{width:1.4rem;height:1.4rem;margin-top:.15rem;color:#343642}.field-content{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;min-width:0}.field-content>label:not(.file-drop,.check-option),.field-label{font-size:.96rem;font-weight:700;line-height:1.28}.optional{font-size:.87em;font-weight:500}.required-mark{color:#9a1838}.report-page input:not([type=radio],[type=checkbox],[type=file]),.report-page textarea,.report-page select{min-width:0;width:100%;padding:.42rem .65rem;border:1px solid var(--border);border-radius:.42rem;background:#fdfdfd;color:#1f2531;font-size:.92rem;line-height:1.4}.report-page input:not([type=radio],[type=checkbox],[type=file]),.report-page select{min-height:2.22rem}.report-page textarea{min-height:3.55rem;resize:vertical}.report-page ::placeholder{color:#646d7d}.report-page [aria-invalid=true]:not([type=file]){border-color:#aa2042}.report-page input[type=radio],.report-page input[type=checkbox]{accent-color:var(--municipal-blue)}.problem-field{margin:0;padding:0;border:0}.problem-options{display:flex;flex-wrap:wrap;gap:.45rem clamp(.75rem,2.2vw,2.05rem)}.problem-options label,.check-option{display:inline-flex;align-items:flex-start;gap:.45rem;color:#303644;font-size:.92rem;line-height:1.4;cursor:pointer}.problem-options input,.check-option input{width:1.1rem;height:1.1rem;flex:none;margin:.04rem 0 0}.location-controls,.status-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.75rem}.report-location{display:grid;gap:.48rem}.address-label{margin-top:.55rem}.locality-search{position:relative}.locality-search .locality-search-icon{position:absolute;inset:50% auto auto .65rem;width:1rem;height:1rem;transform:translateY(-50%);color:var(--muted);pointer-events:none}.report-page #locality_name{padding-left:2.1rem}.locality-options{position:absolute;z-index:500;inset:calc(100% + .3rem) 0 auto;max-height:13rem;margin:0;padding:.35rem;overflow:auto;border:1px solid var(--border);border-radius:.75rem;background:var(--paper);box-shadow:0 .6rem 1.5rem #13334e2e;list-style:none}.locality-options li{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.6rem .7rem;border-radius:.45rem;font-size:.92rem;overflow-wrap:anywhere;cursor:pointer}.locality-options li[aria-selected=true]{color:var(--municipal-blue);font-weight:700}.locality-options li svg{width:1rem;height:1rem;flex:none}.locality-options li:hover,.locality-options li[data-active=true]{background:#e8f3fc;color:#104c75}.locality-feedback,.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .75rem}.locality-feedback p,.locality-hint,.location-feedback,.report-coordinates{color:var(--muted);font-size:.83rem;line-height:1.4}.report-coordinates{font-variant-numeric:tabular-nums}.report-extras{align-items:start}.file-drop{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);justify-content:center;align-items:center;gap:.4rem .75rem;min-height:5.4rem;padding:.75rem 1rem .65rem;border:1px dashed #a4a9b6;border-radius:.55rem;background:#f7f7fa;color:#343644;cursor:pointer}.file-drop:hover,.file-drop.is-dragging{border-color:var(--municipal-blue);background:#edf6fc}.file-drop:focus-within{outline:3px solid var(--focus);outline-offset:2px}.file-drop svg{width:2rem;height:2rem;color:#606676}.file-drop span{overflow-wrap:anywhere;font-size:.88rem}.file-drop small{grid-column:1 / -1;color:var(--muted);text-align:center}.check-option{margin-top:.35rem}.check-option input{margin-top:.15rem}.form-footer{display:grid;gap:.8rem;margin-top:.1rem}.form-footer p{color:var(--muted);font-size:.8rem;line-height:1.45}.report-actions,.receipt-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.report-button{display:inline-flex;min-height:2.55rem;align-items:center;justify-content:center;gap:.45rem;padding:.5rem .85rem;border:1px solid var(--municipal-blue);border-radius:.43rem;background:linear-gradient(125deg,#11699d,#07558a);color:#fff;font-size:.86rem;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}.report-button svg{width:1.15rem;height:1.15rem;flex:none}.report-button:hover{background:var(--municipal-blue-dark)}.report-button:disabled{opacity:.7;cursor:wait}.report-button.secondary{border-color:#aeb3c1;background:#f2f3f6;color:#343746}.report-button.secondary:hover{border-color:#858c9c;background:#e8eaf0}.report-link{justify-self:start;padding:.15rem 0;border:0;background:transparent;color:var(--municipal-blue);font-size:.82rem;font-weight:700;cursor:pointer}.report-error{color:#9a1838;font-size:.82rem}.form-feedback{margin-bottom:.85rem;padding:.55rem .7rem;border:1px solid #f0b7c7;border-radius:.4rem;background:#fff1f5;color:#921b38;font-size:.88rem}.report-sidebar{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem}.side-panel{min-width:0;padding:.95rem clamp(.85rem,1.4vw,1.25rem);border:1px solid transparent;border-radius:.72rem;color:#292937}.side-panel h2{display:flex;align-items:center;gap:.65rem;font-size:clamp(1.08rem,1.55vw,1.28rem);line-height:1.25}.side-panel h2 svg{width:2rem;height:2rem;flex:none}.side-panel ul,.side-panel ol{display:grid;gap:.8rem;margin:.85rem 0 0;line-height:1.38}.side-panel ul{padding-left:1.25rem}.side-panel li{padding-left:.3rem;font-size:.98rem}.info-panel{border-color:#c8d9f5;background:#eaf0fb}.info-panel h2{color:#1b355f}.info-panel h2 svg{color:#2858a0}.info-panel li::marker{color:var(--municipal-blue)}.steps-panel{border-color:#f3e1b6;background:#fbefd5}.steps-panel h2 svg{color:var(--municipal-blue)}.steps-panel ol{counter-reset:report-step;padding:0;list-style:none}.steps-panel li{display:flex;gap:.7rem;align-items:start;padding-left:.55rem}.steps-panel li:before{display:grid;flex:0 0 1.65rem;height:1.65rem;place-items:center;border-radius:50%;background:var(--municipal-blue);color:#fff;font-size:.85rem;font-weight:700;counter-increment:report-step;content:counter(report-step)}.status-panel{background:linear-gradient(115deg,#07558a,#123b63);color:#fff}.status-panel form{display:grid;gap:.4rem;margin-top:.7rem}.status-panel label{font-size:.85rem;font-weight:650}.status-panel .report-button{border-color:#fff;background:transparent}.status-panel .report-button:hover{background:#fff;color:var(--municipal-blue)}.status-panel :focus-visible{outline-color:var(--gold)}.status-message{margin-top:.35rem;font-size:.88rem}.report-receipt{display:grid;justify-items:start;gap:.8rem;padding:clamp(1.15rem,4vw,2.5rem)}.report-receipt>svg{width:2.75rem;height:2.75rem;color:#137754}.report-receipt h3{font-size:1.5rem;color:#13513c}.report-receipt strong{max-width:100%;padding:.6rem .8rem;border:1px solid #c7e5d7;border-radius:.45rem;background:#edf9f2;color:#13513c;font-family:ui-monospace,monospace;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.receipt-actions{justify-content:flex-start}@media(min-width:1150px){.form-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center}}@media(max-width:1050px){.report-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.masthead{gap:1.25rem}.masthead:before,.masthead:after{width:74%}.side-panel li{font-size:.92rem}}@media(max-width:820px){.report-layout{grid-template-columns:minmax(0,1fr)}.report-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.status-panel{grid-column:1 / -1}.brand-motto{display:none}.masthead:before,.masthead:after{width:73%}}@media(max-width:570px){.report-hero{background-size:cover;background-position:center,62% center}.masthead{min-height:0;flex-wrap:wrap;gap:.55rem;padding:.7rem 1rem}.masthead:before,.masthead:after{width:100%;clip-path:ellipse(96% 98% at 8% -16%)}.municipal-brand img{width:2.65rem;height:3.75rem}.municipal-brand strong{font-size:2rem}.municipal-brand span{font-size:.85rem}.public-nav{width:100%;justify-content:flex-start;gap:.35rem}.public-nav a{padding-inline:.55rem}.report-banner{align-items:start;min-height:0;padding:.8rem 1rem 1.05rem}.report-fields,.report-sidebar{grid-template-columns:minmax(0,1fr)}.report-field{grid-template-columns:1.25rem minmax(0,1fr);gap:.5rem}.report-field .field-icon{width:1.15rem;height:1.15rem}.location-controls{grid-template-columns:minmax(0,1fr);gap:.4rem}.location-controls .report-button{justify-self:start}.report-actions>button{flex:1 1 9rem}.report-page input:not([type=radio],[type=checkbox],[type=file]),.report-page textarea,.report-page select{font-size:1rem}}
