/* Theme tokens */
:root { --bg:#f3f3f3; --card:#fff; --muted:#666; --accent:#6b46c1; }

/* Base elements */
html,body{margin:0;padding:0;background:var(--bg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#111}
h1{margin:0 0 4px 0;font-size:28px}
.lead{color:var(--muted);margin:0}

/* Layout shells */
.container{max-width:980px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid #e5e5e5;border-radius:6px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.header{border-left:8px solid var(--accent);padding:18px 16px;background:var(--card)}
.topbar{display:flex;justify-content:space-between;align-items:center;margin:18px 0}

/* Navigation */
.nav{display:flex;gap:10px}
.nav a{color:#111;text-decoration:none}
.nav .active{font-weight:600}

/* Forms */
form.inline{display:flex;gap:8px;align-items:center}
input[type=text],input[type=password]{border:1px solid #ccc;border-radius:4px;padding:8px 10px}

/* Buttons & interactive helpers */
button{background:#111;color:#fff;border:0;border-radius:4px;padding:8px 12px;cursor:pointer}
button.secondary{background:#e9e9e9;color:#111}
.secondary{display:inline-flex;align-items:center;padding:8px 12px;border-radius:4px;background:#e9e9e9;color:#111;text-decoration:none}

/* Tables */
table{width:100%;border-collapse:collapse}
th,td{padding:10px 12px;border-top:1px solid #eee}
th{position:sticky;top:0;background:var(--card);text-align:left}
td.preview{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:break-word}
tbody tr:hover{background:#fafafa}

/* Helper utilities */
.muted{color:#777}
.right{text-align:right}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ecc71;margin-right:6px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.pre{white-space:pre-wrap;border:1px solid #eee;padding:12px;border-radius:6px;background:#fff}

/* Alerts */
.alert{border-radius:4px;padding:12px;border:1px solid #ddd;background:#f9f3f3}
.alert.error{border-color:#f5c2c7;background:#f8d7da;color:#842029}

/* Definition lists */
.definition{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.definition div{display:flex;gap:8px}
.definition dt{font-weight:600;color:#555}
.definition dd{margin:0}
