.puhui-shell {
  font-size: 14px;
  line-height: 1.45;
}

.puhui-shell .workspace {
  font-size: 14px;
}

.puhui-shell .el-card__body {
  padding: 12px;
}

.puhui-shell .el-card {
  margin-bottom: 10px !important;
  border-radius: 6px;
}

.puhui-shell .el-card__header {
  min-height: 0 !important;
  padding: 5px 10px !important;
  line-height: 1.25 !important;
}

.puhui-shell .el-card__header > div {
  min-height: 0 !important;
}

.puhui-shell .el-empty {
  --el-empty-padding: 12px 0;
  padding: 12px 0 !important;
}

.puhui-shell .el-empty__image {
  width: 78px !important;
}

.puhui-shell .el-empty__description {
  margin-top: 4px !important;
}

.puhui-shell .el-alert {
  padding: 4px 8px !important;
  border-radius: 6px !important;
}

.puhui-shell .el-alert__content,
.puhui-shell .el-alert__title {
  line-height: 1.25 !important;
}

.puhui-shell .el-table {
  font-size: 12px !important;
}

.puhui-shell .el-table .cell {
  line-height: 1.3 !important;
}

.puhui-shell .el-table th.el-table__cell,
.puhui-shell .el-table td.el-table__cell {
  padding: 3px 0 !important;
}

.puhui-shell .el-table .el-tag {
  height: 22px !important;
  padding: 0 8px !important;
  line-height: 20px !important;
}

.puhui-shell .el-card:has(.el-empty) .el-card__body {
  min-height: 0 !important;
  padding: 4px 10px !important;
}

.puhui-shell .el-card:has(.el-empty) .el-empty {
  --el-empty-padding: 2px 0;
  padding: 2px 0 !important;
}

.puhui-shell .el-card:has(.el-empty) .el-empty__image {
  width: 34px !important;
  height: 34px !important;
}

.puhui-shell .el-card:has(.el-empty) .el-empty__image svg,
.puhui-shell .el-card:has(.el-empty) .el-empty__image img {
  width: 34px !important;
  height: 34px !important;
}

.puhui-shell .el-card:has(.el-empty) .el-empty__description p {
  margin: 2px 0 !important;
  font-size: 12px;
}

.puhui-shell input,
.puhui-shell select,
.puhui-shell textarea,
.puhui-shell button {
  font-size: 13px;
}

.puhui-shell textarea {
  line-height: 1.45;
}

.execution-panel-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  align-items: start;
  gap: 8px !important;
}

.execution-panel-grid article {
  align-content: start;
  gap: 6px !important;
  min-height: 0 !important;
  padding: 9px !important;
}

.execution-panel-grid article header button:disabled,
.execution-panel-grid article > button:disabled,
.execution-order-picker button:disabled {
  opacity: 1 !important;
  color: #8a5a00 !important;
  background: #fff7e6 !important;
  border: 1px solid #f1d49b !important;
  cursor: not-allowed !important;
}

.execution-panel-grid article header button:disabled {
  position: relative;
  min-width: 96px;
}

.execution-panel-grid article header button:disabled::after {
  content: "先选上方订单";
}

.execution-panel-grid article header button:disabled {
  font-size: 0 !important;
}

.execution-panel-grid article header button:disabled::after {
  font-size: 12px !important;
}

.execution-panel-grid article.progress-only-card {
  min-height: 0 !important;
}

.execution-panel-grid header {
  gap: 6px !important;
}

.execution-panel-grid strong {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.execution-panel-grid p {
  margin-top: 2px !important;
  font-size: 13px;
  line-height: 1.28 !important;
}

.execution-panel-grid small {
  font-size: 12px;
  line-height: 1.35;
}

.execution-panel-grid article > button {
  align-self: end !important;
  justify-self: stretch;
  height: 32px !important;
  min-height: 32px !important;
  margin-top: 4px;
  padding: 0 12px !important;
  font-size: 13px;
  line-height: 32px;
}

.execution-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
  gap: 5px !important;
}

.execution-form-grid label {
  gap: 2px !important;
  font-size: 12px;
  line-height: 1.25 !important;
}

.execution-form-grid input,
.execution-form-grid select,
.execution-form-grid textarea {
  min-height: 29px !important;
  padding: 4px 7px !important;
  font-size: 13px;
}

.execution-form-grid textarea {
  min-height: 48px !important;
  line-height: 1.3 !important;
}

.inline-upload-field {
  gap: 6px !important;
}

.inline-upload-field button {
  min-height: 32px !important;
  padding: 0 10px !important;
  font-size: 13px;
}

.execution-order-picker {
  gap: 8px !important;
  margin-bottom: 10px !important;
}

.execution-order-picker label {
  font-size: 14px;
}

.execution-order-picker select,
.execution-order-picker button {
  min-height: 34px !important;
  font-size: 13px;
}

.execution-order-picker button,
.stock-create-actions button,
.stock-next-step button,
.stock-picker-action,
.runtime-order-create-grid button {
  padding: 0 12px !important;
}

.flow-card-head {
  gap: 8px !important;
}

.flow-board {
  gap: 8px !important;
}

.flow-grid {
  grid-template-columns: repeat(auto-fit, minmax(154px, 1fr)) !important;
  gap: 8px !important;
}

.order-flow-guide {
  margin-bottom: 10px !important;
  padding: 10px 12px !important;
}

.order-flow-guide strong {
  margin-bottom: 4px !important;
  font-size: 15px !important;
}

.order-flow-guide p {
  font-size: 13px;
  line-height: 1.45 !important;
}

.order-flow-guide small {
  margin-top: 6px !important;
  font-size: 12px;
}

.flow-card-head button,
.flow-actions button {
  min-height: 30px !important;
  padding: 0 10px !important;
  font-size: 13px;
}

.flow-step {
  min-height: 78px !important;
  gap: 8px !important;
  padding: 9px !important;
}

.flow-step span {
  width: 28px !important;
  height: 28px !important;
  font-size: 13px;
}

.flow-step p {
  margin: 3px 0 5px !important;
  font-size: 13px;
  line-height: 1.35 !important;
}

.flow-step small {
  font-size: 12px;
  line-height: 1.3;
}

.stock-create-meta-grid input,
.stock-create-meta-grid select,
.stock-order-picker select,
.runtime-order-create-grid input,
.runtime-order-create-grid select {
  min-height: 34px !important;
  font-size: 13px;
}

.stock-create-actions button,
.stock-next-step button,
.stock-picker-action,
.runtime-order-create-grid button {
  min-height: 34px !important;
  font-size: 13px;
}

.service-card,
.summary-card,
.permission-card,
.purchase-review-panel > article,
.attachment-section-grid article {
  padding: 8px !important;
}

.attachment-section-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 6px !important;
}

.attachment-section-grid article {
  gap: 5px !important;
  min-height: 78px !important;
}

.attachment-section-grid article header {
  gap: 6px !important;
}

.attachment-section-grid article header strong {
  font-size: 13px !important;
  line-height: 1.2 !important;
}

.attachment-section-grid article p,
.attachment-section-grid article small {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.attachment-section-grid .el-tag,
.attachment-section-grid article header span {
  height: 20px !important;
  min-width: 22px !important;
  padding: 0 6px !important;
  line-height: 18px !important;
}

.service-card p,
.summary-card p,
.permission-card p,
.purchase-review-panel header p,
.attachment-row p {
  font-size: 13px;
  line-height: 1.45 !important;
}

.execution-progress-summary,
.execution-business-summary,
.sales-performance-window,
.business-order-window,
.attachment-panel {
  margin-bottom: 10px !important;
}

.execution-progress-summary {
  gap: 6px !important;
  margin-bottom: 6px !important;
}

.execution-progress-summary article,
.execution-business-summary article,
.sales-performance-grid article,
.business-order-metrics article {
  min-height: 66px !important;
  padding: 10px 12px !important;
}

.execution-progress-summary article {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 14px !important;
  min-height: 0 !important;
  padding: 5px 10px !important;
}

.execution-progress-summary article span,
.execution-progress-summary article strong,
.execution-progress-summary article p {
  margin: 0 !important;
  line-height: 1.25 !important;
}

.execution-progress-summary article strong {
  display: inline !important;
  font-size: 15px !important;
}

.execution-progress-summary article p {
  font-size: 12px !important;
}

.business-order-window.empty,
.business-order-window.privacy {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 14px !important;
  min-height: 0 !important;
  padding: 5px 10px !important;
}

.business-order-window.empty strong,
.business-order-window.privacy strong {
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.business-order-window.empty p,
.business-order-window.privacy p {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.25 !important;
}

.business-order-window.empty > span,
.business-order-window.privacy > span {
  color: #667085;
  font-size: 12px;
  line-height: 1.25 !important;
}

.puhui-shell .el-card:has(.business-order-window.empty) .el-card__body,
.puhui-shell .el-card:has(.business-order-window.privacy) .el-card__body {
  padding: 4px 10px !important;
}

.business-order-timeline {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)) !important;
  gap: 8px !important;
}

.business-order-timeline article {
  min-height: 88px !important;
  padding: 10px !important;
}

.business-order-files {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 8px !important;
}

.attachment-panel,
.business-order-files {
  min-height: 0 !important;
}

.attachment-panel .el-card__body {
  min-height: 0 !important;
}

.attachment-panel:has(.el-empty) .el-card__body,
.business-order-files:has(.el-empty),
.business-order-files:has(.el-empty) section {
  min-height: 0 !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.attachment-panel:has(.el-empty) .el-empty__image,
.puhui-shell .el-card:has(.el-empty) .el-empty__image:has(+ .el-empty__description) {
  display: none !important;
}

.attachment-panel:has(.el-empty) .el-empty__description,
.puhui-shell .el-card:has(.el-empty) .el-empty__description {
  margin-top: 0 !important;
}

.business-order-files section {
  gap: 6px !important;
  padding: 10px !important;
}

.business-order-files button {
  padding: 8px !important;
}

.execution-file-list span {
  padding: 5px 8px !important;
  font-size: 12px;
}

.runtime-order-create,
.stock-start-panel,
.stock-ai-rule,
.service-action-panel,
.service-draft-panel,
.annual-leave-panel {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  padding: 12px !important;
}

.runtime-order-create-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 8px !important;
}

.runtime-order-create-remark {
  grid-column: span 2;
}

.stock-create-steps {
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)) !important;
  gap: 8px !important;
}

.stock-create-steps article {
  min-height: 82px !important;
  gap: 8px !important;
  padding: 10px !important;
}

.stock-create-steps article > span {
  flex-basis: 26px !important;
  width: 26px !important;
  height: 26px !important;
  font-size: 12px;
}

.stock-create-steps p {
  margin: 3px 0 5px !important;
  font-size: 13px;
  line-height: 1.35 !important;
}

.stock-create-steps small {
  font-size: 12px;
  line-height: 1.3;
}

.service-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 8px !important;
}

.service-card {
  min-height: 72px !important;
}

.service-card p {
  margin-top: 5px !important;
}

.service-modal {
  gap: 10px !important;
  padding: 14px !important;
}

.service-modal header strong {
  font-size: 19px !important;
}

.service-form-grid {
  gap: 9px !important;
}

.service-form-grid input,
.service-form-grid select,
.service-form-grid textarea {
  min-height: 34px !important;
  padding: 7px 9px !important;
}

.service-form-grid textarea {
  min-height: 76px !important;
}

@media (min-width: 1600px) {
  .execution-panel-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  }
}

@media (max-width: 1280px) {
  .execution-panel-grid {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  }
}
