body { font-family: Pretendard, -apple-system, 'Malgun Gothic', sans-serif; }
.nav-item { display:flex; align-items:center; gap:.6rem; padding:.55rem .9rem; border-radius:.5rem; color:#cbd5e1; font-size:.9rem; cursor:pointer; }
.nav-item:hover { background:rgba(255,255,255,.08); color:#fff; }
.nav-item.active { background:#fff; color:#3730a3; font-weight:600; }
.card { background:#fff; border:1px solid #e2e8f0; border-radius:.75rem; }
.btn { display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .9rem; border-radius:.5rem; font-size:.85rem; font-weight:600; }
.btn-primary { background:#4f46e5; color:#fff; } .btn-primary:hover { background:#4338ca; }
.btn-ghost { background:#fff; border:1px solid #cbd5e1; color:#334155; } .btn-ghost:hover { background:#f1f5f9; }
.inp { border:1px solid #cbd5e1; border-radius:.5rem; padding:.4rem .6rem; font-size:.85rem; background:#fff; }
.inp:focus { outline:2px solid #a5b4fc; border-color:#6366f1; }
table.tbl { width:100%; font-size:.82rem; border-collapse:collapse; }
table.tbl th { background:#f8fafc; text-align:left; padding:.55rem .6rem; color:#64748b; font-weight:600; border-bottom:1px solid #e2e8f0; white-space:nowrap; }
table.tbl td { padding:.55rem .6rem; border-bottom:1px solid #f1f5f9; vertical-align:top; }
.badge { display:inline-block; padding:.1rem .45rem; border-radius:999px; font-size:.72rem; font-weight:600; }
.review-body { white-space:pre-wrap; line-height:1.5; max-width:46rem; }
.toast { position:fixed; right:1.2rem; bottom:1.2rem; background:#1e293b; color:#fff; padding:.7rem 1rem; border-radius:.6rem; font-size:.85rem; z-index:99; }
/* 좁은 화면에서 표가 잘리지 않고 가로 스크롤 */
.card.overflow-x-auto { max-width:100%; }
.card.overflow-x-auto table.tbl { min-width:640px; }
@media (max-width: 900px) { aside { width:12rem !important; } main { padding:1rem !important; } }
