/* ==========================================================================
   PIPELINE PWA - Responsive & Mobile First Stylesheet
   ========================================================================== */

@media (max-width: 768px) {
    .hamburger-btn {
        display: flex;
    }

    .sidebar-header {
        display: flex;
    }

    .app-sidebar {
        display: flex;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 270px;
        z-index: 1050;
        background: #ffffff;
        box-shadow: 4px 0 25px rgba(0, 0, 0, 0.15);
        transform: translateX(-100%);
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        padding: 20px 16px;
    }
    .app-sidebar.active {
        transform: translateX(0);
    }

    .app-header {
        padding: 0 10px;
        height: 50px;
    }
    
    .brand-logo {
        font-size: 13px;
        gap: 6px;
    }
    .brand-logo span.icon {
        font-size: 16px;
    }

    .user-nav {
        gap: 6px;
    }

    .user-avatar {
        width: 28px;
        height: 28px;
        font-size: 11px;
    }

    .user-name {
        font-size: 11px;
        font-weight: 600;
        max-width: 90px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .user-role {
        font-size: 9px;
    }

    .hamburger-btn {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }

    .btn-logout {
        padding: 4px 8px;
        font-size: 11px;
    }

    .app-main {
        padding: 16px;
        padding-bottom: 80px; /* Space for bottom navigation */
    }

    .page-header {
        margin-bottom: 16px;
    }
    .page-title {
        font-size: 18px;
    }

    /* Kanban Horizontal Swipe on Mobile */
    .kanban-board {
        gap: 12px;
        padding-bottom: 12px;
        min-height: calc(100vh - 180px);
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .kanban-column {
        width: 85vw;
        min-width: 85vw;
        scroll-snap-align: center;
        max-height: calc(100vh - 180px);
    }

    /* PWA Mobile Bottom Navigation Bar */
    .mobile-nav {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 60px;
        background: #ffffff;
        border-top: 1px solid var(--color-border);
        justify-content: space-around;
        align-items: center;
        z-index: 999;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.05);
    }

    .mobile-nav-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        font-weight: 500;
        color: var(--text-secondary);
        text-decoration: none !important;
        gap: 2px;
    }
    .mobile-nav-item .icon {
        font-size: 20px;
    }
    .mobile-nav-item.active {
        color: var(--color-primary);
        font-weight: 700;
    }

    /* Mobile Bottom Sheet Modal */
    .modal-container {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        max-width: 100%;
        border-radius: 20px 20px 0 0;
        max-height: 85vh;
        transform: translateY(100%);
    }
    .modal-overlay.active .modal-container {
        transform: translateY(0);
    }
}
