:root { --bg: #0f1020; --panel: #1a1c33; --ink: #e8e8f0; --muted: #9aa0c0; --accent: #8b7bf0; --line: #2a2d4a; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; background: var(--bg); color: var(--ink); font: 15px/1.5 system-ui, -apple-system, Segoe UI, Roboto, sans-serif; display: flex; justify-content: center; padding: 3rem 1rem; } main { width: 100%; max-width: 880px; } h1 { margin: 0; font-size: 2rem; letter-spacing: .5px; } .sub { color: var(--muted); margin: .25rem 0 2rem; } form { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 1.25rem; } .row { display: flex; gap: .5rem; } .row input[type=text] { flex: 1; } input, select, button { font: inherit; padding: .6rem .75rem; border-radius: 8px; border: 1px solid var(--line); background: #12132a; color: var(--ink); } button { background: var(--accent); color: #fff; border: none; cursor: pointer; padding-inline: 1.25rem; } button:hover { filter: brightness(1.1); } .opts { display: flex; gap: 1.5rem; margin-top: .75rem; color: var(--muted); align-items: center; } .opts input[type=number] { width: 5rem; } .meta { color: var(--muted); margin: 1.5rem 0 .5rem; font-size: .9rem; } .error { background: #3a1320; border: 1px solid #6a2233; color: #ffb3c0; padding: .75rem 1rem; border-radius: 8px; margin-top: 1.5rem; } .empty { color: var(--muted); } table { width: 100%; border-collapse: collapse; margin-top: .5rem; background: var(--panel); border-radius: 12px; overflow: hidden; } th, td { text-align: left; padding: .6rem .8rem; border-bottom: 1px solid var(--line); } th { color: var(--accent); font-size: .8rem; text-transform: uppercase; letter-spacing: .5px; } tr:last-child td { border-bottom: none; }