.main-top-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr); gap: 20px; align-items: stretch; } .workbench-panel, .records-panel { background: #ffffff; border-radius: 20px; border: 1px solid #e5e7eb; padding: 28px; } .panel-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; } .column-header { padding-bottom: 18px; border-bottom: 1px solid #eef2f7; margin-bottom: 22px; } .panel-metric-card { min-width: 240px; min-height: 56px; padding: 12px 16px; border-radius: 16px; background: #f8fbff; border: 1px solid #e3ebf7; display: flex; align-items: center; gap: 12px; } .panel-metric-label { font-size: 13px; color: #64748b; } .panel-metric-value { font-size: 28px; line-height: 1; font-weight: 700; color: #2563eb; margin-left: auto; } .metric-eye-button { width: 32px; height: 32px; border: 0; border-radius: 999px; background: transparent; display: inline-flex; align-items: center; justify-content: center; color: #94a3b8; cursor: pointer; transition: all 0.2s ease; } .metric-eye-button svg { width: 18px; height: 18px; } .metric-eye-button.is-hidden { color: #c0cad8; } .metric-eye-button:hover { background: rgba(37, 99, 235, 0.08); color: #2563eb; } .panel-title { font-size: 18px; font-weight: 600; color: #2563eb; } .panel-subtitle { margin-top: 8px; font-size: 14px; color: #6b7280; } .workbench-form { display: flex; flex-direction: column; gap: 20px; } .field-row { display: grid; grid-template-columns: 1fr; gap: 16px; } .field-row-split { grid-template-columns: minmax(0, 1fr) 180px; } .field-group { display: flex; flex-direction: column; gap: 10px; } .field-group-quantity { min-width: 0; } .field-group label { font-size: 14px; font-weight: 600; color: #334155; } .field-error-tip { font-size: 12px; color: #ef4444; margin-top: 6px; } .field-primary :deep(.el-input__wrapper), .field-row :deep(.el-input__wrapper), .field-row :deep(.el-input-number .el-input__wrapper) { min-height: 58px; border-radius: 14px; box-shadow: 0 0 0 1px #dbe4f0 inset; } .field-primary :deep(.el-input__inner), .field-row :deep(.el-input__inner), .field-row :deep(.el-input-number .el-input__inner) { font-size: 18px; } .field-primary :deep(.el-input__wrapper.is-focus), .field-row :deep(.el-input__wrapper.is-focus), .field-row :deep(.el-input-number .el-input__wrapper.is-focus) { box-shadow: 0 0 0 1px var(--el-color-primary) inset; } .quantity-input { width: 100%; } .quantity-input :deep(.el-input__wrapper) { padding-right: 40px; overflow: hidden; } .quantity-input :deep(.el-input-number__increase), .quantity-input :deep(.el-input-number__decrease) { right: 1px; width: 36px; margin: 0; background: #f8fafc; color: #94a3b8; border-left: 1px solid #dbe4f0; box-shadow: none; } .quantity-input :deep(.el-input-number__increase) { top: 1px; height: calc(50% - 0.5px); border-top-right-radius: 13px; border-bottom: 1px solid #e5edf6; } .quantity-input :deep(.el-input-number__decrease) { bottom: 1px; height: calc(50% - 0.5px); border-bottom-right-radius: 13px; } .quantity-input :deep(.el-input-number__increase:hover), .quantity-input :deep(.el-input-number__decrease:hover) { color: var(--el-color-primary); background: #f1f5f9; } .field-label-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .lock-switch { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: #64748b; } .action-row { display: flex; gap: 12px; } .action-row :deep(.el-button) { min-width: 160px; border-radius: 12px; } .dashboard-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; } .dashboard-title { font-size: 18px; font-weight: 600; color: #111827; } .dashboard-caption { font-size: 13px; color: #94a3b8; } .station-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .station-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; background: #ffffff; border: 1px solid #e6edf6; } .station-icon { width: 34px; height: 34px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: #e8f1ff; color: #3b82f6; font-size: 13px; font-weight: 700; flex-shrink: 0; } .station-info { display: flex; flex-direction: column; min-width: 0; } .station-info strong { font-size: 16px; color: #1f2937; } .station-card b { margin-left: auto; font-size: 32px; line-height: 1; color: #2563eb; } .records-header { margin-bottom: 20px; } .records-panel :deep(.el-table) { --el-table-border-color: #eef2f7; --el-table-header-bg-color: #f8fafc; } .records-panel :deep(.el-table th.el-table__cell) { font-weight: 600; color: #475569; } .records-panel :deep(.el-table td.el-table__cell) { padding-top: 14px; padding-bottom: 14px; } @media (max-width: 1024px) { .panel-header, .field-label-row, .dashboard-header { flex-direction: column; align-items: flex-start; } .panel-metric-card { width: 100%; min-width: 0; } .main-top-grid, .station-grid { grid-template-columns: 1fr; } .field-row-split { grid-template-columns: 1fr; } } @media (max-width: 768px) { .workbench-panel, .records-panel { padding: 18px; border-radius: 16px; } .action-row { flex-wrap: wrap; } .action-row :deep(.el-button) { width: 100%; } }