/* 移动端通用适配样式 */
@media screen and (max-width: 768px) {
    * { box-sizing: border-box; }
    body { font-size: 14px; overflow-x: hidden; }
    header { height: 56px; padding: 0 15px; }
    .logo-area { font-size: 16px; gap: 8px; }
    .back-btn { padding: 6px 12px; font-size: 12px; }
    .container { padding: 15px; max-width: 100%; }
    .stats-row { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
    .stat-card { padding: 15px; }
    .stat-number { font-size: 24px; }
    .stat-label { font-size: 11px; }
    .dept-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; }
    .dept-card { padding: 15px 10px; }
    .dept-card .icon { font-size: 32px; }
    .dept-card .name { font-size: 12px; }
    .dept-card .count { font-size: 10px; }
    .main-grid { grid-template-columns: 1fr; gap: 15px; }
    .card { margin-bottom: 15px; }
    .card-header { padding: 12px 15px; flex-wrap: wrap; gap: 10px; }
    .card-title { font-size: 14px; }
    .card-body { padding: 15px; }
    .upload-zone { padding: 20px; }
    .upload-zone .icon { font-size: 32px; }
    .chat-container { height: 300px; padding: 15px; }
    .message { padding: 10px; max-width: 90%; }
    .message .content { font-size: 14px; line-height: 1.5; }
    .chat-input { padding: 10px; flex-wrap: nowrap; }
    .chat-input input { padding: 10px 12px; font-size: 14px; }
    .chat-input button { padding: 10px 15px; font-size: 14px; white-space: nowrap; }
    .doc-list { max-height: 300px; }
    .doc-item { padding: 10px; gap: 10px; }
    .doc-item .icon { font-size: 24px; }
    .doc-item .info { flex: 1; min-width: 0; }
    .doc-item .title { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .doc-item .meta { font-size: 10px; }
    .doc-item .delete, .doc-item .protected { font-size: 11px; padding: 4px 8px; }
    .form-group { margin-bottom: 15px; }
    .form-group label { font-size: 13px; margin-bottom: 5px; }
    .form-group input, .form-group select, .form-group textarea { padding: 10px; font-size: 14px; }
    .btn { padding: 10px 20px; font-size: 14px; }
    .modal-content { width: 95%; margin: 10% auto; padding: 15px; }
    .data-table { font-size: 12px; overflow-x: auto; }
    .data-table th, .data-table td { padding: 8px; white-space: nowrap; }
    .pagination { flex-wrap: wrap; gap: 5px; }
    .hide-mobile { display: none; }
    .login-container { padding: 20px; width: 100%; }
    .login-box { padding: 30px 20px; }
    .cockpit-grid { grid-template-columns: 1fr; }
    .panel { padding: 15px; }
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
    .stats-row { grid-template-columns: repeat(3, 1fr); }
    .dept-grid { grid-template-columns: repeat(3, 1fr); }
    .main-grid { grid-template-columns: 1fr 350px; }
}

@media screen and (max-width: 480px) {
    .stats-row { grid-template-columns: 1fr; }
    .dept-grid { grid-template-columns: repeat(2, 1fr); }
    .stat-card { padding: 12px; }
    .stat-number { font-size: 20px; }
}
