debug-styles.scss 57 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133
  1. /* 调试样式文件 - 增强版本,确保布局正确显示 */
  2. @import '../../../../styles/_variables';
  3. /* 重置所有可能冲突的样式 - 使用最高优先级 */
  4. * {
  5. box-sizing: border-box !important;
  6. }
  7. /* 重置主内容区域样式 */
  8. .main-content {
  9. width: 100% !important;
  10. margin: 0 !important;
  11. padding: 0 !important;
  12. }
  13. /* 重置内容包装器样式 */
  14. .content-wrapper {
  15. width: 100% !important;
  16. margin: 0 !important;
  17. padding: 0 !important;
  18. }
  19. /* 重置项目详情容器 */
  20. .project-detail-container {
  21. padding: 20px !important;
  22. width: 100% !important;
  23. margin: 0 !important;
  24. }
  25. /* 重置标签页内容容器 */
  26. .tab-content {
  27. width: 100% !important;
  28. padding: 0 !important;
  29. margin: 0 !important;
  30. /* 减少标签页内容的垂直间距 */
  31. > * {
  32. margin-bottom: 12px !important; /* 统一减少子元素的底部间距 */
  33. &:last-child {
  34. margin-bottom: 0 !important;
  35. }
  36. }
  37. }
  38. /* 重置项目进度标签页内容 */
  39. .progress-tab-content {
  40. width: 100% !important;
  41. padding: 0 !important;
  42. margin: 0 !important;
  43. /* 减少进度标签页内容的垂直间距 */
  44. > * {
  45. margin-bottom: 12px !important; /* 统一减少子元素的底部间距 */
  46. &:last-child {
  47. margin-bottom: 0 !important;
  48. }
  49. }
  50. }
  51. /* 上传区域样式优化 - 确保在并排显示时内容清晰可读 */
  52. .upload-section {
  53. /* 基础样式保持不变 */
  54. margin-bottom: 12px !important; /* 从16px减少到12px */
  55. /* 针对四个卡片并排时的特殊优化 */
  56. .stage-progress-container:has(.vertical-stage-block:nth-child(4):last-child) & {
  57. /* 笔记本端和PC端的上传区域优化 */
  58. @media (min-width: 1366px) {
  59. margin-bottom: 12px !important;
  60. .upload-dropzone {
  61. min-height: 120px !important;
  62. padding: 12px !important;
  63. .upload-text {
  64. font-size: 12px !important;
  65. line-height: 1.4 !important;
  66. }
  67. .upload-hint {
  68. font-size: 11px !important;
  69. margin-top: 4px !important;
  70. }
  71. }
  72. }
  73. /* 24寸PC端的上传区域优化 */
  74. @media (min-width: 1920px) {
  75. margin-bottom: 16px !important;
  76. .upload-dropzone {
  77. min-height: 140px !important;
  78. padding: 16px !important;
  79. .upload-text {
  80. font-size: 13px !important;
  81. line-height: 1.4 !important;
  82. }
  83. .upload-hint {
  84. font-size: 12px !important;
  85. margin-top: 6px !important;
  86. }
  87. }
  88. }
  89. /* 较小屏幕时保持紧凑布局 */
  90. @media (max-width: 1365px) {
  91. margin-bottom: 10px !important;
  92. .upload-dropzone {
  93. min-height: 100px !important;
  94. padding: 10px !important;
  95. .upload-text {
  96. font-size: 11px !important;
  97. line-height: 1.3 !important;
  98. }
  99. .upload-hint {
  100. font-size: 10px !important;
  101. margin-top: 3px !important;
  102. }
  103. }
  104. }
  105. }
  106. }
  107. /* 阶段标题样式优化 */
  108. .vertical-stage-header {
  109. /* 针对四个卡片并排时的标题优化 */
  110. .stage-progress-container:has(.vertical-stage-block:nth-child(4):last-child) & {
  111. margin-bottom: 12px !important;
  112. h4 {
  113. font-size: 14px !important;
  114. line-height: 1.3 !important;
  115. margin: 0 !important;
  116. /* 笔记本端和PC端的标题优化 */
  117. @media (min-width: 1366px) {
  118. font-size: 15px !important;
  119. }
  120. /* 24寸PC端的标题优化 */
  121. @media (min-width: 1920px) {
  122. font-size: 16px !important;
  123. }
  124. }
  125. }
  126. }
  127. /* 强制覆盖主内容布局样式 - 使用最高优先级 */
  128. .progress-tab-content > .main-content-layout {
  129. display: flex !important;
  130. flex-wrap: nowrap !important;
  131. gap: 20px !important;
  132. margin-top: 20px !important;
  133. width: 100% !important;
  134. background-color: transparent !important; /* 去除调试底色 */
  135. padding: 20px !important;
  136. border-radius: 8px !important;
  137. }
  138. /* 强制覆盖左侧列样式 - 使用最高优先级 */
  139. .progress-tab-content > .main-content-layout > .left-column {
  140. width: 28% !important;
  141. min-width: 28% !important;
  142. max-width: 28% !important;
  143. display: flex !important;
  144. flex-direction: column !important;
  145. gap: 16px !important;
  146. background-color: transparent !important; // 去除左侧粉色底色
  147. padding: 8px !important;
  148. border-radius: 6px !important;
  149. }
  150. /* 强制覆盖右侧列样式 - 使用最高优先级 */
  151. .progress-tab-content > .main-content-layout > .right-column {
  152. width: 72% !important;
  153. min-width: 72% !important;
  154. max-width: 72% !important;
  155. display: flex !important;
  156. flex-direction: column !important;
  157. gap: 16px !important;
  158. background-color: transparent !important; // 去除右侧调试底色
  159. padding: 8px !important;
  160. border-radius: 6px !important;
  161. }
  162. /* 优化卡片样式 */
  163. .left-column .card,
  164. .right-column .card {
  165. background-color: white !important;
  166. border-radius: 8px !important;
  167. padding: 16px !important;
  168. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  169. border: 1px solid #eaeaea !important;
  170. }
  171. /* 客户信息卡片样式优化 */
  172. .left-column .project-info-card {
  173. background: white !important;
  174. border-radius: 8px !important;
  175. padding: 12px !important;
  176. margin-bottom: 16px !important;
  177. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  178. border: 1px solid #eaeaea !important;
  179. }
  180. /* 客户信息卡片标题栏交互效果 */
  181. .left-column .project-info-card .card-header {
  182. transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
  183. border-radius: 6px !important;
  184. padding: 8px 12px !important;
  185. margin: -8px -8px 8px -8px !important;
  186. }
  187. .left-column .project-info-card .card-header:hover {
  188. background-color: #f8f9fa !important;
  189. box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  190. }
  191. .left-column .project-info-card .card-header:active {
  192. background-color: #e9ecef !important;
  193. transform: translateY(1px) !important;
  194. }
  195. /* 箭头图标动画效果 */
  196. .left-column .project-info-card .toggle-icon {
  197. transition: transform 0.3s ease !important;
  198. }
  199. .left-column .project-info-card .toggle-icon.expanded {
  200. transform: rotate(180deg) !important;
  201. }
  202. /* 客户信息卡片内部元素优化 */
  203. .left-column .project-info-card .info-grid {
  204. display: grid !important;
  205. grid-template-columns: 1fr 1fr !important;
  206. gap: 6px !important; // 从8px减少到6px
  207. margin-bottom: 8px !important; // 从12px减少到8px
  208. }
  209. .left-column .project-info-card .info-item {
  210. display: flex !important;
  211. flex-direction: column !important;
  212. padding: 6px !important; // 从8px减少到6px
  213. background: #f8f9fa !important;
  214. border-radius: 6px !important;
  215. border: 1px solid #e9ecef !important;
  216. font-size: 12px !important;
  217. }
  218. .left-column .project-info-card .info-item label {
  219. font-weight: 500 !important;
  220. color: #6c757d !important;
  221. margin-bottom: 2px !important; // 从4px减少到2px
  222. font-size: 11px !important;
  223. }
  224. .left-column .project-info-card .info-item span {
  225. color: #212529 !important;
  226. font-weight: 600 !important;
  227. font-size: 12px !important;
  228. }
  229. .left-column .project-info-card .tags-container {
  230. margin-top: 6px !important; // 从8px减少到6px
  231. }
  232. .left-column .project-info-card .tag-section {
  233. margin-bottom: 6px !important; // 从8px减少到6px
  234. }
  235. .left-column .project-info-card .tag-section h3 {
  236. font-size: 12px !important;
  237. font-weight: 600 !important;
  238. color: #495057 !important;
  239. margin-bottom: 4px !important; // 从6px减少到4px
  240. }
  241. .left-column .project-info-card .tags .tag {
  242. font-size: 10px !important;
  243. padding: 4px 8px !important;
  244. margin: 2px 4px 2px 0 !important;
  245. background-color: rgba(24, 144, 255, 0.08) !important;
  246. color: #1890ff !important;
  247. border-radius: 4px !important;
  248. }
  249. .left-column .project-info-card .need-list {
  250. margin: 0 !important;
  251. padding-left: 12px !important;
  252. }
  253. .left-column .project-info-card .need-list li {
  254. font-size: 11px !important;
  255. color: #495057 !important;
  256. margin-bottom: 3px !important;
  257. }
  258. .left-column .project-info-card .requirement-sync-info {
  259. margin-top: 8px !important;
  260. padding: 8px !important;
  261. background: #f1f3f4 !important;
  262. border-radius: 6px !important;
  263. }
  264. .left-column .project-info-card .requirement-sync-info h4 {
  265. font-size: 11px !important;
  266. font-weight: 600 !important;
  267. color: #495057 !important;
  268. margin-bottom: 6px !important;
  269. }
  270. /* 确保响应式布局正常工作 */
  271. @media (max-width: 1024px) {
  272. .progress-tab-content > .main-content-layout {
  273. flex-direction: column !important;
  274. }
  275. .progress-tab-content > .main-content-layout > .left-column,
  276. .progress-tab-content > .main-content-layout > .right-column {
  277. width: 100% !important;
  278. min-width: 100% !important;
  279. max-width: 100% !important;
  280. }
  281. }
  282. /* ===================== 四大板块:工具条与内容样式(调试版) ===================== */
  283. .sections-toolbar {
  284. display: flex;
  285. gap: $ios-spacing-md;
  286. padding: $ios-spacing-sm;
  287. background: $ios-background-secondary;
  288. border-radius: $ios-radius-lg;
  289. border: 1px solid $ios-border;
  290. margin: $ios-spacing-md 0 $ios-spacing-lg;
  291. }
  292. .section-btn {
  293. appearance: none;
  294. border: 1px solid $ios-border;
  295. background: $ios-background;
  296. color: $ios-text-primary;
  297. padding: $ios-spacing-sm $ios-spacing-lg;
  298. border-radius: $ios-radius-md;
  299. font-size: $ios-font-size-sm;
  300. font-weight: $ios-font-weight-medium;
  301. cursor: pointer;
  302. transition: all 0.15s ease;
  303. }
  304. .section-btn:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.05); }
  305. .section-btn.completed { background: #e6f7e6; color: $ios-success; border-color: rgba(0,0,0,0.06); }
  306. .section-btn.active { background: #fff2f0; color: #ff4d4f; border-color: #ff4d4f; }
  307. .section-btn.pending { background: $ios-background; color: $ios-text-secondary; }
  308. .sections-content { margin-top: $ios-spacing-md; }
  309. .section-panel {
  310. background: $ios-background;
  311. border: 1px solid $ios-border;
  312. border-radius: $ios-radius-lg;
  313. padding: $ios-spacing-lg;
  314. }
  315. /* 交付执行:三列布局 */
  316. .delivery-grid {
  317. display: grid;
  318. grid-template-columns: repeat(3, 1fr);
  319. gap: $ios-spacing-lg;
  320. }
  321. @media (max-width: 1024px) {
  322. .delivery-grid { grid-template-columns: 1fr; }
  323. }
  324. .delivery-col {
  325. background: $ios-background-secondary;
  326. border: 1px solid $ios-border;
  327. border-radius: $ios-radius-md;
  328. padding: $ios-spacing-md;
  329. display: flex;
  330. flex-direction: column;
  331. gap: $ios-spacing-md;
  332. }
  333. .delivery-stage-header {
  334. display: flex;
  335. align-items: center;
  336. gap: $ios-spacing-sm;
  337. }
  338. .delivery-stage-header .dot {
  339. width: 10px; height: 10px; border-radius: 50%; background: $ios-border;
  340. }
  341. .delivery-stage-header .dot.completed { background: $ios-success; }
  342. .delivery-stage-header .dot.active { background: $ios-primary; }
  343. /* 优化垂直间距和内边距 - 减少空白 */
  344. .delivery-stage-body {
  345. display: flex;
  346. flex-direction: column;
  347. gap: $ios-spacing-xs; // 从 $ios-spacing-sm 减少到 $ios-spacing-xs
  348. }
  349. /* 减少垂直区域间距 */
  350. .section-vertical {
  351. display: flex;
  352. flex-direction: column;
  353. gap: $ios-spacing-sm; // 从 $ios-spacing-md 减少到 $ios-spacing-sm
  354. }
  355. /* 减少垂直阶段块的内边距 */
  356. .vertical-stage-block {
  357. border-radius: 8px; // 替换未定义的变量为固定值
  358. background: white; // 替换未定义的变量为固定值
  359. padding: 10px; // 进一步减少内边距,从 $ios-spacing-xs 减少到固定值10px
  360. margin-bottom: 10px; // 添加底部间距控制
  361. }
  362. .vertical-stage-header {
  363. display: flex;
  364. align-items: center;
  365. gap: 8px; // 从 $ios-spacing-xs 减少到固定值8px
  366. margin-bottom: 8px; // 从 $ios-spacing-xs 减少到固定值8px
  367. }
  368. /* 减少垂直阶段主体间距 */
  369. .vertical-stage-body {
  370. display: flex;
  371. flex-direction: column;
  372. gap: 10px; // 从 $ios-spacing-sm 减少到固定值10px
  373. }
  374. /* 缩略图列表适配到新容器 */
  375. .section-panel .thumb-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: $ios-spacing-md; }
  376. .section-panel .thumb-item { background: white; border: 1px solid $ios-border; border-radius: $ios-radius-sm; overflow: hidden; display: flex; flex-direction: column; }
  377. .section-panel .thumb-item img { width: 100%; height: 120px; object-fit: cover; }
  378. .section-panel .thumb-meta { display: flex; justify-content: space-between; padding: $ios-spacing-xs $ios-spacing-sm; font-size: $ios-font-size-xs; color: $ios-text-secondary; }
  379. /* 上传区小幅适配 */
  380. .section-panel .upload-header {
  381. display: flex;
  382. align-items: center;
  383. justify-content: space-between;
  384. gap: $ios-spacing-sm;
  385. padding: $ios-spacing-sm $ios-spacing-md;
  386. background: $ios-background;
  387. border: 1px dashed $ios-border;
  388. border-radius: $ios-radius-sm;
  389. }
  390. /* 强调版:客户信息卡片更突出、边缘更清晰 */
  391. /* 顶部强调条、圆角与阴影调整,以及关键信息高亮 */
  392. .left-column .project-info-card.card {
  393. border: 1px solid $ios-border !important;
  394. border-radius: 12px !important; /* 圆角加大 */
  395. box-shadow: 0 10px 24px rgba(0,0,0,0.06), 0 2px 6px rgba(0,0,0,0.05) !important; /* 阴影减弱些 */
  396. position: relative;
  397. }
  398. .left-column .project-info-card.card::before {
  399. content: "";
  400. position: absolute;
  401. top: 0; left: 0; right: 0;
  402. height: 4px; /* 顶部强调条 */
  403. background: $ios-primary;
  404. border-top-left-radius: 12px;
  405. border-top-right-radius: 12px;
  406. }
  407. /* 关键信息轻微高亮:客户姓名 */
  408. .left-column .project-info-card .info-item.key-info span {
  409. font-weight: $ios-font-weight-semibold;
  410. color: $ios-text-primary;
  411. }
  412. .left-column .project-info-card .info-item.key-info label {
  413. color: $ios-primary;
  414. }
  415. /* 标签轻微高亮:提升标签显著性但不过度 */
  416. .left-column .project-info-card .tags .tag {
  417. background-color: rgba(24, 144, 255, 0.08); /* 以主色系的淡背景形成层级 */
  418. color: $ios-primary;
  419. }
  420. .left-column .project-info-card.card h2 {
  421. color: $ios-primary !important; /* 标题与强调条呼应 */
  422. }
  423. /* 客户信息卡片头部和同步状态 */
  424. .left-column .project-info-card .card-header {
  425. display: flex !important;
  426. justify-content: space-between !important;
  427. align-items: center !important;
  428. margin-bottom: 12px !important; // 从16px减少到12px
  429. padding-bottom: 8px !important; // 从12px减少到8px
  430. border-bottom: 1px solid #f0f0f0 !important;
  431. transition: all 0.3s ease !important;
  432. }
  433. .left-column .project-info-card .card-header:hover {
  434. background-color: rgba(0, 0, 0, 0.02) !important;
  435. }
  436. .left-column .project-info-card .card-header h2 {
  437. margin: 0 !important;
  438. font-size: 18px !important;
  439. font-weight: 600 !important;
  440. color: #262626 !important;
  441. }
  442. .left-column .project-info-card .card-header .header-actions {
  443. display: flex !important;
  444. align-items: center !important;
  445. gap: 12px !important;
  446. }
  447. .left-column .project-info-card .sync-status {
  448. display: flex !important;
  449. align-items: center !important;
  450. font-size: 12px !important;
  451. color: #8c8c8c !important;
  452. }
  453. .left-column .project-info-card .sync-status.syncing {
  454. color: #1890ff !important;
  455. }
  456. .left-column .project-info-card .sync-indicator {
  457. display: flex !important;
  458. align-items: center !important;
  459. gap: 4px !important;
  460. }
  461. .left-column .project-info-card .sync-spinner {
  462. width: 12px !important;
  463. height: 12px !important;
  464. border: 2px solid #f0f0f0 !important;
  465. border-top: 2px solid #1890ff !important;
  466. border-radius: 50% !important;
  467. animation: spin 1s linear infinite !important;
  468. }
  469. .left-column .project-info-card .sync-time {
  470. display: flex !important;
  471. align-items: center !important;
  472. gap: 4px !important;
  473. }
  474. .left-column .project-info-card .icon-sync {
  475. width: 12px !important;
  476. height: 12px !important;
  477. background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238c8c8c'%3E%3Cpath d='M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z'/%3E%3C/svg%3E") no-repeat center !important;
  478. background-size: contain !important;
  479. }
  480. /* 展开/收起图标样式 */
  481. .left-column .project-info-card .toggle-icon {
  482. display: flex !important;
  483. align-items: center !important;
  484. justify-content: center !important;
  485. width: 24px !important;
  486. height: 24px !important;
  487. border-radius: 50% !important;
  488. background-color: rgba(0, 0, 0, 0.04) !important;
  489. transition: all 0.3s ease !important;
  490. cursor: pointer !important;
  491. }
  492. .left-column .project-info-card .toggle-icon:hover {
  493. background-color: rgba(0, 0, 0, 0.08) !important;
  494. }
  495. .left-column .project-info-card .toggle-icon svg {
  496. transition: transform 0.3s ease !important;
  497. color: #666 !important;
  498. }
  499. .left-column .project-info-card .toggle-icon.expanded svg {
  500. transform: rotate(180deg) !important;
  501. }
  502. /* 折叠展开动画效果 */
  503. .left-column .project-info-card .info-grid {
  504. max-height: 1000px !important;
  505. overflow: hidden !important;
  506. transition: max-height 0.3s ease, opacity 0.3s ease !important;
  507. opacity: 1 !important;
  508. }
  509. .left-column .project-info-card .info-grid.collapsed {
  510. max-height: 0 !important;
  511. opacity: 0 !important;
  512. padding: 0 !important;
  513. margin: 0 !important;
  514. border: none !important;
  515. }
  516. .left-column .project-info-card .tags-container {
  517. max-height: 1000px !important;
  518. overflow: hidden !important;
  519. transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease, margin 0.3s ease !important;
  520. opacity: 1 !important;
  521. }
  522. .left-column .project-info-card .tags-container.collapsed {
  523. max-height: 0 !important;
  524. opacity: 0 !important;
  525. margin: 0 !important;
  526. padding: 0 !important;
  527. border: none !important;
  528. }
  529. @keyframes spin {
  530. 0% { transform: rotate(0deg); }
  531. 100% { transform: rotate(360deg); }
  532. }
  533. /* 方案展示相关样式 */
  534. .proposal-confirm-card {
  535. /* 固定高度和滚动条 */
  536. max-height: 600px; /* 固定显示区域高度 */
  537. overflow-y: auto; /* 垂直滚动条 */
  538. /* 自定义滚动条样式 */
  539. &::-webkit-scrollbar {
  540. width: 8px;
  541. }
  542. &::-webkit-scrollbar-track {
  543. background: #f1f1f1;
  544. border-radius: 4px;
  545. }
  546. &::-webkit-scrollbar-thumb {
  547. background: #c1c1c1;
  548. border-radius: 4px;
  549. &:hover {
  550. background: #a8a8a8;
  551. }
  552. }
  553. .analysis-progress {
  554. padding: 24px;
  555. background: linear-gradient(135deg, #f8f9ff 0%, #e8f2ff 100%);
  556. border-radius: 12px;
  557. margin-bottom: 20px;
  558. border: 1px solid #e1e8ff;
  559. .progress-header {
  560. display: flex;
  561. justify-content: space-between;
  562. align-items: center;
  563. margin-bottom: 16px;
  564. h4 {
  565. margin: 0;
  566. color: #2c3e50;
  567. font-size: 16px;
  568. font-weight: 600;
  569. }
  570. .progress-percentage {
  571. font-size: 18px;
  572. font-weight: 700;
  573. color: #3498db;
  574. }
  575. }
  576. .progress-bar {
  577. width: 100%;
  578. height: 8px;
  579. background: #e9ecef;
  580. border-radius: 4px;
  581. overflow: hidden;
  582. margin-bottom: 12px;
  583. .progress-fill {
  584. height: 100%;
  585. background: linear-gradient(90deg, #3498db 0%, #2ecc71 100%);
  586. border-radius: 4px;
  587. transition: width 0.3s ease;
  588. }
  589. }
  590. .progress-description {
  591. margin: 0;
  592. color: #6c757d;
  593. font-size: 14px;
  594. text-align: center;
  595. }
  596. }
  597. .proposal-display {
  598. .proposal-overview {
  599. background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
  600. border-radius: 12px;
  601. padding: 24px;
  602. margin-bottom: 24px;
  603. border: 1px solid #e9ecef;
  604. box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  605. .overview-header {
  606. display: flex;
  607. justify-content: space-between;
  608. align-items: flex-start;
  609. margin-bottom: 20px;
  610. h3 {
  611. margin: 0;
  612. color: #2c3e50;
  613. font-size: 20px;
  614. font-weight: 700;
  615. }
  616. .proposal-meta {
  617. display: flex;
  618. gap: 12px;
  619. align-items: center;
  620. .version {
  621. background: #e3f2fd;
  622. color: #1976d2;
  623. padding: 4px 12px;
  624. border-radius: 16px;
  625. font-size: 12px;
  626. font-weight: 600;
  627. }
  628. .feasibility-score {
  629. background: #e8f5e8;
  630. color: #2e7d32;
  631. padding: 4px 12px;
  632. border-radius: 16px;
  633. font-size: 12px;
  634. font-weight: 600;
  635. }
  636. }
  637. }
  638. .quick-summary {
  639. display: grid;
  640. grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  641. gap: 16px;
  642. .summary-item {
  643. display: flex;
  644. flex-direction: column;
  645. gap: 4px;
  646. .label {
  647. font-size: 12px;
  648. color: #6c757d;
  649. font-weight: 600;
  650. text-transform: uppercase;
  651. letter-spacing: 0.5px;
  652. }
  653. .value {
  654. font-size: 14px;
  655. color: #2c3e50;
  656. font-weight: 500;
  657. line-height: 1.4;
  658. }
  659. }
  660. }
  661. }
  662. .proposal-details {
  663. .detail-section {
  664. background: #fff;
  665. border-radius: 12px;
  666. padding: 24px;
  667. margin-bottom: 20px;
  668. border: 1px solid #e9ecef;
  669. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  670. .section-header {
  671. display: flex;
  672. justify-content: space-between;
  673. align-items: center;
  674. margin-bottom: 20px;
  675. padding-bottom: 12px;
  676. border-bottom: 2px solid #f8f9fa;
  677. h4 {
  678. margin: 0;
  679. color: #2c3e50;
  680. font-size: 18px;
  681. font-weight: 700;
  682. }
  683. .section-count,
  684. .style-name,
  685. .harmony-type,
  686. .total-area,
  687. .total-budget {
  688. background: #f8f9fa;
  689. color: #495057;
  690. padding: 6px 12px;
  691. border-radius: 20px;
  692. font-size: 13px;
  693. font-weight: 600;
  694. }
  695. }
  696. // 材质网格样式
  697. .materials-grid {
  698. display: grid;
  699. grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  700. gap: 16px;
  701. .material-card {
  702. background: #f8f9fa;
  703. border-radius: 8px;
  704. padding: 16px;
  705. border-left: 4px solid #dee2e6;
  706. transition: all 0.3s ease;
  707. &.primary {
  708. border-left-color: #28a745;
  709. background: linear-gradient(135deg, #f8fff9 0%, #e8f5e8 100%);
  710. }
  711. &.secondary {
  712. border-left-color: #ffc107;
  713. background: linear-gradient(135deg, #fffdf8 0%, #fff3cd 100%);
  714. }
  715. &:hover {
  716. transform: translateY(-2px);
  717. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  718. }
  719. .material-header {
  720. display: flex;
  721. justify-content: space-between;
  722. align-items: center;
  723. margin-bottom: 12px;
  724. h5 {
  725. margin: 0;
  726. color: #2c3e50;
  727. font-size: 16px;
  728. font-weight: 600;
  729. }
  730. .usage-percentage {
  731. background: #007bff;
  732. color: white;
  733. padding: 4px 8px;
  734. border-radius: 12px;
  735. font-size: 12px;
  736. font-weight: 700;
  737. }
  738. }
  739. .material-specs {
  740. margin-bottom: 12px;
  741. .spec-item {
  742. display: flex;
  743. justify-content: space-between;
  744. margin-bottom: 6px;
  745. .spec-label {
  746. color: #6c757d;
  747. font-size: 13px;
  748. font-weight: 500;
  749. }
  750. .spec-value {
  751. color: #2c3e50;
  752. font-size: 13px;
  753. font-weight: 600;
  754. }
  755. }
  756. }
  757. .material-properties {
  758. display: flex;
  759. gap: 8px;
  760. flex-wrap: wrap;
  761. .property-tag {
  762. background: #e9ecef;
  763. color: #495057;
  764. padding: 4px 8px;
  765. border-radius: 12px;
  766. font-size: 11px;
  767. font-weight: 500;
  768. }
  769. }
  770. }
  771. }
  772. // 设计风格样式
  773. .style-elements {
  774. margin-bottom: 20px;
  775. .style-element {
  776. background: #f8f9fa;
  777. border-radius: 8px;
  778. padding: 16px;
  779. margin-bottom: 12px;
  780. .element-header {
  781. display: flex;
  782. justify-content: space-between;
  783. align-items: center;
  784. margin-bottom: 8px;
  785. .element-name {
  786. font-weight: 600;
  787. color: #2c3e50;
  788. font-size: 14px;
  789. }
  790. .influence-score {
  791. background: #007bff;
  792. color: white;
  793. padding: 2px 8px;
  794. border-radius: 10px;
  795. font-size: 12px;
  796. font-weight: 600;
  797. }
  798. }
  799. .element-description {
  800. color: #6c757d;
  801. font-size: 13px;
  802. margin-bottom: 8px;
  803. line-height: 1.4;
  804. }
  805. .influence-bar {
  806. width: 100%;
  807. height: 4px;
  808. background: #e9ecef;
  809. border-radius: 2px;
  810. overflow: hidden;
  811. .influence-fill {
  812. height: 100%;
  813. background: linear-gradient(90deg, #007bff 0%, #28a745 100%);
  814. border-radius: 2px;
  815. transition: width 0.3s ease;
  816. }
  817. }
  818. }
  819. }
  820. .style-characteristics {
  821. display: grid;
  822. grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  823. gap: 12px;
  824. .characteristic-item {
  825. background: #f8f9fa;
  826. padding: 12px;
  827. border-radius: 8px;
  828. text-align: center;
  829. border: 2px solid transparent;
  830. &.high {
  831. border-color: #28a745;
  832. background: linear-gradient(135deg, #f8fff9 0%, #e8f5e8 100%);
  833. }
  834. &.medium {
  835. border-color: #ffc107;
  836. background: linear-gradient(135deg, #fffdf8 0%, #fff3cd 100%);
  837. }
  838. .char-feature {
  839. display: block;
  840. font-size: 12px;
  841. color: #6c757d;
  842. font-weight: 600;
  843. margin-bottom: 4px;
  844. }
  845. .char-value {
  846. display: block;
  847. font-size: 14px;
  848. color: #2c3e50;
  849. font-weight: 700;
  850. }
  851. }
  852. }
  853. // 色彩方案样式
  854. .color-palette {
  855. display: grid;
  856. grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  857. gap: 16px;
  858. margin-bottom: 20px;
  859. .color-item {
  860. background: #fff;
  861. border-radius: 8px;
  862. padding: 16px;
  863. border: 1px solid #e9ecef;
  864. transition: all 0.3s ease;
  865. &.dominant {
  866. border-color: #007bff;
  867. box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.1);
  868. }
  869. &.accent {
  870. border-color: #28a745;
  871. box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.1);
  872. }
  873. &:hover {
  874. transform: translateY(-2px);
  875. box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  876. }
  877. .color-swatch {
  878. width: 100%;
  879. height: 60px;
  880. border-radius: 6px;
  881. margin-bottom: 12px;
  882. border: 1px solid rgba(0, 0, 0, 0.1);
  883. }
  884. .color-info {
  885. text-align: center;
  886. margin-bottom: 8px;
  887. .color-name {
  888. font-weight: 600;
  889. color: #2c3e50;
  890. font-size: 14px;
  891. margin-bottom: 4px;
  892. }
  893. .color-percentage {
  894. font-size: 18px;
  895. font-weight: 700;
  896. color: #007bff;
  897. margin-bottom: 4px;
  898. }
  899. .color-role {
  900. font-size: 11px;
  901. color: #6c757d;
  902. text-transform: uppercase;
  903. letter-spacing: 0.5px;
  904. }
  905. }
  906. .color-codes {
  907. display: flex;
  908. flex-direction: column;
  909. gap: 2px;
  910. .hex-code,
  911. .rgb-code {
  912. font-family: 'Courier New', monospace;
  913. font-size: 11px;
  914. color: #6c757d;
  915. text-align: center;
  916. }
  917. }
  918. }
  919. }
  920. .color-psychology {
  921. display: grid;
  922. grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  923. gap: 16px;
  924. .psychology-item {
  925. background: #f8f9fa;
  926. padding: 12px;
  927. border-radius: 8px;
  928. display: flex;
  929. flex-direction: column;
  930. gap: 4px;
  931. .label {
  932. font-size: 12px;
  933. color: #6c757d;
  934. font-weight: 600;
  935. }
  936. .value {
  937. font-size: 14px;
  938. color: #2c3e50;
  939. font-weight: 600;
  940. }
  941. }
  942. }
  943. // 空间布局样式
  944. .space-dimensions {
  945. display: grid;
  946. grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  947. gap: 12px;
  948. margin-bottom: 20px;
  949. .dimension-item {
  950. background: #f8f9fa;
  951. padding: 12px;
  952. border-radius: 8px;
  953. text-align: center;
  954. .dim-label {
  955. display: block;
  956. font-size: 12px;
  957. color: #6c757d;
  958. font-weight: 600;
  959. margin-bottom: 4px;
  960. }
  961. .dim-value {
  962. display: block;
  963. font-size: 16px;
  964. color: #2c3e50;
  965. font-weight: 700;
  966. }
  967. }
  968. }
  969. .functional-zones {
  970. display: grid;
  971. grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  972. gap: 16px;
  973. .zone-card {
  974. background: #f8f9fa;
  975. border-radius: 8px;
  976. padding: 16px;
  977. border-left: 4px solid #007bff;
  978. .zone-header {
  979. display: flex;
  980. justify-content: space-between;
  981. align-items: center;
  982. margin-bottom: 12px;
  983. h5 {
  984. margin: 0;
  985. color: #2c3e50;
  986. font-size: 16px;
  987. font-weight: 600;
  988. }
  989. .zone-stats {
  990. display: flex;
  991. gap: 8px;
  992. .zone-area {
  993. background: #007bff;
  994. color: white;
  995. padding: 4px 8px;
  996. border-radius: 12px;
  997. font-size: 12px;
  998. font-weight: 600;
  999. }
  1000. .zone-percentage {
  1001. background: #28a745;
  1002. color: white;
  1003. padding: 4px 8px;
  1004. border-radius: 12px;
  1005. font-size: 12px;
  1006. font-weight: 600;
  1007. }
  1008. }
  1009. }
  1010. .zone-requirements,
  1011. .zone-furniture {
  1012. margin-bottom: 12px;
  1013. .requirements-label,
  1014. .furniture-label {
  1015. font-size: 12px;
  1016. color: #6c757d;
  1017. font-weight: 600;
  1018. margin-bottom: 6px;
  1019. }
  1020. .requirements-tags {
  1021. display: flex;
  1022. gap: 6px;
  1023. flex-wrap: wrap;
  1024. .requirement-tag {
  1025. background: #e9ecef;
  1026. color: #495057;
  1027. padding: 4px 8px;
  1028. border-radius: 12px;
  1029. font-size: 11px;
  1030. font-weight: 500;
  1031. }
  1032. }
  1033. .furniture-list {
  1034. color: #2c3e50;
  1035. font-size: 13px;
  1036. line-height: 1.4;
  1037. }
  1038. }
  1039. }
  1040. }
  1041. // 预算与时间线样式
  1042. .budget-breakdown {
  1043. margin-bottom: 20px;
  1044. .budget-item {
  1045. background: #f8f9fa;
  1046. border-radius: 8px;
  1047. padding: 16px;
  1048. margin-bottom: 12px;
  1049. display: grid;
  1050. grid-template-columns: 1fr auto auto;
  1051. gap: 16px;
  1052. align-items: center;
  1053. .budget-category {
  1054. font-weight: 600;
  1055. color: #2c3e50;
  1056. font-size: 14px;
  1057. }
  1058. .budget-amount {
  1059. font-weight: 700;
  1060. color: #28a745;
  1061. font-size: 16px;
  1062. }
  1063. .budget-percentage {
  1064. background: #007bff;
  1065. color: white;
  1066. padding: 4px 8px;
  1067. border-radius: 12px;
  1068. font-size: 12px;
  1069. font-weight: 600;
  1070. }
  1071. .budget-bar {
  1072. grid-column: 1 / -1;
  1073. width: 100%;
  1074. height: 6px;
  1075. background: #e9ecef;
  1076. border-radius: 3px;
  1077. overflow: hidden;
  1078. margin-top: 8px;
  1079. .budget-fill {
  1080. height: 100%;
  1081. background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
  1082. border-radius: 3px;
  1083. transition: width 0.3s ease;
  1084. }
  1085. }
  1086. }
  1087. }
  1088. .timeline {
  1089. display: flex;
  1090. gap: 12px;
  1091. flex-wrap: wrap;
  1092. .timeline-item {
  1093. background: #f8f9fa;
  1094. padding: 12px 16px;
  1095. border-radius: 8px;
  1096. text-align: center;
  1097. flex: 1;
  1098. min-width: 120px;
  1099. .phase-name {
  1100. font-size: 13px;
  1101. color: #2c3e50;
  1102. font-weight: 600;
  1103. margin-bottom: 4px;
  1104. }
  1105. .phase-duration {
  1106. font-size: 14px;
  1107. color: #007bff;
  1108. font-weight: 700;
  1109. }
  1110. }
  1111. }
  1112. }
  1113. }
  1114. .proposal-actions {
  1115. display: flex;
  1116. gap: 12px;
  1117. justify-content: center;
  1118. padding: 20px 0;
  1119. .confirm-btn,
  1120. .adjust-btn {
  1121. padding: 12px 24px;
  1122. border-radius: 8px;
  1123. font-weight: 600;
  1124. font-size: 14px;
  1125. border: none;
  1126. cursor: pointer;
  1127. transition: all 0.3s ease;
  1128. &.primary {
  1129. background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
  1130. color: white;
  1131. &:hover {
  1132. transform: translateY(-2px);
  1133. box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
  1134. }
  1135. }
  1136. &.secondary {
  1137. background: #f8f9fa;
  1138. color: #6c757d;
  1139. border: 1px solid #dee2e6;
  1140. &:hover {
  1141. background: #e9ecef;
  1142. color: #495057;
  1143. }
  1144. }
  1145. }
  1146. }
  1147. }
  1148. }
  1149. /* 活动阶段卡片:浅红底色突显(更显眼版) */
  1150. .delivery-col.active,
  1151. .vertical-stage-block.active {
  1152. background: #ffeaea; /* 比 #fff2f0 更显眼 */
  1153. border-color: #ffccc7; /* 维持柔和的红系边框 */
  1154. box-shadow: 0 8px 22px rgba(255, 85, 62, 0.12), 0 2px 8px rgba(255, 85, 62, 0.10);
  1155. position: relative; /* 提供定位上下文给badge */
  1156. padding-right: $ios-spacing-lg; /* 让出badge空间,避免内容压贴 */
  1157. }
  1158. /* 活动阶段标题与圆点颜色呼应 */
  1159. .delivery-col.active .delivery-stage-header h3,
  1160. .vertical-stage-block.active .vertical-stage-header h3 { color: #ff4d4f; }
  1161. .delivery-col.active .dot,
  1162. .vertical-stage-block.active .dot { background: #ff4d4f; }
  1163. /* 右上角状态badge:进行中 */
  1164. .delivery-col.active::after,
  1165. .vertical-stage-block.active::after {
  1166. content: '进行中';
  1167. position: absolute;
  1168. top: 8px;
  1169. right: 8px;
  1170. padding: 2px 8px;
  1171. background: #ff4d4f;
  1172. color: #fff;
  1173. border-radius: 999px;
  1174. font-size: 12px;
  1175. line-height: 1.4;
  1176. font-weight: 600;
  1177. box-shadow: 0 4px 10px rgba(255, 77, 79, 0.25);
  1178. }
  1179. /* 阶段卡片横向排列(按板块的阶段数量自适应列数) */
  1180. .stage-progress-container {
  1181. display: grid !important;
  1182. gap: 8px !important; // 从10px进一步减少到8px
  1183. align-items: stretch !important; // 保证同一行的卡片等高
  1184. margin-top: 0 !important; // 删除标题后,移除上边距以优化空间利用
  1185. /* 针对交付执行阶段的四个卡片进行特殊处理 */
  1186. &:has(.vertical-stage-block:nth-child(4):last-child) {
  1187. /* 当有且仅有4个卡片时,强制并排显示 */
  1188. grid-template-columns: repeat(4, 1fr) !important;
  1189. /* 笔记本端适配(1366px及以上) */
  1190. @media (min-width: 1366px) {
  1191. grid-template-columns: repeat(4, 1fr) !important;
  1192. gap: 12px !important; // 从16px减少到12px
  1193. }
  1194. /* 24寸PC端适配(1920px及以上) */
  1195. @media (min-width: 1920px) {
  1196. grid-template-columns: repeat(4, 1fr) !important;
  1197. gap: 16px !important; // 从20px减少到16px
  1198. }
  1199. /* 较小屏幕的降级处理(小于1366px) */
  1200. @media (max-width: 1365px) {
  1201. grid-template-columns: repeat(2, 1fr) !important;
  1202. gap: 10px !important; // 从12px减少到10px
  1203. }
  1204. }
  1205. /* 其他情况保持原有的自适应布局 */
  1206. &:not(:has(.vertical-stage-block:nth-child(4):last-child)) {
  1207. grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  1208. gap: 10px !important; // 添加间距控制
  1209. }
  1210. }
  1211. .vertical-stage-block {
  1212. display: flex !important;
  1213. flex-direction: column !important;
  1214. height: 100% !important;
  1215. padding: 8px !important; // 从10px进一步减少到8px
  1216. background: white !important;
  1217. border-radius: 8px !important;
  1218. border: 1px solid #e9ecef !important;
  1219. box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  1220. /* 确保卡片内容在并排显示时保持可读性 */
  1221. min-width: 0 !important; /* 防止内容溢出 */
  1222. /* 针对四个卡片并排时的特殊样式 */
  1223. .stage-progress-container:has(.vertical-stage-block:nth-child(4):last-child) & {
  1224. /* 笔记本端和PC端的内容优化 */
  1225. @media (min-width: 1366px) {
  1226. padding: 12px !important; // 从16px减少到12px
  1227. min-height: 280px !important; /* 从300px减少到280px */
  1228. }
  1229. /* 24寸PC端的内容优化 */
  1230. @media (min-width: 1920px) {
  1231. padding: 16px !important; // 从20px减少到16px
  1232. min-height: 300px !important; // 从320px减少到300px
  1233. }
  1234. /* 较小屏幕时保持紧凑布局 */
  1235. @media (max-width: 1365px) {
  1236. padding: 10px !important; // 从12px减少到10px
  1237. min-height: 260px !important; // 从280px减少到260px
  1238. }
  1239. }
  1240. }
  1241. .vertical-stage-header {
  1242. display: flex !important;
  1243. align-items: center !important;
  1244. gap: 8px !important;
  1245. margin-bottom: 8px !important;
  1246. padding-bottom: 6px !important;
  1247. border-bottom: 1px solid #f1f3f4 !important;
  1248. }
  1249. .vertical-stage-header h3 {
  1250. font-size: 13px !important;
  1251. font-weight: 600 !important;
  1252. color: #495057 !important;
  1253. margin: 0 !important;
  1254. }
  1255. .vertical-stage-header .dot {
  1256. width: 8px !important;
  1257. height: 8px !important;
  1258. border-radius: 50% !important;
  1259. background: #dee2e6 !important;
  1260. flex-shrink: 0 !important;
  1261. }
  1262. .vertical-stage-header .dot.completed {
  1263. background: #28a745 !important;
  1264. }
  1265. .vertical-stage-header .dot.active {
  1266. background: #ff4d4f !important;
  1267. }
  1268. .vertical-stage-body {
  1269. display: flex !important;
  1270. flex-direction: column !important;
  1271. gap: 8px !important;
  1272. flex: 1 1 auto !important;
  1273. }
  1274. /* 活动阶段卡片优化 */
  1275. .vertical-stage-block.active {
  1276. background: #fff2f0 !important;
  1277. border-color: #ffccc7 !important;
  1278. box-shadow: 0 2px 8px rgba(255, 77, 79, 0.2) !important;
  1279. }
  1280. .vertical-stage-block.active .vertical-stage-header h3 {
  1281. color: #ff4d4f !important;
  1282. }
  1283. .vertical-stage-block.active .dot {
  1284. background: #ff4d4f !important;
  1285. }
  1286. /* 订单创建阶段完成后的绿色高亮 */
  1287. .vertical-stage-block.completed {
  1288. background: #f6ffed !important;
  1289. border-color: #b7eb8f !important;
  1290. box-shadow: 0 2px 8px rgba(183, 235, 143, 0.3) !important;
  1291. }
  1292. .vertical-stage-block.completed .vertical-stage-header h3 {
  1293. color: #389e0d !important;
  1294. font-weight: 600 !important;
  1295. }
  1296. .vertical-stage-block.completed .dot {
  1297. background: #52c41a !important;
  1298. }
  1299. /* 需求沟通阶段激活时的高亮 */
  1300. .vertical-stage-block[id="stage-requirements-talk"].active {
  1301. background: linear-gradient(135deg, #fff2f0 0%, #ffe6e6 100%) !important;
  1302. border-color: #ff7875 !important;
  1303. box-shadow: 0 4px 16px rgba(255, 77, 79, 0.2) !important;
  1304. transform: translateY(-2px) !important;
  1305. transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  1306. }
  1307. .vertical-stage-block[id="stage-requirements-talk"].active .vertical-stage-header h3 {
  1308. color: #ff4d4f !important;
  1309. font-weight: 700 !important;
  1310. }
  1311. .vertical-stage-block[id="stage-requirements-talk"].active .dot {
  1312. background: #ff4d4f !important;
  1313. box-shadow: 0 0 0 4px rgba(255, 77, 79, 0.2) !important;
  1314. }
  1315. /* 新增:三板块垂直高度填充 —— 客户信息、需求沟通、方案确认 */
  1316. /* 让主布局的两列在同一行内等高伸展 */
  1317. .progress-tab-content > .main-content-layout {
  1318. align-items: stretch !important;
  1319. }
  1320. /* 客户信息卡片设定统一的最低高度以填补左侧空白 - 仅在展开状态下应用 */
  1321. .left-column .project-info-card.card:not(.collapsed-card) {
  1322. min-height: 420px !important;
  1323. }
  1324. /* 当右侧仅展示 需求沟通 + 方案确认 两个阶段时,强制两列并排,设定统一最低高度 */
  1325. .right-column .stage-progress-container:has(#stage-requirements-talk):has(#stage-proposal-confirm) {
  1326. grid-template-columns: repeat(2, 1fr) !important;
  1327. }
  1328. .right-column .stage-progress-container:has(#stage-requirements-talk):has(#stage-proposal-confirm) .vertical-stage-block {
  1329. min-height: 420px !important;
  1330. }
  1331. /* 根据屏幕尺寸微调高度,保证在大屏下更饱满,在小屏下不压迫 */
  1332. @media (min-width: 1920px) {
  1333. .left-column .project-info-card.card:not(.collapsed-card) { min-height: 480px !important; }
  1334. .right-column .stage-progress-container:has(#stage-requirements-talk):has(#stage-proposal-confirm) .vertical-stage-block { min-height: 480px !important; }
  1335. }
  1336. @media (max-width: 1365px) {
  1337. .left-column .project-info-card.card:not(.collapsed-card) { min-height: 360px !important; }
  1338. .right-column .stage-progress-container:has(#stage-requirements-talk):has(#stage-proposal-confirm) .vertical-stage-block { min-height: 360px !important; }
  1339. }
  1340. /* 方案确认卡片样式 - 独立样式,不继承通用卡片样式 */
  1341. .left-column .proposal-confirm-card {
  1342. background-color: white !important;
  1343. border-radius: 16px !important; /* 与客户信息卡片区分 */
  1344. padding: 28px !important; /* 更大的内边距 */
  1345. box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12) !important; /* 更深的阴影 */
  1346. border: 2px solid #f0f0f0 !important; /* 更粗的边框 */
  1347. margin-top: 24px !important;
  1348. margin-bottom: 24px !important;
  1349. max-height: 650px !important;
  1350. overflow-y: auto !important;
  1351. position: relative !important;
  1352. /* 添加独特的视觉标识 */
  1353. &::before {
  1354. content: "" !important;
  1355. position: absolute !important;
  1356. top: 0 !important;
  1357. left: 0 !important;
  1358. right: 0 !important;
  1359. height: 6px !important;
  1360. background: linear-gradient(90deg, #4CAF50, #2196F3) !important;
  1361. border-top-left-radius: 14px !important;
  1362. border-top-right-radius: 14px !important;
  1363. }
  1364. }
  1365. /* 方案确认卡片头部样式 - 独立设计 */
  1366. .left-column .proposal-confirm-card .card-header {
  1367. display: flex !important;
  1368. justify-content: space-between !important;
  1369. align-items: center !important;
  1370. margin-bottom: 24px !important;
  1371. padding-bottom: 20px !important;
  1372. border-bottom: 2px solid #f5f5f5 !important; /* 更粗的分割线 */
  1373. background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%) !important;
  1374. border-radius: 12px !important;
  1375. padding: 16px 20px !important;
  1376. margin: -8px -8px 24px -8px !important;
  1377. }
  1378. /* 方案确认卡片标题样式 - 独立设计 */
  1379. .left-column .proposal-confirm-card .card-header h2 {
  1380. margin: 0 !important;
  1381. font-size: 22px !important; /* 更大的字体 */
  1382. font-weight: 700 !important; /* 更粗的字体 */
  1383. color: #2c3e50 !important; /* 独特的颜色 */
  1384. text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important;
  1385. line-height: 1.4 !important;
  1386. }
  1387. .left-column .proposal-confirm-card .sync-status {
  1388. display: flex !important;
  1389. align-items: center !important;
  1390. font-size: 13px !important;
  1391. color: #8c8c8c !important;
  1392. font-weight: 500 !important;
  1393. }
  1394. .left-column .proposal-confirm-card .info-grid {
  1395. display: grid !important;
  1396. grid-template-columns: 1fr 1fr !important;
  1397. gap: 8px !important;
  1398. margin-bottom: 16px !important;
  1399. }
  1400. .left-column .proposal-confirm-card .info-item {
  1401. display: flex !important;
  1402. flex-direction: column !important;
  1403. padding: 8px !important;
  1404. background: #f8f9fa !important;
  1405. border-radius: 6px !important;
  1406. border: 1px solid #e9ecef !important;
  1407. font-size: 12px !important;
  1408. }
  1409. .left-column .proposal-confirm-card .info-item label {
  1410. font-weight: 500 !important;
  1411. color: #6c757d !important;
  1412. margin-bottom: 4px !important;
  1413. font-size: 11px !important;
  1414. }
  1415. .left-column .proposal-confirm-card .info-item span {
  1416. color: #212529 !important;
  1417. font-weight: 600 !important;
  1418. font-size: 12px !important;
  1419. }
  1420. .left-column .proposal-confirm-card .color-preview {
  1421. width: 16px !important;
  1422. height: 16px !important;
  1423. border-radius: 4px !important;
  1424. border: 1px solid #ddd !important;
  1425. margin-top: 4px !important;
  1426. }
  1427. .left-column .proposal-confirm-card .proposal-actions {
  1428. margin-top: 16px !important;
  1429. padding-top: 12px !important;
  1430. border-top: 1px solid #f0f0f0 !important;
  1431. text-align: center !important;
  1432. }
  1433. .left-column .proposal-confirm-card .confirm-btn {
  1434. background: #1890ff !important;
  1435. color: white !important;
  1436. border: none !important;
  1437. padding: 8px 24px !important;
  1438. border-radius: 6px !important;
  1439. font-size: 14px !important;
  1440. font-weight: 500 !important;
  1441. cursor: pointer !important;
  1442. transition: background-color 0.3s ease !important;
  1443. }
  1444. .left-column .proposal-confirm-card .confirm-btn:hover {
  1445. background: #40a9ff !important;
  1446. }
  1447. .left-column .proposal-confirm-card .waiting-state {
  1448. text-align: center !important;
  1449. padding: 24px 16px !important;
  1450. color: #8c8c8c !important;
  1451. }
  1452. .left-column .proposal-confirm-card .waiting-content h5 {
  1453. margin: 0 0 8px 0 !important;
  1454. font-size: 16px !important;
  1455. font-weight: 600 !important;
  1456. color: #595959 !important;
  1457. }
  1458. .left-column .proposal-confirm-card .waiting-content p {
  1459. margin: 0 0 12px 0 !important;
  1460. font-size: 14px !important;
  1461. line-height: 1.4 !important;
  1462. }
  1463. /* 方案展示区域样式 */
  1464. .left-column .proposal-confirm-card .proposal-display {
  1465. margin-top: 16px !important;
  1466. }
  1467. .left-column .proposal-confirm-card .proposal-overview {
  1468. margin-bottom: 24px !important;
  1469. padding: 16px !important;
  1470. background: #f8f9fa !important;
  1471. border-radius: 8px !important;
  1472. border: 1px solid #e9ecef !important;
  1473. }
  1474. .left-column .proposal-confirm-card .overview-header {
  1475. display: flex !important;
  1476. justify-content: space-between !important;
  1477. align-items: flex-start !important;
  1478. margin-bottom: 16px !important;
  1479. }
  1480. .left-column .proposal-confirm-card .overview-header h3 {
  1481. margin: 0 !important;
  1482. font-size: 18px !important;
  1483. font-weight: 600 !important;
  1484. color: #262626 !important;
  1485. line-height: 1.4 !important;
  1486. }
  1487. .left-column .proposal-confirm-card .proposal-meta {
  1488. display: flex !important;
  1489. flex-direction: column !important;
  1490. align-items: flex-end !important;
  1491. gap: 4px !important;
  1492. }
  1493. .left-column .proposal-confirm-card .proposal-meta .version,
  1494. .left-column .proposal-confirm-card .proposal-meta .feasibility-score {
  1495. font-size: 12px !important;
  1496. padding: 4px 8px !important;
  1497. border-radius: 4px !important;
  1498. font-weight: 500 !important;
  1499. }
  1500. .left-column .proposal-confirm-card .proposal-meta .version {
  1501. background: #e6f7ff !important;
  1502. color: #1890ff !important;
  1503. }
  1504. .left-column .proposal-confirm-card .proposal-meta .feasibility-score {
  1505. background: #f6ffed !important;
  1506. color: #52c41a !important;
  1507. }
  1508. .left-column .proposal-confirm-card .quick-summary {
  1509. display: grid !important;
  1510. grid-template-columns: 1fr !important;
  1511. gap: 8px !important;
  1512. }
  1513. .left-column .proposal-confirm-card .summary-item {
  1514. display: flex !important;
  1515. justify-content: space-between !important;
  1516. align-items: center !important;
  1517. padding: 8px 12px !important;
  1518. background: white !important;
  1519. border-radius: 6px !important;
  1520. border: 1px solid #e9ecef !important;
  1521. }
  1522. .left-column .proposal-confirm-card .summary-item .label {
  1523. font-size: 13px !important;
  1524. color: #6c757d !important;
  1525. font-weight: 500 !important;
  1526. }
  1527. .left-column .proposal-confirm-card .summary-item .value {
  1528. font-size: 13px !important;
  1529. color: #212529 !important;
  1530. font-weight: 600 !important;
  1531. }
  1532. /* 详细方案内容样式 */
  1533. .left-column .proposal-confirm-card .proposal-details {
  1534. margin-top: 20px !important;
  1535. }
  1536. .left-column .proposal-confirm-card .detail-section {
  1537. margin-bottom: 24px !important;
  1538. padding: 16px !important;
  1539. background: white !important;
  1540. border: 1px solid #e9ecef !important;
  1541. border-radius: 8px !important;
  1542. }
  1543. .left-column .proposal-confirm-card .section-header {
  1544. display: flex !important;
  1545. justify-content: space-between !important;
  1546. align-items: center !important;
  1547. margin-bottom: 16px !important;
  1548. padding-bottom: 12px !important;
  1549. border-bottom: 1px solid #f0f0f0 !important;
  1550. }
  1551. .left-column .proposal-confirm-card .section-header h4 {
  1552. margin: 0 !important;
  1553. font-size: 16px !important;
  1554. font-weight: 600 !important;
  1555. color: #262626 !important;
  1556. line-height: 1.4 !important;
  1557. }
  1558. .left-column .proposal-confirm-card .section-count,
  1559. .left-column .proposal-confirm-card .style-name,
  1560. .left-column .proposal-confirm-card .harmony-type,
  1561. .left-column .proposal-confirm-card .total-area {
  1562. font-size: 12px !important;
  1563. padding: 4px 8px !important;
  1564. background: #f0f0f0 !important;
  1565. color: #595959 !important;
  1566. border-radius: 4px !important;
  1567. font-weight: 500 !important;
  1568. }
  1569. /* 材质网格样式 */
  1570. .left-column .proposal-confirm-card .materials-grid {
  1571. display: grid !important;
  1572. grid-template-columns: 1fr !important;
  1573. gap: 12px !important;
  1574. }
  1575. .left-column .proposal-confirm-card .material-card {
  1576. padding: 12px !important;
  1577. background: #f8f9fa !important;
  1578. border: 1px solid #e9ecef !important;
  1579. border-radius: 6px !important;
  1580. }
  1581. .left-column .proposal-confirm-card .material-header {
  1582. display: flex !important;
  1583. justify-content: space-between !important;
  1584. align-items: center !important;
  1585. margin-bottom: 8px !important;
  1586. }
  1587. .left-column .proposal-confirm-card .material-header h5 {
  1588. margin: 0 !important;
  1589. font-size: 14px !important;
  1590. font-weight: 600 !important;
  1591. color: #262626 !important;
  1592. }
  1593. .left-column .proposal-confirm-card .usage-percentage {
  1594. font-size: 12px !important;
  1595. font-weight: 600 !important;
  1596. color: #1890ff !important;
  1597. }
  1598. .left-column .proposal-confirm-card .material-specs {
  1599. display: grid !important;
  1600. grid-template-columns: 1fr 1fr !important;
  1601. gap: 6px !important;
  1602. margin-bottom: 8px !important;
  1603. }
  1604. .left-column .proposal-confirm-card .spec-item {
  1605. display: flex !important;
  1606. justify-content: space-between !important;
  1607. font-size: 11px !important;
  1608. }
  1609. .left-column .proposal-confirm-card .spec-label {
  1610. color: #6c757d !important;
  1611. font-weight: 500 !important;
  1612. }
  1613. .left-column .proposal-confirm-card .spec-value {
  1614. color: #212529 !important;
  1615. font-weight: 600 !important;
  1616. }
  1617. .left-column .proposal-confirm-card .material-properties {
  1618. display: flex !important;
  1619. gap: 6px !important;
  1620. flex-wrap: wrap !important;
  1621. }
  1622. .left-column .proposal-confirm-card .property-tag {
  1623. font-size: 10px !important;
  1624. padding: 2px 6px !important;
  1625. background: #e6f7ff !important;
  1626. color: #1890ff !important;
  1627. border-radius: 3px !important;
  1628. font-weight: 500 !important;
  1629. }
  1630. /* 设计风格特征样式 */
  1631. .left-column .proposal-confirm-card .style-elements {
  1632. margin-bottom: 16px !important;
  1633. }
  1634. .left-column .proposal-confirm-card .style-element {
  1635. margin-bottom: 12px !important;
  1636. padding: 10px !important;
  1637. background: #f8f9fa !important;
  1638. border-radius: 6px !important;
  1639. border: 1px solid #e9ecef !important;
  1640. }
  1641. .left-column .proposal-confirm-card .element-header {
  1642. display: flex !important;
  1643. justify-content: space-between !important;
  1644. align-items: center !important;
  1645. margin-bottom: 6px !important;
  1646. }
  1647. .left-column .proposal-confirm-card .element-name {
  1648. font-size: 13px !important;
  1649. font-weight: 600 !important;
  1650. color: #262626 !important;
  1651. }
  1652. .left-column .proposal-confirm-card .influence-score {
  1653. font-size: 12px !important;
  1654. font-weight: 600 !important;
  1655. color: #1890ff !important;
  1656. }
  1657. .left-column .proposal-confirm-card .element-description {
  1658. font-size: 11px !important;
  1659. color: #6c757d !important;
  1660. margin-bottom: 6px !important;
  1661. line-height: 1.4 !important;
  1662. }
  1663. .left-column .proposal-confirm-card .influence-bar {
  1664. height: 4px !important;
  1665. background: #e9ecef !important;
  1666. border-radius: 2px !important;
  1667. overflow: hidden !important;
  1668. }
  1669. .left-column .proposal-confirm-card .influence-fill {
  1670. height: 100% !important;
  1671. background: #1890ff !important;
  1672. transition: width 0.3s ease !important;
  1673. }
  1674. .left-column .proposal-confirm-card .style-characteristics {
  1675. display: grid !important;
  1676. grid-template-columns: 1fr !important;
  1677. gap: 6px !important;
  1678. }
  1679. .left-column .proposal-confirm-card .characteristic-item {
  1680. display: flex !important;
  1681. justify-content: space-between !important;
  1682. align-items: center !important;
  1683. padding: 6px 10px !important;
  1684. background: white !important;
  1685. border-radius: 4px !important;
  1686. border: 1px solid #e9ecef !important;
  1687. font-size: 11px !important;
  1688. }
  1689. .left-column .proposal-confirm-card .char-feature {
  1690. color: #6c757d !important;
  1691. font-weight: 500 !important;
  1692. }
  1693. .left-column .proposal-confirm-card .char-value {
  1694. color: #212529 !important;
  1695. font-weight: 600 !important;
  1696. }
  1697. /* 色彩搭配方案样式 */
  1698. .left-column .proposal-confirm-card .color-palette {
  1699. display: grid !important;
  1700. grid-template-columns: 1fr !important;
  1701. gap: 10px !important;
  1702. margin-bottom: 16px !important;
  1703. }
  1704. .left-column .proposal-confirm-card .color-item {
  1705. display: flex !important;
  1706. align-items: center !important;
  1707. padding: 10px !important;
  1708. background: #f8f9fa !important;
  1709. border-radius: 6px !important;
  1710. border: 1px solid #e9ecef !important;
  1711. gap: 12px !important;
  1712. }
  1713. .left-column .proposal-confirm-card .color-swatch {
  1714. width: 32px !important;
  1715. height: 32px !important;
  1716. border-radius: 4px !important;
  1717. border: 1px solid #ddd !important;
  1718. flex-shrink: 0 !important;
  1719. }
  1720. .left-column .proposal-confirm-card .color-info {
  1721. flex: 1 !important;
  1722. display: flex !important;
  1723. flex-direction: column !important;
  1724. gap: 2px !important;
  1725. }
  1726. .left-column .proposal-confirm-card .color-name {
  1727. font-size: 13px !important;
  1728. font-weight: 600 !important;
  1729. color: #262626 !important;
  1730. }
  1731. .left-column .proposal-confirm-card .color-percentage {
  1732. font-size: 12px !important;
  1733. font-weight: 600 !important;
  1734. color: #1890ff !important;
  1735. }
  1736. .left-column .proposal-confirm-card .color-role {
  1737. font-size: 11px !important;
  1738. color: #6c757d !important;
  1739. }
  1740. .left-column .proposal-confirm-card .color-codes {
  1741. display: flex !important;
  1742. flex-direction: column !important;
  1743. gap: 2px !important;
  1744. font-size: 10px !important;
  1745. color: #8c8c8c !important;
  1746. font-family: monospace !important;
  1747. }
  1748. .left-column .proposal-confirm-card .color-psychology {
  1749. display: grid !important;
  1750. grid-template-columns: 1fr 1fr !important;
  1751. gap: 8px !important;
  1752. }
  1753. .left-column .proposal-confirm-card .psychology-item {
  1754. display: flex !important;
  1755. justify-content: space-between !important;
  1756. align-items: center !important;
  1757. padding: 8px 10px !important;
  1758. background: white !important;
  1759. border-radius: 4px !important;
  1760. border: 1px solid #e9ecef !important;
  1761. font-size: 11px !important;
  1762. }
  1763. .left-column .proposal-confirm-card .psychology-item .label {
  1764. color: #6c757d !important;
  1765. font-weight: 500 !important;
  1766. }
  1767. .left-column .proposal-confirm-card .psychology-item .value {
  1768. color: #212529 !important;
  1769. font-weight: 600 !important;
  1770. }
  1771. /* 空间尺寸数据样式 */
  1772. .left-column .proposal-confirm-card .space-dimensions {
  1773. display: grid !important;
  1774. grid-template-columns: 1fr 1fr !important;
  1775. gap: 8px !important;
  1776. margin-bottom: 16px !important;
  1777. }
  1778. .left-column .proposal-confirm-card .dimension-item {
  1779. display: flex !important;
  1780. justify-content: space-between !important;
  1781. align-items: center !important;
  1782. padding: 8px 10px !important;
  1783. background: #f8f9fa !important;
  1784. border-radius: 4px !important;
  1785. border: 1px solid #e9ecef !important;
  1786. font-size: 11px !important;
  1787. }
  1788. .left-column .proposal-confirm-card .dim-label {
  1789. color: #6c757d !important;
  1790. font-weight: 500 !important;
  1791. }
  1792. .left-column .proposal-confirm-card .dim-value {
  1793. color: #212529 !important;
  1794. font-weight: 600 !important;
  1795. }
  1796. .left-column .proposal-confirm-card .functional-zones {
  1797. display: grid !important;
  1798. grid-template-columns: 1fr !important;
  1799. gap: 10px !important;
  1800. }
  1801. .left-column .proposal-confirm-card .zone-card {
  1802. padding: 12px !important;
  1803. background: #f8f9fa !important;
  1804. border-radius: 6px !important;
  1805. border: 1px solid #e9ecef !important;
  1806. }
  1807. .left-column .proposal-confirm-card .zone-header {
  1808. display: flex !important;
  1809. justify-content: space-between !important;
  1810. align-items: center !important;
  1811. margin-bottom: 8px !important;
  1812. }
  1813. .left-column .proposal-confirm-card .zone-header h5 {
  1814. margin: 0 !important;
  1815. font-size: 14px !important;
  1816. font-weight: 600 !important;
  1817. color: #262626 !important;
  1818. }
  1819. .left-column .proposal-confirm-card .zone-stats {
  1820. display: flex !important;
  1821. gap: 8px !important;
  1822. font-size: 11px !important;
  1823. }
  1824. .left-column .proposal-confirm-card .zone-area {
  1825. color: #1890ff !important;
  1826. font-weight: 600 !important;
  1827. }
  1828. .left-column .proposal-confirm-card .zone-percentage {
  1829. color: #6c757d !important;
  1830. font-weight: 500 !important;
  1831. }