body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main.container {
    flex: 1;
}

.navbar-brand {
    letter-spacing: 0.02em;
}

.card {
    border: none;
}

.table td {
    vertical-align: middle;
}

.badge {
    min-width: 2rem;
}

.nav-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
}

.nav-tabs .nav-link {
    white-space: nowrap;
}

.alert-dismissible .btn-close {
    font-size: 0.8rem;
}

@media (max-width: 767.98px) {
    .table-responsive {
        font-size: 0.85rem;
    }

    .table td,
    .table th {
        white-space: nowrap;
    }

    .btn-group-sm > .btn,
    .btn-sm {
        padding: 0.25rem 0.4rem;
        font-size: 0.75rem;
    }
}

@media (max-width: 576px) {
    .input-group .input-group-text {
        display: none;
    }
}
