/* pages/alert/alert.wxss */
.alert-container {
  background-color: #f6f6f6;
  min-height: 100vh;
}

.search-bar {
  display: flex;
  align-items: center;
  padding: 16rpx;
  background-color: #ffffff;
  border-bottom: 1rpx solid #f0f0f0;
}

.search-input-wrapper {
  flex: 1;
  position: relative;
  margin-right: 16rpx;
}

.search-input {
  width: 100%;
  height: 72rpx;
  background-color: #f5f5f5;
  border-radius: 36rpx;
  padding: 0 60rpx 0 24rpx;
  font-size: 28rpx;
  color: #303133;
}

.search-icon {
  position: absolute;
  right: 24rpx;
  top: 50%;
  transform: translateY(-50%);
  font-size: 32rpx;
  color: #909399;
}

.clear-btn {
  font-size: 28rpx;
  color: #3cc51f;
  padding: 8rpx 16rpx;
}

.filter-bar {
  background-color: #ffffff;
  padding: 16rpx;
  border-bottom: 1rpx solid #f0f0f0;
}

.filter-group {
  margin-bottom: 16rpx;
}

.filter-group:last-child {
  margin-bottom: 0;
}

.filter-label {
  font-size: 24rpx;
  color: #606266;
  margin-bottom: 12rpx;
  font-weight: 500;
}

.filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12rpx;
}

.filter-option {
  padding: 8rpx 16rpx;
  background-color: #f5f5f5;
  border-radius: 16rpx;
  font-size: 22rpx;
  color: #606266;
  white-space: nowrap;
  transition: all 0.3s;
}

.filter-option.active {
  background-color: #3cc51f;
  color: #ffffff;
}

.batch-actions {
  padding: 16rpx;
  background-color: #ffffff;
  border-bottom: 1rpx solid #f0f0f0;
}

.batch-btn {
  background-color: #3cc51f;
  color: #ffffff;
  border-radius: 8rpx;
  padding: 12rpx 24rpx;
  font-size: 24rpx;
  border: none;
}

.batch-btn:active {
  background-color: #2ea617;
}

.alert-list {
  padding: 16rpx;
}

.alert-item {
  display: flex;
  align-items: flex-start;
  background-color: #ffffff;
  border-radius: 12rpx;
  padding: 24rpx;
  margin-bottom: 16rpx;
  box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
  transition: all 0.3s;
  border-left: 6rpx solid #f5222d;
}

.alert-item:active {
  transform: scale(0.98);
  box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.1);
}

.alert-icon {
  width: 80rpx;
  height: 80rpx;
  background-color: #fff2f0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 24rpx;
  flex-shrink: 0;
}

.alert-icon .icon {
  font-size: 40rpx;
}

.alert-info {
  flex: 1;
  margin-right: 16rpx;
}

.alert-title {
  font-size: 32rpx;
  font-weight: 500;
  color: #303133;
  margin-bottom: 8rpx;
  line-height: 1.4;
}

.alert-content {
  font-size: 26rpx;
  color: #606266;
  margin-bottom: 12rpx;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.alert-meta {
  display: flex;
  flex-direction: column;
  gap: 4rpx;
}

.meta-item {
  font-size: 22rpx;
  color: #909399;
}

.alert-status {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8rpx;
}

.priority-badge {
  padding: 4rpx 12rpx;
  border-radius: 8rpx;
  font-size: 18rpx;
  color: #ffffff;
  font-weight: 500;
}

.status-badge {
  padding: 4rpx 12rpx;
  border-radius: 8rpx;
  font-size: 18rpx;
  color: #ffffff;
  font-weight: 500;
}

.alert-actions {
  display: flex;
  gap: 8rpx;
  margin-top: 8rpx;
}

.action-btn {
  padding: 6rpx 12rpx;
  border-radius: 6rpx;
  font-size: 20rpx;
  text-align: center;
  min-width: 50rpx;
}

.action-btn.handle {
  background-color: #e6f7ff;
  color: #1890ff;
}

.action-btn.ignore {
  background-color: #f5f5f5;
  color: #909399;
}

.empty-state {
  text-align: center;
  padding: 120rpx 32rpx;
}

.empty-icon {
  font-size: 120rpx;
  display: block;
  margin-bottom: 24rpx;
  opacity: 0.5;
}

.empty-text {
  font-size: 32rpx;
  color: #909399;
  display: block;
}

.load-more {
  text-align: center;
  padding: 32rpx;
  font-size: 24rpx;
  color: #909399;
}

/* 详情弹窗样式 */
.detail-mask {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.45);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 999;
}

.detail-panel {
  width: 100%;
  max-height: 70vh;
  background: #fff;
  border-top-left-radius: 24rpx;
  border-top-right-radius: 24rpx;
  overflow: hidden;
}

.detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24rpx;
  border-bottom: 1rpx solid #f0f0f0;
}

.detail-title { font-size: 32rpx; font-weight: 600; color: #303133; }
.detail-close { font-size: 32rpx; color: #909399; }

.detail-body {
  padding: 16rpx 24rpx;
  max-height: 50vh;
  overflow-y: auto;
}

.detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16rpx 0;
  border-bottom: 1rpx dashed #f0f0f0;
}

.detail-label { font-size: 26rpx; color: #606266; }
.detail-value { font-size: 26rpx; color: #303133; }

.detail-footer {
  display: flex;
  gap: 16rpx;
  padding: 24rpx;
  border-top: 1rpx solid #f0f0f0;
}

.detail-footer .primary {
  flex: 1;
  background-color: #3cc51f;
  color: #fff;
}

.detail-footer .plain {
  flex: 1;
  background-color: #f5f5f5;
  color: #606266;
}

.no-more {
  text-align: center;
  padding: 32rpx;
  font-size: 24rpx;
  color: #c0c4cc;
}

.loading-container {
  text-align: center;
  padding: 120rpx 32rpx;
}

.loading-spinner {
  width: 48rpx;
  height: 48rpx;
  border: 4rpx solid #f0f0f0;
  border-top: 4rpx solid #3cc51f;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 16rpx;
}

.loading-text {
  font-size: 28rpx;
  color: #909399;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 响应式设计 */
@media (max-width: 375px) {
  .alert-item {
    padding: 20rpx;
  }
  
  .alert-icon {
    width: 70rpx;
    height: 70rpx;
    margin-right: 20rpx;
  }
  
  .alert-icon .icon {
    font-size: 36rpx;
  }
  
  .alert-title {
    font-size: 30rpx;
  }
  
  .alert-content {
    font-size: 24rpx;
  }
  
  .meta-item {
    font-size: 20rpx;
  }
}
