/* 通用表格样式表 - 应用到所有表格元素 */
table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    margin: 1.5rem 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    overflow: hidden;
    background-color: white;
}

/* 表头样式 */
th {
    background-color: #3498db;
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 16px 15px;
    text-align: left;
    border-bottom: 2px solid #2980b9;
    position: relative;
    cursor: default;
    user-select: none;
}

/* 表格单元格样式 */
td {
    padding: 15px;
    text-align: left;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    transition: background-color 0.2s ease;
}

/* 表格行样式 */
tr {
    transition: background-color 0.2s ease;
}

/* 斑马条纹效果 */
tr:nth-child(even) {
    background-color: #f8f9fa;
}

/* 行悬停效果 */
tr:hover {
    background-color: #e3f2fd;
}

/* 单元格悬停效果 */
td:hover {
    background-color: #d6eaf8;
}

/* 表格首列加粗 */
td:first-child {
    font-weight: 500;
}

/* 表格最后一列右对齐（适合数字列） */
td:last-child {
    text-align: right;
    font-weight: 500;
    color: #2c3e50;
}

/* 表格标题样式 */
caption {
    caption-side: top;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    padding: 15px 0 10px;
    margin-bottom: 10px;
    border-bottom: 2px solid #3498db;
}

/* 特殊行样式 */
tr.highlight {
    background-color: #fff9e6;
    border-left: 3px solid #f1c40f;
}

tr.highlight td {
    border-bottom-color: #ffeaa7;
}

tr.highlight:hover {
    background-color: #ffeaa7;
}

/* 表格边框样式 */
table.bordered {
    border: 1px solid #dfe6e9;
}

table.bordered th,
table.bordered td {
    border: 1px solid #dfe6e9;
}

/* 紧凑型表格 */
table.compact th {
    padding: 10px 12px;
    font-size: 0.9rem;
}

table.compact td {
    padding: 8px 12px;
    font-size: 0.9rem;
}

/* 大号表格 */
table.large th {
    padding: 20px 18px;
    font-size: 1.1rem;
}

table.large td {
    padding: 18px;
    font-size: 1.05rem;
}

/* 条纹更明显的表格 */
table.striped-strong tr:nth-child(even) {
    background-color: #e8f4fc;
}

table.striped-strong tr:nth-child(odd) {
    background-color: white;
}

/* 无边框表格 */
table.borderless th,
table.borderless td {
    border: none;
}

table.borderless th {
    border-bottom: 2px solid #3498db;
}

/* 响应式表格 */
@media (max-width: 768px) {
    table {
        font-size: 0.9rem;
    }
    
    th, td {
        padding: 12px 10px;
    }
    
    /* 小屏幕下隐藏某些列 */
    .hide-on-mobile {
        display: none;
    }
}

/* 打印样式 */
@media print {
    table {
        box-shadow: none;
        border: 1px solid #ddd;
    }
    
    th {
        background-color: #f1f1f1 !important;
        color: #000 !important;
        -webkit-print-color-adjust: exact;
    }
    
    tr:nth-child(even) {
        background-color: #f9f9f9 !important;
        -webkit-print-color-adjust: exact;
    }
}