/* Runtime-only additions. The reconstructed template CSS above remains unchanged. */
.search-box input,.select-box select{border:0;outline:0;background:transparent;color:inherit;font:inherit;width:100%;min-width:0}.select-box select{appearance:none;cursor:pointer}.filter-panel form{display:contents}.chip-row a.chip{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.stage-table a,.circle-next,.action-pill{text-decoration:none}.timeline-item>a.stretched-link{position:absolute;inset:0;z-index:1}.timeline-item{position:relative}.timeline-item .status,.timeline-item .meta-icon{position:relative;z-index:2}.empty-row{text-align:center;color:#77837f;padding:22px!important}.announcement-list{display:grid;gap:10px;margin-top:15px}.announcement-card{padding:16px}.announcement-card h2{font:700 18px var(--serif);margin:7px 0}.announcement-card p{font-size:9.4px;color:#5f6d68;line-height:1.65}.detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:12px;margin-top:14px}.detail-card{padding:16px}.detail-card h2,.detail-card h3{font-family:var(--serif)}.detail-card p{font-size:10px;line-height:1.7;color:#56635e}.detail-meta{display:grid;gap:9px;margin-top:12px}.detail-meta .meta-icon{font-size:9.5px}.detail-docs{margin-top:14px}.detail-doc-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e8edeb}.detail-doc-row:first-child{border-top:0}.detail-doc-row strong{font-size:10px}.detail-doc-row small{display:block;color:#77837f;font-size:8px;margin-top:3px}.archive-item-link{color:inherit;text-decoration:none;display:contents}.archive-item{position:relative}.archive-item .archive-actions,.archive-item .circle-next{position:relative;z-index:2}.notice-inline{font-size:9px;color:#66736e}.countdown[data-countdown-target=""] .count-cell strong{opacity:.65}.pager a{text-decoration:none}.contact-strip a{color:inherit;text-decoration:none}.home-lower .empty-mini{font-size:9px;color:#77837f;padding:14px 4px}.hero-copy .lead{max-width:520px}.stage-table td:last-child a{color:inherit}.btn[aria-disabled="true"]{opacity:.55;pointer-events:none}.archive-filter .filter-row form{display:contents}@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.filter-panel form{display:block}.archive-filter .filter-row form{display:block}}
/* V4 alignment / overflow correction without changing the supplied visual language */
html,body{width:100%;max-width:100%;overflow-x:hidden}.container{margin-left:auto;margin-right:auto;max-width:100%}.header-inner,.utility-inner,.hero-inner{min-width:0}.nav{gap:15px;min-width:0}.nav a{white-space:nowrap}.header-actions{flex:0 0 auto}.docs-filter,.filter-panel,.docs-table-card,.stage-group{max-width:100%;min-width:0}.filter-row>*{min-width:0}.docs-table-card>div[style*="overflow"]{max-width:100%}.public-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:15px}.candidate-card{overflow:hidden}.candidate-photo-public{width:100%;height:280px;object-fit:cover;background:#eef3ef}.candidate-placeholder{height:280px;display:grid;place-items:center;background:linear-gradient(145deg,#edf5f0,#f8f4e8);font:700 20px var(--serif);color:var(--green)}.candidate-body{padding:17px}.candidate-number{display:inline-flex;width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;align-items:center;justify-content:center;font:700 18px var(--serif);margin-bottom:10px}.candidate-body h2{font:700 21px/1.1 var(--serif)}.candidate-body p{font-size:10px;color:#63706b;margin-top:7px}.candidate-section{margin-top:13px;padding-top:12px;border-top:1px solid #e6ece9}.candidate-section h3{font:700 14px var(--serif);margin-bottom:6px}.candidate-section .text{font-size:10px;color:#4f5f59;white-space:pre-line}.tps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}.tps-card{padding:17px}.tps-code{font:700 23px var(--serif);color:var(--green)}.tps-card h2{font:700 16px var(--serif);margin:5px 0}.tps-card p{font-size:9.7px;color:#60706a}.tps-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.voter-search-wrap{max-width:720px;margin:20px auto}.voter-result{margin-top:14px;padding:18px}.voter-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.voter-result-item{padding:11px;border-radius:8px;background:#f6f9f7}.voter-result-item span{display:block;font-size:9px;color:#77837f}.voter-result-item strong{display:block;margin-top:3px;font-size:11px}.privacy-note{padding:13px 15px;border-radius:9px;background:#fff8e8;border:1px solid #ead7aa;font-size:9.5px;color:#735718;line-height:1.55;margin-top:12px}.public-form .adminish-label{font-size:10px;font-weight:700;display:block;margin-bottom:6px}.public-form input{width:100%;height:42px;border:1px solid #d7e0dc;border-radius:7px;padding:0 13px}.public-form-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.detail-description:empty{display:none}
@media(max-width:1100px){.nav{gap:10px;font-size:10px}.brand{min-width:225px}.header-actions{gap:7px}.header-actions .btn{padding-left:13px;padding-right:13px}}
@media(max-width:900px){.public-card-grid,.tps-grid{grid-template-columns:1fr 1fr}.public-form-grid{grid-template-columns:1fr 1fr}.public-form-grid .btn{grid-column:1/-1}.site-header{height:auto}.header-inner{flex-wrap:wrap;padding:7px 0}.nav{order:3;width:100%;overflow-x:auto;justify-content:flex-start;border-top:1px solid #edf1ef}.nav a{padding:12px 0}.nav a.active:after{bottom:4px}}
@media(max-width:600px){.public-card-grid,.tps-grid,.voter-result-grid,.public-form-grid{grid-template-columns:1fr}.candidate-photo-public,.candidate-placeholder{height:240px}}
.public-secondary-nav{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:14px auto 0}.public-secondary-nav a{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:18px;border:1px solid #dfe7e3;background:#fff;font-size:9.5px;color:#42534d}.public-secondary-nav a.active{background:var(--green);border-color:var(--green);color:#fff}
/* Keep the five-item uploaded header geometry intact and prevent added runtime content from shifting the page. */
.site-header .container,.utility-bar .container,.footer .container,main>.container{margin-left:auto;margin-right:auto}.header-inner{overflow:visible}.nav{flex:0 1 auto}.brand{flex:0 0 260px}.header-actions{flex:0 0 auto}@media(max-width:1100px){.brand{flex-basis:225px}.nav{gap:10px}.header-actions .btn-gold{padding-left:12px;padding-right:12px}}@media(max-width:900px){.brand{flex-basis:auto}.nav{max-width:100%}}
/* V5: wider public canvas while preserving the supplied template language. */
:root{--container:1460px}
.container{width:min(calc(100% - 44px),var(--container));max-width:var(--container)}
.nav{gap:18px}
.stage-detail-link{font-weight:700;color:var(--ink);text-decoration:none}.stage-detail-link:hover{color:var(--green);text-decoration:underline}.stage-condition-note{display:block;margin-top:4px;color:var(--purple);font-size:8.5px;line-height:1.35;max-width:360px}.stage-detail-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border:1px solid #c7d7d0;border-radius:14px;color:var(--green)!important;font-size:8.8px;font-weight:700;background:#fff}.stage-detail-button:hover{background:var(--green-soft)}
.condition-box{margin-top:14px;padding:12px 14px;border:1px solid #d9c8ef;border-radius:10px;background:#f7f1fd}.condition-box strong{display:block;color:var(--purple);font:700 13px var(--serif);margin-bottom:5px}.condition-box p{margin:0!important;color:#5f4b74!important}
@media(max-width:1180px){:root{--container:1080px}.nav{gap:11px;font-size:10px}.brand{flex-basis:225px}.header-actions .icon-btn{display:none}}
@media(max-width:900px){.container{width:min(calc(100% - 30px),var(--container))}}
/* V5.1: public canvas follows the browser width more closely while retaining the template components. */
:root{--container:1680px}
.container{width:min(calc(100% - 24px),var(--container));max-width:var(--container)}
@media(max-width:900px){.container{width:min(calc(100% - 24px),var(--container))}}
@media(max-width:600px){.container{width:min(calc(100% - 18px),var(--container))}}

/* V6 public form hardening UI — visual language preserved. */
.public-captcha{min-width:170px}.captcha-box{display:grid;gap:6px}.captcha-box .adminish-label{font-size:11px;font-weight:700;color:#30465b}.captcha-box input{height:43px;border:1px solid #d9e2ea;border-radius:6px;padding:0 11px;background:#fff;color:#243856}.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(min-width:901px){.public-form-grid{grid-template-columns:1fr 1fr 1fr auto}.public-captcha{min-width:180px}}

/* V7 — conditional stage label, candidate gallery/profile, TPS map/detail */
.candidate-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.candidate-summary-card{overflow:hidden;display:flex;flex-direction:column;min-width:0}.candidate-photo-link{display:block;background:#edf3ef;overflow:hidden}.candidate-summary-card .candidate-photo-public,.candidate-summary-card .candidate-placeholder{height:360px}.candidate-name-link{color:var(--ink);text-decoration:none}.candidate-name-link:hover{color:var(--green)}.candidate-card-actions{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.candidate-profile-grid{display:grid;grid-template-columns:minmax(260px,390px) minmax(0,1fr);gap:18px;align-items:start}.candidate-profile-photo-card{overflow:hidden;position:relative}.candidate-profile-photo{width:100%;height:520px;object-fit:cover;display:block;background:#eef3ef}.candidate-profile-placeholder{display:grid;place-items:center;color:#68766f;font:700 16px var(--serif)}.candidate-profile-number{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;background:var(--green);color:#fff}.candidate-profile-number span{font-size:10px}.candidate-profile-number strong{font:700 30px var(--serif)}.candidate-profile-main{padding:22px}.candidate-profile-heading h2{font:700 30px/1.05 var(--serif);margin-top:10px}.candidate-profile-heading p{font-size:11px;color:#65726d;margin-top:7px}.candidate-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.candidate-fact{padding:13px;border:1px solid #e1e8e4;border-radius:9px;background:#fafcfb}.candidate-fact span{display:block;font-size:9px;color:#76817d;margin-bottom:5px}.candidate-fact strong{display:block;font-size:11px;line-height:1.5}.candidate-fact-wide{grid-column:1/-1}.candidate-profile-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.candidate-profile-content-grid .candidate-mission-card{grid-column:1/-1}.candidate-long-text{margin-top:12px;font-size:11px;line-height:1.75;color:#43514c}.detail-back-row{margin-top:16px;display:flex;justify-content:flex-start}
.tps-card{overflow:hidden;padding:0}.tps-card-body{padding:17px}.tps-map-preview{height:190px;background:#edf3ef;border-bottom:1px solid #e1e8e4}.tps-map-preview iframe,.tps-map-large iframe{width:100%;height:100%;border:0;display:block}.tps-map-placeholder{display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,#edf5f0,#faf7ed);color:#60706a;font-size:10px;padding:18px;min-height:150px}.tps-name-link{color:var(--ink);text-decoration:none}.tps-name-link:hover{color:var(--green)}.tps-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:18px;align-items:start}.tps-map-card{padding:18px}.tps-map-large{height:520px;margin-top:14px;border-radius:10px;overflow:hidden;border:1px solid #dce5e1;background:#eef3ef}.tps-info-card{position:sticky;top:18px}.tps-info-card h2{font:700 24px/1.1 var(--serif);margin:5px 0 16px}.tps-notes{margin-top:16px;padding-top:14px;border-top:1px solid #e3e9e6}.tps-notes h3{font:700 14px var(--serif);margin-bottom:7px}.tps-notes p{font-size:10px;line-height:1.6;color:#52615b}
@media(max-width:1000px){.candidate-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.candidate-profile-grid,.tps-detail-grid{grid-template-columns:1fr}.tps-info-card{position:static}.candidate-profile-photo{height:480px}.tps-map-large{height:430px}}
@media(max-width:650px){.candidate-gallery-grid,.candidate-profile-content-grid,.candidate-facts{grid-template-columns:1fr}.candidate-profile-content-grid .candidate-mission-card,.candidate-fact-wide{grid-column:auto}.candidate-summary-card .candidate-photo-public,.candidate-summary-card .candidate-placeholder{height:320px}.candidate-profile-photo{height:420px}.tps-map-large{height:360px}.tps-map-preview{height:180px}}

/* V8: conditional is a visual attribute, while status remains temporal. */
.stage-conditional-title{color:#7933a8;font-style:italic;font-weight:600;white-space:nowrap}
/* V8: TPS map cards span the entire public content width. */
.tps-grid{grid-template-columns:minmax(0,1fr)!important;width:100%}
.tps-card{width:100%}
.tps-map-preview{width:100%;height:390px}
@media(max-width:900px){.tps-map-preview{height:330px}}
@media(max-width:600px){.tps-map-preview{height:260px}}


/* V9 public TPS master map + guaranteed conditional suffix styling */
.stage-conditional-title{
  color:#7933a8!important;
  font-style:italic!important;
  font-weight:600!important;
}
.tps-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.tps-master-map-card{margin-top:16px;overflow:hidden;}
.tps-master-map-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #e3e9e6;}
.tps-master-map-head h2{font:700 21px/1.1 var(--serif);}
.tps-master-map-head p{font-size:10px;color:#60706a;margin-top:5px;}
.tps-master-map{position:relative;width:100%;height:620px;background:#edf3ef;overflow:hidden;}
.tps-master-map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;pointer-events:none;}
.tps-marker-layer{position:absolute;inset:0;z-index:3;pointer-events:none;}
.tps-map-marker{
  position:absolute;transform:translate(-50%,-100%);
  min-width:38px;height:38px;padding:0 8px;border:3px solid #fff;border-radius:20px 20px 20px 4px;
  background:var(--green);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.28);
  display:grid;place-items:center;cursor:pointer;pointer-events:auto;font:700 9px/1 var(--sans);
}
.tps-map-marker:hover,.tps-map-marker:focus-visible{background:#7933a8;outline:3px solid rgba(121,51,168,.2);z-index:5;}
.tps-map-marker span{white-space:nowrap;}
.tps-map-popup{
  position:absolute;z-index:8;right:18px;top:18px;width:min(330px,calc(100% - 36px));
  padding:18px;border-radius:12px;background:rgba(255,255,255,.98);border:1px solid #dbe5e0;box-shadow:0 16px 42px rgba(20,45,35,.22);
}
.tps-map-popup-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:22px;line-height:1;color:#50605a;cursor:pointer;}
.tps-map-popup-code{font:700 17px var(--serif);color:var(--green);padding-right:26px;}
.tps-map-popup h3{font:700 19px/1.1 var(--serif);margin:5px 28px 5px 0;}
.tps-map-popup p{font-size:10px;color:#60706a;line-height:1.5;margin-bottom:10px;}
.tps-map-popup .btn{margin-top:12px;}
.tps-master-map-empty{min-height:360px;}
.tps-list-heading{display:flex;justify-content:space-between;align-items:end;margin:22px 0 10px;}
.tps-list-heading h2{font:700 21px var(--serif);}
.tps-list-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.tps-list-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;}
.tps-list-card .tps-code{margin:0;}
.tps-list-card-main h2{font:700 16px var(--serif);margin-bottom:4px;}
.tps-list-card-main p{font-size:9.7px;color:#60706a;}
@media(max-width:900px){
  .tps-stats-grid{grid-template-columns:1fr 1fr;}
  .tps-master-map{height:520px;}
  .tps-list-card{grid-template-columns:90px minmax(0,1fr);}
  .tps-list-card>.btn{grid-column:1/-1;justify-self:start;}
}
@media(max-width:600px){
  .tps-stats-grid{grid-template-columns:1fr;}
  .tps-master-map-head{align-items:flex-start;flex-direction:column;}
  .tps-master-map{height:430px;}
  .tps-list-card{grid-template-columns:1fr;}
  .tps-map-marker{min-width:34px;height:34px;padding:0 6px;font-size:8px;}
}
