/* Private portal only. Public catalogue, price snippets and WooCommerce styles stay unchanged. */
.cp-portal .cp-tabs { gap: .35rem; margin: 1.5rem 0; }
.cp-portal .cp-workflow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 370px), 1fr)); gap: 1rem; }
.cp-portal .cp-workflow-card { margin: 0; min-width: 0; }
.cp-portal .cp-workflow-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.cp-portal .cp-workflow-heading h2 { margin: 0; }
.cp-portal .cp-workflow-heading .cp-eyebrow { margin: 0 0 .35rem; font-size: .78rem; font-weight: 600; }
.cp-portal .cp-workflow-state { display: inline-block; flex-shrink: 0; padding: .3rem .65rem; border-radius: 100px; background: #edf0f4; color: #4d596b; font-size: .78rem; font-weight: 600; }
.cp-portal .cp-workflow-state.is-published { background: #e6f3ec; color: #256743; }
.cp-portal .cp-workflow-state.is-error { background: #fcebea; color: #983b34; }
.cp-portal .cp-workflow-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin: 1.2rem 0; }
.cp-portal .cp-workflow-actions .cp-button { margin: 0; }
.cp-portal .cp-workflow-card .cp-form { margin: 1.2rem 0; }
.cp-portal .cp-workflow-published { border-top: 1px solid #e1e6ed; padding-top: .9rem; margin-top: 1.3rem; font-size: .88rem; }
.cp-portal .cp-workflow-published p { margin: .35rem 0; }
.cp-portal .cp-workflow-details { margin: 1rem 0; font-size: .9rem; }
.cp-portal .cp-workflow-details summary, .cp-portal .cp-portal-secondary summary { cursor: pointer; font-weight: 600; }
.cp-portal .cp-workflow-details[open] { border-left: 3px solid #d6e4f0; padding-left: 1rem; }
.cp-portal .cp-portal-secondary { border-top: 1px solid #dce2ea; margin-top: 1.75rem; padding-top: 1rem; color: #657083; font-size: .88rem; }
.cp-portal .cp-portal-secondary p { margin-bottom: 0; }
.cp-portal .cp-upload-choices { display: grid; gap: .75rem; }
.cp-portal .cp-upload-choice { display: flex; flex-direction: column; gap: .2rem; border: 1px solid #dce2ea; border-radius: 8px; padding: 1rem; text-decoration: none; }
.cp-portal .cp-upload-choice:hover { background: #f2f7fc; border-color: #8fb9da; }
.cp-portal .cp-upload-choice span { color: #657083; font-size: .88rem; }
.cp-portal .cp-upload-target { background: #f5f7fa; border-radius: 8px; padding: 1rem; }
@media (max-width: 600px) {
  .cp-portal .cp-workflow-heading { flex-direction: column; gap: .65rem; }
  .cp-portal .cp-workflow-grid { grid-template-columns: 1fr; }
  .cp-portal .cp-workflow-actions { align-items: stretch; flex-direction: column; }
}
