*{box-sizing:border-box}html,body{color:#000;background:#f4f4f4;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}.top{color:#fff;background:#000;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.brand{letter-spacing:.08em;font-weight:700}.brand span{color:#9a9a9a;letter-spacing:0;margin-left:8px;font-weight:400}.btn{color:#fff;font:inherit;cursor:pointer;background:#000;border:0;border-radius:6px;padding:9px 16px}.btn:hover{background:#333}.btn-light{color:#000;background:#fff}.btn-light:hover{background:#e5e5e5}.wrap{max-width:1200px;margin:0 auto;padding:24px}.stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat{background:#fff;border:1px solid #e2e2e2;border-radius:10px;padding:16px}.stat b{margin-top:4px;font-size:26px;display:block}.stat small{color:#666;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.card{background:#fff;border:1px solid #e2e2e2;border-radius:10px;margin-bottom:20px;overflow:hidden}.card h2{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;margin:0;padding:14px 16px;font-size:15px;display:flex}.tbl{border-collapse:collapse;width:100%}.tbl th,.tbl td{text-align:left;white-space:nowrap;border-bottom:1px solid #f0f0f0;padding:9px 16px}.tbl th{text-transform:uppercase;letter-spacing:.05em;color:#666;background:#fafafa;font-size:11px}.tbl tr:hover td{background:#fafafa}.scroll{overflow-x:auto}.ok{color:#0a7a2f;font-weight:600}.bad{color:#b3261e;font-weight:600}.muted{color:#888}.search{gap:8px;display:flex}.search input{font:inherit;border:1px solid #ccc;border-radius:6px;min-width:240px;padding:8px 10px}.login{background:#fff;border:1px solid #e2e2e2;border-radius:12px;max-width:360px;margin:12vh auto;padding:28px}.login h1{margin:0 0 18px;font-size:18px}.login input{width:100%;font:inherit;border:1px solid #ccc;border-radius:6px;margin-bottom:12px;padding:10px}.login .btn{width:100%}.err{color:#b3261e;background:#fdecea;border-radius:6px;margin-bottom:12px;padding:9px 12px}@media (max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.search input{width:100%;min-width:0}}.alert{color:#b3261e;background:#fdecea;border:1px solid #f5c2bd;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-weight:600}.okbar{color:#067647;background:#ecfdf3;border:1px solid #abefc6;border-radius:10px;margin-bottom:16px;padding:10px 16px}
