/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-78i2tzaoz3] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-78i2tzaoz3] {
    flex: 1;
    background-color: #f4f5fa;
    min-height: 100vh;
}

.sidebar[b-78i2tzaoz3] {
    background-color: #1c2130;
}

.top-row[b-78i2tzaoz3] {
    background-color: #ffffff;
    border-bottom: 1px solid #e2e5ec;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-78i2tzaoz3]  a, .top-row[b-78i2tzaoz3]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
        color: #6b7591;
        font-size: 0.875rem;
    }

    .top-row[b-78i2tzaoz3]  a:hover, .top-row[b-78i2tzaoz3]  .btn-link:hover {
        text-decoration: underline;
        color: #4f6af2;
    }

    .top-row[b-78i2tzaoz3]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-78i2tzaoz3] {
        justify-content: space-between;
    }

    .top-row[b-78i2tzaoz3]  a, .top-row[b-78i2tzaoz3]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-78i2tzaoz3] {
        flex-direction: row;
    }

    .sidebar[b-78i2tzaoz3] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-78i2tzaoz3] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-78i2tzaoz3]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-78i2tzaoz3], article[b-78i2tzaoz3] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-x4nahiaf3d] {
    background-color: rgba(255, 255, 255, 0.1);
    border: none;
}

.top-row[b-x4nahiaf3d] {
    height: 3.5rem;
    background-color: #161b27;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.navbar-brand[b-x4nahiaf3d] {
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #d4daf0 !important;
}

.bi[b-x4nahiaf3d] {
    display: inline-block;
    position: relative;
    width: 1.1rem;
    height: 1.1rem;
    margin-right: 0.65rem;
    top: -1px;
    background-size: cover;
    opacity: 0.7;
    transition: opacity 0.15s;
}

.bi-house-door-fill-nav-menu[b-x4nahiaf3d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-x4nahiaf3d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-x4nahiaf3d] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-x4nahiaf3d] {
    font-size: 0.875rem;
    padding-bottom: 0.15rem;
}

    .nav-item:first-of-type[b-x4nahiaf3d] {
        padding-top: 0.75rem;
    }

    .nav-item:last-of-type[b-x4nahiaf3d] {
        padding-bottom: 1rem;
    }

    .nav-item[b-x4nahiaf3d]  a {
        color: #7e8da8;
        border-radius: 6px;
        height: 2.6rem;
        display: flex;
        align-items: center;
        line-height: 2.6rem;
        transition: background-color 0.15s ease, color 0.15s ease;
        font-weight: 400;
    }

.nav-item[b-x4nahiaf3d]  a.active {
    background-color: rgba(79, 106, 242, 0.18);
    color: #c5d0f0;
    font-weight: 500;
}

.nav-item[b-x4nahiaf3d]  a.active .bi {
    opacity: 1;
}

.nav-item[b-x4nahiaf3d]  a:hover {
    background-color: rgba(255, 255, 255, 0.06);
    color: #c8d0e8;
}

.nav-item[b-x4nahiaf3d]  a:hover .bi {
    opacity: 1;
}

.nav-item .nav-link.btn-link[b-x4nahiaf3d] {
    color: #7e8da8;
    text-decoration: none;
    padding: 0;
    border-radius: 6px;
    height: 2.6rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.nav-item .nav-link.btn-link:hover[b-x4nahiaf3d] {
    background-color: rgba(255, 255, 255, 0.06);
    color: #c8d0e8;
    text-decoration: none;
}

.nav-item .nav-link.btn-link:hover .bi[b-x4nahiaf3d] {
    opacity: 1;
}

@media (min-width: 641px) {
    .navbar-toggler[b-x4nahiaf3d] {
        display: none;
    }

    .collapse[b-x4nahiaf3d] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }

    .nav-scrollable[b-x4nahiaf3d] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/HealthPanel.razor.rz.scp.css */
/* ── Tab navigation ───────────────────────────────────────────────── */

.ht-tabs[b-w3tdorf0ii] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ht-tab-nav[b-w3tdorf0ii] {
    display: flex;
    gap: 0.5rem;
    padding-bottom: 0;
    flex-wrap: wrap;
}

.ht-tab-btn[b-w3tdorf0ii] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--border);
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    background: var(--bg);
    color: var(--text-muted);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.ht-tab-btn:hover[b-w3tdorf0ii] {
    background: rgba(var(--accent-rgb), 0.06);
    color: var(--text);
}

.ht-tab-btn--active[b-w3tdorf0ii] {
    color: var(--text);
    background: var(--bg);
    position: relative;
    z-index: 1;
}

.ht-tab-btn--active[b-w3tdorf0ii]::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--bg);
}

/* Active tab accent stripe on top */
.ht-tab-btn--disk.ht-tab-btn--active[b-w3tdorf0ii]    { border-top: 2px solid #6366f1; }
.ht-tab-btn--warning.ht-tab-btn--active[b-w3tdorf0ii] { border-top: 2px solid #d97706; }
.ht-tab-btn--info.ht-tab-btn--active[b-w3tdorf0ii]    { border-top: 2px solid var(--accent); }
.ht-tab-btn--danger.ht-tab-btn--active[b-w3tdorf0ii]  { border-top: 2px solid #dc3545; }

/* ── Badges ────────────────────────────────────────────────────────── */

.ht-badge[b-w3tdorf0ii] {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.15em 0.55em;
    border-radius: 20px;
    min-width: 22px;
    text-align: center;
}

.ht-badge--disk[b-w3tdorf0ii]    { background: rgba(99, 102, 241, 0.12); color: #6366f1; }
.ht-badge--warning[b-w3tdorf0ii] { background: rgba(245, 158, 11, 0.15); color: #d97706; }
.ht-badge--info[b-w3tdorf0ii]    { background: rgba(var(--accent-rgb), 0.12); color: var(--accent); }
.ht-badge--danger[b-w3tdorf0ii]  { background: rgba(220, 53, 69, 0.12); color: #dc3545; }

/* ── Panel ─────────────────────────────────────────────────────────── */

.ht-panel[b-w3tdorf0ii] {
    border: 1px solid var(--border);
    border-radius: 0 8px 8px 8px;
    background: var(--bg);
    overflow: hidden;
}

/* ── Search ────────────────────────────────────────────────────────── */

.ht-search-bar[b-w3tdorf0ii] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--border);
    background: var(--bg);
}

.ht-search-icon[b-w3tdorf0ii] {
    color: var(--text-muted);
    font-size: 0.85rem;
    flex-shrink: 0;
}

.ht-search-input[b-w3tdorf0ii] {
    flex: 1;
    border: none;
    background: transparent;
    outline: none;
    font-size: 0.875rem;
    color: var(--text);
}

.ht-search-input[b-w3tdorf0ii]::placeholder { color: var(--text-muted); }

.ht-search-clear[b-w3tdorf0ii] {
    border: none;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    padding: 0;
    font-size: 0.75rem;
    line-height: 1;
    display: flex;
    align-items: center;
}

.ht-search-clear:hover[b-w3tdorf0ii] { color: var(--text); }

/* ── Result count ──────────────────────────────────────────────────── */

.ht-table-count[b-w3tdorf0ii] {
    font-size: 0.75rem;
    color: var(--text-muted);
    padding: 0.4rem 1rem;
    border-bottom: 1px solid var(--border);
}

/* ── Table ─────────────────────────────────────────────────────────── */

.ht-table-wrap[b-w3tdorf0ii] {
    overflow-x: auto;
}

.ht-table[b-w3tdorf0ii] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.ht-table thead th[b-w3tdorf0ii] {
    padding: 0.6rem 1rem;
    text-align: left;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.ht-table thead th:hover[b-w3tdorf0ii] { color: var(--text); }

.ht-th--sorted[b-w3tdorf0ii] { color: var(--accent) !important; }

.ht-table thead th i[b-w3tdorf0ii] { font-size: 0.7rem; margin-left: 0.3rem; }

.ht-table tbody tr[b-w3tdorf0ii] {
    border-bottom: 1px solid var(--border);
    transition: background 0.1s;
}

.ht-table tbody tr:last-child[b-w3tdorf0ii] { border-bottom: none; }

.ht-table tbody tr:hover[b-w3tdorf0ii] { background: rgba(var(--accent-rgb), 0.04); }

.ht-row-link[b-w3tdorf0ii] { cursor: pointer; }

.ht-table tbody td[b-w3tdorf0ii] { padding: 0.65rem 1rem; vertical-align: middle; }

.ht-td-name[b-w3tdorf0ii]   { font-weight: 600; color: var(--text); }
.ht-td-server[b-w3tdorf0ii] { color: var(--text-muted); white-space: nowrap; }
.ht-td-detail[b-w3tdorf0ii] { color: var(--text-muted); font-style: italic; }

/* ── Usage badge ───────────────────────────────────────────────────── */

.ht-usage-badge[b-w3tdorf0ii] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.2em 0.6em;
    border-radius: 6px;
    white-space: nowrap;
}

.ht-usage-range[b-w3tdorf0ii] {
    font-size: 0.7rem;
    font-weight: 500;
    opacity: 0.8;
}

.ht-usage--moderate[b-w3tdorf0ii] { background: rgba(245, 158, 11, 0.12); color: #d97706; }
.ht-usage--warning[b-w3tdorf0ii]  { background: rgba(249, 115, 22, 0.12); color: #ea580c; }
.ht-usage--danger[b-w3tdorf0ii]   { background: rgba(220, 53, 69, 0.12);  color: #dc3545; }

/* ── Send email column ─────────────────────────────────────────────── */

.ht-send-btn[b-w3tdorf0ii] {
    font-size: 0.78rem;
    padding: 0.2rem 0.6rem;
    border: 1px solid var(--accent);
    color: var(--accent);
    background: transparent;
    border-radius: 5px;
    white-space: nowrap;
}

.ht-send-btn:hover:not(:disabled)[b-w3tdorf0ii] {
    background: rgba(var(--accent-rgb), 0.08);
}

.ht-send-ok[b-w3tdorf0ii] {
    font-size: 0.78rem;
    color: #198754;
    white-space: nowrap;
}

.ht-send-err[b-w3tdorf0ii] {
    font-size: 0.78rem;
    color: #dc3545;
    cursor: help;
    white-space: nowrap;
}

.ht-send-na[b-w3tdorf0ii] {
    font-size: 0.75rem;
    white-space: nowrap;
}

/* ── Empty state ───────────────────────────────────────────────────── */

.ht-empty[b-w3tdorf0ii] {
    padding: 2.5rem 1.5rem;
    text-align: center;
    font-size: 0.875rem;
    color: var(--text-muted);
}
/* /Pages/Home.razor.rz.scp.css */
/* ─── Layout ─── */
.domain-panel[b-hgvoge1ehw] {
    display: flex;
    height: calc(100vh - 56px);
    overflow: hidden;
    background: var(--bg);
    margin: -1rem -1rem 0;
}

/* ─── Sidebar ─── */
.dp-sidebar[b-hgvoge1ehw] {
    width: 300px;
    min-width: 300px;
    background: var(--surface);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dp-sidebar-header[b-hgvoge1ehw] {
    padding: 1.25rem 1rem 0.75rem;
    border-bottom: 1px solid var(--border);
}

.dp-sidebar-title[b-hgvoge1ehw] {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 0.6rem;
}

.dp-search[b-hgvoge1ehw] {
    position: relative;
}

.dp-search-icon[b-hgvoge1ehw] {
    position: absolute;
    left: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    font-size: 0.8rem;
}

.dp-search-input[b-hgvoge1ehw] {
    width: 100%;
    padding: 0.4rem 0.75rem 0.4rem 2rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 0.85rem;
    background: var(--bg);
    color: var(--text);
    outline: none;
    transition: border-color .15s;
}

.dp-search-input:focus[b-hgvoge1ehw] {
    border-color: rgba(var(--accent-rgb), 0.6);
    background: var(--surface);
}

.dp-list[b-hgvoge1ehw] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 0;
}

.dp-list-item[b-hgvoge1ehw] {
    width: 100%;
    padding: 0.6rem 1rem;
    background: none;
    border: none;
    text-align: left;
    cursor: pointer;
    transition: background .1s;
    border-left: 3px solid transparent;
}

.dp-list-item:hover[b-hgvoge1ehw] { background: var(--bg); }

.dp-list-item--active[b-hgvoge1ehw] {
    background: rgba(var(--accent-rgb), 0.07);
    border-left-color: var(--accent);
}

.dp-list-item-main[b-hgvoge1ehw] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.1rem;
}

.dp-list-item-domain[b-hgvoge1ehw] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dp-list-item-client[b-hgvoge1ehw] {
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ─── Status badges ─── */
.dp-status[b-hgvoge1ehw] {
    font-size: 0.65rem;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    border-radius: 10px;
    white-space: nowrap;
    flex-shrink: 0;
}
.dp-status--active[b-hgvoge1ehw]    { background: #d1fae5; color: #065f46; }
.dp-status--inactive[b-hgvoge1ehw]  { background: var(--bg); color: var(--text-muted); }
.dp-status--suspended[b-hgvoge1ehw] { background: #fef3c7; color: #92400e; }
.dp-status--error[b-hgvoge1ehw]     { background: #fee2e2; color: #991b1b; }

/* ─── Main panel ─── */
.dp-main[b-hgvoge1ehw] {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
}

.dp-placeholder[b-hgvoge1ehw] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    gap: 0.75rem;
}

.dp-placeholder-icon[b-hgvoge1ehw] { font-size: 3rem; }

.dp-loading[b-hgvoge1ehw] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.dp-empty[b-hgvoge1ehw] {
    padding: 1.5rem 1rem;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.85rem;
}

/* ─── Domain tabs ─── */
.dp-domain-tabs-wrap[b-hgvoge1ehw] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 0.4rem 0.6rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.dp-domain-tabs[b-hgvoge1ehw] {
    display: flex;
    gap: 0.25rem;
    flex-wrap: wrap;
    flex: 1;
}

.dp-domain-tab[b-hgvoge1ehw] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.8rem;
    border: none;
    background: none;
    border-radius: 7px;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted);
    white-space: nowrap;
    cursor: pointer;
    transition: background .1s, color .1s;
}

.dp-domain-tab:hover[b-hgvoge1ehw] {
    background: rgba(var(--accent-rgb), 0.07);
    color: var(--accent);
}

.dp-domain-tab--active[b-hgvoge1ehw] {
    background: var(--accent);
    color: #fff;
}

.dp-domain-tab-name[b-hgvoge1ehw] { font-family: 'JetBrains Mono', monospace, sans-serif; }

/* ─── Pills ─── */
.dp-pill[b-hgvoge1ehw] {
    font-size: 0.6rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    border-radius: 10px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.dp-pill--primary[b-hgvoge1ehw]   { background: rgba(var(--accent-rgb), 0.12); color: var(--accent); }
.dp-pill--on-active[b-hgvoge1ehw] { background: rgba(255, 255, 255, 0.22); color: #fff; }
.dp-pill--active[b-hgvoge1ehw]    { background: #d1fae5; color: #065f46; }
.dp-pill--inactive[b-hgvoge1ehw]  { background: var(--bg); color: var(--text-muted); }
.dp-pill--suspended[b-hgvoge1ehw] { background: #fef3c7; color: #92400e; }
.dp-pill--error[b-hgvoge1ehw]     { background: #fee2e2; color: #991b1b; }

/* ─── Content grid ─── */
.dp-content[b-hgvoge1ehw] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 1.25rem;
    align-items: start;
}

@media (max-width: 1100px) {
    .dp-content[b-hgvoge1ehw] { grid-template-columns: 1fr; }
}

.dp-content-left[b-hgvoge1ehw]  { display: flex; flex-direction: column; gap: 1.25rem; }
.dp-content-right[b-hgvoge1ehw] { display: flex; flex-direction: column; gap: 1.25rem; }

/* ─── Cards ─── */
.dp-card[b-hgvoge1ehw] {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.25rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.dp-card-title[b-hgvoge1ehw] {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.dp-card-subtitle[b-hgvoge1ehw] {
    font-size: 0.7rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    color: var(--text-muted);
    opacity: 0.7;
}

/* ─── Topology ─── */
.dp-topo[b-hgvoge1ehw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.dp-topo-node--visitor[b-hgvoge1ehw] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    font-size: 0.7rem;
    color: var(--text-muted);
    flex-shrink: 0;
}

.dp-topo-node--visitor i[b-hgvoge1ehw] { font-size: 1.5rem; color: var(--border); }

.dp-topo-arrow[b-hgvoge1ehw] { color: var(--border); font-size: 1rem; flex-shrink: 0; }

.dp-topo-flows[b-hgvoge1ehw] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1;
}

.dp-topo-flow[b-hgvoge1ehw] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.dp-topo-badge[b-hgvoge1ehw] {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 5px;
    white-space: nowrap;
    min-width: 70px;
    text-align: center;
}
.dp-topo-badge--http[b-hgvoge1ehw] { background: rgba(var(--accent-rgb), 0.1); color: var(--accent); }
.dp-topo-badge--smtp[b-hgvoge1ehw] { background: #ede9fe; color: #5b21b6; }

.dp-topo-server[b-hgvoge1ehw] {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.dp-topo-server--internal[b-hgvoge1ehw] { border-color: #a7f3d0; background: #f0fdf4; }
.dp-topo-server--external[b-hgvoge1ehw] { border-color: var(--border); background: var(--bg); }

.dp-topo-server-name[b-hgvoge1ehw] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.1rem;
}

.dp-topo-ip[b-hgvoge1ehw] {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-family: 'JetBrains Mono', monospace, sans-serif;
}

.dp-topo-note[b-hgvoge1ehw] {
    margin-top: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: rgba(var(--accent-rgb), 0.06);
    border-radius: 6px;
    font-size: 0.78rem;
    color: var(--text);
    border-left: 3px solid var(--accent);
}

/* ─── DNS table ─── */
.dp-dns-table[b-hgvoge1ehw] {
    width: 100%;
    font-size: 0.8rem;
    border-collapse: collapse;
}

.dp-dns-table th[b-hgvoge1ehw] {
    font-size: 0.68rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    padding: 0 0.5rem 0.5rem;
    border-bottom: 1px solid var(--border);
    text-align: left;
}

.dp-dns-table td[b-hgvoge1ehw] {
    padding: 0.4rem 0.5rem;
    border-bottom: 1px solid var(--bg);
    vertical-align: middle;
}

.dp-dns-type[b-hgvoge1ehw] {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.15rem 0.45rem;
    border-radius: 4px;
    white-space: nowrap;
}
.dp-dns-type--a[b-hgvoge1ehw]     { background: rgba(var(--accent-rgb), 0.1); color: var(--accent); }
.dp-dns-type--mx[b-hgvoge1ehw]    { background: #ede9fe; color: #5b21b6; }
.dp-dns-type--spf[b-hgvoge1ehw]   { background: #dcfce7; color: #166534; }
.dp-dns-type--dkim[b-hgvoge1ehw]  { background: #fef3c7; color: #92400e; }
.dp-dns-type--dmarc[b-hgvoge1ehw] { background: #ffe4e6; color: #9f1239; }
.dp-dns-type--ns[b-hgvoge1ehw]    { background: var(--bg); color: var(--text-muted); }

.dp-dns-host[b-hgvoge1ehw] {
    font-family: 'JetBrains Mono', monospace, sans-serif;
    color: var(--text-muted);
    white-space: nowrap;
}

.dp-dns-val[b-hgvoge1ehw] {
    font-family: 'JetBrains Mono', monospace, sans-serif;
    font-size: 0.72rem;
    color: var(--text);
    word-break: break-all;
    max-width: 380px;
}

/* ─── Server card ─── */
.dp-server-name[b-hgvoge1ehw] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text);
}

/* ─── Space ─── */
.dp-space-item[b-hgvoge1ehw] {
    margin-bottom: 0.5rem;
}

/* ─── Mailbox rows ─── */
.dp-mb-row[b-hgvoge1ehw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 0;
    border-bottom: 1px solid var(--bg);
    font-size: 0.8rem;
    color: var(--text);
}

.dp-mb-row:last-child[b-hgvoge1ehw] { border-bottom: none; }

.dp-mb-size[b-hgvoge1ehw] {
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
    flex-shrink: 0;
    margin-left: 0.75rem;
}

/* ─── Client card ─── */
.dp-client[b-hgvoge1ehw] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.dp-client-avatar[b-hgvoge1ehw] {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--accent), var(--accent-hover));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
}

.dp-client-name[b-hgvoge1ehw] {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text);
}

.dp-client-package[b-hgvoge1ehw] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.dp-contacts[b-hgvoge1ehw] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-bottom: 0.75rem;
}

.dp-contact[b-hgvoge1ehw] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.dp-contact-name[b-hgvoge1ehw] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text);
}

.dp-contact-link[b-hgvoge1ehw] {
    font-size: 0.75rem;
    color: var(--accent);
    text-decoration: none;
}

.dp-contact-link:hover[b-hgvoge1ehw] { text-decoration: underline; }

.dp-notes[b-hgvoge1ehw] {
    font-size: 0.78rem;
    color: var(--text);
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
    padding: 0.5rem 0.6rem;
}

/* ─── Summary ─── */
.dp-summary[b-hgvoge1ehw] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.dp-summary-row[b-hgvoge1ehw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.8rem;
    padding: 0.25rem 0;
    border-bottom: 1px solid var(--bg);
}

.dp-summary-label[b-hgvoge1ehw] { color: var(--text-muted); }
.dp-summary-val[b-hgvoge1ehw] { color: var(--text); font-weight: 500; text-align: right; }

/* ─── DNS check badges ─── */
.dp-dns-check[b-hgvoge1ehw] { font-size: 0.75rem; display: flex; align-items: center; gap: 0.3rem; }
.dp-dns-check--ok[b-hgvoge1ehw]      { color: #16a34a; }
.dp-dns-check--missing[b-hgvoge1ehw] { color: var(--text-muted); }
/* /Pages/Notifications.razor.rz.scp.css */
.ntpl-list[b-8bnxpsiwnz] {
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: var(--bg);
}

.ntpl-row[b-8bnxpsiwnz] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1.25rem;
    border-bottom: 1px solid var(--border);
}

.ntpl-row:last-child[b-8bnxpsiwnz] { border-bottom: none; }

.ntpl-row:hover[b-8bnxpsiwnz] { background: rgba(var(--accent-rgb), 0.03); }

.ntpl-info[b-8bnxpsiwnz] { flex: 1; min-width: 0; }

.ntpl-name[b-8bnxpsiwnz] {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text);
}

.ntpl-key[b-8bnxpsiwnz] {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-family: monospace;
    margin-top: 2px;
}

.ntpl-status[b-8bnxpsiwnz] { flex-shrink: 0; }

.ntpl-badge[b-8bnxpsiwnz] {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2em 0.6em;
    border-radius: 20px;
    white-space: nowrap;
}

.ntpl-badge--on[b-8bnxpsiwnz]    { background: rgba(25, 135, 84, 0.12); color: #198754; }
.ntpl-badge--off[b-8bnxpsiwnz]   { background: rgba(var(--accent-rgb), 0.1); color: var(--text-muted); }
.ntpl-badge--empty[b-8bnxpsiwnz] { background: rgba(108, 117, 125, 0.1); color: var(--text-muted); }

.ntpl-body-hint[b-8bnxpsiwnz] {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 0.4rem;
}

.ntpl-textarea[b-8bnxpsiwnz] {
    font-family: monospace;
    font-size: 0.8rem;
    resize: vertical;
}
/* /Pages/Settings.razor.rz.scp.css */
.cfg-section[b-vn4p1a1c7r] {
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    background: var(--bg);
    margin-bottom: 1.5rem;
}

.cfg-section-header[b-vn4p1a1c7r] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.85rem 1.25rem;
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text);
    background: rgba(var(--accent-rgb), 0.04);
    border-bottom: 1px solid var(--border);
}

.cfg-section-sub[b-vn4p1a1c7r] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--text-muted);
    margin-left: 0.25rem;
}

.cfg-form[b-vn4p1a1c7r] {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    padding: 1.25rem;
}

.cfg-row-2[b-vn4p1a1c7r] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

@media (max-width: 600px) {
    .cfg-row-2[b-vn4p1a1c7r] { grid-template-columns: 1fr; }
}

.cfg-field[b-vn4p1a1c7r] { display: flex; flex-direction: column; gap: 0.3rem; }
.cfg-field--sm[b-vn4p1a1c7r] { max-width: 120px; }

.cfg-label[b-vn4p1a1c7r] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text);
}

.cfg-hint[b-vn4p1a1c7r] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.cfg-input[b-vn4p1a1c7r] {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 0.45rem 0.7rem;
    font-size: 0.875rem;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
}

.cfg-input:focus[b-vn4p1a1c7r] { border-color: var(--accent); }

.cfg-toggle-row[b-vn4p1a1c7r] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--border);
}

.cfg-toggle-row:last-of-type[b-vn4p1a1c7r] { border-bottom: none; }

/* Toggle switch */
.cfg-switch[b-vn4p1a1c7r] {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
    cursor: pointer;
}

.cfg-switch input[b-vn4p1a1c7r] { opacity: 0; width: 0; height: 0; }

.cfg-switch-slider[b-vn4p1a1c7r] {
    position: absolute;
    inset: 0;
    background: var(--border);
    border-radius: 22px;
    transition: background 0.2s;
}

.cfg-switch-slider[b-vn4p1a1c7r]::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}

.cfg-switch input:checked + .cfg-switch-slider[b-vn4p1a1c7r] { background: var(--accent); }
.cfg-switch input:checked + .cfg-switch-slider[b-vn4p1a1c7r]::before { transform: translateX(18px); }
