/* 页面基础样式 */
page {
  overflow-x: hidden;
  width: 100%;
}

.orders-page {
  background: linear-gradient(180deg, #5B9BD5 0%, #4A90C2 100%);
  min-height: 100vh;
  padding-top: env(safe-area-inset-top);
  padding-bottom: calc(50px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 状态选项卡 */
.status-tabs {
  background: rgba(255, 255, 255, 0.95);
  padding: 24rpx 20rpx;
  border-bottom: none;
  margin: 24rpx auto 0 auto;
  border-radius: 24rpx;
  box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.12);
  max-width: 700rpx;
  width: calc(100% - 32rpx);
  backdrop-filter: blur(12rpx);
}

.tabs-scroll {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  gap: 12rpx;
}

.tab-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16rpx 20rpx;
  border-radius: 50rpx;
  font-size: 26rpx;
  font-weight: 500;
  color: #666;
  background: rgba(74, 144, 194, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2rpx solid rgba(74, 144, 194, 0.15);
  flex: 1;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
  letter-spacing: 0.5rpx;
}

.tab-item.active {
  background: linear-gradient(135deg, #4A90C2 0%, #357ABD 100%);
  color: #fff;
  font-weight: 600;
  transform: translateY(-2rpx);
  box-shadow: 0 6rpx 20rpx rgba(74, 144, 194, 0.35);
  border-color: rgba(74, 144, 194, 0.3);
}

/* 订单列表 */
.orders-list {
  padding: 40rpx 16rpx 32rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.order-card {
  background: rgba(255, 255, 255, 0.96);
  border-radius: 28rpx;
  margin-bottom: 36rpx;
  box-shadow: 0 12rpx 40rpx rgba(74, 144, 194, 0.18);
  border: 1rpx solid rgba(255, 255, 255, 0.4);
  overflow: hidden;
  backdrop-filter: blur(16rpx);
  width: 100%;
  max-width: 700rpx;
  box-sizing: border-box;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.order-card:active {
  transform: translateY(2rpx);
  box-shadow: 0 8rpx 24rpx rgba(74, 144, 194, 0.12);
}

/* 包车订单样式 */
.charter-order {
  background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
  border: 2rpx solid #d4af37;
  box-shadow: 0 8rpx 32rpx rgba(212, 175, 55, 0.3);
}

/* 订单头部 */
.order-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 36rpx 36rpx 28rpx 36rpx;
  border-bottom: 1rpx solid rgba(240, 240, 240, 0.6);
}

.charter-order .order-header {
  border-bottom-color: #444;
}

.order-info {
  flex: 1;
}

.order-no {
  font-size: 24rpx;
  color: #999;
  margin-bottom: 8rpx;
}

.charter-order .order-no {
  color: #ccc;
}

.activity-name {
  font-size: 34rpx;
  font-weight: 600;
  color: #333;
  line-height: 1.4;
  letter-spacing: 0.5rpx;
}

.charter-order .activity-name {
  color: #d4af37;
}

.order-status {
  padding: 8rpx 20rpx;
  border-radius: 20rpx;
  font-size: 24rpx;
  font-weight: bold;
}

.order-status.pending {
  background: rgba(250, 140, 22, 0.15);
  color: #fa8c16;
  border: 1rpx solid rgba(250, 140, 22, 0.3);
}

.order-status.ongoing {
  background: rgba(74, 144, 194, 0.15);
  color: #4A90C2;
  border: 1rpx solid rgba(74, 144, 194, 0.3);
}

.order-status.completed {
  background: rgba(82, 196, 26, 0.15);
  color: #52c41a;
  border: 1rpx solid rgba(82, 196, 26, 0.3);
}

.order-status.cancelled {
  background: rgba(255, 77, 79, 0.15);
  color: #ff4d4f;
  border: 1rpx solid rgba(255, 77, 79, 0.3);
}

.charter-order .order-status.pending {
  background: #d4af37;
  color: #1a1a1a;
}

.charter-order .order-status.ongoing {
  background: #1890ff;
  color: #fff;
}

/* 行程信息 */
.trip-info {
  padding: 28rpx 36rpx 32rpx;
}

.trip-route {
  display: flex;
  align-items: center;
  margin-bottom: 28rpx;
  padding: 20rpx;
  background: rgba(74, 144, 194, 0.05);
  border-radius: 16rpx;
  border: 1rpx solid rgba(74, 144, 194, 0.1);
}

.route-item {
  flex: 1;
}

.route-label {
  font-size: 24rpx;
  color: #999;
  margin-bottom: 8rpx;
}

.charter-order .route-label {
  color: #ccc;
}

.route-location {
  font-size: 30rpx;
  color: #333;
  font-weight: 600;
  line-height: 1.3;
}

.charter-order .route-location {
  color: #fff;
}

.route-arrow {
  font-size: 36rpx;
  color: #4A90C2;
  margin: 0 28rpx;
  font-weight: 600;
  opacity: 0.8;
}

.charter-order .route-arrow {
  color: #d4af37;
}

.trip-details {
  background: rgba(74, 144, 194, 0.06);
  padding: 24rpx;
  border-radius: 18rpx;
  border: 1rpx solid rgba(74, 144, 194, 0.08);
}

.charter-order .trip-details {
  background: #333;
}

.detail-item {
  display: flex;
  margin-bottom: 16rpx;
  align-items: center;
}

.detail-item:last-child {
  margin-bottom: 0;
}

.detail-label {
  font-size: 26rpx;
  color: #666;
  width: 160rpx;
  flex-shrink: 0;
}

.charter-order .detail-label {
  color: #ccc;
}

.detail-value {
  font-size: 26rpx;
  color: #333;
  flex: 1;
}

.charter-order .detail-value {
  color: #fff;
}

/* 司机信息 */
.driver-info {
  padding: 24rpx 32rpx;
  background: rgba(74, 144, 194, 0.05);
  border-top: 1rpx solid rgba(74, 144, 194, 0.1);
  border-bottom: 1rpx solid rgba(74, 144, 194, 0.1);
}

.charter-order .driver-info {
  background: #333;
  border-top-color: #444;
  border-bottom-color: #444;
}

.driver-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20rpx;
}

.driver-title {
  font-size: 28rpx;
  font-weight: bold;
  color: #333;
}

.charter-order .driver-title {
  color: #d4af37;
}

.driver-tip {
  font-size: 22rpx;
  color: #999;
  max-width: 400rpx;
}

.charter-order .driver-tip {
  color: #ccc;
}

.driver-details {
  display: flex;
  align-items: center;
  gap: 20rpx;
}

.driver-avatar {
  width: 80rpx;
  height: 80rpx;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.avatar-img {
  width: 100%;
  height: 100%;
}

.driver-basic {
  flex: 1;
}

.driver-name {
  font-size: 28rpx;
  font-weight: bold;
  color: #333;
  margin-bottom: 8rpx;
}

.charter-order .driver-name {
  color: #fff;
}

.driver-car {
  font-size: 24rpx;
  color: #666;
}

.car-number {
  font-weight: bold;
}

.charter-order .driver-car {
  color: #ccc;
}

.driver-phone {
  font-size: 24rpx;
  color: #666;
  margin-bottom: 8rpx;
}

.driver-rating {
  font-size: 22rpx;
  color: #ff9500;
  font-weight: 600;
}

.vehicle-info {
  margin-top: 12rpx;
  padding: 12rpx;
  background: rgba(74, 144, 194, 0.05);
  border-radius: 8rpx;
  border-left: 4rpx solid #4A90C2;
}

.vehicle-model {
  font-size: 24rpx;
  font-weight: 600;
  color: #4A90C2;
  margin-bottom: 4rpx;
}

.vehicle-plate {
  font-size: 22rpx;
  color: #666;
  margin-bottom: 4rpx;
}

.vehicle-capacity {
  font-size: 20rpx;
  color: #999;
}

.driver-actions {
  display: flex;
  gap: 16rpx;
}

.action-btn {
  padding: 12rpx 20rpx;
  border-radius: 20rpx;
  font-size: 24rpx;
  border: none;
  font-weight: bold;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}

.call-btn {
  background: linear-gradient(135deg, #52c41a 0%, #389e0d 100%);
  color: #fff;
}

.location-btn {
  background: linear-gradient(135deg, #4A90C2 0%, #357ABD 100%);
  color: #fff;
}

/* 司机状态 */
.driver-status {
  display: flex;
  align-items: center;
}

.status-assigned {
  background: rgba(24, 144, 255, 0.1);
  color: #1890ff;
  padding: 6rpx 12rpx;
  border-radius: 12rpx;
  font-size: 22rpx;
  font-weight: 500;
}

.status-picked {
  background: rgba(255, 193, 7, 0.1);
  color: #ffc107;
  padding: 6rpx 12rpx;
  border-radius: 12rpx;
  font-size: 22rpx;
  font-weight: 500;
}

.status-transit {
  background: rgba(82, 196, 26, 0.1);
  color: #52c41a;
  padding: 6rpx 12rpx;
  border-radius: 12rpx;
  font-size: 22rpx;
  font-weight: 500;
}

.status-completed {
  background: rgba(146, 146, 146, 0.1);
  color: #929292;
  padding: 6rpx 12rpx;
  border-radius: 12rpx;
  font-size: 22rpx;
  font-weight: 500;
}

.driver-rating {
  font-size: 22rpx;
  color: #f39c12;
  margin-top: 4rpx;
}

.charter-order .driver-rating {
  color: #f1c40f;
}

/* 司机未分配状态 */
.driver-pending {
  padding: 40rpx 32rpx;
  background: rgba(74, 144, 194, 0.05);
  border-top: 1rpx solid rgba(74, 144, 194, 0.1);
  border-bottom: 1rpx solid rgba(74, 144, 194, 0.1);
  text-align: center;
}

.charter-order .driver-pending {
  background: #333;
  border-top-color: #444;
  border-bottom-color: #444;
}

.pending-icon {
  font-size: 60rpx;
  margin-bottom: 16rpx;
  animation: rotate 2s linear infinite;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.pending-text {
  font-size: 28rpx;
  color: #666;
  font-weight: 500;
  margin-bottom: 8rpx;
}

.charter-order .pending-text {
  color: #ccc;
}

.pending-desc {
  font-size: 24rpx;
  color: #999;
}

.charter-order .pending-desc {
  color: #999;
}

/* 价格信息 */
.price-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24rpx 32rpx;
}

.price-label {
  font-size: 28rpx;
  color: #666;
}

.charter-order .price-label {
  color: #ccc;
}

.price-value {
  font-size: 36rpx;
  font-weight: bold;
  color: #4A90C2;
}

.charter-order .price-value {
  color: #d4af37;
}

/* 订单操作 */
.order-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28rpx 36rpx;
  background: rgba(74, 144, 194, 0.04);
  border-top: 1rpx solid rgba(74, 144, 194, 0.08);
}

.charter-order .order-actions {
  background: #333;
}

.create-time {
  font-size: 26rpx;
  color: #999;
  flex: 1;
  min-width: 0;
  font-weight: 500;
  line-height: 1.4;
}

.charter-order .create-time {
  color: #ccc;
}

.action-buttons {
  display: flex;
  gap: 16rpx;
  align-items: center;
  flex-shrink: 0;
}

.cancel-btn,
.detail-btn {
  padding: 16rpx 28rpx;
  border-radius: 50rpx;
  font-size: 26rpx;
  border: none;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 140rpx;
  max-width: 180rpx;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: 0.5rpx;
}

.cancel-btn {
  background: rgba(255, 255, 255, 0.95);
  color: #ff4d4f;
  border: 2rpx solid #ff4d4f;
  box-shadow: 0 2rpx 8rpx rgba(255, 77, 79, 0.2);
}

.detail-btn {
  background: linear-gradient(135deg, #4A90C2 0%, #357ABD 100%);
  color: #fff;
  box-shadow: 0 6rpx 20rpx rgba(74, 144, 194, 0.35);
}

.detail-btn:active {
  transform: translateY(1rpx);
  box-shadow: 0 4rpx 12rpx rgba(74, 144, 194, 0.25);
}

.charter-order .detail-btn {
  background: #d4af37;
  color: #1a1a1a;
}

/* 空状态 */
.empty-orders {
  text-align: center;
  padding: 120rpx 32rpx;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 24rpx;
  margin: 32rpx auto;
  backdrop-filter: blur(10rpx);
  border: 1rpx solid rgba(255, 255, 255, 0.2);
  width: 100%;
  max-width: 680rpx;
  box-sizing: border-box;
}

.empty-icon {
  font-size: 120rpx;
  margin-bottom: 32rpx;
  color: rgba(255, 255, 255, 0.8);
}

.empty-text {
  font-size: 32rpx;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 16rpx;
  font-weight: bold;
}

.empty-desc {
  font-size: 26rpx;
  color: rgba(255, 255, 255, 0.7);
}

/* 中等屏幕适配 */
@media screen and (max-width: 414px) and (min-width: 376px) {
  .tabs-scroll {
    gap: 6rpx;
  }
  
  .tab-item {
    font-size: 22rpx;
    padding: 12rpx 8rpx;
  }
  
  .cancel-btn,
  .detail-btn {
    font-size: 24rpx;
    padding: 15rpx 24rpx;
    min-width: 130rpx;
    max-width: 170rpx;
    border-radius: 45rpx;
  }
  
  .action-buttons {
    gap: 14rpx;
  }
  
  .create-time {
    font-size: 25rpx;
  }
  
  .order-actions {
    padding: 26rpx 34rpx;
  }
}

/* 小屏幕适配 */
@media screen and (max-width: 375px) {
  .status-tabs {
    margin: 15rpx auto 0 auto;
    width: calc(100% - 30rpx);
    max-width: 100%;
    padding: 16rpx 12rpx;
  }
  
  .tabs-scroll {
    gap: 4rpx;
  }
  
  .orders-list {
    padding: 24rpx 15rpx;
  }
  
  .order-card {
    max-width: 100%;
    margin-bottom: 24rpx;
  }
  
  .tab-item {
    font-size: 20rpx;
    padding: 12rpx 6rpx;
    border-radius: 30rpx;
  }
  
  .cancel-btn,
  .detail-btn {
    font-size: 22rpx;
    padding: 14rpx 20rpx;
    min-width: 120rpx;
    max-width: 160rpx;
    border-radius: 40rpx;
  }
  
  .action-buttons {
    gap: 12rpx;
  }
  
  .create-time {
    font-size: 24rpx;
  }
  
  .order-actions {
    padding: 24rpx 32rpx;
  }
  
  .empty-orders {
    margin: 24rpx auto;
    width: calc(100% - 30rpx);
    padding: 100rpx 24rpx;
  }
}