@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
:root { --ink:#000; --paper:#fff; --muted:#5a5a5a; --line:#d9d9d9; --soft:#f4f4f4; --danger:#b00020; }
* { box-sizing: border-box; }
body { margin:0; font-family:"Inter Tight", Arial, sans-serif; color:var(--ink); background:var(--soft); }
header.bats { background:var(--ink); padding:14px 24px; display:flex; align-items:center; gap:16px; }
header.bats img { height:28px; }
header.bats span { color:#fff; font-weight:600; letter-spacing:.04em; }
main { max-width:960px; margin:40px auto; padding:0 16px; }
.card { background:var(--paper); border:1px solid var(--line); padding:32px; }
h1 { font-size:24px; margin:0 0 8px; } p.lead { color:var(--muted); margin:0 0 24px; }
label { display:block; font-weight:600; margin:16px 0 6px; }
input[type=text], input[type=password], input[type=date] { width:100%; padding:10px 12px; border:1px solid var(--line); font:inherit; }
input.code { font-family:"JetBrains Mono", monospace; font-size:20px; letter-spacing:.12em; text-transform:uppercase; }
button, .btn { display:inline-block; margin-top:20px; padding:10px 18px; background:var(--ink); color:#fff; border:1px solid var(--ink); font:inherit; font-weight:600; cursor:pointer; text-decoration:none; }
.btn-ghost { background:transparent; color:var(--ink); }
.error { border-left:4px solid var(--danger); background:#fdecee; padding:10px 14px; margin-bottom:16px; }
.notice { border-left:4px solid var(--ink); background:var(--soft); padding:10px 14px; margin-bottom:16px; }
table { width:100%; border-collapse:collapse; margin-top:16px; font-size:14px; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:middle; }
th { background:var(--soft); }
td form { display:inline; } td button { margin:0 4px 0 0; padding:4px 10px; font-size:13px; }
.mono { font-family:"JetBrains Mono", monospace; }
.status-off { color:var(--muted); }
footer { text-align:center; color:var(--muted); font-size:13px; margin:24px 0; }
@media (max-width:600px) { .card { padding:20px; } main { margin:20px auto; } }
