﻿/* Additional mobile-specific styles */
@media (max-width: 991.98px) {
    /* Add top spacing for mobile */
    .container-fluid {
        padding-top: 1rem;
    }

    .card-body {
        padding: 1rem;
    }

    .card-title {
        font-size: 1.1rem;
        margin-bottom: 0.75rem;
    }

    .fw-bold {
        font-weight: 600 !important;
    }

    /* Mobile audio player styling */
    .compact-audio {
        width: 100%;
        max-width: 250px;
    }

    /* Mobile grid adjustments */
    .k-grid-content {
        overflow-x: auto;
    }

    /* Mobile section spacing */
    .mb-4 h5 {
        color: #495057;
        font-weight: 600;
        border-bottom: 2px solid #e9ecef;
        padding-bottom: 0.5rem;
    }

    /* Mobile analytics section headers */
    .section-header {
        color: #495057;
        font-weight: 600;
        border-bottom: 1px solid #dee2e6;
        padding-bottom: 0.5rem;
        margin-bottom: 1rem;
    }

    /* Mobile analytics content spacing */
    .mobile-analytics .mb-4:last-child {
        margin-bottom: 0 !important;
    }

    /* Ensure buttons stack properly on mobile */
    .k-grid-toolbar {
        flex-wrap: wrap;
    }

        .k-grid-toolbar .k-button {
            margin-bottom: 0.5rem;
        }

    /* Ensure grid is scrollable on mobile when desktop view is forced */
    #gridContainer.d-block {
        overflow-x: auto;
    }

        #gridContainer.d-block .k-grid {
            min-width: 800px;
        }

    /* SpeakEasy mobile call cards */
    .call-card {
        border-left: 4px solid #0d6efd;
        transition: all 0.2s ease;
    }

        .call-card:hover {
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            transform: translateY(-1px);
        }

        .call-card .badge {
            font-size: 0.75rem;
            padding: 0.35em 0.65em;
        }

        .call-card .card-title {
            font-size: 1rem;
            font-weight: 600;
            color: #2c3e50;
        }

    /* Mobile pagination for calls */
    .pagination .page-link {
        padding: 0.5rem 0.75rem;
        font-size: 0.9rem;
    }

    /* Loading indicator */
    #loadingIndicator {
        min-height: 200px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    /* Mobile refresh button */
    #mobileRefreshButton {
        border-radius: 20px;
        padding: 0.5rem 1rem;
        font-size: 0.875rem;
    }
}

/* Login page mobile styles */
@media (max-width: 768px) {
    .login-input {
        font-size: 16px !important; /* Prevents zoom on iOS */
    }

    .container.mt-5 {
        padding: 1rem;
        margin-top: 2rem !important;
    }

    .login-card .card-body {
        padding: 2rem 1.5rem !important;
    }
}

