:root {--primary-color: #ff6a00;--sidebar-width: 180px;--center-cards-width: 280px;--bg-color: #f1f6fb;--card-bg: #ffffff;--sidebar-bg: #ffffff;--text-dark: #333333;--text-light: #666666;--border-color: #e0e0e0;--active-color: #ff6a00;}
* {margin: 0;padding: 0;box-sizing: border-box;}
body {font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;background: linear-gradient(135deg, #fff4e6 0%, #f1f6fb 50%, #ffe8d9 100%);min-height: 100vh;overflow-x: hidden;}
.spinner-border.text-primary{color: var(--primary-color) !important;}

.ai-container{width: 100%;display: flex}
.text-dec-1{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;}
.text-dec-2{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
.text-dec-3{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;}
.text-dec-5{overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 5;}
/* 左侧边栏 */
.sidebar {width: var(--sidebar-width);min-width: var(--sidebar-width);min-height: 100vh;background: var(--sidebar-bg);box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05);overflow-y: auto;}
.sidebar-header {padding: 20px 15px;border-bottom: 1px solid var(--border-color);}
.sidebar-header .logo {width: 100%;height: auto;max-width: 150px;}
.sidebar-nav {padding: 10px 0;}
.sidebar-nav h2{font-size: 15px;font-weight: 500;margin-bottom:0}
/* Bootstrap Tabs样式定制 */
.nav-tabs.flex-lg-column {border-right: none;}
.nav-tabs.flex-lg-column .nav-link {display: flex;align-items: center;padding: 12px 20px;color: var(--text-dark);text-decoration: none;transition: all 0.3s;font-size: 14px;gap: 10px;position: relative;cursor: pointer;border: none;border-radius: 0;}
.nav-tabs.flex-lg-column .nav-link:hover {background: #f5f5f5;}
.nav-tabs.flex-lg-column .nav-link.active {background: linear-gradient(90deg, #fff5e6 0%, #ffffff 100%);color: var(--active-color);border-left: 3px solid var(--active-color);font-weight: 600;}
.nav-tabs.flex-lg-column .nav-link i:first-child {font-size: 18px;width: 20px;flex-shrink: 0;}
/* 主要内容区域 */
#sidebarTabContent {display: flex;min-height: 100vh;width: calc(100vw - var(--sidebar-width))}
/* 中间卡片区域 */
.center-tab.active {display: flex;justify-content: center;width: 100%}
.center-tab .nav {width: var(--center-cards-width);padding: 30px 20px;gap: 20px;}
.feature-card {flex-direction: column;align-items:start !important;background: var(--card-bg);border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);transition: all 0.3s;cursor: pointer;border: 2px solid transparent;position: relative;overflow: hidden;}
.feature-card:hover {transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);}
.feature-card.active {background: linear-gradient(135deg, #fff4e6 0%, #ffe8d9 100%);border: 2px solid #ff6a00;}
.feature-card.active::before {content: '';position: absolute;top: 0;left: 0;width: 4px;height: 100%;background: var(--active-color);}
.card-icon {width: 40px;height: 40px;border-radius: 10px;background: linear-gradient(135deg, #fff4e6 0%, #ffe8d9 100%);display: flex;align-items: center;justify-content: center;margin-bottom: 12px;}
.feature-card.active .card-icon {background: linear-gradient(135deg, #ff8533 0%, #ff6a00 100%);}
.card-icon i {font-size: 20px;color: var(--active-color);}
.feature-card.active .card-icon i {color: white;}
.feature-card h3 {font-size: 15px;font-weight: 600;margin-bottom: 8px;color: var(--text-dark);}
.feature-card p {font-size: 12px;color: var(--text-light);line-height: 1.6;}
/* 右侧内容区 */
.center-tab .right-content {flex: 1;padding: 30px 40px;overflow-y: auto;}
.content-header {margin-bottom: 30px;}
.content-header h2 {font-size: 22px;font-weight: 600;color: var(--text-dark);margin-bottom: 10px;display: flex;align-items: center;gap: 10px;}
.content-header h2 i {color: var(--primary-color);}
.content-header p {color: var(--text-light);font-size: 14px;margin: 0;}
/* 解决方案网格 */
.solutions-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));gap: 15px;margin-bottom: 40px;}
.solution-item {background: var(--card-bg);border-radius: 10px;padding: 20px;display: flex;align-items: center;gap: 12px;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);transition: all 0.3s;cursor: pointer;}
.solution-item:hover {transform: translateY(-3px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);}
.solution-item i {font-size: 28px;flex-shrink: 0;}
.solution-item h4 {font-size: 14px;color: var(--text-dark);font-weight: 500;}
.solution-item p {font-size: 12px;color: var(--bs-gray);margin: 0;}
/* 热门标签 */
.hot-tags {margin-bottom: 30px;}
.hot-tags h4 {font-size: 16px;font-weight: 600;color: var(--text-dark);margin-bottom: 15px;}
.hot-tags small {font-size: 12px;font-weight: 400;margin-left: 10px;}
.tags-container {display: flex;flex-wrap: wrap;gap: 10px;}
.btn-tag {background: var(--card-bg);border: 1px solid var(--border-color);border-radius: 20px;padding: 8px 20px;font-size: 13px;color: var(--text-dark);transition: all 0.3s;}
.btn-tag:hover {background: #fff4e6;border-color: var(--primary-color);color: var(--primary-color);}
/* 输入区域 */
.input-section {margin-bottom: 30px;}
.input-wrapper {background: var(--card-bg);border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);}
.input-wrapper textarea {border: 1px solid var(--border-color);border-radius: 8px;padding: 15px;font-size: 14px;resize: vertical;margin-bottom: 15px;}
.input-wrapper textarea:focus {border-color: var(--primary-color);box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.15);}
.input-actions {display: flex;justify-content: flex-end;align-items: center;gap: 10px;font-size: 14px;}
.input-actions .btn {border-radius: 8px;padding: 8px 20px;font-size: 14px;display: flex;align-items: center;gap: 6px;}
.input-actions .btn-light {background: #f5f5f5;border: 1px solid var(--border-color);color: var(--text-dark);}
.input-actions .btn-light:hover {background: #e8e8e8;}
.input-actions .btn-primary {background: linear-gradient(135deg, #ff8533 0%, #ff6a00 100%);border: none;color: white;}
.input-actions .btn-primary:hover {background: linear-gradient(135deg, #ff6a00 0%, #e65c00 100%);}
/* 结果区域 */
.result-section {background: var(--card-bg);border-radius: 12px;padding: 20px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);min-height: 300px;}
.empty-state {display: flex;flex-direction: column;align-items: center;justify-content: center;padding: 40px 0;}
.empty-image {width: 200px;height: auto;margin-bottom: 20px;}
.empty-state p {font-size: 14px;margin: 0;}
/* 生成结果样式 */
.solution-result {animation: fadeIn 0.5s ease-in;}
@keyframes fadeIn {from {opacity: 0;transform: translateY(20px);}to {opacity: 1;transform: translateY(0);}}
.result-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 30px;padding-bottom: 20px;border-bottom: 2px solid #e0e0e0;}
.result-header h3 {font-size: 20px;font-weight: 600;color: var(--text-dark);display: flex;align-items: center;gap: 10px;margin: 0;}
.result-actions {display: flex;gap: 10px;}
.result-content {display: flex;flex-direction: column;gap: 25px;}
.requirement-section,
.solution-section,
.timeline-section,
.contact-section {padding: 20px;background: #f8f9fa;border-radius: 8px;border-left: 4px solid var(--primary-color);}
.requirement-section h4,
.solution-section h4,
.timeline-section h4,
.contact-section h4 {font-size: 16px;font-weight: 600;color: var(--text-dark);margin-bottom: 15px;display: flex;align-items: center;gap: 8px;}
.requirement-section p,
.solution-section p,
.timeline-section p,
.contact-section p {font-size: 14px;color: var(--text-dark);line-height: 1.8;margin-bottom: 10px;}
.solution-section ul,
.solution-section ol {padding-left: 20px;margin: 15px 0;}
.solution-section li {font-size: 14px;color: var(--text-dark);line-height: 1.8;margin-bottom: 10px;}
.service-cards {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 15px;margin-top: 15px;}
.service-card {background: white;padding: 20px;border-radius: 8px;text-align: center;box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);transition: all 0.3s;}
.service-card:hover {transform: translateY(-3px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);}
.service-card i {font-size: 32px;margin-bottom: 10px;}
.service-card h5 {font-size: 15px;font-weight: 600;color: var(--text-dark);margin-bottom: 8px;}
.service-card p {font-size: 13px;color: var(--text-light);margin: 0;}
.contact-info {display: flex;gap: 25px;margin-top: 15px;}
.contact-info span {display: flex;align-items: center;gap: 8px;font-size: 14px;color: var(--text-dark);}
.contact-info i {color: var(--primary-color);}
/* 滚动条样式 */
::-webkit-scrollbar {width: 8px;height: 8px;}
::-webkit-scrollbar-track {background: #f1f1f1;}
::-webkit-scrollbar-thumb {background: #c1c1c1;border-radius: 4px;}
::-webkit-scrollbar-thumb:hover {background: #a8a8a8;}
/*chat*/
.chat-view{width: 80%;height:100%;padding: 20px;background: rgba(255, 255, 255, 0.5);display: flex;flex-direction: column}
.chat-view .chat-header{display: flex;justify-content: space-between}
.chat-view .chat-header h3{ font-size: 16px}
.chat-view .chat-content {flex:1;width: 100%;overflow-y: auto;overscroll-behavior: none;padding: 0 15px;position: relative}
.chat-view .chat-content .message-items{font-size: 14px;}
.chat-view .chat-content .message-items .message-time{display: flex;color: var(--bs-gray);align-items: center;}
.chat-view .chat-content .message-items .message-time hr{flex:3;}
.chat-view .chat-content .message-items .message-time span{flex:1;text-align: center;color: var(--bs-gray);font-size: 12px;}
.chat-view .chat-content .message-items .message-item-user{display: flex; justify-content: flex-end;margin-bottom: 1rem}
.chat-view .chat-content .message-items .message-item-user .message{border-right: 4px solid var(--primary-color);background: linear-gradient(135deg, #fff4e6 0%, #ffd7c3 100%);padding: 1rem;border-radius: .8rem;}

.chat-view .chat-content .message-items .message-item-assistant{}
.chat-view .chat-content .message-items .message-item-assistant .message{}
.chat-view .chat-content .message-items .message-item-assistant .message think{display: flex;height:0;overflow: hidden;}
.chat-view .chat-content .message-items .message-item-assistant .message h1,
.chat-view .chat-content .message-items .message-item-assistant .message h2,
.chat-view .chat-content .message-items .message-item-assistant .message h3,
.chat-view .chat-content .message-items .message-item-assistant .message h4,
.chat-view .chat-content .message-items .message-item-assistant .message h5,
.chat-view .chat-content .message-items .message-item-assistant .message h6{font-size: 18px;margin-bottom: 1rem;}
.chat-view .chat-content .message-items .message-item-assistant .message table {width:100%;overflow-x: auto;}
.chat-view .chat-content .message-items .message-item-assistant .message table th,
.chat-view .chat-content .message-items .message-item-assistant .message table td{border: 1px solid var(--border-color); padding: 5px;}

.chat-view .chat-footer {width:100%;padding: 10px;border: 1px solid var(--border-color);background: var(--card-bg);border-radius: 8px;}
.chat-view .chat-footer .chat-inputs{display: flex;align-items: center;font-size: 14px;}
.chat-view .chat-footer .chat-inputs #chat-input{display: block;box-sizing: border-box;width: 100%;margin: 0;padding: 0;color: #323232;line-height: inherit;text-align: left;background-color: transparent;border: 0;resize: none;-webkit-user-select: auto;user-select: auto;}
.chat-view .chat-footer .chat-inputs .chat-send{width: 32px;height: 32px;border-radius: 50%;background: var(--primary-color);color: white;display: flex;align-items: center;justify-content: center;cursor: pointer}
@media (max-width: 992px){:root{--center-cards-width:100%}
    .ai-container {flex-direction: column;}
    .sidebar {width: 100%;min-height: 0;height: auto;}

    .sidebar .sidebar-nav{position: fixed;bottom: 0;left: 0;right: 0;background: var(--sidebar-bg);z-index: 999;}
    #sidebarTab{justify-content: space-around}
    #sidebarTab .nav-link {flex-direction: column}
    #sidebarTab .nav-link.active{border-bottom: 3px solid var(--active-color);border-left: 0;background: linear-gradient(360deg, #fff5e6 0%, #ffffff 100%)}
    #sidebarTabContent{width: 100%}
    .center-tab.active {flex-direction: column}
    .center-tab.active .nav-tabs.flex-column {flex-direction: row;}
    .center-tab.active .nav-tabs .nav-item {width: 100%;}
    .center-tab .right-content{padding: 10px;}
    .solutions-grid{display: flex;flex-wrap: wrap;gap: 15px;}
    .solution-item{width: 47%}
    .input-actions{display: flex;flex-wrap: wrap;align-items: center;gap: 10px;}
    .input-actions small{width: 100%;}
    .input-actions .btn{width: 48%;justify-content: center;}
    /*chat*/
    .chat-view{width: 100%;}
    #chat-tab-pane{justify-content: flex-start;}
}


.step-card {border-left: 4px solid var(--primary-color);border-radius: 0.5rem;margin-bottom: 1rem;padding: 1.5rem;background-color: #fff;box-shadow: 0 2px 10px rgba(0,0,0,0.05);}
.step-card.think{padding-top:.5rem;padding-bottom:.5rem;}
.step-card.think .info-text{height: auto;overflow: hidden; font-size: 12px;margin-bottom:0;}
.step-title {font-size: 1.25rem;font-weight: 600;color: #333;margin-bottom: 1rem;display: flex;align-items: center;gap: 0.5rem;}
.step-icon {color: var(--primary-color);font-size: 1.5rem;}
.info-text {color: #6c757d;line-height: 1.6;}
@media (max-width: 992px) {.step-container {padding-left: 20px;}.step-card {padding: 1rem;}}

/*表格内容优化*/
.stream-content .container{padding: 0!important;}
.stream-content h1{font-size: 1.5rem}
.stream-content div:has(table){overflow-x: scroll}
.stream-content table th,
.stream-content table td{min-width: 100px;overflow: hidden;text-overflow: ellipsis;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
.stream-content table td:last-of-type{min-width: 300px;}