:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#172033;background:#f3f6fb;font-size:14px}
*{box-sizing:border-box}body{margin:0}.topbar{height:60px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100% - 1200px)/2));gap:20px}.brand{font-weight:800;font-size:19px;color:#fff;text-decoration:none}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav a,.link-button{color:#dbeafe;text-decoration:none;background:none;border:0;cursor:pointer;font:inherit}.container{max-width:1200px;margin:28px auto;padding:0 20px;min-height:calc(100vh - 130px)}h1{font-size:26px;margin:0 0 8px}p{line-height:1.5}.muted{color:#6b7280}.small{font-size:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.card{background:#fff;border:1px solid #e3e8f0;border-radius:12px;box-shadow:0 2px 8px #0f172a08}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.stat{background:#fff;border:1px solid #e3e8f0;border-radius:12px;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}.stat strong{font-size:28px}.stat.online strong{color:#15803d}.stat.offline strong{color:#b91c1c}.filters{display:flex;gap:10px;padding:14px;margin-bottom:18px;flex-wrap:wrap}.filters input{flex:1;min-width:220px}.filters select{min-width:150px}input,select{font:inherit;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;max-width:100%}button,.button{font:inherit;border:1px solid #cbd5e1;background:#fff;color:#172033;border-radius:7px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf0f5}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcff}.badge{font-size:11px;font-weight:800;letter-spacing:.04em;padding:5px 8px;border-radius:999px}.badge.online{color:#166534;background:#dcfce7}.badge.offline{color:#991b1b;background:#fee2e2}.empty{text-align:center;color:#64748b;padding:30px}.auth{max-width:420px;margin:70px auto;padding:28px}.form-card{max-width:620px;padding:26px}.auth form,.form-card form{display:flex;flex-direction:column;gap:16px;margin-top:20px}.auth label,.form-card label{display:flex;flex-direction:column;gap:7px;font-weight:600}.flash{padding:12px 14px;border-radius:8px;margin-bottom:15px}.flash.error{background:#fee2e2;color:#991b1b}.inline{display:inline;margin:0}footer{text-align:center;color:#94a3b8;padding:18px;font-size:12px}@media(max-width:700px){.topbar{padding:0 14px}.topbar nav{gap:10px}.page-heading{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.filters{flex-direction:column}.filters input,.filters select{width:100%}.container{margin-top:20px}}.devices-table {
    width: 100%;
    table-layout: auto;
}

.devices-table th.os-column,
.devices-table td.os-column {
    min-width: 220px;
    max-width: 320px;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
