body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.tab-btn {
  display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem .875rem;
  border:1px solid rgb(226 232 240); border-radius:1rem; background:#fff; font-size:.875rem; font-weight:600;
}
.tab-btn:hover { background: rgb(248 250 252); }
.active-tab { background: rgb(37 99 235); color:#fff; border-color: rgb(37 99 235); }
.active-tab:hover { background: rgb(29 78 216); }
.card-shell { background:#fff; border:1px solid rgb(226 232 240); border-radius:1rem; box-shadow:0 10px 25px rgba(15,23,42,.08); }
.card-head { display:flex; justify-content:space-between; align-items:center; padding:1.5rem; border-bottom:1px solid rgb(226 232 240); }
.action-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.625rem .875rem; border-width:1px; border-radius:.75rem; font-weight:600; font-size:.875rem; }
.form-input { width:100%; border:1px solid rgb(203 213 225); border-radius:.75rem; padding:.625rem .75rem; outline:none; background:#fff; }
.form-input:focus { box-shadow:0 0 0 3px rgba(59,130,246,.15); border-color: rgb(59 130 246); }
.data-table { width:100%; border-collapse:collapse; font-size:.875rem; }
.data-table th { text-align:left; background:rgb(248 250 252); padding:.75rem; border-bottom:1px solid rgb(226 232 240); font-weight:700; white-space:nowrap; }
.data-table td { padding:.75rem; border-bottom:1px solid rgb(226 232 240); vertical-align:top; }
.data-table tr:hover td { background: rgba(248,250,252,.8); }
.pill { display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .625rem; font-size:.75rem; font-weight:700; }
.viewmode-btn { border:1px solid rgb(203 213 225); padding:.5rem .875rem; border-radius:999px; background:#fff; font-size:.875rem; font-weight:600; }
.active-pill { background:rgb(37 99 235); color:#fff; border-color:rgb(37 99 235); }
.table-wrap { overflow:auto; border:1px solid rgb(226 232 240); border-radius:1rem; }
.empty-state { text-align:center; padding:2rem; color:rgb(100 116 139); }
@media (max-width: 768px){
  .tab-btn span { display:none; }
}
