* { box-sizing: border-box; }
body { font-family: system-ui, Arial, sans-serif; background:#f4f6f8; color:#222; margin:0; }
.topbar { background:#1b0490; color:#fff; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; }
.logo { height:42px; }
.container { max-width: 1000px; margin: 18px auto; padding: 0 12px; }
.card { background:#fff; padding:18px; border-radius:12px; box-shadow: 0 8px 24px rgba(0,0,0,.06); margin-bottom:16px; }
.form label { display:block; margin-top:10px; font-weight:600; }
input[type=text], input[type=email], input[type=password], input[type=date], select, textarea, input[type=file] {
  width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; margin-top:6px;
}
textarea { resize: vertical; }
button, .btn, input[type=submit] {
  background:#0ea5e9; color:#fff; border:none; padding:10px 14px; border-radius:8px; cursor:pointer; font-weight:600; text-decoration:none; display:inline-block;
}
button:hover, .btn:hover, input[type=submit]:hover { background:#0284c7; }
.btn.secondary { background:#6b7280; }
.btn.secondary:hover { background:#4b5563; }
.btn.danger { background:#ef4444; }
.btn.danger:hover { background:#dc2626; }
.muted { color:#6b7280; }
table { width:100%; border-collapse: collapse; }
th, td { border:1px solid #e5e7eb; padding:10px; text-align:left; vertical-align:top; }
th { background:#0ea5e9; color:#fff; }
.actions { display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.inline { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
img.evidencia { max-width: 100%; border:1px solid #e5e7eb; border-radius:8px; }
.error { color:#dc2626; font-weight:600; }
.success { color:#16a34a; font-weight:600; }
@media (max-width: 640px) {
  .container { padding: 0 8px; }
  th, td { font-size: 14px; }
  .logo { height: 36px; }
}