:root{--bg:#0c0d0f;--fg:#e9eaee;--muted:#a0a3ab;--card:#13151a;--border:#272a33;--accent:#4caf50;--shadow:0 1px 2px rgba(0,0,0,.4)}
*{box-sizing:border-box}body{font-family:Montserrat,system-ui,Segoe UI,Arial,sans-serif;margin:0;background:var(--bg);color:var(--fg)}
.container{max-width:1100px;margin:0 auto;padding:1rem}
.topbar{background:#111;color:#fff}.topbar a{color:#fff;text-decoration:none;margin-right:1rem}.topbar .brand a{font-weight:700}
.btn{display:inline-block;border:1px solid var(--border);border-radius:10px;padding:.5rem .75rem;text-decoration:none;color:var(--fg);background:var(--card);box-shadow:var(--shadow)}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.small{padding:.35rem .6rem;font-size:.9rem;margin-left:.5rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem;margin:1rem 0;box-shadow:var(--shadow)}
input, select{padding:.6rem;border:1px solid var(--border);border-radius:10px;width:100%;max-width:460px;background:var(--card);color:var(--fg)}
form .row{margin:.6rem 0}.table{border-collapse:collapse;width:100%}.table th,.table td{border:1px solid var(--border);padding:.6rem;text-align:left}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.footer{padding:1rem;color:var(--muted)}
.alert{padding:.6rem .8rem;border-radius:8px;border:1px solid #f0c36d;background:#fff3cd;color:#7a5d00}
