.incident-dashboard{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.incident-dashboard article{background:#fff;border-radius:14px;padding:18px;border-left:5px solid #557365;box-shadow:var(--sombra)}.incident-dashboard span,.incident-dashboard strong{display:block}.incident-dashboard strong{font-size:2rem}.incident-dashboard .overdue{border-color:#a83232}.visible-report-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;align-items:end;margin:22px 0}.incident-photo{position:relative}.incident-photo img{margin:0}.status-badge,.overdue-flag{display:inline-block;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:800;text-transform:capitalize}.incident-photo .status-badge{position:absolute;left:8px;top:8px;background:#fff}.status-badge.nuevo{color:#176f67}.status-badge.en_revision,.status-badge.atendido{color:#8a5b12}.status-badge.cerrado{color:#2f6b45}.overdue-flag{background:#a83232;color:#fff}.incident-photo .overdue-flag{position:absolute;right:8px;top:8px}.overdue-flag.static{margin-left:8px}.assignment-notices a{display:flex;justify-content:space-between;gap:12px;padding:10px;border-top:1px solid #d8e6e2;color:inherit;text-decoration:none}.assignment-notices small{color:#627b76}.report-record-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.report-record-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:20px}.record-main-photo{width:100%;max-height:640px;object-fit:contain;background:#edf2f0;border-radius:12px}.report-metadata dl{display:grid;grid-template-columns:110px 1fr;gap:10px}.report-metadata dt{font-weight:700}.report-metadata dd{margin:0;white-space:pre-wrap}.deadline-overdue{color:#a83232;font-weight:800}.report-map iframe{width:100%;height:420px;border:0;border-radius:12px}.before-after{position:relative;overflow:hidden;aspect-ratio:4/3;background:#222;border-radius:12px}.before-after>img,.after-layer,.after-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.after-layer{clip-path:inset(0 50% 0 0)}.before-after input{position:absolute;z-index:3;inset:auto 15px 16px;width:calc(100% - 30px)}.before-label,.after-label{position:absolute;z-index:2;top:12px;background:rgba(0,0,0,.65);color:#fff;padding:5px 9px;border-radius:6px}.before-label{left:12px}.after-label{right:12px}.report-followup form{margin-bottom:24px}.followup-timeline article{border-left:3px solid #9dbdb7;padding:4px 0 12px 18px;margin-left:6px}.followup-timeline time{color:#627b76;font-size:.8rem;margin-left:8px}.followup-timeline p{white-space:pre-wrap}@media(max-width:850px){.incident-dashboard{grid-template-columns:repeat(2,1fr)}.visible-report-filters{grid-template-columns:1fr 1fr}.report-record-grid{grid-template-columns:1fr}}@media(max-width:500px){.visible-report-filters{grid-template-columns:1fr}.report-record-heading{align-items:flex-start;flex-direction:column}}
.danger-confirmation{margin-top:22px;border-color:rgba(168,50,50,.35)!important}.danger-confirmation summary{color:#943030;font-weight:800;cursor:pointer}.danger-confirmation form{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px;max-width:620px}.danger-confirmation small{grid-column:1/-1;color:#943030}@media(max-width:560px){.danger-confirmation form{grid-template-columns:1fr}}

/* Tarjetas y acciones compactas para Reportes fotográficos. */
.report-icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;box-sizing:border-box;padding:0;border:1px solid #c8dad5;border-radius:12px;background:rgba(255,255,255,.82);color:#41645b;text-decoration:none;cursor:pointer;box-shadow:0 7px 18px rgba(41,73,65,.13);transition:transform .2s,background .2s,color .2s,box-shadow .2s}.report-icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.report-icon-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(41,73,65,.2)}.report-icon-btn.primary{border-color:#557365;background:#557365;color:#fff}.report-icon-btn.subtle{background:rgba(255,255,255,.58)}.report-icon-btn.danger{border-color:#a83232;background:#a83232;color:#fff}.report-heading .report-icon-btn{margin-top:15px}.report-filter-actions{display:flex;gap:8px;align-items:center}.report-submit-icon{margin-top:6px}.report-specific-back{margin-bottom:18px}
.report-gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.report-card{min-height:0!important;padding:0!important;border:1px solid rgba(111,137,128,.24)!important;border-radius:22px!important;color:#29483f!important;text-decoration:none!important;box-shadow:0 14px 35px rgba(42,72,64,.12)!important;isolation:isolate}.report-card::before{display:none}.report-card:hover{transform:translateY(-6px)!important;box-shadow:0 20px 45px rgba(42,72,64,.2)!important}.report-card .incident-photo{overflow:hidden}.report-card .incident-photo img,.gallery-card>img{display:block;width:100%;aspect-ratio:4/3;margin:0!important;border-radius:0!important;object-fit:cover;transition:transform .45s ease}.report-card:hover .incident-photo img,.gallery-card:hover>img{transform:scale(1.035)}.incident-photo::after{content:"";position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(transparent,rgba(20,37,32,.35));pointer-events:none}.incident-photo .status-badge{z-index:2;left:14px;top:14px;padding:7px 12px;border:1px solid rgba(255,255,255,.78);box-shadow:0 5px 15px rgba(0,0,0,.16);backdrop-filter:blur(8px)}.incident-photo .overdue-flag{z-index:2;right:14px;top:14px}.incident-card-body,.report-card-body{position:relative;display:grid;gap:9px;padding:18px 58px 20px 18px}.incident-card-body>strong,.report-card-body>strong{font-size:1.08rem;line-height:1.3;color:#253f38}.incident-meta{display:flex;align-items:center;gap:8px;min-width:0;color:#58726b;font-size:.86rem;line-height:1.25}.incident-meta svg{flex:0 0 auto;width:16px;height:16px;fill:none;stroke:#688980;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.incident-deadline{width:max-content;margin-top:2px;padding:5px 9px;border-radius:999px;background:#edf4f1;color:#537169;font-size:.75rem;font-weight:750}.incident-deadline.is-overdue{background:#fff0ee;color:#9b3630}.report-card-chevron{position:absolute;right:17px;bottom:19px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #cfddd9;border-radius:50%;background:#f5f9f7;color:#557365}.report-card-chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gallery-card .report-card-body small{margin:0;padding:0;color:#648078}.report-add-card{min-height:310px;border-radius:22px;transition:transform .2s,box-shadow .2s,background .2s}.report-add-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.78);box-shadow:0 18px 38px rgba(42,72,64,.16)}.report-add-icon{display:grid!important;place-items:center;width:64px;height:64px;border-radius:20px!important;background:#557365!important;color:#fff!important}.report-add-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.report-dialog .dialog-close.report-icon-btn{float:right;font-size:initial}.report-record-grid>.card,.report-followup,.report-management,.report-map{border-radius:20px}.report-metadata .report-icon-btn{margin-top:16px}.report-followup form .report-icon-btn,.report-management form .report-icon-btn{justify-self:start}.report-record-heading .status-badge{padding:7px 12px}.incident-dashboard article{border:1px solid rgba(110,139,130,.22);border-left:0;border-top:4px solid #557365;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(237,246,242,.72))}.incident-dashboard .overdue{border-top-color:#a83232}
html[data-theme=dark] .report-card{color:#dcebe6!important;border-color:#3a554e!important;background:#20312c!important}html[data-theme=dark] .incident-card-body>strong,html[data-theme=dark] .report-card-body>strong{color:#edf7f4}html[data-theme=dark] .incident-meta{color:#b5cbc4}html[data-theme=dark] .report-card-chevron{border-color:#49645c;background:#2a4039;color:#cce0da}html[data-theme=dark] .report-icon-btn.subtle{border-color:#48635b;background:#263a34;color:#dceae6}
@media(max-width:680px){.report-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.incident-card-body,.report-card-body{padding:14px 42px 16px 14px}.incident-card-body>strong,.report-card-body>strong{font-size:.95rem}.incident-meta{font-size:.78rem}.report-card-chevron{right:11px;bottom:13px;width:28px;height:28px}.report-add-card{min-height:260px}.visible-report-filters .report-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:480px){.report-gallery{grid-template-columns:1fr}.report-card .incident-photo img,.gallery-card>img{aspect-ratio:16/11}.report-add-card{min-height:210px}.report-record-grid>.card{padding:18px}.report-metadata dl{grid-template-columns:92px 1fr}}
.incident-card-body>strong,.report-card-body>strong,.report-card-body>small{padding:0!important}

/* Galerías como libros: la portada identifica la sección y revela su reporte más reciente. */
.report-gallery-book{position:relative;display:block;min-height:330px;overflow:visible;border-radius:20px;background:#eef4f1;color:#263f38;text-decoration:none;box-shadow:0 16px 38px rgba(30,55,48,.2);perspective:1800px;isolation:isolate}.gallery-book-photo{position:absolute;inset:0;display:block;overflow:hidden;border-radius:20px;background:#dbe5e1}.gallery-book-photo img{display:block;width:100%;height:100%;object-fit:cover}.gallery-book-photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(14,29,24,.86))}.gallery-latest-caption{position:absolute;z-index:1;right:18px;bottom:18px;left:26%;display:grid;gap:3px;color:#fff;text-align:right}.gallery-latest-caption small{color:rgba(255,255,255,.75);font-size:.7rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.gallery-latest-caption strong{color:#fff;font-size:1rem;line-height:1.25}.gallery-book-cover{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px;border:1px solid rgba(84,112,103,.3);border-left:8px solid #48675e;border-radius:20px;background:linear-gradient(145deg,#f7f7df,#dbeadf);color:#29483f;text-align:center;box-shadow:5px 5px 18px rgba(20,42,36,.24);transform-origin:left center;transform-style:preserve-3d;backface-visibility:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s}.gallery-book-cover::before{content:"";position:absolute;top:18px;bottom:18px;left:10px;width:2px;border-radius:99px;background:rgba(72,103,94,.28);box-shadow:4px 0 0 rgba(255,255,255,.45)}.gallery-book-kicker{margin-bottom:12px;color:#7f7641;font-size:.72rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.gallery-book-cover>strong{max-width:90%;color:#29483f;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15}.gallery-book-cover>small{margin-top:12px;color:#5d766f;font-weight:700}.gallery-book-hint{position:absolute;right:20px;bottom:20px;left:24px;color:#71877f;font-size:.68rem}.report-gallery-book:hover .gallery-book-cover,.report-gallery-book:focus-visible .gallery-book-cover{box-shadow:2px 5px 14px rgba(20,42,36,.14);transform:rotateY(-79deg)}.report-gallery-book:focus-visible{outline:3px solid rgba(89,154,83,.55);outline-offset:5px}
html[data-theme=dark] .report-gallery-book{background:#1d2d28}.gallery-book-cover,html[data-theme=dark] .gallery-book-cover{background:linear-gradient(145deg,#f5f2d5,#cfe1d6);color:#29483f}
@media(max-width:680px){.report-gallery-book{min-height:280px}.gallery-book-hint{display:none}}
@media(hover:none){.gallery-book-cover{transform:rotateY(-7deg)}.report-gallery-book:active .gallery-book-cover{transform:rotateY(-45deg)}}
@media(prefers-reduced-motion:reduce){.gallery-book-cover{transition:none}}
