/* Responsive Design */

/* Tablet (768px and below) */
@media (max-width: 768px) {
    .navbar {
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .menu-toggle {
        display: block;
    }

    .nav-links {
        display: none;
        position: absolute;
        top: 64px;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-1);
        padding: var(--space-3) var(--space-4);
        background: var(--bg-navbar, #ffffff);
        border-top: 1px solid var(--border-color);
        box-shadow: 0 12px 24px -8px rgba(15, 32, 24, 0.18),
                    0 4px 8px -4px rgba(15, 32, 24, 0.08);
        z-index: calc(var(--z-navbar) - 1);
        max-height: 40vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }

    .nav-links.open {
        display: flex;
    }

    .nav-links .nav-link {
        padding: var(--space-3) var(--space-4);
        border-radius: var(--border-radius);
        text-align: left;
        width: 100%;
    }

    .nav-links .nav-user {
        padding: var(--space-3) var(--space-4) var(--space-1);
        color: var(--text-muted);
        font-size: 0.8rem;
        border-top: 1px solid var(--border-color-light, var(--border-color));
        margin-top: var(--space-2);
    }

    .nav-links #logout-btn {
        margin: var(--space-2) var(--space-4);
        width: calc(100% - var(--space-8));
    }

    .receipt-detail-grid {
        grid-template-columns: 1fr;
    }

    .receipt-image-panel {
        position: static;
    }

    .form-row {
        flex-direction: column;
        gap: var(--space-3);
    }

    .filter-row {
        flex-direction: column;
    }

    .filter-row .input {
        min-width: 100%;
    }

    .stats-grid {
        grid-template-columns: 1fr;
    }

    .page-header {
        flex-wrap: wrap;
    }

    .page-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .upload-options {
        flex-direction: column;
    }

    .modal {
        width: 95%;
    }

    .doc-grid {
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    }

    .doc-stats-bar {
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .doc-stat {
        min-width: 80px;
    }

    .recent-grid {
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    }

    .queue-item {
        flex-wrap: wrap;
        gap: var(--space-2);
    }

    .video-capture-modal {
        max-width: 95%;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-6);
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
    }

    .footer-legal-line {
        justify-content: center;
    }

    .footer-bottom-links {
        justify-content: center;
    }
}

/* Mobile (480px and below) */
@media (max-width: 480px) {
    .container {
        padding: 0 var(--space-3);
    }

    .navbar {
        padding: var(--space-2) var(--space-3);
    }

    .navbar-brand a {
        font-size: 1.25rem;
    }

    .nav-link {
        font-size: 0.8125rem;
        padding: var(--space-1) var(--space-2);
    }

    .main-content {
        padding: var(--space-4) 0;
    }

    .auth-card {
        padding: var(--space-6);
    }

    .stat-value {
        font-size: 1.5rem;
    }

    .table th,
    .table td {
        padding: var(--space-2) var(--space-3);
        font-size: 0.8125rem;
    }

    .drop-zone {
        padding: var(--space-6);
    }

    .doc-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-3);
    }

    .doc-card-thumb,
    .doc-card-thumb-placeholder {
        height: 120px;
    }

    .doc-stats-bar {
        gap: var(--space-1);
        padding: var(--space-3);
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .doc-stat-value {
        font-size: 1.25rem;
    }

    .recent-grid {
        grid-template-columns: 1fr 1fr;
    }

    .export-card {
        padding: var(--space-6);
    }

    .section-header {
        flex-direction: column;
        gap: var(--space-3);
        align-items: flex-start;
    }
}

/* Print styles */
@media print {
    .navbar,
    .filter-bar,
    .pagination,
    .page-actions,
    .btn,
    #toast-container {
        display: none !important;
    }

    .main-content {
        padding: 0;
    }

    .table-container {
        box-shadow: none;
    }

    .table th,
    .table td {
        border: 1px solid #ccc;
    }
}

/* ---- Mobile Capture CTA on Upload page ---- */
.mobile-capture-cta {
    text-align: center;
    margin-bottom: var(--space-6);
    padding-bottom: var(--space-6);
    border-bottom: 1px solid var(--border-color);
}

.mobile-capture-link {
    font-size: 1.075rem;
    padding: var(--space-3) var(--space-8);
}

.mobile-capture-hint {
    margin-top: var(--space-2);
    font-size: 0.8125rem;
    color: var(--text-muted);
}

/* On desktop, de-emphasize the mobile capture CTA */
@media (min-width: 1024px) {
    .mobile-capture-cta {
        display: none;
    }
}
