/* BUTTONS */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; padding:0.6rem 1rem; border-radius:8px; font-size:0.82rem; font-weight:600; font-family:inherit; cursor:pointer; transition:all 0.15s ease; border:none; white-space:nowrap; }
.btn:active { transform:scale(0.97); }
.btn:disabled { opacity:0.5; cursor:not-allowed; }
.btn-primary { background:var(--primary); color:white; box-shadow:0 1px 4px rgba(30,58,95,0.3); }
.btn-primary:hover { background:var(--primary-hover); }
.btn-secondary { background:white; color:var(--primary); border:1.5px solid var(--primary); }
.btn-secondary:hover { background:var(--primary-50); }
.btn-ghost { background:transparent; color:var(--text-secondary); }
.btn-ghost:hover { background:var(--bg); }
.btn-danger { background:var(--red); color:white; }
.btn-danger:hover { background:#dc2626; }
.btn-green { background:var(--green); color:white; box-shadow:0 1px 4px rgba(16,185,129,0.3); }
.btn-green:hover { background:var(--green-dark); }
.btn-sm { padding:0.4rem 0.7rem; font-size:0.75rem; }
.btn-lg { padding:0.8rem 1.25rem; font-size:0.9rem; }
.btn-block { width:100%; }
.btn + .btn { margin-left:0.5rem; }
.btn-group { display:flex; gap:0.5rem; margin-top:1rem; }
.campo-review-actions { display:flex; flex-direction:column; gap:0.5rem; width:100%; margin-top:1rem; }
.campo-review-actions .btn {
  display:flex !important;
  width:100% !important;
  margin-left:0 !important;
  min-height:48px;
  position:relative;
  z-index:1;
  touch-action:manipulation;
  box-sizing:border-box;
  pointer-events:auto;
  cursor:pointer !important;
}
.campo-review-actions button {
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer !important;
}
.campo-review-actions .btn *,
.campo-review-actions button * {
  cursor:pointer !important;
}
.campo-review-actions .btn:disabled,
.campo-review-actions button:disabled,
.campo-review-actions .btn:disabled *,
.campo-review-actions button:disabled * {
  cursor:not-allowed !important;
}
.campo-review-actions .btn svg,
.campo-review-actions .btn span { pointer-events:none; }

/* PHOTO */
.btn-photo { display:inline-flex; align-items:center; gap:0.3rem; padding:0.5rem 0.875rem; border-radius:8px; background:var(--primary-50); color:var(--primary); border:1.5px solid var(--primary-200); font-weight:600; font-size:0.75rem; cursor:pointer; font-family:inherit; }
.btn-photo:active { background:var(--primary-100); }
.photo-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(90px,1fr)); gap:0.5rem; margin-top:0.5rem; }
.photo-thumb { position:relative; border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.photo-thumb img { width:100%; height:80px; object-fit:cover; display:block; }
.photo-del { position:absolute; top:3px; right:3px; width:22px; height:22px; border-radius:50%; background:rgba(239,68,68,0.9); color:white; border:2px solid white; font-size:0.9rem; cursor:pointer; display:flex; align-items:center; justify-content:center; line-height:1; }
.evid-list { display:flex; flex-direction:column; gap:0.45rem; margin-top:0.55rem; }
.evid-card { display:flex; align-items:center; gap:0.55rem; padding:0.45rem; border:1px solid var(--border-light); border-radius:8px; background:rgba(255,255,255,0.9); }
.evid-thumb { width:54px; height:54px; border-radius:6px; object-fit:cover; border:1px solid var(--border); background:#f8fafc; flex-shrink:0; }
.evid-thumb-placeholder { width:54px; height:54px; border-radius:6px; border:1px dashed var(--border); background:#f8fafc; color:var(--text-muted); display:flex; align-items:center; justify-content:center; font-size:0.69rem; font-weight:700; flex-shrink:0; }
.evid-meta { min-width:0; flex:1; }
.evid-title { font-size:0.78rem; font-weight:700; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.evid-desc { font-size:0.72rem; color:var(--text-secondary); line-height:1.35; margin-top:0.1rem; }
.evid-status { display:inline-flex; align-items:center; gap:0.25rem; margin-top:0.25rem; padding:0.12rem 0.42rem; border-radius:999px; font-size:0.69rem; font-weight:800; text-transform:uppercase; letter-spacing:0; border:1px solid transparent; }
.evid-status.local { background:#eff6ff; color:#1d4ed8; border-color:#bfdbfe; }
.evid-status.pending { background:#fffbeb; color:#b45309; border-color:#fde68a; }
.evid-status.sent { background:#ecfdf5; color:#047857; border-color:#bbf7d0; }
.evid-status.error { background:#fef2f2; color:#b91c1c; border-color:#fecaca; }
.evid-status.server { background:#f0f9ff; color:#0369a1; border-color:#bae6fd; }
.evid-del { flex-shrink:0; border:0; background:#fee2e2; color:#b91c1c; border-radius:6px; font-size:0.72rem; font-weight:800; padding:0.35rem 0.5rem; cursor:pointer; }
.evid-sync-warning { margin-top:0.5rem; padding:0.55rem 0.7rem; border:1px solid #fde68a; background:#fffbeb; color:#92400e; border-radius:8px; font-size:0.78rem; line-height:1.35; }
.evid-foto-preview { margin-top:0.5rem; display:none; align-items:center; gap:0.55rem; padding:0.45rem; border:1px solid var(--border-light); border-radius:8px; background:#f8fafc; }
.evid-foto-preview img { width:58px; height:58px; object-fit:cover; border-radius:6px; border:1px solid var(--border); }
.evid-foto-preview span { font-size:0.78rem; color:var(--text-secondary); }

/* REVIEW */
.review-row { display:flex; padding:0.375rem 0; font-size:0.8rem; border-bottom:1px solid var(--border-light); }
.review-row:last-child { border-bottom:none; }
.review-achado { background:var(--bg); border-radius:8px; padding:0.625rem 0.75rem; margin-bottom:0.375rem; border-left:3px solid var(--primary-200); }
.review-achado strong { font-size:0.8rem; }
.review-achado small { color:var(--text-secondary); display:block; margin-top:0.2rem; font-size:0.75rem; }

