/* Panel-wide rules. Section styles live next to their components. */

html,
body {
    margin: 0;
    background: #F3F4F2;
}

a {
    color: #3E5B47;
}

h1:focus {
    outline: none;
}

.page-loading {
    padding: 48px 16px;
    color: #5B6770;
    text-align: center;
}

/* Figures line up in columns. */
.num,
.mud-table-cell.num {
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.muted {
    color: #5B6770;
}

.nowrap {
    white-space: nowrap;
}

/* Denser tables than MudBlazor's default, for screens full of rows. */
.mud-table-dense .mud-table-cell {
    padding: 6px 12px;
}

.mud-table-head .mud-table-cell {
    font-size: 12px;
    font-weight: 600;
    color: #5B6770;
    background: #FAFBF9;
}

.mud-table-row.row-link {
    cursor: pointer;
}

/* Grid of headline figures. */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* A toolbar of filters above a table. */
.filters {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 12px;
}

.filters > * {
    min-width: 180px;
}

/* Definition lists on detail pages: label on the left, value on the right. */
.facts {
    display: grid;
    grid-template-columns: minmax(120px, max-content) minmax(0, 1fr);
    gap: 8px 16px;
    margin: 0;
}

.facts dt {
    color: #5B6770;
}

.facts dd {
    margin: 0;
}

/* Reconnecting to the server. */
.reconnect {
    display: none;
}

.reconnect.components-reconnect-show,
.reconnect.components-reconnect-failed,
.reconnect.components-reconnect-rejected {
    position: fixed;
    inset: 0;
    z-index: 3000;
    display: grid;
    place-items: center;
    background: rgba(31, 42, 36, .35);
}

.reconnect-box {
    padding: 16px 20px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .18);
    font: 14px/1.45 "Segoe UI", Roboto, Arial, sans-serif;
}

.reconnect-box p {
    display: none;
    margin: 0;
}

.components-reconnect-show .reconnect-show,
.components-reconnect-failed .reconnect-failed,
.components-reconnect-rejected .reconnect-rejected {
    display: block;
}

#blazor-error-ui {
    position: fixed;
    inset: auto 0 0;
    z-index: 3000;
    display: none;
    padding: 10px 16px;
    background: #FDF1F0;
    border-top: 2px solid #B42318;
    color: #7A1A12;
    font: 14px/1.45 "Segoe UI", Roboto, Arial, sans-serif;
}

#blazor-error-ui .reload {
    margin-left: 12px;
    font-weight: 600;
}

#blazor-error-ui .dismiss {
    float: right;
    cursor: pointer;
}
