
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; margin: 1rem 2rem; }
h1, h2 { margin: 0.3rem 0 0.6rem; }
a.button, button, input[type=submit] {
  padding: 0.5rem 0.8rem; border: 1px solid #ccc; border-radius: 8px; cursor: pointer;
}
a.button { text-decoration: none; display: inline-block; background:#f8f8f8; }
table { border-collapse: collapse; width: 100%; margin: 0.6rem 0; }
th, td { border: 1px solid #ddd; padding: 0.5rem; vertical-align: top; }
th { background: #fafafa; }
tr:nth-child(even) { background: #fcfcfc; }
.filters, .toolbar { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; }
.badge { display:inline-block; padding: 0.1rem 0.4rem; border:1px solid #ccc; border-radius: 6px; background:#fff; }
.tabbar { display: flex; gap: 0.4rem; flex-wrap: wrap; margin-bottom: 0.6rem; }
.tab { padding: 0.35rem 0.7rem; border:1px solid #ccc; border-radius: 999px; background:#f5f5f5; cursor: pointer; }
.tab.active { background: #e5f0ff; border-color:#9bbcff; }
.tab .close { margin-left: 0.5rem; color:#999; cursor:pointer; font-weight:bold; }
.small { font-size: 0.85rem; color:#666; }
input, select, textarea { padding: 0.35rem; border:1px solid #ccc; border-radius: 6px; }
hr { border: none; border-top:1px solid #eee; margin: 1rem 0; }
.alert { padding: 0.6rem; background:#fff3cd; border:1px solid #ffeeba; border-radius:8px; }
.success { background:#d4edda; border-color:#c3e6cb; }
.container { max-width: 1200px; margin: 0 auto; }
