﻿/* Base Styling */
.sidebar-custom {
    min-height: 100vh;
    position: relative;
}

    .sidebar-custom .nav-link:hover {
        background-color: #495057;
        color: #ffc107 !important;
    }

    .sidebar-custom h4 {
        color: #ffffff;
    }
/* Card styling */
.card {
    transition: transform 0.2s;
    border-radius: 8px;
    overflow: hidden;
}

    .card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    }

.card-title {
    font-size: 1.1rem;
    font-weight: 600;
}
/* Main content adjustments */
.main-content {
    min-height: calc(100vh - 60px);
    padding-top: 1rem;
}
/* Button styling */
.btn-outline-primary, .btn-outline-danger {
    border-width: 2px;
}
/* Mobile Header Styling */
@media (max-width: 767.98px) {
    .sidebar-custom {
        background-color: #343a40;
        min-height: auto;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 1000;
        padding: 0.5rem 1rem;
    }

        .sidebar-custom .d-flex {
            margin-bottom: 0 !important;
            align-items: center;
        }

        .sidebar-custom .collapse {
            background-color: #343a40;
            padding: 1rem;
            border-top: 1px solid #555;
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            max-height: calc(100vh - 100px);
            overflow-y: auto;
        }

    .main-content {
        padding-top: 100px !important; /* adjust for two-row header */
    }
    /* Adjust card layout for mobile */
    .card-grid .col-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}
/* 425px breakpoint */
@media (max-width: 424.98px) {
    .sidebar-custom {
        padding: 0.4rem 0.8rem;
    }

        .sidebar-custom h4 {
            font-size: 1.1rem;
        }

    .btn-group-responsive {
        gap: 0.5rem;
    }

    .main-content {
        padding: 0.8rem;
        padding-top: 90px;
    }

    .input-group {
        flex-wrap: wrap;
    }

        .input-group > .form-control,
        .input-group > .btn {
            border-radius: 4px !important;
            margin-bottom: 0.25rem;
        }

        .input-group > .form-control {
            width: 100%;
            margin-right: 0;
        }

        .input-group > .btn {
            width: 100%;
            margin-left: 0;
        }

    .card-title {
        font-size: 1rem;
    }
}
/* 320px breakpoint */
@media (max-width: 319.98px) {
    .sidebar-custom {
        padding: 0.3rem 0.5rem;
    }

        .sidebar-custom h4 {
            font-size: 0.9rem;
        }

    .nav-link {
        font-size: 0.85rem;
        padding: 0.25rem 0.5rem;
    }

    .main-content {
        padding: 0.5rem;
        padding-top: 80px;
    }

    .btn {
        padding: 0.25rem 0.5rem;
        font-size: 0.8rem;
    }

    .form-control {
        padding: 0.25rem 0.5rem;
        font-size: 0.8rem;
    }

    .card-title {
        font-size: 0.9rem;
    }
}
/* Card grid styling */
.card-grid {
    display: flex;
    flex-wrap: wrap;
    margin: -0.5rem;
}

    .card-grid > [class*="col-"] {
        padding: 0.5rem;
    }
/* Button group adjustments */
.btn-group-responsive {
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
}

@media (min-width: 768px) {
    .btn-group-responsive {
        flex-direction: row;
        width: auto;
        align-items: center;
    }
}
