/* Edición editorial canónica del Atlas HITO. */
.atlas-global-nav {
  position: sticky;
  top: 0;
  z-index: 2100;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  min-height: 3rem;
  border-bottom: 1px solid #4f554e;
  background: rgba(9, 11, 9, .97);
}
.atlas-global-nav a,
.atlas-global-nav b {
  display: grid;
  place-items: center;
  padding: .65rem;
  border-right: 1px solid #4f554e;
  color: #aaa99f;
  text-decoration: none;
  font: 700 .62rem/1.1 "IBM Plex Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.atlas-global-nav b { background: #b84137; color: #080a08; }
.atlas-global-nav a:hover { background: #222720; color: #fff; }
.mobile-document-nav { display:none; }
body.hito-panel-prototype {
  --proto-bg: #090b09;
  --proto-sheet: #111410;
  --proto-ink: #f1eee5;
  --proto-muted: #aaa99f;
  --proto-line: #4f554e;
  --proto-green: #91ad85;
  --proto-red: #b84137;
  background: var(--proto-bg);
  color: var(--proto-ink);
  --proto-control: 2.55rem;
  --proto-gutter: clamp(.85rem, 1.7vw, 1.65rem);
  font-size: clamp(16px, 0.22vw + 15px, 19px);
}

body.hito-panel-prototype .shell {
  max-width: none;
  background: var(--proto-bg);
  border: 0;
}

body.hito-panel-prototype > .proto-status {
  position: fixed;
  top: .65rem;
  right: .65rem;
  z-index: 2200;
  padding: .35rem .55rem;
  border: 1px solid var(--proto-line);
  background: rgba(9, 11, 9, .92);
  color: var(--proto-muted);
  font: 600 .58rem/1.2 "IBM Plex Mono", monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.hito-panel-prototype header {
  min-height: min(36vh, 390px);
  display: grid;
  align-content: end;
  padding: clamp(3rem, 6vw, 5.5rem) clamp(1rem, 5vw, 6rem) clamp(1.5rem, 3vw, 2.75rem);
  border-color: var(--proto-line);
}

body.hito-panel-prototype header h1 {
  max-width: 12ch;
  color: var(--proto-ink);
  font-size: clamp(3.2rem, 7.4vw, 7.5rem);
  line-height: .86;
}

body.hito-panel-prototype header .lead {
  max-width: 58rem;
  color: var(--proto-muted);
  font-size: clamp(1.05rem, .55vw + .9rem, 1.42rem);
}

body.hito-panel-prototype .toolbar {
  position: sticky !important;
  top: 3rem !important;
  z-index: 2050;
  display: grid;
  grid-template-columns: minmax(14rem,1.4fr) minmax(16rem,1fr) auto auto auto auto auto;
  align-items: stretch;
  gap: 0;
  padding: 0;
  background: rgba(9, 11, 9, .97);
  border-color: var(--proto-line);
  backdrop-filter: blur(12px);
}

body.hito-panel-prototype button,
body.hito-panel-prototype select,
body.hito-panel-prototype input {
  min-height: var(--proto-control);
  border: 0;
  border-right: 1px solid var(--proto-line);
  border-radius: 0;
  background: transparent;
  color: var(--proto-ink);
  box-shadow: none;
  font-size: .66rem;
}

body.hito-panel-prototype button {
  background: rgba(9, 11, 9, .18);
  color: rgba(241, 238, 229, .78);
  backdrop-filter: blur(5px);
}

body.hito-panel-prototype button:hover,
body.hito-panel-prototype button:focus-visible,
body.hito-panel-prototype select:focus-visible,
body.hito-panel-prototype input:focus-visible {
  color: #fff;
  background: #232820;
  outline: 2px solid var(--proto-green);
  outline-offset: -2px;
}

body.hito-panel-prototype #load {
  min-width: 0;
  text-align: left;
  padding-inline: clamp(.75rem, 1.5vw, 1.4rem);
  letter-spacing: .09em;
}

body.hito-panel-prototype #policy{width:100%;min-width:14rem}
body.hito-panel-prototype .atlas-fit,
body.hito-panel-prototype .atlas-load-fixed{
  position:sticky;
  top:0;
  z-index:2;
  background:#090b09;
}
body.hito-panel-prototype .atlas-fit{white-space:nowrap;padding-inline:.8rem}

.proto-request {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.proto-request .white { color: #fff; }
.proto-request .green { color: #9fb994; }
.proto-request .red { color: #df665c; }

body.hito-panel-prototype .ejidal-band {
  display: grid;
  grid-template-columns: minmax(16rem, .9fr) minmax(0, 2.1fr);
  gap: 0;
  padding: 0;
  border-color: var(--proto-line);
  background: #0d100d;
}

body.hito-panel-prototype .ejidal-band > div {
  padding: .65rem var(--proto-gutter);
}

body.hito-panel-prototype .ejidal-band > div:first-child {
  border-right: 1px solid var(--proto-line);
}

body.hito-panel-prototype .ejidal-band h2 {
  margin: .16rem 0;
  color: var(--proto-ink);
  font-size: clamp(1.05rem, 1.15vw, 1.45rem);
}

body.hito-panel-prototype .ejidal-band p,
body.hito-panel-prototype .ejidal-band span {
  color: var(--proto-muted);
  font-size: .62rem;
}

body.hito-panel-prototype .ejidal-band a {
  color: #d66b62;
  font-size: .54rem;
}

body.hito-panel-prototype .ejido-summary {
  gap: clamp(.65rem, 1.5vw, 1.4rem);
}

body.hito-panel-prototype .ejido-summary b {
  color: #d66b62;
}

body.hito-panel-prototype .alert-summary,
body.hito-panel-prototype .rule-notebook,
body.hito-panel-prototype .atlas-alert-index,
body.hito-panel-prototype .atlas-print-notice {
  display: none !important;
}

.proto-ribbon {
  position: relative;
  display: grid;
  grid-template-columns: minmax(15rem, .85fr) minmax(0, 2.15fr);
  min-height: 3.2rem;
  border-bottom: 1px solid var(--proto-line);
  background: var(--proto-bg);
}

body.hito-panel-prototype .proto-ribbon > header {
  display: block;
  min-height: 0;
  align-content: initial;
  padding: .42rem var(--proto-gutter);
  border-right: 1px solid var(--proto-line);
  border-bottom: 0;
}

body.hito-panel-prototype .proto-ribbon h2,
body.hito-panel-prototype .proto-ribbon p {
  margin: 0;
}

body.hito-panel-prototype .proto-ribbon h2 {
  font: 400 clamp(.92rem, 1vw, 1.18rem)/1.02 "Source Serif 4", serif;
}

body.hito-panel-prototype .proto-ribbon p {
  margin-top: .14rem;
  color: var(--proto-muted);
  font-size: .58rem;
  line-height: 1.22;
}

.proto-ribbon__actions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  overflow: hidden;
}

.proto-action-cell {
  display: grid;
  grid-template-rows: minmax(2.15rem,auto) 1.15rem;
  min-width: 0;
  border-right: 1px solid var(--proto-line);
}

.proto-action-cell:last-child { border-right: 0; }

.proto-ribbon__actions .proto-action-cell > button {
  width: 100%;
  min-width: 0;
  text-align: left;
  min-height: 0;
  padding: .34rem .6rem;
}

.proto-ribbon__actions .proto-print-cell {
  min-height: 1.15rem;
  padding: .12rem .45rem;
  border-top: 1px solid var(--proto-line);
  color: #d66b62;
  font-size: .48rem;
  letter-spacing: .1em;
  text-align: right;
}

.proto-ribbon__detail {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(10rem,.62fr) minmax(0,1.38fr);
  gap: .35rem 1rem;
  padding: .48rem var(--proto-gutter);
  border-top: 1px solid var(--proto-line);
  background: #111410;
  color: var(--proto-muted);
  font: .62rem/1.42 "IBM Plex Mono", monospace;
}
.proto-ribbon__detail[hidden] { display: none !important; }
.proto-ribbon__detail b { color: #fff; letter-spacing: .07em; text-transform: uppercase; }
.proto-ribbon__detail p { margin: 0; font-size: .68rem; }
.proto-ribbon__detail em,
.proto-ribbon__detail small { grid-column: 2; color: #c6c1b6; font-style: normal; }
.proto-ribbon__actions button[aria-expanded="true"] { background: #232820; outline: 1px solid var(--proto-green); outline-offset: -1px; }

.proto-section-index {
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto !important;
}

.proto-section-index .proto-index-pin,
.proto-section-index .proto-return {
  color: #d66b62;
  white-space: nowrap;
}

@media (max-width: 1050px) {
  .proto-ribbon { grid-template-columns: 1fr; }
  .proto-ribbon > header { border-right: 0; border-bottom: 1px solid var(--proto-line); }
}

@media (max-width: 780px) {
  .proto-ribbon__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proto-action-cell:nth-child(2n) { border-right: 0; }
  .proto-section-index { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

.proto-ribbon__actions button strong,
.proto-ribbon__actions button span {
  display: block;
}

.proto-ribbon__actions button strong {
  font-size: .62rem;
  letter-spacing: .08em;
}

.proto-ribbon__actions button span {
  margin-top: .22rem;
  color: var(--proto-muted);
  font-size: .56rem;
  line-height: 1.25;
}

.proto-map-origin {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 11px;
  height: 11px;
  z-index: 12;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 24px rgba(255,255,255,.88);
  pointer-events: none;
  transition: opacity .25s ease, transform .7s cubic-bezier(.12,.72,.18,1);
}

body.hito-panel-prototype.map-opening .proto-map-origin {
  opacity: .94;
  transform: translate(-50%, -50%) scale(12);
}

body.hito-panel-prototype.map-loaded .proto-map-origin {
  opacity: 0;
  transform: translate(-50%, -50%) scale(28);
}

body.hito-panel-prototype .workspace {
  display: grid;
  grid-template-columns: clamp(9rem, 15vw, 15rem) minmax(0, 1fr);
  min-height: 74vh;
  border-bottom: 1px solid var(--proto-line);
}

body.hito-panel-prototype .list {
  position: relative;
  max-height: calc(100vh - var(--proto-control));
  border-right: 1px solid var(--proto-line);
  background: #0c0f0c;
  scrollbar-width: thin;
  scrollbar-color: var(--proto-line) transparent;
}

body.hito-panel-prototype .uga-item {
  grid-template-columns: 3.2rem minmax(0, 1fr) auto;
  padding: .48rem .58rem;
  border-color: #30352f;
  color: var(--proto-ink);
  font-size: .68rem;
  line-height: 1.22;
}

body.hito-panel-prototype .uga-item small { color: var(--proto-muted) !important; }
body.hito-panel-prototype .uga-item:hover,
body.hito-panel-prototype .uga-item.active {
  background: #242a22;
  color: #fff;
}

body.hito-panel-prototype .badge {
  background: transparent;
  border: 1px solid var(--proto-red);
  color: #ff8d83;
}

body.hito-panel-prototype .main {
  position: relative;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  background: #0b0d0b;
}

body.hito-panel-prototype .main.panel-open {
  grid-template-columns: minmax(0, 61.8fr) minmax(23rem, 38.2fr);
}

body.hito-panel-prototype .main.panel-open.panel-horizontal {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(30rem, 61.8vh) minmax(22rem, 38.2vh);
}

body.hito-panel-prototype .main.panel-collapsed {
  grid-template-columns: minmax(0, 1fr) 3.75rem;
}

body.hito-panel-prototype .empty {
  grid-column: 1 / -1;
  min-height: 55vh;
  color: var(--proto-muted);
}

body.hito-panel-prototype #mapWrap {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  border-right: 1px solid var(--proto-line);
  border-bottom: 0;
  transform-origin: 50% 0;
}

body.hito-panel-prototype #map {
  height: calc(100vh - var(--proto-control));
  min-height: 620px;
  background: #101410;
}

body.hito-panel-prototype .main.panel-horizontal #mapWrap {
  grid-column: 1;
  grid-row: 1;
  border-right: 0;
  border-bottom: 1px solid var(--proto-line);
}

body.hito-panel-prototype .main.panel-horizontal #map {
  height: 61.8vh;
  min-height: 30rem;
}

body.hito-panel-prototype.map-opening #mapWrap {
  animation: proto-crt-open .72s cubic-bezier(.12,.72,.18,1) both;
}

@keyframes proto-crt-open {
  0% { opacity: 0; transform: scaleX(.005) scaleY(.005); filter: brightness(5); }
  34% { opacity: 1; transform: scaleX(1) scaleY(.025); filter: brightness(2.5); }
  100% { opacity: 1; transform: scale(1); filter: brightness(1); }
}

body.hito-panel-prototype .leaflet-container {
  background: #0d100d;
}

body.hito-panel-prototype .leaflet-tile-pane {
  filter: grayscale(1) invert(.82) sepia(.12) brightness(.48) contrast(1.25);
}

body.hito-panel-prototype .leaflet-control-zoom a {
  background: #111410;
  color: var(--proto-ink);
  border-color: var(--proto-line);
}

body.hito-panel-prototype .legend {
  color: var(--proto-ink);
  background: rgba(9, 11, 9, .91);
  border-color: var(--proto-line);
}

.uga-label {
  display: grid !important;
  place-items: center;
  width: 1.78rem;
  height: 1.78rem;
  min-width: 1.78rem;
  padding: 0 !important;
  border: 1px solid rgba(123,31,27,.95) !important;
  border-radius: 50% !important;
  background: rgba(255,253,247,.94) !important;
  color: #111 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.62), 0 2px 7px rgba(0,0,0,.34) !important;
  font: 700 .67rem/1 "IBM Plex Mono", monospace !important;
  letter-spacing: .04em;
  text-align: center;
  text-shadow: 0 0 2px #fff;
  backdrop-filter: blur(1px);
}

.uga-label::before { display: none; }

.uga-callout-line {
  stroke: rgba(255,247,238,.88);
  stroke-width: 1.25;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.8));
  pointer-events: none;
}

body.hito-panel-prototype .dossier {
  grid-column: 2;
  grid-row: 1;
  height: calc(100vh - var(--proto-control));
  min-height: 620px;
  overflow: auto;
  padding: clamp(1.15rem, 1.9vw, 2rem);
  background: var(--proto-sheet);
  color: var(--proto-ink);
  border-left: 1px solid var(--proto-line);
  scrollbar-width: thin;
  scrollbar-color: var(--proto-line) transparent;
}

body.hito-panel-prototype .main.panel-horizontal .dossier {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  height: 38.2vh;
  min-height: 22rem;
  border-top: 1px solid var(--proto-line);
  border-left: 0;
}

body.hito-panel-prototype .dossier h2 {
  margin: .35rem 0 .65rem;
  font-size: clamp(2rem, 2.55vw, 3.45rem);
  line-height: .94;
  letter-spacing: -.035em;
}

body.hito-panel-prototype .policy,
body.hito-panel-prototype .metrics,
body.hito-panel-prototype .finding {
  border-color: var(--proto-line);
}

body.hito-panel-prototype .policy {
  gap: .35rem;
  margin: .7rem 0 1rem;
}

body.hito-panel-prototype .tag {
  border-color: var(--proto-line);
  color: var(--proto-ink);
  padding: .24rem .42rem;
  font-size: .61rem;
}

body.hito-panel-prototype .metrics {
  margin: 1.15rem 0 1.45rem;
}

body.hito-panel-prototype .metric {
  border-color: var(--proto-line);
  padding: .72rem .62rem;
}

body.hito-panel-prototype .metric span,
body.hito-panel-prototype .finding small {
  color: var(--proto-muted);
}

body.hito-panel-prototype .metric b {
  color: var(--proto-ink);
  font-size: 1.08rem;
}

body.hito-panel-prototype .meta {
  color: var(--proto-ink);
  background: #1b211a;
  border-left-color: var(--proto-green);
  padding: .85rem 1rem;
  font-size: 1rem;
  line-height: 1.48;
}

body.hito-panel-prototype .plain {
  color: #b6cbb0;
}

body.hito-panel-prototype .findings {
  margin-top: 1.35rem;
}

body.hito-panel-prototype .finding {
  grid-template-columns: minmax(6.4rem, .42fr) minmax(0, 1.58fr);
  gap: .85rem;
  padding: .72rem 0;
  line-height: 1.42;
}

body.hito-panel-prototype .finding-status {
  padding-top: .1rem;
  font-size: .59rem;
  line-height: 1.35;
  letter-spacing: .06em;
}

body.hito-panel-prototype .finding p {
  margin: .16rem 0;
}

body.hito-panel-prototype .finding small {
  font-size: .62rem;
  line-height: 1.35;
}

.proto-panel-head {
  position: sticky;
  top: -2rem;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: -2rem -2rem 1rem;
  padding: .42rem .72rem;
  border-bottom: 1px solid var(--proto-line);
  background: rgba(17, 20, 16, .97);
}

.proto-panel-head span {
  color: var(--proto-muted);
  font: 600 .58rem "IBM Plex Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.proto-panel-head button {
  min-height: 1.95rem;
  border-left: 1px solid var(--proto-line);
  padding: .28rem .52rem;
  background: rgba(255, 255, 255, .025);
  color: rgba(241, 238, 229, .7);
}

.proto-panel-head button[aria-pressed="true"] {
  border-color: rgba(214, 107, 98, .75);
  background: rgba(184, 65, 55, .16);
  color: #fff;
}

.proto-panel-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.proto-section-index {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
  margin: .85rem 0 1.1rem;
  padding: .48rem 0;
  border-block: 1px solid var(--proto-line);
}

.proto-section-index button {
  min-height: 1.95rem;
  border: 1px solid var(--proto-line);
  padding: .3rem .48rem;
}

body.hito-panel-prototype .main.panel-pinned .proto-section-index {
  position: sticky;
  top: 0;
  z-index: 12;
  margin-inline: -.35rem;
  padding: .48rem .35rem;
  background: rgba(5, 7, 5, .97);
  backdrop-filter: blur(10px);
}

.proto-content-return {
  display: block;
  width: 100%;
  margin: .75rem 0 1.2rem;
  padding: .55rem .75rem;
  border: 1px solid var(--proto-line);
  color: #d66b62;
  text-align: right;
  font-size: .58rem;
  letter-spacing: .08em;
}

.proto-critical {
  margin-top: 1.45rem;
  border-top: 1px solid var(--proto-line);
}

.proto-critical__grid {
  display: grid;
  grid-template-columns: 1fr 1.618fr;
  border-left: 1px solid var(--proto-line);
  border-top: 1px solid var(--proto-line);
}

.proto-critical__grid section {
  min-height: 8.6rem;
  padding: .82rem;
  border-right: 1px solid var(--proto-line);
  border-bottom: 1px solid var(--proto-line);
}

.proto-critical__grid section:nth-child(3) { grid-column: 1 / 2; }
.proto-critical__grid section:nth-child(4) { grid-column: 2 / 3; }
.proto-critical__grid h3 {
  margin: 0 0 .55rem;
  color: #d66b62;
  font: 600 .6rem/1.25 "IBM Plex Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.proto-critical__grid p {
  margin: 0;
  color: var(--proto-muted);
  font: .96rem/1.43 "Source Serif 4", serif;
}

.proto-rail {
  display: none;
  grid-column: 2;
  grid-row: 1;
  flex-direction: column;
  height: calc(100vh - var(--proto-control));
  background: #111410;
  border-left: 1px solid var(--proto-line);
}

.main.panel-collapsed .proto-rail { display: flex; }
.main.panel-collapsed .dossier { display: none !important; }

.proto-rail button {
  min-width: 3.75rem;
  min-height: 3.25rem;
  border-bottom: 1px solid var(--proto-line);
  border-right: 0;
  padding: .25rem;
  font-size: .62rem;
  background: rgba(17, 20, 16, .58);
  color: rgba(241, 238, 229, .72);
}

.proto-rail button b {
  display: block;
  color: #fff;
  font-size: .8rem;
}

.proto-command {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2100;
  display: flex;
  align-items: center;
  min-height: 2.35rem;
  border-top: 1px solid var(--proto-line);
  background: rgba(7, 9, 7, .97);
}

.proto-command > #protoCommand { flex: 1 1 16rem; min-width: 10rem; }
.proto-command > output { margin-left: auto; white-space: nowrap; }
.proto-command .proto-command-control { flex: 0 0 auto; }
.proto-command .atlas-print-button {
  min-height: 2.35rem;
  margin: 0;
  padding: .45rem .8rem;
  border-right: 1px solid var(--proto-line);
  white-space: nowrap;
}
.proto-command .atlas-layer-control > summary {
  min-height: 2.35rem;
  border: 0;
  border-right: 1px solid var(--proto-line);
}
.proto-command .atlas-layer-control__panel {
  top: auto;
  bottom: calc(100% + .4rem);
}

.proto-command .atlas-fit,
.proto-command .proto-load-command {
  position: static !important;
  align-self: stretch;
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  margin: 0;
  border-right: 1px solid var(--proto-line);
  background: rgba(9, 11, 9, .97);
}

.proto-command .atlas-fit {
  gap: .45rem;
  padding: .45rem .8rem;
  color: var(--proto-ink);
  white-space: nowrap;
}

.proto-command .atlas-fit input {
  width: auto;
  min-width: 0;
  min-height: 0 !important;
}

.proto-command .proto-load-command {
  justify-content: flex-start;
  min-width: 10rem;
  padding: .45rem .8rem;
}

.proto-command label,
.proto-command output {
  padding: .5rem .8rem;
  color: var(--proto-green);
  font: 600 .62rem "IBM Plex Mono", monospace;
  letter-spacing: .07em;
}

.proto-command input {
  width: 100%;
  min-height: 2.3rem !important;
  border-left: 1px solid var(--proto-line) !important;
  border-right: 1px solid var(--proto-line) !important;
  font-size: .78rem !important;
}

.proto-help {
  position: fixed;
  right: 1rem;
  bottom: 3.6rem;
  z-index: 2150;
  display: none;
  width: min(32rem, calc(100vw - 2rem));
  padding: 1rem;
  border: 1px solid var(--proto-line);
  background: #111410;
  box-shadow: 0 1rem 4rem #000;
}

.proto-help.open { display: block; }
.proto-help h2 { margin: 0 0 .75rem; font-size: 1.4rem; }
.proto-help dl {
  display: grid;
  grid-template-columns: 5rem 1fr;
  gap: .35rem 1rem;
  margin: 0;
  font-size: .72rem;
}
.proto-help dt { color: #fff; font-family: "IBM Plex Mono", monospace; }
.proto-help dd { margin: 0; color: var(--proto-muted); }

body.hito-panel-prototype .sources {
  padding-bottom: 4rem;
  border-color: var(--proto-line);
  background: var(--proto-bg);
  color: var(--proto-muted);
}

@media (max-width: 900px) {
  body.hito-panel-prototype .toolbar {
    grid-template-columns: 1fr 1fr;
  }
  body.hito-panel-prototype .proto-command { overflow-x:auto; }
  body.hito-panel-prototype .proto-command > label[for="protoCommand"] {
    display: none;
  }
  body.hito-panel-prototype #load,
  body.hito-panel-prototype #search { min-width: 0; width: 100%; }
  .proto-ribbon { grid-template-columns: 1fr; }
  body.hito-panel-prototype .ejidal-band {
    grid-template-columns: 1fr;
  }
  body.hito-panel-prototype .ejidal-band > div:first-child {
    border-right: 0;
    border-bottom: 1px solid var(--proto-line);
  }
  .proto-ribbon > header { border-right: 0; border-bottom: 1px solid var(--proto-line); }
  .proto-ribbon__actions { overflow-x: auto; }
  body.hito-panel-prototype .workspace { grid-template-columns: 1fr; }
  body.hito-panel-prototype .list {
    max-height: 9rem;
    display: flex;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--proto-line);
  }
  body.hito-panel-prototype .uga-item {
    min-width: 14rem;
    border-right: 1px solid var(--proto-line);
  }
  body.hito-panel-prototype .main.panel-open,
  body.hito-panel-prototype .main.panel-collapsed {
    display: block;
  }
  body.hito-panel-prototype #map { height: 68vh; min-height: 460px; }
  body.hito-panel-prototype .dossier {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 2.65rem;
    z-index: 1900;
    height: min(78vh, 760px);
    min-height: 0;
    border-top: 1px solid var(--proto-line);
    border-left: 0;
    box-shadow: 0 -2rem 5rem rgba(0,0,0,.65);
  }
  .proto-rail {
    position: fixed;
    right: 0;
    bottom: 2.65rem;
    z-index: 1900;
    height: auto;
  }
  .proto-critical__grid { grid-template-columns: 1fr; }
  .proto-critical__grid section,
  .proto-critical__grid section:nth-child(3),
  .proto-critical__grid section:nth-child(4) { grid-column: 1; }
  .proto-panel-head { top: -1.25rem; margin: -1.25rem -1.25rem 1rem; }
  body.hito-panel-prototype .finding {
    grid-template-columns: 1fr;
    gap: .3rem;
  }
}

@media screen and (max-width: 780px) {
  body.hito-panel-prototype { font-size:14px; }
  html, body { max-width: 100%; overflow-x: hidden; }
  body.hito-panel-prototype button,
  body.hito-panel-prototype a,
  body.hito-panel-prototype summary,
  body.hito-panel-prototype input,
  body.hito-panel-prototype select { touch-action: manipulation; }
  body.hito-panel-prototype button,
  body.hito-panel-prototype a,
  body.hito-panel-prototype summary { min-height: 44px; }
  body.hito-panel-prototype input,
  body.hito-panel-prototype select,
  body.hito-panel-prototype textarea { max-width: 100%; font-size: 16px !important; }
  body.hito-panel-prototype header { display:none; }
  body.hito-panel-prototype .shell { padding-top:calc(88px + 5.25rem); }
  body.hito-panel-prototype .atlas-global-nav {
    position:fixed;
    inset:0 0 auto;
    height:44px;
    grid-template-columns:repeat(5,minmax(4.6rem,1fr));
    overflow-x:auto;
  }
  body.hito-panel-prototype .atlas-global-nav b { font-size:0; }
  body.hito-panel-prototype .atlas-global-nav b::after {
    content:"ATLAS ↗";
    font-size:.52rem;
  }
  body.hito-panel-prototype .atlas-global-nav a,
  body.hito-panel-prototype .atlas-global-nav b { padding:.45rem .25rem; font-size:.52rem; }
  body.hito-panel-prototype .toolbar { display:none!important; }
  body.hito-panel-prototype .toolbar>* { flex:0 0 auto; min-width:9rem; }
  body.hito-panel-prototype .toolbar #load { order:-2; min-width:12rem; }
  body.hito-panel-prototype .toolbar #search { order:-1; min-width:15rem; }
  body.hito-panel-prototype .proto-ribbon { display:block; min-height:0; }
  body.hito-panel-prototype .proto-ribbon>header {
    padding:.28rem .65rem;
    border-right:0;
  }
  body.hito-panel-prototype .proto-ribbon>header p { display:none; }
  body.hito-panel-prototype .proto-ribbon__actions {
    display:grid;
    grid-template-columns:repeat(5,minmax(7.25rem,1fr));
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
  }
  body.hito-panel-prototype .proto-action-cell {
    min-width:7.25rem;
    grid-template-rows:2.35rem 1rem;
    scroll-snap-align:start;
  }
  body.hito-panel-prototype .proto-ribbon__actions {
    overflow-x:auto;
  }
  body.hito-panel-prototype .proto-ribbon__actions button {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body.hito-panel-prototype .workspace { display:block; }
  body.hito-panel-prototype .list {
    position:fixed;
    left:0;
    right:0;
    top:88px;
    z-index:1700;
    display:flex;
    max-height:none;
    min-height:5.25rem;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    background:rgba(9,11,9,.97);
  }
  body.hito-panel-prototype .uga-item {
    flex:0 0 12.5rem;
    min-width:12.5rem;
    min-height:5.25rem;
    padding:.55rem;
    grid-template-columns:3.35rem 1fr auto;
    scroll-snap-align:start;
  }
  body.hito-panel-prototype #mapWrap {
    position:sticky;
    top:calc(88px + 5.25rem);
    z-index:1500;
    min-height:0;
    height:clamp(220px,34dvh,300px);
    background:var(--proto-bg);
  }
  body.hito-panel-prototype #map { min-height:0; height:100%; }
  body.hito-panel-prototype .legend {
    max-width:11rem;
    max-height:7.5rem;
    overflow:auto;
    font-size:.52rem;
  }
  body.hito-panel-prototype .dossier {
    position:relative;
    inset:auto;
    z-index:auto;
    height:auto;
    max-height:none;
    max-width: 100vw;
    box-shadow:none;
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
  }
  body.hito-panel-prototype .dossier h2 {
    font-size:clamp(2rem,10vw,3.15rem);
    line-height:.94;
  }
  body.hito-panel-prototype .dossier p,
  body.hito-panel-prototype .dossier li { font-size:.95rem; }
  body.hito-panel-prototype .proto-rail { display:none; }
  body.hito-panel-prototype .mobile-document-nav {
    position:fixed;
    inset:44px 0 auto;
    z-index:2075;
    display:flex;
    height:44px;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    background:rgba(9,11,9,.98);
    border-bottom:1px solid var(--proto-line);
    scrollbar-width:none;
  }
  body.hito-panel-prototype .mobile-document-nav::-webkit-scrollbar { display:none; }
  body.hito-panel-prototype .mobile-document-nav>* {
    flex:0 0 auto;
    min-width:5.25rem;
    min-height:44px;
    padding:.35rem .55rem;
    border-right:1px solid var(--proto-line);
    color:var(--proto-ink);
    font:700 .55rem/1.1 "IBM Plex Mono",monospace;
    text-transform:uppercase;
    white-space:nowrap;
  }
  body.hito-panel-prototype .mobile-document-nav [data-mobile-action="document"] {
    color:#fff;
    background:#b84137;
  }
  body.hito-panel-prototype .mobile-document-nav [data-mobile-policy] {
    min-width:10.5rem;
  }
  body.hito-panel-prototype .sources {
    max-height:2rem;
    padding:.38rem .75rem!important;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    cursor:pointer;
  }
  body.hito-panel-prototype .sources.sources-expanded {
    max-height:none;
    white-space:normal;
  }
  body.hito-panel-prototype .shell,
  body.hito-panel-prototype .main,
  body.hito-panel-prototype #mapWrap,
  body.hito-panel-prototype .dossier { width:100%; max-width:100vw; min-width:0; }
  body.hito-panel-prototype .dossier,
  body.hito-panel-prototype .dossier * { overflow-wrap:anywhere; }
  body.hito-panel-prototype .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.hito-panel-prototype .metric { min-width:0; padding:.7rem .55rem; }
  body.hito-panel-prototype .metric b { font-size:1rem; }
  body.hito-panel-prototype .leaflet-control-container {
    font-size:12px;
    transform-origin:top left;
  }
  body.hito-panel-prototype .leaflet-control-attribution {
    max-width:72vw;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
  }
  body.hito-panel-prototype .proto-command .atlas-print-button {
    background:#b84137;
    color:#fff;
    font-weight:800;
    box-shadow:inset 0 0 0 2px #f1eee5;
  }
}

@media print {
  body.hito-panel-prototype .proto-status,
  body.hito-panel-prototype .proto-ribbon,
  body.hito-panel-prototype .proto-rail,
  body.hito-panel-prototype .proto-command,
  body.hito-panel-prototype .proto-help {
    display: none !important;
  }
  body.hito-panel-prototype .mobile-document-nav { display:none!important; }
  body.hito-panel-prototype .proto-content-return {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.hito-panel-prototype.map-opening #mapWrap { animation: none; }
}
