

.lx-hx, .lx-map-page { --hmo: var(--licensing); --hmo-deep: var(--licensing); --hmo-tint: var(--licensing-tint); --hmo-soft: #7fb093; }

.lx-map-page { --lx-app: #d97706; --lx-app-deep: #a16207; --lx-app-tint: #fdf3e2; }
.lx-hx { --c-strong: var(--licensing); --c-block: #5f8f73; --c-wash: var(--licensing-tint); --c-tab: #d6e7dc; }

.lx-row { cursor: pointer; }
a.lx-title { color: var(--text); text-decoration: none; }
a.lx-title:hover { color: var(--brand-dark); text-decoration: underline; }
.lx-row.is-active { background: var(--filter-tint); }   
.lx-row-act { display: flex; padding-top: 2px; }

.lx-view.app-card-btn-primary { background: #1d4d33; border-color: #1d4d33; color: #fff; }
.lx-view.app-card-btn-primary:hover { background: #143a26; border-color: #143a26; }
.lx-view:focus-visible { outline: 2px solid #1d4d33; outline-offset: 2px; }

.lx-tico { width: 15px; height: 15px; flex: none; color: var(--licensing); }
.lx-tico.lx-tico-app { color: var(--lx-app-deep, #a16207); }

.lx-sheet { position: absolute; left: 8px; right: 8px; bottom: 8px; z-index: 6; max-height: 60%; overflow: auto; background: var(--card-bg); border-radius: 14px; box-shadow: 0 8px 30px rgba(0,0,0,.18); padding: 4px 12px; }
.lx-sheet[hidden] { display: none; }
.lx-sheet .lx-row { background: none; box-shadow: none; }
.lx-sheet-rows { list-style: none; margin: 0; padding: 0; }
.lx-sheet-x { position: absolute; top: 8px; right: 8px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: var(--text-secondary); cursor: pointer; }

.lx-mi { display: inline-flex; align-items: center; gap: 8px; }
.lx-row-sub { font-size: 14px; line-height: 1.4; color: var(--text-secondary); overflow-wrap: anywhere; }
.lx-map .hmp-row-in { min-width: 0; }
.lx-map .hmp-addr { overflow-wrap: anywhere; }

.lx-qf .hmp-qf-btn, .lx-qf.is-set .hmp-qf-btn { padding: 0 12px; font-weight: 600; }
.lx-qf:not(.is-set) .hmp-qf-btn { color: var(--text); }

.lx-opts { display: grid; }
.lx-opt { position: relative; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 32px; padding: 4px 0; font-size: 14.5px; color: var(--text-secondary); cursor: pointer; }
.lx-opt input { position: absolute; opacity: 0; width: 18px; height: 18px; margin: 0; cursor: pointer; }
.lx-box { width: 18px; height: 18px; border: 1.5px solid var(--border-strong); border-radius: 5px; background: var(--card-bg); }
.lx-opt input[type="radio"] + .lx-box { border-radius: 50%; }
.lx-opt input:checked + .lx-box { background: var(--filter-accent); border-color: var(--filter-accent); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 14px; background-position: center; background-repeat: no-repeat; }
.lx-opt input[type="radio"]:checked + .lx-box { background-image: none; box-shadow: inset 0 0 0 4px var(--card-bg); }
.lx-opt input:focus-visible + .lx-box { outline: 2px solid var(--brand-dark); outline-offset: 2px; }
.lx-opt input:checked ~ .lx-lab { color: var(--text); font-weight: 600; }
.lx-opt:hover .lx-lab { color: var(--text); }
.lx-n { font-size: 13px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.lx-opt.is-zero .lx-lab, .lx-opt.is-zero .lx-n { color: #a3adb9; }
.lx-more summary { display: inline-flex; align-items: center; min-height: 32px; font-size: 14px; font-weight: 600; color: var(--brand-dark); cursor: pointer; list-style: none; }
.lx-more summary::-webkit-details-marker { display: none; }
.lx-more summary::after { content: ""; width: 6px; height: 6px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.lx-more[open] summary { display: none; }
.lx-when { margin-top: 8px; display: grid; }

.lx-dates { display: flex; gap: 12px; margin-top: 12px; }
.lx-dates label { display: grid; gap: 4px; flex: 1; min-width: 0; font-size: 13px; color: var(--text-secondary); }
.lx-dates input { height: 38px; padding: 0 10px; border: 1px solid var(--border-hover); border-radius: var(--radius-sm); font: inherit; font-size: 14px; min-width: 0; }

.lx-key .k-open, .lx-key .k-decided, .lx-key .k-recorded, .lx-key .k-band, .lx-key .k-premises, .lx-key .k-both { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: -1px; border: 0; }
.lx-key .k-open { background: var(--lx-app); box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(15,20,25,.12); }
.lx-key .k-decided { background: #fff; box-shadow: inset 0 0 0 2px var(--lx-app); }
.lx-key .k-recorded { background: #94a3b8; box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(15,20,25,.12); }
.lx-key .k-premises { background: var(--licensing); box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(15,20,25,.12); }
.lx-key .k-both { width: 8px; height: 8px; margin: 0 8px 0 2px; background: var(--licensing); box-shadow: 0 0 0 1.5px #fff, 0 0 0 4px var(--lx-app); }
.lx-key span[hidden], .lx-key [hidden] { display: none; }
.lx-key .k-band-1 { background: #c7ddcf; }
.lx-key .k-band-2 { background: #7fb093; }
.lx-key .k-band-3 { background: #3f7d58; }
.lx-key .k-band-4 { background: #1d4d33; }
.lx-key .k-band-5 { background: #0b2417; }
.lx-key-h { width: 100%; margin: 0 0 4px; font-size: 12px; font-weight: 700; }
.lx-key-note { width: 100%; margin: 4px 0 0; font-size: 12px; color: var(--text-muted); }

.lx-layers .lx-layer { gap: 7px; padding: 0 12px; }
.lx-layers .lx-layer .lx-sw { width: 10px; height: 10px; flex: none; border-radius: 50%; box-shadow: inset 0 0 0 1.5px #9aa4b1; }
.lx-layers .lx-layer[aria-pressed="true"] { color: var(--text); }
.lx-layers .lx-layer[data-layer="apps"][aria-pressed="true"] { background: var(--lx-app-tint); }
.lx-layers .lx-layer[data-layer="apps"][aria-pressed="true"] .lx-sw { background: var(--lx-app); box-shadow: none; }
.lx-layers .lx-layer[data-layer="premises"][aria-pressed="true"] { background: var(--licensing-tint); }
.lx-layers .lx-layer[data-layer="premises"][aria-pressed="true"] .lx-sw { background: var(--licensing); box-shadow: none; }
.lx-for { font-weight: 500; color: var(--text-muted); }
.lx-for[hidden], .lx-opt[hidden], .hmp-tier[hidden], .lx-when[hidden], .hmp-tier-note span[hidden] { display: none; }
.lx-draw-btn { display: inline-flex; flex: none; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid var(--border-hover); border-radius: 999px; background: var(--card-bg); box-shadow: 0 1px 3px rgba(0,0,0,.08); font: 600 14px var(--font); cursor: pointer; color: var(--text); white-space: nowrap; }
.lx-draw-btn[aria-pressed="true"] { border-color: var(--filter-accent); color: var(--filter-accent); }

@media (max-width: 1023px) {
}
@media (max-width: 767px) {
  .lx-draw-btn { display: none; }   
  .lx-dates { flex-direction: column; }
  .lx-opt { min-height: 44px; font-size: 16px; }
}

.lx-hx { padding-bottom: 128px; }   
.lx-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; height: 64px; margin-top: 32px; background: var(--card-bg);
  border: 1px solid var(--border-hover); border-radius: 14px; box-shadow: var(--shadow-sm); }
.lx-search { position: relative; }
.lx-search .search-autocomplete { top: calc(100% + 4px); left: 0; right: 0; z-index: 20; border-top: 1px solid var(--border); border-radius: 12px; }
.lxe-hero:has(.search-autocomplete.open) { position: relative; z-index: 5; }
.lx-search:focus-within { border-color: var(--brand-dark); box-shadow: 0 0 0 3px rgba(13,148,136,.15); }
.lx-q { position: relative; display: flex; align-items: center; min-width: 0; }
.lx-q svg { position: absolute; left: 20px; width: 22px; height: 22px; fill: none; stroke: var(--text-muted); stroke-width: 2; stroke-linecap: round; pointer-events: none; }
.lx-q input { width: 100%; height: 100%; padding: 0 16px 0 56px; font: 400 18px var(--font); color: var(--text); background: transparent; border: 0; border-radius: 14px 0 0 14px; outline: none; }
.lx-q input::placeholder { color: var(--text-muted); }
.lx-search button { margin: 8px; padding: 0 32px; font: 700 16px var(--font); color: #fff; background: var(--brand-dark); border: 0; border-radius: 10px; cursor: pointer; transition: background-color .15s; }
.lx-search button:hover { background: var(--brand-deep); }
.lx-search button:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(13,148,136,.3); }

.lx-hx .hx-card { position: relative; top: auto; }
.lx-crest-none { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; background: #eef1f4; }
.lx-crest-none svg { width: 16px; height: 16px; fill: none; stroke: #94a3b8; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.hx-dir-crest .lx-crest-none { width: 32px; height: 32px; }

.lx-soon { display: inline-block; margin-bottom: 16px; padding: 4px 10px; font-size: 13px; font-weight: 700; color: var(--text-secondary); background: #fff; border: 1px solid var(--border-strong); border-radius: 999px; }
.hx-card-copy .lx-soon-note { margin-top: 16px; font-size: 15px; color: var(--text-muted); }
.lx-mail .hw-body { display: flex; flex-direction: column; }
.lx-mail .ah-mail-body { flex: none; }
.lx-mail .ah-mrow { flex: none; }
.lx-mail .ah-clock svg { fill: none; stroke: currentColor; stroke-width: 2; }
.lx-mh-banner { display: grid; gap: 4px; padding: 20px; background: #0f172a; color: #fff; }
.lx-mh-banner span { font-size: 18px; font-weight: 800; letter-spacing: -.01em; }
.lx-mh-banner b { font-size: 13px; font-weight: 500; color: #cbd5e1; }
.lx-mh-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 12px 20px; border-bottom: 1px solid #e3e7ec; }
.lx-mh-tabs span { display: grid; place-items: center; height: 32px; font-size: 13px; font-weight: 600; color: var(--text-secondary); border: 1px solid var(--border-strong); border-radius: 8px; }
.lx-mh-tabs .is-on { color: var(--filter-accent); background: var(--filter-tint); border-color: var(--filter-accent); }
.lx-mh-list { list-style: none; margin: 0; padding: 0 20px; }
.lx-mh-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; padding: 14px 0; border-bottom: 1px solid #e3e7ec; }
.lx-mh-ico svg { width: 20px; height: 20px; fill: none; stroke: var(--licensing); stroke-width: 2; }
.lx-mh-row b { display: block; font-size: 14.5px; color: var(--text); }
.lx-mh-row span { display: block; margin-top: 2px; font-size: 13px; color: var(--text-muted); }
.lx-mh-row .lx-mh-st { color: var(--status-pending, #b45309); font-weight: 600; }

.lx-hx .hx-dir-part { font-size: 13.5px; color: var(--text-muted); }

.lx-bands .cml-band { margin-top: var(--hx-gap); padding: var(--hx-gap) 0; }   
.lx-bands .cml-band + .cml-band { margin-top: 0; padding-top: 0; }
.lx-bands .cml-strip-dot { background: #7fb093; opacity: .6; }
.lx-mint { color: #9fd4b3; }
.lx-band-link { margin-top: 16px; font-size: 15px; }
.lx-band-link a { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.lx-gal-key { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; font-size: 13px; color: #d8e7e5; }
.lx-gal-key i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 50%; vertical-align: -1px; }
.lx-gal-key .k-band-1 { background: #c7ddcf; } .lx-gal-key .k-band-2 { background: #7fb093; } .lx-gal-key .k-band-3 { background: #3f7d58; }
.lx-gal-key .k-band-4 { background: #1d4d33; box-shadow: 0 0 0 1px #9fd4b3; } .lx-gal-key .k-band-5 { background: #0b2417; box-shadow: 0 0 0 1px #9fd4b3; }
.lx-gal-key .k-open { background: var(--licensing); box-shadow: 0 0 0 2px #fff; } .lx-gal-key .k-decided { background: #fff; box-shadow: inset 0 0 0 2px var(--licensing); }
.lx-gal .hx-gal-canvas { margin: 0; }
@media (max-width: 679px) {
  .lx-search { height: 56px; margin-top: 24px; }
  .lx-q svg { left: 14px; width: 20px; height: 20px; }
  .lx-q input { padding-left: 44px; font-size: 16px; }
  .lx-search button { margin: 6px; padding: 0 16px; font-size: 15px; }
}

.search-autocomplete-item--licence { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; column-gap: 8px; row-gap: 2px; }
.search-autocomplete-item--licence .search-autocomplete-body { display: contents; }
.search-autocomplete-item--licence .search-autocomplete-icon { grid-column: 1; grid-row: 1; color: var(--licensing); }
.search-autocomplete-item--licence .search-autocomplete-name { grid-column: 2; grid-row: 1; font-family: var(--font); text-decoration: none; min-width: 0; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.search-autocomplete-item--licence .search-autocomplete-tags { grid-column: 3; grid-row: 1; align-self: start; white-space: nowrap; }
.search-autocomplete-item--licence .search-autocomplete-sub { grid-column: 2 / 4; grid-row: 2; }
.search-autocomplete-type--licence { color: #fff; background: var(--licensing, #1d4d33); }

.lx-sort { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 3px; padding: 10px 0 0; font-size: 13px; }
.lx-sort-l { margin-right: 4px; color: var(--text-muted); }
.lx-sort button { height: 28px; padding: 0 8px; border: 1px solid var(--border-hover); border-radius: 999px; background: var(--card-bg); font: 600 12.5px var(--font); color: var(--text-secondary); cursor: pointer; }
.lx-sort button[aria-checked="true"] { border-color: var(--filter-accent); background: var(--filter-tint); color: var(--filter-accent); }

.lx-sort:has(button:nth-of-type(4)) .lx-sort-l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hmp-plan-key.lx-key { max-width: 300px; }

@media (max-width: 767px) {
  .lx-layers .lx-layer { gap: 5px; padding: 0 8px; font-size: 13px; }
  .hmp-plan-key.lx-key { max-width: none; padding: 6px 10px 2px; font-size: 12px; }
  .hmp-plan-key.lx-key span { margin: 0 8px 4px 0; }
}

.lx-keys { position: absolute; top: calc(var(--hmp-ctl-h) + 10px); right: 0; display: flex; flex-direction: column; align-items: flex-end; pointer-events: none; }

.lx-mkey.map-key { position: static; max-width: none; white-space: nowrap; background: #fff; border: 1px solid var(--v2-line, var(--border)); border-radius: 10px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .06); padding: 10px 12px; font-size: 12px; color: var(--v2-text, var(--text)); }
.lx-mkey .map-key-title { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--v2-text-muted, var(--text-muted)); margin-bottom: 6px; }
.lx-mkey .map-key-item { gap: 6px; line-height: 20px; }
.lx-mkey .map-key-dot { width: 8px; height: 8px; border-radius: 50%; }
.lx-mkey[hidden], .lx-mkey .map-key-item[hidden] { display: none; }
.lx-mkey .map-key-item { white-space: nowrap; }
.lx-mkey .k-open { background: var(--lx-app); }
.lx-mkey .k-decided { background: #fff; box-shadow: inset 0 0 0 1.5px var(--lx-app); }
.lx-mkey .k-recorded { background: #94a3b8; }
.lx-mkey .k-premises { background: var(--licensing); }
.lx-mkey .k-both { background: radial-gradient(circle closest-side, var(--licensing) 0 52%, #fff 52% 66%, var(--lx-app) 66%); }
.lx-mkey .k-band-1 { background: #c7ddcf; }
.lx-mkey .k-band-2 { background: #7fb093; }
.lx-mkey .k-band-3 { background: #3f7d58; }
.lx-mkey .k-band-4 { background: #1d4d33; }
.lx-mkey .k-band-5 { background: #0b2417; }
.lx-mkey .map-key-dot.k-hex { border-radius: 2px; }
.lx-mkey .lx-key-note { max-width: 150px; margin: 6px 0 0; font-size: 11px; line-height: 1.35; white-space: normal; color: var(--text-muted); }

@media (max-width: 768px) {
  .lx-mkey.map-key { padding: 6px 8px; font-size: 11px; }
  .lx-mkey .map-key-title { font-size: 10px; margin-bottom: 4px; }
  .lx-mkey .map-key-item { line-height: 16px; }
  #hmp-dkey .lx-key-note { display: none; }
}
