// 导入全局样式变量 @import '@/styles/variables.scss';'; // ===== 应用布局 ===== .app-layout { minHeight: 100vh; display: flex; flex-direction: column; background: $bg-primary; } // ===== 主体内容容器 ===== .main-container { display: flex; flex: 1; margin-top: @header-height; margin-left: @sidebar-width; background: $bg-primary; height: calc(100vh - @header-height); overflow: hidden; transition: margin-left 0.2s ease; // 添加过渡动画 } // 响应式调整 @media (max-width: 1024px) { .main-container { margin-left: @sidebar-width-md; // 中等屏幕调整 } } @media (max-width: 768px) { .main-container { margin-left: 0; // 移动端默认无 Sidebar // 当 Sidebar 展开时(collapsed=false) &.sidebar-open { margin-left: @sidebar-width; } } } // ===== 内层 Layout ===== .main-layout { flex: 1; background: transparent; display: flex; flex-direction: column; overflow: hidden; } .main-content { padding: 0; display: flex; flex-direction: column; flex: 1; .breadcrumb-container { width: 100%; height: 44px; padding: $spacing-3 $spacing-6; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid $border-base; background: $bg-secondary; position: sticky; top: 0; z-index: @z-index-sticky; } .breadcrumb { flex: 1; font-weight: $font-weight-medium; .ant-breadcrumb-link { a { &:hover { color: $primary-color !important; font-weight: $font-weight-medium; } } } } .breadcrumb-actions { display: flex; align-items: center; gap: $spacing-2; } /* 内容区域滚动 - 隐藏式滚动条 */ .content-scroll-area { flex: 1; overflow-y: auto; background: $bg-secondary; position: relative; // 隐藏式滚动条 scrollbar-width: none; // Firefox -ms-overflow-style: none; // IE/Edge &::-webkit-scrollbar { display: none; // Chrome/Safari/Opera } } } .nav { width: 200px !important; height: calc(100vh - @header-height) !important; background: @sidebar-bg !important; border-right: 1px solid $border-base; position: fixed; top: @header-height; left: 0; z-index: @z-index-fixed; .ant-menu { background-color: transparent !important; overflow-x: hidden; overflow-y: auto; &-item { transition: font-weight 0.2s ease; &-selected, &-active { font-weight: 600 !important; } } } &-bottom { width: 100%; height: 44px; display: flex; justify-content: center; align-items: center; } } .model-selector-modal { .ant-modal-body { padding: $spacing-5; } } .route-option { border-radius: $radius-lg; overflow: hidden; transition: all 0.3s; height: 480px; display: flex; flex-direction: column; .ant-card-cover { display: flex; justify-content: center; padding: 60px 0; background: #f0f5ff; flex: 0 0 auto; } .ant-card-body { display: flex; flex-direction: column; flex: 1; padding: 0; } .logo-container { display: flex; justify-content: center; align-items: center; width: 100%; } .option-icon { font-size: 64px; color: $primary-color; } .ant-card-meta { text-align: center; margin-bottom: 0; flex: 1; display: flex; flex-direction: column; justify-content: center; &-title { font-size: $font-lg; font-weight: $font-weight-medium; margin-bottom: $spacing-2; } &-description { color: $text-secondary; padding: 0 $spacing-4; } } .select-button { margin: $spacing-6 0; height: 48px; font-weight: $font-weight-medium; font-size: $font-lg; flex: 0 0 auto; } &:hover { transform: translateY(-5px); box-shadow: @shadow-lg; } }