/* Mapa de actividades — styles copied from PathLight (css/styles.css), Oct 31, 2026.
   PathLight design variables are mapped to the IEC site tokens on .mapa-app. */
.mapa-app{--color-primary:var(--navy);--color-primary-rgb:12,74,90;--color-primary-foreground:#fff;--color-foreground:var(--ink);--color-ink-rgb:19,38,43;--color-muted:#eef4f4;--color-muted-foreground:var(--muted);--color-border:var(--line);--color-card:#fff;--color-card-foreground:var(--ink);--color-surface:var(--paper);--color-background:var(--paper);--color-input:var(--line);--color-secondary:#eef4f4;--color-success:#2e7d4f;--color-destructive:#b3412f;--font-sans:var(--body);--font-serif:var(--display);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--iec-gold:var(--gold);--iec-gold-deep:var(--gold-dark);--iec-gold-light:#f6e3b4;--gradient-card:linear-gradient(165deg,#fff 0%,#fffdf8 60%,#fbf6ec 100%);--gradient-primary:linear-gradient(155deg,#11596b 0%,#08313c 100%);--shadow-border:0 0 0 1px rgba(19,38,43,.07),0 1px 2px -1px rgba(19,38,43,.07),0 2px 4px rgba(19,38,43,.04);--shadow-border-hover:0 0 0 1px rgba(19,38,43,.1),0 1px 2px -1px rgba(19,38,43,.09),0 2px 4px rgba(19,38,43,.06);--shadow-bevel:0 1px 1px rgba(12,74,90,.08),0 8px 20px -8px rgba(12,74,90,.34);font-family:var(--body);color:var(--ink)}
.mapa-app .stack{display:flex;flex-direction:column;gap:1.5rem}
.mapa-app .stack-sm{display:flex;flex-direction:column;gap:.75rem}
.mapa-app .back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;color:var(--slate-dark);text-decoration:none}
.dm-page{--dm-navy: #0c4a5a; --dm-gold: #e3b04b; --dm-gold-soft: #f6e3ad;}
.dm-head h1{font-family: var(--font-serif, Georgia, serif); color: var(--dm-navy); margin: 0 0 .25rem; font-size: 1.55rem;}
.dm-head p{margin: 0; color: var(--color-muted-foreground, #5b6475); font-size: .92rem; line-height: 1.45;}
.dm-body{display: flex; flex-direction: column; gap: .8rem;}
.dm-loading, .dm-note{color: var(--color-muted-foreground, #5b6475); font-size: .92rem; margin: .4rem 0;}
.dm-years{display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .15rem; -webkit-overflow-scrolling: touch;}
.dm-year{flex: none; padding: .35rem .9rem; border-radius: 999px; font-weight: 700; font-size: .9rem; text-decoration: none;
  color: var(--dm-navy); background: var(--color-card, #fff); box-shadow: inset 0 0 0 1.5px #e2c070;}
.dm-year.on{background: var(--dm-navy); color: #f5e7bd; box-shadow: none;}
.dm-stats{display: grid; grid-template-columns: repeat(auto-fit, minmax(6.4rem, 1fr)); gap: .5rem;}
.dm-stat{background: var(--color-card, #fff); border-radius: 14px; padding: .6rem .5rem; text-align: center; box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08));
  border-top: 3px solid var(--dm-gold); display: flex; flex-direction: column; gap: .1rem; min-width: 0;}
.dm-stat b{font-size: 1.35rem; color: var(--dm-navy); font-family: var(--font-serif, Georgia, serif); line-height: 1.1;}
.dm-stat span{font-size: .74rem; color: var(--color-muted-foreground, #5b6475); line-height: 1.2; overflow-wrap: anywhere;}
.dm-stat.big{background: linear-gradient(160deg, #22346a 0%, #0c4a5a 100%); border-top-color: #f1d58e;}
.dm-stat.big b{color: #f5e7bd;}
.dm-stat.big span{color: #e7cf8c;}
.dm-map{height: 58vh; min-height: 300px; max-height: 560px; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08));
  border: 2px solid #e2c070; background: #dbe8f3; z-index: 0;}
.dm-map.off, .dm-pickmap.off{height: auto; min-height: 0; padding: .8rem 1rem; background: var(--color-card, #fff);}
.dm-pin{background: none; border: 0;}
.dm-pin-dot{display: block; width: 24px; height: 24px; margin: 1px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  background: radial-gradient(circle at 50% 50%, #fff7df 0 4px, #e3b04b 5px); border: 2px solid #0c4a5a; box-shadow: 0 2px 5px rgba(0,0,0,.35);}
.dm-pin.pending .dm-pin-dot{background: radial-gradient(circle at 50% 50%, #fff 0 4px, #9aa3b5 5px); border-style: dashed;}
.dm-pop{font-family: var(--font-sans, sans-serif); min-width: 150px;}
.dm-pop strong{display: block; color: #0c4a5a; font-size: .95rem;}
.dm-pop-date{display: block; color: #8a6a14; font-size: .8rem; font-weight: 700; margin-bottom: .25rem;}
.dm-pop ul{margin: 0; padding: 0; list-style: none; font-size: .85rem;}
.dm-pop-note{margin: .35rem 0 0; font-size: .8rem; color: #5b4a22; font-style: italic;}
.dm-pop-pend{margin: .35rem 0 0; font-size: .75rem; color: #9a3412;}
.dm-kind-chip{display: inline-flex; align-items: center; gap: .3rem; padding: .12rem .55rem; border-radius: 999px; font-size: .74rem; font-weight: 700; line-height: 1.4;
  color: #fff; background: var(--k, #e3b04b); vertical-align: middle;}
.dm-kind-chip b{font-weight: 800; opacity: .9;}
.dm-row-date .dm-kind-chip{margin-left: .35rem; font-size: .7rem;}
.dm-legend{display: flex; flex-wrap: wrap; gap: .4rem;}
.dm-pop-kind{display: inline-block; margin-bottom: .3rem; padding: .08rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 700; color: #fff; background: var(--k, #e3b04b);}
.dm-kinds{border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem;}
.dm-kinds legend{font-weight: 700; font-size: .9rem; margin-bottom: .45rem; padding: 0;}
.dm-kind-opt{position: relative; cursor: pointer;}
.dm-kind-opt input{position: absolute; opacity: 0; pointer-events: none;}
.dm-kind-opt span{display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .85rem; border-radius: 999px; font-weight: 600; font-size: .9rem;
  border: 2px solid var(--k, #e3b04b); color: var(--color-foreground, #0c4a5a); background: var(--color-card, #fff);}
.dm-kind-opt span::before{content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: var(--k, #e3b04b);}
.dm-kind-opt input:checked + span{background: var(--k, #e3b04b); color: #fff;}
.dm-kind-opt input:checked + span::before{background: #fff;}
.dm-kind-opt input:focus-visible + span{outline: 3px solid var(--color-ring, #c9921a); outline-offset: 2px;}
.dm-list{display: flex; flex-direction: column; gap: .45rem;}
.dm-list-h{font-size: 1.05rem; margin: .3rem 0 .1rem; color: var(--dm-navy); font-family: var(--font-serif, Georgia, serif);}
.dm-list-h small{font-family: var(--font-sans, sans-serif); color: var(--color-muted-foreground, #5b6475); font-weight: 500; font-size: .8rem;}
.dm-row{background: var(--color-card, #fff); border-radius: 12px; box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08)); border-left: 4px solid var(--dm-gold);}
.dm-row.pending{border-left-color: #9aa3b5; border-left-style: dashed;}
.dm-row-main{display: flex; flex-direction: column; gap: .1rem; width: 100%; text-align: left; background: none; border: 0; padding: .6rem .8rem; cursor: pointer; font: inherit; color: inherit;}
.dm-row-date{font-size: .75rem; font-weight: 800; color: #8a6a14; text-transform: uppercase; letter-spacing: .03em;}
.dm-row-place{font-weight: 700; color: var(--dm-navy);}
.dm-row-q{font-size: .85rem; color: var(--color-muted-foreground, #5b6475);}
.dm-row-note{font-size: .82rem; font-style: italic; color: #5b4a22;}
.dm-row-pend{font-size: .78rem; color: #9a3412; font-weight: 600;}
.dm-row-tools{display: flex; gap: 1rem; padding: 0 .8rem .55rem;}
.dm-link{background: none; border: 0; padding: 0; font: inherit; font-size: .85rem; font-weight: 600; color: #1f5fbf; cursor: pointer; text-decoration: underline;}
.dm-confirm{display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .55rem .8rem; border-top: 1px solid rgba(0,0,0,.08); font-size: .88rem;}
.dm-admin{display: flex; flex-wrap: wrap; gap: .5rem;}
.dm-pending{margin: 0; padding: .55rem .8rem; border-radius: 10px; background: #fff4e5; color: #7a3e0a; font-size: .88rem;}
.dm-btn{display: inline-flex; align-items: center; justify-content: center; gap: .35rem; min-height: 2.6rem; padding: .5rem 1rem; border-radius: 12px; border: 0;
  font: inherit; font-weight: 700; font-size: .92rem; cursor: pointer; text-decoration: none;}
.dm-btn.primary{background: linear-gradient(180deg, #f7cd5c 0%, #dfa322 100%); color: #2a1c00;}
.dm-btn.ghost{background: var(--color-card, #fff); color: var(--dm-navy); box-shadow: inset 0 0 0 1.5px #c9b27a;}
.dm-btn.danger{background: #b42318; color: #fff;}
.dm-btn.gps{background: var(--dm-navy); color: #f5e7bd;}
.dm-btn.big{min-height: 3rem; font-size: 1rem; flex: 1 1 auto;}
.dm-btn:disabled{opacity: .6; cursor: default;}
.dm-panel{background: var(--color-card, #fff); border-radius: 14px; padding: .9rem 1rem; box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08)); border-top: 3px solid var(--dm-gold);
  display: flex; flex-direction: column; gap: .6rem;}
.dm-panel h2{margin: 0; font-size: 1.1rem; color: var(--dm-navy);}
.dm-help{margin: 0; font-size: .82rem; color: var(--color-muted-foreground, #5b6475);}
.dm-msg{margin: 0; font-size: .9rem; font-weight: 600; color: var(--dm-navy); min-height: 1.2em;}
.dm-actions{display: flex; flex-wrap: wrap; gap: .5rem;}
.dm-types{display: flex; flex-direction: column; gap: .4rem;}
.dm-type-row, .dm-add-type{display: flex; gap: .4rem; align-items: center;}
.dm-type-row input, .dm-add-type input{flex: 1; min-width: 0;}
.dm-icon{width: 2.4rem; height: 2.4rem; border-radius: 10px; border: 0; background: rgba(29,43,87,.08); color: var(--dm-navy); font-size: .9rem; cursor: pointer;}
.dm-icon:disabled{opacity: .3;}
.dm-page input[type=text], .dm-page input[type=date], .dm-page input[type=number], .dm-page textarea, .dm-page select{font: inherit; font-size: 16px; padding: .6rem .7rem; border-radius: 10px; border: 1.5px solid #cfc3a0; background: #fff; color: #14203f; width: 100%; box-sizing: border-box;}
.dm-form{display: flex; flex-direction: column; gap: .9rem;}
.dm-field{display: flex; flex-direction: column; gap: .3rem; font-weight: 700; color: var(--dm-navy); font-size: .9rem;}
.dm-field input[type=date]{min-height: 2.9rem;}
.dm-qty{border: 0; margin: 0; padding: .8rem; border-radius: 14px; background: var(--color-card, #fff); box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08)); display: flex; flex-direction: column; gap: .5rem;}
.dm-qty legend{font-weight: 700; color: var(--dm-navy); font-size: .9rem; padding: 0; margin-bottom: .3rem; float: left; width: 100%;}
.dm-q{display: grid; grid-template-columns: 1fr 2.8rem 5.2rem 2.8rem; gap: .35rem; align-items: center;}
.dm-q-name{font-weight: 600; font-size: .95rem; overflow-wrap: anywhere;}
.dm-q input{text-align: center; font-weight: 700; padding: .55rem .2rem !important;}
.dm-step{height: 2.8rem; border-radius: 10px; border: 0; background: var(--dm-navy); color: #f5e7bd; font-size: 1.3rem; font-weight: 700; cursor: pointer; touch-action: manipulation;}
.dm-where{display: flex; flex-wrap: wrap; gap: .5rem;}
.dm-where .dm-btn{flex: 1 1 10rem;}
.dm-loc-msg{margin: -.3rem 0 0; font-size: .85rem; color: #1e6b3c; font-weight: 600; min-height: 1em;}
.dm-results{display: flex; flex-direction: column; gap: .3rem;}
.dm-results[hidden]{display: none;}
.dm-loc-msg:empty{display: none;}
.dm-res{text-align: left; font: inherit; font-size: .85rem; padding: .55rem .7rem; border-radius: 10px; border: 1px solid #e2c070; background: #fffaf0; color: #14203f; cursor: pointer;}
.dm-pickmap{height: 280px; border-radius: 14px; overflow: hidden; border: 2px solid #e2c070; background: #dbe8f3; z-index: 0;}
.dm-pickmap + .dm-help{margin-top: -.5rem;}
.dm-admin .dm-btn.primary{flex: 1 1 100%;}
.dm-admin .dm-btn.ghost{flex: 1 1 0;}
.dm-home-card{background: var(--color-card, #fff); border-radius: 16px; padding: .75rem; box-shadow: var(--shadow-border, 0 0 0 1px rgba(0,0,0,.08)); border-top: 3px solid #e3b04b; display: flex; flex-direction: column; gap: .6rem;}
.dm-home-top{display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .86rem; color: var(--color-muted-foreground, #5b6475); line-height: 1.35;}
.dm-home-top b{color: #0c4a5a; font-weight: 800;}
.dm-home-year{flex: none; background: #0c4a5a; color: #f5e7bd; font-weight: 800; font-size: .8rem; padding: .15rem .6rem; border-radius: 999px;}
.dm-map.dm-map-home{height: 300px; min-height: 0; max-height: none; border-radius: 12px;}
.dm-home-foot{display: flex; align-items: center; justify-content: space-between; gap: .5rem; flex-wrap: wrap;}
.dm-home-more{font-weight: 700; font-size: .9rem; color: #1f5fbf; text-decoration: none;}
.dm-home-add{min-height: 2.3rem; padding: .35rem .85rem; font-size: .85rem;}
.dm-home-off{margin: 0; font-size: .8rem; color: #7a3e0a;}
.dm-fab{position: fixed; right: 14px; bottom: calc(84px + env(safe-area-inset-bottom, 0px)); z-index: 900; display: inline-flex; align-items: center; gap: .4rem;
  padding: .8rem 1.15rem; border-radius: 999px; background: #1f2f46; color: #fff; font-weight: 800; font-size: 1rem; text-decoration: none;
  box-shadow: 0 10px 24px -10px rgba(10,20,35,.6), 0 0 0 3px rgba(255,255,255,.85);}
.dm-fab:active{transform: scale(.97);}
.dm-ci-page .dm-head h1{margin-bottom: .2rem;}
.dm-ci{gap: 1rem;}
.dm-ci-where{display: flex; flex-direction: column; gap: .55rem;}
.dm-ci-loc{display: flex; align-items: center; justify-content: space-between; gap: .6rem; font-size: .92rem; font-weight: 600; color: #2c3f2a; background: #e6eee2; border-radius: 12px; padding: .55rem .8rem;}
.dm-ci-map{height: 170px;}
.dm-ci .dm-kinds{display: flex; flex-wrap: wrap; gap: .45rem;}
.dm-ci-text textarea, .dm-form .dm-ci-text textarea{width: 100%; font-size: 1.05rem; line-height: 1.45;}
.dm-ci-text label, .dm-ci-photos > span{display: block; font-weight: 700; font-size: .9rem; margin-bottom: .3rem;}
.dm-dict{display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .45rem;}
.dm-mic{display: inline-flex; align-items: center; gap: .45rem; border: 0; border-radius: 999px; padding: .6rem 1rem; font: inherit; font-weight: 700; cursor: pointer;
  background: #1f2f46; color: #fff;}
.dm-mic-ic{font-size: 1.15rem; line-height: 1;}
.dm-mic.on{background: #b42318; animation: dm-pulse 1.3s ease-in-out infinite;}
.dm-dict-lang{display: inline-flex; border-radius: 999px; overflow: hidden; box-shadow: inset 0 0 0 1.5px #b9c6b5;}
.dm-dict-lang button{border: 0; background: transparent; padding: .45rem .7rem; font: inherit; font-size: .8rem; font-weight: 800; color: #5b6573; cursor: pointer;}
.dm-dict-lang button.on{background: #8fb08b; color: #10200f;}
.dm-dict-msg{flex: 1 1 100%; margin: 0; font-size: .8rem; color: #5b6573;}
.dm-dict-msg:empty{display: none;}
.dm-pick-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem;}
.dm-pick-t{position: relative; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: #e6eee2;}
.dm-pick-t img{width: 100%; height: 100%; object-fit: cover; display: block;}
.dm-pick-t button{position: absolute; top: 4px; right: 4px; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 0; background: rgba(15,22,32,.72); color: #fff; font-size: .9rem; cursor: pointer;}
.dm-pick-add{aspect-ratio: 1; border-radius: 12px; border: 2px dashed #b9c6b5; background: transparent; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem;
  font: inherit; font-size: .8rem; font-weight: 700; color: #3f5a3c; cursor: pointer;}
.dm-pick-add span:first-child{font-size: 1.5rem;}
.dm-pick-msg{margin: .3rem 0 0; font-size: .8rem; color: #9a3412;}
.dm-pick-msg:empty{display: none;}
.dm-ci-more{border-radius: 12px; background: rgba(31,47,70,.04); padding: .55rem .8rem;}
.dm-ci-more summary{cursor: pointer; font-weight: 700; font-size: .9rem; color: #3f5a3c;}
.dm-ci-more[open]{display: flex; flex-direction: column; gap: .7rem;}
.dm-pop-text{margin: .35rem 0 0; font-size: .86rem; line-height: 1.4; color: #24303d; white-space: normal;}
.dm-photos{display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: .45rem;}
.dm-photos.n1{grid-template-columns: 1fr;}
.dm-photos.n2{grid-template-columns: 1fr 1fr;}
.dm-ph{padding: 0; border: 0; border-radius: 8px; overflow: hidden; aspect-ratio: 4 / 3; background: #e6eee2; cursor: zoom-in;}
.dm-ph img{width: 100%; height: 100%; object-fit: cover; display: block;}
.dm-row .dm-photos{flex: 1 1 100%; max-width: 330px; margin: .1rem 0 .3rem .2rem;}
.dm-row-text{display: block; font-size: .88rem; line-height: 1.4; color: #2b3644; margin-top: .2rem;}
.dm-row.focus{box-shadow: 0 0 0 2px #8fb08b;}
.dm-viewer{position: fixed; inset: 0; z-index: 10000; background: rgba(8,12,18,.94); display: flex; align-items: center; justify-content: center;}
.dm-viewer img{max-width: 100%; max-height: 100%; object-fit: contain;}
.dm-viewer button{position: absolute; border: 0; background: rgba(255,255,255,.14); color: #fff; width: 2.8rem; height: 2.8rem; border-radius: 50%; font-size: 1.4rem; cursor: pointer;}
.dm-v-x{top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px;}
.dm-v-prev{left: 10px; top: 50%; transform: translateY(-50%);}
.dm-v-next{right: 10px; top: 50%; transform: translateY(-50%);}
.dm-pop .dm-photos, .dm-pop .dm-photos.n1, .dm-pop .dm-photos.n2{grid-template-columns: repeat(3, 1fr);}
.dm-pop .dm-ph{aspect-ratio: 1;}
.dm-ci-find{align-self: flex-start; font-size: .88rem;}
.dm-sat-btn{border: 0; border-radius: 999px; padding: .4rem .8rem; font: 700 .8rem/1.2 var(--font-sans, system-ui, sans-serif); cursor: pointer;
  background: rgba(255,255,255,.94); color: #1f2f46; box-shadow: 0 2px 8px rgba(10,20,35,.25);}
.dm-sat-btn[aria-pressed="true"]{background: #1f2f46; color: #fff;}
/* IEC: en «Reportar actividad» (teléfono) se oculta el encabezado grande de la página para ir directo al formulario. */
body.mapa-ci .page-header{display:none}
body.mapa-ci .mapa-sec{padding-top:12px}
.mapa-app{max-width:900px;margin-inline:auto}
.mapa-app .dm-head h1{font-family:var(--display);font-weight:600;color:var(--navy)}
.mapa-app .dm-list-fold{margin-top:14px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 14px}
.mapa-app .dm-list-fold>summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--navy)}
.mapa-app .dm-list-fold[open]>summary{border-bottom:1px solid var(--line);margin-bottom:10px}

/* Ventanita «Reportar actividad» del Admin (teléfono): /mapa/?popup=1 muestra solo el formulario */
html.in-popup body>div:first-child,html.in-popup .info-bar,html.in-popup .site-header,html.in-popup .page-header,html.in-popup .site-footer,html.in-popup .ed-ui{display:none!important}
html.in-popup main .sec{padding-top:12px!important}
html.in-popup .dm-head{display:none}
html.in-popup .rc-back,html.in-popup .back-link{display:none!important}
