/* 政企风格蓝色渐变背景 */
body {
    background: linear-gradient(135deg, #e8f0fe 0%, #f0f4ff 50%, #e8f4f8 100%);
    min-height: 100vh;
}

/* 响应式布局 - 适配手机端和平板端 */

/* 移动端汉堡菜单按钮 */
.hamburger-btn { display: none; }
.mobile-sidebar-overlay { display: none; }
.mobile-sidebar { display: none; }
.mobile-sidebar-overlay.show { display: block !important; }
.mobile-sidebar.show { display: flex !important; }

/* 平板端 (<=1024px) */
@media (max-width: 1024px) {
    /* 后台管理页面：侧边栏折叠 */
    .flex.gap-6 > .w-48 {
        width: 140px;
        flex-shrink: 0;
    }
    
    /* 日程网格：减少时间列宽度 */
    .schedule-grid {
        grid-template-columns: 120px repeat(27, 1fr);
        font-size: 10px;
    }
    
    /* 会议室卡片：2列 */
    .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* 手机端 (<=768px) */
@media (max-width: 768px) {
    /* 移动端汉堡菜单按钮显示 */
    .hamburger-btn { display: flex; }
    .mobile-sidebar-overlay.show { display: block; }
    .mobile-sidebar.show { display: flex; }
    
    /* 导航栏 */
    nav .max-w-7xl {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    nav .flex.items-center.space-x-6 {
        display: none;
    }
    
    nav .ml-auto {
        margin-left: auto;
    }
    
    /* 主内容区域 */
    .max-w-7xl.mx-auto.px-6 {
        padding-left: 12px;
        padding-right: 12px;
    }
    
    /* 后台管理：侧边栏隐藏或堆叠 */
    .flex.gap-6 {
        flex-direction: column;
    }
    
    .flex.gap-6 > .w-48 {
        width: 100%;
    }
    
    .flex.gap-6 > .w-48 .bg-white {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }
    
    .flex.gap-6 > .w-48 .sidebar-link {
        flex: 1 1 auto;
        min-width: 120px;
        justify-content: center;
        padding: 8px 12px;
        font-size: 13px;
    }
    
    /* 日程网格：简化显示 */
    .schedule-grid {
        grid-template-columns: 100px repeat(27, 1fr);
        font-size: 9px;
    }
    
    .room-cell {
        padding: 6px 8px;
    }
    
    .time-header {
        padding: 4px 1px;
        font-size: 9px;
    }
    
    .time-slot {
        min-height: 40px;
    }
    
    .reservation-block {
        font-size: 9px;
        padding: 2px 3px;
    }
    
    /* 会议室卡片：单列 */
    .grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3 {
        grid-template-columns: 1fr;
    }
    
    /* 筛选栏：堆叠 */
    .filter-bar {
        flex-direction: column;
        align-items: stretch;
    }
    
    .filter-bar .flex.items-center.space-x-2 {
        width: 100%;
    }
    
    .filter-bar select,
    .filter-bar input {
        width: 100%;
    }
    
    /* 表格：横向滚动 */
    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    
    /* 模态框：全屏 */
    .fixed.inset-0 .bg-white {
        width: 95%;
        max-width: 95%;
        margin: 16px;
    }
    
    /* 按钮和表单 */
    button, .btn-primary, .btn-outline {
        padding: 10px 16px;
        font-size: 14px;
    }
    
    input, select, textarea {
        font-size: 14px;
    }
    
    /* 页面标题 */
    .text-2xl {
        font-size: 1.25rem;
    }
    
    /* 用户管理：部门卡片 */
    .dept-card {
        margin-left: 0 !important;
    }
    
    .dept-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .dept-actions {
        width: 100%;
        justify-content: flex-start;
    }
    
    /* 底部footer */
    footer {
        font-size: 10px;
        padding: 8px 0;
    }
}

/* 小屏手机 (<=480px) */
@media (max-width: 480px) {
    /* 导航栏：隐藏logo文字 */
    nav .text-lg.font-bold {
        font-size: 14px;
    }
    
    /* 用户头像和名称 */
    nav .w-8 {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
    
    nav .text-sm {
        font-size: 12px;
    }
    
    /* 日程网格：进一步简化 */
    .schedule-grid {
        grid-template-columns: 80px repeat(27, 1fr);
    }
    
    .room-cell {
        padding: 4px 6px;
        font-size: 11px;
    }
    
    .time-header {
        font-size: 8px;
        padding: 2px 1px;
    }
    
    /* 表单：全宽 */
    .grid.grid-cols-2 {
        grid-template-columns: 1fr;
    }
    
    /* 卡片内边距 */
    .p-6 {
        padding: 16px;
    }
    
    .p-5 {
        padding: 12px;
    }
    
    /* 间距调整 */
    .space-x-6 {
        gap: 12px;
    }
    
    .space-x-4 {
        gap: 8px;
    }
    
    .space-x-3 {
        gap: 6px;
    }
    
    .space-x-2 {
        gap: 4px;
    }
    
    .gap-6 {
        gap: 12px;
    }
    
    .gap-4 {
        gap: 8px;
    }
    
    .gap-3 {
        gap: 6px;
    }
}

/* 横屏模式 */
@media (max-height: 500px) and (orientation: landscape) {
    nav {
        position: relative;
    }
    
    footer {
        position: relative;
        margin-top: 20px;
    }
}

/* 打印样式 */
@media print {
    nav, footer, button {
        display: none;
    }
    
    .max-w-7xl {
        max-width: 100%;
        padding: 0;
    }
}
