style.css 18 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091
  1. page {
  2. background-color: #F8F8F8;
  3. }
  4. /* 自定义导航标题栏(因navigationStyle:custom) */
  5. .custom-nav-bar {
  6. padding: 80rpx 30rpx 20rpx;
  7. background-color: #fff;
  8. display: flex;
  9. align-items: center;
  10. justify-content: center;
  11. }
  12. .nav-title {
  13. font-size: 34rpx;
  14. font-weight: bold;
  15. color: #333;
  16. }
  17. /* 吸顶容器:状态tab + 搜索 + 筛选 */
  18. .sticky-header {
  19. position: sticky;
  20. top: 0;
  21. z-index: 999;
  22. background-color: #F8F8F8;
  23. }
  24. .container {
  25. background-color: #F8F8F8;
  26. display: flex;
  27. flex-direction: column;
  28. min-height: 100vh;
  29. }
  30. /* 状态 Tabs */
  31. .status-tabs {
  32. display: flex;
  33. background-color: #fff;
  34. padding: 0 30rpx;
  35. justify-content: space-between;
  36. }
  37. .tab-item {
  38. position: relative;
  39. padding: 20rpx 0;
  40. font-size: 26rpx;
  41. color: #666;
  42. font-weight: 500;
  43. }
  44. .tab-item.active {
  45. color: #FF5722;
  46. font-weight: bold;
  47. }
  48. .indicator {
  49. position: absolute;
  50. bottom: 0;
  51. left: 50%;
  52. transform: translateX(-50%);
  53. width: 40rpx;
  54. height: 6rpx;
  55. background-color: #FF5722;
  56. border-radius: 3rpx;
  57. }
  58. /* 搜索栏 */
  59. .search-bar {
  60. padding: 10rpx 30rpx;
  61. background-color: #fff;
  62. }
  63. .search-input-box {
  64. display: flex;
  65. align-items: center;
  66. background-color: #F8F8F8;
  67. height: 64rpx;
  68. border-radius: 32rpx;
  69. padding: 0 30rpx;
  70. }
  71. .search-input {
  72. flex: 1;
  73. font-size: 26rpx;
  74. color: #333;
  75. padding-left: 20rpx;
  76. /* Give some left padding since icon is gone */
  77. }
  78. .ph-style {
  79. font-size: 26rpx;
  80. color: #999;
  81. }
  82. /* 筛选栏 (改用 wrapper 进行相对定位) */
  83. .filter-wrapper {
  84. position: relative;
  85. z-index: 998;
  86. }
  87. .filter-bar {
  88. display: flex;
  89. background-color: #fff;
  90. padding: 5rpx 30rpx 10rpx 30rpx;
  91. justify-content: space-between;
  92. position: relative;
  93. z-index: 998;
  94. }
  95. .filter-item {
  96. width: 48%;
  97. display: flex;
  98. align-items: center;
  99. justify-content: center;
  100. font-size: 26rpx;
  101. color: #666;
  102. background-color: #F8F8F8;
  103. height: 56rpx;
  104. border-radius: 12rpx;
  105. transition: all 0.2s;
  106. }
  107. .filter-item.active {
  108. background-color: #FFF3E0;
  109. }
  110. .active-text {
  111. color: #FF5722;
  112. /* Matches red triangle */
  113. font-weight: 500;
  114. }
  115. .triangle {
  116. width: 0;
  117. height: 0;
  118. border-left: 8rpx solid transparent;
  119. border-right: 8rpx solid transparent;
  120. margin-left: 10rpx;
  121. transition: all 0.2s;
  122. }
  123. .triangle.down {
  124. border-top: 10rpx solid #dcdcdc;
  125. }
  126. .filter-item.active .triangle.down,
  127. .active-text+.triangle.down {
  128. border-top-color: #FF5722;
  129. }
  130. .triangle.up {
  131. border-bottom: 10rpx solid #FF5722;
  132. }
  133. /* 下拉面板 */
  134. .dropdown-mask {
  135. position: absolute;
  136. top: 100%;
  137. left: 0;
  138. right: 0;
  139. height: 100vh;
  140. background-color: rgba(0, 0, 0, 0.4);
  141. z-index: 80;
  142. }
  143. .dropdown-panel {
  144. position: absolute;
  145. top: 100%;
  146. left: 0;
  147. right: 0;
  148. background-color: #fff;
  149. z-index: 90;
  150. border-radius: 0 0 20rpx 20rpx;
  151. box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.05);
  152. overflow: hidden;
  153. }
  154. .type-option {
  155. padding: 30rpx 40rpx;
  156. font-size: 28rpx;
  157. color: #333;
  158. border-bottom: 1px solid #f5f5f5;
  159. }
  160. .type-option:last-child {
  161. border-bottom: none;
  162. }
  163. .type-option.selected text {
  164. color: #FF5722;
  165. font-weight: bold;
  166. }
  167. .calendar-panel {
  168. padding-bottom: 30rpx;
  169. }
  170. /* Custom Calendar Styles */
  171. .custom-calendar-container {
  172. padding: 20rpx 30rpx 0;
  173. }
  174. .cal-header {
  175. display: flex;
  176. justify-content: space-between;
  177. align-items: center;
  178. padding: 20rpx 0;
  179. }
  180. .cal-title {
  181. font-size: 32rpx;
  182. font-weight: bold;
  183. color: #333;
  184. }
  185. .cal-weekdays {
  186. display: flex;
  187. justify-content: space-around;
  188. padding: 20rpx 0;
  189. border-bottom: 1px solid #f5f5f5;
  190. }
  191. .wk-item {
  192. font-size: 24rpx;
  193. color: #999;
  194. width: 14.28%;
  195. text-align: center;
  196. }
  197. .cal-body {
  198. display: flex;
  199. flex-wrap: wrap;
  200. padding-top: 20rpx;
  201. }
  202. .cal-day-box {
  203. width: 14.28%;
  204. height: 80rpx;
  205. display: flex;
  206. align-items: center;
  207. justify-content: center;
  208. margin-bottom: 10rpx;
  209. position: relative;
  210. }
  211. .cal-day-text {
  212. width: 64rpx;
  213. height: 64rpx;
  214. line-height: 64rpx;
  215. text-align: center;
  216. font-size: 28rpx;
  217. color: #333;
  218. border-radius: 8rpx;
  219. position: relative;
  220. z-index: 2;
  221. }
  222. /* Range styles matching Figure 2 */
  223. .cal-day-box.is-start .cal-day-text,
  224. .cal-day-box.is-end .cal-day-text {
  225. background-color: #FF5722;
  226. color: #fff;
  227. font-weight: bold;
  228. }
  229. .cal-day-box.is-start::after {
  230. content: '';
  231. position: absolute;
  232. right: 0;
  233. top: 8rpx;
  234. bottom: 8rpx;
  235. width: 50%;
  236. background-color: #FFF3E0;
  237. z-index: 1;
  238. }
  239. .cal-day-box.is-end::after {
  240. content: '';
  241. position: absolute;
  242. left: 0;
  243. top: 8rpx;
  244. bottom: 8rpx;
  245. width: 50%;
  246. background-color: #FFF3E0;
  247. z-index: 1;
  248. }
  249. .cal-day-box.is-start.is-end::after {
  250. display: none;
  251. /* No range background if same day */
  252. }
  253. .cal-day-box.is-between {
  254. background-color: #FFF3E0;
  255. /* reduce height slightly to match design */
  256. margin-top: 8rpx;
  257. height: 64rpx;
  258. margin-bottom: 18rpx;
  259. }
  260. .cal-day-box.is-between .cal-day-text {
  261. color: #FF5722;
  262. }
  263. .calendar-actions {
  264. display: flex;
  265. justify-content: space-between;
  266. padding: 0 30rpx;
  267. margin-top: 20rpx;
  268. }
  269. .cal-btn {
  270. width: 48%;
  271. height: 70rpx;
  272. line-height: 70rpx;
  273. text-align: center;
  274. border-radius: 10rpx;
  275. font-size: 28rpx;
  276. margin: 0;
  277. }
  278. .cal-btn.reset {
  279. background-color: #f5f5f5;
  280. color: #666;
  281. }
  282. .cal-btn.confirm {
  283. background-color: #FF5722;
  284. color: #fff;
  285. }
  286. /* 订单列表 */
  287. .order-list {
  288. padding: 0 30rpx;
  289. width: 100%;
  290. box-sizing: border-box;
  291. }
  292. .order-card {
  293. background-color: #fff;
  294. border-radius: 24rpx;
  295. padding: 20rpx 20rpx;
  296. margin-bottom: 20rpx;
  297. box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.03);
  298. }
  299. .order-card:first-child {
  300. margin-top: 20rpx;
  301. }
  302. .card-header {
  303. display: flex;
  304. justify-content: space-between;
  305. align-items: center;
  306. margin-bottom: 15rpx;
  307. }
  308. .type-badge {
  309. display: flex;
  310. align-items: center;
  311. }
  312. .type-icon {
  313. width: 44rpx;
  314. height: 44rpx;
  315. margin-right: 15rpx;
  316. background-color: #FFF3E0;
  317. border-radius: 50%;
  318. padding: 6rpx;
  319. box-sizing: border-box;
  320. }
  321. .type-text {
  322. font-size: 30rpx;
  323. font-weight: bold;
  324. color: #333;
  325. }
  326. .status-badge {
  327. font-size: 28rpx;
  328. }
  329. .status-badge.highlight {
  330. color: #FF5722;
  331. }
  332. .status-badge.processing {
  333. color: #2196F3;
  334. }
  335. .status-badge.finish {
  336. color: #4CAF50;
  337. }
  338. .status-badge.reject {
  339. color: #9E9E9E;
  340. }
  341. .time-row {
  342. display: flex;
  343. justify-content: space-between;
  344. align-items: center;
  345. margin-bottom: 25rpx;
  346. }
  347. .time-row .time-col {
  348. display: flex;
  349. align-items: center;
  350. font-size: 26rpx;
  351. color: #333;
  352. }
  353. .time-row .label {
  354. color: #666;
  355. margin-right: 10rpx;
  356. }
  357. .price {
  358. font-size: 36rpx;
  359. font-weight: bold;
  360. color: #FF5722;
  361. }
  362. /* 宠物卡片 */
  363. .pet-card {
  364. background-color: #FFF8F0;
  365. border-radius: 16rpx;
  366. padding: 15rpx 20rpx;
  367. display: flex;
  368. align-items: center;
  369. margin-bottom: 20rpx;
  370. }
  371. .pet-avatar {
  372. width: 80rpx;
  373. height: 80rpx;
  374. border-radius: 50%;
  375. margin-right: 20rpx;
  376. }
  377. .pet-info {
  378. flex: 1;
  379. display: flex;
  380. flex-direction: column;
  381. }
  382. .pet-name {
  383. font-size: 28rpx;
  384. font-weight: bold;
  385. color: #333;
  386. margin-bottom: 5rpx;
  387. }
  388. .pet-breed {
  389. font-size: 24rpx;
  390. color: #999;
  391. }
  392. .pet-profile-btn {
  393. font-size: 24rpx;
  394. color: #FF9800;
  395. border: 1px solid #FF9800;
  396. padding: 6rpx 20rpx;
  397. border-radius: 50rpx;
  398. background-color: #fff;
  399. }
  400. /* 路线信息 (复用) */
  401. .route-info {
  402. margin-bottom: 25rpx;
  403. }
  404. .route-item {
  405. display: flex;
  406. align-items: flex-start;
  407. padding-bottom: 12rpx;
  408. /* Radically reduced for compactness */
  409. position: relative;
  410. width: 100%;
  411. }
  412. /* 路线项底部的间隔 */
  413. .route-item:not(:last-child) {
  414. margin-bottom: 5rpx;
  415. /* Radically reduced for compactness */
  416. }
  417. .route-item:last-child {
  418. padding-bottom: 0;
  419. margin-bottom: 0;
  420. }
  421. .route-line-vertical {
  422. position: absolute;
  423. left: 19rpx;
  424. top: 46rpx;
  425. bottom: -15rpx;
  426. /* Adjusted to connect the now-closer nodes */
  427. border-left: 2rpx dashed #E0E0E0;
  428. width: 0;
  429. z-index: 0;
  430. }
  431. .icon-circle {
  432. width: 40rpx;
  433. height: 40rpx;
  434. border-radius: 50%;
  435. color: #fff;
  436. font-size: 22rpx;
  437. display: flex;
  438. align-items: center;
  439. justify-content: center;
  440. margin-right: 20rpx;
  441. flex-shrink: 0;
  442. font-weight: bold;
  443. margin-top: 6rpx;
  444. position: relative;
  445. z-index: 1;
  446. }
  447. .icon-circle.service {
  448. background-color: #81C784;
  449. }
  450. .icon-circle.start {
  451. background-color: #FFB74D;
  452. }
  453. .icon-circle.end {
  454. background-color: #81C784;
  455. }
  456. .address-box {
  457. flex: 1;
  458. display: flex;
  459. flex-direction: column;
  460. margin-right: 20rpx;
  461. }
  462. .addr-title {
  463. font-size: 28rpx;
  464. font-weight: bold;
  465. color: #333;
  466. margin-bottom: 4rpx;
  467. }
  468. .addr-desc {
  469. font-size: 24rpx;
  470. color: #999;
  471. line-height: 1.4;
  472. }
  473. .distance-tag {
  474. display: flex;
  475. align-items: center;
  476. justify-content: flex-end;
  477. flex-shrink: 0;
  478. min-width: 80rpx;
  479. }
  480. .distance-text {
  481. font-size: 24rpx;
  482. color: #FF5722;
  483. margin-right: 15rpx;
  484. font-weight: 500;
  485. }
  486. .nav-icon-circle {
  487. width: 48rpx;
  488. height: 48rpx;
  489. background-color: #FFF3E0;
  490. border-radius: 50%;
  491. display: flex;
  492. align-items: center;
  493. justify-content: center;
  494. }
  495. .nav-arrow {
  496. width: 24rpx;
  497. height: 24rpx;
  498. }
  499. .service-content {
  500. margin-top: -10rpx;
  501. /* Shifted up using negative margin for max compactness */
  502. font-size: 24rpx;
  503. color: #666;
  504. padding-left: 60rpx;
  505. }
  506. .content-label {
  507. color: #999;
  508. margin-right: 10rpx;
  509. }
  510. /* 备注 */
  511. .remark-box {
  512. background-color: #F8F8F8;
  513. padding: 15rpx 20rpx;
  514. border-radius: 8rpx;
  515. font-size: 26rpx;
  516. color: #666;
  517. margin-bottom: 30rpx;
  518. }
  519. /* 底部按钮 */
  520. .action-btns {
  521. display: flex;
  522. justify-content: space-between;
  523. margin-top: 15rpx;
  524. }
  525. .action-left {
  526. display: flex;
  527. }
  528. .action-right {
  529. display: flex;
  530. }
  531. .btn {
  532. height: 60rpx;
  533. line-height: 60rpx;
  534. border-radius: 30rpx;
  535. font-size: 26rpx;
  536. padding: 0 30rpx;
  537. margin: 0;
  538. }
  539. .action-right .btn:not(:last-child) {
  540. margin-right: 20rpx;
  541. }
  542. .btn::after {
  543. border: none;
  544. }
  545. .btn.normal {
  546. background-color: #F8F8F8;
  547. color: #666;
  548. border: none;
  549. }
  550. .btn.primary {
  551. background: linear-gradient(90deg, #FF9800 0%, #FF5722 100%);
  552. color: #fff;
  553. box-shadow: 0 4rpx 12rpx rgba(255, 87, 34, 0.2);
  554. border: none;
  555. }
  556. .btn.normal.danger {
  557. background-color: #FFF2F0;
  558. color: #F5222D;
  559. }
  560. /* 宠物档案弹窗 */
  561. .pet-modal-mask {
  562. position: fixed;
  563. top: 0;
  564. left: 0;
  565. right: 0;
  566. bottom: 0;
  567. background-color: rgba(0, 0, 0, 0.4);
  568. z-index: 1000;
  569. display: flex;
  570. align-items: center;
  571. justify-content: center;
  572. }
  573. .pet-modal-content {
  574. width: 680rpx;
  575. height: 85vh;
  576. background-color: #fff;
  577. border-radius: 20rpx;
  578. display: flex;
  579. flex-direction: column;
  580. overflow: hidden;
  581. }
  582. .pet-modal-header {
  583. display: flex;
  584. align-items: center;
  585. justify-content: space-between;
  586. padding: 30rpx;
  587. border-bottom: 1rpx solid #F0F0F0;
  588. }
  589. .pet-modal-title {
  590. font-size: 34rpx;
  591. font-weight: bold;
  592. color: #333;
  593. }
  594. .pet-modal-scroll {
  595. flex: 1;
  596. height: 0;
  597. padding: 30rpx;
  598. box-sizing: border-box;
  599. }
  600. .pet-base-info {
  601. display: flex;
  602. align-items: center;
  603. margin-bottom: 40rpx;
  604. }
  605. .pm-avatar {
  606. width: 120rpx;
  607. height: 120rpx;
  608. border-radius: 50%;
  609. margin-right: 30rpx;
  610. border: 2rpx solid #f5f5f5;
  611. }
  612. .pm-info-text {
  613. flex: 1;
  614. display: flex;
  615. flex-direction: column;
  616. }
  617. .pm-name-row {
  618. display: flex;
  619. align-items: center;
  620. margin-bottom: 15rpx;
  621. }
  622. .pm-name {
  623. font-size: 36rpx;
  624. font-weight: bold;
  625. color: #333;
  626. margin-right: 20rpx;
  627. }
  628. .pm-gender {
  629. display: flex;
  630. align-items: center;
  631. background-color: #E3F2FD;
  632. padding: 4rpx 12rpx;
  633. border-radius: 20rpx;
  634. }
  635. .pm-gender text {
  636. font-size: 22rpx;
  637. color: #1E88E5;
  638. }
  639. .pm-gender .gender-icon {
  640. font-weight: bold;
  641. margin-right: 4rpx;
  642. }
  643. .pm-gender.female {
  644. background-color: #FCE4EC;
  645. }
  646. .pm-gender.female text {
  647. color: #D81B60;
  648. }
  649. .pm-breed {
  650. font-size: 26rpx;
  651. color: #999;
  652. }
  653. .pm-detail-grid {
  654. display: flex;
  655. flex-wrap: wrap;
  656. justify-content: space-between;
  657. }
  658. .pm-grid-item {
  659. background-color: #F8F8F8;
  660. border-radius: 16rpx;
  661. padding: 24rpx;
  662. margin-bottom: 20rpx;
  663. display: flex;
  664. flex-direction: column;
  665. }
  666. .pm-grid-item.half {
  667. width: 48%;
  668. box-sizing: border-box;
  669. }
  670. .pm-grid-item.full {
  671. width: 100%;
  672. box-sizing: border-box;
  673. }
  674. .pm-label {
  675. font-size: 24rpx;
  676. color: #999;
  677. margin-bottom: 10rpx;
  678. }
  679. .pm-val {
  680. font-size: 28rpx;
  681. color: #333;
  682. font-weight: 500;
  683. }
  684. .pm-tags {
  685. display: flex;
  686. flex-wrap: wrap;
  687. gap: 20rpx;
  688. margin-bottom: 40rpx;
  689. }
  690. .pm-tag {
  691. background-color: #FFF8EB;
  692. border: 2rpx solid #FFCC80;
  693. color: #FF9800;
  694. font-size: 22rpx;
  695. padding: 8rpx 24rpx;
  696. border-radius: 30rpx;
  697. }
  698. .pm-section-title {
  699. display: flex;
  700. align-items: center;
  701. margin-bottom: 30rpx;
  702. padding-top: 30rpx;
  703. border-top: 2rpx dashed #F0F0F0;
  704. }
  705. .pm-section-title .orange-bar {
  706. width: 8rpx;
  707. height: 32rpx;
  708. background-color: #FF9800;
  709. margin-right: 16rpx;
  710. border-radius: 4rpx;
  711. }
  712. .pm-section-title text {
  713. font-size: 30rpx;
  714. font-weight: bold;
  715. color: #333;
  716. }
  717. .pm-log-list {
  718. display: flex;
  719. flex-direction: column;
  720. }
  721. .pm-log-item {
  722. display: flex;
  723. flex-direction: column;
  724. padding: 24rpx 0;
  725. border-bottom: 1rpx solid #F0F0F0;
  726. }
  727. .pm-log-item:last-child {
  728. border-bottom: none;
  729. }
  730. .pm-log-date {
  731. font-size: 24rpx;
  732. color: #999;
  733. margin-bottom: 16rpx;
  734. }
  735. .pm-log-text {
  736. font-size: 28rpx;
  737. color: #333;
  738. line-height: 1.6;
  739. margin-bottom: 20rpx;
  740. }
  741. .pm-log-recorder {
  742. font-size: 24rpx;
  743. color: #FF9800;
  744. align-self: flex-end;
  745. }
  746. .pm-bottom-close {
  747. width: 100%;
  748. height: 80rpx;
  749. line-height: 80rpx;
  750. background-color: #F5F5F5;
  751. color: #666;
  752. border-radius: 40rpx;
  753. font-size: 30rpx;
  754. font-weight: bold;
  755. margin: 0;
  756. }
  757. .pm-bottom-close::after {
  758. border: none;
  759. }
  760. .close-icon-btn {
  761. font-size: 48rpx;
  762. color: #999;
  763. line-height: 1;
  764. padding: 0 10rpx;
  765. }
  766. /* 地图导航 Action Sheet */
  767. .nav-modal-mask {
  768. position: fixed;
  769. top: 0;
  770. left: 0;
  771. right: 0;
  772. bottom: 0;
  773. background-color: rgba(0, 0, 0, 0.5);
  774. z-index: 1000;
  775. display: flex;
  776. flex-direction: column;
  777. justify-content: flex-end;
  778. }
  779. .nav-action-sheet {
  780. background-color: #fff;
  781. width: 100%;
  782. border-top-left-radius: 24rpx;
  783. border-top-right-radius: 24rpx;
  784. overflow: hidden;
  785. padding-bottom: constant(safe-area-inset-bottom);
  786. padding-bottom: env(safe-area-inset-bottom);
  787. }
  788. .nav-sheet-title {
  789. text-align: center;
  790. padding: 30rpx 0;
  791. font-size: 13px;
  792. color: #999;
  793. border-bottom: 1rpx solid #efefef;
  794. }
  795. .nav-sheet-item {
  796. text-align: center;
  797. padding: 30rpx 0;
  798. font-size: 13px;
  799. color: #333;
  800. background-color: #fff;
  801. border-bottom: 1rpx solid #efefef;
  802. }
  803. .nav-sheet-item.cancel {
  804. border-bottom: none;
  805. color: #666;
  806. }
  807. .nav-sheet-gap {
  808. height: 16rpx;
  809. background-color: #F8F8F8;
  810. }
  811. /* 订单列表:填满剩余高度,实现只有列表内容滚动 */
  812. .order-list {
  813. flex: 1;
  814. overflow-y: auto;
  815. width: 100%;
  816. padding: 0 30rpx;
  817. box-sizing: border-box;
  818. }
  819. .loading-text {
  820. text-align: center;
  821. font-size: 24rpx;
  822. color: #999;
  823. padding: 30rpx 0;
  824. }
  825. /* 宠物档案弹窗头部操作区(备注按钮 + 关闭) */
  826. .pm-header-actions {
  827. display: flex;
  828. align-items: center;
  829. gap: 16rpx;
  830. }
  831. .pm-remark-btn {
  832. font-size: 24rpx;
  833. color: #fff;
  834. background-color: #FF9800;
  835. padding: 6rpx 18rpx;
  836. border-radius: 20rpx;
  837. }
  838. /* 备注输入遮罩与弹窗(图2居中样式) */
  839. .remark-mask {
  840. position: fixed;
  841. top: 0;
  842. left: 0;
  843. right: 0;
  844. bottom: 0;
  845. background-color: rgba(0, 0, 0, 0.5);
  846. z-index: 3000;
  847. display: flex;
  848. align-items: center;
  849. justify-content: center;
  850. }
  851. .remark-sheet {
  852. width: 600rpx;
  853. background-color: #fff;
  854. border-radius: 24rpx;
  855. padding: 40rpx;
  856. box-sizing: border-box;
  857. display: flex;
  858. flex-direction: column;
  859. align-items: center;
  860. }
  861. .remark-sheet-header {
  862. width: 100%;
  863. text-align: center;
  864. margin-bottom: 30rpx;
  865. position: relative;
  866. }
  867. .remark-sheet-header .close-icon-btn {
  868. position: absolute;
  869. right: 0;
  870. top: 50%;
  871. transform: translateY(-50%);
  872. }
  873. .remark-sheet-title {
  874. font-size: 32rpx;
  875. font-weight: bold;
  876. color: #333;
  877. }
  878. .remark-textarea {
  879. width: 100%;
  880. height: 160rpx;
  881. border: 1rpx solid #eee;
  882. border-radius: 12rpx;
  883. padding: 20rpx;
  884. font-size: 28rpx;
  885. color: #333;
  886. box-sizing: border-box;
  887. margin-bottom: 40rpx;
  888. }
  889. .remark-submit-btn {
  890. width: 100%;
  891. background-color: #FF5722;
  892. color: #fff;
  893. font-size: 32rpx;
  894. font-weight: bold;
  895. text-align: center;
  896. padding: 24rpx 0;
  897. border-radius: 16rpx;
  898. }
  899. /* 一键拨号下拉面板 */
  900. .action-left {
  901. position: relative;
  902. z-index: 10;
  903. }
  904. .action-left .btn.normal {
  905. font-size: 26rpx;
  906. }
  907. .call-popover {
  908. position: absolute;
  909. top: calc(100% + 10rpx);
  910. left: 0;
  911. background-color: #fff;
  912. border-radius: 12rpx;
  913. box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
  914. z-index: 999;
  915. display: flex;
  916. flex-direction: column;
  917. width: 200rpx;
  918. }
  919. .call-pop-item {
  920. font-size: 26rpx;
  921. color: #333;
  922. text-align: center;
  923. padding: 24rpx 0;
  924. border-bottom: 1rpx solid #eee;
  925. }
  926. .call-pop-item:last-child {
  927. border-bottom: none;
  928. }
  929. .call-mask {
  930. position: fixed;
  931. top: 0;
  932. left: 0;
  933. right: 0;
  934. bottom: 0;
  935. z-index: 900;
  936. background: transparent;
  937. }