* { box-sizing: border-box; }

body {
  font-family: system-ui, -apple-system, sans-serif;
  margin: 0;
  padding: 16px;
  max-width: 640px;
  margin-inline: auto;
  color: #1a1a1a;
  background: #fafafa;
}

h1 { font-size: 1.4rem; }

label {
  display: block;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 4px;
}

input[type="text"],
input[type="number"],
input[type="date"],
input[type="file"],
select,
textarea {
  width: 100%;
  padding: 12px;
  font-size: 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
}

button {
  margin-top: 20px;
  width: 100%;
  padding: 14px;
  font-size: 1.05rem;
  font-weight: 600;
  border: none;
  border-radius: 8px;
  background: #1a56db;
  color: #fff;
  cursor: pointer;
}

button:disabled { background: #93a5c9; }

button.secondary { background: #6b7280; }
button.danger { background: #b91c1c; }

.status-msg { margin-top: 12px; font-size: 0.95rem; }

nav { margin-bottom: 16px; font-size: 0.9rem; }
nav a { color: #1a56db; text-decoration: none; }

.card {
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 16px;
}

.card img.thumb {
  width: 100%;
  max-height: 320px;
  object-fit: contain;
  border-radius: 8px;
  background: #f0f0f0;
  margin-bottom: 8px;
}

.row { display: flex; gap: 8px; }
.row > * { flex: 1; }

.badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.badge.pending { background: #dbeafe; color: #1e40af; }
.badge.needs_review { background: #fef3c7; color: #92400e; }

.actions { display: flex; gap: 8px; margin-top: 12px; }

.add-client { display: flex; gap: 8px; margin-bottom: 20px; }
.add-client input { flex: 1; }
.add-client button { margin-top: 0; width: auto; padding: 12px 16px; }
