:root { --ink:#1e2a4a; --muted:#5b6380; --line:#e6e3dc; --bg:#faf8f4; --panel:#fff; --accent:#c8861b; --bad:#b42318; --ok:#0f7a4d; }
* { box-sizing: border-box; }
body { margin:0; font: 15px/1.5 -apple-system, "Segoe UI", Inter, system-ui, sans-serif; color:var(--ink); background:var(--bg); }
a { color:var(--accent); }
header.top { background:var(--ink); color:#fff; padding:0 20px; display:flex; align-items:center; gap:24px; height:52px; }
header.top .brand { font-weight:800; letter-spacing:.2px; color:#fff; text-decoration:none; }
header.top nav a { color:#d9dcec; text-decoration:none; margin-right:16px; font-size:14px; }
header.top nav a.active { color:#fff; font-weight:700; }
header.top .who { margin-left:auto; font-size:13px; color:#c9cde0; }
main { max-width:1100px; margin:0 auto; padding:24px 20px 60px; }
h1 { font-size:22px; margin:0 0 16px; } h2 { font-size:16px; margin:24px 0 8px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(160px,1fr)); gap:12px; margin-bottom:24px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px; }
.card .n { font-size:26px; font-weight:800; } .card .l { color:var(--muted); font-size:13px; }
table { width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
th, td { text-align:left; padding:9px 12px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }
th { background:#f3f0ea; font-weight:700; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.3px; }
tr:last-child td { border-bottom:none; }
.pill { display:inline-block; padding:1px 8px; border-radius:999px; font-size:12px; font-weight:700; background:#eef0f7; color:var(--ink); }
.pill.ok { background:#e2f5ea; color:var(--ok); } .pill.bad { background:#fde8e6; color:var(--bad); } .pill.warn { background:#fff3d6; color:#8a5a00; } .pill.on { background:var(--ink); color:#fff; }
form.inline { display:inline; } form.box { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:14px 16px; margin:10px 0; max-width:520px; }
label { display:block; font-size:13px; color:var(--muted); margin:8px 0 4px; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=date], select, textarea { width:100%; padding:8px 10px; border:1px solid #cfcbc2; border-radius:8px; font:inherit; }
button { font:inherit; font-weight:700; padding:7px 14px; border-radius:8px; border:1px solid var(--accent); background:var(--accent); color:#fff; cursor:pointer; }
button.quiet { background:#fff; color:var(--ink); border-color:#cfcbc2; } button.danger { background:var(--bad); border-color:var(--bad); }
.actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 16px; }
.flash { padding:10px 14px; border-radius:8px; margin-bottom:16px; background:#e2f5ea; color:var(--ok); } .flash.bad { background:#fde8e6; color:var(--bad); }
.muted { color:var(--muted); } .small { font-size:13px; } .mono { font-family: ui-monospace, Menlo, monospace; }
.signin { max-width:380px; margin:60px auto; } .signin h1 { text-align:center; }
.qr svg { max-width:220px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:20px; } @media (max-width:800px) { .grid2 { grid-template-columns:1fr; } }
.search { display:flex; gap:8px; margin-bottom:14px; } .search input { flex:1; }
button.danger { background:var(--bad); color:#fff; }
