.detail-section {
    background:var(--bg-1); border:1px solid var(--border); border-radius:10px;
    padding:22px 24px; margin-bottom:18px;
}
.tabs { display:flex; gap:4px; border-bottom:1px solid var(--border); margin:8px 0 4px; }
.tab { padding:8px 14px; color:var(--text-2); border-bottom:2px solid transparent; }
.tab:hover { color:var(--text-1); text-decoration:none; }
.tab-active { color:var(--text-1); border-bottom-color:var(--accent); }

table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--border); font-size:.93rem; }
th { color:var(--text-2); font-weight:500; }

.status-badge {
    display:inline-block; padding:2px 8px; border-radius:999px; font-size:.78rem;
    border:1px solid var(--border); background:var(--bg-2); text-transform:lowercase;
}
.status-badge.status-up, .status-badge.status-ok { border-color:var(--success); color:#b5e2bf; }
.status-badge.status-degraded, .status-badge.status-warn { border-color:var(--warning); color:#ecd29a; }
.status-badge.status-down, .status-badge.status-error { border-color:var(--danger); color:#f0b6b6; }
.status-badge.status-unknown, .status-badge.status-disabled { color:var(--text-2); }

.grav-row { display:flex; align-items:center; gap:16px; margin-bottom:10px; }
.avatar-lg { width:72px; height:72px; border-radius:50%; background:var(--bg-2); }

.page-head {
    display:flex; justify-content:space-between; align-items:flex-start;
    gap:16px; flex-wrap:wrap; margin-bottom:22px;
}
.page-head h1 { margin-bottom:4px; }
.head-actions { display:flex; gap:8px; flex-wrap:wrap; }
.crumb { font-size:.8rem; color:var(--text-2); margin-bottom:4px; }

.kpi-row {
    display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
    gap:12px; margin-bottom:22px;
}
.kpi {
    background:var(--bg-1); border:1px solid var(--border); border-radius:10px;
    padding:14px 16px;
}
.kpi-label { display:block; color:var(--text-2); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.kpi strong { font-size:1.45rem; }
.kpi-down { border-color:#3d1f1f; }
.kpi-degraded { border-color:#3d3218; }

.group-block { margin-bottom:28px; }
.group-block h2 { margin-bottom:12px; color:var(--text-2); font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; }
.card-grid {
    display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
    gap:12px;
}
.target-card {
    display:block; background:var(--bg-1); border:1px solid var(--border);
    border-radius:10px; padding:14px 16px; color:inherit;
}
.target-card:hover { text-decoration:none; border-color:#3a3a3a; background:#181818; }
.target-card.status-down { border-color:#5a2a2a; }
.target-card.status-degraded { border-color:#5a4a20; }
.card-top { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.card-top strong { flex:1; }
.status-dot {
    width:8px; height:8px; border-radius:50%; background:#555; flex-shrink:0;
}
.status-up .status-dot { background:var(--success); }
.status-down .status-dot { background:var(--danger); }
.status-degraded .status-dot { background:var(--warning); }
.card-url { font-size:.75rem; margin-bottom:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.card-meta { display:flex; justify-content:space-between; font-size:.8rem; color:var(--text-2); margin-bottom:8px; }
.spark { width:100%; height:28px; display:block; }

.meta-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; margin:12px 0; }
.meta-list dt { color:var(--text-2); font-size:.78rem; }
.meta-list dd { color:var(--text-1); }
.error-line { color:#f0b6b6; margin-top:8px; }

.inline-reset { display:flex; gap:6px; align-items:center; }
.inline-reset input { width:160px; }

.docs-section h2 { margin-bottom:10px; }
.docs-section h3 { margin:16px 0 8px; font-size:1rem; }
.docs-section p { margin:10px 0; color:var(--text-1); }
.docs-list { margin:10px 0 10px 20px; }
.docs-list li { margin:8px 0; }
.docs-code {
    background:var(--bg-2); border:1px solid var(--border); border-radius:8px;
    padding:12px 14px; overflow-x:auto; font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    font-size:.82rem; line-height:1.45; margin:12px 0; color:#e8e8e8;
    white-space:pre;
}
.docs-public { min-height:100vh; }
.docs-public-bar {
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 28px; border-bottom:1px solid var(--border); background:var(--bg-1);
}
.docs-public-main { max-width:880px; padding-top:28px; }

.status-badge.status-stale { border-color:var(--warning); color:#ecd29a; }
.status-stale .status-dot { background:var(--warning); }
.attr-row {
    display:grid; grid-template-columns:70px 64px 1fr; gap:8px; align-items:center;
    font-size:.78rem; margin:6px 0;
    font-variant-numeric: tabular-nums;
}
.attr-row-lg { grid-template-columns:90px 88px 1fr auto; margin:10px 0; font-size:.9rem; }
.attr-val { color:var(--text-2); text-align:right; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }
.attr-bar { height:6px; background:#2a2a2a; border-radius:99px; overflow:hidden; }
.attr-bar i { display:block; height:100%; background:var(--accent); border-radius:99px; }
.attr-bar i.warn { background:var(--warning); }
.attr-bar i.crit { background:var(--danger); }
.host-facts { font-size:.75rem; min-height:1.2em; margin:0 0 8px; }
.kind-flag .attr-val, .kind-count .attr-val { color:var(--text-1); }
.tone-warn .attr-val { color:#ecd29a; }
.tone-crit .attr-val { color:#f0b6b6; }
.table-wrap { overflow-x:auto; }
.host-history { font-variant-numeric: tabular-nums; }
.host-info { margin:0 0 18px; }
