/* Scoped visual refinements for the jobs visual preview. */
.intro{margin:0 0 9px;padding:25px 30px 26px}
.intro .eyebrow{margin-bottom:10px;padding:5px 11px;font-size:.65rem}
.intro h1{font-size:clamp(1.8rem,3vw,2.75rem)}
.intro p{max-width:760px;margin:8px auto 0;font-size:.9rem;line-height:1.4}
.demo-banner{display:flex;align-items:center;gap:8px;margin:0 0 15px;padding:0;color:var(--muted);font-size:.76rem}
.demo-banner strong{color:var(--green);font-size:.71rem;letter-spacing:.03em}
.controls{grid-template-columns:minmax(180px,1.15fr) minmax(160px,1fr) minmax(125px,.78fr) minmax(145px,.86fr) auto minmax(132px,.75fr);gap:8px;margin-bottom:13px}
.control,.pay-toggle{height:44px;border-radius:11px}
.control input,.control select{font-size:.82rem}
.field-icon{font-size:22px;line-height:1;color:var(--green)}
.pay-toggle{padding:0 10px;font-size:.78rem}
.results-head{margin-bottom:10px}
.results-head p{line-height:1.3}
#clear-area{border:0;background:transparent;color:var(--green);font-size:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.workspace{height:min(700px,calc(100dvh - 285px));min-height:430px}
.job-card{padding:15px 16px;margin-bottom:8px}
.job-card h3{font-size:1.03rem}
.job-card .card-top h3{min-width:0}
.check-badge{display:inline-flex;align-items:center;gap:4px;flex:none;border:1px solid currentColor;border-radius:999px;padding:3px 6px;font-size:.58rem;font-weight:800;line-height:1.1;white-space:nowrap;color:#1d7540;background:#e0f8e1}
.check-badge>span:first-child{display:grid;place-items:center;width:12px;height:12px;border-radius:50%;font-size:.67rem;line-height:1}
.check-badge-limited{color:#665414;background:#fff4c9}
.check-badge-unknown{color:#59645b;background:#eef1e9}
.job-card:nth-child(4n + 1) .check-badge-checked{color:#c8f759;background:#23442d}
.job-card:nth-child(4n + 1) .check-badge-limited{color:#ffe595;background:#4b3e18}
.detail-check{margin-top:14px}
@media(max-width:460px){.check-badge-text{display:none}.check-badge{padding:4px}.check-badge>span:first-child{width:13px;height:13px}}
.card-location{margin:5px 0 8px;color:var(--green);font-size:.79rem;font-weight:750}
.job-card .facts{margin:0 0 8px}
.job-card .fact{padding:4px 7px;font-size:.69rem}
.job-card .card-foot{margin-top:8px;align-items:center}
.job-card .agency{margin:0;font-size:.68rem;line-height:1.25}
.agency-mark{position:relative;flex:none;overflow:hidden;width:20px;height:20px;border-radius:50%;background:#47704c}
.agency-mark img{position:absolute;width:54px;max-width:none;left:-17px;top:1px}
.view-detail{flex:none;font-size:.72rem}
.posted{margin:7px 0 0 28px;color:var(--subtle);font-size:.68rem}
.map-panel{box-shadow:none}
.map-selection{position:absolute;left:14px;right:14px;bottom:14px;z-index:700;max-width:400px;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 40px rgba(18,46,29,.17);font:500 12px/1.45 Inter,Arial,sans-serif}
.map-selection[hidden]{display:none}
.selection-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:var(--muted);font-size:23px;line-height:1}
.selection-eyebrow{margin-bottom:4px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.map-selection strong{display:block;padding-right:20px;font:800 15px/1.3 Manrope,Arial,sans-serif}
.map-selection ul{margin:8px 0 10px;padding-left:18px;color:var(--muted)}
.map-selection li+li{margin-top:3px}
.selection-action{border:0;border-radius:999px;padding:9px 14px;background:var(--ink);color:var(--cream);font-size:11px;font-weight:800}
.location-note{margin:10px 0 0;color:var(--subtle);font-size:.72rem}
@media(max-width:1050px){
  .controls{grid-template-columns:repeat(3,minmax(0,1fr))}
  .control:first-child{grid-column:auto}
}
@media(max-width:680px){
  .intro{margin:0 0 8px;padding:17px 15px 19px}
  .intro .eyebrow{margin-bottom:8px;font-size:.6rem}
  .intro h1{font-size:clamp(1.55rem,6.7vw,2.15rem)}
  .intro p{margin-top:7px;font-size:.78rem}
  .demo-banner{display:block;margin-bottom:10px;font-size:.69rem;line-height:1.35}
  .demo-banner .demo-dot{display:inline-block;margin-right:4px}
  .demo-banner strong{margin-right:5px}
  .controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}
  .control,.pay-toggle{height:41px}
  .controls .control:first-child,.location-control{grid-column:1/-1}
  .control input,.control select{font-size:.77rem}
  .pay-toggle{justify-content:flex-start}
  .results-head{align-items:center;margin-bottom:8px}
  .results-head h2{font-size:.97rem}
  .results-head p{font-size:.69rem}
  .workspace[data-view="map"] .map-panel{height:calc(100dvh - 345px);min-height:335px}
  .job-card{padding:13px 14px}
  .map-selection{left:9px;right:9px;bottom:9px;max-width:none;padding:13px 15px}
  .location-note{margin:9px 0 0;font-size:.67rem}
}
