.resource-page main {
    display: grid;
    gap: 18px;
}

.resource-toolbar {
    margin: 0;
}

.resource-list {
    display: grid;
    gap: 14px;
}

.resource-list > .empty {
    grid-column: 1 / -1;
}

.resource-page-servers .resource-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-page-urls .resource-list,
.resource-page-services .resource-list,
.resource-page-trunks .resource-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.resource-page-databases .resource-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.resource-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-top: 4px solid var(--muted);
    border-radius: 10px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.resource-card.ok { border-top-color: var(--ok); }
.resource-card.alert,
.resource-card.error { border-top-color: var(--alert); }
.resource-card.warning { border-top-color: var(--warning, #d97706); }

.resource-card-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 15px 17px;
    border-bottom: 1px solid var(--border);
}

.resource-card-header h2 {
    margin: 0;
    color: var(--text);
    font-size: 16px;
}

.resource-card.ok .resource-card-header h2 { color: var(--ok); }
.resource-card.alert .resource-card-header h2,
.resource-card.error .resource-card-header h2 { color: var(--alert); }

.resource-card-header p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.resource-card-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.resource-card.collapsed .resource-card-body {
    display: none;
}

.resource-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 15px;
}

.resource-facts-wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.resource-facts > div,
.resource-metrics > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 0;
    border-radius: 8px;
    background: var(--surface-soft);
}

.resource-facts span,
.resource-metrics span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.resource-facts strong,
.resource-metrics strong {
    color: var(--text);
    font-size: 13px;
}

.resource-facts strong.status-text.ok { color: var(--ok); }
.resource-facts strong.status-text.alert,
.resource-facts strong.status-text.error { color: var(--alert); }
.resource-facts strong.status-text.warning { color: var(--warning, #d97706); }

.resource-card.ok .resource-facts strong,
.resource-card.ok .resource-metrics strong {
    color: var(--ok);
}

.resource-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 15px 15px;
}

.resource-break {
    overflow-wrap: anywhere;
}

.resource-error {
    padding: 12px 18px;
    background: var(--alert-soft);
    color: var(--alert);
    font-size: 13px;
    font-weight: 700;
}

.resource-card[hidden] {
    display: none;
}

@media (max-width: 1000px) {
    .resource-page-servers .resource-list,
    .resource-page-urls .resource-list,
    .resource-page-services .resource-list,
    .resource-page-trunks .resource-list,
    .resource-page-databases .resource-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .resource-card-header {
        align-items: stretch;
        flex-direction: column;
    }

    .resource-page-servers .resource-list,
    .resource-page-urls .resource-list,
    .resource-page-services .resource-list,
    .resource-page-trunks .resource-list,
    .resource-page-databases .resource-list {
        grid-template-columns: 1fr;
    }

}
