
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173747;background:#edf2f3;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:#08738c}header{height:72px;background:#103346;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 26px;gap:16px}header strong{font-size:1.12rem;letter-spacing:.01em}header span{font-size:.84rem;color:#a9d3d7}.brand{display:flex;align-items:center;gap:12px}.mark{width:33px;height:33px;border:2px solid #69d4ca;border-radius:8px;display:grid;place-items:center;color:#69d4ca;font-weight:800}.shell{display:grid;grid-template-columns:370px minmax(0,1fr);height:calc(100vh - 72px);min-height:650px}.side{background:#f8faf9;overflow:auto;border-right:1px solid #d3e0e2;padding:22px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:#477481;font-weight:800;margin:0 0 7px}.side h1{font-size:1.45rem;margin:0 0 16px;line-height:1.25}.search{display:flex;gap:8px}.search input{min-width:0;flex:1;border:1px solid #aac2c6;border-radius:9px;padding:12px;background:#fff}.primary{border:0;background:#0b7584;color:#fff;border-radius:9px;padding:11px 16px;font-weight:700}.primary:hover{background:#075d6b}.hint{font-size:.84rem;color:#536e76;line-height:1.5;margin:10px 0 18px}.status{padding:12px;border-radius:9px;background:#e7f4f3;color:#164d54;line-height:1.45;font-size:.88rem;margin-bottom:18px}.status.error{background:#fff0eb;color:#8b3d2e}.section-head{display:flex;align-items:center;justify-content:space-between;margin:22px 0 10px;border-top:1px solid #d7e3e4;padding-top:20px}.section-head h2{font-size:1rem;margin:0}.section-head small{color:#647d82}.group-title{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#64818a;margin:20px 0 8px;font-weight:800}.layer{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid #dbe6e7;border-radius:9px;margin:7px 0;padding:10px}.layer input{width:17px;height:17px;accent-color:#137a86;margin:3px 0 0}.layer-text{flex:1;min-width:0}.layer b{font-size:.88rem;display:block}.layer small{font-size:.76rem;color:#667d84;display:block;line-height:1.4;margin-top:2px}.swatch{width:11px;height:11px;border-radius:3px;margin-top:4px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.secondary{background:white;color:#0b6573;border:1px solid #8fb6bc;border-radius:8px;padding:9px 12px;font-weight:700;font-size:.86rem}.secondary:disabled{opacity:.45;cursor:not-allowed}.map-wrap{position:relative;min-width:0}.map{height:100%;width:100%;background:#dbe8e8}.map-note{position:absolute;z-index:500;left:18px;bottom:20px;background:#fffef5eF;border-radius:8px;box-shadow:0 3px 15px #142f3022;padding:10px 12px;font-size:.76rem;max-width:370px;color:#40545a}.register{position:absolute;z-index:700;right:20px;top:20px;width:min(470px,calc(100% - 40px));max-height:calc(100% - 40px);overflow:auto;background:#fff;border:1px solid #d6e5e6;border-radius:13px;box-shadow:0 12px 40px #16394338;display:none}.register.open{display:block}.reg-top{position:sticky;top:0;background:#fff;padding:16px;border-bottom:1px solid #dae5e5;display:flex;align-items:center;justify-content:space-between;gap:12px}.reg-top h2{font-size:1rem;margin:0}.close{border:0;background:transparent;font-size:1.4rem;color:#47636a}.reg-body{padding:0 16px 16px}.reg-row{padding:13px 0;border-bottom:1px solid #e0e9e9}.reg-row b{font-size:.9rem}.reg-row p{font-size:.81rem;line-height:1.45;margin:5px 0;overflow-wrap:anywhere}.badge{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#5d6c73}.badge.hit{color:#a04d1b}.badge.proposal{color:#7451a0}.sources{font-size:.8rem;line-height:1.5}.leaflet-popup-content{overflow-wrap:anywhere;max-height:230px;overflow:auto}.empty{color:#60757c;font-size:.87rem;line-height:1.5}@media(max-width:800px){header{height:62px;padding:0 14px}header span{display:none}.shell{display:flex;flex-direction:column;height:auto;min-height:0}.side{height:auto;overflow:visible;padding:18px}.map-wrap{height:58vh;min-height:400px}.map-note{bottom:12px;left:10px;max-width:calc(100% - 20px)}.register{right:10px;top:10px;max-height:calc(100% - 20px);width:calc(100% - 20px)}}
html,body{height:100%;overflow:hidden}.shell{height:calc(100dvh - 72px);min-height:0}.side{min-height:0}.map-wrap{min-height:0;overflow:hidden;isolation:isolate}.map{position:absolute;inset:0;height:100%;width:100%}.map-status{position:absolute;z-index:500;top:14px;left:60px;right:16px;max-width:550px;background:#fffef5ed;padding:10px 14px;border-radius:9px;font-size:.85rem;box-shadow:0 3px 15px #142f3022;pointer-events:none}.base-switch{display:flex;gap:7px;flex-wrap:wrap}.base-switch .active{background:#0b7584;color:white}.filter{width:100%;border:1px solid #aac2c6;border-radius:8px;padding:10px;font-size:.88rem}.layer-actions{display:flex;justify-content:space-between;margin:8px 0}.text-button{border:0;background:transparent;color:#096e81;padding:5px 0;font-size:.82rem;text-decoration:underline}.group{border-top:1px solid #dce6e6;padding-top:8px;margin-top:8px}.group summary{cursor:pointer;font-size:.84rem;font-weight:750;padding:8px 0}.group summary small{font-weight:400;color:#5e7680}.layer-state{color:#466572!important}.layer-state.error{color:#a13e2f!important}.map-note{bottom:28px}.leaflet-container{font-family:inherit}.leaflet-control-attribution{max-width:90%;font-size:11px}.register{z-index:800}.reg-row input{display:block;width:100%;margin-top:7px;padding:7px;border:1px solid #bccfd3;border-radius:5px;font-size:.82rem}.layer{padding:8px}.layer b{font-size:.85rem}.hint{font-size:.86rem}.sources{font-size:.86rem}@media(max-width:800px){html,body{height:auto;overflow:auto}.shell{height:auto;display:flex;flex-direction:column}.map-wrap{order:-1;height:58dvh;min-height:360px;flex:none}.side{height:auto;max-height:none}.map-status{font-size:.78rem;right:10px;left:54px}.map-note{font-size:.73rem;bottom:22px}.register{max-height:calc(100% - 20px)}}

.boundary-card{border:1px solid #b8ced1;background:#eff7f7;border-radius:10px;padding:13px;margin:0 0 18px}.boundary-toggle{font-size:.9rem;font-weight:750;display:flex;align-items:center;gap:8px}.boundary-toggle input{width:18px;height:18px;accent-color:#0b7584}#boundaryStatus{font-size:.85rem;line-height:1.5;margin:10px 0;overflow-wrap:anywhere}.boundary-note{font-size:.76rem;line-height:1.4;color:#557179;margin-bottom:0}#boundaryChoices button{display:block;text-align:left;width:100%;border:1px solid #99b8be;border-radius:7px;padding:10px;background:#fff;margin:7px 0;color:#163d4b;font-size:.84rem}#pickBoundary.active{background:#103346;color:white}.picking-property,.picking-property *{cursor:crosshair!important}.selected-property-label{font-weight:700}
.picking-property .leaflet-overlay-pane,.picking-property .leaflet-marker-pane{pointer-events:none}

.analysis-card{padding:16px;margin:16px 0;background:#eaf1ed;border:1px solid #bdcbc0;border-radius:10px}.analysis-card h2{margin:0 0 8px}.analysis-card button{margin:4px 0;width:100%}#analysisStatus{font-size:14px;line-height:1.5}.reg-row p{overflow-wrap:anywhere}.boundary-card{scroll-margin:16px}

.verify-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.reg-row select,.reg-row textarea{width:100%;padding:10px;margin:8px 0;font:inherit}.reg-row button{padding:7px 10px}.reg-row [hidden]{display:none}
/* Concepts and Consents / shared editorial system */
@font-face{font-family:Barlow Condensed;src:url('vendor/BarlowCondensed.ttf')}@font-face{font-family:Manrope;src:url('vendor/Manrope.ttf')}
:root{--paper:#f3efe8;--ink:#272f31;--accent:#a8512f;--line:#c9c9bf;font-family:Manrope,sans-serif;color:var(--ink);background:var(--paper)}
header{height:100px;padding:16px 25px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}header strong{font-family:Barlow Condensed,sans-serif;font-size:1.7rem;font-weight:600}header p{margin:4px 0 0;font-size:.875rem;color:#646966}header small{font-size:.8rem;line-height:1.7;text-align:right;white-space:nowrap}header a{color:var(--ink)}.brand{gap:24px}.wordmark{font-family:Barlow Condensed;font-size:1.55rem;line-height:.9;text-decoration:none;padding-right:23px;border-right:1px solid var(--line)}.wordmark span{font-size:1.55rem;color:var(--ink)}.shell{grid-template-columns:390px minmax(0,1fr);height:calc(100dvh - 100px)}.side{background:var(--paper);padding:24px;border-color:var(--line)}.side h1{font-family:Barlow Condensed;font-size:2.2rem;text-transform:uppercase;font-weight:600}.eyebrow,.group-title{color:var(--accent);font-family:Barlow Condensed;font-size:.9rem}.primary,.base-switch .active{background:var(--ink);color:white;border-radius:2px}.primary:hover{background:#4b5350}.secondary{color:var(--ink);border-color:#a7aaa3;border-radius:2px}.search input,.filter,.layer,#boundaryChoices button{border-radius:2px;border-color:var(--line)}.hint,.boundary-note,.sources,.layer small{color:#626862;font-size:.875rem;line-height:1.55}.status,.boundary-card,.analysis-card{border-radius:2px;background:#ebe7de;color:var(--ink);border-color:var(--line)}.side h2{font-family:Barlow Condensed;text-transform:uppercase;letter-spacing:.04em;font-size:1.4rem}.text-button,a{color:var(--accent)}.layer b{font-size:.875rem}.group summary{font-size:1rem}.map-status,.map-note{border-radius:2px;color:var(--ink);background:#fffef9ed}.map-note{font-size:.8rem}.register{width:min(540px,calc(100% - 40px));border-radius:2px;background:#faf8f3;border-color:var(--line)}.reg-top{background:#f3efe8;border-color:var(--line)}.reg-top h2{font-family:Barlow Condensed;font-size:1.5rem;text-transform:uppercase}.reg-row{padding:18px 12px;border-color:var(--line);border-left:3px solid #b5b8b0;margin:12px 0}.reg-row p,.reg-row b{font-size:.9rem;line-height:1.6}.reg-row small{font-size:.8rem}.reg-row.verified{border-left-color:#547b55}.reg-row.corrected{border-left-color:#a8512f}.reg-row.source-error,.reg-row.needs-review{border-left-color:#ad3b33}.verification-state{font-size:.8rem!important;text-transform:uppercase;letter-spacing:.07em;color:#626862}.verify-buttons button,.reg-row button{background:white;border:1px solid #8b9188;border-radius:2px;padding:10px 15px;font-family:Manrope;font-size:.875rem}.verify-buttons button:focus-visible,button:focus-visible{outline:3px solid #a8512f;outline-offset:2px}.verify-buttons button:hover{background:#e9e4db}.reg-row input,.reg-row textarea,.reg-row select{font-size:1rem;background:white;border:1px solid #adb2a7;border-radius:2px}.report-label{display:block;font-size:.875rem;margin:16px 0 7px}#reportTheme{font:inherit;width:100%;padding:11px;background:white;border:1px solid #adb2a7;border-radius:2px;margin-bottom:7px}.property-title{font-size:.875rem;line-height:1.5}.reg-row .badge{font-size:.75rem}.reg-row .sources{margin-bottom:10px}button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:1050px){header small{display:none}header strong{font-size:1.4rem}.shell{grid-template-columns:350px minmax(0,1fr)}}@media(max-width:800px){header{height:auto;min-height:100px;padding:16px}.brand{gap:14px}.wordmark{font-size:1.15rem;padding-right:14px}.wordmark span{display:inline;font-size:1.15rem}header strong{font-size:1.2rem}header p{font-size:.8rem}.shell{height:auto;display:flex}.side{width:100%}.map-wrap{height:60dvh}.map-note{display:none}.register{width:calc(100% - 20px)}}

/* Phase 3: C&C architectural grayscale / red */
@font-face{font-family:Barlow Condensed;src:url('vendor/BarlowCondensed-Bold.ttf');font-weight:700}
:root{--paper:#fff;--ink:#242424;--accent:#D71920;--line:#d4d4d4}header strong,.side h1,.side h2{font-weight:700}.wordmark{font-size:2.5rem;font-weight:700}.status,.boundary-card,.analysis-card,.reg-top{background:#f2f2f2}.register{background:#fff}.primary,.base-switch .active{background:var(--accent)}.primary:hover{background:#b81319}.reg-row.corrected,.reg-row.verified{border-left-color:var(--accent)}.verify-buttons button:hover{background:#fcebed}.map-status,.map-note{background:#ffffffee}button:focus-visible{outline-color:var(--accent)}.hint,.boundary-note,.sources,.layer small,.verification-state{color:#626262}.layer input,.boundary-toggle input{accent-color:var(--accent)}

.transport-marker{display:flex;align-items:center;justify-content:center;font:bold 12px Manrope,sans-serif;box-shadow:0 1px 4px #0005;border:2px solid white}.transport-marker.bus{background:#F5A623;color:#553000;border-radius:50%}.transport-marker.train{background:#202F40;color:white;border-radius:3px;font-size:15px}.transport-marker.ferry{background:#346479;color:white;border-radius:3px}.transport-key{padding:12px;background:#f3f3f3;margin:12px 0;font-size:.8rem;line-height:1.7}.transport-key b{color:#202F40}.transport-key .blue{color:#007da8}.transport-key .red{color:#d21d35}.transport-key .green{color:#477b15}
/* Search, verification and report workflow */
.search{position:relative}.search #addressSuggestions{position:absolute;left:0;right:0;top:100%;z-index:1200;background:#fff;border:1px solid var(--line);box-shadow:0 8px 20px #0002;max-height:320px;overflow:auto;font-size:.84rem;padding:5px}.search [role=option]{padding:10px;cursor:pointer}.search [role=option][aria-selected=true],.search [role=option]:hover{background:#fcebed;color:#9b1118}
.register{display:block;width:min(330px,calc(100% - 80px));top:68px;right:16px;max-height:calc(100% - 90px);overflow:hidden}.register .reg-top{padding:12px;align-items:flex-start}.register .reg-top h2{font-size:1.1rem}.register .reg-top p{font-size:.75rem;margin:5px 0 0;color:#626262}.register .reg-body{display:none}.register.open{width:min(540px,calc(100% - 80px));display:flex;flex-direction:column}.register.open .reg-body{display:block;overflow:auto;min-height:0}.register .text-button{font-size:.72rem;white-space:nowrap}.reg-row>b{text-transform:uppercase}
.ux-dialog{border:1px solid var(--line);border-radius:3px;padding:28px;width:min(560px,calc(100vw - 40px));max-height:85vh;overflow:auto;color:var(--ink);background:white;box-shadow:0 20px 80px #0004}.ux-dialog::backdrop{background:#0007}.ux-dialog h2{font-family:Barlow Condensed,sans-serif;color:var(--accent);font-size:1.9rem;margin:0 0 14px}.ux-dialog p{font-size:.95rem;line-height:1.6}.dialog-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}#reportTasks{list-style:none;margin:16px 0;padding:0;max-height:35vh;overflow:auto;font-size:.84rem}#reportTasks li{padding:5px 0}#reportTasks [data-state=running]{font-weight:700}#reportTasks [data-state=error]{color:var(--accent)}.report-spinner{width:28px;height:28px;border:3px solid #ddd;border-top-color:var(--accent);border-radius:50%;animation:report-spin .8s linear infinite}.report-spinner[hidden]{display:none}@keyframes report-spin{to{transform:rotate(360deg)}}

/* PIR branding and analysis progress wrapper only. */
.wordmark img{display:block;width:120px;height:60px;object-fit:contain}.brand>div{min-width:0}#analysisTasks{max-height:260px;overflow:auto;padding-left:24px;font-size:.875rem;line-height:1.6}#analysisTasks li{margin:5px 0}#analysisPrompt .report-spinner{margin:18px 0}@media(max-width:800px){header{height:auto;min-height:100px}.brand{gap:12px}.wordmark{padding-right:12px}.wordmark img{width:80px;height:40px}header strong{font-size:1.4rem}header p{font-size:.8rem}header small{white-space:normal}}

/* PIR terms and disclosure shell. */
.terms-dialog{width:min(680px,calc(100vw - 32px))}.terms-dialog summary{cursor:pointer;font-weight:700;font-size:.9rem}.terms-dialog h3{font-family:Barlow Condensed,sans-serif;font-size:1.25rem;margin:20px 0 6px}.terms-check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;margin-top:18px}.terms-check input{margin-top:5px;accent-color:var(--accent)}.terms-dialog .primary:disabled{opacity:.45;cursor:not-allowed}.terms-version,.pir-legal-notice{font-size:.8rem;color:var(--muted,#666);line-height:1.55}.pir-legal-notice{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.terms-dialog .dialog-actions{flex-wrap:wrap}

/* Initial property search and journey dialogs only. */
#search{margin-top:20px;gap:8px;flex-wrap:wrap}#search #address{flex-basis:100%;border-color:#8c8c8c;padding:14px 12px}#search #address:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#search>button{width:100%}#searchProgress:not([hidden]){display:flex;align-items:center;gap:9px;margin:12px 0;font-size:.875rem;color:var(--ink)}#searchProgress .report-spinner{width:18px;height:18px;border-width:2px;flex:none}#propertyFound .dialog-actions,#analysisPrompt .dialog-actions{flex-wrap:wrap}#analysisPrompt .dialog-actions[hidden]{display:none}

/* Completed workflow stages only; no timed progress. */
.process-progress{margin-top:22px;width:100%}.process-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;margin-bottom:8px}.process-percent{font-variant-numeric:tabular-nums}.process-track{height:9px;background:#e5e5e5;border-radius:2px;overflow:hidden}.process-fill{height:100%;width:0;background:var(--accent);transition:width 200ms ease-out}@media(prefers-reduced-motion:reduce){.process-fill{transition:none}}

/* Layer catalogue controls and legends only. */
#layers .catalogue-group-toggle{width:16px;height:16px;vertical-align:middle;margin:0 8px 0 3px;accent-color:var(--accent)}#layers .group summary small{font-size:.75rem}#layers .layer-text>label{cursor:pointer}#layers .catalogue-site-value{display:block;margin:7px 0;font-weight:600;color:var(--ink)}#layers .catalogue-legend{margin:7px 0}#layers .catalogue-legend-caption{font-size:.7rem;margin:0 0 4px}#layers .catalogue-legend-row{display:flex;align-items:center;gap:7px;font-size:.75rem;line-height:1.35;margin:4px 0}#layers .catalogue-legend-row img{width:22px;height:18px;object-fit:contain;flex:none}#layers .catalogue-symbol{width:14px;height:14px;flex:none;border:1px solid #888}#layers .catalogue-more{font-size:.75rem;padding:3px 0}#layers .layer-text{min-width:0}
