@import '../../styles/variables.scss'; @import '../../styles/mixins.scss'; .appointment-page { min-height: 100vh; background: $bg; padding-bottom: 160px; } /* 页头 */ .page-header { background: $card; padding: 48px 32px 36px; box-shadow: $shadow-sm; } .page-title { @include section-title; margin-bottom: 4px; font-size: 36px; } .page-subtitle { font-family: 'Georgia', 'Times New Roman', serif; font-size: 22px; color: $tx3; letter-spacing: 1px; } /* 预约列表 */ .appointment-list { padding: 0 24px; margin-top: 16px; } .appointment-card { background: $card; border-radius: $r; padding: 28px; margin-bottom: 20px; box-shadow: $shadow-sm; } .card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; } .doctor-section { display: flex; align-items: center; gap: 16px; flex: 1; min-width: 0; } .dept-initial { width: 72px; height: 72px; border-radius: $r; background: $pri-l; @include flex-center; flex-shrink: 0; } .dept-initial-text { font-family: 'Georgia', 'Times New Roman', serif; font-size: 32px; font-weight: bold; color: $pri; } .doctor-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; } .doctor-name { font-size: 30px; font-weight: bold; color: $tx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .dept-tag { @include tag($pri-l, $pri); } .dept-tag-text { font-size: 22px; font-weight: 500; color: $pri; } .status-tag { @include tag($bd-l, $tx3); flex-shrink: 0; &.tag-pending { background: $wrn-l; .status-tag-text { color: $wrn; } } &.tag-confirmed { background: $acc-l; .status-tag-text { color: $acc; } } &.tag-cancelled { background: $bd-l; .status-tag-text { color: $tx3; } } &.tag-completed { background: $pri-l; .status-tag-text { color: $pri; } } } .status-tag-text { font-size: 22px; font-weight: 500; } .card-divider { height: 1px; background: $bd-l; margin-bottom: 20px; } .card-bottom { display: flex; flex-direction: column; gap: 14px; } .info-row { display: flex; align-items: center; gap: 12px; } .info-icon-wrap { width: 40px; height: 40px; border-radius: $r-sm; background: $bd-l; @include flex-center; flex-shrink: 0; } .info-icon-serif { font-family: 'Georgia', 'Times New Roman', serif; font-size: 22px; color: $tx2; } .info-text { font-size: 26px; color: $tx2; } .info-time { @include serif-number; color: $tx; font-weight: 500; } /* 底部悬浮按钮 */ .fab-btn { position: fixed; bottom: 60px; left: 50%; transform: translateX(-50%); background: $pri; padding: 24px 72px; border-radius: $r-pill; box-shadow: 0 8px 24px rgba($pri, 0.3); z-index: 100; } .fab-text { font-size: 30px; color: white; font-weight: bold; letter-spacing: 2px; }