html {
    overflow-y: scroll;
}

body {
    background: #f7fafc;
}

.fixed-header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 1000;
    height: 64px;
    min-height: 64px;
}

.card {
    border-radius: 16px;
}

.status-online { background-color: #d4edda !important; }
.status-offline-less { background-color: #fff3cd !important; }
.status-offline-more { background-color: #f8d7da !important; }
.status-offline-always { background-color: #ccc !important; }
.status-unknown { }


th.sortable {
    cursor: pointer;
    user-select: none;
    transition: background 0.2s;
}

th.sortable:hover {
    background-color: #e9ecef;
}

.sort-icon {
    display: inline-block;
    width: 1.2em; /* Достаточно под любую "bi" иконку */
    text-align: center;
}