:root {
    --sr-accent: #0f766e;
    --sr-ink: #17202a;
}

body {
    color: var(--sr-ink);
    min-height: 100vh;
}

.navbar-brand {
    letter-spacing: 0;
}

.brand-mark {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    margin-right: 0.55rem;
    background: #2dd4bf;
    border-radius: 2px;
}

.page-heading {
    font-size: 1.45rem;
    font-weight: 650;
}

.section-heading {
    font-size: 1rem;
    font-weight: 650;
}

.panel {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
}

.metric {
    border-left: 3px solid var(--sr-accent);
    padding-left: 0.85rem;
}

.metric-danger {
    border-left-color: #dc3545;
}

.metric-warning {
    border-left-color: #f59e0b;
}

.metric-muted {
    border-left-color: #6c757d;
}

.metric-value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.1;
}

.table > :not(caption) > * > * {
    padding: 0.7rem 0.75rem;
}

.table thead th {
    color: #495057;
    font-size: 0.76rem;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

.sort-link {
    color: inherit;
    text-decoration: none;
}

.sort-link:hover {
    color: #0d6efd;
}

.login-shell {
    width: min(100%, 420px);
    margin: 10vh auto 0;
}

.form-hint {
    color: #6c757d;
    font-size: 0.82rem;
}

.text-break-all {
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .page-heading {
        font-size: 1.25rem;
    }

    .table > :not(caption) > * > * {
        padding: 0.6rem;
    }
}
