body{font:14px system-ui,Segoe UI,Roboto,Arial;margin:24px;max-width:1250px}
h1{margin:0 0 12px}
table{width:100%;border-collapse:collapse}
th,td{border:1px solid #ddd;padding:8px}
th{background:#f7f7f7;text-align:left}
input[type=text]{width:200px}
label{margin-right:10px}
.badge{font-size:12px;padding:2px 6px;border:1px solid #ddd;border-radius:999px;background:#f7f7f7}
.controls{margin:12px 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.box{border:1px solid #ddd;border-radius:10px;padding:10px}
.scroll{max-height:260px;overflow:auto;border:1px solid #eee;padding:6px;border-radius:6px;background:#fafafa}
.small{font-size:12px;color:#666}
.search{width:100%;padding:6px;border:1px solid #ccc;border-radius:6px;margin-bottom:6px;box-sizing:border-box}
.btn{padding:6px 10px;border:1px solid #bbb;border-radius:6px;background:#fff;cursor:pointer}
.btn:hover{background:#f6f6f6}
.btn.danger{border-color:#e38;color:#a00}
.btn.small{padding:4px 8px;font-size:12px}
.form-inline{display:inline}
.nowrap{white-space:nowrap}
.compact th,.compact td{padding:6px}
select{padding:6px;border:1px solid #ccc;border-radius:6px;min-width:260px}
@media(max-width:900px){.grid,.grid-3{grid-template-columns:1fr}body{margin:14px}}
