/**
 * InterneApps - Main Stylesheet
 * Imports all modular CSS files
 */

/* Base: Variables, Reset, Typography, Header, Navigation */
@import url('base.css');

/* Components: Buttons, Cards, Forms, Popups, Loading, Search */
@import url('components.css');

/* Module-specific styles */
@import url('modules/onlineplanung.css');
@import url('modules/anwesenheit.css');
@import url('modules/coaching.css');
@import url('modules/admin.css');
@import url('modules/hierbinichnich.css');
@import url('modules/fortschritt.css');
@import url('modules/qp.css');
@import url('modules/organisation.css');
@import url('modules/feedback.css');
@import url('modules/dev.css');
@import url('modules/apps.css');
@import url('modules/quizzes.css');
@import url('modules/kursmaterial.css');
@import url('modules/sidebar.css');
@import url('modules/dashboard.css');

/* ============================================
   GLOBAL RESPONSIVE STYLES
   ============================================ */
@media (max-width: 900px) {
    .container {
        padding: 15px;
    }

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

    .profile-header {
        flex-direction: column;
        text-align: center;
    }

    .profile-standort {
        margin-left: 0;
        margin-top: 15px;
    }

    .profile-avatar {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }

    .btn {
        width: 100%;
    }

    .actions {
        flex-direction: column;
    }

    .user-menu {
        gap: 10px;
    }

    .user-name {
        max-width: 150px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

@media (max-width: 600px) {

    .container {
        padding: 10px;
    }

    .card {
        padding: 15px;
        border-radius: 12px;
        margin-bottom: 15px;
    }

    .card-header {
        font-size: 1.1rem;
        margin-bottom: 15px;
        padding-bottom: 10px;
    }

    .category-title {
        font-size: 0.95rem;
    }

    .search-input {
        padding: 12px 15px;
        padding-right: 45px;
        font-size: 1rem;
    }

    .view-toggle {
        width: 100%;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .toggle-btn {
        flex: 0 0 auto;
        padding: 8px 12px;
        font-size: 0.85rem;
    }
}

@media (max-width: 400px) {
    .header-content {
        justify-content: center;
    }

    .logo {
        width: 100%;
        justify-content: center;
    }

    .user-menu {
        flex-wrap: wrap;
        justify-content: center;
    }

}
