*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Arial,sans-serif;background:#f1f3f7;color:#1d2433}
.card{max-width:460px;margin:24px auto;background:#fff;padding:24px;border-radius:14px;box-shadow:0 2px 12px rgba(0,0,0,.08)}
.card.narrow{max-width:360px}
.wrap{max-width:1100px;margin:16px auto;padding:0 12px}
h1{font-size:1.4rem;margin:0 0 6px} h2{margin:12px 0 6px}
.sub{color:#667;font-size:.9rem;margin:4px 0 14px}
label{display:block;margin:12px 0;font-size:.9rem;font-weight:600}
input,select{width:100%;padding:10px;margin-top:4px;border:1px solid #c9cfdb;border-radius:8px;font-size:1rem}
.btn,button{background:#3c5adf;color:#fff;border:0;padding:10px 16px;border-radius:8px;font-size:.95rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn.alt{background:#5b6477}
form .btn{width:100%;margin-top:8px}
.msg.err{background:#fde8e8;color:#9b1c1c;padding:10px;border-radius:8px}
.foot{text-align:center;margin-top:16px;font-size:.85rem}
.pill{background:#e6e9f5;padding:3px 10px;border-radius:99px;font-size:.8rem}
.pill.ok{background:#d6f5e0;color:#12643a}
.badge{text-align:center} #qr{display:flex;justify-content:center;margin:16px 0}
.scanner #reader{width:100%;border-radius:10px;overflow:hidden}
.result{margin:14px 0;padding:18px;border-radius:12px;text-align:center;font-size:1.3rem;line-height:1.4}
.result.wait{background:#eef0f5;color:#556}
.result.ok{background:#1f9d55;color:#fff}
.result.bad{background:#d64545;color:#fff}
.top{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
.top .btn{margin-left:4px}
.stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.stats div{background:#fff;padding:12px 18px;border-radius:10px;min-width:110px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.stats b{display:block;font-size:1.6rem}
.filters{display:flex;gap:8px;margin:12px 0}.filters input{flex:1}.filters select{width:150px}
.tablewrap{overflow-x:auto;background:#fff;border-radius:10px}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:8px 10px;border-bottom:1px solid #e8ebf2;text-align:left;white-space:nowrap}
.acts{display:flex;gap:6px;align-items:center}.acts form{display:flex;gap:4px}
.acts button{padding:5px 9px;font-size:.8rem}
@media print{.noprint{display:none}body{background:#fff}.card{box-shadow:none}}
