/* RoundRise brand — deliberately distinct from PurePort. */
:root {
  color-scheme: light;
  --orange:#F2623C; --orange-dark:#BA4223; --orange-tint:#FFF1EB;
  --charcoal:#202329; --charcoal-light:#2C3137; --lime:#CAF27A;
  --paper:#F8F6F1; --slate:#71777B; --ink:#252A2D;
  --line:#E4E4DF; --muted:#697177; --soft:#F6F7F4;
  --green:#347852; --green-soft:#E9F6EC; --red:#A43B34; --red-soft:#FFF0ED;
  --shadow:0 4px 24px rgba(32,35,41,.045);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
a{color:var(--orange-dark)}a:hover{text-decoration-color:var(--orange)}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
[hidden]{display:none!important}
h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--charcoal);letter-spacing:-.04em;line-height:1.2}
h1{font-size:38px;margin-bottom:9px;font-weight:850}h2{font-size:22px;margin-bottom:10px;font-weight:800}h3{font-size:16px;font-weight:750}
p{margin-bottom:14px}.small{font-size:12.5px;color:var(--muted);line-height:1.5}.hint{font-size:13.5px;color:var(--muted);line-height:1.55}.muted{color:var(--muted)}
.eyebrow{font-size:10.5px;letter-spacing:.145em;font-weight:850;color:var(--orange-dark);text-transform:uppercase}
.required{color:var(--orange-dark)}.optional{font-size:12px;font-weight:450;color:var(--muted)}
/* Desktop top bar and PurePort-inspired navigation. */
.site-header{background:var(--charcoal);color:#fff;box-shadow:0 3px 12px rgba(25,28,30,.08);position:sticky;top:0;z-index:30}
.header-inner,.nav-inner{max-width:1160px;padding-left:22px;padding-right:22px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header-inner{min-height:72px}
.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:white;font-weight:900;font-size:27px;letter-spacing:-1.55px;line-height:1;white-space:nowrap}
.brand-text span{color:var(--orange)}
.brand-symbol{width:32px;height:34px;display:flex;align-items:flex-end;gap:3px;transform:rotate(-10deg)}
.brand-symbol span{display:block;flex:1;border-radius:2px 2px 1px 1px;background:var(--orange);height:46%}
.brand-symbol span:nth-child(2){height:70%;background:var(--lime)}.brand-symbol span:nth-child(3){height:97%;background:var(--orange)}
.header-meta{display:flex;align-items:center;gap:18px;font-size:13px;font-weight:700}
.company-indicator{display:flex;align-items:center;gap:9px;color:#E3E9E4}
.company-dot{width:7px;height:7px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 4px rgba(202,242,122,.09)}
.signout{border:1px solid rgba(255,255,255,.23);background:transparent;color:#fff;padding:8px 14px;border-radius:8px;font-weight:700;font-size:13px}
.signout:hover{background:rgba(255,255,255,.10)}
.site-nav{border-top:1px solid rgba(255,255,255,.09);background:#252A2F}
.nav-inner{min-height:54px;gap:12px}
.nav-pages{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.nav-link{border:0;color:#E1E6E7;background:transparent;border-radius:8px 8px 0 0;padding:15px 15px 14px;font-weight:650;font-size:13px;transition:background .12s}
.nav-link:hover{background:rgba(255,255,255,.08)}
.nav-link.active{color:#1F2528;background:var(--lime);font-weight:850}
.nav-user{color:#BBC4C5;font-size:12px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.user-role{color:#99A5A6}
.nav-toggle{display:none;border:1px solid #6E7779;background:transparent;color:#fff;border-radius:9px;padding:9px 12px;font-weight:750;align-items:center;gap:14px}
.app-main{max-width:1160px;margin:0 auto;padding:32px 22px 80px;min-height:75vh}
.loading-card{padding:40px;font-weight:750;color:var(--muted)}
/* Screen titles and core containers. */
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}
.page-heading .eyebrow{margin-bottom:9px}.page-heading .pill{margin-bottom:8px}
.page-description{color:var(--muted);font-size:15px;margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:23px;margin-bottom:16px;min-width:0}
.card h2{margin-bottom:10px}.card h2+.hint{margin-top:-2px}
.card-title-row,.section-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}
.card-title-row h2,.section-head h2{margin-bottom:5px}
.step-tag{color:#9A9B95;font-size:10px;font-weight:850;letter-spacing:.12em;white-space:nowrap;margin-top:5px}
.canvass-layout{display:grid;grid-template-columns:minmax(0,1.66fr) minmax(270px,.88fr);gap:18px;align-items:start}
.territory-layout{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(260px,.83fr);gap:18px;align-items:start}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px;align-items:start}
.field-sidebar .card{padding:22px}
.side-heading{margin-bottom:16px}.side-heading .eyebrow{display:block;margin-bottom:7px}
.side-heading h2{font-size:19px;margin:0}
/* Inputs and workflow */
label{display:block;color:var(--ink);font-size:13px;font-weight:760;margin:0 0 15px}
input:not([type="radio"]):not([type="checkbox"]),select,textarea{width:100%;display:block;appearance:auto;border:1px solid #CCD0CF;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink);margin-top:7px;outline:none;min-height:44px}
input:not([type="radio"]):not([type="checkbox"]):focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,98,60,.11)}
input::placeholder,textarea::placeholder{color:#899091}
textarea{resize:vertical;min-height:77px}select{cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.house-label{margin:14px 0 10px}.house-label input{font-size:17px!important;font-weight:750}
.street-search{position:relative}
.street-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:14;background:white;border:1px solid #D4D9D8;border-radius:10px;max-height:300px;overflow:auto;box-shadow:0 12px 24px rgba(32,35,41,.14);padding:3px}
.street-choice{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;padding:12px;background:#fff;border:0;border-radius:7px;color:var(--ink);font-weight:750}
.street-choice small{font-size:11px;color:var(--muted);font-weight:450}
.street-choice:hover,.street-choice:focus-visible{background:var(--orange-tint)}
.choice-empty{padding:13px;color:var(--muted);font-size:13px}
.selected-line{margin:-3px 0 20px;padding-left:1px;font-size:12.5px;color:var(--muted);min-height:19px}
.selected-line strong{color:var(--ink)}.selected-dot{width:7px;height:7px;border-radius:50%;background:#68A980;display:inline-block;margin-right:4px}
.property-preview{border:1px solid var(--line);border-radius:10px;padding:13px 15px;background:var(--soft);color:#707775;font-size:13px;margin:0 0 18px}
.property-preview.visited{background:#FFF9F0;border-color:#EAD7A6}.property-preview.blocked{background:var(--red-soft);border-color:#F0C8BE;color:#672E25}
.preview-main{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.preview-main strong{color:var(--ink)}
.preview-flags{display:flex;align-items:flex-start;gap:5px}.preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px;border-top:1px solid #E0E2DE;padding-top:12px}
.property-preview details{margin-top:13px;color:var(--ink)}.property-preview summary{cursor:pointer;font-weight:750}.history-list{padding-left:20px;margin-bottom:0}.history-list li{margin:7px 0}
.result-fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.result-fieldset legend{font-size:13px;font-weight:800;margin-bottom:9px}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.result-option{margin:0;position:relative;cursor:pointer}
.result-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip-path:inset(50%)}
.result-option span{min-height:54px;border:1px solid #D9DEDA;border-radius:10px;background:#fff;color:var(--ink);font-size:14px;font-weight:730;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;transition:border-color .1s,background .1s;line-height:1.2}
.result-option:hover span{background:#FFF8F4}
.result-option input:checked+span{background:var(--orange-tint);border:2px solid var(--orange);box-shadow:inset 0 0 0 1px rgba(242,98,60,.06);color:var(--orange-dark)}
.result-option input:focus-visible+span{outline:3px solid var(--orange);outline-offset:3px}
.contact-panel{background:#F5F7EC;border:1px solid #DFE9C5;border-radius:12px;padding:17px;margin-bottom:16px}
.contact-panel h3{margin-bottom:5px}.contact-panel p{margin-bottom:14px}
.form-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:5px}
.save-hint{font-size:12px;color:var(--muted)}
button.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--orange);color:var(--charcoal);border:1px solid var(--orange);border-radius:10px;padding:11px 18px;font-weight:850;font-size:14px;min-height:45px}
button.primary:hover:not(:disabled){background:#FF815D;border-color:#FF815D}
button.primary:active{transform:translateY(1px)}
button.secondary,.small-btn{background:#EFF1EE;color:var(--charcoal);border:1px solid #DDE2DE;border-radius:9px;padding:9px 12px;font-weight:750;font-size:12px;min-height:37px}
button.secondary:hover,.small-btn:hover{background:#E7EBE6}
button.danger-outline{border-color:#E9C7BF;color:var(--red);background:#FFF4F1}
button.full-width{width:100%;justify-content:center}
.save-button{min-width:177px}
/* Sidebar and progress */
.mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mini-stats>div{background:#F6F7F3;border:1px solid #E9ECE6;border-radius:11px;padding:13px}
.mini-stats strong{display:block;color:var(--charcoal);font-size:27px;line-height:1.1;letter-spacing:-1px}
.mini-stats span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.recent-item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.recent-item:first-child{border-top:0;padding-top:0}.recent-item strong{font-size:13px;font-weight:790}.recent-item .pill{max-width:150px;text-align:center}
.pill{display:inline-block;padding:5px 9px;border-radius:6px;font-size:11px;line-height:1.25;letter-spacing:0;font-weight:800;background:#EFF0EB;color:#465052;white-space:normal}
.pill.good{background:var(--green-soft);color:#236A44}.pill.bad{background:#FDEAE5;color:#9C3D2B}.pill.warning{background:#FFF0D5;color:#8C5904}.pill.neutral{background:#EFF0EB;color:#465052}
.message{background:#ECF8EB;border:1px solid #BFDDBC;color:#225D35;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:650;margin-top:12px}
.message.error{color:#95322A;background:#FDF0EC;border-color:#EFCBC3}
/* Directory, dashboard, lead management */
.filter-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(160px,.8fr);gap:12px;margin-bottom:14px}
.filter-row label{margin-bottom:0}
.street-directory-item,.lead-row{border-top:1px solid var(--line);padding:16px 0;display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.street-directory-item:first-child,.lead-row:first-child{border-top:0}
.street-info{min-width:0;flex:1}.street-info>strong,.lead-details>strong{font-size:15px;display:block;color:var(--charcoal)}
.street-info .small,.lead-details .small{margin-top:3px}.street-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.street-actions,.lead-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.lead-details{min-width:0;flex:1}.lead-actions{max-width:180px}.lead-note{color:var(--ink);font-size:13px;margin:7px 0 0;white-space:pre-wrap}
.contact-name{font-weight:750;margin-top:8px}
.street-editor{width:100%;background:#F8F9F7;border:1px solid #E4E7E2;border-radius:11px;padding:15px;margin-top:10px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dashboard-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-bottom:18px}
.stat-card{background:#fff;border-radius:13px;border:1px solid var(--line);padding:18px;box-shadow:var(--shadow)}
.stat-card strong{display:block;color:var(--charcoal);font-size:31px;line-height:1.05;font-weight:860;letter-spacing:-1px}
.stat-card span{display:block;color:var(--muted);font-size:12px;margin-top:8px}
.progress{height:10px;border-radius:999px;overflow:hidden;background:#ECEFE7;margin:11px 0}
.progress span{display:block;background:var(--orange);height:100%;border-radius:999px;min-width:0}
.progress-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.progress-meta strong{font-weight:740}.progress-meta span{color:var(--muted)}
.area-progress{margin:18px 0}.area-progress .progress{height:8px}
.subheading{font-size:14px;margin-top:28px;border-top:1px solid var(--line);padding-top:21px}
.round-item{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line)}
.round-item:first-child{border-top:0}.round-item>div{flex:1}.round-item strong{font-size:15px}.round-swatch{height:26px;width:6px;border-radius:8px;flex:0 0 6px;border:1px solid rgba(0,0,0,.12)}
input[type="color"]{height:50px!important;padding:5px!important;cursor:pointer}
.settings-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:15px 0;font-size:13px}
.settings-row:first-of-type{border-top:0}.settings-row span{color:var(--muted)}.settings-row strong{text-align:right;overflow-wrap:anywhere}
.settings-separator{height:1px;background:var(--line);margin:20px 0}
.empty-state{text-align:left;padding:28px 14px;background:#F8F9F6;border:1px dashed #DCDDD6;border-radius:12px}
.empty-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--lime);color:var(--charcoal);font-weight:900;font-size:23px;margin-bottom:13px}
.empty-state h3{margin-bottom:6px}.empty-state p{font-size:13px;color:var(--muted);margin-bottom:15px;max-width:460px}
/* Login errors stay inside the branded form, not on an unstyled HTML page. */
.login-error{display:flex;flex-direction:column;gap:4px;background:#FFF1EB;color:#813829;border:1px solid #F2C4B5;border-left:4px solid var(--orange);border-radius:10px;padding:12px 14px;margin:15px 0 19px;font-size:13px;line-height:1.45}
.login-error strong{font-size:13px;font-weight:800}
/* Sign in screen */
.login-body{background:linear-gradient(135deg,#202329 0%,#252E30 100%);min-height:100vh}
.login-wrap{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:25px}
.login-heading{text-align:center;margin-bottom:26px}.login-heading .brand{font-size:37px;justify-content:center}.login-heading p{color:#CACFCD;margin:11px 0 0}
.login{width:min(430px,100%);padding:29px;margin:0}.login h1{font-size:29px;margin:8px 0 8px}.login p{color:var(--muted);font-size:13px;margin-bottom:25px}.login label{margin-bottom:17px}
.login-submit{width:100%;margin-top:3px}
@media(max-width:1050px){.nav-user{display:none}.app-main{max-width:1000px}.canvass-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)}}
@media(max-width:800px){
  .site-header{position:sticky;top:0}.header-inner{min-height:64px;padding:0 14px}
  .brand{font-size:24px}.brand-symbol{width:27px;height:29px}
  .company-indicator{display:none}.header-meta{gap:8px}.signout{font-size:12px;padding:9px 11px}
  .nav-toggle{display:flex;margin-left:auto}.site-nav{display:none}.site-nav.open{display:block}
  .nav-inner{display:block;padding:10px 14px 14px}.nav-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .nav-link{border-radius:8px;padding:12px 9px;text-align:center;background:rgba(255,255,255,.06)}
  .nav-user{display:block;max-width:none;padding:13px 3px 2px;white-space:normal}
  .app-main{padding:23px 14px 60px}
  h1{font-size:30px}.page-heading{margin-bottom:20px}.page-heading .pill{display:none}
  .canvass-layout,.territory-layout,.dashboard-grid{grid-template-columns:1fr;gap:0}
  .field-sidebar{display:contents}.field-sidebar>.card{margin-bottom:16px}
  .dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-grid,.filter-row{grid-template-columns:1fr;gap:0}
  .card{padding:19px;margin-bottom:14px}.result-grid{gap:8px}
  .step-tag{font-size:9px}.save-button{min-width:155px}
}
@media(max-width:420px){
  .header-inner{gap:6px}.brand{font-size:22px;gap:8px}.brand-symbol{width:24px;height:27px}
  .nav-toggle{padding:9px}.signout{padding:9px;font-size:11px}
  .card{padding:17px}.page-heading h1{font-size:29px}.page-description{font-size:13px}
  .result-option span{font-size:12.5px;min-height:58px;padding:8px}.mini-stats strong{font-size:25px}
  .street-directory-item,.lead-row{display:block}.street-actions,.lead-actions{justify-content:flex-start;margin-top:12px}
  .lead-actions{max-width:none}
}

/* National bulk import — follows the RoundRise palette. */
.instruction-list{padding-left:21px;margin:15px 0 22px;line-height:1.65}
.instruction-list li{margin:8px 0}
.instruction-list code{font-size:12px}
.import-preview{margin-top:18px}
.import-check{border:1px solid #e9caa8;background:#fff8ec;border-radius:13px;padding:15px}
.import-check h3{margin:0 0 6px}
.import-stat-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0}
.import-stat-line div{background:#fff;border:1px solid #eddcce;border-radius:9px;padding:12px 9px;min-width:0}
.import-stat-line strong{display:block;font-size:25px;color:#202329;line-height:1.15}
.import-stat-line span{display:block;font-size:12px;color:#71777B;line-height:1.35;margin-top:4px}
.source-credit{margin-top:18px;padding-top:11px;border-top:1px solid #e5e2db;font-size:11px;color:#71777B;line-height:1.55}
@media(max-width:650px){.import-stat-line{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Plain-language geography hints and optional council-ward drill-down. */
.geo-ward-toggle{display:flex;align-items:center;gap:9px;margin:11px 0;font-weight:500;color:var(--muted);font-size:13px}
.geo-ward-toggle input{width:16px;height:16px;accent-color:var(--orange);flex:0 0 16px}
.geo-explainer{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-top:20px;color:var(--muted);font-size:13px}
.geo-explainer summary{cursor:pointer;font-weight:700;color:var(--charcoal)}
.geo-explainer p{margin:10px 0 0;line-height:1.5}
/* v0.4 guided GB location and independent OSM+UPRN reference previews */
.remove-empty-street{display:block;margin-top:13px;color:#8e372d;border-color:#e5aaa1;background:#fff6f4}
.remove-empty-street:hover{background:#fae9e6}
.geo-search-wrap{position:relative}
.geo-place-results{position:absolute;z-index:16;top:calc(100% + 3px);left:0;right:0;max-height:340px;overflow-y:auto;border-radius:10px;background:#fff;border:1px solid #d6ddd9;box-shadow:0 12px 30px rgba(32,35,41,.14)}
.geo-place-option{width:100%;text-align:left;display:flex;align-items:start;justify-content:space-between;gap:12px;background:white;border:0;border-bottom:1px solid #e9edeb;padding:13px;color:var(--charcoal)}
.geo-place-option span{color:var(--muted);font-size:12px}
.geo-place-option:hover,.geo-place-option:focus{background:#f9efe9}
.geo-no-results{margin:14px}
.geo-pick{display:flex;align-items:center;flex-wrap:wrap;gap:13px;padding:13px;margin-top:14px;border:1px solid #b4d5b4;background:#f1f8f0;border-radius:12px}
.geo-pick>div{flex:1;min-width:180px}.geo-pick strong{font-size:14px}.geo-pick .small{font-size:12px;margin-top:4px}
.geo-review-heading{margin:20px 0 13px}.geo-review-heading h3{margin-top:4px}.geo-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.geo-stats span{background:#f2f4f1;padding:9px 12px;border-radius:9px;font-size:12px}.geo-stats strong{font-size:17px;margin-right:3px}
.geo-street-map{display:block;width:100%;height:auto;max-height:230px;border:1px solid #dee3de;border-radius:10px}
.geo-selection{margin:16px 0 7px;display:flex;justify-content:space-between;align-items:center;gap:12px}.geo-selection label{font-weight:750;display:flex;align-items:center;gap:8px}
.geo-selection input,.geo-street-tick{accent-color:var(--orange);width:17px;height:17px}
.geo-street-list{border:1px solid #dfe4df;border-radius:10px;max-height:385px;overflow:auto;margin:0 0 13px}
.geo-street-row{display:flex;gap:11px;align-items:center;padding:10px 12px;border-bottom:1px solid #ecf0ed;margin:0!important;cursor:pointer}
.geo-street-row:hover{background:#fafafa}.geo-street-row:last-child{border-bottom:0}
.geo-street-desc{flex:1;min-width:0}.geo-street-desc strong,.geo-street-count{display:block;font-size:13px;color:var(--charcoal)}
.geo-street-desc small,.geo-street-count small{display:block;color:var(--muted);font-size:11px;line-height:1.4}
.geo-street-count{text-align:right;min-width:90px;font-weight:800}
.geo-street-group-heading{margin:16px 0 6px;font-size:14px}
.geo-other-streets{margin:14px 0 18px;border:1px solid #e2e4dd;border-radius:11px;padding:0 12px}
.geo-other-streets>summary{padding:12px 0;cursor:pointer;line-height:1.45}
.geo-other-streets>summary strong{display:block;font-size:13.5px}
.geo-other-streets>summary span{display:block;color:var(--muted);font-size:11.5px}
.geo-other-streets[open]>summary{margin-bottom:7px}
.geo-other-streets .geo-street-list{max-height:340px}
.geo-street-disabled{opacity:.65;cursor:not-allowed}
.geo-empty-streets{padding:12px 14px;font-size:12px;color:var(--muted)}
.geo-regional-load{background:#f8f7f4}.geo-regional-load form{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.geo-regional-load form label{min-width:250px;flex:1}
@media(max-width:700px){.geo-place-option{display:block}.geo-place-option span{display:block;margin-top:3px}.geo-pick>a,.geo-pick>button{flex:1}.geo-street-count{min-width:65px}}
/* Official ward preview: explicit source/version and shared-road controls. */
.geo-boundary-meta{margin:13px 0 12px;background:#eef5ef;border:1px solid #c9dfce;border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.5;color:#265b3c;font-weight:650}
.geo-shared-warning{margin:12px 0;background:#fff4e8;border:1px solid #efcc9d;border-radius:10px;padding:12px 14px;color:#7b4a14;font-size:12.5px;line-height:1.5}
.geo-ward-map{height:auto;max-height:370px;background:#f2f6f4;margin-top:6px}

/* Nationwide ward discovery after choosing any familiar town, parish or village. */
.geo-related-wards{display:block;flex-basis:100%;width:100%;margin-top:12px;padding-top:15px;border-top:1px solid #e2e6df}
.geo-related-wards h4{font-size:15px;letter-spacing:-.02em;margin:0 0 6px;color:var(--charcoal)}
.geo-related-ward-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0 12px}
.geo-related-ward-btn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;white-space:normal;border:1px solid #dce5da;border-radius:9px;background:#fff;padding:11px 12px;color:var(--charcoal)}
.geo-related-ward-btn:hover{border-color:var(--orange);background:var(--orange-tint)}
.geo-related-ward-btn strong{font-size:13px}.geo-related-ward-btn small{font-size:11px;color:var(--muted)}
.geo-related-wards details{border:none;padding:4px 0}.geo-related-wards summary{cursor:pointer;font-weight:700;color:var(--orange-dark);font-size:12px}


/* Company controls and two-hour offline canvassing. */
.offline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.offline-indicator{font-size:12px;font-weight:750;color:#246946;padding:8px 12px;background:#E9F6EC;border-radius:10px}
.offline-indicator.offline{color:#895208;background:#FFF1D8}
.settings-checkbox{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:650;margin:14px 0}
.settings-checkbox input[type=checkbox]{width:19px;height:19px;accent-color:var(--orange);flex:0 0 auto}
.contact-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.contact-fields label{margin-bottom:0}
.team-row{align-items:center}
.team-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.team-actions select{width:auto;min-width:115px;max-width:180px}
#invitationResult{margin-top:18px;word-break:break-all}
#invitationResult input{font-size:12px}
@media(max-width:800px){.contact-fields{grid-template-columns:1fr}.team-row,.offline-toolbar{align-items:flex-start}}
