/* CanadaNVR admin — plain, functional, same monochrome/Inter language as the public site. */
:root{
  --ink:#0a0a0b; --ink-2:#242426; --paper:#ffffff; --paper-2:#f3f3f4;
  --line:#e3e3e5; --text:#111113; --text-soft:#606066; --ok:#1f7a46; --err:#8a2c2c; --warn:#8a6d1f;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--paper-2)}
a{color:inherit}
h1{font-size:1.4rem;margin:0 0 16px;letter-spacing:-.01em}

.admin-nav{
  display:flex;align-items:center;gap:20px;background:var(--ink);color:#fff;
  padding:14px 24px;font-size:.88rem;
}
.admin-nav .brand{font-weight:800;letter-spacing:-.01em;margin-right:8px}
.admin-nav a{text-decoration:none;color:#d6d6d9}
.admin-nav a:hover{color:#fff}
.admin-nav .spacer{flex:1}
.admin-nav .who{color:#9a9a9e;font-size:.8rem}

.admin-main{max-width:1080px;margin:0 auto;padding:28px 20px}

.flash{background:#e8f3ec;border:1px solid #bfe0cc;color:var(--ok);padding:10px 14px;border-radius:8px;margin-bottom:18px;font-size:.9rem}
.err{background:#f7ecec;border:1px solid #e3c2c2;color:var(--err);padding:10px 14px;border-radius:8px;font-size:.9rem}

.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;max-width:720px}
.card.narrow{max-width:380px;margin:60px auto}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.search{display:flex;gap:8px}
.search input{padding:9px 12px;border:1px solid var(--line);border-radius:8px;min-width:260px;font-size:.9rem}

.btn, button[type="submit"]{
  display:inline-block;background:var(--ink);color:#fff;border:none;border-radius:999px;
  padding:10px 20px;font-weight:600;font-size:.88rem;cursor:pointer;text-decoration:none;
}
.btn:hover, button[type="submit"]:hover{background:var(--ink-2)}
.btn-cancel{margin-left:10px;color:var(--text-soft);text-decoration:none;font-size:.88rem}
.link-danger{background:none;border:none;color:var(--err);cursor:pointer;font:inherit;padding:0;text-decoration:underline}

.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.88rem}
.admin-table th{text-align:left;background:var(--paper-2);padding:10px 14px;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft)}
.admin-table td{padding:10px 14px;border-top:1px solid var(--line);vertical-align:top}
.admin-table .empty{text-align:center;color:var(--text-soft);padding:30px}
.admin-table .muted{color:var(--text-soft);font-size:.8rem}
.row-actions{white-space:nowrap;display:flex;gap:12px}

.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;background:var(--paper-2);border:1px solid var(--line)}
.tag-on_file, .tag-paid, .tag-transferred{color:var(--ok);border-color:#bfe0cc;background:#eef7f1}
.tag-lost, .tag-stolen, .tag-discontinued, .tag-refunded{color:var(--err);border-color:#e3c2c2;background:#f9efef}
.tag-requested, .tag-pending, .tag-available{color:var(--warn);border-color:#e6d6a8;background:#faf6e8}

form label{display:block;margin-bottom:14px;font-size:.85rem;font-weight:600;color:var(--text)}
form input, form select, form textarea{
  display:block;width:100%;margin-top:6px;padding:9px 11px;border:1px solid var(--line);
  border-radius:8px;font:inherit;font-weight:400;font-size:.92rem;color:var(--text);background:#fff;
}
form textarea{resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:600px){.grid2{grid-template-columns:1fr}}
