:root {
  --bg: #0f1117;
  --panel: #151924;
  --ink: #e5e7eb;
  --muted: #9aa3b2;
  --accent: #fdd835;
  --accent-ink: #111;
  --danger: #ff5d5d;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink); font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji'; }
a { color: #93c5fd; text-decoration: none; }
a:hover { text-decoration: underline; }
.container { max-width: 1100px; margin: 0 auto; padding: 1rem; }

.site-header { background: #0b0d13; border-bottom: 1px solid #23283a; position: sticky; top:0; z-index: 10; }
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-header h1 { margin:0; font-size: 1.2rem; letter-spacing:0.4px; }
.site-header nav { display:flex; gap:0.6rem; align-items:center; }
.site-header nav a { padding:0.4rem 0.7rem; border-radius: 8px; }
.site-header nav a.btn { background: var(--accent); color: var(--accent-ink); font-weight: 700; }

.site-footer { opacity:0.7; border-top:1px solid #23283a; margin-top: 3rem; }
.site-footer .container { display:flex; align-items:center; justify-content:space-between; }

h2 { margin: 1rem 0; }
h3 { margin: 0 0 0.5rem 0; }

.grid { display:grid; gap: 1rem; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

.card { background: var(--panel); border: 1px solid #23283a; border-radius: 14px; padding: 1rem; }
.stat { font-size: 2.2rem; font-weight: 800; }
.label { color: var(--muted); }

.table-wrap { overflow:auto; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { text-align:left; padding:0.6rem 0.5rem; border-bottom: 1px solid #23283a; }
.table td.row-actions { display:flex; gap:0.6rem; align-items:center; }
.table .link { background:none; border:none; color:#93c5fd; cursor:pointer; padding:0; }
.table .link.danger { color: var(--danger); }

.form label { display:flex; flex-direction:column; gap:0.35rem; }
.form input[type='text'],
.form input[type='number'],
.form textarea,
.form select {
  background:#0b0d13; border:1px solid #23283a; color:var(--ink); border-radius:10px; padding:0.6rem 0.7rem;
}
.form .checkbox { flex-direction:row; align-items:center; gap:0.6rem; }
.form .actions { display:flex; gap:0.6rem; margin-top: 0.8rem; }

.toolbar { display:flex; gap:0.5rem; align-items:center; margin-bottom:1rem; }
.toolbar input[type='text']{ flex:1; background:#0b0d13; border:1px solid #23283a; color:var(--ink); border-radius:10px; padding:0.6rem 0.7rem; }

.btn { background:#23283a; border:1px solid #2e354f; color:var(--ink); border-radius:10px; padding:0.5rem 0.8rem; cursor:pointer; display:inline-block; }
.btn.primary { background: var(--accent); color: var(--accent-ink); border-color: #d8b300; }
.btn.secondary { background:#0b0d13; }
.btn.danger { background: var(--danger); border-color:#ff7b7b; color:#111; }

.detail-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.meta { list-style:none; padding:0; margin:0; display:grid; gap:0.4rem; }
.charts { display:grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap:1rem; margin-top:1rem; }
