/**
 * POR QU?: mantener la presentaci?n de denuncias.html separada de su estructura HTML.
 * C?MO: re?ne los estilos propios de la p?gina y las antiguas declaraciones en l?nea en clases reutilizables.
 * QU?: reglas visuales espec?ficas de denuncias, sin l?gica ni contenido estructural.
 */


.report-hero-section {
      padding: 6.5rem 0 3.5rem;
      background: radial-gradient(circle at 15% 25%, rgba(46, 125, 50, 0.4) 0%, transparent 60%),
                  radial-gradient(circle at 85% 75%, rgba(246, 94, 1, 0.25) 0%, transparent 60%),
                  #0A1120;
      border-bottom: 1px solid rgba(46, 125, 50, 0.3);
    }
    .report-tag-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.35rem 1rem;
      background: rgba(46, 125, 50, 0.2);
      border: 1px solid rgba(74, 222, 128, 0.45);
      border-radius: 9999px;
      font-family: var(--font-tech);
      font-size: 0.78rem;
      font-weight: 800;
      color: #8DBF9A;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 1rem;
    }
    .report-card-wrap {
      background: rgba(15, 23, 42, 0.88);
      border: 1.5px solid rgba(74, 222, 128, 0.3);
      border-radius: 24px;
      padding: 2.2rem;
      backdrop-filter: blur(20px);
      box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
      margin-top: 2rem;
    }
    .report-form-group {
      display: flex;
      flex-direction: column;
      gap: 0.4rem;
      margin-bottom: 1.25rem;
    }
    .report-form-label {
      font-family: var(--font-tech);
      font-size: 0.84rem;
      font-weight: 700;
      color: var(--arena-pinolera);
      letter-spacing: 0.5px;
    }
    .report-input, .report-select, .report-textarea {
      width: 100%;
      background: rgba(10, 15, 29, 0.85);
      border: 1.2px solid rgba(255, 255, 255, 0.12);
      border-radius: 12px;
      padding: 0.75rem 1rem;
      color: #FFFFFF;
      font-family: var(--font-main);
      font-size: 0.9rem;
      outline: none;
      transition: border-color 0.25s ease, box-shadow 0.25s ease;
    }
    .report-input:focus, .report-select:focus, .report-textarea:focus {
      border-color: #8DBF9A;
      box-shadow: 0 0 14px rgba(74, 222, 128, 0.35);
    }
    .report-submit-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      width: 100%;
      padding: 0.85rem 1.5rem;
      background: linear-gradient(135deg, #4A7A5A 0%, #166534 100%);
      border: 1px solid rgba(74, 222, 128, 0.5);
      border-radius: 14px;
      color: #FFFFFF;
      font-family: var(--font-tech);
      font-size: 0.95rem;
      font-weight: 800;
      letter-spacing: 0.5px;
      cursor: pointer;
      box-shadow: 0 6px 20px rgba(22, 101, 52, 0.5);
      transition: transform 0.22s ease, box-shadow 0.22s ease;
    }
    .report-submit-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(74, 222, 128, 0.6);
      background: linear-gradient(135deg, #4A7A5A 0%, #4A7A5A 100%);
    }
    .hotlines-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
      gap: 1.3rem;
      margin-top: 2.5rem;
    }
    .hotline-card {
      background: rgba(15, 23, 42, 0.8);
      border: 1px solid rgba(255, 255, 255, 0.1);
      border-radius: 18px;
      padding: 1.5rem;
      display: flex;
      gap: 1.2rem;
      align-items: center;
      transition: transform 0.25s ease, border-color 0.25s ease;
    }
    .hotline-card:hover {
      transform: translateY(-3px);
      border-color: var(--terracotta);
    }
    .hotline-icon-box {
      width: 48px;
      height: 48px;
      border-radius: 14px;
      background: rgba(22, 93, 111, 0.4);
      border: 1px solid rgba(45, 212, 191, 0.3);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #8DBF9A;
      font-size: 1.3rem;
      flex-shrink: 0;
    }

html body .denuncias-inline-001 {
  font-size: clamp(2rem, 3.8vw, 3rem) !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  margin-bottom: 0.8rem !important;
}

html body .denuncias-inline-002 {
  font-size: 1.05rem !important;
  color: var(--arena-pinolera) !important;
  max-width: 800px !important;
  line-height: 1.6 !important;
}

html body .denuncias-inline-003 {
  font-size: 1.25rem !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  margin-bottom: 1.2rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.6rem !important;
}

html body .denuncias-inline-004 {
  color: #8DBF9A !important;
}

html body .denuncias-inline-005 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)) !important;
  gap: 1rem !important;
}

html body .denuncias-inline-006 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)) !important;
  gap: 1rem !important;
  margin-bottom: 1.5rem !important;
}

html body .denuncias-inline-007 {
  font-size: 0.95rem !important;
  color: #FFFFFF !important;
  font-weight: 800 !important;
  margin-bottom: 0.2rem !important;
}

html body .denuncias-inline-008 {
  font-size: 0.8rem !important;
  color: var(--text-muted) !important;
  margin: 0 !important;
}

html body .denuncias-inline-009 {
  color: var(--terracotta-light) !important;
}

html body .denuncias-inline-010 {
  color: #25D366 !important;
}

html body .denuncias-inline-011 {
  color: #8DBF9A !important;
  font-weight: 700 !important;
}

html body .denuncias-inline-012 {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}

html body .denuncias-inline-013 {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-family: var(--font-tech) !important;
  font-size: 0.75rem !important;
  color: #4A7A5A !important;
  background: rgba(16, 185, 129, 0.1) !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
  padding: 0.25rem 0.65rem !important;
  border-radius: 9999px !important;
}

html body .denuncias-inline-014 {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #4A7A5A !important;
  box-shadow: 0 0 6px #4A7A5A !important;
}

/*
 * 🎯 POR QUÉ: asegurar contraste legible y continuidad con la identidad clara del sitio.
 * ⚙️ CÓMO: sustituye superficies oscuras por tarjetas blancas, bordes suaves y acentos oficiales.
 * 📦 QUÉ: hero, formulario, campos y líneas de atención adaptables y claramente jerarquizados.
 */
html body .report-hero-section { padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); background: radial-gradient(circle at 8% 8%, rgba(244, 230, 193, 0.72), transparent 32%), radial-gradient(circle at 92% 18%, rgba(22, 93, 111, 0.12), transparent 30%), #FFFFFF; border-bottom: 1px solid #DDE7EA; }
html body .report-tag-badge { color: #165D6F; background: #EDF6F7; border-color: rgba(22, 93, 111, 0.24); }
html body .denuncias-inline-001, html body .denuncias-inline-003, html body .denuncias-inline-007 { color: #0F172A !important; }
html body .denuncias-inline-002, html body .denuncias-inline-008 { color: #52627A !important; }
html body .report-card-wrap { background: rgba(255, 255, 255, 0.96); border: 1px solid #D8E3E7; box-shadow: 0 24px 60px rgba(15, 23, 42, 0.10); backdrop-filter: blur(18px); }
html body .report-form-label { color: #334155; }
html body .report-input, html body .report-select, html body .report-textarea { background: #F8FAFC; border-color: #CBD5E1; color: #0F172A; }
html body .report-input::placeholder, html body .report-textarea::placeholder { color: #718096; }
html body .report-input:focus, html body .report-select:focus, html body .report-textarea:focus { background: #FFFFFF; border-color: #165D6F; box-shadow: 0 0 0 4px rgba(22, 93, 111, 0.13); }
html body .report-submit-btn { background: linear-gradient(135deg, #165D6F, #0F4B5A); border-color: #165D6F; box-shadow: 0 10px 24px rgba(22, 93, 111, 0.25); }
html body .report-submit-btn:hover { background: linear-gradient(135deg, #F65E01, #D94F00); box-shadow: 0 12px 28px rgba(246, 94, 1, 0.28); }
html body .hotline-card { background: #FFFFFF; border-color: #D8E3E7; box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07); }
html body .hotline-icon-box { background: #EDF6F7; border-color: rgba(22, 93, 111, 0.2); color: #165D6F; }
@media (max-width: 640px) { html body .report-card-wrap { padding: 1.25rem; border-radius: 18px; } html body .hotlines-grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Denuncia confidencial real (2026-10-06): aviso de emergencia, mapa con punto
   movible, evidencias, comprobante y consulta de estado. Móvil primero; el
   texto mantiene contraste AA sobre fondo blanco.
   ========================================================================== */
.eco-emergency-note { display: flex; gap: 12px; align-items: flex-start; background: #FFF7ED; border: 1px solid #FDBA74; color: #7C2D12; border-radius: 12px; padding: 12px 14px; margin: 0 0 18px; }
.eco-emergency-note i { color: #C2410C; margin-top: 3px; }
.eco-emergency-note p { margin: 0; font-size: .88rem; line-height: 1.5; }
.eco-map-fieldset { border: 1px solid #E2E8F0; border-radius: 12px; padding: 14px; margin: 0 0 18px; min-width: 0; }
.eco-map-fieldset legend { padding: 0 6px; }
.eco-help { font-size: .8rem; color: #475569; margin: 4px 0 10px; line-height: 1.5; }
.eco-map-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.eco-btn-secondary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 16px; border-radius: 10px; border: 1.5px solid #165D6F; background: #FFFFFF; color: #165D6F; font-weight: 700; font-size: .88rem; cursor: pointer; }
.eco-btn-secondary:hover, .eco-btn-secondary:focus-visible { background: #165D6F; color: #FFFFFF; }
.eco-btn-link { background: none; border: none; color: #165D6F; text-decoration: underline; font-weight: 600; cursor: pointer; min-height: 44px; padding: 0 8px; }
.eco-map { height: 320px; width: 100%; border-radius: 10px; border: 1px solid #CBD5E1; }
.eco-coords { font-size: .82rem; color: #0D1B2A; margin: 8px 0 0; font-family: ui-monospace, monospace; }
.eco-check { display: flex; align-items: flex-start; gap: 8px; font-size: .86rem; color: #0D1B2A; margin-top: 8px; line-height: 1.45; cursor: pointer; }
.eco-check input { width: 18px; height: 18px; margin-top: 2px; flex: 0 0 auto; accent-color: #165D6F; }
.eco-check a { color: #165D6F; font-weight: 700; }
.eco-evidence-list { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 8px; }
.eco-evidence-list li { display: flex; align-items: center; gap: 10px; border: 1px solid #E2E8F0; border-radius: 10px; padding: 6px 8px; min-width: 0; }
.eco-evidence-list img, .eco-video-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; }
.eco-video-thumb { display: inline-flex; align-items: center; justify-content: center; background: #0D1B2A; color: #FFFFFF; }
.eco-file-name { flex: 1 1 auto; min-width: 0; font-size: .82rem; color: #0D1B2A; overflow-wrap: anywhere; }
.eco-trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.eco-status { margin: 12px 0; padding: 12px 14px; border-radius: 10px; font-size: .88rem; line-height: 1.5; }
.eco-status.is-error { background: #FEF2F2; border: 1px solid #FCA5A5; color: #7F1D1D; }
.eco-status.is-ok { background: #F0FDF4; border: 1px solid #86EFAC; color: #14532D; }
.eco-receipt { background: #FFFFFF; border: 1px solid #86EFAC; border-radius: 16px; padding: 22px; color: #0D1B2A; }
.eco-receipt h3 { margin: 0 0 8px; font-size: 1.2rem; color: #0D1B2A; }
.eco-receipt p { color: #334155; font-size: .9rem; line-height: 1.55; }
.eco-receipt dl { margin: 14px 0; display: grid; gap: 8px; }
.eco-receipt-row { display: grid; grid-template-columns: minmax(110px, 40%) 1fr; gap: 10px; border-bottom: 1px solid #F1F5F9; padding-bottom: 6px; }
.eco-receipt-row dt { font-weight: 700; font-size: .82rem; color: #475569; }
.eco-receipt-row dd { margin: 0; font-size: .88rem; color: #0D1B2A; overflow-wrap: anywhere; }
.eco-token-box { background: #F8FAFC; border: 1px dashed #94A3B8; border-radius: 12px; padding: 14px; margin: 12px 0; }
.eco-token-box code { display: block; font-size: .95rem; font-weight: 700; color: #165D6F; overflow-wrap: anywhere; margin: 6px 0 10px; }
.eco-receipt .eco-btn-secondary { margin: 6px 6px 0 0; }
.eco-lookup { margin-top: 18px; border: 1px solid #E2E8F0; border-radius: 12px; padding: 12px 14px; background: #FFFFFF; }
.eco-lookup summary { cursor: pointer; font-weight: 700; color: #165D6F; min-height: 32px; }
.eco-lookup form { margin-top: 12px; }
.report-input[aria-invalid="true"], .report-select[aria-invalid="true"], .report-textarea[aria-invalid="true"] { border-color: #DC2626 !important; }
@media (max-width: 640px) { .eco-receipt-row { grid-template-columns: 1fr; gap: 2px; } .eco-map { height: 260px; } }
