/*
- 开发时间：2026-07-05
- 更新时间：2026-07-05
- 文件作用：cloudPrompt「工作清单」尺寸异常日志管理页面专属样式
- 实现原理：表格列表展示上传记录（ID/上传时间/日志条数/字节数/设备/操作）；
            主色 #1a237e 与项目风格一致，复用 style.css 的 .modal/.btn-read/.title 等基础样式；
            操作列含「查看」（蓝边）+「下载」（绿边）两个按钮，配色与项目 btn-read/btn-save 风格一致；
            日志详情模态框含设备信息区（pre 文本）+ 日志条目列表（卡片样式，类型着色）；
            响应式适配手机端：表格改为垂直卡片布局（每行变成一个卡片块），保证移动端可读性
- 如何调用：由 debug_logs.html 通过 <link rel="stylesheet" href="debug_logs.css"> 引入
- 所属流程：cloudPrompt 工作清单尺寸异常日志管理流程
*/

/* 工具栏 */
.dl-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
    flex-wrap: wrap;
}
.dl-stat {
    font-size: 13px;
    color: #555;
}
.dl-link-back {
    margin-left: auto;
    font-size: 13px;
    color: #1a237e;
    text-decoration: none;
    padding: 6px 12px;
    border: 1px solid #1a237e;
    border-radius: 4px;
}
.dl-link-back:hover {
    background-color: #1a237e;
    color: #fff;
}

/* 表格容器 */
.dl-table-wrap {
    padding: 12px;
    overflow-x: auto;
}
/* 上传记录表格 */
.dl-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    font-size: 13px;
}
.dl-table thead {
    background-color: #1a237e;
    color: #fff;
}
.dl-table th {
    padding: 10px 12px;
    text-align: left;
    font-weight: bold;
    white-space: nowrap;
}
.dl-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
}
.dl-table tbody tr:hover {
    background-color: #f5f7ff;
}
.dl-table tbody tr:last-child td {
    border-bottom: none;
}
.dl-empty {
    text-align: center;
    color: #999;
    padding: 40px 12px;
}
/* 列宽控制 */
.dl-col-id { width: 60px; text-align: center; }
.dl-col-time { min-width: 160px; }
.dl-col-count { width: 80px; text-align: center; }
.dl-col-size { width: 100px; text-align: right; }
.dl-col-device { min-width: 120px; }
.dl-col-op { width: 100px; text-align: center; }

/* 表格内 ID 居中、字节数右对齐 */
.dl-table td.dl-cell-id { text-align: center; font-family: 'Menlo', 'Consolas', monospace; color: #1a237e; font-weight: bold; }
.dl-table td.dl-cell-time { font-family: 'Menlo', 'Consolas', monospace; color: #555; }
.dl-table td.dl-cell-count { text-align: center; }
.dl-table td.dl-cell-size { text-align: right; font-family: 'Menlo', 'Consolas', monospace; color: #555; }
.dl-table td.dl-cell-device { color: #555; }
.dl-table td.dl-cell-op { text-align: center; }

/* 设备标识徽章（PC/移动端） */
.dl-device-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: bold;
}
.dl-device-badge.mobile {
    background-color: #fff3e0;
    color: #e65100;
    border: 1px solid #ffb74d;
}
.dl-device-badge.pc {
    background-color: #e3f2fd;
    color: #0d47a1;
    border: 1px solid #64b5f6;
}

/* 操作按钮 */
.dl-btn-view {
    padding: 4px 12px;
    border: 1px solid #1a237e;
    border-radius: 4px;
    background-color: #fff;
    color: #1a237e;
    cursor: pointer;
    font-size: 12px;
}
.dl-btn-view:hover {
    background-color: #1a237e;
    color: #fff;
}
/* 下载按钮：绿色边框区分查看按钮（与项目 btn-save 配色一致） */
.dl-btn-download {
    margin-left: 4px;
    padding: 4px 12px;
    border: 1px solid #28a745;
    border-radius: 4px;
    background-color: #fff;
    color: #28a745;
    cursor: pointer;
    font-size: 12px;
}
.dl-btn-download:hover {
    background-color: #28a745;
    color: #fff;
}
/* 删除按钮：红色边框区分查看/下载按钮 */
.dl-btn-delete {
    margin-left: 4px;
    padding: 4px 12px;
    border: 1px solid #dc3545;
    border-radius: 4px;
    background-color: #fff;
    color: #dc3545;
    cursor: pointer;
    font-size: 12px;
}
.dl-btn-delete:hover {
    background-color: #dc3545;
    color: #fff;
}

/* 详情模态框（复用 worklist.css 的 .modal/.modal-content/.modal-header/.modal-body 基础样式） */
#dl-detail-modal .modal-content {
    width: 95%;
    max-width: 900px;
    max-height: 90vh;
}
#dl-detail-modal .modal-body {
    padding: 16px;
    gap: 12px;
}
.dl-section-title {
    font-size: 13px;
    font-weight: bold;
    color: #1a237e;
    border-left: 3px solid #1a237e;
    padding-left: 8px;
    margin-bottom: 6px;
}
/* 设备信息 pre 文本（保留空白与换行） */
.dl-device-info {
    background-color: #f5f5f5;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 12px;
    color: #333;
    font-family: 'Menlo', 'Consolas', monospace;
    white-space: pre-wrap;
    word-break: break-all;
    max-height: 200px;
    overflow-y: auto;
    margin: 0;
}
/* 日志条目列表 */
.dl-log-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 50vh;
    overflow-y: auto;
    padding: 4px;
}
/* 单条日志条目 */
.dl-log-item {
    background-color: #fafafa;
    border: 1px solid #eee;
    border-left: 3px solid #999;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 12px;
}
.dl-log-item .dl-log-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.dl-log-ts {
    color: #888;
    font-family: 'Menlo', 'Consolas', monospace;
    font-size: 11px;
}
.dl-log-type {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
    background-color: #555;
}
/* 不同类型日志条目按颜色区分（与 pushDebugLog 的 type 取值一一对应） */
.dl-log-type.card_render    { background-color: #d32f2f; }
.dl-log-type.pinch_zoom    { background-color: #f57c00; }
.dl-log-type.wheel_zoom    { background-color: #fbc02d; color: #333; }
.dl-log-type.button_zoom   { background-color: #afb42b; }
.dl-log-type.pan           { background-color: #0288d1; }
.dl-log-type.autofit       { background-color: #7b1fa2; }
.dl-log-type.range_clamp   { background-color: #c2185b; }
.dl-log-type.container_zero { background-color: #b71c1c; }
.dl-log-type.unknown       { background-color: #616161; }

.dl-log-message {
    color: #333;
    margin-bottom: 4px;
    word-break: break-all;
}
.dl-log-context {
    color: #666;
    font-family: 'Menlo', 'Consolas', monospace;
    font-size: 11px;
    background-color: #fff;
    border-radius: 3px;
    padding: 4px 6px;
    white-space: pre-wrap;
    word-break: break-all;
}

/* 响应式适配：手机端表格改为垂直卡片布局 */
@media (max-width: 768px) {
    .dl-toolbar {
        padding: 6px 8px;
        gap: 6px;
    }
    .dl-link-back {
        margin-left: 0;
    }
    /* 表格改为垂直布局：隐藏 thead，每行变成卡片 */
    .dl-table thead { display: none; }
    .dl-table, .dl-table tbody, .dl-table tr, .dl-table td {
        display: block;
        width: 100%;
    }
    .dl-table tr {
        margin-bottom: 8px;
        border: 1px solid #e0e0e0;
        border-radius: 6px;
        background-color: #fff;
        padding: 4px 0;
    }
    .dl-table td {
        border-bottom: 1px dashed #eee;
        padding: 6px 12px;
        text-align: left !important;
    }
    .dl-table td:last-child {
        border-bottom: none;
    }
    /* 在每个 td 前添加列名标签 */
    .dl-table td::before {
        content: attr(data-label);
        display: inline-block;
        width: 80px;
        font-weight: bold;
        color: #1a237e;
        margin-right: 8px;
    }
    /* 详情模态框占满屏幕 */
    #dl-detail-modal .modal-content {
        width: 98%;
        max-width: none;
    }
    .dl-log-list {
        max-height: 40vh;
    }
}
