:root {
  --navy: #12344d;
  --navy-2: #0b2639;
  --teal: #087f8c;
  --teal-dark: #05606a;
  --gold: #f2b544;
  --paper: #f7f9fb;
  --white: #ffffff;
  --ink: #17232d;
  --muted: #5b6b78;
  --line: #d7e0e6;
  --danger: #b42318;
  --success: #16794b;
  --focus: #ffbf47;
  --shadow: 0 12px 30px rgba(18,52,77,.1);
  font-size: 100%;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--paper); line-height: 1.55; }
body.high-contrast { --paper:#000; --white:#111; --ink:#fff; --muted:#eee; --line:#fff; --navy:#fff; --navy-2:#fff; --teal:#ffe600; --teal-dark:#ffe600; --gold:#ffe600; --danger:#ff7b7b; --success:#75ffb2; }
a { color: var(--teal-dark); }
button, input, select, textarea { font: inherit; }
button, input, select, textarea, summary { outline-offset: 3px; }
:focus-visible { outline: 4px solid var(--focus); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; background: var(--gold); color:#000; padding:.75rem 1rem; font-weight:700; border-radius:.4rem; }
.skip-link:focus { top:1rem; }
.site-header { background: var(--navy); color: var(--white); padding: 1rem clamp(1rem, 4vw, 4rem); display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-header h1 { margin:0; font-size:clamp(1.35rem, 2.8vw, 2rem); }
.eyebrow { margin:0 0 .25rem; text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:800; color: var(--teal); }
.site-header .eyebrow { color: #9ce4ea; }
.header-actions, .hero-actions, .survey-actions, .dialog-actions, .section-heading-row { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.question-jump-actions { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.container { width:min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem) 0; }
.hidden { display:none !important; }
.hero-card, .card, .question-panel, .progress-panel, .submit-card, .confirmation-card { background:var(--white); border:1px solid var(--line); border-radius:1rem; box-shadow:var(--shadow); }
.hero-card { padding:clamp(1.5rem,5vw,4rem); display:grid; grid-template-columns: 1.5fr .7fr; align-items:center; gap:2rem; }
.hero-card h2 { font-size:clamp(2rem,5vw,3.8rem); line-height:1.05; margin:.25rem 0 1rem; color:var(--navy); }
.hero-actions { flex-direction:column; align-items:stretch; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1rem; }
.feature-grid article { padding:1.25rem; border-left:5px solid var(--teal); background:var(--white); border-radius:.65rem; }
.feature-grid h3 { margin-top:0; color:var(--navy); }
.button { border-radius:.6rem; padding:.72rem 1rem; border:2px solid transparent; cursor:pointer; font-weight:750; min-height:44px; }
.button.primary { background:var(--teal); color:#fff; }
.button.primary:hover { background:var(--teal-dark); }
.button.secondary { background:var(--white); color:var(--navy); border-color:var(--navy); }
.button.ghost { background:transparent; color:inherit; border-color:currentColor; }
.button.full { width:100%; margin-top:.6rem; }
.survey-shell { display:grid; grid-template-columns:290px 1fr; gap:1.2rem; align-items:start; }
.progress-panel { padding:1.2rem; position:sticky; top:1rem; }
.progress-track { height:.7rem; background:var(--line); border-radius:10rem; overflow:hidden; }
.progress-track span { display:block; height:100%; width:0; background:var(--teal); transition:width .25s ease; }
.progress-text { font-weight:700; }
.autosave-status { margin:.55rem 0 0; color:var(--muted); font-size:.9rem; }
.autosave-status.saving { color:var(--teal-dark); }
.autosave-status.saved { color:var(--success); }
.autosave-status.local-only { color:#8b4d00; }
.save-help { margin:.5rem 0 0; color:var(--muted); font-size:.84rem; line-height:1.35; }
#section-nav { display:grid; gap:.35rem; margin:1rem 0; }
#section-nav button { text-align:left; background:transparent; border:0; border-left:4px solid var(--line); padding:.5rem .7rem; color:var(--muted); cursor:pointer; }
#section-nav button.current { color:var(--ink); border-color:var(--teal); font-weight:800; }
#section-nav button.complete::after { content:" ✓"; color:var(--success); }
.question-panel { padding:clamp(1.25rem,4vw,2.5rem); min-height:540px; }
.question-card h2 { margin:.3rem 0 .6rem; font-size:clamp(1.55rem,3vw,2.2rem); color:var(--navy); line-height:1.2; }
.question-number { color:var(--muted); font-weight:700; }
.help-text { color:var(--muted); max-width:70ch; }
fieldset { border:0; padding:0; margin:1.25rem 0; }
legend { font-weight:800; margin-bottom:.65rem; }
.option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.option-card, .check-row { display:flex; gap:.7rem; align-items:flex-start; border:1px solid var(--line); border-radius:.65rem; padding:.85rem; background:var(--white); }
.option-card:hover { border-color:var(--teal); }
input[type="checkbox"], input[type="radio"] { width:1.25rem; height:1.25rem; margin-top:.12rem; flex:none; accent-color:var(--teal); }
input[type="text"], input[type="url"], input[type="email"], input[type="tel"], input[type="date"], select, textarea { width:100%; border:2px solid #9aabb7; border-radius:.55rem; padding:.75rem; background:var(--white); color:var(--ink); }
label { display:block; font-weight:750; margin-top:1rem; }
fieldset label { margin-top:0; font-weight:600; }
textarea { resize:vertical; }
.definition-list { display:grid; gap:.7rem; }
details.definition { border:1px solid var(--line); border-radius:.65rem; padding:.7rem .9rem; background:var(--paper); }
details.definition summary { cursor:pointer; font-weight:800; color:var(--navy); }
.repeat-group { border:1px solid var(--line); border-radius:.75rem; padding:1rem; margin:1rem 0; }
.repeat-group h3 { margin-top:0; }
.repeat-group-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.repeat-group-heading h3 { margin:0; }
.remove-program-instance { flex:none; }
.add-program-instance { margin:-.15rem 0 1.35rem; }
.program-dashboard-empty,.program-dashboard-card,.program-editor{border:1px solid var(--line);border-radius:.75rem;padding:1rem;background:#fbfdfe}.program-dashboard-empty{margin:1rem 0;max-width:44rem}.program-dashboard-list{display:grid;gap:.85rem;margin:1rem 0}.program-dashboard-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-left:5px solid #95a6b0}.program-dashboard-card.in-progress{border-left-color:#d68b10}.program-dashboard-card.complete{border-left-color:#398b45}.program-dashboard-card h3,.program-editor h3{margin:.1rem 0 .35rem;color:var(--navy)}.program-card-position,.program-editor-breadcrumb,.program-editor-section{font-size:.9rem;font-weight:750;color:#496576;margin:.1rem 0}.program-status-badge{display:inline-block;margin:.15rem 0;padding:.15rem .5rem;border-radius:999px;font-size:.82rem;font-weight:800;background:#e7edf0;color:#405360}.program-status-badge.in-progress{background:#fff1d6;color:#815100}.program-status-badge.complete{background:#dff3df;color:#21652a}.program-progress{height:.45rem;width:min(18rem,100%);border-radius:999px;background:#dce6eb;overflow:hidden}.program-progress span{display:block;height:100%;background:#d68b10}.program-card-actions{display:flex;gap:.5rem;align-items:center;flex:none}.program-dashboard-tally{font-weight:800;margin:1rem 0 .25rem}.success-text{color:#21652a;font-weight:750}.program-editor{margin:1rem 0}.copy-program-details{border:1px solid var(--line);border-radius:.55rem;padding:.75rem;margin:.85rem 0;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.copy-program-details p{width:100%;margin:0}.program-editor-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem}.program-add-dialog{width:min(52rem,calc(100vw - 2rem));border:0;border-radius:.8rem;box-shadow:0 1.25rem 3rem rgba(10,40,55,.28)}.program-add-dialog::backdrop{background:rgba(20,28,36,.72)}.program-add-dialog form{padding:1.25rem}.program-add-dialog h3{margin:.1rem 0 .35rem}.program-add-dialog>form>label{display:block}.program-add-dialog input{width:100%}.program-add-question{margin:0;color:var(--teal);font-size:.82rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.additional-program-categories{display:grid;gap:.6rem;max-height:55vh;overflow:auto;margin:.85rem 0}.additional-program-area{padding:.65rem;border:1px solid var(--line);border-radius:.55rem;background:#f2f7f9}.additional-program-area summary{font-weight:850;color:var(--navy);cursor:pointer}.additional-program-area>p{margin:.5rem 0;color:#496576;font-size:.88rem}.additional-program-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.additional-program-category-grid label{display:flex;gap:.55rem;align-items:flex-start;padding:.6rem;border:1px solid #c9d8df;border-radius:.45rem;background:#fff;cursor:pointer}.additional-program-category-grid input{width:auto;margin-top:.2rem}.additional-program-category-grid span{display:grid;gap:.18rem}.additional-program-category-grid small{color:#496576;font-size:.78rem;line-height:1.3}
.program-incomplete-sections{margin:.35rem 0 .55rem;color:#5c4300;font-size:.9rem}
.program-copy-dialog{width:min(42rem,calc(100vw - 2rem));padding:0}.program-copy-dialog form{padding:1.35rem}.program-copy-dialog h3{margin-top:0}.program-copy-dialog [data-copy-warning]{font-weight:750;color:var(--navy)}
.copy-preview{margin:.85rem 0;padding:.65rem .8rem;border:1px solid #c9d8df;border-radius:.5rem;background:#f1f6f8}.copy-preview p{margin:0 0 .3rem;font-size:.88rem;font-weight:800;color:#274c60}.copy-preview ul{max-height:11rem;overflow:auto;margin:.2rem 0;padding-left:1.15rem;display:grid;gap:.2rem;font-size:.86rem;line-height:1.35}.copy-preview li{overflow-wrap:anywhere}.copy-preview-value{white-space:pre-line}.copy-preview small{display:block;margin-top:.45rem;color:#496576;font-size:.8rem}
.program-definition-cards{display:grid;gap:.65rem}.program-definition-card{border:1px solid #c9d8df;border-radius:.55rem;padding:.7rem;background:#eef3f5}.program-definition-card p{margin:0 0 .2rem;font-size:.78rem;font-weight:800;color:#496576;text-transform:uppercase;letter-spacing:.04em}.program-definition-card h4{margin:0 0 .35rem;color:var(--navy);font-size:.98rem}.program-definition-card div{font-size:.88rem;line-height:1.4;color:#365262}.program-definition-cards.compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:.55rem 0 .75rem;max-width:52rem}.program-definition-cards.compact .program-definition-card{padding:.55rem .65rem;background:#f0f5f7}.program-definition-cards.compact .program-definition-card div{font-size:.8rem}.program-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.42fr);gap:1rem;align-items:start}.program-definition-panel{position:sticky;top:1rem;background:#e9eef1;border:1px solid #c9d8df;border-radius:.65rem;padding:.85rem}.program-definition-panel>h4{margin:.05rem 0 .7rem;color:var(--navy)}
.location-row { display:grid; grid-template-columns:1fr 1fr auto; gap:.75rem; align-items:end; margin-top:.75rem; }
.status-banner { min-height:1.5rem; color:var(--success); font-weight:700; }
.error-summary { border-left:6px solid var(--danger); background:#fff1f0; color:#5f1611; padding:1rem; margin-bottom:1rem; }
.error-text { color:var(--danger); font-weight:750; }
.survey-actions { justify-content:space-between; border-top:1px solid var(--line); padding-top:1.2rem; margin-top:2rem; }
.survey-actions > #jump-end-button { margin-left:auto; }
.review-header, .admin-header { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:1.2rem; }
.review-section { background:var(--white); border:1px solid var(--line); border-radius:.8rem; padding:1.25rem; margin-bottom:1rem; }
.review-section h3 { margin-top:0; color:var(--navy); }
.review-list { display:grid; grid-template-columns:minmax(180px,.55fr) 1fr; gap:.55rem 1rem; }
.review-list dt { font-weight:800; }
.review-list dd { margin:0; white-space:pre-wrap; }
.review-program-list{display:grid;gap:.7rem}.review-program-card{padding:.8rem .9rem;border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:.5rem;background:#f8fbfc}.review-program-card h4{margin:0 0 .65rem;color:var(--navy);font-size:1rem}.review-program-details{display:grid;grid-template-columns:minmax(9rem,.55fr) 1fr;gap:.35rem .75rem;margin:0}.review-program-details dt{font-weight:750}.review-program-details dd{margin:0;white-space:pre-wrap}
.submit-card { padding:1.2rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.confirmation-card { width:min(700px,100%); margin:4rem auto; padding:3rem; text-align:center; }
.success-icon { width:70px; height:70px; display:grid; place-items:center; border-radius:50%; background:#d9f5e7; color:var(--success); font-size:2rem; margin:0 auto 1rem; }
.admin-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:1rem; }
.card { padding:1.25rem; }
.stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.75rem; }
.stat { background:var(--paper); padding:1rem; border-radius:.7rem; }
.stat strong { display:block; font-size:2rem; color:var(--navy); }
.table-card { margin-top:1rem; }
.section-heading-row { justify-content:space-between; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th, td { padding:.8rem; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--navy); }
.generated-link { margin-top:1rem; padding:1rem; background:var(--paper); border-radius:.65rem; word-break:break-all; }.generated-link p{margin:.45rem 0;line-height:1.4}.generated-link.success{border-left:5px solid #278008}.generated-link.error{border-left:5px solid #b42318;background:#fff1f0;color:#8b1f16}
dialog { border:0; border-radius:1rem; padding:1.5rem; max-width:480px; box-shadow:var(--shadow); }
dialog::backdrop { background:rgba(0,0,0,.55); }
.app-message-dialog{width:min(32rem,calc(100vw - 2rem));padding:0;border:0;border-radius:.9rem;box-shadow:0 1.25rem 3rem rgba(8,28,39,.32)}
.app-message-dialog::backdrop{background:rgba(8,28,39,.68)}
.app-message-dialog-panel{display:grid;gap:1rem;padding:1.35rem}
.app-message-dialog-panel h2,.app-message-dialog-panel p{margin:0}
.app-message-dialog-panel [data-app-message-input-label]{display:grid;gap:.35rem;font-weight:700}
.app-message-dialog-panel input{width:100%;box-sizing:border-box}
.sr-only { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width: 850px) {
  .hero-card, .survey-shell, .admin-grid { grid-template-columns:1fr; }
  .progress-panel { position:static; }
  .feature-grid { grid-template-columns:1fr; }
  .option-grid { grid-template-columns:1fr; }
  .hero-actions { flex-direction:row; }
  .location-row { grid-template-columns:1fr; }
  .program-editor-body { grid-template-columns:1fr; }
  .program-definition-panel { position:static; }
}
@media (max-width: 560px) {
  .site-header, .review-header, .admin-header, .submit-card { align-items:stretch; flex-direction:column; }
  .header-actions, .hero-actions { flex-direction:column; align-items:stretch; }
  .review-list { grid-template-columns:1fr; }
  .review-list dd { margin-bottom:.65rem; }
  .review-program-details{grid-template-columns:1fr}.review-program-details dd{margin-bottom:.25rem}
  .program-definition-cards.compact { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; } }

.address-fieldset { border:1px solid var(--line); border-radius:.65rem; padding:1rem; margin:1rem 0; }
.address-fieldset legend { font-weight:750; padding:0 .35rem; }
.address-modifier { display:inline-flex; align-items:center; gap:.55rem; margin:0; font-weight:700; }
.address-modifier input { margin:0; }
.address-modifier-row { display:flex; flex-wrap:wrap; gap:1.1rem; }
.address-fields { margin-top:1rem; }
.address-confidential-setting { border-top:1px solid var(--line); margin-top:1.25rem; padding-top:1rem; }
.address-confidential-setting .field-caption { margin:.3rem 0 0 1.8rem; }
.address-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.address-grid label { margin:0; }
.address-wide { grid-column:1 / -1; }
.field-error { color:var(--danger); font-weight:750; margin-top:.75rem; }
[aria-invalid="true"] { border-color:var(--danger) !important; box-shadow:0 0 0 1px var(--danger); }
input:disabled, select:disabled { background:#eef2f4; color:#52616b; cursor:not-allowed; }
@media (max-width:650px) { .address-grid { grid-template-columns:1fr; } .address-wide { grid-column:auto; } }
.address-tools { display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-top:.8rem; }
.address-status { font-weight:650; }
.field-caption { display:block; margin-top:.3rem; color:var(--muted); font-size:.86rem; font-weight:500; line-height:1.35; }
.address-validation-caption { margin:.4rem 0 0; }
.address-suggestion { margin-top:.8rem; padding:1rem; border:1px solid var(--line); border-radius:.65rem; background:var(--paper); }
.address-suggestion p { margin:.25rem 0 .75rem; }
.admin-login-card{max-width:36rem;margin:2rem auto}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.button.danger{border-color:#a11;color:#8b0000;background:#fff}.button.danger:hover{background:#fff2f2}.help-text{font-size:.92rem;color:var(--muted, #555)}
.state-selector { border:1px solid var(--line); border-radius:.65rem; padding:1rem; max-height:24rem; overflow:auto; }
.state-checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.county-picker { border:1px solid var(--line); border-radius:.65rem; padding:1rem; margin-top:1rem; }
.county-instruction { margin:.2rem 0 .55rem; font-weight:750; color:var(--ink); }
.county-methods { margin:.45rem 0 1rem; }
.county-search{display:grid;gap:.35rem;max-width:28rem;margin:.85rem 0}.county-search label{margin:0;font-weight:700}.county-search input{width:100%;margin:0}.county-search .help-text{min-height:1.4rem;margin:0}
.state-search{display:grid;gap:.35rem;max-width:28rem;margin:.85rem 0}.state-search label{margin:0;font-weight:700}.state-search input{width:100%;margin:0}.state-search .help-text{min-height:1.4rem;margin:0}.state-search-hidden{display:none !important}
.county-loading { padding:.75rem; background:var(--paper); border-radius:.5rem; }
.county-state { border:1px solid var(--line); border-radius:.55rem; margin:.6rem 0; background:var(--paper); }
.county-state summary { cursor:pointer; padding:.75rem; font-weight:800; }
.county-checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; padding:0 .75rem .75rem; }
.county-option { background:var(--white); }
.county-picker .county-search-hidden { display:none !important; }
.county-count { color:var(--muted); font-weight:600; }
@media(max-width:650px){.state-checkbox-grid,.county-checkbox-grid{grid-template-columns:1fr;}}
.service-picker { border:1px solid var(--line); border-radius:.65rem; padding:1rem; margin:1rem 0; }
.service-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.service-item { border:1px solid var(--line); border-radius:.55rem; background:var(--paper); padding:.7rem; }
.service-suboptions { margin:.5rem 0 0 1.7rem; padding-left:.75rem; border-left:3px solid var(--line); display:grid; gap:.35rem; }
.county-bulk-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-bottom:.8rem; }
.county-action { background:#f6fbfc; }
.county-selection-count{margin:.35rem 0 .7rem;font-weight:800;color:#123f52}.county-list-details{border:1px solid var(--line);border-radius:.6rem;background:var(--paper);margin-top:.35rem}.county-list-details>summary{cursor:pointer;padding:.8rem 1rem;font-weight:800;color:#123f52}.county-list-tools{padding:.15rem 1rem .55rem;border-top:1px solid var(--line);background:#f6fbfc}.county-list-states{padding:0 .7rem .7rem}
.county-map-dialog{width:min(98vw,92rem);max-width:92rem;padding:0}.county-map-dialog-shell{padding:1.25rem}.county-map-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.county-map-header h2{margin:0}.county-map-status{margin:.5rem 0 1rem}.county-map-canvas{min-height:32rem;max-height:76vh;overflow:auto;border:1px solid var(--line);border-radius:.65rem;background:#eef6f8;padding:.5rem}.county-map-canvas svg{display:block;width:100%;min-width:48rem;height:auto}.county-map-county{fill:#fff;stroke:#7a8b96;stroke-width:.45;cursor:pointer}.county-map-county:hover,.county-map-county:focus{fill:#d3edf2;stroke:#124866;stroke-width:1.2;outline:none}.county-map-county.is-selected{fill:#157a8a;stroke:#093f4b}.county-map-label{font-size:10px;font-weight:700;fill:#173c4a;pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.county-map-tooltip{position:fixed;z-index:20;width:min(22rem,calc(100vw - 2rem));padding:.75rem 1rem;border:1px solid #124866;border-radius:.6rem;background:#fff;box-shadow:var(--shadow);pointer-events:none}.county-map-tooltip strong{display:block;color:#123f52}.county-map-tooltip p{margin:.35rem 0 0;font-size:.9rem;line-height:1.35}.county-map-loading{padding:2rem;text-align:center}.county-map-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:650px){.county-map-dialog-shell{padding:1rem}.county-map-canvas{min-height:26rem}.county-map-canvas svg{min-width:38rem}}
.county-map-dialog{width:min(98vw,92rem);max-width:92rem;padding:0}.county-map-dialog-shell{padding:1.25rem}.county-map-header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.county-map-header h2{margin:0}.county-map-status{margin:.5rem 0 1rem}.county-map-controls{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.75rem 0}.county-map-controls .button{min-width:2.45rem;padding:.45rem .65rem}.county-map-pan-label{font-weight:700;margin-left:.25rem}.county-map-canvas{height:min(48vh,30rem);overflow:hidden;border:1px solid var(--line);border-radius:.65rem;background:#eef6f8;padding:.5rem}.county-map-canvas svg{display:block;width:100%;min-width:48rem;height:100%;cursor:grab;touch-action:none}.county-map-canvas svg:active{cursor:grabbing}.county-map-county{fill:#fff;stroke:#7a8b96;stroke-width:.45;cursor:pointer}.county-map-county:hover,.county-map-county:focus{fill:#d3edf2;stroke:#124866;stroke-width:1.2;outline:none}.county-map-county.is-selected{fill:#157a8a;stroke:#093f4b}.county-map-label{font-size:10px;font-weight:700;fill:#173c4a;pointer-events:none;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.county-map-city-marker{fill:#b5462f;stroke:#fff;stroke-width:1.5;pointer-events:none}.county-map-city-label{font-size:12px;font-weight:700;fill:#6f2115;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.county-map-tooltip{position:fixed;z-index:20;width:min(22rem,calc(100vw - 2rem));padding:.75rem 1rem;border:1px solid #124866;border-radius:.6rem;background:#fff;box-shadow:var(--shadow);pointer-events:none}.county-map-tooltip strong{display:block;color:#123f52}.county-map-tooltip p{margin:.35rem 0 0;font-size:.9rem;line-height:1.35}.county-map-selected{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:var(--paper);max-height:12rem;overflow:auto}.county-map-selected h3{margin:0 0 .5rem}.county-map-selected p,.county-map-selected ul{margin:.25rem 0}.county-map-selected ul{columns:3;column-gap:2rem;padding-left:1.25rem}.county-map-selected li{break-inside:avoid;margin:.15rem 0}.county-map-loading{padding:2rem;text-align:center}.county-map-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1rem}@media(max-width:650px){.county-map-dialog-shell{padding:1rem}.county-map-canvas{height:40vh;min-height:20rem}.county-map-canvas svg{min-width:38rem}.county-map-selected ul{columns:1}}
.county-map-city-search{position:relative;max-width:34rem;margin:.6rem 0}.county-map-city-search label{display:block;margin-bottom:.3rem;font-weight:700}.county-map-city-search input{width:100%}.county-map-city-results{position:absolute;z-index:8;width:100%;max-height:13rem;overflow:auto;background:#fff;border-radius:.5rem;box-shadow:var(--shadow)}.county-city-result{display:block;width:100%;padding:.6rem .75rem;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.county-city-result:hover,.county-city-result:focus{background:#eaf5f7}.county-city-result span{color:var(--muted);font-size:.9em}.county-map-county.is-city-match{fill:#f5b942;stroke:#8a5400;stroke-width:2.2}
.county-map-dialog{max-height:96vh;overflow-y:auto}.county-map-city-search [data-select-highlighted-county]{margin-top:.65rem}.county-map-county.is-selected.is-city-match{fill:#157a8a;stroke:#093f4b;stroke-width:2.2}
.county-map-canvas{height:min(34vh,24rem)}.county-map-selected{height:10rem;max-height:10rem;overflow-y:auto;scrollbar-gutter:stable}
.county-map-dialog{height:calc(100vh - 2rem);max-height:none;overflow:hidden}.county-map-dialog-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.county-map-canvas{height:auto;min-height:12rem;flex:1 1 auto}.county-map-selected{height:8rem;min-height:8rem;max-height:8rem;flex:0 0 8rem}.county-map-actions{flex:0 0 auto}
.county-map-dialog::backdrop{background:rgba(4,18,27,.88)}.county-map-legend{display:flex;gap:1rem;align-items:center;margin:-.25rem 0 .45rem;font-size:.88rem;font-weight:700;color:#264653}.county-map-legend span{display:inline-flex;align-items:center;gap:.35rem}.county-map-legend i{width:.9rem;height:.9rem;border-radius:.2rem;border:1px solid #093f4b}.legend-selected{background:#157a8a}.legend-highlighted{background:#f5b942;border-color:#8a5400!important}.county-map-county,.county-map-hit-target{cursor:crosshair}.county-map-selected{position:relative;padding:.8rem 1rem 1.1rem;line-height:1.55;color:var(--ink);box-shadow:inset 0 10px 10px -13px rgba(10,42,58,.7),inset 0 -12px 12px -15px rgba(10,42,58,.8)}.county-map-selected::after{display:none}.county-map-selected li{color:inherit;line-height:1.55;padding:.05rem 0}.county-map-tooltip{max-width:min(22rem,calc(100vw - 2rem));z-index:30}.county-map-county:focus{stroke-width:2.4}.county-map-county.is-small-region{stroke-width:7!important;stroke-linejoin:round}
.county-map-county.is-hovered{stroke:#124866;stroke-width:2.6;filter:drop-shadow(0 0 1px #fff)}.county-map-county:not(.is-selected).is-hovered{fill:#d3edf2}.county-map-hit-target{fill:transparent;stroke:transparent;stroke-width:32;pointer-events:all;cursor:crosshair}
.county-map-small-city-callout{font-size:12px;font-weight:800;fill:#123f52;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.county-map-small-city-leader{stroke:#124866;stroke-width:1.4;pointer-events:none}
.county-map-county{stroke:#607888;stroke-width:1.15;vector-effect:non-scaling-stroke}.county-map-county.is-selected{stroke:#073e4a;stroke-width:1.75}.county-map-county:hover,.county-map-county:focus,.county-map-county.is-hovered{stroke-width:2.5}.county-map-label{font-size:11px}
.legend-hovered{background:#eadcff;border-color:#6f2dbd!important}.county-map-county.is-hovered{stroke:#6f2dbd;stroke-width:3.25;filter:drop-shadow(0 0 2px #fff)}.county-map-county:not(.is-selected).is-hovered{fill:#eadcff}.county-map-hover-leader{stroke:#6f2dbd;stroke-width:1.6;stroke-dasharray:4 3;pointer-events:none}.county-map-hover-marker{fill:#fff;stroke:#6f2dbd;stroke-width:2.5;pointer-events:none}
.county-map-county.is-city-match:not(.is-selected){fill:#f5b942!important;stroke:#8a5400!important;stroke-width:3.5!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #f5b942)}
.county-map-county.is-selected.is-city-match{fill:url(#county-map-selected-search-pattern)!important;stroke:#073e4a!important;stroke-width:3.5!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #f5b942)}.county-city-result.is-selected-result{background:#edf8fa}.county-result-selected{float:right!important;color:#0b5e6b!important;font-size:.8em!important;font-weight:800}
.legend-selected-search{background:repeating-linear-gradient(45deg,#157a8a 0 5px,#f5b942 5px 10px)!important}
@media(max-width:650px){.service-option-grid,.county-bulk-actions{grid-template-columns:1fr;}}

.token-resume-panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:.75rem}.inline-form{display:flex;gap:.5rem;align-items:end;flex-wrap:wrap}.inline-form input{flex:1;min-width:15rem}.action-stack{display:flex;gap:.4rem;flex-wrap:wrap}.action-stack .button{padding:.5rem .7rem;font-size:.875rem}dialog textarea{width:100%;font-family:ui-monospace,Consolas,monospace}.danger{border-color:#9b1c1c;color:#8b0000}
.save-link-status{margin:.7rem 0 0;padding:.7rem;border-radius:.55rem;background:#eef6f8;color:#124866;font-size:.92rem;line-height:1.4}.save-link-status.error{background:#fff1f0;color:#8b1f16;border-left:4px solid #b42318}.save-link-status.success{background:#f2faed;color:#2d6b18;border-left:4px solid #6fae41}
.audit-change-list{margin:0;padding-left:1.25rem;display:grid;gap:.45rem}.audit-change-list li{line-height:1.4}.audit-change-empty{color:var(--muted,#52606d)}
.group-data-controls{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}.group-data-controls label{margin:0}.group-data-controls select{min-width:16rem}.button-row.compact{margin:0}.spreadsheet-wrap{overflow:auto;max-height:38rem;border:1px solid var(--line);border-radius:.55rem;background:#fff}.spreadsheet-grid{border-collapse:separate;border-spacing:0;min-width:max-content;font-size:.88rem}.spreadsheet-grid th{position:sticky;top:0;z-index:2;background:#eef4f6;border-right:1px solid var(--line);white-space:nowrap}.spreadsheet-grid td{padding:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:10rem;max-width:24rem}.spreadsheet-grid td.grid-fixed{padding:.55rem;background:#f8fafb;position:sticky;left:0;z-index:1;min-width:9rem}.spreadsheet-grid td[contenteditable="true"]{padding:.55rem;outline:none;white-space:pre-wrap}.spreadsheet-grid td[contenteditable="true"]:focus{box-shadow:inset 0 0 0 3px #f4b942;background:#fffdf4}.spreadsheet-grid .row-actions{padding:.35rem;white-space:nowrap;background:#fff;position:sticky;right:0}.spreadsheet-grid .changed{background:#fff8dc}.state-selector#edit-group-states{max-height:18rem;overflow:auto;padding:.75rem;border:1px solid var(--line);border-radius:.55rem}

/* v7.2 full-width spreadsheet modal */
.full-width-dialog{width:calc(100vw - 2rem);max-width:none;height:calc(100vh - 2rem);max-height:none;margin:1rem;padding:0;border:0;border-radius:.8rem;overflow:hidden}
.full-width-dialog::backdrop{background:rgba(8,35,54,.55)}
.grid-dialog-shell{height:100%;display:flex;flex-direction:column;background:var(--surface,#fff)}
.grid-dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1rem 1.25rem;border-bottom:1px solid var(--line)}
.grid-dialog-header h2{margin:0}.grid-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:#f7fafb}
.modal-spreadsheet-wrap{flex:1;max-height:none;border-radius:0;border-width:1px 0 0;min-height:0}
.spreadsheet-grid tbody tr:nth-child(even) td{background:#f3f7f9}.spreadsheet-grid tbody tr:nth-child(odd) td{background:#fff}
.spreadsheet-grid tbody tr:nth-child(even) td.grid-fixed{background:#eaf1f4}.spreadsheet-grid tbody tr:nth-child(odd) td.grid-fixed{background:#f8fafb}
.spreadsheet-grid tbody tr.selected-row td,.spreadsheet-grid tbody tr.selected-row td.grid-fixed{background:#dceff6!important}
.spreadsheet-grid .select-column{min-width:3rem;width:3rem;text-align:center;position:sticky;left:0;z-index:3}
.spreadsheet-grid td.grid-fixed{left:3rem}.spreadsheet-grid th.grid-fixed-header{position:sticky;left:3rem;z-index:4}
.spreadsheet-grid tbody tr{cursor:default}.spreadsheet-grid tbody tr:focus{outline:3px solid #f4b942;outline-offset:-3px}
@media(max-width:700px){.full-width-dialog{width:100vw;height:100vh;margin:0;border-radius:0}.grid-dialog-header{padding:.75rem}.grid-toolbar{padding:.6rem}}


/* v7.3 stability and accessibility */
body.modal-open{overflow:hidden}
.grid-shortcuts{margin:.25rem 0 0}
.spreadsheet-grid tbody tr.unsaved-row td.grid-fixed::after{content:'Unsaved';display:inline-block;margin-left:.4rem;padding:.1rem .35rem;border-radius:.3rem;background:#7a4b00;color:#fff;font-size:.72rem;font-weight:700}
.spreadsheet-grid td.changed{background:#fff2b8!important;box-shadow:inset 0 0 0 2px #8a5a00}
.status-banner:not(:empty){padding:.65rem 1.25rem;border-bottom:1px solid var(--line);background:#f5fafc;font-weight:650}
@media (forced-colors:active){.spreadsheet-grid tbody tr.selected-row{outline:3px solid Highlight}.spreadsheet-grid td.changed{outline:3px solid Highlight}}

/* v7.4 grid usability */
.grid-filter-bar{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;padding:.85rem 1.25rem;border-bottom:1px solid var(--line);background:#fff}
.grid-filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:9rem}.grid-filter-field label{margin:0;font-size:.82rem;font-weight:700}.grid-search-field{flex:1;min-width:18rem}.grid-filter-field input,.grid-filter-field select{margin:0}
.grid-results-bar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.5rem 1.25rem;background:#f7fafb;border-bottom:1px solid var(--line);font-weight:700}.grid-results-bar .help-text{margin:0;font-weight:400}
.grid-columns-menu{position:relative}.grid-columns-menu>summary{list-style:none;cursor:pointer}.grid-columns-menu>summary::-webkit-details-marker{display:none}.grid-columns-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;width:min(34rem,90vw);max-height:28rem;overflow:auto;padding:.8rem;background:#fff;border:1px solid var(--line);border-radius:.55rem;box-shadow:0 12px 32px rgba(0,0,0,.18)}
.columns-panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;position:sticky;top:-.8rem;background:#fff;padding:.4rem 0 .7rem;z-index:1}.grid-column-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .8rem}.text-button{border:0;background:none;color:var(--link,#075985);text-decoration:underline;cursor:pointer;font:inherit}
.grid-sort-button{display:block;width:100%;border:0;background:transparent;padding:.65rem .7rem;text-align:left;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer;color:inherit}.grid-sort-button:hover,.grid-sort-button:focus-visible{background:#dcebf1;outline:2px solid #1d5f78;outline-offset:-2px}.grid-sort-button.active{background:#d9eaf0}
.spreadsheet-grid th{padding:0}.spreadsheet-grid .grid-col-status,.spreadsheet-grid td.grid-status-cell{position:sticky;left:12rem;z-index:2;min-width:7rem}.spreadsheet-grid .grid-col-updatedAt,.spreadsheet-grid td.grid-updated-cell{position:sticky;left:19rem;z-index:2;min-width:11rem}.spreadsheet-grid thead .grid-col-status,.spreadsheet-grid thead .grid-col-updatedAt{z-index:5}.spreadsheet-grid td.grid-status-cell,.spreadsheet-grid td.grid-updated-cell{box-shadow:1px 0 0 var(--line)}
.spreadsheet-grid tbody tr:nth-child(even) td.grid-status-cell,.spreadsheet-grid tbody tr:nth-child(even) td.grid-updated-cell{background:#f3f7f9}.spreadsheet-grid tbody tr:nth-child(odd) td.grid-status-cell,.spreadsheet-grid tbody tr:nth-child(odd) td.grid-updated-cell{background:#fff}.spreadsheet-grid tbody tr.selected-row td.grid-status-cell,.spreadsheet-grid tbody tr.selected-row td.grid-updated-cell{background:#dceff6!important}
.grid-empty-state{padding:2rem!important;text-align:center;min-width:40rem!important}.grid-primary-toolbar{position:relative;z-index:3}
@media(max-width:800px){.grid-column-options{grid-template-columns:1fr}.grid-results-bar{align-items:flex-start;flex-direction:column}.grid-search-field{min-width:100%}.spreadsheet-grid .grid-col-status,.spreadsheet-grid td.grid-status-cell,.spreadsheet-grid .grid-col-updatedAt,.spreadsheet-grid td.grid-updated-cell{position:static}}

/* v7.5.3 form spacing and phone/address usability */
label:not(.check-row) > input:not([type="checkbox"]):not([type="radio"]),
label:not(.check-row) > select,
label:not(.check-row) > textarea { display:block; margin-top:.45rem; }
.repeat-group > label:not(.check-row) { margin-bottom:.9rem; }
.repeat-group > label:not(.check-row) > input:focus,
.repeat-group > label:not(.check-row) > select:focus,
.repeat-group > label:not(.check-row) > textarea:focus { position:relative; z-index:1; }

/* v7.5.4 comprehensive form spacing audit */
:root {
  --field-gap: .5rem;
  --field-block-gap: 1.15rem;
  --section-gap: 1.5rem;
}

/* Give every conventional label/control pair predictable separation. */
label:not(.check-row):not(.option-card):not(.county-action) {
  margin-top: var(--field-block-gap);
  margin-bottom: 0;
}
label:not(.check-row):not(.option-card):not(.county-action) > input:not([type="checkbox"]):not([type="radio"]),
label:not(.check-row):not(.option-card):not(.county-action) > select,
label:not(.check-row):not(.option-card):not(.county-action) > textarea {
  display: block;
  margin-top: var(--field-gap);
}

/* Labels that use for= and have a separate sibling control. */
form > label[for],
.card form > label[for],
dialog form > label[for],
.token-resume-panel > label[for] {
  display: block;
  margin-bottom: var(--field-gap);
}
form > label[for] + input,
form > label[for] + select,
form > label[for] + textarea,
.card form > label[for] + input,
.card form > label[for] + select,
.card form > label[for] + textarea,
dialog form > label[for] + input,
dialog form > label[for] + select,
dialog form > label[for] + textarea,
.token-resume-panel > label[for] + input,
.token-resume-panel > label[for] + select,
.token-resume-panel > label[for] + textarea {
  margin-top: 0;
}

/* Maintain breathing room between fields, groups, and explanatory text. */
.question-card > .help-text,
.repeat-group > .help-text { margin:.4rem 0 1rem; }
.question-card > fieldset,
.question-card > .repeat-group,
.repeat-group > fieldset,
.repeat-group > .service-picker,
.repeat-group > .county-picker,
.repeat-group > .address-fieldset { margin-top: var(--section-gap); margin-bottom: var(--section-gap); }
.repeat-group > .check-row + .check-row { margin-top:.7rem; }
.repeat-group > label:not(.check-row):not(.option-card) { margin-top:1.15rem; margin-bottom:0; }
.repeat-group > label:not(.check-row):not(.option-card) + .option-grid { margin-top:.55rem; }
.program-population-fields { border:1px solid var(--line); border-radius:.65rem; padding:1rem; margin:1.35rem 0; }
.program-population-fields legend { padding:0 .35rem; font-size:1rem; font-weight:750; color:var(--ink); }
.program-capacity-fields { border:1px solid var(--line); border-radius:.65rem; padding:1rem; margin:1.35rem 0; }
.program-capacity-fields legend { padding:0 .35rem; font-size:1rem; font-weight:750; color:var(--ink); }
.program-capacity-question { margin:1.15rem 0 .55rem; font-weight:750; }
.program-capacity-question .field-caption { display:inline; }
.capacity-other-field { margin-top:.75rem; }
.program-population-section { margin-top:1.25rem; }
.program-population-label { margin:0; font-size:.95rem; font-weight:800; color:var(--ink); }
.program-population-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.program-population-heading .option-card { border:0; padding:0; white-space:nowrap; }
.program-population-section > .help-text { margin:.25rem 0 .6rem; font-size:.9rem; }
.citizenship-option-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }

/* Standardize fieldset and legend spacing without crowding controls. */
fieldset:not(.address-fieldset):not(.state-selector):not(.county-picker):not(.service-picker) {
  margin-top: var(--section-gap);
  margin-bottom: var(--section-gap);
}
legend { padding:0 .25rem; }
legend + .help-text { margin-top:.25rem; }

/* Address fields already use a grid; use grid gaps rather than label margins. */
.address-grid label {
  margin:0;
  display:block;
}
.address-grid label > input,
.address-grid label > select,
.address-grid label > textarea { margin-top:var(--field-gap); }
.address-tools { margin-top:1rem; }

/* Checkbox/radio cards should not inherit conventional field margins. */
.check-row,
.option-card,
.county-action { margin-top:0; margin-bottom:0; }
.option-grid,
.service-option-grid,
.county-bulk-actions { margin-top:.65rem; }

/* Give standalone controls and action rows consistent separation. */
.button-row,
.dialog-actions,
.survey-actions { row-gap:.75rem; }
.field-error { margin-top:.55rem; }
.status-banner { margin-top:.5rem; }
.inline-form { row-gap:.65rem; }
.inline-form > label { margin:0 0 .25rem; }

/* Keep focus rings clear of adjacent labels and controls. */
input:not([type="checkbox"]):not([type="radio"]), select, textarea { outline-offset:3px; }
input:not([type="checkbox"]):not([type="radio"]):focus-visible,
select:focus-visible,
textarea:focus-visible { position:relative; z-index:2; }

/* Responsive spacing: avoid oversized vertical gaps on narrow screens. */
@media(max-width:650px){
  :root { --field-block-gap:1rem; --section-gap:1.25rem; }
  .question-panel { padding:1.15rem; }
  .repeat-group { padding:.9rem; }
}

/* v7.5.6 strengthened bulk actions */
.grid-primary-toolbar{align-items:end;flex-wrap:wrap;gap:.75rem}.bulk-action-field{display:flex;flex-direction:column;gap:.25rem;min-width:13rem}.bulk-action-field label{font-size:.82rem;font-weight:700}.bulk-action-field select{min-height:2.8rem}.bulk-result-success{border-left:4px solid #16794a}.bulk-result-warning{border-left:4px solid #a65d00}#bulk-delete-dialog{width:min(38rem,calc(100vw - 2rem))}#bulk-delete-dialog textarea{width:100%;box-sizing:border-box;margin-top:.4rem}
.program-data-reset-warning-dialog{width:min(42rem,calc(100vw - 2rem));border:0;border-radius:1rem;padding:0;box-shadow:0 1.25rem 3.5rem rgba(58,29,0,.3)}.program-data-reset-warning-dialog::backdrop{background:rgba(20,28,36,.64)}.program-data-reset-warning-dialog form{padding:1.6rem 1.75rem}.program-data-reset-warning-dialog h2{margin:.2rem 0 .85rem}.program-data-reset-warning-dialog .danger-banner{margin:1rem 0}.warning-eyebrow{color:#9a3412}


/* v7.5.7 editing safeguards */
.grid-cell-editor{width:100%;min-width:10rem;box-sizing:border-box;border:1px solid transparent;background:transparent;padding:.55rem .6rem;font:inherit;color:inherit;border-radius:.35rem}
.grid-cell-editor:hover,.grid-cell-editor:focus{background:#fff;border-color:#71879a;outline:3px solid transparent}
.grid-cell-editor:focus{outline:3px solid #f4b942;outline-offset:1px}
.grid-json-editor{min-width:18rem;resize:vertical;white-space:pre-wrap}
.grid-cell-invalid{border-color:#b42318!important;background:#fff5f5!important;outline:3px solid rgba(180,35,24,.18)!important}
.spreadsheet-grid tr.unsaved-row>td:first-child{box-shadow:inset 4px 0 0 #c27803}
.spreadsheet-grid .row-actions{gap:.35rem;flex-wrap:wrap}
/* v7.5.8 submission administration */
.submission-detail-dialog{width:min(1100px,96vw);max-height:94vh;padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.submission-detail-shell{padding:1.5rem;overflow:auto;max-height:94vh}
.detail-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0}
.detail-summary-item{border:1px solid var(--border,#ccd8df);border-radius:12px;padding:1rem;background:#f7fafb}
.detail-summary-item strong{display:block;margin-bottom:.35rem}
.detail-section{border-top:1px solid var(--border,#ccd8df);padding-top:1.25rem;margin-top:1.25rem}
.detail-section label{display:block;margin-top:1rem;margin-bottom:.4rem;font-weight:700}
.admin-notes-list{display:grid;gap:.75rem;margin:.75rem 0 1rem}
.admin-note{border-left:4px solid #0b8998;background:#f4f9fa;padding:.85rem 1rem;border-radius:8px}
.admin-note small{display:block;margin-top:.35rem;color:#4d6573}
.review-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#e8f1f4;font-weight:700;font-size:.85rem}


/* v8.2 dual audit log presentation */
.audit-log-section{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border,#d6dde5)}
.audit-table-wrap{max-height:32rem;overflow:auto}
.audit-details{white-space:pre-wrap;word-break:break-word;max-width:42rem;font-size:.82rem;margin:.5rem 0}
.wide-dialog{width:min(96vw,110rem);max-height:90vh;overflow:auto;padding:1.25rem}

/* v8.3 audit-log viewer */
.audit-launch-panel{display:grid;gap:1rem}.audit-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(10rem,1fr));gap:.75rem}.audit-summary-card{border:1px solid var(--border,#d6dde5);background:#f7fafb;border-radius:12px;padding:1rem}.audit-summary-card strong{display:block;font-size:1.7rem}.audit-summary-card span{color:#435b69}.audit-viewer-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;border:0;padding:0;background:#f4f7f8}.audit-viewer-dialog::backdrop{background:rgba(8,28,39,.65)}.audit-viewer-shell{height:100vh;display:flex;flex-direction:column;padding:1rem 1.25rem;box-sizing:border-box;overflow:hidden}.audit-viewer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.audit-viewer-header h2{margin:.1rem 0}.audit-tabs{display:flex;gap:.35rem;border-bottom:1px solid #aebec8;margin:.75rem 0 1rem}.audit-tab{border:0;background:transparent;padding:.8rem 1rem;font-weight:700;cursor:pointer;border-bottom:4px solid transparent}.audit-tab.active{border-bottom-color:#0b8998;color:#075d68}.audit-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(10rem,1fr));gap:.75rem;align-items:end}.audit-filter-grid label{display:grid;gap:.3rem;font-weight:700;font-size:.86rem}.audit-filter-grid input,.audit-filter-grid select{width:100%;box-sizing:border-box}.audit-toolbar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap;margin:.85rem 0}.audit-toolbar label{display:flex;align-items:center;gap:.45rem;margin-left:auto}.audit-full-table{flex:1;max-height:calc(100vh - 20rem);overflow:auto;border:1px solid #cbd7de;border-radius:10px;background:#fff}.audit-full-table table{min-width:78rem;width:100%;border-collapse:separate;border-spacing:0}.audit-full-table th{position:sticky;top:0;z-index:2;background:#e8f1f4}.audit-full-table tbody tr:nth-child(even){background:#f6f9fa}.audit-full-table tbody tr:hover{background:#eaf5f7}.audit-result-success{font-weight:700;color:#0a6c40}.audit-result-failure{font-weight:700;color:#a32218}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;padding:.85rem 0}.audit-detail-dialog{width:min(72rem,95vw);max-height:92vh;border:0;border-radius:14px;padding:0}.audit-detail-shell{padding:1.25rem;max-height:88vh;overflow:auto}.audit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(12rem,1fr));gap:.8rem;margin:1rem 0}.audit-detail-item{border:1px solid #d4dee4;border-radius:9px;padding:.8rem;background:#f8fafb}.audit-detail-item strong{display:block;margin-bottom:.3rem}.audit-change-table{width:100%;border-collapse:collapse}.audit-change-table th,.audit-change-table td{vertical-align:top;text-align:left;padding:.65rem;border-bottom:1px solid #d5dfe5}.audit-value{white-space:pre-wrap;word-break:break-word;max-width:30rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){.audit-filter-grid{grid-template-columns:repeat(3,minmax(10rem,1fr))}}@media(max-width:700px){.audit-summary-grid,.audit-filter-grid,.audit-detail-grid{grid-template-columns:1fr}.audit-viewer-shell{padding:.75rem}.audit-toolbar label{margin-left:0}}

/* v8.4 USPS credential controls */
.credential-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 0.9rem;
  margin: 1rem 0;
}
.credential-status-grid > div {
  border: 1px solid var(--border, #c9d3df);
  border-radius: 0.65rem;
  padding: 0.85rem;
  background: var(--surface-subtle, #f7f9fc);
}
.credential-status-grid span,
.credential-status-grid strong { display: block; }
.credential-status-grid span { font-size: 0.85rem; color: #526173; margin-bottom: 0.35rem; }
.credential-status-grid strong { overflow-wrap: anywhere; }
.warning-text { color: #7a2e00; }
#usps-remove-dialog .dialog-panel { max-width: 38rem; }
#usps-remove-dialog input { width: 100%; }

/* v8.5 individual administrator management */
.account-status,.status-pill{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap}.account-status.active{background:#e7f6ed;color:#145a32}.account-status.disabled{background:#f3f4f6;color:#4b5563}.status-pill{background:#e8eef8;color:#234}.status-pill.warning{background:#fff4ce;color:#6b4e00}.admin-user-dialog .dialog-panel{width:min(760px,94vw)}.admin-sessions-dialog .wide-dialog{width:min(1500px,96vw);max-height:90vh;overflow:auto}.session-device{max-width:28rem;overflow-wrap:anywhere}.floating-admin-actions{position:fixed;right:1rem;bottom:1rem;z-index:20;display:flex;gap:.5rem;padding:.6rem;background:var(--surface,#fff);border:1px solid var(--border,#ccd3dd);border-radius:.75rem;box-shadow:0 8px 30px rgba(0,0,0,.15)}.floating-admin-actions.hidden{display:none}.checkbox-row{display:flex!important;align-items:center;gap:.6rem;margin:.75rem 0}.checkbox-row input{width:auto!important;margin:0!important}@media(max-width:800px){.floating-admin-actions{position:static;margin:1rem;flex-wrap:wrap}.admin-sessions-dialog .wide-dialog{width:96vw}}


/* v8.6 password and MFA controls */
.secret-output,.recovery-codes,.wrap-code{display:block;padding:1rem;border:1px solid var(--border,#c7ced6);border-radius:.5rem;background:#f7f9fb;overflow-wrap:anywhere;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.recovery-codes{columns:2;column-gap:2rem}.status-pill.warning{background:#fff3cd;color:#6b4f00}.mfa-required-note{font-weight:700}
@media(max-width:700px){.recovery-codes{columns:1}}

/* v8.7 configurable administrator security policy */
.security-policy-panel{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color,#cbd5e1)}
.policy-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem;align-items:start}
.policy-form fieldset{grid-column:1/-1}
.policy-form .button-row,.policy-form #security-policy-message{grid-column:1/-1}
.policy-role-grid{max-width:900px}

/* v8.9 retention and recycle-bin operations */
.recycle-toolbar{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin:1rem 0}.retention-settings-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:1.5rem;margin-top:1rem}.input-with-suffix{display:flex;align-items:center;gap:.6rem}.input-with-suffix input{max-width:8rem}.danger-banner{border-color:#a62323;background:#fff3f3;color:#711818}.selected-row>td{background:#e9f2ff!important}.recycle-row-select,#recycle-select-all{width:1.15rem;height:1.15rem}.button-row{display:flex;flex-wrap:wrap;gap:.65rem}#retention-policy-panel{margin-top:1rem;border-top:1px solid var(--border,#d8dee8);padding-top:.75rem}#retention-policy-panel summary{font-weight:700;cursor:pointer}#retention-runs-body td{white-space:nowrap}
@media(max-width:900px){.retention-settings-grid{grid-template-columns:1fr}.recycle-toolbar .button{flex:1 1 12rem}}

/* v9.0 audit integrity status */
.audit-summary-card .integrity-ok{color:#176b3a}
.audit-summary-card .integrity-failed{color:#a61b1b}
#audit-integrity-message{margin-top:.75rem}


/* v9.1 operational monitoring */
.monitoring-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.85rem;margin:1rem 0}
.monitoring-summary-card{border:1px solid var(--border-color,#cbd5e1);border-left-width:5px;border-radius:.65rem;padding:.85rem;background:var(--surface,#fff);display:flex;flex-direction:column;gap:.3rem;min-height:82px}
.monitoring-summary-card span{font-size:.85rem;color:var(--muted-text,#475569)}.monitoring-summary-card strong{font-size:1.05rem;overflow-wrap:anywhere}
.monitor-ok{border-left-color:#15803d}.monitor-warning{border-left-color:#b45309}.monitor-error{border-left-color:#b91c1c}
.monitoring-card-label{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.status-stoplight{display:inline-flex;flex-direction:column;gap:2px;padding:3px;border-radius:5px;background:#1f2937;line-height:0}.status-stoplight i{display:block;width:7px;height:7px;border-radius:50%;background:#64748b}.status-stoplight.error .stoplight-red{background:#ef4444;box-shadow:0 0 5px #ef4444}.status-stoplight.warning .stoplight-yellow{background:#facc15;box-shadow:0 0 5px #facc15}.status-stoplight.ok .stoplight-green{background:#22c55e;box-shadow:0 0 5px #22c55e}
.site-footer{margin-top:2rem;padding:1.25rem 1rem;background:#005a82;color:#fff;text-align:center;font-size:.95rem}.site-footer a{color:#fff}.wysiwyg-editor{min-height:120px;padding:.75rem;border:1px solid var(--border-color,#cbd5e1);border-radius:.5rem;background:#fff;overflow:auto}.wysiwyg-editor:focus{outline:3px solid rgba(0,140,200,.3);outline-offset:2px}.wysiwyg-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}.wysiwyg-toolbar button{padding:.35rem .55rem;border:1px solid #1d70a2;border-radius:.35rem;background:#fff;color:#005a82;cursor:pointer}
.wysiwyg-link-dialog{width:min(32rem,calc(100vw - 2rem));border:0;border-radius:.8rem;padding:0;box-shadow:0 1.2rem 3rem rgba(8,28,39,.28)}.wysiwyg-link-dialog::backdrop{background:rgba(3,31,47,.5)}.wysiwyg-link-dialog-shell{display:grid;gap:.7rem;padding:1.25rem}.wysiwyg-link-dialog-shell h2{margin:0}.wysiwyg-link-dialog-shell p{margin:0}.wysiwyg-link-dialog-shell input{width:100%;box-sizing:border-box;padding:.55rem}
.site-content-published-dialog{width:min(26rem,calc(100vw - 2rem));border:0;border-radius:.8rem;padding:0;box-shadow:0 1.2rem 3rem rgba(8,28,39,.28)}.site-content-published-dialog::backdrop{background:rgba(3,31,47,.5)}.site-content-published-dialog-shell{padding:1.5rem;text-align:center}.site-content-published-dialog-shell h2{margin:0 0 .5rem;color:#075d68}.site-content-published-dialog-shell p{margin:0}
.wysiwyg-unbold,.wysiwyg-unbold *{font-weight:400!important}
.landing-editor-preview{margin:1rem 0;border:1px solid var(--border-color,#cbd5e1);border-radius:.85rem;overflow:hidden;background:#f8fafc}.landing-editor-preview .importance-card,.landing-editor-preview .hero-card{margin:0;border-radius:0;box-shadow:none}.landing-editor-preview .feature-grid{margin:0;padding:1.25rem}.editor-preview-label{margin:0;padding:.55rem .8rem;background:#e7f2f8;color:#124866;font-size:.8rem;font-weight:700;letter-spacing:.02em}.wysiwyg-editor-in-page{min-height:0;border:2px dashed transparent;border-radius:.4rem;background:transparent;overflow:visible;transition:border-color .15s,background .15s}.wysiwyg-editor-in-page:hover{border-color:#78aeca;background:rgba(255,255,255,.58)}.wysiwyg-editor-in-page:focus{border-color:#005a82;background:#fff;outline:none}.landing-editor-actions{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.landing-editor-actions .button{cursor:not-allowed}.footer-editor-preview{margin:1rem 0;border:1px solid var(--border-color,#cbd5e1);border-radius:.75rem;overflow:hidden}.footer-editor-preview .site-footer{margin:0}.footer-wysiwyg-editor{min-height:2.25rem;padding:.25rem;border:2px dashed transparent;border-radius:.35rem;background:transparent;color:#fff}.footer-wysiwyg-editor:hover{border-color:#b8e0f0;background:rgba(255,255,255,.08)}.footer-wysiwyg-editor:focus{border-color:#fff;outline:none;background:rgba(255,255,255,.12)}.footer-wysiwyg-editor a{color:#fff}
.landing-editor-dialog{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#f4f8fa}.landing-editor-dialog::backdrop{background:rgba(3,31,47,.7)}.landing-editor-dialog-shell{height:100%;box-sizing:border-box;overflow:auto;padding:1.25rem max(1.25rem,calc((100vw - 1320px)/2));background:#f4f8fa}.landing-editor-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.landing-editor-dialog-header h2{margin:.1rem 0 .35rem}.landing-editor-dialog-header p:not(.eyebrow){max-width:58rem;margin:.3rem 0;color:var(--muted-text,#475569)}.landing-editor-dialog .wysiwyg-toolbar{position:sticky;top:-1.25rem;z-index:2;padding:.75rem 0;background:#f4f8fa;border-bottom:1px solid var(--line,#d5e0e6)}.landing-editor-dialog .landing-editor-preview{max-width:1200px;margin:1rem auto}.landing-editor-dialog .button-row:last-of-type{max-width:1200px;margin:1rem auto 0}
@media(max-width:700px){.landing-editor-dialog-shell{padding:.85rem}.landing-editor-dialog-header{flex-direction:column}.landing-editor-dialog .wysiwyg-toolbar{top:-.85rem}}
.monitoring-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;padding:1rem 0}
.monitoring-detail-grid>div{border:1px solid var(--border-color,#cbd5e1);border-radius:.5rem;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.monitoring-detail-grid span{font-size:.85rem;color:var(--muted-text,#475569)}
.monitor-badge{display:inline-block;border-radius:999px;padding:.2rem .55rem;border:1px solid currentColor;font-weight:700;font-size:.8rem}.monitoring-alerts .status-banner{margin:.75rem 0}.status-banner.success{border-color:#15803d;background:#f0fdf4}

/* v9.2 multi-page administration */
.admin-app-shell {
  display: grid;
  grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.admin-sidebar {
  position: sticky;
  top: 1rem;
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
  border: 1px solid var(--border, #d6dbe3);
  border-radius: 0.9rem;
  background: var(--surface, #fff);
  box-shadow: 0 0.35rem 1rem rgba(20, 35, 55, 0.08);
  padding: 1rem;
}

.admin-sidebar-heading {
  display: grid;
  gap: 0.15rem;
  padding: 0.25rem 0.35rem 0.85rem;
  border-bottom: 1px solid var(--border, #d6dbe3);
}

.admin-sidebar-heading strong { font-size: 1.1rem; }

.admin-section-nav {
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem 0;
}

.admin-nav-link {
  width: 100%;
  border: 0;
  border-radius: 0.55rem;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 650;
  text-align: left;
  padding: 0.75rem 0.8rem;
  cursor: pointer;
}

.admin-nav-link:hover { background: rgba(26, 78, 130, 0.08); }
.admin-nav-link.active {
  background: #173f6b;
  color: #fff;
  box-shadow: inset 0.25rem 0 0 #71c5e8;
}
.admin-nav-link:focus-visible { outline: 3px solid #f2a900; outline-offset: 2px; }
.admin-nav-group{display:grid;gap:.15rem}.admin-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:.35rem;padding:.55rem .8rem;border:0;border-radius:.45rem;background:transparent;color:var(--muted,#52606d);font:inherit;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-align:left;text-transform:uppercase;cursor:pointer}.admin-nav-group-toggle:hover{background:rgba(26,78,130,.08);color:inherit}.admin-nav-group-toggle span:last-child{font-size:1rem;transition:transform .15s ease}.admin-nav-group-toggle[aria-expanded="true"] span:last-child{transform:rotate(180deg)}.admin-nav-submenu{display:grid;gap:.15rem;margin-left:.55rem;padding-left:.55rem;border-left:2px solid var(--border,#d6dbe3)}.admin-nav-submenu .admin-nav-link{padding:.6rem .7rem;font-size:.94rem}.admin-nav-group-toggle:focus-visible{outline:3px solid #f2a900;outline-offset:2px}

.admin-sidebar-footer {
  border-top: 1px solid var(--border, #d6dbe3);
  padding-top: 0.85rem;
}
.admin-nav-signout { width: 100%; }

.admin-page-area { min-width: 0; }
.admin-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 0.2rem 0.25rem;
}
.admin-page-header h3 { margin: 0.15rem 0 0.25rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.admin-page-header .help-text { margin: 0; max-width: 55rem; }
.admin-breadcrumb { margin: 0; font-size: 0.86rem; color: var(--muted, #586574); }
.admin-breadcrumb span[aria-hidden] { padding: 0 0.35rem; }

.admin-page { display: grid; gap: 1.25rem; min-width: 0; }
.admin-page-hidden { display: none !important; }
.admin-page > .card { margin: 0; }

/* Avoid a second large administration heading once inside the page shell. */
#admin-protected-content + * { min-width: 0; }

@media (max-width: 920px) {
  .admin-app-shell { grid-template-columns: 1fr; gap: 1rem; }
  .admin-sidebar {
    position: static;
    max-height: none;
    overflow: visible;
  }
  .admin-section-nav {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    padding-bottom: 0.6rem;
  }
  .admin-nav-link {
    width: auto;
    min-width: max-content;
    scroll-snap-align: start;
    text-align: center;
  }
  .admin-sidebar-footer { display: flex; justify-content: flex-end; }
  .admin-nav-signout { width: auto; }
}

@media (max-width: 600px) {
  .admin-sidebar { padding: 0.75rem; }
  .admin-page-header { padding-inline: 0; }
  .admin-page > .card { border-radius: 0.65rem; }
}

/* v9.3 Engage Together brand alignment
   Brand palette from ET Branding Guidelines (09.2020):
   primary #29ADE4 and #93C953; accents #015177, #CDDBE3, #E3BD50,
   #19948A, #DB7C2A; neutrals #E0E1E2 and #000000. */
:root {
  --brand-blue: #29ade4;
  --brand-green: #93c953;
  --brand-deep-blue: #015177;
  --brand-pale-blue: #cddbe3;
  --brand-gold: #e3bd50;
  --brand-teal: #19948a;
  --brand-orange: #db7c2a;
  --brand-gray: #e0e1e2;

  /* Existing semantic tokens remapped to the approved palette. */
  --navy: var(--brand-deep-blue);
  --navy-2: #003b58;
  --teal: var(--brand-teal);
  --teal-dark: #116f68;
  --gold: var(--brand-gold);
  --paper: #f6f8f9;
  --white: #ffffff;
  --ink: #111111;
  --muted: #4f5f68;
  --line: var(--brand-pale-blue);
  --danger: #a33a16;
  --success: #397718;
  --focus: var(--brand-gold);
  --shadow: 0 12px 30px rgba(1, 81, 119, .10);
  --border: var(--brand-pale-blue);
  --border-color: var(--brand-pale-blue);
  --surface: #ffffff;
  --surface-subtle: #f6f8f9;
  --muted-text: #4f5f68;
  --link: var(--brand-deep-blue);
}

body {
  font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
  background:
    linear-gradient(180deg, rgba(41,173,228,.055), transparent 14rem),
    var(--paper);
}

h1, h2, h3, h4, h5, h6,
.button,
legend,
th,
.eyebrow,
.admin-nav-link {
  font-family: Gotham, "Arial Black", "Open Sans", "Segoe UI", sans-serif;
}

.site-header {
  background: #fff;
  color: var(--brand-deep-blue);
  border-bottom: 5px solid var(--brand-blue);
  box-shadow: 0 4px 16px rgba(1,81,119,.10);
  padding-block: .8rem;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: clamp(.85rem, 2vw, 1.5rem);
  min-width: 0;
}

.brand-logo {
  display: block;
  width: clamp(145px, 18vw, 230px);
  height: auto;
  flex: none;
}

.brand-title {
  border-left: 1px solid var(--brand-pale-blue);
  padding-left: clamp(.85rem, 2vw, 1.5rem);
  min-width: 0;
}

.brand-title .eyebrow,
.site-header .eyebrow {
  color: var(--brand-teal);
}

.site-header h1 {
  color: var(--brand-deep-blue);
  letter-spacing: -.02em;
}

.eyebrow { color: var(--brand-teal); }
a { color: var(--brand-deep-blue); }
a:hover { color: #003b58; }

.button.primary {
  background: var(--brand-deep-blue);
  color: #fff;
}
.button.primary:hover { background: #003b58; }
.button.secondary {
  background: #fff;
  color: var(--brand-deep-blue);
  border-color: var(--brand-deep-blue);
}
.button.secondary:hover { background: #eef7fb; }
.button.ghost:hover { background: rgba(41,173,228,.10); }

.hero-card {
  border-top: 7px solid var(--brand-green);
  background: linear-gradient(135deg, #fff 0%, #fff 72%, rgba(41,173,228,.07) 100%);
}
.hero-card h2,
.question-card h2,
.review-section h3,
.feature-grid h3,
th,
details.definition summary { color: var(--brand-deep-blue); }
.feature-grid article { border-left-color: var(--brand-green); }
.feature-grid article:nth-child(2) { border-left-color: var(--brand-blue); }
.feature-grid article:nth-child(3) { border-left-color: var(--brand-teal); }

.progress-track span { background: linear-gradient(90deg, var(--brand-blue), var(--brand-green)); }
#section-nav button.current { border-color: var(--brand-green); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--brand-teal); }
.option-card:hover { border-color: var(--brand-blue); }

.card,
.question-panel,
.progress-panel,
.submit-card,
.confirmation-card,
.admin-sidebar {
  border-color: var(--brand-pale-blue);
}

.admin-nav-link:hover { background: rgba(41,173,228,.11); }
.admin-nav-link.active {
  background: var(--brand-deep-blue);
  color: #fff;
  box-shadow: inset .28rem 0 0 var(--brand-green);
}
.admin-nav-link:focus-visible { outline-color: var(--brand-gold); }

/* Keep the public footer after the complete page flow. Long administration
   tables must scroll above it rather than extend beneath a footer overlay. */
html, body { min-height:100%; }
body { min-height:100vh; display:flex; flex-direction:column; }
main { flex:1 0 auto; min-width:0; }
body > .site-footer { position:relative; z-index:1; flex:0 0 auto; }
#admin-view, #admin-protected-content, .admin-app-shell, .admin-page-area, #admin-page-host, .admin-page { min-width:0; overflow:visible; }

.status-pill,
.monitor-badge { border-color: currentColor; }
.generated-link,
.stat,
.county-action,
.county-loading,
details.definition { background: #f3f8fa; }

.success-icon {
  background: rgba(147,201,83,.22);
  color: #397718;
}

.skip-link {
  background: var(--brand-gold);
  color: #000;
}

:focus-visible { outline-color: var(--brand-gold); }

body.high-contrast {
  --paper:#000;
  --white:#000;
  --ink:#fff;
  --muted:#fff;
  --line:#fff;
  --navy:#fff;
  --navy-2:#fff;
  --teal:#fff;
  --teal-dark:#fff;
  --gold:#ffff00;
  --danger:#ff9b80;
  --success:#baff85;
  background:#000;
}
body.high-contrast .site-header {
  background:#000;
  color:#fff;
  border-color:#fff;
}
body.high-contrast .brand-logo {
  background:#fff;
  padding:.35rem;
  border-radius:.25rem;
}
body.high-contrast .site-header h1,
body.high-contrast .site-header .eyebrow { color:#fff; }

@media (max-width: 700px) {
  .brand-lockup { align-items:flex-start; }
  .brand-logo { width: 135px; }
  .brand-title { padding-left:.75rem; }
  .brand-title .eyebrow { font-size:.68rem; }
}

@media (max-width: 480px) {
  .brand-lockup { width:100%; }
  .brand-logo { width: 118px; }
  .brand-title h1 { font-size: 1.15rem; }
}

.create-group-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border,#cddbe3)}
.create-group-panel.hidden{display:none}

/* v9.5.1 — content-responsive administrator session modal */
#admin-sessions-dialog {
  width: fit-content;
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  padding: 0;
  overflow: hidden;
}
#admin-sessions-dialog .wide-dialog {
  width: max-content;
  min-width: min(58rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  box-sizing: border-box;
  overflow: auto;
}
#admin-sessions-dialog .table-wrap,
#admin-sessions-dialog table {
  width: max-content;
  min-width: 100%;
}
#admin-sessions-dialog th,
#admin-sessions-dialog td {
  white-space: nowrap;
}
#admin-sessions-dialog .session-device {
  white-space: normal;
  min-width: 18rem;
}
@media (max-width: 800px) {
  #admin-sessions-dialog {
    width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    margin: .5rem;
  }
  #admin-sessions-dialog .wide-dialog {
    width: max-content;
    min-width: calc(100vw - 1rem);
    max-width: calc(100vw - 1rem);
    max-height: calc(100vh - 1rem);
  }
}


/* v9.6 email integration administration */
.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));gap:1.25rem;margin-top:1rem}.integration-panel{border:1px solid var(--border);border-radius:1rem;padding:1.25rem;background:var(--surface)}.integration-panel h4{margin-top:0}.integration-panel .status-banner{margin-bottom:1rem}.admin-page[data-admin-page="integrations"]{display:grid;gap:1.25rem}.confirmation-card #confirmation-email-link{margin-right:.75rem}@media(max-width:700px){.integration-grid{grid-template-columns:1fr}}
.email-integration-page-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.admin-page[data-admin-page="graph-email"] .integration-panel,.admin-page[data-admin-page="activecampaign-setup"] .integration-panel,.admin-page[data-admin-page="invitation-manager"] .integration-panel,.admin-page[data-admin-page="email-reporting"] .integration-panel{max-width:78rem}
.integration-setup-guide{margin:0 0 1.25rem;padding:1rem 1.1rem;border:1px solid #b9dce9;border-left:5px solid var(--brand-blue,#015177);border-radius:.7rem;background:#f2f9fc}.integration-setup-guide h5{margin:0 0 .65rem;font-size:1rem}.integration-setup-guide ol{margin:.25rem 0 .7rem;padding-left:1.35rem;display:grid;gap:.5rem}.integration-setup-guide li{line-height:1.45}.integration-setup-guide code{padding:.1rem .28rem;border-radius:.25rem;background:#e2eef3;color:#003d5c;font-size:.9em}.integration-setup-guide .help-text{margin:0;line-height:1.45}


/* v9.6.1 Microsoft Graph live test progress modal */
.graph-test-dialog{width:min(44rem,calc(100vw - 2rem));max-width:44rem;border:0;border-radius:1rem;padding:0;box-shadow:0 1.5rem 4rem rgba(1,81,119,.28)}
.graph-test-dialog::backdrop{background:rgba(0,27,45,.58)}
.graph-test-panel{width:100%;max-width:none;box-sizing:border-box}
.graph-test-progress{margin-top:1rem}
.graph-progress-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}
.graph-progress-list li{display:grid;grid-template-columns:2rem 1fr;gap:.75rem;align-items:start;padding:.8rem;border:1px solid #cddbe3;border-radius:.75rem;background:#fff}
.graph-progress-list small{display:block;margin-top:.2rem;color:#4b6170}
.graph-progress-marker{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#e0e1e2;color:#015177;font-weight:700}
.graph-progress-list li.active{border-color:#29ade4;background:#f1fbff}
.graph-progress-list li.active .graph-progress-marker{background:#29ade4;color:#000}
.graph-progress-list li.complete{border-color:#93c953;background:#f7fbf1}
.graph-progress-list li.complete .graph-progress-marker{background:#93c953;color:#000}
.graph-progress-list li.error{border-color:#b42318;background:#fff5f5}
.graph-progress-list li.error .graph-progress-marker{background:#b42318;color:#fff}
.graph-test-progress .status-banner{margin-top:1rem}

/* Keep the Graph test dialog readable when all four progress steps are visible. */
#graph-test-dialog{max-height:calc(100vh - 2rem)}
#graph-test-dialog .graph-test-panel{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;max-height:calc(100vh - 2rem);overflow-y:auto}
#graph-test-dialog .section-heading-row{align-items:flex-start;justify-content:space-between;gap:1rem}
#graph-test-dialog .section-heading-row h2{margin:0 0 .65rem;line-height:1.15}
#graph-test-dialog .section-heading-row .help-text{margin:0;max-width:42rem;line-height:1.45}
#graph-test-dialog .graph-test-progress{margin-top:0}
#graph-test-dialog .graph-test-progress .status-banner{margin:0;padding:.85rem 1rem;min-height:3rem;display:flex;align-items:center}
#graph-test-dialog .dialog-actions{margin-top:0;padding-top:1rem;border-top:1px solid var(--border,#cddbe3)}
@media(max-width:700px){#graph-test-dialog .graph-test-panel{padding:1rem;gap:.8rem}#graph-test-dialog .section-heading-row{align-items:flex-start}#graph-test-dialog .section-heading-row .button{flex:0 0 auto}}

/* v9.6.3 Graph read-only settings summary */
.settings-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0 1.25rem}.settings-summary-grid div{border:1px solid var(--border,#d9e2e8);border-radius:.65rem;padding:.8rem;background:var(--surface,#fff);min-width:0}.settings-summary-grid dt{font-size:.82rem;font-weight:700;color:var(--muted,#52606d);margin-bottom:.35rem}.settings-summary-grid dd{margin:0;font-weight:600;overflow-wrap:anywhere}.secret-mask{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em}

/* v9.6.4 secure save access */
.integration-email-panel{margin-top:1.25rem;padding:1rem;border:1px solid var(--border-color,#cddbe3);border-radius:.75rem;background:var(--surface-soft,#f5fafc)}
.integration-email-panel h3{margin-top:0}
.integration-email-panel input{width:100%;margin-bottom:.75rem}


/* v9.6.6 — readable audit details and content-responsive dialogs */
:root{--dialog-gutter:1rem}
dialog:not(.full-width-dialog):not(.audit-viewer-dialog){
  width:fit-content;
  max-width:calc(100vw - (2 * var(--dialog-gutter)));
  max-height:calc(100vh - (2 * var(--dialog-gutter)));
  box-sizing:border-box;
}
dialog:not(.full-width-dialog):not(.audit-viewer-dialog) > form,
dialog:not(.full-width-dialog):not(.audit-viewer-dialog) > .dialog-panel{
  width:min(44rem,calc(100vw - 5rem));
  max-width:100%;
  box-sizing:border-box;
}
dialog .wide-dialog,
dialog .submission-detail-shell{width:min(96vw,110rem);max-width:100%;box-sizing:border-box}
.audit-detail-dialog{width:min(96vw,100rem);max-width:96vw;max-height:94vh}
.audit-detail-shell{width:100%;max-height:92vh;box-sizing:border-box;padding:1.5rem;overflow:auto}
.audit-event-summary{border-left:5px solid var(--brand-green,#93c953);background:#f4f9ee;border-radius:.5rem;padding:1rem 1.1rem;margin:1rem 0}
.audit-event-summary h3{margin:0 0 .35rem}.audit-event-summary p{margin:0;font-size:1.05rem}
.audit-detail-table{width:100%;border-collapse:collapse}.audit-detail-table th,.audit-detail-table td{padding:.75rem;text-align:left;vertical-align:top;border-bottom:1px solid #d5dfe5}.audit-detail-table th{width:24rem;background:#f7fafb}
.audit-summary-cell{min-width:22rem;max-width:38rem;white-space:normal;line-height:1.4}
.audit-value{max-width:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.audit-user-agent{overflow-wrap:anywhere;background:#f7fafb;border:1px solid #d4dee4;border-radius:.5rem;padding:.75rem}
.audit-full-table table{min-width:96rem}
/* Modal-specific widths based on their content */
#resume-dialog>form,#secure-token-dialog>form{width:min(48rem,calc(100vw - 5rem))}
#group-edit-dialog>form,#retention-hold-dialog>form,#permanent-delete-dialog>form,#admin-password-dialog>form{width:min(52rem,calc(100vw - 5rem))}
#usps-remove-dialog>.dialog-panel,#admin-user-dialog>.dialog-panel{width:min(56rem,calc(100vw - 5rem))}
#user-history-dialog>.wide-dialog,#mfa-settings-dialog>.wide-dialog,#admin-sessions-dialog>.wide-dialog{width:min(96vw,100rem)}
#submission-detail-dialog{width:min(96vw,100rem);max-width:96vw}
#graph-test-dialog{width:min(52rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem)}
#review-answers-dialog{width:min(60rem,calc(100vw - 2rem));max-width:60rem;max-height:calc(100vh - 2rem);padding:0;border:0;border-radius:1rem;box-shadow:0 1.25rem 3.5rem rgba(8,36,53,.3)}
#review-answers-dialog::backdrop{background:rgba(4,26,40,.66)}
.review-answers-dialog-panel{max-height:calc(100vh - 2rem);overflow:auto;padding:1.35rem;box-sizing:border-box}
.review-answers-dialog-panel h2{margin:.1rem 0 .35rem}.review-answers-dialog-status{margin:1rem 0;padding:.8rem 1rem;border-left:4px solid var(--brand-blue,#006a99);border-radius:.35rem;background:#eef7fa;color:#173f54;font-weight:700;line-height:1.45}
.review-answers-dialog-list{display:grid;gap:.7rem}.review-answer-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid #c9d8e1;border-radius:.65rem;background:#fff}.review-answer-item.is-unanswered{background:#fbfcfd}.review-answer-item-copy{min-width:0}.review-answer-item h3{margin:.15rem 0;font-size:1rem;line-height:1.35}.review-answer-item-meta{margin:0;color:#476170;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.025em}.review-answer-item-summary{margin:.3rem 0 0;color:#344f5e;line-height:1.4;overflow-wrap:anywhere}.review-answer-item-action{flex:0 0 auto}.review-answer-locked{display:inline-block;max-width:13rem;color:#647482;font-size:.84rem;font-weight:700;line-height:1.35}.review-answers-dialog-panel .dialog-actions{margin-top:1.15rem}
.review-program-answer-list{display:grid;gap:.7rem;margin-top:.65rem}.review-program-answer{border:1px solid #c9d8e1;border-left:4px solid var(--teal);border-radius:.5rem;background:#f8fbfc;padding:.75rem}.review-program-answer h4{margin:0 0 .65rem;color:var(--navy);font-size:.98rem}.review-program-answer-section{padding:.55rem 0;border-top:1px solid #d8e3e8}.review-program-answer-section:first-of-type{border-top:0;padding-top:0}.review-program-answer-section:last-child{padding-bottom:0}.review-program-answer-section h5{margin:0 0 .35rem;color:#36596a;font-size:.82rem;text-transform:uppercase;letter-spacing:.025em}.review-program-answer-section dl{display:grid;gap:.35rem;margin:0}.review-program-answer-field{display:grid;grid-template-columns:minmax(9rem,.55fr) 1fr;gap:.35rem .75rem}.review-program-answer-field dt{font-weight:750}.review-program-answer-field dd{margin:0;overflow-wrap:anywhere}
@media(max-width:700px){
  :root{--dialog-gutter:.35rem}
  dialog:not(.full-width-dialog):not(.audit-viewer-dialog){padding:1rem;border-radius:.7rem}
  dialog:not(.full-width-dialog):not(.audit-viewer-dialog)>form,
  dialog:not(.full-width-dialog):not(.audit-viewer-dialog)>.dialog-panel{width:calc(100vw - 2.7rem)}
  .audit-detail-dialog{width:100vw;max-width:100vw;max-height:100vh;margin:0;border-radius:0}
  .audit-detail-shell{max-height:100vh;padding:1rem}
  .audit-detail-grid{grid-template-columns:1fr}
  .audit-detail-table th{width:auto}
  .review-answers-dialog-panel{padding:1rem}.review-answer-item{align-items:flex-start;flex-direction:column}.review-answer-item-action{width:100%}.review-answer-item-action .button{width:100%}.review-answer-locked{max-width:none}.review-program-answer-field{grid-template-columns:1fr}.review-program-answer-field dd{margin-top:-.15rem}
}

/* v9.6.9 create administrator modal */
#create-admin-dialog .dialog-panel{width:min(42rem,calc(100vw - 2rem));}
#create-admin-dialog .dialog-actions{margin-top:1.5rem;}


/* v9.6.10 MFA QR enrollment */
.mfa-qr-code{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-width:244px;min-height:244px;margin:1rem 0 1.25rem;padding:12px;background:#fff;border:1px solid #c9d7df;border-radius:12px;box-shadow:0 4px 14px rgba(1,81,119,.12)}
.mfa-qr-code img,.mfa-qr-code canvas{display:block;max-width:100%;height:auto}
@media (max-width:480px){.mfa-qr-code{min-width:0;width:100%}.mfa-qr-code img,.mfa-qr-code canvas{width:min(220px,100%)!important;height:auto!important}}

/* v9.7 email operations */
.email-operations-panel{grid-column:1/-1;margin-top:1.25rem}.email-metrics{margin:1rem 0}.email-operations-panel h5{margin:1.5rem 0 .65rem}.email-operations-panel .table-scroll{max-height:24rem;overflow:auto;overscroll-behavior:contain}.delivery-status-sent{color:#2f741f;font-weight:700}.delivery-status-failed{color:#a40000;font-weight:700}.email-detail-error{max-width:28rem;white-space:normal}.filter-row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.filter-row>div{min-width:14rem;flex:1}
.outreach-performance-report{margin:0 0 1.5rem;padding:1.25rem;border:1px solid var(--border,#cddbe3);border-radius:.8rem;background:#fff}.outreach-report-filters,.outreach-recipient-filters{display:flex;gap:1rem;align-items:end;flex-wrap:wrap;margin:1rem 0}.outreach-report-filters label{display:grid;gap:.35rem;min-width:13rem;font-weight:700}.outreach-overview-metrics{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin:1rem 0}.outreach-overview-metrics .metric-card{display:grid;gap:.2rem}.outreach-overview-metrics .metric-card small{font-weight:400;color:var(--muted,#526b7d)}.outreach-report-chart{padding:1rem;margin:1rem 0;border-radius:.7rem;background:#f5f9fc}.outreach-report-chart h4{margin:0 0 .8rem}.outreach-chart-row{display:grid;grid-template-columns:6rem minmax(3rem,1fr) 8rem;gap:.7rem;align-items:center;margin:.45rem 0;font-size:.9rem}.outreach-chart-row i{display:block;min-height:.65rem;border-radius:1rem;background:#159dca}.outreach-chart-row strong{font-size:.85rem;color:#345}.outreach-campaign-table{max-width:100%;max-height:min(28rem,calc(100vh - 18rem));overflow:auto;overscroll-behavior:contain;border:1px solid var(--border,#cddbe3);border-radius:.65rem}.outreach-campaign-table .admin-table{margin:0}.outreach-campaign-table thead th{position:sticky;top:0;z-index:1;background:#fff;box-shadow:0 1px 0 var(--border,#cddbe3)}.campaign-performance-dialog{width:min(1100px,96vw)}.campaign-performance-dialog .activecampaign-setup-panel{max-height:min(88vh,1000px)}.campaign-performance-dialog section{margin-top:1.5rem}.campaign-performance-dialog h3{margin-bottom:.45rem}.campaign-performance-dialog .table-scroll{max-height:25rem}.outreach-recipient-filters select,.outreach-recipient-filters input{min-width:11rem}.outreach-recipient-filters input{flex:1}@media (max-width:700px){.outreach-performance-report{padding:.85rem}.outreach-chart-row{grid-template-columns:5rem minmax(2rem,1fr);gap:.45rem}.outreach-chart-row strong{grid-column:1/-1}.outreach-recipient-filters>*{width:100%}}
/* v9.7.1 ActiveCampaign invitation management */
.invitation-preview-table{max-height:28rem;border:1px solid var(--border,#cddbe3);border-radius:.6rem;margin-block:1rem}.invitation-preview-table table{min-width:58rem}.invitation-preview-table .is-ineligible{opacity:.72}.checkbox-line{display:flex;align-items:flex-start;gap:.65rem}.checkbox-line input{margin-top:.25rem}.checkbox-line label{margin:0}.invitation-preview-table tbody tr:nth-child(even){background:rgba(205,219,227,.28)}
.invitation-preview-heading{margin-top:1.1rem;padding:1rem 1rem 0;border:1px solid var(--border,#cddbe3);border-bottom:0;border-radius:.7rem .7rem 0 0;background:#f5f9fc}.invitation-preview-heading h5{margin:0}.invitation-preview-heading .help-text{margin:.35rem 0 0}.invitation-preview-heading~.filter-row,.invitation-preview-heading~.invitation-preview-table,.invitation-preview-heading~.admin-grid,.invitation-preview-heading~.button{margin-left:1rem;margin-right:1rem}.invitation-preview-heading~.button{margin-bottom:1rem}
.has-table-header-help{position:relative}.table-header-help{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-left:.3rem;border-radius:50%;background:#e2eef3;color:#00577f;font-size:.8rem;line-height:1;vertical-align:text-bottom;cursor:help;outline:0}.table-header-help:focus-visible{box-shadow:0 0 0 3px rgba(0,87,127,.3)}.table-header-help-content{position:absolute;z-index:25;right:0;top:calc(100% + .45rem);display:none;width:min(22rem,calc(100vw - 2rem));padding:.7rem .8rem;border:1px solid #6d9caf;border-radius:.5rem;background:#073f59;color:#fff;font-size:.84rem;font-weight:500;line-height:1.35;text-align:left;box-shadow:0 .45rem 1.25rem rgba(0,27,45,.22)}.table-header-help:hover .table-header-help-content,.table-header-help:focus .table-header-help-content{display:block}.high-contrast .table-header-help{background:#000;color:#ff0;border:1px solid #ff0}.high-contrast .table-header-help-content{background:#000;color:#fff;border-color:#ff0}

/* v9.7.2 submission version history */
.version-history-panel{width:min(1180px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto}
.version-payload{max-height:52vh;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f5f7f8;border:1px solid #cbd5db;border-radius:.5rem;padding:1rem}
.version-current{font-weight:700;color:#015177}

/* v9.7.3 data quality */
.data-quality-filters{display:grid;grid-template-columns:repeat(4,minmax(12rem,1fr));gap:1rem;margin:1rem 0;align-items:end}.data-quality-filters label{display:block;margin-bottom:.4rem;font-weight:700}.data-quality-table-wrap{max-height:36rem}.quality-issue-list{margin:0;padding-left:1.15rem;min-width:24rem}.quality-issue-list li{margin:.3rem 0}.quality-badge{display:inline-block;border-radius:999px;padding:.12rem .45rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.quality-badge.error{background:#fde8e8;color:#8a1c1c}.quality-badge.warning{background:#fff4cf;color:#664d00}.quality-row-error{box-shadow:inset .25rem 0 #b42318}.quality-row-warning{box-shadow:inset .25rem 0 #b7791f}.quality-row-clean{box-shadow:inset .25rem 0 #2f855a}.quality-good strong{color:#2f855a}.quality-error strong{color:#b42318}.quality-warning strong{color:#9a6700}@media(max-width:900px){.data-quality-filters{grid-template-columns:1fr 1fr}}@media(max-width:560px){.data-quality-filters{grid-template-columns:1fr}}

/* v9.7.7 — comprehensive high-contrast readability fixes */
body.high-contrast,
body.high-contrast main,
body.high-contrast .app-shell,
body.high-contrast .landing-view,
body.high-contrast .survey-view,
body.high-contrast .admin-view {
  background:#000 !important;
  color:#fff !important;
}

body.high-contrast .hero-card,
body.high-contrast .card,
body.high-contrast .question-panel,
body.high-contrast .progress-panel,
body.high-contrast .submit-card,
body.high-contrast .confirmation-card,
body.high-contrast .feature-grid article,
body.high-contrast .token-resume-panel,
body.high-contrast .county-action,
body.high-contrast .county-loading,
body.high-contrast .generated-link,
body.high-contrast .stat,
body.high-contrast details.definition,
body.high-contrast .option-card,
body.high-contrast .service-card,
body.high-contrast .nested-service-group,
body.high-contrast .admin-page,
body.high-contrast .integration-panel,
body.high-contrast .status-banner,
body.high-contrast dialog,
body.high-contrast dialog form,
body.high-contrast .modal-card,
body.high-contrast .dialog-card {
  background:#000 !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#fff !important;
  box-shadow:none !important;
}

body.high-contrast h1,
body.high-contrast h2,
body.high-contrast h3,
body.high-contrast h4,
body.high-contrast h5,
body.high-contrast h6,
body.high-contrast p,
body.high-contrast label,
body.high-contrast legend,
body.high-contrast small,
body.high-contrast .help-text,
body.high-contrast .muted,
body.high-contrast .eyebrow,
body.high-contrast .section-kicker,
body.high-contrast .question-number,
body.high-contrast .feature-grid h3,
body.high-contrast .hero-card h2,
body.high-contrast .question-card h2,
body.high-contrast .review-section h3,
body.high-contrast th,
body.high-contrast td,
body.high-contrast details.definition summary,
body.high-contrast .token-resume-panel * {
  color:#fff !important;
}

body.high-contrast input,
body.high-contrast select,
body.high-contrast textarea {
  background:#000 !important;
  color:#fff !important;
  border:2px solid #fff !important;
  caret-color:#fff !important;
}
body.high-contrast input::placeholder,
body.high-contrast textarea::placeholder { color:#ddd !important; opacity:1; }
body.high-contrast select option { background:#000; color:#fff; }

body.high-contrast .button,
body.high-contrast button {
  background:#000 !important;
  color:#fff !important;
  border:2px solid #fff !important;
}
body.high-contrast .button:hover,
body.high-contrast button:hover,
body.high-contrast .button:focus-visible,
body.high-contrast button:focus-visible {
  background:#fff !important;
  color:#000 !important;
  outline:3px solid #ffff00 !important;
  outline-offset:2px;
}
body.high-contrast .button.primary,
body.high-contrast .button.secondary,
body.high-contrast .button.ghost,
body.high-contrast .button.danger { background:#000 !important; color:#fff !important; border-color:#fff !important; }

body.high-contrast a { color:#ffff00 !important; text-decoration:underline; }
body.high-contrast a:visited { color:#ffb3ff !important; }

body.high-contrast .progress-track,
body.high-contrast .progress-bar { background:#333 !important; border:1px solid #fff; }
body.high-contrast .progress-track span,
body.high-contrast .progress-bar span { background:#ffff00 !important; }

body.high-contrast .status-banner,
body.high-contrast .success-banner,
body.high-contrast .info-banner,
body.high-contrast .field-error,
body.high-contrast .error-summary {
  background:#000 !important;
  color:#fff !important;
  border:2px solid #fff !important;
}
body.high-contrast .success-banner { border-color:#75ffb2 !important; }
body.high-contrast .field-error,
body.high-contrast .error-summary { border-color:#ff9b80 !important; color:#fff !important; }

body.high-contrast .hidden { display:none !important; }

.importance-card {
  margin-top:1rem;
  padding:clamp(1.5rem,3vw,2.25rem);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:center;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:1rem;
  box-shadow:var(--shadow);
  border-top:6px solid var(--brand-green);
}
.importance-card h3 { margin:.25rem 0 .75rem; color:var(--navy); font-size:clamp(1.35rem,2.5vw,2rem); }
.importance-card p { max-width:76ch; }
.importance-list { margin:.9rem 0 0; padding-left:1.35rem; }
.importance-list li + li { margin-top:.45rem; }
.importance-action { min-width:15rem; text-align:center; }
.importance-action .button { width:100%; }
@media (max-width: 800px) {
  .importance-card { grid-template-columns:1fr; gap:1.25rem; }
  .importance-action { min-width:0; text-align:left; }
}
body.high-contrast .importance-card { background:#000; color:#fff; border-color:#fff; border-top-color:#ff0; }
body.high-contrast .importance-card h3,
body.high-contrast .importance-card p,
body.high-contrast .importance-card li,
body.high-contrast .importance-card .help-text { color:#fff; }

/* v9.7.11 entry-page UX refinement */
#landing-view.container {
  width:min(1100px, calc(100% - 2rem));
  padding-top:clamp(1.5rem,3vw,2.5rem);
  padding-bottom:clamp(2rem,4vw,4rem);
}
#landing-view {
  display:grid;
  gap:1rem;
}
#landing-view .importance-card,
#landing-view .hero-card,
#landing-view .feature-grid { margin:0; }

.importance-card {
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.65fr) minmax(16rem,.65fr);
  gap:clamp(1.5rem,3vw,3rem);
  padding:clamp(1.5rem,3vw,2.5rem);
  align-items:stretch;
  border-top:0;
  border-left:6px solid var(--brand-green);
  box-shadow:0 12px 34px rgba(1,81,119,.09);
}
.importance-card::after {
  content:"";
  position:absolute;
  width:18rem;
  height:18rem;
  right:-10rem;
  top:-11rem;
  border-radius:50%;
  background:rgba(147,201,83,.12);
  pointer-events:none;
}
.importance-card h2 {
  max-width:19ch;
  margin:.35rem 0 .8rem;
  color:var(--brand-deep-blue);
  font-size:clamp(1.75rem,3.5vw,2.65rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.importance-lead { max-width:72ch; margin:0; font-size:1.04rem; line-height:1.65; color:var(--muted); }
.importance-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; margin-top:1.4rem; }
.benefit-item { display:grid; grid-template-columns:auto 1fr; gap:.65rem; align-items:start; padding:.9rem; background:#f7faf5; border:1px solid #dbe9cf; border-radius:.75rem; }
.benefit-item p { margin:0; font-size:.91rem; line-height:1.45; }
.benefit-item strong { color:var(--brand-deep-blue); }
.benefit-number { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:var(--brand-green); color:#17320e; font-size:.72rem; font-weight:800; }
.importance-action {
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  padding:1.25rem;
  border-radius:.85rem;
  background:linear-gradient(145deg,#f2f8fb,#fff);
  border:1px solid #d5e5ec;
}
.importance-action-title { margin:0 0 .35rem; font-weight:800; color:var(--brand-deep-blue); }
.importance-action p:not(.importance-action-title) { margin:.1rem 0 1rem; color:var(--muted); line-height:1.5; }
.importance-action .button { width:auto; }

.hero-card {
  padding:clamp(1.5rem,3vw,2.5rem);
  grid-template-columns:minmax(0,1.45fr) minmax(19rem,.65fr);
  align-items:start;
  gap:clamp(1.5rem,4vw,3.5rem);
  border-top:5px solid var(--brand-blue);
  box-shadow:0 12px 34px rgba(1,81,119,.09);
}
.hero-card h2 {
  max-width:18ch;
  font-size:clamp(2.25rem,5vw,4rem);
  line-height:.98;
  letter-spacing:-.035em;
  margin:.35rem 0 1rem;
}
.hero-lead { max-width:60ch; font-size:1.05rem; line-height:1.6; color:var(--muted); }
.hero-meta,.hero-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.25rem; }
.hero-meta span,.hero-tags span { padding:.38rem .7rem; border-radius:999px; background:#eaf6fb; border:1px solid #c8e6f1; color:var(--brand-deep-blue); font-size:.82rem; font-weight:750; }
.hero-actions {
  display:grid;
  gap:.75rem;
  padding:1rem;
  border-radius:.9rem;
  background:#f5f9fb;
  border:1px solid #d4e3e9;
}
.hero-actions > .button { width:100%; min-height:3rem; }
.hero-actions .status-banner { margin:0; padding:.85rem; border:1px solid #d9e5c9; border-radius:.65rem; background:#f6faef; color:#356d1b; line-height:1.45; }
.token-resume-panel { margin:0; padding:1rem; background:#fff; border-color:#d4e3e9; }
.token-resume-panel .inline-form { align-items:stretch; }
.token-resume-panel .inline-form input { min-width:0; width:100%; }
.token-resume-panel .inline-form .button { white-space:nowrap; }

.feature-grid { gap:.75rem; }
.feature-grid article {
  display:flex;
  gap:.85rem;
  align-items:flex-start;
  padding:1rem 1.1rem;
  border-left:0;
  border-top:3px solid var(--brand-green);
  border:1px solid var(--line);
  box-shadow:0 6px 18px rgba(1,81,119,.05);
}
.feature-grid article:nth-child(2) { border-top-color:var(--brand-blue); }
.feature-grid article:nth-child(3) { border-top-color:var(--brand-teal); }
.feature-grid h3 { margin:0 0 .25rem; font-size:1rem; }
.feature-grid p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.45; }
.feature-icon { flex:0 0 auto; display:grid; place-items:center; width:2rem; height:2rem; border-radius:.55rem; background:#eef7e8; color:#3d711e; font-weight:800; }
.feature-grid article:nth-child(2) .feature-icon { background:#e8f6fb; color:var(--brand-deep-blue); }
.feature-grid article:nth-child(3) .feature-icon { background:#e5f5f2; color:#126d66; }

@media (max-width:900px) {
  .importance-card,
  .hero-card { grid-template-columns:1fr; }
  .importance-benefits { grid-template-columns:1fr; }
  .importance-action { padding:1rem; }
  .hero-card h2 { max-width:22ch; }
}
@media (max-width:620px) {
  #landing-view.container { width:min(100% - 1rem,1100px); padding-top:.75rem; }
  .importance-card,
  .hero-card { padding:1.15rem; border-radius:.8rem; }
  .importance-card h2 { font-size:1.8rem; }
  .hero-card h2 { font-size:2.35rem; }
  .feature-grid { grid-template-columns:1fr; }
  .hero-meta,.hero-tags { gap:.4rem; }
  .hero-meta span,.hero-tags span { font-size:.76rem; }
}
body.high-contrast .importance-card,
body.high-contrast .importance-action,
body.high-contrast .benefit-item,
body.high-contrast .hero-actions,
body.high-contrast .hero-meta span,
body.high-contrast .hero-tags span,
body.high-contrast .feature-icon { background:#000 !important; color:#fff !important; border-color:#fff !important; }
body.high-contrast .importance-card { border-left-color:#ff0 !important; }
body.high-contrast .hero-card { border-top-color:#ff0 !important; }
body.high-contrast .importance-card h2,
body.high-contrast .importance-lead,
body.high-contrast .benefit-item strong,
body.high-contrast .benefit-item p,
body.high-contrast .importance-action-title,
body.high-contrast .importance-action p,
body.high-contrast .hero-lead,
body.high-contrast .hero-meta span,
body.high-contrast .hero-tags span,
body.high-contrast .feature-grid p { color:#fff !important; }

/* v9.7.12 — full-width secure resume token entry */
.resume-token-entry {
  display:block;
  width:100%;
  min-height:6.5rem;
  margin:.45rem 0 .5rem;
  padding:.75rem .85rem;
  resize:vertical;
  overflow-wrap:anywhere;
  word-break:break-all;
  white-space:pre-wrap;
  font-family:ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size:.95rem;
  line-height:1.45;
}
.token-resume-panel > .button { margin-top:.35rem; }
body.high-contrast .resume-token-entry {
  color:#fff !important;
  background:#000 !important;
  border-color:#fff !important;
}

/* v9.7.13: anti-automation honeypot. Kept outside the viewport without display:none
   so basic form-filling bots encounter it, while keyboard and assistive-technology
   users do not. */
.bot-trap {
  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;
}


/* Respondent journey analytics */
.analytics-filters{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0}.analytics-filters>div{min-width:14rem;flex:1}.analytics-grid{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(24rem,1.1fr);gap:1.5rem;margin:1.5rem 0}.journey-funnel{display:grid;gap:.85rem}.funnel-label{display:flex;justify-content:space-between;gap:1rem}.funnel-track{height:.75rem;background:#e0e1e2;border-radius:999px;overflow:hidden}.funnel-track span{display:block;height:100%;background:linear-gradient(90deg,#29ade4,#19948a);border-radius:inherit}.funnel-row small{display:block;margin-top:.25rem;color:#526573}.high-contrast .funnel-track{background:#333;border:1px solid #fff}.high-contrast .funnel-track span{background:#ff0}.high-contrast .funnel-row small{color:#fff}@media(max-width:850px){.analytics-grid{grid-template-columns:1fr}}

/* v9.7.19: Journey Analytics usability and responsive layout */
#journey-analytics-card {
  overflow: hidden;
}
#journey-analytics-card .section-heading-row {
  align-items: flex-start;
  gap: 1.5rem;
  flex-wrap: wrap;
}
#journey-analytics-card .analytics-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(16rem, 1fr));
  gap: 1rem 1.25rem;
  align-items: end;
  margin: 1.5rem 0;
}
#journey-analytics-card .analytics-filters > div {
  min-width: 0;
}
#journey-analytics-card .analytics-filters label {
  display: block;
  margin-bottom: .45rem;
  font-weight: 700;
}
#journey-analytics-card .analytics-filters select,
#journey-analytics-card .analytics-filters input[type="date"] {
  width: 100%;
  min-height: 3rem;
}
#journey-analytics-card .analytics-custom-dates {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(13rem, 1fr)) auto;
  gap: 1rem;
  align-items: end;
  padding: 1rem;
  border: 1px solid var(--border, #cddbe3);
  border-radius: .75rem;
  background: #f7fafb;
}
#journey-analytics-card .analytics-custom-dates[hidden] {
  display: none !important;
}
#journey-analytics-summary.stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(9rem, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.75rem;
}
#journey-analytics-summary .stat-card {
  display: flex;
  flex-direction: column;
  gap: .3rem;
  min-width: 0;
  padding: 1rem 1.1rem;
  border: 1px solid #cddbe3;
  border-radius: .75rem;
  background: #fff;
  box-shadow: 0 6px 18px rgba(1, 81, 119, .06);
}
#journey-analytics-summary .stat-card strong {
  display: block;
  color: #015177;
  font-size: clamp(1.35rem, 2.5vw, 2rem);
  line-height: 1.05;
  overflow-wrap: anywhere;
}
#journey-analytics-summary .stat-card span {
  display: block;
  color: #526573;
  font-size: .95rem;
  line-height: 1.35;
}
#journey-analytics-summary .stat-card small { color: #526573; line-height: 1.35; }
#journey-friction-callout { margin: 1rem 0; }
#journey-friction-callout a { margin-left: .35rem; font-weight: 700; }
#journey-small-sample-note { margin: -.6rem 0 1rem; }
#journey-analytics-card .journey-flow-panel { grid-column: 1 / -1; min-width: 0; }
#journey-analytics-card .journey-flow {
  overflow-x: auto;
  border: 1px solid #d7e2e8;
  border-radius: .65rem;
  background: #fbfdfe;
}
#journey-analytics-card .journey-flow svg { display: block; width: max-content !important; min-width: 61.25rem; max-width: none !important; }
#journey-analytics-card .journey-flow-link { fill: none; stroke: #29ade4; stroke-linecap: round; opacity: .52; }
#journey-analytics-card .journey-flow-link-count { fill: #015177; font-size: 14px; font-weight: 800; paint-order: stroke; stroke: #fbfdfe; stroke-width: 5px; }
#journey-analytics-card .journey-flow-node rect { fill: #fff; stroke: #015177; stroke-width: 1.5px; }
#journey-analytics-card .journey-flow-node-label { fill: #173f54; font-size: 15px; font-weight: 800; }
#journey-analytics-card .journey-flow-node-count { fill: #526573; font-size: 13px; }
.journey-flow-dialog { width: min(98vw, 112rem); max-width: 98vw; height: min(94vh, 70rem); max-height: 94vh; padding: 0; }
.journey-flow-dialog-panel { box-sizing: border-box; height: 100%; padding: 1.5rem; overflow: auto; }
.journey-flow-dialog .journey-flow-explainer { display: grid; grid-template-columns: repeat(3, minmax(14rem, 1fr)); gap: 1rem; margin: 1rem 0; }
.journey-flow-dialog .journey-flow-explainer section,.journey-flow-dialog .journey-flow-insights { border: 1px solid #d7e2e8; border-radius: .65rem; padding: 1rem; background: #f7fafb; }
.journey-flow-dialog .journey-flow-explainer h3,.journey-flow-dialog .journey-flow-insights h3 { margin-top: 0; }
.journey-flow-dialog .journey-flow-expanded { min-height: 17rem; }
.journey-flow-dialog .journey-flow-expanded svg { min-width: 100rem; }
.journey-flow-dialog .journey-flow-link { fill: none; stroke: #29ade4; stroke-linecap: round; opacity: .52; }
.journey-flow-dialog .journey-flow-link-count { fill: #015177; font-size: 14px; font-weight: 800; paint-order: stroke; stroke: #fbfdfe; stroke-width: 5px; }
.journey-flow-dialog .journey-flow-node rect { fill: #fff; stroke: #015177; stroke-width: 1.5px; }
.journey-flow-dialog .journey-flow-node-label { fill: #173f54; font-size: 15px; font-weight: 800; }
.journey-flow-dialog .journey-flow-node-count { fill: #526573; font-size: 13px; }
.journey-flow-dialog .journey-flow-phases { margin: 1.25rem 0; }
.journey-flow-dialog .journey-flow-phases > h3 { margin: 0 0 .75rem; }
#journey-flow-phases { display: grid; grid-template-columns: repeat(2, minmax(18rem, 1fr)); gap: 1rem; }
.journey-flow-phase { border: 1px solid #d7e2e8; border-radius: .65rem; padding: 1rem; background: #fff; }
.journey-flow-phase h4 { margin: 0 0 .5rem; color: #015177; }
.journey-flow-phase h4 span { color: #526573; font-size: .9rem; font-weight: 600; white-space: nowrap; }
.journey-flow-phase p { margin: 0 0 .8rem; }
.journey-flow-phase dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.journey-flow-phase dl div { border-left: 3px solid #8aca4c; padding-left: .65rem; }
.journey-flow-phase dt { color: #526573; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.journey-flow-phase dd { margin: .2rem 0 0; }
.journey-flow-dialog .metric-card small { display: block; margin-top: .35rem; color: #526573; }
#journey-analytics-card .analytics-grid {
  display: grid;
  grid-template-columns: minmax(20rem, .9fr) minmax(28rem, 1.1fr);
  gap: 2rem;
  align-items: start;
  margin: 1.75rem 0 2rem;
}
#journey-analytics-card .analytics-grid > section,
#journey-analytics-card > section {
  min-width: 0;
}
#journey-analytics-card .journey-groups-panel { grid-column: 1 / -1; }
#journey-analytics-card .table-wrap {
  max-width: 100%;
  overflow: auto;
  border: 1px solid #d7e2e8;
  border-radius: .65rem;
}
#journey-analytics-card .journey-groups-wrap { overflow-x: visible; }
#journey-analytics-card .journey-groups-wrap table { min-width: 0; width: 100%; table-layout: fixed; }
#journey-analytics-card .journey-groups-wrap th:first-child,
#journey-analytics-card .journey-groups-wrap td:first-child { width: 38%; }
#journey-analytics-card .journey-groups-wrap th:nth-child(2),
#journey-analytics-card .journey-groups-wrap td:nth-child(2) { width: 16%; }
#journey-analytics-card .journey-groups-wrap th:nth-child(3),
#journey-analytics-card .journey-groups-wrap td:nth-child(3) { width: 16%; }
#journey-analytics-card .journey-groups-wrap th:nth-child(4),
#journey-analytics-card .journey-groups-wrap td:nth-child(4) { width: 17%; }
#journey-analytics-card .journey-groups-wrap th:nth-child(5),
#journey-analytics-card .journey-groups-wrap td:nth-child(5) { width: 13%; }
#journey-analytics-card .journey-groups-wrap td:not(:first-child) { white-space: nowrap; }
#journey-analytics-card .journey-groups-wrap th { overflow-wrap: normal; word-break: normal; hyphens: none; }
#journey-analytics-card table {
  min-width: 38rem;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
#journey-analytics-card th,
#journey-analytics-card td {
  padding: .8rem .9rem;
  text-align: left;
  vertical-align: top;
  white-space: normal;
}
#journey-analytics-card th {
  background: #f2f7f9;
  position: sticky;
  top: 0;
  z-index: 1;
}
#journey-analytics-card tbody tr:nth-child(even) td {
  background: #fafcfd;
}
#journey-analytics-card .funnel-row {
  min-width: 0;
}
#journey-analytics-card .funnel-label span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.high-contrast #journey-analytics-card .analytics-custom-dates,
.high-contrast #journey-analytics-summary .stat-card,
.high-contrast #journey-analytics-card th,
.high-contrast #journey-analytics-card td {
  background: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}
.high-contrast #journey-analytics-summary .stat-card strong,
.high-contrast #journey-analytics-summary .stat-card span,
.high-contrast #journey-analytics-summary .stat-card small,
.high-contrast #journey-analytics-card .journey-flow-node-label,
.high-contrast #journey-analytics-card .journey-flow-node-count,
.high-contrast #journey-analytics-card .journey-flow-link-count {
  color: #fff !important;
}
.high-contrast #journey-analytics-card .journey-flow { background: #000; border-color: #fff; }
.high-contrast #journey-analytics-card .journey-flow-node rect { fill: #000; stroke: #fff; }
.high-contrast #journey-analytics-card .journey-flow-link { stroke: #ff0; }
.high-contrast .journey-flow-node-label,
.high-contrast .journey-flow-node-count,
.high-contrast .journey-flow-link-count { fill: #fff !important; stroke: #000; }
.high-contrast .journey-flow-link-count { paint-order: stroke; stroke-width: 5px; }
.high-contrast .journey-flow-dialog .journey-flow { background: #000; border-color: #fff; }
.high-contrast .journey-flow-dialog .journey-flow-node rect { fill: #000; stroke: #fff; }
.high-contrast .journey-flow-dialog .journey-flow-link { stroke: #ff0; }
.high-contrast .journey-flow-phase { background: #000; border-color: #fff; }
@media (max-width: 1050px) {
  #journey-analytics-summary.stat-grid { grid-template-columns: repeat(2, minmax(10rem, 1fr)); }
  #journey-analytics-card .analytics-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  #journey-analytics-card .analytics-filters { grid-template-columns: 1fr; }
  #journey-analytics-card .analytics-custom-dates { grid-template-columns: 1fr; }
  #journey-analytics-summary.stat-grid { grid-template-columns: 1fr; }
  #journey-analytics-card .section-heading-row .button-row { width: 100%; }
  #journey-analytics-card .section-heading-row .button-row .button { flex: 1 1 auto; }
  #journey-analytics-card .journey-groups-wrap { overflow: visible; border: 0; }
  #journey-analytics-card .journey-groups-wrap table,
  #journey-analytics-card .journey-groups-wrap tbody,
  #journey-analytics-card .journey-groups-wrap tr,
  #journey-analytics-card .journey-groups-wrap td { display: block; width: 100%; }
  #journey-analytics-card .journey-groups-wrap thead { display: none; }
  #journey-analytics-card .journey-groups-wrap tr { margin-bottom: .85rem; border: 1px solid #d7e2e8; border-radius: .65rem; overflow: hidden; }
  #journey-analytics-card .journey-groups-wrap td { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(0, 1fr); gap: .75rem; padding: .65rem .8rem; border-bottom: 1px solid #e4edf1; white-space: normal !important; }
  #journey-analytics-card .journey-groups-wrap td:last-child { border-bottom: 0; }
  #journey-analytics-card .journey-groups-wrap td::before { content: attr(data-label); color: #526573; font-weight: 700; }
  .journey-flow-dialog .journey-flow-explainer { grid-template-columns: 1fr; }
  #journey-flow-phases { grid-template-columns: 1fr; }
  .journey-flow-phase dl { grid-template-columns: 1fr; }
  .journey-flow-dialog-panel { padding: 1rem; }
}

/* v9.7.22 — readable submission version details */
#submission-version-detail-dialog{width:min(96rem,calc(100vw - 1.5rem));max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 1.5rem);padding:0}
#submission-version-detail-dialog .version-history-panel{width:100%;max-width:none;box-sizing:border-box;padding:1.5rem;overflow:auto}
.version-detail-meta>div{border:1px solid var(--border,#ccd8df);border-radius:.75rem;background:#f7fafb;padding:.85rem 1rem;min-width:0}
.version-detail-meta>div span{display:block;color:#536b78;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.3rem}
.version-detail-meta>div strong{display:block;overflow-wrap:anywhere}
.version-view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.25rem 0 .85rem;border-top:1px solid var(--border,#ccd8df);padding-top:1.25rem}
.version-view-heading h3,.version-view-heading p{margin:0}.version-view-heading p{margin-top:.25rem}
.segmented-control{display:flex;gap:.35rem;flex-wrap:wrap}.segmented-control .button{min-height:2.55rem;padding:.55rem .85rem}.segmented-control .is-active{background:#015177;color:#fff;border-color:#015177}
.version-readable{display:grid;gap:1rem;max-height:58vh;overflow:auto;padding-right:.25rem}
.version-section{border:1px solid var(--border,#ccd8df);border-radius:.8rem;background:#fff;overflow:hidden}
.version-section>h4{margin:0;padding:.8rem 1rem;background:#eef5f7;color:#015177;border-bottom:1px solid var(--border,#ccd8df);font-size:1rem}
.version-fields{margin:0;padding:.25rem 1rem .65rem}.version-field{display:grid;grid-template-columns:minmax(15rem,34%) 1fr;gap:1rem;padding:.72rem 0;border-bottom:1px solid #e6ecef}.version-field:last-child{border-bottom:0}.version-field dt{font-weight:750;color:#203b49}.version-field dd{margin:0;min-width:0;overflow-wrap:anywhere}
.version-empty{color:#607681;font-style:italic}
.version-list{margin:0;padding-left:1.2rem}.version-list li{margin:.25rem 0}
.version-object{display:grid;gap:.55rem}.version-object-row{display:grid;grid-template-columns:minmax(9rem,28%) 1fr;gap:.75rem;padding:.45rem .55rem;border-radius:.4rem;background:#f7fafb}.version-object-label{font-weight:700;color:#294a5a}.version-program-card{border:1px solid #d7e2e7;border-radius:.65rem;padding:.85rem;margin:.35rem 0;background:#fbfdfe}.version-program-card h5{margin:0 0 .65rem;color:#015177;font-size:1rem}
.version-payload{max-height:58vh;font-size:.88rem;line-height:1.45}
body.high-contrast .version-detail-meta>div,body.high-contrast .version-section,body.high-contrast .version-program-card,body.high-contrast .version-object-row{background:#000!important;color:#fff!important;border-color:#fff!important}body.high-contrast .version-section>h4{background:#000!important;color:#ff0!important;border-color:#fff!important}body.high-contrast .version-field dt,body.high-contrast .version-object-label{color:#ff0!important}
@media(max-width:760px){#submission-version-detail-dialog{width:100vw;max-width:100vw;max-height:100vh;margin:0;border-radius:0}.version-view-heading{align-items:flex-start;flex-direction:column}.version-field{grid-template-columns:1fr;gap:.35rem}.version-object-row{grid-template-columns:1fr;gap:.2rem}.version-readable{max-height:none}}

/* v9.7.23 — full-width submission version history */
#submission-version-dialog{
  width:min(96rem,calc(100vw - 1.5rem));
  max-width:calc(100vw - 1.5rem);
  max-height:calc(100vh - 1.5rem);
  padding:0;
}
#submission-version-dialog > .version-history-panel{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:1.5rem;
  overflow:auto;
}
#submission-version-dialog .table-scroll{
  width:100%;
  max-width:100%;
  overflow:auto;
}
#submission-version-dialog table{
  width:100%;
  min-width:72rem;
}
@media(max-width:760px){
  #submission-version-dialog{
    width:100vw;
    max-width:100vw;
    max-height:100vh;
    margin:0;
    border-radius:0;
  }
  #submission-version-dialog > .version-history-panel{padding:1rem;}
}


/* v9.7.24 program category definition policy */
.definition-mode-options{display:grid;gap:1rem;margin:1.25rem 0;border:0;padding:0}.definition-mode-options>legend{font-weight:800;margin-bottom:.25rem}.definition-mode-card{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start;padding:1rem;border:1px solid var(--border,#cddbe3);border-radius:.75rem;background:#fff;cursor:pointer}.definition-mode-card:has(input:checked){border:3px solid #19948a;padding:calc(1rem - 2px);background:#f1fbf8}.definition-mode-card input{margin-top:.25rem}.definition-mode-card span{display:grid;gap:.35rem}.definition-mode-card strong{font-size:1.05rem}.definition-mode-card small{font-style:normal;color:#486273}.definition-mode-card em{display:block;font-style:normal;color:#334e5d;background:#f5f8fa;border-left:4px solid #29ade4;padding:.7rem .8rem;margin-top:.35rem;line-height:1.45}.high-contrast .definition-mode-card,.high-contrast .definition-mode-card:has(input:checked){background:#000;color:#fff;border-color:#fff}.high-contrast .definition-mode-card small,.high-contrast .definition-mode-card em{color:#fff}.high-contrast .definition-mode-card em{background:#111;border-left-color:#ff0}

/* Consistent, visible field requirements across public and administrator forms. */
.field-requirement{display:inline-block;margin-left:.25rem;font-size:.76em;font-weight:700;letter-spacing:.01em;vertical-align:middle}.field-requirement.is-required{color:#a32418}.field-requirement.is-required::before{content:'• ';}.field-requirement.is-optional{color:var(--muted,#52606d);font-weight:600}.high-contrast .field-requirement.is-required,.high-contrast .field-requirement.is-optional{color:#ff0}

/* Administrator field guidance is visible on label hover and available by keyboard focus. */
label.has-field-guidance{position:relative}.field-guidance-tooltip{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin-left:.35rem;border-radius:50%;background:#e2eef3;color:#00577f;font-size:.8rem;font-weight:800;line-height:1;vertical-align:text-bottom;cursor:help;outline:0}.field-guidance-tooltip:focus-visible{box-shadow:0 0 0 3px rgba(0,87,127,.3)}.field-guidance-content{position:absolute;z-index:20;left:0;bottom:calc(100% + .45rem);display:none;width:min(22rem,calc(100vw - 2rem));padding:.7rem .8rem;border:1px solid #6d9caf;border-radius:.5rem;background:#073f59;color:#fff;font-size:.84rem;font-weight:500;line-height:1.35;box-shadow:0 .45rem 1.25rem rgba(0,27,45,.22)}.field-guidance-tooltip:hover .field-guidance-content,.field-guidance-tooltip:focus .field-guidance-content{display:block}.high-contrast .field-guidance-tooltip{background:#000;color:#ff0;border:1px solid #ff0}.high-contrast .field-guidance-content{background:#000;color:#fff;border-color:#ff0}

/* Connection-test dialogs need a reliable inset at narrow desktop widths. */
#graph-test-dialog,#activecampaign-test-dialog{width:min(46rem,calc(100vw - 3rem));max-width:calc(100vw - 3rem);padding:0}
#graph-test-dialog>.graph-test-panel,#activecampaign-test-dialog>.graph-test-panel{width:100%;max-width:100%;padding:1.5rem;box-sizing:border-box}
#activecampaign-test-dialog .graph-progress-list{margin-top:.25rem}
#activecampaign-test-dialog #activecampaign-test-progress-message{margin-top:.25rem;padding:.9rem 1rem;line-height:1.4}
@media(max-width:700px){#graph-test-dialog,#activecampaign-test-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem)}#graph-test-dialog>.graph-test-panel,#activecampaign-test-dialog>.graph-test-panel{padding:1rem}}

.activecampaign-message-template{grid-column:1/-1}.activecampaign-message-template textarea{width:100%;resize:vertical;line-height:1.45}.activecampaign-message-template code{padding:.1rem .25rem;border-radius:.2rem;background:#e8f1f5;color:#003d5c}
.activecampaign-message-field-guide{margin:.25rem 0 1rem;padding:.9rem 1rem;border:1px solid #9fcfe4;border-left:5px solid #199bc4;border-radius:.6rem;background:#f3fafc}.activecampaign-message-field-guide h5{margin:0 0 .45rem;font-size:1rem}.activecampaign-message-field-guide p{margin:.35rem 0}.activecampaign-message-field-guide ol{margin:.55rem 0 0;padding-left:1.25rem;display:grid;gap:.35rem;line-height:1.4}
.invitation-message-template-panel{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid #9fcfe4;border-left:5px solid #199bc4;border-radius:.7rem;background:#f3fafc}.invitation-message-template-panel h5{margin:0 0 .35rem;font-size:1.05rem}.invitation-message-template-panel textarea{width:100%;box-sizing:border-box;resize:vertical;line-height:1.45}.invitation-message-template-panel code{padding:.1rem .25rem;border-radius:.2rem;background:#e2eef3;color:#003d5c}
.invitation-template-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,23rem);gap:1rem;align-items:start}.invitation-template-validation{margin-top:1.65rem;padding:.85rem 1rem;border:1px solid #b42318;border-left:5px solid #b42318;border-radius:.55rem;background:#fff1f0;color:#8b1f16}.invitation-template-validation strong{display:block}.invitation-template-validation ul{margin:.55rem 0 0;padding-left:1.1rem;display:grid;gap:.45rem}.invitation-template-validation code{background:#ffe0dd;color:#8b1f16}.invitation-template-validation .fix-invitation-template-issue{margin:.35rem 0 0;padding:.28rem .5rem;font-size:.82rem}.invitation-template-editor{position:relative;overflow:hidden}.invitation-template-editor pre,.invitation-template-editor textarea{box-sizing:border-box;width:100%;min-height:100%;margin:0;padding:.55rem .65rem;border:1px solid transparent;font:inherit;letter-spacing:normal;line-height:1.45;tab-size:8;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word}.invitation-template-editor pre{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;color:#172b38;font-family:inherit}.invitation-template-editor pre mark{padding:0;border-radius:.15rem;background:#ffd1cc;color:#8b1f16;box-shadow:0 0 0 1px #b42318}.invitation-template-editor textarea{position:relative;z-index:1;background:transparent!important;color:transparent;caret-color:#172b38}.invitation-template-editor textarea::selection{background:rgba(0,87,127,.28);color:transparent}.invitation-message-template-panel textarea.has-template-errors{border-color:#b42318;box-shadow:0 0 0 2px rgba(180,35,24,.12)}@media(min-width:1200px){.invitation-template-editor-layout{display:block;position:relative}.invitation-template-validation{position:absolute;z-index:3;left:calc(100% + 1rem);top:0;width:20rem;margin-top:1.65rem;box-sizing:border-box}.invitation-message-template-panel{overflow:visible}}@media(max-width:1199px){.invitation-template-editor-layout{grid-template-columns:1fr}.invitation-template-validation{margin-top:0}}
.invitation-template-editor{background:#fff}
.invitation-draft-controls{margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid #b9dce9;border-radius:.7rem;background:#fff}.invitation-draft-controls h5{margin:0 0 .75rem;font-size:1.05rem}.invitation-draft-controls .button-row{margin:.85rem 0 .5rem}.invitation-draft-controls .help-text{margin:0;line-height:1.45}

/* Shared USPS and database test dialog: same inset and result spacing as Graph. */
#standard-connection-test-dialog{width:min(46rem,calc(100vw - 3rem));max-width:calc(100vw - 3rem);max-height:calc(100vh - 2rem);padding:0}
#standard-connection-test-dialog>.graph-test-panel{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:100%;max-height:calc(100vh - 2rem);padding:1.5rem;box-sizing:border-box;overflow-y:auto}
#standard-connection-test-dialog .section-heading-row{align-items:flex-start;gap:1rem}#standard-connection-test-dialog .section-heading-row h2{margin:0}#standard-connection-test-dialog .section-heading-row .help-text{margin:0;line-height:1.45}
#standard-connection-test-status{margin:0;padding:.85rem 1rem;min-height:3rem;display:flex;align-items:center;border-top:1px solid var(--border,#cddbe3)}
@media(max-width:700px){#standard-connection-test-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem)}#standard-connection-test-dialog>.graph-test-panel{padding:1rem;gap:.8rem}}

/* ActiveCampaign uses the same three-step modal structure and needs the same protected result area. */
#activecampaign-test-dialog{max-height:calc(100vh - 2rem)}
#activecampaign-test-dialog>.graph-test-panel{display:flex;flex-direction:column;gap:1rem;max-height:calc(100vh - 2rem);overflow-y:auto}
#activecampaign-test-dialog .section-heading-row{align-items:flex-start;gap:1rem}#activecampaign-test-dialog .section-heading-row h2{margin:0}#activecampaign-test-dialog .section-heading-row .help-text{margin:0;line-height:1.45}
#activecampaign-test-progress-message{margin:0;padding:.85rem 1rem;min-height:3rem;display:flex;align-items:center;border-top:1px solid var(--border,#cddbe3)}

.activecampaign-setup-button{margin:0 0 1rem}.activecampaign-setup-dialog{width:min(52rem,calc(100vw - 3rem));max-width:calc(100vw - 3rem);max-height:calc(100vh - 3rem);padding:0;border:0;border-radius:1rem;box-shadow:0 1.5rem 4rem rgba(1,81,119,.28)}.activecampaign-setup-dialog::backdrop{background:rgba(0,27,45,.58)}.activecampaign-setup-panel{width:100%;box-sizing:border-box;padding:1.5rem;max-height:calc(100vh - 3rem);overflow:auto}.activecampaign-setup-panel h2{margin:0 0 .5rem}.activecampaign-setup-panel h3{margin:1.35rem 0 .45rem;font-size:1.05rem}.activecampaign-setup-panel section:first-of-type h3{margin-top:1rem}.activecampaign-setup-panel ol,.activecampaign-setup-panel ul{margin:.35rem 0;padding-left:1.35rem;display:grid;gap:.35rem;line-height:1.45}.activecampaign-setup-panel code{padding:.1rem .3rem;border-radius:.25rem;background:#e2eef3;color:#003d5c}.activecampaign-setup-panel .help-text{line-height:1.45}@media(max-width:700px){.activecampaign-setup-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.activecampaign-setup-panel{padding:1rem;max-height:calc(100vh - 1rem)}}
.setup-step-details{margin:.8rem 0;padding:.65rem .8rem;border:1px solid #b9dce9;border-radius:.55rem;background:#f5fafc}.setup-step-details summary{cursor:pointer;font-weight:750;color:#00577f}.setup-step-details[open] summary{margin-bottom:.55rem}.setup-step-details ol{margin:0!important}
.setup-step-details h4{margin:1rem 0 .4rem;font-size:.98rem}.setup-step-details h4:first-of-type{margin-top:.35rem}.email-template-example{margin:.65rem 0;padding:.85rem 1rem;border-left:4px solid var(--brand-green,#78a83b);border-radius:.35rem;background:#fff;color:#263c49}.email-template-example p{margin:.45rem 0;line-height:1.45}.email-template-example strong{color:#003d5c}
.activecampaign-template-warning{margin:.7rem 0;padding:.85rem 1rem;border:1px solid #dfae35;border-left:5px solid #b7791f;border-radius:.5rem;background:#fff8e6;color:#4a3412}.activecampaign-template-warning p{margin:.5rem 0;line-height:1.45}.activecampaign-template-warning code{padding:.1rem .28rem;border-radius:.22rem;background:#fff;color:#633e00}
.activecampaign-field-result-list{display:grid;gap:.7rem;max-height:45vh;overflow:auto;padding:.1rem}.activecampaign-field-result{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid var(--border,#cddbe3);border-radius:.7rem;background:#fff}.activecampaign-field-result h3{margin:0 0 .55rem;font-size:1rem;overflow-wrap:anywhere}.activecampaign-field-result dl{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;margin:0}.activecampaign-field-result dl div{display:flex;gap:.3rem;align-items:baseline}.activecampaign-field-result dt{font-size:.8rem;font-weight:750;color:var(--muted,#52606d)}.activecampaign-field-result dd{margin:0;overflow-wrap:anywhere}.activecampaign-field-result code{padding:.1rem .28rem;border-radius:.22rem;background:#e8f1f5;color:#003d5c}@media(max-width:700px){.activecampaign-field-result{align-items:stretch;flex-direction:column}.activecampaign-field-result .button{align-self:flex-start}.activecampaign-field-result dl{display:grid;grid-template-columns:1fr;gap:.3rem}}

/* Invitation delivery drill-in: no horizontal data table or clipped dialog content. */
.invitation-deliverability-dialog{width:min(68rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}
.invitation-deliverability-dialog>.activecampaign-setup-panel{max-height:calc(100vh - 2rem);padding:1.25rem 1.5rem 1.5rem}
.invitation-deliverability-heading{position:sticky;top:-1.25rem;z-index:2;margin:0 -1.5rem 1rem;padding:1.25rem 1.5rem .75rem;background:#fff;border-bottom:1px solid var(--border,#cddbe3)}
.invitation-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem;margin:1rem 0}
.invitation-metric-grid .metric-card{min-width:0;padding:.8rem 1rem;border:1px solid var(--border,#cddbe3);border-radius:.65rem;background:#f7fbfd}
.invitation-contact-list{max-height:20rem;margin:1rem 0}
.invitation-activity-explanation{margin:1rem 0;padding:.85rem 1rem;border-left:4px solid var(--brand-green,#78a83b);border-radius:.45rem;background:#f5fafc}
.invitation-activity-explanation p{margin:0 0 .6rem}.invitation-activity-explanation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1.25rem;margin:0}.invitation-activity-explanation dt{font-size:.8rem;font-weight:750;color:var(--muted,#52606d)}.invitation-activity-explanation dd{margin:.15rem 0 0;overflow-wrap:anywhere}
.invitation-activity-events h4{margin:1.25rem 0 .6rem}.invitation-event-list{display:grid;gap:.6rem}.invitation-event{display:grid;grid-template-columns:1fr auto;gap:.35rem .75rem;padding:.8rem 1rem;border:1px solid var(--border,#cddbe3);border-radius:.6rem;background:#fff}.invitation-event div{display:grid;gap:.15rem}.invitation-event span,.invitation-event time{font-size:.9rem;color:var(--muted,#52606d)}.invitation-event time{text-align:right}.invitation-event p{grid-column:1/-1;margin:.15rem 0 0;overflow-wrap:anywhere}
@media(max-width:700px){.invitation-deliverability-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.invitation-deliverability-dialog>.activecampaign-setup-panel{max-height:calc(100vh - 1rem);padding:1rem}.invitation-deliverability-heading{top:-1rem;margin:0 -1rem .8rem;padding:1rem}.invitation-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.invitation-contact-list{max-height:none}.invitation-activity-explanation dl{grid-template-columns:1fr}.invitation-event{grid-template-columns:1fr}.invitation-event time{text-align:left}}

/* Modal fit standard: every administrative dialog keeps its controls and
   content inside the viewport. Long forms scroll inside the dialog; wide
   tables scroll only within their own table wrapper. */
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.75rem}
dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog){max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow:hidden}
dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog)>form,
dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog)>.dialog-panel{width:100%;max-width:none;box-sizing:border-box;max-height:calc(100vh - 5rem);overflow:auto;overscroll-behavior:contain}
dialog .section-heading-row>*,dialog .button-row{min-width:0}dialog .section-heading-row .button-row{justify-content:flex-end}dialog .table-scroll{max-width:100%;overflow-x:auto}dialog td,dialog th{overflow-wrap:anywhere}
.campaign-performance-dialog{width:min(72rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}
.campaign-performance-dialog>.activecampaign-setup-panel{width:100%;max-width:none;max-height:calc(100vh - 2rem);padding:1.5rem;overflow:auto}
.campaign-performance-dialog .outreach-overview-metrics{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}
@media(max-width:700px){dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog){max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog)>form,dialog:not(.landing-editor-dialog):not(.full-width-dialog):not(.audit-viewer-dialog)>.dialog-panel{max-height:calc(100vh - 3rem)}.campaign-performance-dialog{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.campaign-performance-dialog>.activecampaign-setup-panel{max-height:calc(100vh - 1rem);padding:1rem}.campaign-performance-dialog .section-heading-row{align-items:flex-start}.campaign-performance-dialog .section-heading-row .button-row{justify-content:flex-start}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Text inputs fill the add-program dialog; radio controls must retain their
   intrinsic width so their population labels remain visible. */
.program-add-dialog .additional-program-categories .option-card{display:flex;align-items:center;gap:.7rem;min-height:3rem;box-sizing:border-box}
.program-add-dialog .additional-program-categories .option-card input[type="radio"]{width:auto;flex:0 0 auto;margin:0}
.program-add-dialog .additional-program-categories .option-card span{display:block;flex:1;color:var(--ink)}

.previous-county-selection-dialog{width:min(44rem,calc(100vw - 2rem));border:0;border-radius:.8rem;box-shadow:0 1.25rem 3rem rgba(10,40,55,.28)}
.previous-county-selection-dialog::backdrop{background:rgba(20,28,36,.72)}
.previous-county-selection-dialog form{padding:1.25rem}.previous-county-selection-dialog [data-previous-county-groups]{display:grid;gap:.55rem;max-height:min(48vh,28rem);overflow:auto;margin:1rem 0}.previous-county-group small{display:block;margin-top:.2rem;color:#496576;line-height:1.35}.previous-county-group .check-row{align-items:flex-start}

/* ActiveCampaign list manager — guided list and CSV import workflow. */
.activecampaign-list-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;list-style:none;margin:1.25rem 0;padding:0;counter-reset:list-manager-step}.activecampaign-list-steps li{display:grid;gap:.2rem;padding:.9rem 1rem;border:1px solid var(--border,#cddbe3);border-radius:.7rem;background:#f5f9fc}.activecampaign-list-steps strong{color:#004d73}.activecampaign-list-steps span{font-size:.9rem;line-height:1.35;color:var(--muted,#526b7d)}.activecampaign-list-workflow-step{margin-top:1rem;padding:1.15rem;border:1px solid var(--border,#cddbe3);border-radius:.8rem;background:#fff}.activecampaign-list-workflow-step>h5{display:flex;align-items:center;gap:.55rem;margin:0 0 .8rem;font-size:1.05rem}.activecampaign-list-workflow-step>h5>span{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#005f8d;color:#fff;font-size:.9rem}.activecampaign-list-workflow-step h6{margin:0 0 .3rem;font-size:1rem}.activecampaign-csv-dropzone{display:grid;justify-items:center;gap:.3rem;min-height:8rem;margin:.65rem 0;padding:1.25rem;border:2px dashed #5d9bb8;border-radius:.7rem;background:#f5fbfe;color:#164b67;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease}.activecampaign-csv-dropzone:hover,.activecampaign-csv-dropzone:focus-visible,.activecampaign-csv-dropzone.is-dragging{border-color:#005f8d;background:#e6f5fb;outline:none}.activecampaign-csv-dropzone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.activecampaign-csv-dropzone strong{font-size:1rem}.activecampaign-csv-dropzone span{font-size:.9rem;color:var(--muted,#526b7d)}.activecampaign-list-workflow-step .status-banner{margin:0 0 1rem}@media(max-width:760px){.activecampaign-list-steps{grid-template-columns:1fr}.activecampaign-list-workflow-step{padding:1rem}}
