/* panel de la consulta pública: se ensancha desde la derecha y cubre todo menos el índice */
html.cq-abierto{overflow:hidden}
.cq{position:fixed;top:0;bottom:0;left:240px;right:0;z-index:3000;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);
  background:#fff;box-shadow:-18px 0 40px rgba(25,10,74,.22);transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);visibility:hidden}
.cq.on{transform:none;visibility:visible}
.cq-map{position:relative;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.cq-maphead{padding:14px 16px 10px;background:var(--sand);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.cq-maphead>b{font:700 16px Outfit;color:var(--navy)} .cq-maphead>span{font-size:14px;color:var(--ink-2)}
.cq-modos{display:flex;flex-wrap:wrap;gap:6px}
.cq-modos button{border:1px solid var(--line);background:#fff;color:var(--navy);font:700 13px Outfit;padding:6px 12px;border-radius:999px;cursor:pointer}
.cq-modos button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.cq-busca{display:flex;gap:6px}
.cq-busca input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font:inherit;font-size:15px}
.cq-busca button{border:0;background:var(--teal);color:#fff;font:700 13px Outfit;padding:0 16px;border-radius:999px;cursor:pointer}
.cq-m{flex:1;min-height:0}
.cq-ayuda{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:900;background:var(--navy);color:#fff;font:600 13px Outfit;padding:7px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(25,10,74,.3);max-width:90%;text-align:center}
.cq-form{position:relative;overflow:auto;padding:22px 26px 40px;background:#fff}
.cq-cerrar{position:sticky;top:0;float:right;margin:-8px -10px 0 0;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;line-height:1;color:var(--navy);cursor:pointer;z-index:5}
.cq-oficial{border:2px solid var(--navy);border-radius:14px;padding:14px 16px;margin-bottom:18px;background:#fbfaff}
.cq-sello{display:inline-block;font:800 11.5px Outfit;letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff;padding:4px 10px;border-radius:6px}
.cq-sello.ok{background:var(--teal)}
.cq-oficial h2{margin:8px 0 6px;font-size:23px;color:var(--navy)}
.cq-oficial ul{margin:6px 0 0;padding-left:18px;font-size:14.5px;color:var(--ink-2)} .cq-oficial li{margin:4px 0}
.cq-plazo{margin:0 0 4px;font-size:15px}
.cq-f fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:14px 0 6px}
.cq-f legend{font:700 16px Outfit;color:var(--navy);padding:0 0 6px}
.cq-f label{display:block;font:600 14px Outfit;color:var(--ink-2);margin:0 0 10px}
.cq-f label i{color:var(--coral);font-style:normal}
.cq-f input:not([type=radio]):not([type=checkbox]),.cq-f select,.cq-f textarea{display:block;width:100%;margin-top:4px;border:1px solid #d6d2e4;border-radius:10px;padding:9px 12px;font:16px 'Barlow Semi Condensed',sans-serif;color:var(--ink);background:#fff}
.cq-f textarea{resize:vertical;min-height:140px}
.cq-f input:focus,.cq-f select:focus,.cq-f textarea:focus{outline:2px solid var(--teal);outline-offset:0;border-color:var(--teal)}
.cq-f small{display:block;font:400 13px 'Barlow Semi Condensed';color:var(--muted);margin-top:3px}
.cq-cnt{text-align:right}
.cq-calidad{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.cq-calidad label,.cq-decl label{display:flex;gap:8px;align-items:flex-start;font:500 14.5px 'Barlow Semi Condensed';color:var(--ink)}
.cq-decl label input,.cq-calidad label input{margin-top:3px;flex:none;width:17px;height:17px;accent-color:var(--navy)}
.cq-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.cq-sel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cq-sel li{display:flex;align-items:center;gap:8px;background:#fffbe0;border:1px solid #f1e08a;border-radius:10px;padding:6px 8px 6px 10px}
.cq-sel .t{font:700 11.5px Outfit;text-transform:uppercase;letter-spacing:.04em;color:#8a6d00;flex:none}
.cq-sel .l{flex:1;font-size:14.5px;line-height:1.25}
.cq-sel button{border:0;background:none;font-size:20px;color:var(--ink-2);cursor:pointer}
.cq-vacio{margin:0;font-size:14.5px;color:var(--muted)}
.cq-files{list-style:none;margin:-4px 0 8px;padding:0;font-size:14px} .cq-files li.mal{color:#c0392b}
.cq-err{background:#fdecea;border:1px solid #f3b8b0;color:#8a1f12;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14.5px}
.cq-err ul{margin:4px 0 0;padding-left:18px}
.cq-btn{display:block;width:100%;border:0;background:var(--coral);color:#fff;font:700 16px Outfit;padding:13px 16px;border-radius:999px;cursor:pointer;margin-top:10px}
.cq-btn:hover{filter:brightness(1.05)} .cq-btn:disabled{opacity:.6;cursor:wait}
.cq-rev h3,.cq-ok h3{margin:10px 0 6px;color:var(--navy);font-size:22px}
.cq-aviso{background:#fff6e0;border:1px solid #f1d58a;border-radius:10px;padding:10px 12px;font-size:14.5px}
.cq-rev table{width:100%;border-collapse:collapse;font-size:14.5px;margin:10px 0}
.cq-rev th{text-align:left;color:var(--muted);font-weight:600;padding:5px 10px 5px 0;vertical-align:top;white-space:nowrap}
.cq-rev td{padding:5px 0;border-bottom:1px solid var(--line)} .cq-rev td ul{margin:0;padding-left:16px}
.cq-obs{background:var(--bg);border-radius:10px;padding:12px 14px;font-size:15px;white-space:normal}
.cq-acc{display:flex;gap:10px;align-items:center;margin-top:14px} .cq-acc .cq-btn{margin:0;flex:1}
.cq-volver{border:1px solid var(--line);background:#fff;color:var(--navy);font:700 15px Outfit;padding:12px 18px;border-radius:999px;cursor:pointer}
@media (max-width:900px){
  .cq{left:0;grid-template-columns:1fr;grid-template-rows:46vh minmax(0,1fr)}
  .cq-map{border-right:0;border-bottom:1px solid var(--line)}
  .cq-form{padding:16px 16px 40px}
}
.cq-pesados{font-size:14px;color:var(--ink-2);background:var(--bg);border-radius:10px;padding:8px 12px;margin:0 0 10px}
.cq-recibo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.cq-recibo div{background:#e6f7f6;border:1px solid #9fdcd8;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.cq-recibo span{font-size:12.5px;color:var(--ink-2)} .cq-recibo b{font:700 17px Outfit;color:var(--navy)} .cq-recibo .mono{font-family:ui-monospace,Menlo,monospace;font-size:15px;letter-spacing:.03em}
a.cq-volver{text-decoration:none;display:inline-block}
/* paso 2 destacado: ubicar la observación en el mapa */
.cq-fsel legend{color:var(--teal-d)}
.cq-vacio{display:flex;gap:12px;align-items:flex-start;background:#e6f7f6;border:2px dashed var(--teal);border-radius:12px;padding:12px 14px;animation:cqpulso 2s ease-in-out infinite}
.cq-vacio b{display:block;font:700 16px Outfit;color:var(--navy);margin-bottom:2px}
.cq-vacio p{margin:0;font-size:14.5px;color:var(--ink-2)}
.cq-flecha{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;font:800 22px Outfit;animation:cqflecha 1.2s ease-in-out infinite alternate}
@keyframes cqflecha{to{transform:translateX(-6px)}}
@keyframes cqpulso{50%{box-shadow:0 0 0 4px rgba(37,176,171,.18)}}
@media (max-width:900px){.cq-flecha{transform:rotate(90deg);animation:none}}
.cq-nsel{margin:0 0 6px;font:700 14px Outfit;color:var(--teal-d)}
@media (prefers-reduced-motion:reduce){.cq-vacio,.cq-flecha{animation:none}}
.cq-f fieldset.cq-fsel{padding-bottom:18px}
.zchlab{background:#8e6fd1;color:#fff;border-color:#4b2a9a}
.cq-m2{font:600 10px Arial,sans-serif;color:#4a4570;background:rgba(255,255,255,.8);border-radius:3px;padding:0 3px;white-space:nowrap;transform:translate(-50%,-50%)}
.cq-files li{display:flex;align-items:center;gap:8px;justify-content:space-between;background:var(--bg);border-radius:8px;padding:4px 6px 4px 10px;margin-bottom:4px}
.cq-files li button{border:0;background:none;font-size:18px;color:var(--ink-2);cursor:pointer}
.cq-files li.cq-mas{background:none;padding:2px 0;color:var(--muted);font-size:13px}
