html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
    background-color: #f8f9fa;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Focus styles */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

/* Placeholder alignment in floating labels */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* === Table Styling === */
table {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    background-color: white;
    width: 100%;
    border: 1px solid #dee2e6;
}

/* Optional: use this class to apply rounded styling selectively */
.table-rounded {
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    background-color: white;
    border: 1px solid #dee2e6;
}

/* Table header */
table thead {
    background-color: #f1f3f5;
    font-weight: 600;
}

    /* Rounded corners for table header and footer */
    table thead tr:first-child th:first-child {
        border-top-left-radius: 8px;
    }

    table thead tr:first-child th:last-child {
        border-top-right-radius: 8px;
    }

table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 8px;
}

table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px;
}

/* Cell borders */
table th,
table td {
    border: 1px solid #dee2e6;
    padding: 0.75rem;
    vertical-align: middle;
}

/* Alternating row colors */
table tbody tr:nth-child(even) {
    background-color: #f8f9fc;
}

table tbody tr:nth-child(odd) {
    background-color: #ffffff;
}

/* Smooth hover effect */
table tbody tr:hover {
    background-color: #eef2f7;
    box-shadow: inset 0 0 0 1px #ced4da;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Optional: logo styling */
.site-logo {
    height: 48px;
    width: auto;
    margin-right: 1rem;
}
