debug-styles.scss 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134
  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. }
  1832. }