:root { --bg:#f6f7f9; --card:#fff; --text:#1d2330; --muted:#6b7280; --accent:#5b5bd6; --border:#e3e5ea; --danger:#d64545; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#14161b; --card:#1d2027; --text:#e7e9ee; --muted:#9aa1ad; --border:#2e323b; }
}
* { box-sizing: border-box; }
body { margin:0; font:15px/1.5 system-ui, -apple-system, sans-serif; background:var(--bg); color:var(--text); }
header { display:flex; justify-content:space-between; align-items:center; padding:12px 20px; background:var(--card); border-bottom:1px solid var(--border); }
header nav { display:flex; gap:14px; align-items:center; }
a { color:var(--accent); text-decoration:none; }
.brand { font-weight:700; color:var(--text); }
main { max-width:860px; margin:0 auto; padding:20px 16px 60px; }
h1 { font-size:1.4rem; margin:0 0 12px; } h2 { font-size:1.15rem; margin:28px 0 10px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:16px 18px; margin-bottom:12px; }
.narrow { max-width:380px; margin:40px auto; }
label { display:block; font-weight:600; font-size:.9rem; margin-bottom:12px; }
input, textarea, select { display:block; width:100%; margin-top:4px; padding:8px 10px; font:inherit; color:inherit; background:var(--bg); border:1px solid var(--border); border-radius:6px; }
button { font:inherit; font-weight:600; padding:8px 16px; border:0; border-radius:6px; background:var(--accent); color:#fff; cursor:pointer; }
button.secondary { background:transparent; color:var(--text); border:1px solid var(--border); }
button.danger { background:var(--danger); }
button.link { background:none; color:var(--accent); padding:0; font-weight:400; }
form.inline { display:inline; }
.row { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; margin-top:12px; }
.grid .full { grid-column:1 / -1; }
@media (max-width:600px) { .grid { grid-template-columns:1fr; } }
.todo { list-style:none; padding:0; margin:0; }
.todo p { margin:6px 0; }
.muted { color:var(--muted); font-weight:400; } .small { font-size:.85rem; }
.badge { font-size:.75rem; font-weight:700; padding:2px 8px; border-radius:99px; text-transform:uppercase; letter-spacing:.03em; }
.badge.pending { background:#fff3cd; color:#7a5b00; }
.badge.in_progress { background:#dbe7ff; color:#1f4bb8; }
.badge.done { background:#d8f5e1; color:#17663a; }
.badge.rejected { background:#fde2e2; color:#9b1c1c; }
.examples { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; }
.examples img { width:40px; height:40px; object-fit:contain; border:1px solid var(--border); border-radius:6px; background:var(--bg); }
.examples a { font-size:.85rem; }
.flash { padding:10px 14px; border-radius:6px; margin-bottom:12px; }
.flash.success { background:#d8f5e1; color:#17663a; } .flash.error { background:#fde2e2; color:#9b1c1c; }
.tabs { display:flex; gap:6px; flex-wrap:wrap; margin:8px 0 16px; }
.tabs a { padding:5px 12px; border-radius:99px; border:1px solid var(--border); color:var(--text); font-size:.9rem; }
.tabs a.active { background:var(--accent); border-color:var(--accent); color:#fff; }
summary { cursor:pointer; list-style:none; } summary::-webkit-details-marker { display:none; }
code { background:rgba(0,0,0,.08); padding:1px 5px; border-radius:4px; }
