:root{font-family:Inter,system-ui,sans-serif;color:#173142;background:#eef4f5}
*{box-sizing:border-box}
body{margin:0}
header{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#123047;color:white}
header a{color:inherit;text-decoration:none;display:flex;gap:12px;align-items:center}
header b{letter-spacing:.08em}
header span{opacity:.75}
.header-actions,.cmp-mark{display:flex;align-items:center}
.header-actions{gap:16px}
.cmp-mark{gap:9px;padding-right:16px;border-right:1px solid #ffffff33;font-size:.76rem;font-weight:700;line-height:1.15;text-align:left}
.cmp-mark img{width:44px;height:44px;object-fit:contain;border-radius:50%;background:white;padding:3px}
.share-site{margin:0;padding:10px 14px;border:1px solid #ffffff55;background:#ffffff12;color:#fff}
.share-site:hover{background:#ffffff22}
.internal{border:1px solid #ffffff55;border-radius:9px;padding:10px 14px}
main{max-width:980px;margin:auto;padding:48px 22px 70px}
.hero{text-align:center;margin-bottom:28px}
.hero p{color:#1597a7;font-weight:800;letter-spacing:.14em}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);margin:.2em 0}
.hero span{color:#5b6e78}
.card{background:white;padding:clamp(22px,4vw,42px);border-radius:20px;box-shadow:0 18px 60px #17314218;margin:22px 0}
.assessment-lookup{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr) auto;align-items:end;gap:18px;border:1px solid #b9d9de;background:linear-gradient(120deg,#fff,#f0f8f9)}.assessment-lookup small{color:#1597a7;font-weight:800;letter-spacing:.12em}.assessment-lookup h2{margin:5px 0}.assessment-lookup p{margin:0;color:#627782}.assessment-lookup label,.assessment-lookup button{margin:0}.assessment-lookup input{text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.location-picker{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid #dce7ea}
.location-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:16px}
.location-heading small{color:#1597a7;font-weight:800;letter-spacing:.12em}
.location-heading h2{font-size:clamp(1.25rem,3vw,1.75rem);margin:5px 0}
.location-heading p{color:#627782;margin:0}
.map-action{flex:0 0 auto;margin:0;background:#176b87;padding:12px 16px}
.map-action:disabled{opacity:.6;cursor:wait}
.neighborhood-field{margin-bottom:14px}
#publicMap{height:420px;border:1px solid #bfd0d6;border-radius:15px;overflow:hidden;background:#dfe9ec;z-index:0}
#publicMap .leaflet-control-layers,#contributionMap .leaflet-control-layers{max-width:185px;border:1px solid #bfd1d7;border-radius:9px;background:#fffffff2;box-shadow:0 3px 12px #12304724;font:700 12px/1.25 system-ui;color:#173747}#publicMap .leaflet-control-layers-expanded,#contributionMap .leaflet-control-layers-expanded{padding:8px 10px}#publicMap .leaflet-control-layers label,#contributionMap .leaflet-control-layers label{display:flex;align-items:center;gap:5px;margin:2px 0;white-space:nowrap}#publicMap .leaflet-control-layers input,#contributionMap .leaflet-control-layers input{width:16px;height:16px;min-height:0;margin:0}
.map-caption{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px}
#publicLocationStatus{font-weight:700;margin:0;color:#24485b;max-width:620px}
.cl-legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px 11px;color:#627782;font-size:.8rem}
.cl-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.cl-legend i{width:14px;height:14px;border-radius:4px;background:var(--cl-color);border:1px solid #ffffff;box-shadow:0 0 0 1px #9eb3ba}
.field-help{font-weight:500;color:#71838d}
input[readonly]{background:#eef4f5;color:#173142;font-weight:800}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.public-cq{margin-top:28px;padding:24px;border:1px solid #c9dde1;border-radius:16px;background:#f5fafb}.public-cq-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}.public-cq-heading small{color:#1597a7;font-weight:800;letter-spacing:.12em}.public-cq-heading h2{margin:5px 0;font-size:1.45rem}.public-cq-heading p{margin:0;color:#627782;max-width:650px}.public-cq-value{min-width:118px;padding:13px 16px;border-radius:13px;background:#123047;color:#fff;text-align:center}.public-cq-value span{display:block;font-size:.76rem;opacity:.75}.public-cq-value strong{display:block;margin-top:3px;font-size:1.7rem}.public-cq-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.public-cq-groups section{min-width:0;padding:16px;border:1px solid #d4e3e6;border-radius:13px;background:#fff}.public-cq-groups h3{margin:0 0 12px;font-size:1rem}.public-cq-options{display:grid;gap:8px}.public-cq-options label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border-radius:9px;background:#f4f8f9;font-size:.86rem;font-weight:600;cursor:pointer}.public-cq-options label:has(input:checked){background:#e3f3f0;box-shadow:inset 3px 0 #16826c}.public-cq-options.negative label:has(input:checked){background:#fff0ee;box-shadow:inset 3px 0 #d84c3f}.public-cq-options input[type=checkbox]{width:18px;height:18px;margin:0;padding:0;accent-color:#16826c}.public-cq-options input[type=number]{width:72px;padding:7px;text-align:right}.public-cq-options b{font-variant-numeric:tabular-nums;color:#16826c}.public-cq-options.negative b{color:#b84036}.public-cq-note{margin:0 0 16px;padding:13px 15px;border-left:4px solid #1597a7;border-radius:9px;background:#e8f5f6;color:#365463}.public-cq-selection{margin:16px 0 0;color:#526b77;font-size:.84rem;line-height:1.5}
label{display:flex;flex-direction:column;gap:7px;font-weight:650}
input,select,textarea{font:inherit;border:1px solid #bfd0d6;border-radius:10px;padding:12px;background:white}
textarea{width:100%;margin-bottom:18px}
button{border:0;border-radius:10px;background:#d84c3f;color:white;font:inherit;font-weight:800;padding:14px 20px;margin-top:22px;cursor:pointer}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.secondary-action{background:#123047}
output{display:flex;flex-direction:column;align-items:center;background:#123047;color:white;border-radius:16px;padding:25px;margin-top:28px;text-align:center}
output strong{font-size:2.2rem;margin:8px}
#publicFormula{max-width:760px;margin-top:8px;font-size:.9rem;opacity:.8}
.privacy-note{text-align:center;color:#627782;font-size:.9rem}
.access-request-card{padding:0;overflow:hidden;border:1px solid #b9d9de;background:linear-gradient(120deg,#fff,#f0f8f9)}
.footer-recruitment{margin:42px 0 0;background:#fff;border-color:#d7e2e5;box-shadow:none}.footer-recruitment summary{padding:16px 20px}.footer-recruitment summary strong{font-size:1rem}.footer-recruitment summary b{background:#607681;font-size:.82rem;padding:8px 11px}
.access-request-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 30px;cursor:pointer;list-style:none}.access-request-card summary::-webkit-details-marker{display:none}.access-request-card summary span{display:flex;flex-direction:column;gap:4px}.access-request-card summary small,.public-contribution>div>small{color:#1597a7;font-weight:800;letter-spacing:.12em}.access-request-card summary strong{font-size:1.25rem}.access-request-card summary b{color:#fff;background:#176b87;border-radius:9px;padding:10px 14px}.access-request-card[open] summary{border-bottom:1px solid #d7e5e8}.access-intro,.request-form{padding:0 30px}.access-intro{padding-top:20px}.request-form{padding-bottom:28px}.access-intro p{margin:0;color:#627782}.request-form button{margin-top:6px}
.experience-choice{display:flex;flex-wrap:wrap;gap:10px 26px;margin:14px 0;padding:15px 17px;border:1px solid #bfd6dc;border-radius:12px}.experience-choice legend{padding:0 7px;font-weight:750;color:#173142}.experience-choice label{display:flex;align-items:center;gap:8px;margin:0;font-weight:650}.experience-choice input{width:auto;margin:0}
.consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-weight:550;color:#4f6570}.consent input{width:auto;margin-top:3px}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-message{font-weight:700;color:#176b87;margin:12px 0 0}
.public-contribution{margin-top:26px;padding:24px;border:1px solid #b9d9de;border-radius:16px;background:#f3f9fa}.public-contribution h2{margin:5px 0}.public-contribution p{color:#627782;margin:0 0 18px}.public-contribution textarea{margin-bottom:0}.public-contribution button{margin-top:8px}
.property-location-picker,.property-photo-picker{margin:24px 0;padding:20px;border:1px solid #c8dde1;border-radius:14px;background:#fff}.property-location-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.property-location-heading h3,.property-photo-picker h3{margin:0 0 5px}.property-location-heading p,.property-photo-picker p{margin:0;color:#627782}.property-location-heading .map-action{margin:0}.property-location-status{margin:11px 0 0!important;padding:11px 13px;border-radius:10px;background:#eef5f6;color:#365463!important;font-weight:750}.property-location-status.confirmed{background:#e6f5ec;color:#176947!important}.property-location-status.error{background:#fff0ee;color:#a63127!important}#contributionMap{height:360px;margin-top:16px;border:1px solid #bfd0d6;border-radius:13px;overflow:hidden;background:#dfe9ec;z-index:0}.public-property-pin{filter:drop-shadow(0 3px 3px #0004)}.public-photo-drop{display:grid;place-items:center;min-height:150px;padding:14px;border:2px dashed #8eb9c2;border-radius:13px;background:#f3f9fa;color:#176b87;text-align:center;cursor:pointer}.public-photo-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.public-photo-drop img{width:100%;max-height:300px;object-fit:contain;border-radius:9px;margin-bottom:10px;background:#dde8ea}.public-photo-drop span{font-weight:800}.public-report-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,280px);gap:18px;align-items:center;margin-top:20px;padding:18px;border:1px solid #bfd0d6;border-radius:14px;background:#fff}.public-report-evidence div{display:grid;gap:5px}.public-report-evidence small{color:#1597a7;font-weight:800;letter-spacing:.1em}.public-report-evidence strong{font-size:1.15rem}.public-report-evidence span{color:#627782}.public-report-evidence img{width:100%;max-height:220px;object-fit:contain;border-radius:10px;background:#edf3f4}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.facts p{background:#eef4f5;padding:14px;border-radius:10px}
.facts small,.facts strong{display:block}
.facts small{color:#627782}
.correction-hero{max-width:780px;margin-left:auto;margin-right:auto}.correction-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 22px}.correction-steps span{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:12px;background:#e6f2f4;color:#365463;font-size:.9rem;font-weight:750}.correction-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#176b87;color:#fff}.correction-summary{padding:0;overflow:hidden;border:1px solid #b9d9de}.correction-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px;background:linear-gradient(120deg,#123047,#176b87);color:#fff}.correction-summary-head small{display:block;opacity:.72;font-weight:750;letter-spacing:.11em}.correction-summary-head h2{margin:5px 0 0;font-size:clamp(1.35rem,4vw,2rem)}.correction-summary-head .assessment-state{padding:8px 11px;border-radius:999px;background:#ffffff20;border:1px solid #ffffff3d;font-size:.8rem;font-weight:800;white-space:nowrap}.correction-summary .facts{padding:20px 24px}.correction-summary .facts p{margin:0;background:#f1f6f7}.correction-summary .facts strong{margin-top:4px}.correction-pending{margin:0 24px 24px;padding:15px;border-left:5px solid #e0a51f;border-radius:10px;background:#fff7df;color:#76550a;font-weight:750}.correction-form{padding:clamp(20px,4vw,38px)}.correction-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.correction-form-head small{color:#1597a7;font-weight:850;letter-spacing:.12em}.correction-form-head h2{margin:5px 0}.correction-form-head p{margin:0;color:#627782;max-width:650px}.review-pill{padding:8px 12px;border-radius:999px;background:#fff2d7;color:#825d08;font-size:.78rem;font-weight:850;white-space:nowrap}.correction-fieldset{border:0;border-top:1px solid #dce7ea;margin:0;padding:25px 0}.correction-fieldset legend{padding:0 12px 0 0;font-size:1.12rem;font-weight:850;color:#173142}.correction-wide{grid-column:1/-1}.correction-comparison-head,.correction-field-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(120px,.8fr) minmax(180px,1.2fr);gap:12px;align-items:center}.correction-comparison-head{padding:0 12px 9px;color:#687b84;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.correction-field-row{padding:12px;border-top:1px solid #e3ecee}.correction-field-row:nth-child(odd){background:#f7fafb}.correction-field-row>strong{font-size:.92rem}.correction-current{font-weight:750;color:#516771}.correction-field-row label{font-size:0}.correction-field-row input,.correction-field-row select{width:100%;font-size:.95rem;padding:10px}.composition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:12px 0 18px}.composition-grid label{font-size:.86rem}.fieldset-help{margin:0;color:#627782;font-size:.9rem}.correction-reason textarea{margin-bottom:10px}.correction-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:14px;background:#edf6f7}.correction-submit div{display:flex;flex-direction:column;gap:3px}.correction-submit small{color:#607681}.correction-submit button{margin:0;flex:0 0 auto}.correction-message{padding:0 3px}.correction-message.success{padding:16px;border-radius:12px;background:#e8f7ef;color:#1f754c}.correction-message.error{padding:16px;border-radius:12px;background:#fff0ee;color:#a63127}
footer{text-align:center;padding:25px;color:#71838d}
@media(max-width:760px){.assessment-lookup{grid-template-columns:1fr}.assessment-lookup button{width:100%}.public-cq-groups{grid-template-columns:1fr}.correction-form-head{display:block}.review-pill{display:inline-block;margin-top:12px}.composition-grid{grid-template-columns:repeat(2,1fr)}.correction-submit{align-items:stretch;flex-direction:column}.correction-submit button{width:100%}.property-location-heading{display:block}.property-location-heading .map-action{width:100%;margin-top:14px}.public-report-evidence{grid-template-columns:1fr}}@media(max-width:650px){header span{display:none}.header-actions{gap:8px}.cmp-mark{padding-right:8px}.cmp-mark img{width:38px;height:38px}.internal{padding:9px 10px}.grid,.facts{grid-template-columns:1fr}main{padding-top:28px}.location-heading,.map-caption,.public-cq-heading{display:block}.public-cq-value{margin-top:14px;width:100%}.public-cq{padding:17px}.public-cq-options label{font-size:.82rem;padding:9px 7px}.map-action{width:100%;margin-top:14px}#publicMap{height:360px}.cl-legend{justify-content:flex-start;margin-top:12px}.access-request-card summary{padding:20px}.access-request-card summary b{font-size:.82rem}.access-intro,.request-form{padding-left:20px;padding-right:20px}.public-contribution{padding:18px}.property-location-picker,.property-photo-picker{padding:15px}#contributionMap{height:330px}.correction-steps{grid-template-columns:1fr}.correction-steps span{justify-content:flex-start}.correction-summary-head{padding:20px;display:block}.correction-summary-head .assessment-state{display:inline-block;margin-top:12px}.correction-summary .facts{padding:14px}.correction-comparison-head{display:none}.correction-field-row{grid-template-columns:1fr 1fr;gap:6px 10px;padding:15px 12px}.correction-field-row>strong{grid-column:1/-1}.correction-field-row .correction-current:before{content:'Registado';display:block;margin-bottom:4px;color:#7a8b93;font-size:.72rem;text-transform:uppercase}.correction-field-row label:before{content:'A sua proposta';display:block;margin-bottom:4px;color:#7a8b93;font-size:.72rem;text-transform:uppercase}.composition-grid{grid-template-columns:repeat(2,1fr)}.correction-wide{grid-column:auto}.correction-form{padding:20px 16px}}
@media(max-width:650px){.share-site{padding:9px 10px;font-size:.82rem}}
@media(max-width:760px){#publicMap .leaflet-control-layers,#contributionMap .leaflet-control-layers{font-size:10px}.leaflet-control-attribution{max-width:72%;font-size:8px}}
@media print{
  @page{size:A4;margin:14mm}
  header,.hero p,.internal,.actions,.privacy-note,footer,.assessment-lookup,.access-request-card,.public-contribution{display:none!important}
  body{background:#fff;color:#173142}
  main{max-width:none;padding:0}
  .hero{text-align:left;margin:0 0 14px}
  .hero h1{font-size:24pt}
  .hero span{font-size:10pt}
  .card{box-shadow:none;border:1px solid #bfd0d6;margin:0;padding:18px}
  .location-picker{padding:0 0 10px;margin:0 0 12px}
  .location-heading h2{font-size:13pt}
  .location-heading p,.location-heading small,#publicMap,.map-action,.neighborhood-field,.cl-legend{display:none!important}
  #publicLocationStatus{font-size:9pt;max-width:none}
  .grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .public-cq{padding:12px;margin-top:12px;break-inside:avoid}.public-cq-heading{margin:0}.public-cq-heading p,.public-cq-heading small,#publicCqTable{display:none!important}.public-cq-heading h2{font-size:11pt;margin:0}.public-cq-value{padding:6px 10px;min-width:90px}.public-cq-value strong{font-size:14pt}.public-cq-selection{margin:7px 0 0;font-size:8pt}
  input,select{border:0;border-bottom:1px solid #bfd0d6;border-radius:0;padding:6px 0;appearance:none}
  output{margin-top:18px;break-inside:avoid}
  output strong{font-size:24pt}
  .public-report-evidence:not([hidden]){display:grid!important;grid-template-columns:1fr 210px;margin-top:12px;padding:12px;break-inside:avoid}.public-report-evidence img{max-height:155px}.public-report-evidence small{font-size:7pt}.public-report-evidence strong{font-size:11pt}.public-report-evidence span{font-size:8pt}
}
