
:root { --fg:#111; --bg:#fff; --muted:#666; --accent:#0a7; --danger:#b00; --ok:#0a0; }
* { box-sizing:border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif; color:var(--fg); background:var(--bg); margin:0; }
.container { max-width: 960px; margin: 2rem auto; padding: 0 1rem; }
h1 { margin: 0 0 1rem; }
.topbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.topbar nav a { margin-left: 0.5rem; text-decoration:none; color:var(--fg); border:1px solid #ccc; padding:0.4rem 0.6rem; border-radius:0.5rem; }
form label { display:block; margin:0.5rem 0; }
form input[type=text], form input[type=password], form input[type=number], textarea { width:100%; padding:0.5rem; border:1px solid #ccc; border-radius:0.5rem; }
button { padding:0.5rem 0.8rem; border: none; background:var(--accent); color:white; border-radius:0.5rem; cursor:pointer; }
button:hover { filter: brightness(0.95); }
.alert { background:#fee; color:#600; padding:0.6rem 0.8rem; border:1px solid #f88; border-radius:0.5rem; margin:0.5rem 0; }
.alert.success { background:#efe; color:#060; border-color:#8f8; }
table { width:100%; border-collapse:collapse; margin-top: 1rem; }
th, td { border:1px solid #ddd; padding:0.5rem; text-align:left; vertical-align:top; }
th a { color:inherit; text-decoration:none; }
.actions { display:flex; align-items:center; gap:0.5rem; }
.actions form { display:inline; }
.search { display:flex; align-items:center; gap:0.5rem; }
.pagination { margin-top: 1rem; }
.pagination a { display:inline-block; padding:0.4rem 0.6rem; border:1px solid #ccc; margin-right:0.3rem; border-radius:0.5rem; text-decoration:none; color:inherit;}
.pagination a.active { background:var(--accent); color:white; border-color:transparent; }
footer { margin-top:1rem; color:var(--muted); }
