:root{--app-primary:#155eef;--app-dark:#102a43;--app-soft:#eef4ff}
body{background:#f5f7fb;color:#243b53}
.app-navbar{background:linear-gradient(135deg,#0b4ddb,#163f96)}
.card{border:0;border-radius:1rem}
.stat-card{overflow:hidden;position:relative}
.stat-card .icon{position:absolute;right:1rem;top:.8rem;font-size:3rem;opacity:.12}
.btn{border-radius:.7rem}
.form-control,.form-select{border-radius:.7rem;min-height:44px}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(21,94,239,.14);border-color:#7ca3ff}
.gallery-card{height:100%;transition:.2s ease;overflow:hidden}
.gallery-card:hover{transform:translateY(-3px);box-shadow:0 1rem 2rem rgba(16,42,67,.12)!important}
.gallery-card .gallery-media,.gallery-card .report-media{width:100%;display:flex;align-items:center;justify-content:center;background:#eef2f7;overflow:hidden}
.gallery-card .gallery-media{height:230px}
.public-gallery .gallery-card .gallery-media{height:260px}
.gallery-card .gallery-media img,.gallery-card .report-media img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#eef2f7;display:block}
.activity-date{font-size:.82rem;color:#627d98}
.tiny{font-size:.75rem}
.login-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,#dce8ff,transparent 35%),linear-gradient(135deg,#f8fbff,#e9f0fb);display:flex;align-items:center}
.login-card{max-width:430px;margin:auto}
.avatar{width:42px;height:42px;border-radius:50%;background:var(--app-soft);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--app-primary)}
.copy-group .form-control{font-size:.86rem}
.table>tbody>tr>td{vertical-align:middle}
.photo-preview{width:100%;max-height:330px;object-fit:contain;background:#edf2f7;border-radius:1rem}
.public-hero{background:linear-gradient(135deg,#0b4ddb,#102a43);color:#fff;border-radius:0 0 2rem 2rem}
.badge-soft{background:#e8f0ff;color:#194da5}
.empty-state{padding:4rem 1rem;text-align:center;color:#829ab1}
.empty-state i{font-size:4rem;display:block;margin-bottom:1rem}
.description-pre{white-space:pre-wrap}
.print-only{display:none}
.report-photo-wrap{width:110px;height:82px;display:flex;align-items:center;justify-content:center;background:#eef2f7;border-radius:.6rem;overflow:hidden}
.report-photo{max-width:100%;max-height:100%;width:auto!important;height:auto!important;object-fit:contain;background:#eef2f7}
.report-identity{border:1px solid #d8e1eb;border-radius:1rem;background:#fff}
.report-identity .label{color:#627d98;width:150px}
.report-signature{margin-top:2rem}
.report-signature table{width:100%;border-collapse:collapse}
.report-signature td{width:50%;vertical-align:top;padding:0 1rem;text-align:center}
.report-signature .signature-city{text-align:left;margin-bottom:.2rem}
.report-signature .signature-role{font-weight:600}
.report-signature .signature-space{height:92px}
.report-signature .signature-name{font-weight:700;text-decoration:underline;display:inline-block;min-width:220px;padding-top:.25rem}
.report-signature .signature-nip{margin-top:.25rem}
.report-note{font-size:.88rem;color:#627d98}
@media(max-width:575.98px){
  .gallery-card .gallery-media,.public-gallery .gallery-card .gallery-media{height:210px}
  .card-body{padding:1rem}
  .mobile-stack .btn{width:100%}
}
@media print{
  @page{margin:1.2cm}
  body{background:#fff;font-size:12px;color:#000}
  .no-print,.navbar,footer,.btn{display:none!important}
  .print-only{display:block}
  .container-fluid{padding:0!important}
  .card{box-shadow:none!important;border:1px solid #000!important;border-radius:0!important}
  .table{font-size:11px}
  .table th,.table td{border-color:#000!important}
  .report-photo-wrap{width:120px;height:90px;background:#fff;border:1px solid #777}
  .report-photo{max-width:118px;max-height:88px}
  a{text-decoration:none!important;color:#000!important}
  .report-signature{page-break-inside:avoid}
}
.import-stat{display:flex;flex-direction:column;padding:1rem;border-radius:.8rem;background:#f8fafc;text-align:center}
.import-stat strong{font-size:1.8rem;line-height:1}
.import-stat span{font-size:.78rem;margin-top:.35rem}
.notification-list{max-height:390px;overflow:auto}
.notification-list .list-group-item{border-left:0;border-right:0}
.status-dot{width:.65rem;height:.65rem;border-radius:50%;display:inline-block;background:#dc3545}
.whatsapp-preview{white-space:pre-wrap;background:#e9f7ef;border-radius:1rem;padding:1.25rem;border:1px solid #cbe9d6;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;min-height:220px}
