.szf-main{display:grid;gap:var(--nznm-space-6)}
.szf-tabs{display:grid;grid-template-columns:1fr 1fr;gap:var(--nznm-space-2);margin-bottom:var(--nznm-space-6);padding:4px;background:var(--nznm-brand-subtle);border-radius:12px}
.szf-tab{min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--nznm-brand-700);font:600 1rem/1.35 var(--nznm-font);cursor:pointer}
.szf-tab:hover{background:#fff}
.szf-tab.is-active{color:var(--nznm-text-on-dark);background:linear-gradient(135deg,var(--nznm-button-primary-start) 0%,var(--nznm-button-primary-end) 100%)}
.szf-status{margin:0}
.szf-address-line{margin:0 0 var(--nznm-space-5)}
.szf-result-school+.szf-result-school{border-top:1px solid var(--nznm-border-soft);margin-top:var(--nznm-space-5);padding-top:var(--nznm-space-5)}
.szf-school-line,.szf-zone-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.szf-school-name{font-weight:700;color:var(--nznm-text-heading);font-size:1.05rem;line-height:1.35}
.szf-school-inline-meta{color:var(--nznm-text-secondary);font-size:.92rem;line-height:1.35}
.szf-zone-section+.szf-zone-section{margin-top:var(--nznm-space-6);padding-top:var(--nznm-space-5);border-top:1px solid var(--nznm-border-soft)}
.szf-zone-section-title{margin:0 0 var(--nznm-space-2);font-size:1rem;color:var(--nznm-text-heading)}
.szf-zone-section-note{margin:0 0 var(--nznm-space-4);color:var(--nznm-text-secondary);font-size:.9rem}
.szf-zone-list{display:grid;gap:10px}
.szf-zone-row{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:start;padding:12px 14px;border:1px solid var(--nznm-border);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s ease, box-shadow .18s ease, opacity .18s ease}
.szf-zone-row:hover{border-color:var(--nznm-brand-500);box-shadow:var(--nznm-shadow-card)}
.szf-zone-row.is-muted{opacity:.72}
.szf-zone-checkbox{align-self:start;margin:2px 0 0!important;width:18px;height:18px}
.szf-zone-swatch{display:block;align-self:start;width:16px;height:16px;margin-top:3px;border-radius:999px;border:3px solid var(--szf-swatch,#2563eb);background:color-mix(in srgb, var(--szf-swatch,#2563eb) 22%, white)}
.szf-map{width:100%;min-height:clamp(560px,68vh,880px);margin-top:var(--nznm-space-6);border:1px solid var(--nznm-border-soft);border-radius:12px;overflow:hidden;background:#eef3f5}
.szf-boundary-note{margin-top:var(--nznm-space-5)}
.szf-disclaimer{margin:var(--nznm-space-5) 0 0;color:var(--nznm-text-secondary);font-size:.875rem}
.szf-suggestions{position:absolute;z-index:1000;top:100%;left:0;right:0;margin-top:4px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--nznm-border);border-radius:8px;box-shadow:var(--nznm-shadow-card)}
.szf-suggestion{display:block;width:100%;min-height:48px;padding:10px 12px;text-align:left;border:0;border-bottom:1px solid var(--nznm-border-soft);background:#fff;color:var(--nznm-text-primary);font:inherit;cursor:pointer}
.szf-suggestion:last-child{border-bottom:0}
.szf-suggestion:hover,.szf-suggestion[aria-selected="true"]{background:var(--nznm-brand-subtle)}
.szf-suggestion strong{display:block;color:var(--nznm-text-heading)}
.szf-suggestion small{color:var(--nznm-text-secondary)}
.szf-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--nznm-space-4);margin-bottom:var(--nznm-space-5)}
.szf-section-heading-row .nznm-section-title{margin:0}
.szf-future-badge{padding:4px 9px;border-radius:var(--nznm-radius-pill);border:1px solid var(--nznm-border-soft);color:var(--nznm-text-secondary);background:var(--nznm-brand-subtle);font-size:.75rem;font-weight:600}
.szf-recent-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--nznm-space-2)}
.szf-recent-item{display:grid;grid-template-columns:1fr auto;gap:var(--nznm-space-2);align-items:center}
.szf-recent-reuse{width:100%;min-height:44px;padding:9px 12px;text-align:left;background:#fff;border:1px solid var(--nznm-border);border-radius:8px;color:var(--nznm-text-primary);font:inherit;cursor:pointer}
.szf-recent-reuse:hover{background:var(--nznm-brand-subtle)}
.szf-recent-reuse small{display:block;color:var(--nznm-text-secondary)}
.szf-recent-delete{width:44px;height:44px;border:1px solid var(--nznm-border);border-radius:8px;color:var(--nznm-error-text);background:#fff;font-size:1.15rem;cursor:pointer}
@media(max-width:920px){.szf-map{min-height:520px}}
@media(max-width:620px){.szf-section-heading-row{align-items:flex-start}.szf-zone-row{grid-template-columns:auto auto 1fr;padding:10px 12px}.szf-school-name{font-size:1rem}.szf-school-inline-meta{font-size:.86rem}.szf-map{min-height:440px}}

/* v0.9.8-alpha */
.szf-autocomplete-wrap{position:relative}
.szf-address-suggestions{z-index:1100}
.szf-vector-pin{filter:drop-shadow(0 3px 2px rgba(15,23,42,.35))}
.szf-zone-text{display:grid;gap:4px;min-width:0}
.szf-zone-scheme{display:block;color:var(--nznm-text-secondary);font-size:.82rem;line-height:1.45}
.szf-zone-section--other{margin-top:var(--nznm-space-6);padding-top:var(--nznm-space-5);border-top:1px solid var(--nznm-border-soft)}
.szf-zone-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:9px 12px;border:1px solid var(--nznm-border);border-radius:10px;background:var(--nznm-brand-subtle);color:var(--nznm-text-heading);font-weight:700;cursor:pointer;list-style:none}
.szf-zone-summary::-webkit-details-marker{display:none}
.szf-zone-summary::after{content:'＋';font-size:1.15rem;line-height:1;color:var(--nznm-brand-700)}
.szf-zone-section--other[open] .szf-zone-summary::after{content:'−'}
.szf-zone-count{margin-left:auto;padding:3px 8px;border-radius:999px;background:#fff;border:1px solid var(--nznm-border-soft);font-size:.82rem;color:var(--nznm-text-secondary);white-space:nowrap}
.szf-zone-collapsible{padding-top:var(--nznm-space-4)}


/* v0.9.13-alpha: final Design System/accessibility alignment. */
.szf-zone-summary:focus-visible{outline:3px solid var(--nznm-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--nznm-focus-ring)}
@media(min-width:761px){
  /* Slightly widen the tool beyond a narrow article column without breaking out to viewport width. */
  .szf-tool{width:min(var(--nznm-container-max),calc(100% + 64px),calc(100vw - 48px));max-width:none;margin-left:50%;margin-right:0;transform:translateX(-50%)}
}

/* v0.9.15-alpha: public-release visual alignment. */
.szf-tool .nznm-section-title{
  margin-bottom:var(--nznm-space-4)!important;
  color:var(--nznm-brand-700)!important;
  font-size:1.08rem!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.szf-tool .szf-section-heading-row .nznm-section-title{margin-bottom:0!important}
.szf-tool .szf-zone-section-title{
  margin:0 0 var(--nznm-space-2)!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--nznm-brand-700)!important;
  font-family:var(--nznm-font)!important;
  font-size:1rem!important;
  line-height:1.35!important;
  font-weight:700!important;
}
.szf-tool .szf-zone-section-title::before,.szf-tool .szf-zone-section-title::after{content:none!important;display:none!important}

/* v0.9.16-alpha: compact Lovable-style search surface. */
.szf-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
}
.szf-search-card{padding:var(--nznm-space-5)}
.szf-tabs{
  gap:0;margin-bottom:var(--nznm-space-4);padding:4px;
  background:#f0f4f8;border:1px solid var(--nznm-border-soft);border-radius:12px
}
.szf-tab{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:42px;padding:8px 14px;border:1px solid transparent;border-radius:9px;
  background:transparent;color:var(--nznm-text-secondary);font:600 .95rem/1.35 var(--nznm-font)
}
.szf-tab:hover{background:rgba(255,255,255,.72);color:var(--nznm-text-primary)}
.szf-tab.is-active{
  color:var(--nznm-text-primary);background:#fff;border-color:var(--nznm-border-soft);
  box-shadow:0 1px 4px rgba(11,63,97,.10)
}
.szf-ui-icon{
  flex:0 0 auto;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round
}
.szf-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.szf-search-field{min-width:0;margin:0}
.szf-search-field input{min-height:48px;padding:11px 14px;font-size:1rem}
.szf-search-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-width:190px;min-height:48px;white-space:nowrap
}
@media(max-width:620px){
  .szf-search-card{padding:var(--nznm-space-4)}
  .szf-tab{padding:8px 9px;font-size:.9rem}
  .szf-ui-icon{width:17px;height:17px}
  .szf-search-form{grid-template-columns:1fr;gap:10px}
  .szf-search-submit{width:100%;min-width:0}
}


/* v0.9.17-alpha: public footer readability refinement. */
.szf-tool .nznm-footer{font-size:.95rem;line-height:1.72}
.szf-tool .nznm-footer p{margin-bottom:10px}
.szf-tool .nznm-footer__small{font-size:.925rem;line-height:1.72}
@media(max-width:620px){
  .szf-tool .nznm-footer{font-size:.925rem}
  .szf-tool .nznm-footer__small{font-size:.9rem}
}

/* v0.9.18-alpha: constrain desktop widening to the host content column + 64px. */
