:root { --bg:#0b0c0f; --fg:#e7e7ea; --muted:#9aa0a6; --accent:#6ee7b7; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--fg); background:linear-gradient(180deg,#0b0c0f,#12151a); }
.container { max-width: 1000px; margin: 0 auto; padding: 1rem; }
.site-header, .site-footer { background:#0f1116; border-bottom:1px solid #1f2330; }
.site-header .logo { font-weight:700; color:var(--fg); text-decoration:none; font-size:1.25rem; }
.site-header .logo span { color: var(--accent); }
.site-header nav a { color: var(--fg); margin-left:1rem; text-decoration:none; }
.site-header nav a:hover { color: var(--accent); }
.hero { padding: 2rem 0; }
.btn { display:inline-block; background: var(--accent); color:#052012; padding: .6rem .9rem; border-radius:.5rem; text-decoration:none; font-weight:600; }
.btn:hover { filter: brightness(1.05); }
.alert { padding:.75rem 1rem; border-radius:.5rem; margin:.75rem 0; }
.alert.error { background:#3b1a1a; border:1px solid #7a2e2e; }
.alert.success { background:#12351e; border:1px solid #1f6c3e; }
label { display:block; margin:.5rem 0; }
input, select, textarea { width:100%; padding:.6rem .7rem; border-radius:.5rem; border:1px solid #30384a; background:#0b0e14; color:var(--fg); }
.grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1rem; }
.card { display:block; background:#0f1116; padding:1rem; border:1px solid #1f2330; border-radius:.75rem; color:var(--fg); text-decoration:none; }
.card:hover { border-color: var(--accent); }
.muted { color: var(--muted); font-size:.9rem; }
.gallery img { max-width: 260px; border-radius:.5rem; margin:.25rem; border:1px solid #1f2330; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border-bottom:1px solid #202534; text-align:left; padding:.5rem; }
.checkbox { display:flex; align-items:center; gap:.5rem; }
.inline { display:flex; gap:.5rem; align-items:center; }
.profile dt { font-weight:600; }
.profile dd { margin:0 0 .5rem 0; color:var(--muted); }
.filters { display:flex; gap:.5rem; flex-wrap: wrap; margin-bottom:1rem; }
@media (max-width:600px){ .container{ padding:.75rem; } }
