.postal-codes-page { background: radial-gradient(circle at 48% 8%, rgba(101, 64, 226, .2), transparent 29%), radial-gradient(circle at 88% 47%, rgba(38, 119, 221, .13), transparent 29%), linear-gradient(180deg, #020615, #04091a 68%, #06102a); }
.postal-page-content { width: min(1360px, calc(100% - 40px)); }
.postal-page-hero { padding-bottom: 24px; }
.postal-page-icon { color: #a78bfa; border-color: rgba(139, 105, 244, .42); background: linear-gradient(145deg, rgba(104, 70, 225, .22), rgba(33, 55, 132, .36)); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 0 36px rgba(112, 78, 235, .14); }
.postal-page-icon svg { width: 39px; height: 39px; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.postal-page-hero .eyebrow { color: #9b7df4; }
.postal-explorer { padding: 22px; border: 1px solid rgba(103, 118, 174, .23); border-radius: 18px; background: linear-gradient(145deg, rgba(14, 23, 47, .97), rgba(6, 13, 31, .98)); box-shadow: 0 28px 80px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.025); }
.postal-global-search { width: min(760px, 100%); margin: 0 auto 22px; }
.postal-global-search > label { display: block; margin-bottom: 8px; color: #dfe2f1; font-size: 12px; font-weight: 700; text-align: center; }
.postal-global-search > small { min-height: 18px; margin-top: 6px; display: block; color: #8d95ad; font-size: 10px; text-align: center; }
.postal-search-field { height: 44px; padding: 0 13px; display: flex; align-items: center; gap: 10px; border: 1px solid rgba(92, 112, 166, .32); border-radius: 11px; background: rgba(5, 13, 31, .85); transition: border-color .18s ease, box-shadow .18s ease; }
.postal-search-field:focus-within { border-color: rgba(139, 103, 238, .78); box-shadow: 0 0 0 3px rgba(124, 84, 230, .1), 0 0 24px rgba(102, 73, 220, .08); }
.postal-search-field svg { width: 17px; height: 17px; flex: 0 0 17px; color: #74809e; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.postal-search-field input { width: 100%; min-width: 0; color: #eef0fa; border: 0; outline: 0; background: transparent; font-size: 12px; }
.postal-search-field input::placeholder { color: #6f788f; }
.postal-search-field input:disabled { opacity: .48; cursor: not-allowed; }
.postal-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: 24px; align-items: start; }
.postal-map-panel { min-width: 0; padding: 4px 14px 15px; }
.postal-map-stage { width: min(100%, 500px); margin: 0 auto; position: relative; }
.postal-map { width: 100%; height: auto; display: block; overflow: visible; }
.postal-district { fill: rgba(48, 63, 94, .98); stroke: #090e1e; stroke-width: 1.45; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .16s ease, filter .16s ease; }
.postal-district:focus { outline: none !important; }
.postal-district:hover, .postal-district:focus-visible { fill: rgba(86, 74, 165, .92); outline: none !important; filter: drop-shadow(0 0 5px rgba(133, 102, 236, .38)); }
.postal-district.is-selected { fill: #7857dd; filter: drop-shadow(0 0 7px rgba(133, 99, 240, .38)); }
.postal-map-label { fill: #eef0fa; stroke: #090e1e; stroke-width: 3.4px; stroke-linejoin: round; paint-order: stroke; text-anchor: middle; pointer-events: none; font-size: 11px; font-weight: 750; }
.postal-map-label.is-selected { fill: #fff; stroke: #6544c6; }
.postal-map-tooltip { padding: 6px 9px; position: absolute; z-index: 3; transform: translate(-50%, calc(-100% - 10px)); color: #f5f1ff; border: 1px solid rgba(150, 116, 246, .48); border-radius: 8px; background: rgba(13, 15, 35, .96); box-shadow: 0 10px 25px rgba(0,0,0,.35); font-size: 10px; font-weight: 700; pointer-events: none; white-space: nowrap; }
.postal-map-hint { margin: 3px 0 0; display: flex; align-items: center; justify-content: center; gap: 7px; color: #7f89a1; font-size: 10px; }
.postal-map-hint svg { width: 14px; height: 14px; color: #8e70eb; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.postal-results-panel { min-width: 0; overflow: hidden; border: 1px solid rgba(97, 113, 164, .23); border-radius: 15px; background: rgba(11, 19, 38, .88); box-shadow: inset 0 1px 0 rgba(255,255,255,.02); }
.postal-results-heading { min-height: 75px; padding: 16px 18px 12px; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.postal-results-heading span { color: #7d859c; font-size: 9px; }
.postal-results-heading h2 { margin: 4px 0 0; color: #f2f3fa; font-size: 21px; line-height: 1.1; }
.postal-results-heading strong { padding: 6px 10px; color: #9fc6ff; border: 1px solid rgba(73, 130, 224, .28); border-radius: 999px; background: rgba(37, 91, 178, .13); font-size: 9px; white-space: nowrap; }
.postal-column-heading, .postal-result-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.postal-column-heading { padding: 8px 18px; color: #7d859c; border-top: 1px solid rgba(98, 113, 158, .15); border-bottom: 1px solid rgba(98, 113, 158, .15); background: rgba(5, 12, 28, .45); font-size: 9px; }
.postal-column-heading span:last-child { text-align: right; }
.postal-result-list { max-height: 500px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #596278 #11182b; scrollbar-width: thin; }
.postal-result-row { width: 100%; min-height: 42px; padding: 8px 18px; color: #dfe2ec; border: 0; border-bottom: 1px solid rgba(102, 116, 158, .15); background: transparent; text-align: left; cursor: copy; transition: color .15s ease, background .15s ease; }
.postal-result-row:hover, .postal-result-row:focus-visible { color: #fff; outline: 0; background: linear-gradient(90deg, rgba(101, 70, 209, .2), rgba(40, 81, 161, .12)); }
.postal-result-row > span { min-width: 0; font-size: 12px; }
.postal-result-row > span small { margin-top: 3px; display: block; color: #7d89a7; font-size: 8px; }
.postal-result-row code { color: #f0f1f8; font-family: inherit; font-size: 12px; font-weight: 800; font-variant-numeric: tabular-nums; }
.postal-empty { min-height: 120px; margin: 0; display: grid; place-items: center; color: #778097; font-size: 11px; }
.postal-within-search { padding: 12px 14px 0; border-top: 1px solid rgba(100, 115, 160, .14); }
.postal-within-search .postal-search-field { height: 39px; }
.postal-copy-status { min-height: 19px; padding-top: 5px; display: block; color: #8fd9b0; font-size: 9px; text-align: center; }
.postal-source { margin: 0; padding: 3px 17px 14px; color: #697287; font-size: 8px; }
.postal-copy-helper { position: fixed; opacity: 0; pointer-events: none; }
@media (max-width: 980px) { .postal-page-content { width: min(100% - 28px, 820px); }.postal-layout { grid-template-columns: 1fr; }.postal-map-stage { width: min(100%, 430px); }.postal-results-panel { width: 100%; }.postal-result-list { max-height: 430px; } }
@media (max-width: 560px) { .postal-page-content { width: calc(100% - 20px); }.postal-page-hero { padding-bottom: 20px; }.postal-explorer { padding: 14px; border-radius: 14px; }.postal-global-search { margin-bottom: 13px; }.postal-global-search > label { text-align: left; }.postal-layout { gap: 14px; }.postal-map-panel { padding: 0 2px 8px; }.postal-map-label { font-size: 10px; stroke-width: 3px; }.postal-results-heading { padding-left: 14px; padding-right: 14px; }.postal-results-heading h2 { font-size: 18px; }.postal-column-heading, .postal-result-row { padding-left: 14px; padding-right: 14px; }.postal-result-list { max-height: 390px; }.postal-source { padding-left: 14px; padding-right: 14px; } }
