/* Design tokens taken from the Digital Signage admin (Vuetify customLightTheme) */
:root {
    --primary: #003459;
    --secondary: #4a88f3;
    --surface: #fff;
    --background: #f5f6f8;
    --text: rgba(0, 0, 0, 0.87);
    --text-muted: rgba(0, 0, 0, 0.6);
    --divider: rgba(0, 0, 0, 0.12);
    --ok: #54af5e;
    --degraded: #ff8400;
    --not_available: #ff2d55;
}

@font-face {
    font-family: "Museo";
    src: url("/static/fonts/Museo_Sans_500.ttf") format("truetype");
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: "Museo";
    src: url("/static/fonts/Museo_Sans_700.ttf") format("truetype");
    font-weight: 700;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    font: 16px/1.5 Roboto, system-ui, sans-serif;
}

header {
    display: flex;
    align-items: center;
    gap: 24px;
    height: 100px;
    padding: 0 32px;
    background: var(--surface);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

header h1 {
    margin: 0;
    font: 700 28px Museo, Roboto, sans-serif;
    color: var(--primary);
}

header h1 span {
    color: var(--secondary);
}

main {
    max-width: 900px;
    margin: 32px auto;
    padding: 0 16px;
}

.info {
    margin-bottom: 32px;
    padding: 16px 24px;
    background: var(--surface);
    border-left: 4px solid var(--secondary);
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.info > :first-child {
    margin-top: 0;
}

.info > :last-child {
    margin-bottom: 0;
}

.info h1, .info h2, .info h3 {
    font: 500 20px Museo, Roboto, sans-serif;
    margin: 16px 0 8px;
}

h2 {
    font: 500 32px Museo, Roboto, sans-serif;
    color: var(--text);
}

table {
    width: 100%;
    border-collapse: collapse;
    background: var(--surface);
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

thead {
    background: var(--primary);
}

th {
    padding: 20px 24px;
    text-align: left;
    font: 500 16px Museo, Roboto, sans-serif;
    color: #fff;
}

td {
    padding: 20px 24px;
    border-bottom: 1px solid var(--divider);
}

tbody tr:last-child td {
    border-bottom: none;
}

.badge {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 20px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    background: var(--not_available);
}

.badge.ok {
    background: var(--ok);
}

.badge.degraded {
    background: var(--degraded);
}

tbody tr.active {
    background: #fff6ea;
    box-shadow: inset 4px 0 0 var(--degraded);
    font-weight: 500;
}

.nowrap {
    white-space: nowrap;
}

.detail {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: 14px;
}
