﻿/* --- General spacing + tap targets --- */
.btn, .form-control, .form-select {
    border-radius: .6rem;
}

/* Compact icon buttons for tables */
.btn-icon {
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Prevent date/time from wrapping weirdly */
.text-nowrap {
    white-space: nowrap;
}

/* Table responsiveness */
.table-responsive {
    overflow-x: auto;
}

/* Smaller tables on phones */
@media (max-width: 575.98px) {
    .table {
        font-size: .92rem;
    }

        .table td, .table th {
            vertical-align: middle;
        }

    .btn-sm {
        padding: .35rem .5rem;
    }

    .card .card-header {
        padding: .6rem .9rem;
    }

    .card .card-body {
        padding: .9rem;
    }
}

/* Make offcanvas a bit wider on tablets */
@media (min-width: 768px) and (max-width: 991.98px) {
    .offcanvas-end {
        width: 360px;
    }
}
