
.fswch-page{min-height:60vh}
.fswch-hero-icons{display:grid;grid-template-columns:82px 108px 82px;gap:10px;align-items:center;justify-content:center}
.fswch-hero-icons>*{display:grid;place-items:center;width:82px;height:82px;border-radius:22px;background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswch-hero-icons>*:nth-child(2){width:108px;height:108px;background:var(--fsw-warm-ivory)}

.fswch-live-region:empty{display:none}
.fswch-live-region{margin-top:14px;padding:13px 15px;border-radius:13px;background:var(--fsw-warm-ivory)}
.fswch-live-region.is-success{border-left:5px solid var(--fsw-safe)}
.fswch-live-region.is-error{border-left:5px solid var(--fsw-critical)}

.fswch-search-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:end;padding:26px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),rgba(82,183,136,.12))}
.fswch-search-panel h2{margin:0 0 7px}
.fswch-search-panel p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}
.fswch-search-control{display:grid;grid-template-columns:1fr auto;gap:8px}
.fswch-field{display:grid;gap:6px;font-weight:700}
.fswch-field input,.fswch-field select,.fswch-field textarea{width:100%}
.fswch-field--wide{grid-column:1/-1}

.fswch-directory-results{margin-top:26px}
.fswch-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}
.fswch-section-heading h2{margin:0}
.fswch-updated{color:var(--fsw-muted);font-weight:700}

.fswch-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fswch-hub-card{display:grid;grid-template-columns:66px 1fr;gap:14px;padding:19px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswch-hub-card__icon{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:var(--fsw-warm-ivory)}
.fswch-hub-card h3{margin:0 0 6px}
.fswch-hub-card p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}
.fswch-hub-card__meta{display:flex;gap:5px 12px;flex-wrap:wrap;margin:12px 0}
.fswch-hub-card__meta span{font-size:.82rem;color:var(--fsw-muted)}
.fswch-directory-boundary,.fswch-critical-boundary,.fswch-safety-boundary{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;margin-top:22px;padding:17px;border-left:6px solid var(--fsw-danger);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswch-directory-boundary strong,.fswch-directory-boundary span,.fswch-critical-boundary strong,.fswch-critical-boundary span{display:block}
.fswch-directory-boundary span,.fswch-critical-boundary span{margin-top:3px;color:var(--fsw-muted)}

.fswch-hub{display:grid;gap:28px}
.fswch-status-section,.fswch-official-section,.fswch-context-section,.fswch-resource-section,.fswch-verification-section,.fswch-correction-section{scroll-margin-top:110px}
.fswch-condition-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.fswch-condition-card{display:grid;grid-template-columns:46px 1fr;gap:10px;min-width:0;padding:14px;border:1px solid var(--fsw-border);border-top:5px solid var(--fsw-safe);border-radius:15px;background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswch-condition-card[data-level="moderate"],.fswch-condition-card[data-level="watch"]{border-top-color:var(--fsw-warning)}
.fswch-condition-card[data-level="unhealthy"],.fswch-condition-card[data-level="danger"],.fswch-condition-card[data-level="hazard"]{border-top-color:var(--fsw-critical)}
.fswch-condition-card span,.fswch-condition-card strong,.fswch-condition-card small{display:block}
.fswch-condition-card span{font-size:.82rem;color:var(--fsw-muted)}
.fswch-condition-card strong{margin-top:3px;color:var(--fsw-primary-forest);overflow-wrap:anywhere}
.fswch-condition-card small{margin-top:5px;color:var(--fsw-muted);line-height:1.35}
.fswch-scope-note{margin:10px 0 0;color:var(--fsw-muted);font-size:.9rem}

.fswch-official-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.fswch-official-card{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:15px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory)}
.fswch-official-card h3{margin:0 0 5px;font-size:1rem}
.fswch-official-card p{margin:0;color:var(--fsw-muted);font-size:.9rem}
.fswch-official-card a{display:inline-block;margin-top:10px;color:var(--fsw-primary-forest);font-weight:700}

.fswch-prose{max-width:82ch;padding:22px;border-left:6px solid var(--fsw-fresh-leaf);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswch-prose p:first-child{margin-top:0}
.fswch-prose p:last-child{margin-bottom:0}

.fswch-view-actions{display:flex;gap:8px;flex-wrap:wrap}
.fswch-resource-filters{display:grid;grid-template-columns:1.3fr 1fr .8fr .65fr auto auto;gap:10px;align-items:end;padding:16px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory)}
.fswch-resource-summary{display:flex;justify-content:space-between;gap:18px;margin:14px 0;color:var(--fsw-muted)}
.fswch-resource-summary strong{color:var(--fsw-primary-forest)}
.fswch-resource-list{display:grid;gap:11px}

.fswch-resource-card{display:grid;grid-template-columns:62px 1fr;gap:14px;padding:17px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswch-resource-card__icon{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;background:var(--fsw-warm-ivory)}
.fswch-resource-card__heading{display:flex;justify-content:space-between;align-items:start;gap:16px}
.fswch-resource-card h3{margin:0}
.fswch-resource-card__body>p{margin:6px 0;color:var(--fsw-muted)}
.fswch-address{font-weight:700;color:var(--fsw-charcoal)!important}
.fswch-verification{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:rgba(42,157,143,.13);color:var(--fsw-primary-forest);font-size:.78rem;font-weight:700}
.fswch-resource-card__details{display:grid;gap:4px;margin-top:9px}
.fswch-resource-card__details span{color:var(--fsw-muted);font-size:.88rem}
.fswch-resource-card__details strong{color:var(--fsw-charcoal)}
.fswch-resource-card__actions{display:flex;gap:8px 14px;flex-wrap:wrap;margin:12px 0 7px}
.fswch-resource-card__actions a,.fswch-resource-card__actions button{border:0;background:transparent;padding:0;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}
.fswch-resource-card__actions button{color:var(--fsw-muted)}
.fswch-resource-card small{color:var(--fsw-muted)}

.fswch-empty,.fswch-loading{display:flex;align-items:center;gap:14px;padding:22px;border:1px dashed var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory)}
.fswch-empty strong{display:block;color:var(--fsw-primary-forest)}
.fswch-empty p{margin:4px 0 0;color:var(--fsw-muted)}
.fswch-loading>span{width:18px;height:18px;border-radius:50%;background:var(--fsw-fresh-leaf);animation:fswch-pulse 1.2s ease-in-out infinite}
@keyframes fswch-pulse{50%{opacity:.35;transform:scale(.8)}}

.fswch-map-panel[hidden]{display:none}
.fswch-map-panel{margin-top:16px;padding:14px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory)}
.fswch-map{height:420px;border-radius:12px;background:var(--fsw-smoke)}
.fswch-map-panel p{margin:8px 2px 0;color:var(--fsw-muted);font-size:.82rem}

.fswch-actions-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fswch-actions-strip>a{display:grid;grid-template-columns:46px 1fr;gap:10px;align-items:center;padding:15px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory);text-decoration:none}
.fswch-actions-strip strong,.fswch-actions-strip small{display:block}
.fswch-actions-strip strong{color:var(--fsw-primary-forest)}
.fswch-actions-strip small{margin-top:3px;color:var(--fsw-muted)}

.fswch-verification-section,.fswch-correction-section{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:22px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-warm-ivory)}
.fswch-verification-section h2,.fswch-correction-section h2{margin:0 0 5px}
.fswch-verification-section p:not(.fsw-kicker),.fswch-correction-section p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}
.fswch-quality-badge{display:grid;place-items:center;min-width:150px;padding:14px;border:2px solid var(--fsw-safe);border-radius:16px;background:var(--fsw-surface)}
.fswch-quality-badge[data-status="needs_review"]{border-color:var(--fsw-warning)}
.fswch-quality-badge strong{font-size:1.4rem;color:var(--fsw-primary-forest)}
.fswch-quality-badge span{font-size:.8rem;color:var(--fsw-muted);text-align:center}

.fswch-correction-dialog[hidden]{display:none}
.fswch-correction-dialog{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(20,38,30,.64);overflow:auto}
.fswch-correction-dialog__panel{width:min(850px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:var(--fsw-radius-lg);background:var(--fsw-surface);box-shadow:0 24px 60px rgba(0,0,0,.25)}
.fswch-dialog-heading{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:20px;padding:21px 24px;border-bottom:1px solid var(--fsw-border);background:var(--fsw-warm-ivory)}
.fswch-dialog-heading h2{margin:0}
.fswch-dialog-heading button{border:0;background:transparent;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}
.fswch-correction-dialog form{padding:24px}
.fswch-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.fswch-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.fswch-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}

.fswch-notice{padding:18px 20px;border-left:6px solid var(--fsw-warning);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswch-notice p{margin:4px 0 0;color:var(--fsw-muted)}

@media(max-width:1180px){
  .fswch-hub-grid{grid-template-columns:1fr 1fr}
  .fswch-condition-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fswch-official-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fswch-resource-filters{grid-template-columns:1fr 1fr 1fr}
  .fswch-resource-filters .fsw-button{width:100%}
}
@media(max-width:820px){
  .fswch-search-panel{grid-template-columns:1fr}
  .fswch-hub-grid{grid-template-columns:1fr}
  .fswch-official-grid{grid-template-columns:1fr 1fr}
  .fswch-actions-strip{grid-template-columns:1fr}
  .fswch-verification-section,.fswch-correction-section{display:grid}
  .fswch-quality-badge{justify-self:start}
}
@media(max-width:620px){
  .fswch-hero-icons{grid-template-columns:68px 88px 68px}
  .fswch-hero-icons>*{width:68px;height:68px}
  .fswch-hero-icons>*:nth-child(2){width:88px;height:88px}
  .fswch-search-control{grid-template-columns:1fr}
  .fswch-search-control .fsw-button{width:100%}
  .fswch-section-heading{display:grid;align-items:start}
  .fswch-view-actions{display:grid}
  .fswch-view-actions .fsw-button{width:100%}
  .fswch-condition-grid,.fswch-official-grid,.fswch-resource-filters,.fswch-form-grid{grid-template-columns:1fr}
  .fswch-resource-summary{display:grid}
  .fswch-resource-card{grid-template-columns:52px 1fr}
  .fswch-resource-card__icon{width:52px;height:52px}
  .fswch-resource-card__heading{display:grid}
  .fswch-verification{justify-self:start}
  .fswch-directory-boundary,.fswch-critical-boundary{grid-template-columns:1fr}
  .fswch-correction-dialog{padding:0}
  .fswch-correction-dialog__panel{min-height:100vh;max-height:none;border-radius:0}
  .fswch-dialog-heading,.fswch-correction-dialog form{padding-left:18px;padding-right:18px}
  .fswch-dialog-actions{display:grid}
  .fswch-dialog-actions .fsw-button{width:100%}
  .fswch-map{height:340px}
}
@media(prefers-reduced-motion:reduce){
  .fswch-loading>span{animation:none}
}
