*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.topbar{min-height:68px;background:#111827;color:white;display:flex;align-items:center;padding:0 24px;gap:28px}.brand{font-size:24px;font-weight:800;color:white;text-decoration:none}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav a,.user a{color:#dbe3f0;text-decoration:none}.topbar nav a{padding:10px 12px;border-radius:8px}.topbar nav a.active,.topbar nav a:hover{background:#263247;color:white}.user{font-size:14px;color:#dbe3f0}
.shell{max-width:1180px;margin:30px auto;padding:0 18px}.pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.pagehead h1{margin:0;font-size:30px}.muted{color:#6b7280}.card{background:#fff;border:1px solid #e2e7ef;border-radius:14px;padding:20px;box-shadow:0 2px 7px #0000000b}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat b{font-size:28px;display:block}.stat span{color:#6b7280}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn,button{border:0;border-radius:8px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#4f46e5;color:white}.secondary{background:#eef2ff;color:#3730a3}.danger{background:#fee2e2;color:#991b1b}.smallbtn{padding:7px 9px;font-size:13px}
form.inlineform{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}.field input,.field select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:white;font:inherit}
table{width:100%;border-collapse:collapse;margin-top:14px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #edf0f4}th{font-size:12px;text-transform:uppercase;color:#6b7280}.badge{display:inline-block;background:#eef2ff;color:#3730a3;border-radius:999px;padding:4px 9px;font-weight:800}.guest{background:#fff7ed;color:#9a3412}.inactive{opacity:.55}.msg{padding:10px 12px;border-radius:9px;margin-bottom:14px}.ok{background:#dcfce7;color:#166534}.error{background:#fee2e2;color:#991b1b}.empty{text-align:center;padding:35px;color:#6b7280}
@media(max-width:800px){.topbar{align-items:flex-start;flex-wrap:wrap;padding:15px}.topbar nav{order:3;width:100%;overflow:auto}.user{margin-left:auto}.grid4{grid-template-columns:1fr 1fr}form.inlineform{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}}
