.report-page {
  min-height: calc(100vh - 156px);
  background:
    radial-gradient(circle at 97% 5%, rgba(255, 207, 102, 0.2), transparent 24rem),
    radial-gradient(circle at 0 42%, rgba(88, 208, 188, 0.12), transparent 29rem),
    #f9faf7;
}

.breadcrumb a {
  color: var(--nc-petroleum);
}

.report-category-badge,
.status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 850;
}

.report-category-badge {
  color: #fff;
  background: var(--report-color, var(--nc-petroleum));
}

.status-badge {
  color: #36505a;
  background: #e4edef;
}

.status-resolved {
  color: #07594e;
  background: #d8f3ed;
}

.status-resolution_reported {
  color: #755500;
  background: #fff1c2;
}

.report-title {
  max-width: 24ch;
  margin-bottom: 0.5rem;
  color: var(--nc-charcoal);
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.report-place {
  color: var(--nc-muted);
  font-size: 1.08rem;
}

.report-place code {
  color: var(--nc-petroleum);
  font-size: 1em;
  font-weight: 850;
  letter-spacing: 0.09em;
}

.report-copy-folio {
  margin-left: 0.25rem;
  padding: 0.2rem 0.45rem;
  border: 0;
  border-radius: 0.4rem;
  color: var(--nc-petroleum);
  background: #e4eff1;
  font-size: 0.82rem;
  font-weight: 750;
}

.report-copy-folio:hover,
.report-copy-folio:focus-visible {
  background: #c9e2e5;
}

.report-photo-wrap {
  overflow: hidden;
  margin: 1.5rem 0;
  background: #dfe8ea;
  border: 1px solid var(--nc-border);
  border-radius: 1.1rem;
}

.report-photo {
  display: block;
  width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: contain;
  object-position: center;
}

.report-photo-caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.65rem 1rem;
  color: var(--nc-muted);
  background: #fff;
  font-size: 0.83rem;
}

.report-photo-caption button {
  padding: 0;
  border: 0;
  color: #8f3d35;
  background: none;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.report-photo-caption button:hover,
.report-photo-caption button:focus-visible {
  color: #64251f;
}

.report-description,
.report-map-card,
.updates-section,
.report-side-card,
.report-not-found {
  padding: 1.25rem;
  background: #fff;
  border: 1px solid var(--nc-border);
  border-radius: var(--nc-radius);
}

.report-description-content {
  margin-bottom: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.7;
}

.report-map-card,
.updates-section {
  margin-top: 1.25rem;
}

.report-history-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.report-history-head > span {
  flex: none;
  color: var(--nc-muted);
  font-size: 0.85rem;
}
.report-history-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.65rem}.report-history-actions>span{color:#607276;font-size:.82rem;font-weight:800}.report-history-actions .btn{font-weight:800}.report-comment-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(280px,1.15fr);gap:1rem;margin-top:1rem;padding:1.15rem;border:1px solid #cfe3df;border-radius:1rem;background:#f7fbfa}.report-comment-section p{margin-bottom:0;color:#5d7073}.report-comment-section form{display:grid;gap:.7rem}.report-comment-section .btn{justify-self:end;font-weight:800}#reportNoteModal .modal-header{color:#fff;background:linear-gradient(115deg,#17516f,#0d807a)}#reportNoteModal .modal-header .btn-close{filter:invert(1)}

.report-history-intro {
  margin: 0.8rem 0 0;
  color: var(--nc-muted);
  font-size: 0.9rem;
}

.report-map-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.report-map-heading > a {
  color: var(--nc-muted);
  font-size: 0.9rem;
}

.report-map-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.report-map-actions a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 38px;
  padding: 0.4rem 0.7rem;
  color: #155666;
  background: #eaf8f5;
  border: 1px solid #a8dcd2;
  border-radius: 0.6rem;
  font-size: 0.84rem;
  font-weight: 800;
  text-decoration: none;
}

.report-map-actions a:last-child { background: #fff2cd; border-color: #e9ca7a; color: #574318; }
.report-map-actions a:hover, .report-map-actions a:focus-visible { background: #c9ece5; color: #124751; }
.report-map-actions a:last-child:hover, .report-map-actions a:last-child:focus-visible { background: #ffe4a0; color: #433000; }

.report-address {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1rem;
  margin: 0 0 1rem;
  padding: 1rem;
  background: #f4f8f8;
  border-radius: 0.7rem;
}

.report-address dt {
  color: var(--nc-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.report-address dd {
  margin: 0;
  color: var(--nc-charcoal);
  font-weight: 750;
}

.report-location-note {
  margin: 0 0 1rem;
  color: #42616a;
  font-size: 0.86rem;
}

.report-location-private {
  display: flex;
  align-items: start;
  gap: 0.85rem;
  padding: 1rem;
  color: #315e64;
  background: #e9f3f2;
  border: 1px solid #bfdbd8;
  border-radius: 0.7rem;
}

.report-location-private .fa-solid {
  flex: none;
  font-size: 1.25rem;
}

.report-location-private p {
  margin: 0;
}

#reportMap {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  background: #dce9eb;
  border-radius: 0.8rem;
}

#reportMap::after {
  position: absolute;
  inset: 0;
  z-index: 400;
  border: 2px solid rgba(22, 135, 126, .18);
  border-radius: inherit;
  box-shadow: inset 0 0 0 0 rgba(22, 135, 126, .16);
  content: "";
  pointer-events: none;
  animation: report-map-breathe 4.8s ease-in-out infinite;
}

.report-detail-marker-icon { background: transparent; border: 0; }
.report-detail-marker { --report-marker-color: #16877e; position: relative; display: grid; width: 54px; height: 54px; place-items: center; }
.report-detail-marker-ripple { position: absolute; inset: 5px; border: 3px solid color-mix(in srgb, var(--report-marker-color) 78%, white); border-radius: 50%; opacity: .74; animation: report-marker-ripple 2.2s ease-out infinite; }
.report-detail-marker-pin { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 14px; color: #fff; background: var(--report-marker-color); box-shadow: 0 8px 18px rgba(18, 53, 64, .3); transform: rotate(-45deg); animation: report-marker-float 2.6s ease-in-out infinite; }
.report-detail-marker-pin i { font-size: 1rem; transform: rotate(45deg); }
.report-detail-marker.is-approximate .report-detail-marker-pin { border-radius: 50%; }
@keyframes report-marker-ripple { 0% { opacity: .72; transform: scale(.55); } 78%, 100% { opacity: 0; transform: scale(1.55); } }
@keyframes report-marker-float { 0%, 100% { transform: translateY(0) rotate(-45deg); } 50% { transform: translateY(-4px) rotate(-45deg); } }
@keyframes report-map-breathe { 0%, 100% { box-shadow: inset 0 0 0 0 rgba(22, 135, 126, .12); } 50% { box-shadow: inset 0 0 0 5px rgba(22, 135, 126, .1); } }

.update-timeline {
  display: grid;
  gap: 0;
  padding: 0;
  margin: 1.25rem 0 0 1rem;
  list-style: none;
}

.update-timeline li {
  position: relative;
  min-height: 4.5rem;
  padding: 0 0 1.4rem 1.6rem;
  border-left: 2px solid #cfe2e5;
}

.update-timeline li:last-child {
  border-left-color: transparent;
}

.history-icon {
  position: absolute;
  top: 0;
  left: -1rem;
  display: grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  color: #fff;
  background: var(--nc-petroleum);
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #a8cbd0;
  font-size: 0.7rem;
}

.history-created .history-icon {
  background: #16877e;
}

.history-authority_response .history-icon {
  background: #765db5;
}

.history-photo .history-icon {
  background: #ab6b24;
}

.update-timeline strong {
  display: block;
  color: var(--nc-charcoal);
}

.update-timeline time {
  display: block;
  color: var(--nc-muted);
  font-size: 0.85rem;
}

.history-person {
  display: inline-block;
  margin: 0.22rem 0.45rem 0.1rem 0;
  color: #125f69;
  font-size: 0.86rem;
  font-weight: 800;
  overflow-wrap: anywhere;
  border: 0;
  padding: 0;
  background: transparent;
  text-decoration: underline;
  text-decoration-color: rgba(18, 95, 105, 0.28);
  text-underline-offset: 0.16em;
}

.history-identity {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25rem;
  max-width: 100%;
  vertical-align: middle;
}

.history-identity .history-person { margin-right: 0; }

.history-identity .report-author-badge {
  padding: 0.13rem 0.46rem;
  font-size: 0.73rem;
  line-height: 1.2;
}

.history-still-present-group details {
  padding: 0.75rem 0.85rem;
  background: #effaf7;
  border: 1px solid #b8e6dc;
  border-radius: 0.75rem;
}

.history-still-present-group summary {
  cursor: pointer;
  color: #185b62;
  font-weight: 800;
}

.history-still-present-group summary strong { display: inline; }
.history-still-present-group summary span { display: block; margin-left: 1.1rem; color: #476b70; font-size: 0.82rem; }
.history-still-present-group summary:focus-visible { outline: 3px solid #f0c756; outline-offset: 3px; }
.history-group-list { display: grid; gap: 0.6rem; margin: 0.75rem 0 0; padding: 0; list-style: none; }
.history-group-list li { min-height: 0; padding: 0.65rem 0.75rem; background: #fff; border: 1px solid #d1e8e3; border-radius: 0.6rem; }
.history-group-list li:last-child { border-left-color: #d1e8e3; }
.history-group-list p { margin-top: 0.3rem; overflow-wrap: anywhere; }

.update-timeline p {
  margin: 0.35rem 0 0;
}

.history-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.45rem;
  color: var(--nc-petroleum);
  font-size: 0.88rem;
  font-weight: 750;
}

.history-source-card {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
  overflow: hidden;
  max-width: 620px;
  margin-top: 0.7rem;
  color: #23434b;
  background: #f5faf9;
  border: 1px solid #cfe3df;
  border-radius: 0.8rem;
  text-decoration: none;
}

.history-source-card img { width: 100%; height: 100%; min-height: 112px; object-fit: cover; background: #dfecea; }
.history-source-card span { display: grid; align-content: center; gap: 0.35rem; padding: 0.8rem; }
.history-source-card strong { color: #174f5a; }
.history-source-card small { color: #597074; line-height: 1.4; }
.history-source-card em { color: #0e7474; font-size: 0.8rem; font-style: normal; font-weight: 800; }
.history-source-card:hover, .history-source-card:focus-visible { border-color: #58aaa0; background: #edf8f6; }

.history-x-embed { display: grid; justify-items: start; gap: 0.4rem; margin-top: 0.65rem; }
.history-x-embed small { color: var(--nc-muted); font-size: 0.75rem; }
.history-x-embed > div { max-width: 100%; }
.x-embed-status { margin: 0; color: var(--nc-muted); font-size: 0.82rem; line-height: 1.45; }
.x-embed-target { width: 100%; max-width: 550px; }
.x-embed-target > * { max-width: 100% !important; }

.report-side-card {
  top: 96px;
  border-top: 5px solid var(--nc-coral, #df614f);
  box-shadow: 0 14px 40px rgba(22, 78, 99, 0.1);
}

.report-context-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin: 0 0 1.25rem;
}
.report-context-actions a {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  align-items: center;
  gap: .6rem;
  min-height: 58px;
  padding: .65rem .72rem;
  border: 1px solid #cfe1e1;
  border-radius: .85rem;
  color: #24515f;
  background: #fff;
  box-shadow: 0 6px 18px rgba(23, 74, 86, .05);
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.report-context-actions a > i {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: .72rem;
  color: #0a7775;
  background: #e1f5f1;
}
.report-context-actions strong,
.report-context-actions small { display: block; }
.report-context-actions strong { font-size: .78rem; line-height: 1.3; }
.report-context-actions small { margin-top: .12rem; color: #65797e; font-size: .67rem; line-height: 1.25; }
.report-context-actions a:hover,
.report-context-actions a:focus-visible { border-color: #72b9b2; color: #174859; background: #f0faf8; outline: 3px solid rgba(8, 125, 121, .16); transform: translateY(-2px); }
.report-corroboration-method-details { margin-top: .75rem; border: 1px solid #d7e4e4; border-radius: .72rem; background: #f8fbfb; }
.report-corroboration-method-details summary { min-height: 44px; padding: .72rem .8rem; color: #315961; font-size: .76rem; font-weight: 850; cursor: pointer; }
.report-corroboration-method-details summary i { margin-right: .35rem; color: #0e7771; }
.report-corroboration-method-details .report-corroboration-method { margin: 0; padding: 0 .8rem .8rem; }

@media (max-width: 992px) { .report-context-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .report-context-actions { grid-template-columns: 1fr; } .report-context-actions a { min-height: 54px; } }
@media (prefers-reduced-motion: reduce) { .report-context-actions a { transition: none; } .report-context-actions a:hover { transform: none; } }

.support-count {
  color: #3f555e;
}

.support-count strong {
  color: var(--nc-petroleum);
  font-size: 1.65rem;
}

.report-supporters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: -0.35rem 0 0.65rem;
}

.report-supporters span,
.report-supporters button {
  max-width: 100%;
  padding: 0.24rem 0.5rem;
  border: 0;
  color: #135967;
  background: #eaf8f5;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.report-supporters button:hover,
.report-supporters button:focus-visible { color: #fff; background: #176f68; outline: 3px solid rgba(23,111,104,.2); outline-offset: 1px; }

.report-supporters-more { margin: -0.3rem 0 0.65rem; color: var(--nc-muted); font-size: 0.78rem; }
.report-participation-heading { margin: .75rem 0; padding: .8rem .9rem; border-radius: .78rem; color: #174f5a; background: linear-gradient(120deg,#e7f8f4,#fff6d9); }
.report-participation-heading h2 { display: flex; align-items: center; gap: .4rem; }
.report-participation-heading i { color: #0e7771; }
#reportParticipationPanel #participationActions,
#reportParticipationPanel .report-participation-guest,
#reportParticipationPanel .report-closed-side,
#reportParticipationPanel .report-admin-tools,
#reportParticipationPanel #reportEditLink { margin-bottom: .8rem; }
#reportParticipationPanel #participationActions .btn { min-height: 46px; }

.report-vote-correction {
  display: grid;
  gap: 0.4rem;
  padding: 0.8rem;
  background: #fff9e9;
  border: 1px solid #f1db9e;
  border-radius: 0.75rem;
}

.report-vote-correction p { margin: 0; color: #564416; font-size: 0.84rem; font-weight: 800; }
.report-vote-correction small { color: #665a39; font-size: 0.75rem; }
.report-vote-correction button { width: fit-content; color: #624c21; border-color: #bda86f; font-weight: 750; }

.report-participation-identity { padding: 0.55rem 0.7rem; color: #3d5860; background: #f0f8f8; border-radius: 0.55rem; font-size: 0.76rem; line-height: 1.4; }
.report-participation-identity i { color: #0e7771; margin-right: 0.2rem; }

.report-community-forms { display: grid; gap: 1rem; }
.report-community-forms section { display: grid; gap: 0.55rem; }
.report-community-forms h2 { margin: 0; color: #174f5a; }
.report-community-forms section > p { margin: 0; color: #607276; font-size: 0.8rem; line-height: 1.45; }
.report-community-forms form { display: grid; gap: 0.55rem; }
.report-community-forms label { color: #314e55; font-size: 0.78rem; font-weight: 800; }
.report-community-forms label small { color: var(--nc-muted); font-weight: 500; }
.report-community-forms .form-control { border-color: #cddedc; border-radius: 0.65rem; font-size: 0.85rem; }
.report-community-forms .btn { width: 100%; font-weight: 800; }

.report-flag-entry {
  display: grid;
  gap: 0.35rem;
  margin-top: 1rem;
}

.report-flag-trigger {
  width: fit-content;
  padding: 0;
  border: 0;
  color: #8f3d35;
  background: transparent;
  font-size: 0.88rem;
  font-weight: 750;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.report-flag-trigger:hover,
.report-flag-trigger:focus-visible {
  color: #64251f;
}

.share-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
}

.share-button {
  display: grid;
  place-items: center;
  min-height: 42px;
  padding: 0.45rem;
  color: var(--nc-petroleum);
  background: #f1f6f7;
  border: 1px solid #cbdadd;
  border-radius: 0.65rem;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: none;
}

.share-button:hover,
.share-button:focus {
  color: #fff;
  background: var(--nc-petroleum);
  border-color: var(--nc-petroleum);
}

.share-note {
  margin: 0.7rem 0 0;
  color: var(--nc-muted);
  font-size: 0.78rem;
}

.report-not-found {
  max-width: 700px;
  margin: 2rem auto;
  text-align: center;
}

.report-participation-guest {
  padding: 1rem;
  background: #fff8eb;
  border: 1px solid #f0d8a8;
  border-radius: 0.8rem;
}

.report-participation-guest p {
  margin-bottom: 0.9rem;
  color: #5c4a2c;
  font-size: 0.88rem;
}

.report-participation-guest .btn {
  width: 100%;
}

.report-register-link {
  display: block;
  margin-top: 0.65rem;
  color: var(--nc-petroleum);
  font-size: 0.83rem;
  font-weight: 750;
  text-align: center;
}

.btn-report-solution {
  color: #62400b;
  background: #ffdf8b;
  border: 1px solid #e9b94b;
  border-radius: 0.7rem;
  font-weight: 800;
}

.btn-report-solution:hover,
.btn-report-solution:focus-visible {
  color: #4b3006;
  background: #ffd46e;
  border-color: #dca738;
}

.report-dashboard-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.35rem 0.7rem;
  padding-top: 0.5rem;
}

.report-dashboard-links a {
  color: var(--nc-petroleum);
  font-size: 0.79rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.report-dashboard-links a:hover,
.report-dashboard-links a:focus-visible {
  color: var(--nc-coral, #bd493a);
}

.report-providers-title { display: flex; align-items: center; gap: 0.5rem; color: #184d5b; }
.report-providers-title i { color: #b76e19; }
.report-provider-list { display: grid; gap: 0.8rem; margin: 0 0 0.85rem; padding: 0; list-style: none; }
.report-provider-card { padding: 0.85rem; background: linear-gradient(145deg, #f1fbf8, #fffaf0); border: 1px solid #c8e8dc; border-radius: 0.9rem; }
.report-provider-name { display: block; color: #173f4f; font-size: 0.96rem; }
.report-provider-type { display: inline-flex; margin: 0.25rem 0 0.6rem; padding: 0.2rem 0.5rem; color: #664610; background: #ffedb9; border-radius: 999px; font-size: 0.76rem; font-weight: 800; }
.report-provider-links { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.report-provider-link { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 34px; padding: 0.35rem 0.55rem; color: #125b65; background: #fff; border: 1px solid #a8d9d0; border-radius: 0.55rem; font-size: 0.78rem; font-weight: 800; text-decoration: none; overflow-wrap: anywhere; }
.report-provider-link:hover, .report-provider-link:focus-visible { color: #073f49; background: #d6f3eb; border-color: #5bbeb2; text-decoration: none; }
.report-provider-link:focus-visible { outline: 3px solid #f1c04f; outline-offset: 2px; }

.report-solution-modal {
  overflow: hidden;
  border: 0;
  border-radius: 1.1rem;
}

.report-solution-modal .modal-body {
  min-height: 0;
  overflow-y: auto;
}

.report-solution-modal .modal-footer {
  flex: 0 0 auto;
  background: #fff;
  box-shadow: 0 -6px 20px rgba(20, 70, 73, 0.08);
}

.report-solution-modal .modal-header {
  color: #fff;
  background: linear-gradient(115deg, #146074, #198d86 60%, #cf7560);
}

.report-solution-modal .modal-header .btn-close {
  filter: invert(1);
}

.report-solution-paths {
  display: grid;
  gap: 0.5rem;
  margin: 1rem 0;
}

.report-solution-paths p {
  margin: 0;
  padding: 0.65rem 0.8rem;
  background: #eff8f5;
  border-radius: 0.65rem;
  color: #254b4a;
  font-size: 0.88rem;
}

.report-solution-paths p:first-child {
  background: #fff3d2;
  color: #614310;
}

.report-solution-paths i {
  margin-right: 0.3rem;
}

.report-solution-policy {
  padding: 0.7rem;
  color: #764a12;
  background: #fff5df;
  border: 1px solid #f0dba5;
  border-radius: 0.65rem;
  font-size: 0.85rem;
}

.report-solution-preview {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-top: 0.7rem;
  padding: 0.55rem;
  background: #f5faf8;
  border: 1px solid #d9e9e3;
  border-radius: 0.7rem;
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}

.report-solution-preview img {
  width: 72px;
  height: 58px;
  flex: none;
  object-fit: cover;
  border-radius: 0.5rem;
}

.history-photo-link {
  display: inline-block;
  overflow: hidden;
  margin-top: 0.6rem;
  border: 2px solid #d5e8e3;
  border-radius: 0.75rem;
}

.history-photo-link img {
  display: block;
  width: min(240px, 100%);
  height: auto;
  max-height: 190px;
  object-fit: cover;
}

@media (max-width: 991.98px) {
  .report-side-card {
    position: static !important;
  }
}

@media (max-width: 575.98px) {
  .report-address {
    grid-template-columns: 1fr;
  }

  .history-source-card { grid-template-columns: 1fr; }
  .history-source-card img { max-height: 180px; }

  .report-map-heading {
    align-items: start;
    flex-direction: column;
  }

  .report-map-actions { width: 100%; }
  .report-map-actions a { flex: 1 1 auto; justify-content: center; }
}

/* La ficha comparte las rutas suaves y el contraste tranquilo de la portada. */
.report-page {
  background:
    url('/assets/images/civic-network-pattern.svg') center top / min(1400px, 100%) auto no-repeat,
    radial-gradient(circle at 97% 3%, rgba(255, 194, 71, .22), transparent 22rem),
    linear-gradient(165deg, #fffdfa 0%, #eafaf7 34rem, #fff8ed 100%);
}

.report-title { color: #17516f; }
.report-place code { color: #355e60; }
.report-attention-age{display:inline-flex;align-items:center;gap:9px;margin:5px 0 14px;padding:9px 13px;border:1px solid #e8c26d;border-radius:10px;background:#fff4d6;color:#765313;font-size:.91rem;font-weight:800}
.report-attention-age i{font-size:1rem}

.report-description,
.report-map-card,
.updates-section,
.report-side-card,
.report-not-found {
  border-color: #c9e6df;
  box-shadow: 0 15px 35px rgba(43, 74, 76, .07);
}

.report-description,
.updates-section,
.report-side-card,
.report-not-found { position: relative; }

.report-description::before,
.updates-section::before,
.report-side-card::before,
.report-not-found::before {
  position: absolute;
  top: 0;
  left: 1.25rem;
  width: 3rem;
  height: .23rem;
  border-radius: 0 0 5px 5px;
  background: #05c4bb;
  content: "";
  pointer-events: none;
}

.updates-section::before { background: #ec7056; }
.report-side-card::before { background: #fec43d; }

.report-address { background: linear-gradient(125deg, #eafaf7, #fff3d7); }
.report-location-private { background: #eafaf7; border-color: #afe3d9; }

.history-icon {
  background: #17516f;
  box-shadow: 0 0 0 1px #8bd9cf;
}

.update-timeline li { border-left-color: #a9e4da; }

.report-solution-modal .modal-header {
  background: linear-gradient(115deg, #17516f, #007d78 62%, #bd513f);
}

.report-missing-person{display:flex;gap:15px;align-items:flex-start;margin:17px 0 21px;padding:19px;border:1px solid #e2c4e9;border-radius:16px;background:linear-gradient(120deg,#fff7fc,#f3edff);box-shadow:0 12px 28px rgba(74,45,92,.07)}
.report-missing-person-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border-radius:12px;background:#e9daf2;color:#76518f;font-size:1.1rem}
.report-missing-person h2{margin:0 0 8px;color:#473655;font-size:1.25rem;font-weight:800;overflow-wrap:anywhere}
.report-missing-person p{margin:0 0 6px;color:#584d63;font-size:.86rem;line-height:1.5}
.report-missing-person p:last-child{margin-bottom:0}
.report-missing-person .report-missing-person-note{color:#706777;font-size:.78rem}
.report-missing-person .report-missing-person-date{margin-top:10px;font-weight:750}
.report-missing-person .report-missing-person-duration{display:inline-flex;max-width:100%;padding:7px 11px;border-radius:10px;background:#fff1c9;color:#50400c;font-weight:800}
.report-missing-person .report-missing-person-duration:empty{display:none}

.report-closed-notice {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 1.1rem 0 1.4rem;
  padding: 1.15rem 1.3rem;
  border: 2px solid #e8b759;
  border-radius: 1rem;
  background: linear-gradient(130deg, #fff4d1, #fffdfa 70%);
  box-shadow: 0 12px 30px rgba(111, 74, 21, .09);
}

.report-closed-icon {
  display: grid;
  flex: 0 0 3rem;
  place-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: .85rem;
  background: #17516f;
  color: #fff;
  font-size: 1.3rem;
}

.report-closed-notice h2 {
  margin: 0 0 .45rem;
  color: #234750;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 850;
}

.report-closed-notice p {
  margin-bottom: .65rem;
  color: #394e4e;
  line-height: 1.5;
}

.report-closed-notice .report-closed-folio {
  color: #5d481f;
  font-size: .88rem;
}

.report-closed-links {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: .85rem;
}

.report-closed-links .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 42px;
  font-weight: 800;
}

.report-closed-side {
  padding: .8rem;
  border: 1px solid #e6cd81;
  border-radius: .75rem;
  background: #fff8e7;
}

.report-closed-side > p {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  color: #58471d;
  font-weight: 750;
}

.report-closed-side > p i {
  margin-top: .15rem;
  color: #17675d;
}

.report-reopen-box {
  display: grid;
  gap: .45rem;
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid #e6cd81;
}

.report-reopen-box strong { color: #25434d; }
.report-reopen-box span { color: #596a6c; font-size: .83rem; line-height: 1.45; }
.report-reopen-box .btn { width: 100%; min-height: 42px; font-weight: 800; }

#reportReopenModal .modal-header {
  color: #fff;
  background: linear-gradient(115deg, #17516f, #0d807a);
}

#reportReopenModal .modal-header .btn-close { filter: invert(1); }

.report-news-source {
  margin-block: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid #e4d6b6;
  border-radius: 1rem;
  background: #fff9ea;
  color: #453b2e;
}
.report-news-source[data-source-state="is-pending"] { border-color: #98cfd1; background: #f0fbfb; }
.report-news-source[data-source-state="is-pending"] strong { color: #15565e; }
.report-news-source[data-source-state="is-verified"] { border-color: #82c7a4; background: #eefaf2; color: #264d39; }
.report-news-source[data-source-state="is-verified"] strong { color: #17603b; }
.report-news-source[data-source-state="is-correction"] { border-color: #e2a7a0; background: #fff4f2; color: #623b37; }
.report-news-source[data-source-state="is-correction"] strong { color: #8a332d; }
.report-incident-time{display:flex;align-items:flex-start;gap:.8rem;margin-block:1rem;padding:.9rem 1rem;border:1px solid #bddbd6;border-radius:1rem;background:#f2faf8;color:#294f58}
.report-incident-time>span{display:grid;place-items:center;flex:0 0 2.35rem;width:2.35rem;height:2.35rem;border-radius:.75rem;background:#d8f2ec;color:#0f716b;font-size:1rem}
.report-incident-time strong{display:block;color:#174f5a}
.report-incident-time p{margin:.25rem 0 0;color:#506d73;line-height:1.45}
.report-incident-time time{color:#0d6965;font-size:1.05rem;font-weight:850}
.report-authority-summary{display:grid;gap:.9rem;margin-block:1rem;padding:1.1rem;border:1px solid #b9d7d2;border-radius:1rem;background:linear-gradient(145deg,#f6fbf9,#fffaf0);color:#294f58}
.report-authority-summary-head{display:flex;align-items:center;gap:.85rem}
.report-authority-summary-head>span{display:grid;place-items:center;flex:0 0 2.65rem;width:2.65rem;height:2.65rem;border-radius:.85rem;background:#17516f;color:#fff}
.report-authority-summary h2{margin:0;color:#173f4d;font-size:1.08rem}
.report-authority-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0}
.report-authority-summary dl>div{padding:.72rem .8rem;border:1px solid #d8e8e4;border-radius:.75rem;background:rgba(255,255,255,.78)}
.report-authority-summary dt{color:#5a7075;font-size:.76rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
.report-authority-summary dd{margin:.18rem 0 0;color:#173f4d;font-weight:780;overflow-wrap:anywhere}
.report-authority-private,.report-authority-caveat{margin:0;line-height:1.48}
.report-authority-private{display:flex;align-items:flex-start;gap:.48rem;color:#315e64;font-size:.88rem}
.report-authority-caveat{padding-top:.75rem;border-top:1px solid #d8e8e4;color:#587176;font-size:.84rem}
.report-news-source strong { display: block; color: #6b4d19; }
.report-news-source p { margin: .45rem 0 .55rem; }
.report-news-source a { color: #5f378c; text-decoration: underline; text-underline-offset: .15em; }
.report-news-source a:focus-visible { outline: 3px solid #5f378c; outline-offset: 3px; }

.report-news-source .report-news-source-card {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
  overflow: hidden;
  margin-top: .8rem;
  color: var(--nc-charcoal);
  background: var(--nc-surface);
  border: 1px solid color-mix(in srgb, var(--nc-maize) 52%, var(--nc-border));
  border-radius: .9rem;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(24, 59, 87, .08);
}

.report-news-source .report-news-source-card-no-image { grid-template-columns: minmax(0, 1fr); }
.report-news-source-card img { width: 100%; height: 100%; min-height: 128px; object-fit: cover; background: #dfecea; }
.report-news-source-copy { display: grid; align-content: center; gap: .34rem; min-width: 0; padding: .85rem 1rem; }
.report-news-source-copy b { color: var(--nc-petroleum-dark); overflow-wrap: anywhere; }
.report-news-source-domain { display: inline-flex; align-items: center; gap: .35rem; color: var(--nc-muted); font-weight: 800; overflow-wrap: anywhere; }
.report-news-source-description { color: var(--nc-muted); font-size: .9rem; line-height: 1.45; }
.report-news-source-copy em { color: var(--nc-turquoise); font-size: .82rem; font-style: normal; font-weight: 850; }
.report-news-source .report-news-source-card:hover { border-color: var(--nc-maize); background: color-mix(in srgb, var(--nc-maize) 8%, white); }
.report-news-source .report-news-source-card:focus-visible { outline-color: var(--nc-petroleum); }
.report-news-source-disclaimer { display: block; margin-top: .55rem; color: var(--nc-muted); line-height: 1.4; }

@media (max-width: 575.98px) {
  .report-closed-notice { gap: .75rem; padding: 1rem; }
  .report-closed-icon { flex-basis: 2.5rem; width: 2.5rem; height: 2.5rem; }
  .report-closed-links, .report-closed-links .btn { width: 100%; }
  .report-history-actions{justify-content:flex-start}.report-comment-section{grid-template-columns:1fr}.report-comment-section .btn{width:100%}
  .report-authority-summary dl { grid-template-columns: minmax(0, 1fr); }
  .report-news-source .report-news-source-card { grid-template-columns: minmax(0, 1fr); }
  .report-news-source-card img { max-height: 190px; }
}
.report-author-attribution{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;margin:.4rem 0 .75rem;color:#31566a}
.report-author-name{font-weight:850;color:#254b5c}
.report-author-attribution a{color:#095a74;font-weight:800;text-decoration-thickness:2px;text-underline-offset:.2em}
.report-author-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .7rem;border-radius:999px;font-weight:850;font-size:.84rem;border:1px solid transparent}
.report-author-badge-admin{color:#694208;background:#fff0be;border-color:#dfb33b}
.report-author-badge-moderator{color:#56258a;background:#f3eaff;border-color:#b78ade}
.report-author-badge-verified{color:#075c66;background:#dff8f5;border-color:#65c3b8}
.report-author-badge-gold{color:#694208;background:#fff0be;border-color:#dfb33b}
.report-author-badge-blue{color:#155f9b;background:#e7f2ff;border-color:#75a7d6}
.report-author-badge-green{color:#176346;background:#e4f7ec;border-color:#72ba96}
.report-author-badge-gray{color:#545f64;background:#eff2f3;border-color:#aab2b6}
.report-author-badge-violet{color:#56258a;background:#f3eaff;border-color:#b78ade}
.report-admin-tools{display:grid;gap:.55rem;margin:.85rem 0;padding:.8rem;border:1px solid #c3b3e7;border-radius:.85rem;background:#f8f4ff}
.report-admin-tools .btn{min-height:2.7rem;font-weight:800}
.report-admin-tools .btn:focus-visible{outline:3px solid #7156ab;outline-offset:2px}
/* Lectura metodológica del expediente público. */
.report-support-limit {
  display: flex;
  gap: .48rem;
  margin: -.2rem 0 1rem;
  color: #556b72;
  font-size: .76rem;
  line-height: 1.45;
}
.report-support-limit i { margin-top: .18rem; color: #167a80; }
.report-corroboration-card {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #bcded9;
  border-radius: 1rem;
  background: linear-gradient(145deg, #f3fbf9, #fffdf6);
  box-shadow: 0 9px 24px rgba(20, 93, 94, .08);
}
.report-corroboration-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.report-corroboration-heading h2 { color: #174f5a; }
.report-corroboration-heading h2 i { margin-right: .25rem; color: #0f7b76; }
.report-corroboration-state {
  flex: 0 0 auto;
  padding: .28rem .52rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
}
.report-corroboration-state.is-met { color: #0a6259; background: #dff6ef; border-color: #83c8b9; }
.report-corroboration-state.is-developing { color: #71530c; background: #fff4cc; border-color: #e9c95e; }
.report-corroboration-state.is-empty { color: #5c6e72; background: #edf3f3; border-color: #cad7d8; }
.report-corroboration-summary { margin: 0; color: #2d5058; font-size: .86rem; font-weight: 780; line-height: 1.45; }
.report-corroboration-progress { height: .45rem; overflow: hidden; border-radius: 999px; background: #dce9e7; }
.report-corroboration-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #11948a, #f0bd38); transition: width .28s ease; }
.report-corroboration-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 0; }
.report-corroboration-metrics div { min-width: 0; padding: .55rem .4rem; border-radius: .65rem; background: rgba(255, 255, 255, .82); text-align: center; }
.report-corroboration-metrics dt { color: #154f5c; font-size: 1.05rem; font-weight: 900; }
.report-corroboration-metrics dd { margin: 0; color: #607276; font-size: .65rem; line-height: 1.25; }
.report-corroboration-method { display: flex; gap: .45rem; margin: 0; color: #536d72; font-size: .72rem; line-height: 1.45; }
.report-corroboration-method i { flex: 0 0 auto; margin-top: .15rem; color: #91700e; }
.report-corroboration-eligibility { margin: 0; padding: .65rem .72rem; border-radius: .7rem; background: #f2f7f8; color: #355462; font-size: .76rem; line-height: 1.45; }
.report-corroboration-eligibility:empty { display: none; }
.report-corroboration-eligibility.is-eligible { background: #edf8f2; color: #17634f; }
.report-corroboration-eligibility.is-ineligible { background: #fff8e8; color: #735b42; }
.report-corroboration-guest a { color: #0b6d71; font-size: .78rem; font-weight: 850; }
.report-corroboration-author { display: flex; align-items: flex-start; gap: .55rem; padding: .72rem; color: #654c14; background: #fff5d9; border: 1px solid #eed184; border-radius: .7rem; font-size: .76rem; line-height: 1.4; }
.report-corroboration-author i { margin-top: .12rem; }
.report-corroboration-author span { display: grid; gap: .1rem; }
.report-corroboration-actions { display: grid; gap: .6rem; }
.report-corroboration-actions .btn { width: 100%; min-height: 2.6rem; font-size: .79rem; font-weight: 850; }
.report-corroboration-viewer { display: grid; gap: .12rem; padding: .65rem .72rem; border-left: 4px solid #11837c; border-radius: .35rem .65rem .65rem .35rem; background: #e8f7f4; }
.report-corroboration-viewer span { color: #135f62; font-size: .78rem; font-weight: 850; }
.report-corroboration-viewer small { color: #527074; font-size: .68rem; line-height: 1.35; }
.report-corroboration-modal .modal-body > p { color: #516b70; }
.report-corroboration-options { display: grid; gap: .65rem; margin: 0; padding: 0; border: 0; }
.report-corroboration-options label { display: flex; align-items: flex-start; gap: .65rem; padding: .85rem; border: 1px solid #cbdedb; border-radius: .8rem; background: #fbfefd; cursor: pointer; }
.report-corroboration-options label:has(input:checked) { border-color: #16847e; background: #eaf8f5; box-shadow: 0 0 0 2px rgba(22, 132, 126, .12); }
.report-corroboration-options input { flex: 0 0 auto; margin-top: .27rem; accent-color: #147d78; }
.report-corroboration-options span { display: grid; gap: .2rem; }
.report-corroboration-options strong { color: #204f5a; }
.report-corroboration-options small { color: #607377; line-height: 1.4; }
.report-corroboration-modal-note { display: flex; gap: .55rem; margin-top: .85rem; padding: .7rem; color: #536a70; background: #f2f5f5; border-radius: .7rem; font-size: .75rem; line-height: 1.45; }
.report-corroboration-modal-note i { flex: 0 0 auto; margin-top: .15rem; color: #157873; }
.report-corroboration-footer { gap: .5rem; }
.report-evidence-card {
  margin-top: 1.2rem;
  padding: 1rem;
  border: 1px solid #cfe3df;
  border-radius: 1rem;
  background: #f7fbf8;
}
.report-evidence-card h2 { margin-bottom: .8rem; color: #1e4f63; }
.report-evidence-card ul { display: grid; gap: .62rem; margin: 0; padding: 0; list-style: none; }
.report-evidence-card li { display: flex; align-items: flex-start; gap: .55rem; color: #6c7b80; }
.report-evidence-card li > i { margin-top: .16rem; font-size: .83rem; }
.report-evidence-card li.is-present > i { color: #148376; }
.report-evidence-card li.is-developing > i { color: #b38413; }
.report-evidence-card li.is-pending > i { color: #b5c0c1; }
.report-evidence-card li span { display: grid; gap: .08rem; }
.report-evidence-card li strong { color: #254c58; font-size: .82rem; }
.report-evidence-card li small { font-size: .72rem; line-height: 1.35; }
.report-evidence-card > p:last-of-type { margin: .85rem 0 .55rem; color: #596e74; font-size: .73rem; line-height: 1.45; }
.report-evidence-card > a { color: #116b70; font-size: .78rem; font-weight: 800; }
.report-evidence-card > p { color: #596e74; font-size: .76rem; line-height: 1.5; }
.report-evidence-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: .8rem 0; }
.report-evidence-summary span { display: flex; align-items: center; gap: .42rem; min-width: 0; padding: .55rem .6rem; border: 1px solid #d4e3e1; border-radius: .65rem; color: #65767a; background: #fff; font-size: .7rem; font-weight: 800; line-height: 1.3; }
.report-evidence-summary span.is-present { color: #116a5f; border-color: #aad9ce; background: #eaf8f3; }
.report-methodology-modal,
.report-edit-modal-content { overflow: hidden; border: 0; border-radius: 1.15rem; box-shadow: 0 25px 70px rgba(10, 46, 58, .24); }
.report-methodology-modal .modal-header,
.report-edit-modal-content .modal-header { color: #fff; background: linear-gradient(115deg, #17516f, #087f79 62%, #d17863); }
.report-methodology-modal .modal-header .eyebrow,
.report-edit-modal-content .modal-header .eyebrow { color: #c9f6ef; }
.report-methodology-modal .modal-header .btn-close,
.report-edit-modal-content .modal-header .btn-close { filter: invert(1); }
.report-methodology-intro { color: #49636a; line-height: 1.58; }
.report-methodology-layers { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.report-methodology-layers li { display: grid; grid-template-columns: 1.7rem minmax(0, 1fr); gap: .6rem; padding: .85rem; border: 1px solid #dce7e5; border-radius: .85rem; background: #fbfdfc; }
.report-methodology-layers li > i { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border-radius: 50%; color: #87989b; background: #edf2f2; }
.report-methodology-layers li.is-present > i { color: #fff; background: #168277; }
.report-methodology-layers li.is-developing > i { color: #5d4508; background: #f6d97d; }
.report-methodology-layers li span { display: grid; gap: .2rem; }
.report-methodology-layers strong { color: #204f5b; }
.report-methodology-layers small { color: #536d72; font-size: .82rem; line-height: 1.45; }
.report-methodology-layers em { color: #748488; font-size: .73rem; font-style: normal; line-height: 1.45; }
.report-methodology-caveat { display: flex; gap: .7rem; margin-top: 1rem; padding: .85rem; border-left: 4px solid #e1b342; border-radius: .45rem .75rem .75rem .45rem; color: #5d512f; background: #fff7df; }
.report-methodology-caveat p { margin: 0; line-height: 1.5; }
.report-methodology-caveat i { margin-top: .2rem; }
.report-edit-modal-dialog { --bs-modal-width: min(1180px, 96vw); }
.report-edit-modal-content .modal-body { position: relative; min-height: min(720px, 76vh); background: #f6faf8; }
.report-edit-modal-loading { position: absolute; inset: 0; z-index: 1; display: grid; place-content: center; gap: .7rem; color: #315d63; text-align: center; }
#reportEditFrame { display: block; width: 100%; min-height: min(720px, 76vh); border: 0; opacity: 0; transition: opacity .25s ease; }
#reportEditFrame.is-ready { opacity: 1; }
.report-viewer-proximity { display: flex; align-items: flex-start; gap: .5rem; margin: 0; padding: .65rem .72rem; border: 1px solid #cbdedc; border-radius: .7rem; color: #395c64; background: #f1f7f7; font-size: .73rem; line-height: 1.45; }
.report-viewer-proximity i { flex: 0 0 auto; margin-top: .15rem; }
.report-viewer-proximity.is-near { color: #145f4d; border-color: #9bd1bf; background: #eaf8f1; }
.report-viewer-proximity.is-far { color: #684f17; border-color: #e3c981; background: #fff8e5; }
.report-viewer-proximity.is-uncertain { color: #6f5318; border-color: #dcbf72; background: #fff6dc; }
.report-viewer-proximity.is-unavailable { color: #5d6870; background: #f1f3f4; }
.report-viewer-proximity.is-locating i { animation: report-location-pulse 1.2s ease-in-out infinite; }
@keyframes report-location-pulse { 50% { color: #07837b; transform: scale(1.2); } }

@media (max-width: 575.98px) {
  .report-corroboration-heading { display: grid; }
  .report-corroboration-state { width: fit-content; }
  .report-corroboration-metrics { grid-template-columns: minmax(0, 1fr); }
  .report-corroboration-metrics div { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; text-align: left; }
  .report-corroboration-footer { align-items: stretch; }
  .report-corroboration-footer .btn { width: 100%; margin-right: 0 !important; }
  .report-evidence-summary { grid-template-columns: minmax(0, 1fr); }
  .report-edit-modal-dialog { width: 100%; height: 100%; margin: 0; }
  .report-edit-modal-content { min-height: 100%; border-radius: 0; }
  .report-edit-modal-content .modal-body,
  #reportEditFrame { min-height: calc(100vh - 142px); }
}

@media (prefers-reduced-motion: reduce) {
  #reportMap::after,
  .report-detail-marker-ripple,
  .report-detail-marker-pin,
  .report-viewer-proximity.is-locating i { animation: none; }
}

/* R17: lectura guiada, jerarquía clara y controles táctiles de la ficha. */
html {
  scroll-padding-top: 7.25rem;
}

.report-page {
  --report-ink: #173f4d;
  --report-muted: #587077;
  --report-line: #d6e4e2;
  --report-soft: #f3f8f7;
  --report-teal: #0f7b76;
  --report-navy: #17516f;
  --report-gold: #f0bd38;
  color: var(--report-ink);
  background:
    radial-gradient(circle at 93% 3%, rgba(240, 189, 56, .18), transparent 25rem),
    radial-gradient(circle at 2% 28%, rgba(37, 176, 159, .11), transparent 30rem),
    linear-gradient(180deg, #f7faf8 0, #fbfcfa 45rem, #f4f8f7 100%);
}

.report-page > .container {
  max-width: 1240px;
}

.report-page .breadcrumb {
  margin: 0;
  color: #60737a;
  font-size: .84rem;
  font-weight: 720;
}

.report-page .breadcrumb a {
  color: #246074;
  text-decoration-thickness: 1.5px;
  text-underline-offset: .18em;
}

.report-overview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(250px, .72fr);
  gap: 1.25rem 1.5rem;
  overflow: hidden;
  margin: 1rem 0 1.75rem;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid #cbdedb;
  border-radius: 1.45rem;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 22px 58px rgba(18, 65, 78, .11);
}

.report-overview::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  content: "";
  background: linear-gradient(90deg, var(--report-navy), var(--report-teal) 58%, var(--report-gold));
}

.report-overview::after {
  position: absolute;
  top: -7rem;
  right: -6rem;
  width: 17rem;
  height: 17rem;
  border-radius: 50%;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, rgba(240, 189, 56, .13), rgba(240, 189, 56, 0) 69%);
}

.report-overview-main,
.report-overview-guide,
.report-context-actions {
  position: relative;
  z-index: 1;
}

.report-overview-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-bottom: 1rem;
}

.report-overview .report-category-badge,
.report-overview .status-badge {
  min-height: 36px;
  padding-inline: .85rem;
  border: 1px solid rgba(23, 81, 111, .09);
}

.report-overview-kicker {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .5rem;
  color: var(--report-teal);
  font-size: .76rem;
  font-weight: 880;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.report-overview .report-title {
  max-width: 28ch;
  margin: 0;
  color: var(--report-ink);
  font-size: clamp(2rem, 4.2vw, 3.75rem);
  line-height: 1.02;
  letter-spacing: -.042em;
  text-wrap: balance;
}

.report-overview .report-author-attribution {
  margin: .85rem 0 0;
}

.report-overview-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
  margin: 1.2rem 0 0;
}

.report-overview-meta > div {
  min-width: 0;
  padding: .78rem .85rem;
  border: 1px solid #dbe7e5;
  border-radius: .85rem;
  background: #f8fbfa;
}

.report-overview-meta > div.is-attention {
  grid-column: 1 / -1;
  border-color: #ead18c;
  background: #fff8e6;
}

.report-overview-meta dt {
  display: flex;
  align-items: center;
  gap: .38rem;
  margin-bottom: .28rem;
  color: #64777c;
  font-size: .69rem;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.report-overview-meta dt i {
  color: var(--report-teal);
}

.report-overview-meta dd {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  color: #234b57;
  font-size: .9rem;
  font-weight: 760;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.report-overview-meta code {
  color: var(--report-navy);
  font-size: .98rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.report-overview .report-copy-folio {
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: .35rem .6rem;
}

.report-overview-guide {
  align-self: stretch;
  display: flex;
  gap: .8rem;
  padding: 1.1rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 1.1rem;
  color: #edf9f7;
  background: linear-gradient(145deg, #174f67, #0d706d);
  box-shadow: 0 12px 28px rgba(16, 77, 86, .17);
}

.report-overview-guide-icon {
  display: grid;
  flex: 0 0 2.7rem;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  border-radius: .85rem;
  color: #194e59;
  background: #f8d779;
  font-size: 1.05rem;
}

.report-overview-guide .eyebrow {
  color: #c6f2ea;
}

.report-overview-guide h2 {
  margin: 0;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 880;
  line-height: 1.25;
}

.report-overview-guide ol {
  display: grid;
  gap: .58rem;
  margin: .9rem 0 0;
  padding: 0;
  list-style: none;
}

.report-overview-guide li {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .48rem;
  align-items: center;
  color: #e5f3f2;
  font-size: .8rem;
  line-height: 1.35;
}

.report-overview-guide li span {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  color: #173f4d;
  background: #fff;
  font-size: .7rem;
  font-weight: 900;
}

.report-overview .report-context-actions {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin: .15rem 0 0;
  padding-top: 1.15rem;
  border-top: 1px solid #dbe7e5;
}

.report-overview .report-context-actions a {
  min-height: 66px;
  padding: .7rem .78rem;
  border-color: #d5e4e2;
  border-radius: .85rem;
  background: #fbfdfc;
  box-shadow: none;
}

.report-overview .report-context-actions a:first-child {
  color: #fff;
  border-color: var(--report-teal);
  background: linear-gradient(135deg, #0f8079, #176d77);
}

.report-overview .report-context-actions a:first-child > i,
.report-overview .report-context-actions a:first-child small {
  color: #fff;
}

.report-overview .report-context-actions a > i {
  width: 2.2rem;
  height: 2.2rem;
  font-size: .93rem;
}

.report-overview .report-context-actions strong {
  font-size: .8rem;
}

.report-overview .report-context-actions small {
  font-size: .7rem;
}

.report-layout {
  align-items: start;
}

.report-main-flow {
  display: grid;
  gap: 1.2rem;
}

.report-main-flow > * {
  margin-block: 0 !important;
}

.report-story-card,
.report-case-context,
.report-map-card,
.updates-section {
  overflow: hidden;
  border: 1px solid var(--report-line);
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 12px 34px rgba(21, 69, 81, .075);
}

.report-story-card .report-photo-wrap {
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--report-line);
  border-radius: 0;
  box-shadow: none;
}

.report-story-card .report-photo {
  max-height: 620px;
  object-position: center;
}

.report-story-card .report-description {
  padding: clamp(1.15rem, 2.4vw, 1.55rem);
  border: 0;
  border-radius: 0;
  background: #fff;
}

.report-story-card .report-description h2,
.report-case-context h2,
.report-map-card h2,
.updates-section h2 {
  color: var(--report-ink);
  font-weight: 880;
  letter-spacing: -.015em;
}

.report-story-card .report-description-content {
  color: #334f57;
  font-size: 1rem;
  line-height: 1.75;
}

.report-case-context {
  display: grid;
  gap: .8rem;
  padding: clamp(1rem, 2.2vw, 1.35rem);
  background: linear-gradient(145deg, #fff, #f7fbfa);
}

.report-section-heading,
.report-side-section-heading {
  display: flex;
  align-items: center;
  gap: .8rem;
}

.report-section-heading > span,
.report-side-section-heading > span {
  display: grid;
  flex: 0 0 2.65rem;
  width: 2.65rem;
  height: 2.65rem;
  place-items: center;
  border-radius: .85rem;
  color: #fff;
  background: linear-gradient(135deg, var(--report-navy), var(--report-teal));
}

.report-case-context > .report-incident-time,
.report-case-context > .report-authority-summary,
.report-case-context > .report-news-source {
  margin: 0;
  box-shadow: none;
}

.report-case-context > .report-incident-time {
  background: #f2faf8;
}

.report-map-card,
.updates-section {
  padding: clamp(1rem, 2.4vw, 1.4rem);
}

.report-section-lead {
  margin: 0;
  color: var(--report-muted);
  font-size: .86rem;
  line-height: 1.45;
}

.report-map-heading {
  align-items: center;
  margin-bottom: 1rem;
}

.report-map-actions a {
  min-height: 44px;
}

.report-address {
  border: 1px solid #d6e7e3;
  background: linear-gradient(125deg, #eef9f6, #fff9ea);
}

#reportMap {
  min-height: clamp(300px, 42vw, 430px);
  border: 1px solid #c8dcda;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65);
}

.report-history-head {
  align-items: center;
}

.report-history-actions > span {
  padding: .32rem .58rem;
  border-radius: 999px;
  color: #315f65;
  background: #eaf5f3;
}

.report-history-intro {
  max-width: 68ch;
  margin-bottom: 1rem;
  line-height: 1.55;
}

.update-timeline {
  margin-bottom: 0;
}

.update-timeline li {
  padding-bottom: 1.15rem;
}

.report-comment-section {
  margin-top: 0;
  border-radius: 1.1rem;
  box-shadow: 0 10px 26px rgba(21, 69, 81, .055);
}

.report-side-card {
  top: 6.5rem;
  overflow: hidden;
  padding: 0;
  border-color: #c9dcda;
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 18px 44px rgba(17, 60, 72, .11);
}

.report-side-card > section,
.report-side-card > details,
.report-side-card > .report-flag-entry {
  margin: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

.report-side-summary {
  padding: 1.15rem;
  border-bottom: 1px solid var(--report-line);
  background: linear-gradient(145deg, #f0faf7, #fff9e9);
}

.report-side-summary h2 {
  margin: 0 0 .75rem;
  color: var(--report-ink);
  font-weight: 880;
}

.report-side-summary .support-count {
  display: flex;
  align-items: baseline;
  gap: .4rem;
  margin: 0 0 .55rem;
  color: #4e666d;
}

.report-side-summary .support-count strong {
  color: var(--report-navy);
  font-size: 1.85rem;
  line-height: 1;
}

.report-side-summary .report-support-limit {
  margin: 0 0 .8rem;
}

.report-participation-primary {
  display: grid;
  gap: .75rem;
  padding: 1.05rem 1.15rem 1.15rem;
  border-bottom: 1px solid var(--report-line);
}

.report-participation-heading {
  margin: 0;
}

.report-participation-guest {
  margin: 0;
}

.report-participation-guest .btn,
.report-participation-primary .btn,
#participationActions > .btn,
.report-admin-tools .btn,
#reportEditLink,
.report-reopen-box .btn,
.report-corroboration-actions .btn,
.report-evidence-card .btn {
  min-height: 46px;
}

.report-corroboration-card {
  padding: 1.15rem;
  border-top: 0;
  border-bottom: 1px solid var(--report-line);
  background: linear-gradient(145deg, #f3fbf9, #fffdf6);
}

.report-corroboration-method-details summary {
  min-height: 46px;
}

.report-evidence-card {
  padding: 1.15rem;
  border-top: 0;
  border-bottom: 1px solid var(--report-line);
  background: #f8fbfa;
}

.report-evidence-card h2 {
  margin-bottom: .35rem;
}

.report-side-section {
  padding: 1.15rem;
  border-bottom: 1px solid var(--report-line);
  background: #fff;
}

.report-side-section-heading {
  margin-bottom: .8rem;
}

.report-side-section-heading > span {
  flex-basis: 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  color: #174f5a;
  background: #ffe8a5;
}

.share-grid {
  gap: .5rem;
}

.share-button {
  min-height: 44px;
}

.report-flag-entry {
  padding: 1rem 1.15rem;
  border-bottom: 1px solid var(--report-line);
  background: #fffafa;
}

.report-flag-trigger {
  min-height: 44px;
}

.report-provider-disclosure {
  background: #fff;
}

.report-provider-disclosure > summary {
  position: relative;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 1.25rem;
  gap: .7rem;
  align-items: center;
  min-height: 68px;
  padding: .9rem 1.15rem;
  color: var(--report-ink);
  cursor: pointer;
  list-style: none;
}

.report-provider-disclosure > summary::-webkit-details-marker {
  display: none;
}

.report-provider-disclosure > summary::after {
  content: "\f078";
  color: #527078;
  font: var(--fa-font-solid);
  transition: transform .2s ease;
}

.report-provider-disclosure[open] > summary::after {
  transform: rotate(180deg);
}

.report-provider-disclosure > summary > span:first-child {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: .8rem;
  color: #694b0e;
  background: #ffedb9;
}

.report-provider-disclosure > summary > span:nth-child(2) {
  display: grid;
  gap: .15rem;
}

.report-provider-disclosure > summary strong {
  font-size: .88rem;
}

.report-provider-disclosure > summary small {
  color: var(--report-muted);
  font-size: .72rem;
  line-height: 1.35;
}

.report-provider-disclosure > summary:hover,
.report-provider-disclosure > summary:focus-visible {
  background: #f4faf8;
}

.report-provider-disclosure > summary:focus-visible {
  outline: 3px solid rgba(15, 123, 118, .28);
  outline-offset: -3px;
}

.report-provider-content {
  padding: 0 1.15rem 1.15rem;
}

.report-provider-list {
  margin-top: .2rem;
}

.report-page :where(a, button, summary):focus-visible {
  outline: 3px solid #f0bd38;
  outline-offset: 3px;
}

.report-photo-caption button,
.report-supporters button,
.report-provider-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

.report-page :where(.btn, .report-copy-folio, .report-photo-caption button, .report-supporters button, .share-button, .report-flag-trigger, .report-provider-link) {
  touch-action: manipulation;
}

@media (max-width: 991.98px) {
  html {
    scroll-padding-top: 6rem;
  }

  .report-page {
    /* Reserva una zona de salida para que el CTA público se acople antes del pie
       sin cubrir el último control interactivo de la ficha. */
    padding-bottom: calc(6.5rem + env(safe-area-inset-bottom));
  }

  .report-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .report-overview-guide {
    align-items: flex-start;
  }

  .report-overview-guide ol {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .report-overview .report-context-actions {
    display: flex;
    grid-template-columns: none;
    overflow-x: auto;
    margin-inline: -.25rem;
    padding-inline: .25rem;
    padding-bottom: .35rem;
    scroll-padding-inline: .25rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .report-overview .report-context-actions a {
    flex: 0 0 min(16rem, 72vw);
    scroll-snap-align: start;
  }

  .report-side-card {
    position: static !important;
  }

}

@media (max-width: 767.98px) {
  .report-overview-guide ol {
    grid-template-columns: minmax(0, 1fr);
  }

  .report-map-heading,
  .report-history-head {
    display: grid;
    align-items: start;
  }

  .report-map-actions,
  .report-map-actions a,
  .report-history-actions,
  .report-history-actions .btn {
    width: 100%;
  }

  .report-map-actions a,
  .report-history-actions .btn {
    justify-content: center;
  }
}

@media (max-width: 575.98px) {
  .report-page > .container {
    padding-inline: .85rem;
  }

  .report-page .breadcrumb {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: .25rem;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .report-overview {
    gap: 1rem;
    margin-top: .75rem;
    padding: 1.05rem;
    border-radius: 1.15rem;
  }

  .report-overview .report-title {
    font-size: clamp(1.8rem, 9vw, 2.45rem);
    line-height: 1.07;
  }

  .report-overview-meta {
    grid-template-columns: minmax(0, 1fr);
  }

  .report-overview-meta > div.is-attention {
    grid-column: auto;
  }

  .report-overview-guide {
    padding: .9rem;
  }

  .report-overview .report-context-actions {
    padding-top: .9rem;
  }

  .report-overview .report-context-actions a {
    flex-basis: min(14rem, 78vw);
    min-height: 62px;
  }

  .report-main-flow {
    gap: .9rem;
  }

  .report-story-card,
  .report-case-context,
  .report-map-card,
  .updates-section,
  .report-comment-section,
  .report-side-card {
    border-radius: 1rem;
  }

  .report-story-card .report-description,
  .report-case-context,
  .report-map-card,
  .updates-section {
    padding: 1rem;
  }

  .report-story-card .report-photo {
    max-height: 460px;
  }

  .report-section-heading {
    align-items: flex-start;
  }

  .report-section-heading > span {
    flex-basis: 2.35rem;
    width: 2.35rem;
    height: 2.35rem;
  }

  .report-address {
    grid-template-columns: minmax(0, 1fr);
  }

  #reportMap {
    min-height: 280px;
  }

  .report-comment-section {
    padding: 1rem;
  }

  .update-timeline {
    padding-left: 0;
  }

  .report-side-summary,
  .report-participation-primary,
  .report-corroboration-card,
  .report-evidence-card,
  .report-side-section,
  .report-flag-entry {
    padding: 1rem;
  }

}

@media (prefers-reduced-motion: reduce) {
  .report-provider-disclosure > summary::after {
    transition: none;
  }

}
