/* Safe everywhere. Keep this minimal. */
.table td, .table th {
    vertical-align: middle;
}

.form-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.u-muted {
    color: #6c757d;
}
/* Legacy alias if you used `.muted` somewhere */
.muted {
    color: #6c757d;
}

/* ==============================
   Consistent brand footer (_BrandFooter.cshtml)
   Self-contained colours so it looks identical across the
   dashboard / auth / realtime layouts. Not used by embedded or
   the public marketing footer.
   ============================== */
.brand-footer {
    margin-top: auto; /* sticks to the bottom inside a flex column (dashboard .main) */
    background: #0A1C27;
    color: rgba(255, 255, 255, .60);
    border-top: 1px solid rgba(255, 255, 255, .08);
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
}
.brand-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    align-items: center;
    justify-content: space-between;
    font-size: 13.5px;
}
.brand-footer__links { display: flex; gap: 18px; }
.brand-footer a { color: rgba(255, 255, 255, .60); text-decoration: none; }
.brand-footer a:hover { color: #18A7A0; }
