/* Captura Claude + decisiones del propietario. Piloto local validado.
   Conserva el header, logo, fuentes y tokens de la web actual. */
body[data-view="network"] #app { display: block; }
body[data-view="network"] .site-footer { display: none; }
.nq { padding: 20px 28px 24px; color: var(--color-text); font: .875rem/1.45 var(--font-family-ui); }
.nq *, .nq *::before, .nq *::after { box-sizing: border-box; }
.nq [hidden] { display: none !important; }
.nq h1, .nq h2, .nq h3, .nq p, .nq dl { margin: 0; }
.nq h1 { font: 700 1.5rem/1.2 "Bricolage Grotesque", var(--font-family-ui); letter-spacing: -.025em; }
.nq h2 { font-size: .875rem; line-height: 1.35; font-weight: 650; }
.nq-heading, .nq-heading-main { display: flex; align-items: baseline; gap: 16px; }
.nq-heading { justify-content: space-between; margin-bottom: 16px; }
.nq-heading-main { flex-wrap: wrap; gap: 8px 16px; }
.nq-heading-main > p, .nq-preview { font-size: .75rem; color: var(--color-text-muted); }
.nq-preview { flex: none; text-align: right; }
.nq-back, .nq-text-button { border: 0; background: none; padding: 4px 0; color: var(--color-link); font: inherit; font-size: .75rem; cursor: pointer; }
.nq-text-button { text-decoration: underline; text-underline-offset: 3px; }
.nq-lookup, .nq-summary, .nq-map-panel { border: 1px solid var(--color-border-subtle); border-radius: var(--radius-group); background: var(--color-surface); }
.nq-lookup { padding: 18px 20px 16px; margin-bottom: 16px; }
.nq label { display: block; margin-bottom: 6px; font-size: .75rem; font-weight: 600; }
.nq input:not([type="checkbox"]), .nq select { display: block; width: 100%; min-width: 0; height: 38px; margin: 0; padding: 8px 10px; border: 1px solid var(--color-border-control); border-radius: var(--radius-control); color: var(--color-text); background: var(--color-canvas); font: inherit; font-size: .8rem; }
.nq input::placeholder { color: var(--color-text-muted); opacity: 1; }
.nq input:disabled, .nq select:disabled { color: var(--color-text-muted); background: var(--color-surface-subtle); opacity: 1; cursor: default; }
.nq .nq-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 7px 12px; border: 1px solid var(--color-border-control); border-radius: var(--radius-control); color: var(--color-text); background: var(--color-surface); font: inherit; font-size: .75rem; font-weight: 600; cursor: pointer; }
.nq .nq-button:hover { background: var(--color-surface-subtle); }
.nq .nq-primary { background: var(--color-action); border-color: var(--color-action); color: var(--color-on-action); }
.nq .nq-primary:hover { background: var(--color-action-hover); border-color: var(--color-action-hover); }
.nq button:disabled, .nq .nq-button:disabled { cursor: default; opacity: 1; color: var(--color-text-muted); background: var(--color-surface-subtle); }
.nq button svg { width: 16px; height: 16px; flex: none; }
.nq-address-combobox { position: relative; }
.nq-search-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin-bottom: 8px; }
.nq .nq-search-heading label { margin: 0; font-size: .875rem; }
.nq-search-heading p { color: var(--color-text-muted); font-size: .73rem; }
.nq-search-line { display: flex; gap: 12px; }
.nq #nq-query { height: 48px; font-size: 1rem; font-weight: 600; }
.nq .nq-search-button { min-width: 110px; height: 48px; flex: none; background: var(--color-brand-accent); border-color: var(--color-brand-accent); color: #111111; font-size: .875rem; }
.nq .nq-search-button:hover { background: var(--color-brand-accent); filter: brightness(.96); }
.nq-search-help { margin-top: 7px !important; color: var(--color-text-muted); font-size: .73rem; }
.nq-search-status { min-height: 16px; margin-top: 4px !important; color: var(--color-text-muted); font-size: .72rem; }
.nq-search-status:empty { display: none; }
.nq-search-status button, .nq-map-status button, .nq-coverage-map-status button { border: 0; background: none; padding: 3px 0; color: var(--color-link); text-decoration: underline; font: inherit; cursor: pointer; }
.nq-results { position: absolute; z-index: 30; inset-inline: 0; top: 100%; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; margin-top: 6px; border: 1px solid var(--color-border-control); border-radius: var(--radius-control); background: var(--color-surface); box-shadow: var(--shadow); }
.nq-results:empty { display: none; }
.nq-results [role="option"] { padding: 9px 12px; border-bottom: 1px solid var(--color-border-subtle); cursor: pointer; }
.nq-results [role="option"]:last-child { border-bottom: 0; }
.nq-results [role="option"] strong { display: block; font-size: .86rem; line-height: 1.35; font-weight: 650; overflow-wrap: anywhere; }
.nq-results [role="option"] .nq-result-context { display: block; margin-top: 2px; color: var(--color-text-muted); font-size: .75rem; overflow-wrap: anywhere; }
.nq-results [role="option"]:is(:hover,[aria-selected="true"]) { background: var(--color-surface-subtle); }
.nq-results [role="option"][aria-selected="true"] { outline: 2px solid var(--color-focus); outline-offset: -2px; }
.nq-filters { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 6px 16px; margin-top: 14px; }
.nq-filters-heading { padding-top: 1px; }
.nq-filters-heading h2 { max-width: 85px; font-size: .78rem; }
.nq-filters-heading p { margin-top: 3px; font-size: .72rem; color: var(--color-text-muted); }
.nq-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nq .nq-filter-grid label { color: var(--color-text-muted); font-size: .72rem; }
.nq-filter-note { grid-column: 2; color: var(--color-text-muted); font-size: .72rem; }
/* Two columns reproduce the approved 62/38 utility layout. No sidebar scroll. */
.nq-workspace { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr); gap: 16px; align-items: start; }
.nq-summary { min-width: 0; overflow-wrap: anywhere; }
.nq-detail { padding: 18px 20px; }
.nq-detail-heading, .nq-coverage-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.nq-detail-heading h2, .nq-coverage-heading h2, .nq-improvement h2 { color: var(--color-text-muted); font-size: .75rem; letter-spacing: .035em; text-transform: uppercase; }
.nq-address-row { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-top: 8px; }
.nq .nq-selected-address { flex: 1 1 320px; font-size: 1.2rem; line-height: 1.3; font-weight: 700; letter-spacing: -.015em; }
.nq .nq-copy-button { flex: none; font-size: .72rem; }
.nq-location-territory { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 15px !important; }
.nq-location-territory dt { margin-bottom: 3px; color: var(--color-text-muted); font-size: .71rem; }
.nq-location-territory dd { margin: 0; font-size: .82rem; font-weight: 600; }
.nq-point-caption { margin-top: 12px !important; color: var(--color-text-muted); font-size: .75rem; }
.nq-coordinates-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.nq-point-coordinates { flex: 1 1 270px; padding: 8px 11px; border: 1px solid var(--color-border-subtle); border-radius: var(--radius-control); background: var(--color-surface-subtle); font: 600 .76rem/1.4 var(--font-family-code); font-variant-numeric: tabular-nums; }
.nq #nq-confirm { margin-top: 12px; }
.nq-location-state { margin-top: 12px !important; font-size: .78rem; font-weight: 600; }
.nq-location-state[data-confirmed="true"] { color: var(--color-success); }
.nq-copy-status { margin-top: 5px !important; font-size: .72rem; color: var(--color-text-muted); }
.nq-copy-status:empty { display: none; }
.nq-coverage, .nq-improvement { padding: 16px 20px 18px; border-top: 1px solid var(--color-border-subtle); }
.nq-coverage-heading > p { color: var(--color-text-muted); font-size: .72rem; }
.nq-technology { display: inline-flex; gap: 0; margin-top: 12px; border: 1px solid var(--color-border-control); border-radius: var(--radius-control); overflow: hidden; }
.nq-technology button { min-width: 65px; min-height: 36px; padding: 7px 14px; border: 0; border-inline-end: 1px solid var(--color-border-control); background: var(--color-surface); color: var(--color-text); font: 650 .8rem var(--font-family-ui); cursor: pointer; }
.nq-technology button:last-child { border-inline-end: 0; }
.nq-technology button:hover { background: var(--color-surface-subtle); }
.nq-technology button[aria-pressed="true"] { background: var(--color-action); color: var(--color-on-action); }
.nq-technology button:focus-visible { outline-offset: -3px; }
.nq-coverage-result { margin-top: 16px; padding: 3px 0 3px 14px; border-inline-start: 3px solid var(--color-border-control); }
.nq-coverage-result strong { display: block; font-size: 1.45rem; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; }
.nq-coverage-result p { margin-top: 5px; font-size: .78rem; color: var(--color-text-muted); }
.nq-coverage-result[data-state="guaranteed"] { border-color: var(--color-success); }
.nq-coverage-result[data-state="guaranteed"] strong { color: var(--color-success); }
.nq-coverage-result:is([data-state="additional"],[data-state="covered"]) { border-color: var(--color-info); }
.nq-coverage-result:is([data-state="additional"],[data-state="covered"]) strong { color: var(--color-info); }
.nq-coverage-result[data-state="outside"] { border-color: var(--color-warning); }
.nq-coverage-result[data-state="outside"] strong { color: var(--color-warning); }
.nq-coverage-result:is([data-state="pending"],[data-state="unknown"]) strong { font-size: 1.1rem; color: var(--color-text-muted); }
.nq-coverage-source { margin-top: 12px !important; font-size: .71rem; color: var(--color-text-muted); }
.nq-point-result { margin-top: 8px; font-size: .8rem; }
.nq-point-inside { color: var(--color-warning); font-weight: 650; }
.nq-zone-list { font-size: .75rem; }
.nq-zone-list ul { list-style: none; padding: 0; margin: 8px 0 0; }
.nq-zone-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-block: 4px; }
.nq-zone-list li span:last-child { text-align: right; color: var(--color-text-muted); }
.nq-zone-name { font-weight: 600; }
.nq summary { cursor: pointer; }
.nq-orientation { border-top: 1px solid var(--color-border-subtle); }
.nq-orientation > summary { padding: 14px 20px; font-size: .8rem; font-weight: 650; }
.nq-orientation-body { padding: 4px 20px 20px; }
.nq-context-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.nq-context-form legend { display: block; width: 100%; padding: 0; margin-bottom: 12px; font-size: .82rem; font-weight: 650; }
.nq-context-form select { margin-bottom: 12px; }
.nq-context-form fieldset:disabled { opacity: 1; }
.nq .nq-check { display: flex; align-items: center; gap: 7px; margin: 0; font: inherit; font-size: .75rem; font-weight: 400; cursor: pointer; }
.nq .nq-check input { flex: none; width: 16px; height: 16px; margin: 0; accent-color: var(--color-action); cursor: pointer; }
.nq-procedure { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--color-border-subtle); }
.nq-procedure h3, .nq-procedure h2 { font-size: .86rem; }
.nq-procedure ol { padding-left: 20px; margin: 10px 0; font-size: .8rem; }
.nq-procedure li { margin-bottom: 8px; }
.nq-procedure p { margin-top: 8px; color: var(--color-text-muted); font-size: .75rem; }
.nq-claim-note { margin-top: 12px; padding: 10px 12px; border-inline-start: 3px solid var(--color-border-control); background: var(--color-surface-subtle); font-size: .76rem; }
.nq-procedure .nq-procedure-source { font-size: .7rem; }
.nq-map-panel { min-width: 0; overflow: hidden; }
.nq-map-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 16px; }
.nq-map-stage { position: relative; height: 360px; background: var(--color-surface-subtle); }
#nq-map { width: 100%; height: 100%; }
.nq-map-loading { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center; background: var(--color-surface-subtle); color: var(--color-text-muted); font-size: .8rem; }
.nq-map-tools { padding: 12px 16px 14px; }
.nq-map-caption { margin-bottom: 8px !important; color: var(--color-text-muted); font-size: .73rem; }
.nq-map-actions { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.nq-map-actions > div { display: flex; gap: 7px; }
.nq-map-actions .nq-button { padding-inline: 9px; font-size: .72rem; }
.nq-layers { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-top: 12px; }
.nq-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; margin-top: 10px; color: var(--color-text-muted); font-size: .71rem; }
.nq-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.nq-coverage-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; margin-top: 10px; color: var(--color-text-muted); font-size: .71rem; }
.nq-coverage-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.nq-legend-zones-hidden > span:not(#nq-5g-legend) { opacity: .5; }
.nq-swatch { display: inline-block; width: 9px; height: 9px; flex: none; border-radius: 50%; border: 1px solid currentColor; }
.nq-swatch-red { background: #ff0000; color: #af0000; }
.nq-swatch-orange { background: #ffa500; color: #996000; }
.nq-swatch-yellow { background: #ffff00; color: #847800; }
.nq-swatch-5g { background: #00ed00; color: #007400; }
.nq-swatch-guaranteed { background: var(--color-success); color: var(--color-success); }
.nq-swatch-total { background: var(--color-action); color: var(--color-action); }
.nq-5g-note, .nq-map-status, .nq-coverage-map-status, .nq-map-help { margin-top: 8px !important; font-size: .72rem; color: var(--color-text-muted); }
.nq-5g-note { padding: 8px 10px; border-inline-start: 2px solid var(--color-border-control); }
.nq-pin { width: 23px; height: 23px; border-radius: 50%; background: var(--color-action); border: 3px solid var(--color-on-action); outline: 2px dashed var(--color-action); cursor: grab; }
.nq-pin-confirmed { outline-style: solid; }
.nq-pin:active { cursor: grabbing; }
.nq .maplibregl-map { font-family: var(--font-family-ui); }
.nq .maplibregl-canvas { cursor: crosshair; }
.nq .maplibregl-ctrl-group { background: var(--color-surface); border: 1px solid var(--color-border-control); border-radius: var(--radius-control); box-shadow: none; }
.nq .maplibregl-ctrl-group button { width: 34px; height: 34px; }
.nq .maplibregl-ctrl-group button + button { border-top: 1px solid var(--color-border-subtle); }
.nq .maplibregl-ctrl-group button:hover { background: var(--color-surface-subtle); }
html[data-theme="dark"] .nq .maplibregl-ctrl-icon { filter: invert(1); }
.nq .maplibregl-ctrl-scale, .nq .maplibregl-ctrl-attrib { color: var(--color-text); background: var(--color-surface); border-color: var(--color-text); font-family: inherit; }
.nq-source { display: flex; justify-content: space-between; gap: 24px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--color-border-subtle); color: var(--color-text-muted); font-size: .7rem; }
.nq-source > p { flex: 1; }
.nq a { color: var(--color-link); }
.nq :is(input,select,button,a,summary,canvas):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 3px; }
.nq-map-dialog { width: min(1440px, calc(100vw - 48px)); max-width: none; height: min(960px, calc(100dvh - 48px)); max-height: none; padding: 0; border: 1px solid var(--color-border-control); border-radius: var(--radius-dialog); color: var(--color-text); background: var(--color-surface); }
.nq-map-dialog[open] { display: flex; flex-direction: column; }
.nq-map-dialog::backdrop { background: rgba(0, 0, 0, .65); }
.nq-dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 18px; }
.nq-dialog-heading p { margin-top: 4px; color: var(--color-text-muted); font-size: .74rem; }
.nq-map-dialog-body { flex: 1; min-height: 0; }
.nq-map-dialog-body .nq-map-stage { height: 100%; }
html[data-contrast="high"] .nq :is(.nq-lookup,.nq-summary,.nq-map-panel) { border-color: var(--color-border-control); }
html[data-reduced-motion="true"] .nq *, html[data-reduced-motion="true"] .nq *::before, html[data-reduced-motion="true"] .nq *::after { transition: none; animation: none; scroll-behavior: auto; }
@media (prefers-reduced-motion: reduce) { html:not([data-reduced-motion]) .nq *, html:not([data-reduced-motion]) .nq *::before, html:not([data-reduced-motion]) .nq *::after { transition: none; animation: none; scroll-behavior: auto; } }
@media (max-width: 1200px) { .nq { padding-inline: 24px; } .nq-heading-main > p { flex-basis: 100%; } .nq-workspace { grid-template-columns: minmax(0, 1.6fr) minmax(330px, 1fr); } .nq-coverage-heading { align-items: flex-start; } .nq-coverage-heading > p { text-align: right; } }
@media (max-width: 980px) { .nq-heading { align-items: flex-start; } .nq-preview { max-width: 190px; } .nq-workspace { grid-template-columns: 1fr; } .nq-map-stage { height: 360px; } .nq-filters { grid-template-columns: 1fr; } .nq-filters-heading { display: flex; gap: 8px; align-items: baseline; } .nq-filters-heading h2 { max-width: none; } .nq-filter-note { grid-column: 1; } }
@media (max-width: 650px) { .nq { padding: 16px; } .nq-heading { display: block; } .nq-preview { max-width: none; text-align: left; margin-top: 8px !important; } .nq-lookup { padding: 16px; } .nq-search-heading { display: block; } .nq-search-heading p { margin-top: 4px; } .nq-search-line { gap: 8px; } .nq #nq-query { font-size: .9rem; } .nq .nq-search-button { min-width: 80px; } .nq-filter-grid { grid-template-columns: 1fr 1fr; } .nq-detail, .nq-coverage, .nq-improvement { padding-inline: 16px; } .nq-location-territory { grid-template-columns: 1fr; gap: 8px; } .nq-location-territory > div { display: flex; justify-content: space-between; gap: 20px; } .nq-location-territory dd { text-align: right; } .nq-coverage-heading { display: block; } .nq-coverage-heading > p { text-align: left; margin-top: 4px; } .nq-source { display: block; } .nq-source > p + p { margin-top: 8px; } .nq-map-dialog { width: calc(100vw - 20px); height: calc(100dvh - 20px); } .nq-dialog-heading { padding: 12px; align-items: flex-start; } .nq .nq-button, .nq-technology button { min-height: 44px; } .nq .maplibregl-ctrl-group button { width: 40px; height: 40px; } }
