/* 技术经济成本平台样式表 - 苹果设计风格 */

/* 基础样式 */
:root {
    --primary-color: #0071e3;
    --primary-hover: #0077ed;
    --primary-active: #0062c3;
    --secondary-color: #86868b;
    --secondary-hover: #6e6e73;
    --secondary-active: #515154;
    --text-color: #1d1d1f;
    --light-gray: #f5f5f7;
    --border-color: #d2d2d7;
    --success-color: #34c759;
    --success-hover: #30b650;
    --success-active: #28a745;
    --warning-color: #ff9500;
    --warning-hover: #e08600;
    --warning-active: #cc7a00;
    --error-color: #ff3b30;
    --error-hover: #e8352b;
    --error-active: #d22d24;
    --info-color: #00b8d4;
    --info-hover: #00a5bd;
    --info-active: #0095aa;
    --box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    --transition: all 0.3s ease;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    color: var(--text-color);
    line-height: 1.5;
    background-color: #fff;
}

.container {
    width: 100%;
    max-width: 95%;
    margin: 0 auto;
    padding: 0 20px;
}

/* 排版 */
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    margin-bottom: 0.5em;
}

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
}

p {
    margin-bottom: 1rem;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition);
}

a:hover {
    color: var(--primary-hover);
}

/* 头部 */
header {
    background-color: rgba(255, 255, 255, 0.8);
    backdrop-filter: saturate(180%) blur(20px);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--box-shadow);
    padding: 15px 0;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo h1 {
    font-size: 1.5rem;
    margin-bottom: 0;
}

nav ul {
    display: flex;
    list-style: none;
}

nav ul li {
    margin-left: 30px;
    position: relative;
}

nav ul li a {
    color: var(--text-color);
    font-weight: 500;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
}

nav ul li a:hover,
nav ul li a.active {
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
}

/* 下拉菜单样式 */
.dropdown {
    position: relative;
}

.dropdown-toggle {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.dropdown-toggle::after {
    content: '';
    display: inline-block;
    margin-left: 6px;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--text-color);
    border-bottom: 2px solid var(--text-color);
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

.dropdown.open .dropdown-toggle::after {
    transform: rotate(-135deg);
}

.dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -15px;
    background-color: white;
    min-width: 180px;
    box-shadow: var(--box-shadow);
    border-radius: 8px;
    padding: 8px 0;
    margin-top: 10px;
    z-index: 1000;
    flex-direction: column;
}

.dropdown.open .dropdown-menu {
    display: flex;
}

.dropdown-menu li {
    margin: 0;
    width: 100%;
}

.dropdown-menu li a {
    display: block;
    padding: 10px 20px;
    border-bottom: none;
    width: 100%;
}

.dropdown-menu li a:hover,
.dropdown-menu li a.active {
    background-color: var(--light-gray);
    border-bottom: none;
}

/* 主要内容 */
main {
    padding: 13px 0 40px 0;
    min-height: calc(100vh - 180px);
}

/* 页脚 */
footer {
    background-color: var(--light-gray);
    padding: 20px 0;
    text-align: center;
}

/* 统一按钮系统 */
/* 基础按钮样式 */
.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    border: 1px solid transparent;
    outline: none;
    height: 36px;
    line-height: 1;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    min-width: 80px;
}

/* 表格内按钮统一样式 - 特别是统一高度 */
.table .btn,
td .btn,
th .btn,
.table-action-btn {
    height: 30px !important;
    padding: 0 10px !important;
    line-height: 1 !important;
    min-width: 60px !important;
    margin-right: 5px !important;
}

/* 列表操作按钮 - 主要按钮（蓝底白字）：进入、编辑、新建 */
.btn-primary,
button[class*="btn"][onclick*="viewProject"],
button[class*="btn"][onclick*="editProject"],
button.view-folder,
button.edit-btn,
a.btn-primary,
button:not(.btn-danger):not(.btn-info):not(.btn-secondary):contains("进入"),
button:not(.btn-danger):not(.btn-info):not(.btn-secondary):contains("编辑"),
button:not(.btn-danger):not(.btn-info):not(.btn-secondary):contains("新建") {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

/* 列表操作按钮 - 危险按钮（红底白字）：删除、取消 */
.btn-danger,
button[class*="btn"][onclick*="deleteProject"],
button.delete-folder,
button.delete-btn,
button:contains("删除"),
button:contains("取消") {
    background-color: var(--error-color) !important;
    color: white !important;
    border-color: var(--error-color) !important;
}

/* 列表操作按钮 - 信息按钮（蓝绿底白字）：查阅报告 */
.btn-info,
button.report-btn,
button:contains("查阅报告") {
    background-color: var(--info-color) !important;
    color: white !important;
    border-color: var(--info-color) !important;
}

/* 页面跳转按钮 - 次要按钮（灰底白字）*/
.btn-secondary,
button:contains("返回列表"),
button:contains("上一步"),
button:contains("下一步"),
button:contains("生成"),
button:contains("保存并校审"),
button:contains("生成报告"),
button:contains("导出报告"),
a:contains("返回列表"),
a:contains("上一步"),
a:contains("下一步") {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

/* 强制覆盖特定按钮样式 */
button.btn[value="下一步"],
a.btn[value="下一步"],
button.btn-next,
a.btn-next,
button:contains("下一步") {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

button.btn[value="生成"],
a.btn[value="生成"],
button.btn-generate,
a.btn-generate,
button:contains("生成"),
button:contains("生成报告") {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

button.btn[value="保存并校审"],
a.btn[value="保存并校审"],
button.btn-save-audit,
a.btn-save-audit,
button:contains("保存并校审") {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

/* 保存按钮统一为蓝底白字 */
.btn-save:not(.btn-save-audit),
button:contains("保存"):not(:contains("保存并校审")) {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

/* 按钮形状 */
.btn-rounded {
    border-radius: 50px;
}

.btn-square {
    border-radius: 0;
}

/* 禁用状态 */
.btn:disabled,
.btn.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

/* 带图标的按钮 */
.btn-icon {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 8px;
    border-radius: 8px;
}

.btn-icon-text {
    display: inline-flex;
    align-items: center;
}

.btn-icon-text i,
.btn-icon-text svg,
.btn-icon-text img {
    margin-right: 8px;
}

.btn-icon-text.icon-right i,
.btn-icon-text.icon-right svg,
.btn-icon-text.icon-right img {
    margin-right: 0;
    margin-left: 8px;
}

/* 按钮组 */
.btn-group {
    display: inline-flex;
}

.btn-group .btn {
    border-radius: 0;
}

.btn-group .btn:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.btn-group .btn:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.btn-group .btn:not(:last-child) {
    border-right: 0;
}

/* 表单 */
.form-group {
    margin-bottom: 20px;
}

label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

input, select, textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 16px;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--primary-color);
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 113, 227, 0.2);
}

/* 卡片 */
.card {
    background-color: white;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    padding: 20px;
    margin-bottom: 20px;
    transition: var(--transition);
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.card-header {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
}

/* 步骤导航 */
.step-nav {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    position: relative;
}

.step-nav::before {
    content: '';
    position: absolute;
    top: 25px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--border-color);
    z-index: -1;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}

.step-number {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--light-gray);
    border: 2px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    margin-bottom: 10px;
    transition: var(--transition);
}

.step.active .step-number {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
}

.step.completed .step-number {
    background-color: var(--success-color);
    border-color: var(--success-color);
    color: white;
}

/* 文件上传 */
.file-upload {
    border: 2px dashed var(--border-color);
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    margin-bottom: 20px;
    cursor: pointer;
    transition: var(--transition);
}

.file-upload:hover {
    border-color: var(--primary-color);
}

.file-upload-icon {
    font-size: 48px;
    color: var(--secondary-color);
    margin-bottom: 15px;
}

/* 提示框 */
.alert {
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.alert-success {
    background-color: rgba(52, 199, 89, 0.1);
    border-left: 4px solid var(--success-color);
    color: #2a9d4a;
}

.alert-warning {
    background-color: rgba(255, 149, 0, 0.1);
    border-left: 4px solid var(--warning-color);
    color: #cc7800;
}

.alert-error {
    background-color: rgba(255, 59, 48, 0.1);
    border-left: 4px solid var(--error-color);
    color: #cc2f26;
}

/* 模态框 */
.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.modal-backdrop.show {
    opacity: 1;
    visibility: visible;
}

.modal {
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    width: 90%;
    max-width: 600px;
    max-height: 90vh;
    overflow-y: auto;
    transform: translateY(-20px);
    transition: var(--transition);
}

.modal-backdrop.show .modal {
    transform: translateY(0);
}

.modal-header {
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-body {
    padding: 20px;
}

.modal-footer {
    padding: 15px 20px;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: flex-end;
}

.modal-footer button {
    margin-left: 10px;
}

.close-modal {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--secondary-color);
}

/* 响应式设计 */
@media (max-width: 768px) {
    header .container {
        flex-direction: column;
    }
    
    nav ul {
        margin-top: 15px;
    }
    
    nav ul li {
        margin-left: 15px;
        margin-right: 15px;
    }
    
    .step-nav {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .step-nav::before {
        display: none;
    }
    
    .step {
        flex-direction: row;
        margin-bottom: 15px;
    }
    
    .step-number {
        margin-bottom: 0;
        margin-right: 15px;
    }
}

/* 首页特定样式 */
.hero-section {
    text-align: center;
    padding: 60px 0;
}

.hero-section h1 {
    font-size: 2.5rem;
    margin-bottom: 10px;
}

.subtitle {
    font-size: 1.2rem;
    color: var(--secondary-color);
    margin-bottom: 30px;
}

.features-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.feature-card {
    background-color: white;
    border-radius: 12px;
    padding: 30px;
    box-shadow: var(--box-shadow);
    text-align: center;
    transition: var(--transition);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.feature-icon {
    margin-bottom: 20px;
    color: var(--primary-color);
}

.feature-card h2 {
    margin-bottom: 15px;
    font-size: 1.5rem;
}

.feature-card p {
    color: var(--secondary-color);
    margin-bottom: 25px;
}

.info-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.info-card {
    background-color: white;
    border-radius: 12px;
    padding: 30px;
    box-shadow: var(--box-shadow);
}

.info-card h3 {
    margin-bottom: 20px;
    font-size: 1.3rem;
}

.info-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.info-list li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.info-icon {
    margin-right: 15px;
    color: var(--primary-color);
}

.info-text {
    font-weight: 500;
}

/* 方案展示样式 */
.schemes-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.scheme-card {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    background-color: #fff;
    overflow: hidden;
    transition: all 0.3s ease;
}

.scheme-card.selected {
    border-color: #007bff;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.scheme-header {
    padding: 15px 20px;
    background-color: #f8f9fa;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e0e0e0;
}

.scheme-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.scheme-title h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.scheme-badge {
    background-color: #28a745;
    color: white;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.scheme-summary {
    display: flex;
    gap: 20px;
}

.scheme-price, .scheme-unit-price {
    font-size: 14px;
}

.scheme-price strong, .scheme-unit-price strong {
    font-size: 16px;
    color: #d9534f;
}

.scheme-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.scheme-body {
    padding: 20px;
}

.scheme-body h5 {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 500;
    color: #555;
}

.module-cost-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 15px;
}

.module-cost-item {
    padding: 10px 15px;
    background-color: #f8f9fa;
    border-radius: 6px;
    border-left: 3px solid #6c757d;
}

.module-cost-item.highlight {
    border-left-color: #007bff;
    background-color: #e7f1ff;
}

.module-cost-name {
    font-size: 14px;
    color: #555;
    margin-bottom: 5px;
}

.module-cost-value {
    font-size: 15px;
    font-weight: 500;
    color: #333;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.module-option {
    font-size: 12px;
    color: #007bff;
    font-weight: normal;
    background-color: rgba(0, 123, 255, 0.1);
    padding: 2px 6px;
    border-radius: 4px;
}

@media (max-width: 992px) {
    .scheme-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .scheme-summary {
        width: 100%;
        justify-content: space-between;
    }
    
    .scheme-actions {
        width: 100%;
        justify-content: flex-end;
    }
    
    .module-cost-grid {
        grid-template-columns: 1fr;
    }
}

/* 详情模态框样式 */
.detail-section {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
}

.detail-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.detail-section h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 500;
    color: #333;
}

.detail-section p {
    margin: 0 0 10px 0;
    line-height: 1.5;
    color: #555;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
}

.detail-item {
    background-color: #f8f9fa;
    border-radius: 6px;
    padding: 12px 15px;
}

.detail-label {
    font-size: 13px;
    color: #666;
    margin-bottom: 5px;
}

.detail-value {
    font-size: 16px;
    font-weight: 500;
    color: #333;
}

.detail-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 10px;
}

.detail-table th {
    background-color: #f1f3f5;
    padding: 10px;
    text-align: left;
    font-weight: 500;
    border-bottom: 2px solid #dee2e6;
}

.detail-table td {
    padding: 10px;
    border-bottom: 1px solid #e9ecef;
}

.detail-table .highlight-row {
    background-color: #e7f1ff;
}

.detail-table .total-row {
    font-weight: 600;
    background-color: #f8f9fa;
}

.detail-table .total-row td {
    border-top: 2px solid #dee2e6;
} 

/* 统一表格系统 */
.table-container {
    overflow-x: auto;
    margin-bottom: 1.5rem;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

/* 基础表格样式 */
.table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    margin-bottom: 1rem;
    background-color: white;
    border-radius: var(--border-radius);
    overflow: hidden;
}

/* 表头和单元格共有样式 */
.table th,
.table td {
    padding: 12px 16px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--border-color);
}

/* 表头特殊样式 */
.table thead th {
    background-color: var(--light-gray);
    font-weight: 600;
    color: var(--text-color);
    border-bottom: 2px solid var(--border-color);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 1;
}

/* 行悬停效果 */
.table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

/* 最后一行不要底边框 */
.table tbody tr:last-child td {
    border-bottom: none;
}

/* 紧凑版表格 */
.table-sm th,
.table-sm td {
    padding: 8px 12px;
    font-size: 13px;
}

/* 带边框的表格 */
.table-bordered {
    border: 1px solid var(--border-color);
}

.table-bordered th,
.table-bordered td {
    border: 1px solid var(--border-color);
}

/* 带条纹的表格 */
.table-striped tbody tr:nth-child(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

/* 高亮特定行 */
.table .highlight-row {
    background-color: rgba(0, 113, 227, 0.05);
}

/* 总计行样式 */
.table .total-row {
    background-color: var(--light-gray);
    font-weight: 600;
}

.table .total-row td {
    border-top: 2px solid var(--border-color);
}

/* 状态行样式 */
.table .status-normal td:first-child {
    color: var(--success-color);
}

.table .status-warning td:first-child {
    color: var(--warning-color);
}

.table .status-error td:first-child {
    color: var(--error-color);
}

/* 响应式表格 */
@media (max-width: 768px) {
    .table-responsive {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .table-stack th,
    .table-stack td {
        display: block;
        width: 100%;
        text-align: right;
        padding: 8px 12px;
    }
    
    .table-stack th:before,
    .table-stack td:before {
        content: attr(data-label);
        float: left;
        font-weight: 600;
    }
}

/* 状态列中的状态徽章 */
.status-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.status-badge-normal {
    background-color: var(--success-color);
    color: white;
}

.status-badge-warning {
    background-color: var(--warning-color);
    color: white;
}

.status-badge-error {
    background-color: var(--error-color);
    color: white;
}

/* 表内按钮样式 */
.table-action-btn {
    padding: 5px 10px;
    font-size: 13px;
    margin-right: 5px;
    min-width: 60px;
    height: 30px;
}

/* 保存兼容性，确保现有代码里的btn-outline按钮按照需求显示为主要按钮（蓝底白字） */
.table .btn-outline.table-action-btn {
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.table .btn-outline.table-action-btn:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: white;
}

.table .btn-outline.table-action-btn:active {
    background-color: var(--primary-active);
    border-color: var(--primary-active);
}

/* 校审结果表格专用样式 */
.audit-pass {
    background-color: #d4edda !important;
    color: #000 !important;
}

.audit-fail {
    background-color: #f8d7da !important;
    color: #000 !important;
}

/* 表格中的空状态 */
.table-empty {
    padding: 30px;
    text-align: center;
    color: var(--secondary-color);
}

.table-empty-icon {
    font-size: 36px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.table-empty-text {
    font-size: 14px;
}

/* 表格内的链接 */
.table a {
    text-decoration: none;
    color: var(--primary-color);
}

.table a:hover {
    text-decoration: underline;
} 

/* 编辑按钮样式 - 确保文本始终可见 */
.edit-btn,
.edit-row-btn,
.btn-primary {
    color: #fff !important; /* 确保文本颜色始终可见 */
    text-indent: 0 !important; /* 防止文本缩进隐藏 */
    font-size: 12px !important; /* 保持一致的字体大小 */
    overflow: visible !important; /* 确保溢出内容可见 */
    width: auto !important; /* 自动宽度以适应文本 */
    height: auto !important; /* 自动高度 */
    opacity: 1 !important; /* 确保不透明 */
    white-space: nowrap !important; /* 防止文本换行 */
    visibility: visible !important; /* 确保可见性 */
}

/* 编辑按钮内的文本始终可见 */
.edit-btn::before,
.edit-row-btn::before,
.btn-primary::before {
    content: none !important; /* 防止伪元素覆盖文本 */
}

.edit-btn::after,
.edit-row-btn::after,
.btn-primary::after {
    content: none !important; /* 防止伪元素覆盖文本 */
} 

/* 为index_management页面下的编辑按钮应用样式覆盖 */
.index_management .edit-row-btn,
[class*="index_management"] .edit-row-btn,
.edit-row-btn {
    font-size: 12px !important;
    padding: 4px 8px !important;
    min-width: 45px !important;
    text-align: center !important;
    display: inline-block !important;
    overflow: visible !important;
    color: #fff !important;
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

/* 确保所有主要按钮文本显示 */
.btn-primary,
.edit-btn,
.edit-row-btn {
    color: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    text-indent: 0 !important;
    font-size: inherit !important;
}

/* 移除可能导致文本隐藏的任何属性 */
.btn-primary:before,
.btn-primary:after,
.edit-btn:before,
.edit-btn:after,
.edit-row-btn:before,
.edit-row-btn:after {
    content: none !important;
    display: none !important;
}

/* 修复图片图标可能的覆盖 */
.btn-primary img,
.edit-btn img,
.edit-row-btn img,
.btn-primary svg,
.edit-btn svg,
.edit-row-btn svg {
    display: none !important;
}

/* 旧的按钮样式维持兼容 */
.btn-outline {
    background-color: transparent;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}

.btn-outline:hover {
    background-color: rgba(0, 113, 227, 0.05);
}

.btn-outline:active {
    background-color: rgba(0, 113, 227, 0.1);
}

/* 根据按钮文本内容设置按钮样式 - 使用按钮类名 */
/* 进入、编辑、新建按钮统一为蓝底白字 */
.btn[onclick*="viewProject"], 
.btn[onclick*="editProject"], 
button.view-folder,
.btn-primary,
.btn-enter,
.btn-edit,
.btn-create {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

/* 删除、取消按钮统一为红底白字 */
.btn[onclick*="deleteProject"], 
button.delete-folder,
.btn-danger,
.btn-delete,
.btn-cancel {
    background-color: var(--error-color) !important;
    color: white !important;
    border-color: var(--error-color) !important;
}

/* 查阅报告按钮统一为蓝绿底白字 */
.btn-info,
.btn-report {
    background-color: var(--info-color) !important;
    color: white !important;
    border-color: var(--info-color) !important;
}

/* 页面跳转按钮样式 */
/* 返回列表、下一步、上一步、生成、保存并校审、生成报告、导出报告按钮统一为灰底白字 */
.btn-secondary,
.btn-back,
.btn-next,
.btn-prev,
.btn-generate,
.btn-save-audit,
.btn-export {
    background-color: var(--secondary-color) !important;
    color: white !important;
    border-color: var(--secondary-color) !important;
}

/* 保存按钮统一为蓝底白字 */
.btn-save:not(.btn-save-audit) {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

/* 基于文字内容的样式覆盖 */
/* 使用属性选择器 */
.btn[value="进入"], .btn[value="编辑"], .btn[value="新建"],
button:not([class*="btn-danger"]):not([class*="btn-secondary"]):not([class*="btn-info"])[value="进入"],
button:not([class*="btn-danger"]):not([class*="btn-secondary"]):not([class*="btn-info"])[value="编辑"],
button:not([class*="btn-danger"]):not([class*="btn-secondary"]):not([class*="btn-info"])[value="新建"] {
    background-color: var(--primary-color) !important;
    color: white !important;
    border-color: var(--primary-color) !important;
}

.btn[value="删除"], .btn[value="取消"],
button:not([class*="btn-primary"]):not([class*="btn-secondary"]):not([class*="btn-info"])[value="删除"],
button:not([class*="btn-primary"]):not([class*="btn-secondary"]):not([class*="btn-info"])[value="取消"] {
    background-color: var(--error-color) !important;
    color: white !important;
    border-color: var(--error-color) !important;
}

.btn[value="查阅报告"],
button:not([class*="btn-primary"]):not([class*="btn-secondary"]):not([class*="btn-danger"])[value="查阅报告"] {
    background-color: var(--info-color) !important;
    color: white !important;
    border-color: var(--info-color) !important;
} 