:root{
  --bg:#0f1115;
  --card:#151823;
  --text:#e8ecf1;
  --muted:#9aa3b2;
  --primary:#5b9cff;
  --primary-ghost:#2a2f3a;
  --ok:#1cd760;
  --off:#9aa3b2;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial}

.container{max-width:1100px;margin:0 auto;padding:16px}

.site-header{border-bottom:1px solid #1e2430;background:#0f121a;position:sticky;top:0;z-index:50}
.site-header .logo{color:var(--text);text-decoration:none;font-weight:700}
.site-header .nav{float:right;display:flex;gap:8px}
.site-footer{border-top:1px solid #1e2430;margin-top:32px;background:#0f121a}

.btn{background:var(--primary);color:#fff;border:none;border-radius:10px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover{opacity:.9}
.btn--outline{background:transparent;border:1px solid var(--primary);color:var(--text)}
.btn--ghost{background:transparent;border:1px solid #293040;color:var(--muted)}
.btn--sm{padding:8px 10px;border-radius:8px;font-size:.9rem}

.filters{margin:16px 0}
.filters__form{background:#0f121a;border:1px solid #1e2430;border-radius:12px;padding:12px}
.filters__row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.filters label{display:flex;flex-direction:column;font-size:.9rem;color:var(--muted)}
.filters input[type="number"], .filters select{
  background:#0f1117;border:1px solid #2a2f3a;color:var(--text);border-radius:8px;padding:8px;min-width:90px
}
.filters__checkbox{flex-direction:row;gap:8px;align-items:center}

.grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px,1fr));gap:16px;margin-top:12px}
.card{background:var(--card);border:1px solid #1e2430;border-radius:16px;overflow:hidden}
.card__image{display:block;position:relative;aspect-ratio:1/1;background:#0f121a}
.card__image img{width:100%;height:100%;object-fit:cover;display:block}
.status-dot{position:absolute;top:10px;left:10px;width:12px;height:12px;border-radius:50%;border:2px solid #10131a}
.status-dot.online{background:var(--ok)}
.status-dot.offline{background:var(--off)}
.card__body{padding:12px}
.card__title{color:var(--text);text-decoration:none;font-weight:700}
.card__title:hover{opacity:.9}
.card__meta{color:var(--muted);font-size:.9rem;margin-top:2px}
.card__actions{margin-top:10px}

.empty{padding:24px;text-align:center;color:var(--muted);background:#0f121a;border:1px solid #1e2430;border-radius:12px}

.pagination{display:flex;justify-content:center;gap:10px;margin:20px 0}
