/* auth and layout improvements */
body {
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 40%);
    color: #212529;
    min-height: 100vh;
    padding-top: 70px;
}

.auth-card {
    border: 0;
    border-radius: 12px;
}

/* subtle shadow + hover lift for cards used across app */
.card.shadow-sm {
    transition: transform .12s ease-in-out, box-shadow .12s ease-in-out;
}

    .card.shadow-sm:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 25px rgba(33,37,41,0.08);
    }

/* compact form controls */
.input-group-text {
    background: #fff;
    border-right: 0;
}

.input-group .form-control {
    border-left: 0;
}

/* responsive vertical center */
.min-vh-75 {
    min-height: 75vh;
}

/* tweak navbar brand and links */
.navbar-brand {
    font-weight: 700;
    letter-spacing: 0.2px;
}

.navbar-light .navbar-brand:hover {
    color: #0d6efd;
}

.text-dark:hover{
    font-weight: 500;
}

/* Fixed header styles */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030; /* Above Bootstrap modals and other elements */
    background: white;
    border-bottom: 1px solid #dee2e6;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Scrollable table styles for Ledgers, Receipts, and Payments */
.table-responsive {
    max-height: 62vh; /* Limit height to 62% of viewport for scrolling */
    overflow-y: auto; /* Enable vertical scrolling */
    overflow-x: auto; /* Preserve horizontal scrolling for responsiveness */
}

.table thead th {
    position: sticky;
    top: 0;
    background: white; /* Ensure header background is solid for visibility */
    z-index: 10; /* Above table body */
    border-bottom: 2px solid #dee2e6; /* Add subtle border for separation */
}

/* Additional tweaks for table stripes and borders */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05); /* Ensure stripes are visible with sticky header */
}

.table-bordered thead th {
    border-bottom-width: 2px; /* Strengthen border for bordered tables */
}