/* ========================================
   合同管理看板系统 - 布局优化样式
   ======================================== */

/* ========================================
   PC端优化样式 - 缩小控件尺寸，显示更多内容
   ======================================== */

/* 1. 全局基础优化 */

/* 导航栏优化 */
.navbar {
    padding: 0.5rem 1rem !important;
}

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

.navbar-brand i {
    font-size: 1.5rem !important;
    margin-right: 8px !important;
}

.navbar .nav-link {
    padding: 0.4rem 0.8rem !important;
    font-size: 0.9rem;
}

#current-time {
    padding: 0.4rem 0.8rem !important;
    font-size: 0.85rem;
}

/* 侧边栏优化 */
.sidebar {
    padding-top: 0.75rem !important;
}

.sidebar .nav-link {
    padding: 0.6rem 0.8rem !important;
    margin: 0.2rem 0.4rem !important;
    font-size: 0.9rem;
}

.sidebar .nav-link i {
    font-size: 1.1rem;
    margin-right: 8px;
}

/* 主内容区优化 */
.main-content {
    padding: 1rem !important;
}

/* 2. 看板页面优化 */

/* 页面头部优化 */
.dashboard-header {
    padding: 20px;
    margin-bottom: 20px;
}

.dashboard-header h1 {
    font-size: 1.6rem;
}

.dashboard-header .time-display {
    font-size: 0.95rem;
    margin-top: 8px;
}

/* 统计卡片优化 */
.stat-card-modern {
    padding: 18px !important;
    border-radius: 10px !important;
}

.stat-number {
    font-size: 2rem !important;
    margin: 8px 0 !important;
}

.stat-label {
    font-size: 0.85rem !important;
}

.stat-icon {
    right: 15px !important;
    top: 15px !important;
    font-size: 2.5rem !important;
}

/* 卡片间距优化 */
.row.g-4 {
    --bs-gutter-y: 1rem;
    --bs-gutter-x: 1rem;
}

.mb-4 {
    margin-bottom: 1.25rem !important;
}

/* 图表卡片优化 */
.chart-card {
    padding: 18px !important;
    margin-bottom: 20px !important;
}

.chart-card-header {
    padding-bottom: 12px !important;
    margin-bottom: 15px !important;
}

.chart-card-title {
    font-size: 1.1rem !important;
}

.chart-container-dashboard {
    height: 300px !important;
}

/* 筛选栏优化 */
.filter-bar {
    padding: 18px !important;
    margin-bottom: 15px !important;
}

.filter-label {
    font-size: 0.85rem;
    margin-bottom: 6px;
}

.filter-select {
    padding: 8px 12px;
    font-size: 0.9rem;
}

.btn-filter {
    padding: 9px 16px;
    font-size: 0.9rem;
}

/* 表格优化 */
.data-table-card {
    padding: 18px !important;
}

.table-modern thead th {
    padding: 12px !important;
    font-size: 0.8rem;
}

.table-modern tbody td {
    padding: 12px !important;
    font-size: 0.9rem;
}

.badge-modern {
    padding: 5px 10px !important;
    font-size: 0.75rem !important;
}

/* 提醒卡片优化 */
.alert-card {
    padding: 15px !important;
    margin-bottom: 15px !important;
}

.clickable-list li.contract-link {
    padding: 6px 10px !important;
    margin-bottom: 4px !important;
    font-size: 0.9rem;
}

/* 3. 上传页面优化 */

.page-header {
    padding: 20px !important;
    margin-bottom: 20px !important;
}

.page-header h2 {
    font-size: 1.6rem !important;
}

.page-header p {
    font-size: 0.95rem !important;
}

.upload-card-header {
    padding: 15px 18px !important;
}

.upload-card-header h5 {
    font-size: 1.1rem !important;
}

.upload-card-body {
    padding: 20px !important;
}

.file-input-modern {
    padding: 20px !important;
}

.file-input-icon {
    font-size: 2.5rem !important;
    margin-bottom: 12px !important;
}

.btn-upload {
    padding: 12px 24px !important;
    font-size: 1rem !important;
}

.history-card-body {
    max-height: 500px !important;
}

.history-item {
    padding: 12px !important;
    margin-bottom: 12px !important;
}

.info-card-header,
.history-card-header {
    padding: 12px 15px !important;
}

.info-card-body {
    padding: 15px !important;
}

/* 4. 悬浮提醒窗口优化 */

.float-reminder {
    width: 280px !important;
    max-height: 220px !important;
    padding: 12px !important;
}

.float-reminder .reminder-header {
    margin-bottom: 8px !important;
    padding-bottom: 6px !important;
}

.float-reminder .reminder-title {
    font-size: 0.9rem !important;
}

.float-reminder .reminder-content {
    font-size: 0.85rem !important;
}

.float-reminder .reminder-info {
    font-size: 0.8rem !important;
}

/* ========================================
   移动端响应式优化
   ======================================== */

/* 中等屏幕 (平板) 768px - 991px */
@media (min-width: 768px) and (max-width: 991.98px) {
    .stat-card-modern {
        padding: 15px !important;
    }

    .stat-number {
        font-size: 1.8rem !important;
    }

    .chart-container-dashboard {
        height: 280px !important;
    }
}

/* 手机端主要优化 (< 768px) */
@media (max-width: 767.98px) {
    /* 1. 全局基础优化 */

    /* 增大点击目标尺寸，符合44px最小触摸目标 */
    .navbar .nav-link {
        padding: 0.75rem 1rem !important;
        font-size: 1rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .navbar-brand {
        font-size: 1.2rem !important;
    }

    /* 主内容区全宽显示 */
    .main-content {
        padding: 0.75rem !important;
    }

    /* 侧边栏在移动端完全隐藏（内容已移至导航栏） */
    .sidebar {
        display: none !important;
    }

    .main-content {
        width: 100%;
        padding-left: 0.75rem;
    }

    /* 悬浮提醒位置调整 */
    .float-reminder {
        width: calc(100% - 20px) !important;
        max-width: 320px;
        right: 10px !important;
        left: 10px !important;
        margin: 0 auto;
    }

    /* 2. 统计卡片移动端优化 */

    .stat-card-modern {
        padding: 15px !important;
    }

    .stat-number {
        font-size: 1.8rem !important;
    }

    .stat-label {
        font-size: 0.8rem !important;
    }

    .stat-icon {
        font-size: 2rem !important;
    }

    /* 强制双列布局 */
    .row.g-4 > [class*="col-md-3"] {
        width: 50% !important;
        flex: 0 0 50% !important;
    }

    /* 3. 页面头部移动端优化 */

    .dashboard-header {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }

    .dashboard-header h1 {
        font-size: 1.3rem !important;
    }

    .dashboard-header .time-display {
        font-size: 0.85rem !important;
        margin-top: 6px !important;
    }

    /* 切换按钮移动端优化 */
    .dashboard-header .btn {
        font-size: 0.9rem;
        padding: 0.5rem 1rem;
    }

    /* 标题和按钮堆叠显示 */
    .dashboard-header .d-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .dashboard-header .btn {
        margin-top: 10px;
        align-self: stretch;
    }

    /* 4. 图表移动端优化 */

    .chart-card {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }

    .chart-card-title {
        font-size: 1rem !important;
    }

    .chart-container-dashboard {
        height: 250px !important;
    }

    /* 图表卡片在移动端单列显示 */
    .row.g-4 > .col-md-6 {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    /* 5. 筛选栏移动端优化 */

    .filter-bar {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }

    .filter-label {
        font-size: 0.8rem;
        margin-bottom: 5px;
    }

    .filter-select {
        padding: 10px 12px;
        font-size: 0.9rem;
    }

    .btn-filter {
        padding: 10px 16px;
        font-size: 0.9rem;
        margin-top: 10px;
        width: 100%;
    }

    /* 筛选项在移动端单列显示 */
    .filter-bar .row > [class*="col-md-"] {
        width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 10px;
    }

    /* 6. 表格移动端优化 */

    /* 隐藏传统表格，显示卡片式布局 */
    .table-responsive {
        display: none !important;
    }

    /* 卡片式合同列表 */
    .mobile-contract-list {
        display: block !important;
    }

    .mobile-contract-card {
        background: white;
        border-radius: 8px;
        padding: 15px;
        margin-bottom: 10px;
        border: 1px solid #e5e7eb;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .mobile-contract-card:active {
        transform: scale(0.98);
        opacity: 0.9;
    }

    .mobile-contract-card .contract-title {
        font-weight: bold;
        font-size: 1rem;
        margin-bottom: 8px;
        color: #1e3c72;
    }

    .mobile-contract-card .contract-detail {
        font-size: 0.85rem;
        color: #6b7280;
        margin-bottom: 5px;
    }

    .mobile-contract-card .contract-detail label {
        font-weight: 600;
        margin-right: 5px;
        color: #374151;
    }

    /* 7. 提醒卡片移动端优化 */

    .alert-card {
        padding: 12px !important;
        margin-bottom: 12px !important;
    }

    .alert-card h6 {
        font-size: 0.9rem;
    }

    .clickable-list li.contract-link {
        padding: 8px 10px !important;
        font-size: 0.85rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* 8. 上传页面移动端优化 */

    .page-header {
        padding: 15px !important;
        margin-bottom: 15px !important;
    }

    .page-header h2 {
        font-size: 1.3rem !important;
    }

    .page-header p {
        font-size: 0.9rem !important;
    }

    .upload-card-body {
        padding: 15px !important;
    }

    .file-input-modern {
        padding: 15px !important;
    }

    .file-input-icon {
        font-size: 2rem !important;
    }

    .btn-upload {
        padding: 12px 20px !important;
        font-size: 0.95rem !important;
    }

    /* 历史记录在移动端显示在上传区域下方 */
    .history-card {
        margin-top: 20px;
    }

    .history-card-body {
        max-height: 400px !important;
    }

    .history-item {
        padding: 10px !important;
    }

    /* 9. 触摸优化 */

    /* 确保所有按钮和链接至少 44x44px */
    .btn,
    .sidebar .nav-link,
    .table-modern tbody tr,
    .contract-link {
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    /* 移除悬停效果，避免移动端误触 */
    .table-modern tbody tr:hover {
        transform: none !important;
    }

    /* 添加点击反馈 */
    .btn:active,
    .nav-link:active,
    .contract-link:active {
        opacity: 0.7;
        transform: scale(0.98);
    }

    /* DataTables 移动端优化 */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        font-size: 0.85rem;
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button {
        padding: 0.4rem 0.7rem;
        font-size: 0.85rem;
    }
}

/* 小手机优化 (< 576px) */
@media (max-width: 575.98px) {
    /* 超小屏幕单列显示统计卡片 */
    .row.g-4 > [class*="col-md-3"] {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .navbar-brand {
        font-size: 1.1rem !important;
    }

    .dashboard-header h1 {
        font-size: 1.2rem !important;
    }

    .chart-container-dashboard {
        height: 220px !important;
    }
}

/* 超小手机优化 (< 375px, iPhone SE) */
@media (max-width: 374.98px) {
    .navbar-brand {
        font-size: 1rem !important;
    }

    .navbar-brand i {
        font-size: 1.2rem !important;
    }

    .dashboard-header h1 {
        font-size: 1.1rem !important;
    }

    .stat-number {
        font-size: 1.5rem !important;
    }

    .chart-container-dashboard {
        height: 200px !important;
    }

    .float-reminder {
        font-size: 0.8rem !important;
    }
}

/* PC端显示时隐藏移动端卡片布局 */
@media (min-width: 768px) {
    .mobile-contract-list {
        display: none !important;
    }
}
