*{box-sizing:border-box}
body{margin:0;background:#f4f5f7;color:#171717;font-family:Arial,sans-serif}
button,input,select{font:inherit}
button{border:0;border-radius:9px;padding:10px 14px;background:#171717;color:#fff;cursor:pointer}
input,select{height:42px;border:1px solid #d5d7da;border-radius:9px;background:#fff;padding:0 11px;min-width:0}
.hidden{display:none!important}
.center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{width:min(380px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px;box-shadow:0 15px 45px rgba(0,0,0,.08)}
.login-card h1{margin:0 0 8px}.login-card p{color:#666;margin:0 0 20px}.login-card input{display:block;width:100%;margin:10px 0}.login-card button{width:100%;margin-top:8px}.msg{min-height:20px;color:#b00020;margin-top:10px;text-align:center;font-size:13px}
.app{min-height:100vh}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}
.topbar h1{margin:0 0 4px;font-size:22px}.topbar span{color:#666;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}
.toolbar{display:flex;gap:12px;flex-wrap:wrap;padding:16px 22px}.toolbar label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700}
.stats{display:flex;gap:14px;padding:0 22px 16px}.stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:13px 18px;min-width:130px}.stat span{display:block;color:#666;font-size:12px}.stat strong{font-size:25px}
.panel{margin:0 22px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:18px}.panel h2{margin:0 0 14px;font-size:17px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.panel>button{margin-top:10px}.list{margin-top:14px;display:grid;gap:8px}
.item{border:1px solid #e5e7eb;border-radius:10px;padding:11px;display:flex;justify-content:space-between;align-items:center;gap:12px}.item small{color:#666;display:block;margin-top:3px}.item .buttons{display:flex;gap:6px;flex-wrap:wrap}.item .buttons button{padding:7px 9px;font-size:12px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1250px;font-size:12px}th,td{border-bottom:1px solid #ececec;padding:9px 8px;text-align:left;vertical-align:top}th{background:#fafafa;position:sticky;top:0}.online{font-weight:700}.offline{color:#888}
@media(max-width:800px){.topbar{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.panel{margin-left:12px;margin-right:12px}.toolbar,.stats{padding-left:12px;padding-right:12px}}
