:root{--bg:#f8fafc;--fg:#0f172a;--muted:#64748b;--primary:#2f9e44;--primary-600:#22873a;--border:#e2e8f0;--warn:#e8590c;--danger:#e03131}
*{box-sizing:border-box}
html,body{height:100%}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--fg);margin:0}
.container{max-width:1400px;margin:0 auto;padding:24px}
header{position:sticky;top:0;background:rgba(255,255,255,0.85);backdrop-filter:saturate(1.5) blur(6px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px}
.brand{font-weight:700}
nav a{margin-right:12px;color:var(--fg);text-decoration:none}
nav a:hover{text-decoration:underline}
.btn{padding:8px 12px;border:1px solid var(--border);background:#fff;color:var(--fg);text-decoration:none;border-radius:6px;display:inline-block}
.btn:hover{border-color:#cbd5e1}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary-600);border-color:var(--primary-600)}
.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}
.muted{color:var(--muted)}
.flash{background:#e7f5ff;border:1px solid #74c0fc;padding:10px;border-radius:8px;margin:16px 0}
table{border-collapse:collapse;width:100%;background:#fff;border-radius:10px;overflow:hidden;table-layout:fixed}
th,td{border-bottom:1px solid var(--border);padding:10px;text-align:left}
th{background:#f1f5f9;font-weight:600}
tbody tr:hover{background:#f8fbff}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,textarea{padding:10px;width:100%;border:1px solid var(--border);border-radius:8px;background:#fff}
label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,0.04);padding:16px}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px}
.badge.success{background:#d3f9d8;color:#2b8a3e}
.badge.muted{background:#f1f3f5;color:#868e96}
code{background:#f8f9fa;border:1px solid var(--border);border-radius:6px;padding:2px 6px}
td.muted, .col-id{word-break:break-all}
.col-actions{width:360px}
.col-uid{word-break:break-all;overflow-wrap:anywhere}
@media (max-width:720px){.grid{grid-template-columns:1fr}.header-inner{padding:8px 16px}.container{padding:16px}}
