body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f8fafc;color:#0f172a}a{color:#2563eb}main{max-width:1100px;margin:0 auto;padding:24px}.card{background:white;border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin:12px 0;box-shadow:0 1px 2px #0001}button,input,select,textarea{font:inherit;padding:8px;border:1px solid #cbd5e1;border-radius:8px}button{background:#2563eb;color:white;border:0;cursor:pointer}button.secondary{background:#64748b}button.danger{background:#dc2626}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.muted{color:#64748b}.error{color:#b91c1c}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}textarea{width:100%;min-height:180px}table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid #e2e8f0;padding:8px;text-align:left}.category-list{display:grid;grid-gap:16px;gap:16px}.message-category{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.message-category h3{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.category-dot{width:12px;height:12px;border-radius:999px;display:inline-block}.count{margin-left:auto;background:#e2e8f0;color:#475569;border-radius:999px;padding:2px 8px;font-size:12px}.selected-row{background:#eff6ff}@media(max-width:800px){.grid{grid-template-columns:1fr}}