* { box-sizing: border-box; }
body { font-family: system-ui, sans-serif; margin: 0; background: #f7f7fb; color: #222; }
header { background: #111; color: #fff; padding: 16px 20px; }
main { max-width: 1100px; margin: 24px auto; padding: 0 16px; }
.card { background: #fff; border: 1px solid #eee; border-radius: 14px; padding: 16px; margin-bottom: 16px; }
h1, h2 { margin: 0 0 12px; }
input, select, textarea, button { width: 100%; padding: 10px; margin: 6px 0 14px; border: 1px solid #ddd; border-radius: 10px; }
button { cursor: pointer; }
.grid { display: grid; gap: 12px; }
.grid-2 { grid-template-columns: 1fr 1fr; }
.badge { display:inline-block; padding:3px 10px; border-radius:999px; font-size:.8rem; border:1px solid #ddd; background:#fafafa; }
.status-approved { color: #156c2f; border-color:#cde9d8; background:#effaf3; }
.status-revise   { color: #915d00; border-color:#ffe1a3; background:#fff9e9; }
.status-rejected { color: #7a1216; border-color:#f5c6cb; background:#fdecee; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { text-align:left; border-bottom:1px solid #eee; padding:8px; }
.nav { display:flex; gap:8px; flex-wrap: wrap; }
.nav a { padding:8px 12px; border-radius: 10px; border:1px solid #ddd; background:#fff; text-decoration:none; color:#222; }
.nav a.active { background:#111; color:#fff; border-color:#111; }
.note { font-size:.9rem; color:#555; }
.small { font-size:.9rem; }
