.device-inspector-component {
    padding: 1%;
    background: var(--container-bg, #f8f9fa);
    border-radius: 8px;
    border: 1px solid var(--container-border, #dee2e6);
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    font-size: clamp(0.6rem, 1.5vw, 0.9rem);
    /* The whole panel scrolls when the cards don't fit, not each card. */
    overflow-x: hidden;
    overflow-y: auto;
}
.device-inspector-component .card { transition: all 0.2s ease-in-out; }
.device-inspector-component .value-text { font-family: 'Courier New', Courier, monospace; }
.device-inspector-component .card h2, 
.device-inspector-component .card span, 
.device-inspector-component .card div, 
.device-inspector-component .card {
    font-size: inherit;
    word-break: break-word;
    white-space: normal;
}

.device-inspector-component .card h2 {
    color: #2c3e50;
}
.device-inspector-component .card .value-text {
    font-size: 0.95em;
}
.device-inspector-content {
    /* Fill the panel, but grow past it (instead of clipping) when the cards are taller. */
    flex: 1 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 15px;
    padding: 10px;
    width: 100%;
    align-items: stretch;
}
.device-inspector-content .card {
    height: 100%;
    display: flex;
    flex-direction: column;
}