body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    background-color: #f5f8fa;
    padding: 20px;
    color: #333;
}

.btn-outline-dark{
    background-color: #6c757d !important;
    color: #fff !important;
    border-color: #6c757d !important;
}

.container {
    max-width: 1600px;
    margin: 0 auto;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    padding: 25px;
}

.content-header {
    /*margin-bottom: 25px;*/
    padding-bottom: 15px;
    /*border-bottom: 1px solid #eaeaea;*/
}

.content-header h1 {
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 5px;
}

.content-header p {
    color: #7f8c8d;
    margin: 0;
}

/* 表格容器 */
.table-container {
    background-color: white;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    overflow-x: auto;
    border: 1px solid #eaeaea;
    font-size: 14px;
}

.fixed-table-toolbar .columns {
    display: none;
}

.fixed-table-pagination {
    margin-top: 10px;
}

.bs-bars {
    width: 100%;
}

.columns {
    margin-left: 10px;
}

.toolbar-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.toolbar-buttons .btn {
    border-radius: 6px;
}

/* 表格样式 */
.table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.table th {
    background-color: #f8f9fa;
    border-top: 1px solid #dee2e6;
    font-weight: 600;
    color: #2c3e50;
    padding: 12px 15px;
    position: sticky;
    top: 0;
}

.table th:hover {
    background-color: #e9ecef;
}

.table td {
    vertical-align: middle;
    border-top: 1px solid #eaeaea;
}

.table-hover tbody tr:hover {
    background-color: rgba(52, 152, 219, 0.05);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02);
}

/* 修复双数行最后一条数据的边框显示问题 */
.table-striped tbody tr:last-child td {
    border-bottom: 1px solid #eaeaea;
}

/* 状态标签 */
.badge-active {
    background-color: #00a65a;
    color: white;
    padding: 5px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}


/* 状态标签 */
.badge-continue {
    background-color: #16dbf4;
    color: white;
    padding: 5px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}


/* 状态标签 */
.badge-fail {
    background-color: #edb628;
    color: white;
    padding: 5px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}



.badge-difficult {
    background-color: #dd4b39;
    color: white;
    padding: 5px 10px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
}

/* 操作按钮 */
.btn-action {
    margin-right: 5px;
    padding: 0.35rem 0.65rem;
    font-size: 0.875rem;
    border-radius: 4px;
}

.btn-sm i {
    font-size: 0.875rem;
}

/* 分页样式 */
.pagination-container {
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

/* 模态框样式 */
.modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #eaeaea;
}

.modal-title {
    color: #2c3e50;
    font-weight: 600;
}

/* 自定义工具栏 */
.custom-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 10px;
}

.left-toolbar, .right-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-toolbar .btn {
    border-radius: 6px;
}

.table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 10px;
}

.table-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    align-items: center;
}

.table-title i {
    margin-right: 10px;
    color: #3498db;
}

/* 列设置下拉菜单样式 */
.columns-dropdown-menu {
    padding: 10px;
    min-width: 200px;
}

.columns-dropdown-menu .form-check {
    margin-bottom: 5px;
}

.search-form-container {
    background-color: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 10px;
    /*border: 1px solid #eaeaea;*/
    border-bottom: 1px solid #dee2e6;
}

/* 初始布局 - 所有元素在一行 */
.search-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: start;
}

/* 所有表单元素基础样式 */
.search-form > div {
    flex: 0 0 auto;
}

/* 输入框和选择框样式 */
.input-group, .form-select {
    width: 200px;
    height: 35px;
}

.input-group input, .form-select select{
    height: 35px;
    width: 200px;
}

/* 时间范围选择器 */
.date-range-group {
    display: flex;
    align-items: center;
    gap: 4px;
}

.date-input {
    width: 200px;
}

.date-separator {
    color: #6c757d;
    font-weight: bold;
    flex-shrink: 0;
}

/* 按钮组 */
.button-group {
    display: flex;
    gap: 10px;
}

.button-group .btn {
    width: 90px;
    height: 35px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* 响应式调整 */
@media (max-width: 1255px) {
    .search-form {
        justify-content: flex-start;
    }

    .button-group {
        order: 5;
        width: auto;
    }
}

@media (max-width: 1155px) {
    .date-range-group {
        order: 4;
        width: auto;
    }
}

@media (max-width: 855px) {
    .search-form-container{
        padding: 15px;
    }
}

@media (max-width: 723px) {
    .search-form > div:not(.date-range-group):not(.button-group) {
        max-width: 280px;
    }

    .keyword-search, .operator-filter, .tower-type-filter {
        order: 1;
        margin-top: 10px;
    }

    .date-range-group {
        order: 2;
        width: 100%;
        margin-top: 10px;
    }

    .button-group {
        order: 3;
        width: 100%;
        max-width: 190px;
        margin-top: 10px;
    }

    .date-range-group {
        display: flex;
    }

    .button-group {
        display: flex;
    }
}

.w201{
    padding: 2px 4px;
    font-size: 8px;
}


/* 详情按钮样式 */
.btn-detail {
    background-color: #17a2b8;
    border-color: #17a2b8;
    color: white;
}

.btn-detail:hover {
    background-color: #138496;
    border-color: #117a8b;
}


/* 谈站进度特定样式 */
.checkbox-group-modal {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 5px;
}

.checkbox-item-modal {
    display: flex;
    align-items: center;
}

.checkbox-item-modal input {
    margin-right: 8px;
}

.modal-lg-custom {
    max-width: 900px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.full-width {
    grid-column: 1 / -1;
}

@media (max-width: 768px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}

/* 查看模态框样式 */
.modal-header.bg-info {
    background-color: #17a2b8 !important;
}

.form-control-static {
    min-height: 38px;
    padding: 8px 12px;
    background-color: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e9ecef;
}

.form-label.fw-bold {
    color: #495057;
    margin-bottom: 5px;
}

.form-label{
    margin-bottom: .5rem;
    margin-top: .5rem;
}

/* 固定操作列样式 */
.fixed-table-container {
    position: relative;
}
.fixed-table-body td:last-child,
.fixed-table-body th:last-child {
    position: sticky;
    right: 0;
    background: white;
    z-index: 10;
    /*box-shadow: -2px 0 5px rgba(0,0,0,0.1);*/
}

/* 确保操作列有足够宽度 */
.fixed-table-body td:last-child {
    min-width: 180px;
    width: 180px;
}

/* 卡片视图下的操作按钮样式 */
.card-view .operate-buttons {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

/* 两列布局优化 */
.two-column-layout .form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.two-column-layout .form-group {
    flex: 0 0 calc(50% - 15px);
    margin-right: 0;
}

.two-column-layout .form-group-full {
    flex: 0 0 100%;
}

.two-column-layout .view-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.two-column-layout .view-group {
    flex: 0 0 calc(50% - 15px);
}

.two-column-layout .view-group-full {
    flex: 0 0 100%;
}


.checkbox-group-horizontal {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.checkbox-item-horizontal {
    display: flex;
    align-items: center;
    margin-right: 15px;
}

/* 谈站记录样式 */
.negotiation-record {
    border: 1px solid #eaeaea;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 15px;
    background-color: #f9f9f9;
}

.negotiation-record-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eaeaea;
}

.negotiation-round {
    font-weight: bold;
    color: #2c3e50;
}

.negotiation-status {
    font-size: 0.875rem;
    padding: 3px 8px;
    border-radius: 12px;
}

.status-continue {
    background-color: #ffc107;
    color: #212529;
}

.status-fail {
    background-color: #e6042f;
    color: #212529;
}

.status-completed {
    background-color: #28a745;
    color: white;
}

/* 卡片视图下的操作按钮样式 */
.card-view .operate-buttons {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}


.form-group.full-width {
    grid-column: 1 / span 2;
}

.form-group label {
    display: block;
    margin-bottom: 2px;
    font-weight: 500;
    color: #444;
}

/* 移除原有的两列布局 */
.radio-group {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 5px;
}

.form-check-input{
    margin-right: 5px;
    border: 1px solid #212529;
}

.form-check-label{
    padding-top: 7px;
}

/* 查看模式样式 */
.readonly-mode .form-control,
.readonly-mode .form-select,
.readonly-mode .form-check-input {
    /*pointer-events: none;*/
    background-color: #f8f9fa;
    opacity: 1;

    /* 允许选择文本 */
    user-select: text;
    -webkit-user-select: text;
    -moz-user-select: text;
    -ms-user-select: text;
}

.readonly-mode .form-control:focus,
.readonly-mode .form-select:focus {
    box-shadow: none;
    border-color: #ced4da;
}

.readonly-mode .btn-primary {
    display: none;
}

.readonly-mode .modal-title {
    color: #17a2b8;
}

/* 修复查看模式下选择框选中状态显示问题 */
.readonly-mode .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #0d6efd;
}

.readonly-mode .form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}

.readonly-mode .form-check-input:checked[type="radio"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

/* 确保选择框在查看模式下保持正常样式 */
.readonly-mode .form-check-input {
    opacity: 1;
}

/* 确保模态框内容滚动正常 */
.modal {
    -webkit-overflow-scrolling: touch;
}

.modal-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}


/* 审核区域样式 */
.audit-area {
    margin-top: 20px;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #17a2b8;
}


#tb_acceptances{
    border: 1px solid #eaeaea !important;
}

#tb_baseStations{
    border: 1px solid #eaeaea !important;
}

#tb_completions{
    border: 1px solid #eaeaea !important;
}

#tb_delivery{
    border: 1px solid #eaeaea !important;
}

#tb_stations{
    border: 1px solid #eaeaea !important;
}

#tb_tasks{
    border: 1px solid #eaeaea !important;
}

#tb_invoices{
    border: 1px solid #eaeaea !important;
}

#tb_contracts{
    border: 1px solid #eaeaea !important;
}

#tb_payments{
    border: 1px solid #eaeaea !important;
}

#tb_projects{
    border: 1px solid #eaeaea !important;
}

#tb_site_activations{
    border: 1px solid #eaeaea !important;
}

#tb_negotiations{
    border: 1px solid #eaeaea !important;
}

#tb_site_rent{
    border: 1px solid #eaeaea !important;
}

#tb_starts{
    border: 1px solid #eaeaea !important;
}

.radio-option, .checkbox-item-horizontal {
    display: flex;
    align-items: center;
}

.btn-outline-info {
    background-color: #0dcaf0 !important;
    color: #fff !important;
    border-color: #0dcaf0 !important;
}

.btn-outline-purple {
    background-color: #9c27b0 !important;
    color: #fff !important;
    border-color: #9c27b0 !important;
}

.btn-outline-success{
    background-color: #198754 !important;
    color: #fff !important;
    border-color: #198754 !important;
}

.btn-outline-primary{
    background-color: #0d6efd !important;
    color: #fff !important;
    border-color: #0d6efd !important;
}
.btn-outline-danger{
    background-color: #dc3545 !important;
    color: #fff !important;
    border-color: #dc3545 !important;
}

.btn-outline-dark{
    background-color: #6c757d !important;
    color: #fff !important;
    border-color: #6c757d !important;
}

.btn-outline-warning{
    background-color: #ffc107 !important;
    color: #fff !important;
    border-color: #ffc107 !important;
}

.btn-operate-xs {
    padding: 3px 5px !important;
    font-size: 11px !important;
    border-radius: 3px !important;
    min-width: 50px !important;
    border-width: 1px !important;
    box-shadow: none !important;
}


.btn-outline-success.btn-operate-xs {
    min-width: 58px !important;
}