/* MISSION 72 (import) -- bulk import: upload / job progress, the admin wizard (V12 Design System tokens only; RTL-first,
   logical properties; light + dark come from the semantic tokens). */
.pb-imp-progress, .pb-imp-job { display: flex; flex-direction: column; gap: var(--pb-space-2); margin-block-start: var(--pb-space-3); }
.pb-imp-progress progress, .pb-imp-job progress, .pb-wiz progress { inline-size: 100%; block-size: 10px; accent-color: var(--pb-color-action); border-radius: var(--pb-radius-pill); }
.pb-imp-progress-label { margin: 0; font-size: var(--pb-text-body-s); color: var(--pb-color-text-muted); }
.pb-imp-progress[data-state="failed"] .pb-imp-progress-label { color: var(--pb-v3-danger); }
.pb-imp-job-title { margin: 0; font-size: var(--pb-text-h4); }
.pb-imp-job-counts { list-style: none; display: flex; flex-wrap: wrap; gap: var(--pb-space-2) var(--pb-space-4); margin: 0; padding: 0; font-size: var(--pb-text-body-s); color: var(--pb-color-text-muted); }
.pb-imp-job-counts strong { color: var(--pb-color-text); }

/* ---- wizard shell */
.pb-wiz { max-inline-size: var(--pb-container-max); margin-inline: auto; display: flex; flex-direction: column; gap: var(--pb-space-4); }
.pb-wiz-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--pb-space-3); }
.pb-wiz-head h1 { margin: 0; font-size: var(--pb-text-h1); line-height: var(--pb-lh-h1); }
.pb-wiz-sub { margin: 0; color: var(--pb-color-text-muted); }
.pb-wiz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--pb-space-2); counter-reset: wiz; }
.pb-wiz-steps li { counter-increment: wiz; display: flex; align-items: center; gap: var(--pb-space-2); padding: var(--pb-space-2) var(--pb-space-3); border-radius: var(--pb-radius-control); background: var(--pb-color-surface-subtle); color: var(--pb-color-text-muted); font-size: var(--pb-text-body-s); font-weight: var(--pb-weight-medium); min-inline-size: 0; }
.pb-wiz-steps li::before { content: counter(wiz); flex: 0 0 auto; inline-size: 24px; block-size: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--pb-color-surface); border: 1px solid var(--pb-color-border); font-size: var(--pb-text-caption); }
.pb-wiz-steps li span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-wiz-steps li[aria-current="step"] { background: var(--pb-color-action-soft); color: var(--pb-color-action-soft-text); }
.pb-wiz-steps li[aria-current="step"]::before { background: var(--pb-color-action); color: var(--pb-color-text-on-action); border-color: var(--pb-color-action); }
.pb-wiz-steps li[data-done="1"]::before { content: "\2713"; background: var(--pb-v3-success-bg); color: var(--pb-v3-success); border-color: transparent; }
.pb-wiz-panel { background: var(--pb-color-surface); border: 1px solid var(--pb-color-border); border-radius: var(--pb-radius-card); padding: var(--pb-space-6); display: flex; flex-direction: column; gap: var(--pb-space-4); }
.pb-wiz-panel h2 { margin: 0; font-size: var(--pb-text-h3); }
.pb-wiz-actions { display: flex; flex-wrap: wrap; gap: var(--pb-space-3); align-items: center; justify-content: space-between; }
.pb-wiz-actions .pb-wiz-actions-end { display: flex; gap: var(--pb-space-3); flex-wrap: wrap; align-items: center; }
.pb-wiz-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--pb-space-3); }
.pb-wiz-kpi { border: 1px solid var(--pb-color-border); border-radius: var(--pb-radius-control); padding: var(--pb-space-3) var(--pb-space-4); background: var(--pb-color-surface-subtle); }
.pb-wiz-kpi b { display: block; font-size: var(--pb-text-h2); line-height: var(--pb-lh-h2); color: var(--pb-color-text); }
.pb-wiz-kpi span { font-size: var(--pb-text-body-s); color: var(--pb-color-text-muted); }
.pb-wiz-list { margin: 0; padding-inline-start: var(--pb-space-5); font-size: var(--pb-text-body-s); display: flex; flex-direction: column; gap: 4px; max-block-size: 260px; overflow: auto; }
.pb-wiz-table-wrap { overflow-x: auto; border: 1px solid var(--pb-color-border); border-radius: var(--pb-radius-control); }
.pb-wiz-table { inline-size: 100%; min-inline-size: 960px; border-collapse: collapse; font-size: var(--pb-text-body-s); }
.pb-wiz-table td:nth-child(3) { min-inline-size: 200px; }
.pb-wiz-table bdi[dir="ltr"] { word-break: normal; overflow-wrap: anywhere; }
.pb-wiz-table th, .pb-wiz-table td { padding: var(--pb-space-2) var(--pb-space-3); border-block-end: 1px solid var(--pb-color-border); text-align: start; vertical-align: middle; }
.pb-wiz-table thead th { background: var(--pb-color-surface-subtle); color: var(--pb-color-text-muted); font-weight: var(--pb-weight-semibold); position: sticky; inset-block-start: 0; }
.pb-wiz-table tbody tr:hover { background: var(--pb-color-surface-hover); }
.pb-wiz-thumb { inline-size: 56px; block-size: 56px; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--pb-radius-xs); background: var(--pb-color-surface-subtle); border: 1px solid var(--pb-color-border); display: block; }
.pb-wiz-thumb--none { display: flex; align-items: center; justify-content: center; font-size: var(--pb-text-caption); color: var(--pb-color-text-muted); text-align: center; line-height: 1.2; }
.pb-wiz-why { color: var(--pb-color-text-muted); font-size: var(--pb-text-caption); margin: 2px 0 0; }
.pb-wiz-map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--pb-space-2) var(--pb-space-4); align-items: center; }
.pb-wiz-map .pb-select { inline-size: 100%; }
.pb-wiz-sample { color: var(--pb-color-text-muted); font-size: var(--pb-text-caption); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-wiz-legend { display: flex; flex-wrap: wrap; gap: var(--pb-space-2); }
.pb-wiz-filter { display: flex; flex-wrap: wrap; gap: var(--pb-space-2); align-items: center; }
.pb-wiz-sticky { position: sticky; inset-block-end: 0; background: var(--pb-color-surface); border-block-start: 1px solid var(--pb-color-border); padding-block: var(--pb-space-3); z-index: 2; }
.pb-wiz-upload .pb-uploader { position: relative; min-block-size: 220px; justify-content: center; }
.pb-wiz-upload .pb-uploader-list { max-block-size: 220px; overflow: auto; }
@media (max-width: 900px) {
  .pb-wiz-steps { grid-template-columns: repeat(7, minmax(36px, 1fr)); }
  .pb-wiz-steps li { justify-content: center; padding: var(--pb-space-2) 0; }
  .pb-wiz-steps li span { display: none; }
  .pb-wiz-steps li[aria-current="step"] span { display: none; }
  .pb-wiz-panel { padding: var(--pb-space-4); }
  .pb-wiz-map { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .pb-wiz-map .pb-wiz-sample { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .pb-wiz-table--cards { min-inline-size: 0; }
  .pb-wiz-table--cards td:nth-child(3) { min-inline-size: 0; }
  .pb-wiz-table--cards thead { display: none; }
  .pb-wiz-table--cards tr { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 4px var(--pb-space-3); padding: var(--pb-space-3); border-block-end: 1px solid var(--pb-color-border); }
  .pb-wiz-table--cards td { border: 0; padding: 0; }
  .pb-wiz-table--cards td[data-cell="thumb"] { grid-row: span 4; }
  .pb-wiz-table--cards td[data-cell="sel"] { grid-column: 1; }
  .pb-wiz-table--cards td:not([data-cell]) { grid-column: 2; min-inline-size: 0; }
}
.pb-wiz-table--compact { min-inline-size: 0; }

/* ===================== MISSION 73 (import scale) -- server package staging, preview card grid, pager, review flags (V12 tokens) */
.pb-imp73-stage { gap: var(--pb-space-4); }
.pb-imp73-stage-head { display: flex; align-items: center; gap: var(--pb-space-3); }
.pb-imp73-pulse { inline-size: 14px; block-size: 14px; border-radius: 50%; background: var(--pb-color-action); box-shadow: 0 0 0 0 color-mix(in srgb, var(--pb-color-action) 55%, transparent); animation: pbImp73Pulse 1.6s ease-out infinite; flex: none; }
.pb-imp73-stage[data-state="Failed"] .pb-imp73-pulse { background: var(--pb-color-danger, #c0392b); animation: none; }
@keyframes pbImp73Pulse { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--pb-color-action) 55%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
@media (prefers-reduced-motion: reduce) { .pb-imp73-pulse { animation: none; } }
.pb-imp73-phases { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--pb-space-2); }
.pb-imp73-phases li { padding: 6px 12px; border-radius: var(--pb-radius-pill); border: 1px solid var(--pb-color-border); color: var(--pb-color-text-muted); font-size: .875rem; }
.pb-imp73-phases li[data-on="1"] { border-color: var(--pb-color-action); color: var(--pb-color-text); font-weight: 600; background: color-mix(in srgb, var(--pb-color-action) 10%, transparent); }
.pb-imp73-phases li[data-done="1"] { color: var(--pb-color-text); }
.pb-imp73-phases li[data-done="1"]::before { content: "\2713\00a0"; color: var(--pb-color-success, #2e7d32); }
.pb-imp73-error { padding: var(--pb-space-3); border-radius: var(--pb-radius-md, 10px); border: 1px solid var(--pb-color-danger, #c0392b); color: var(--pb-color-text); }
.pb-imp73-server { display: grid; gap: var(--pb-space-3); }
.pb-imp73-server-list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--pb-space-2); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.pb-imp73-server-item { display: flex; align-items: center; gap: var(--pb-space-3); padding: var(--pb-space-3); border: 1px solid var(--pb-color-border); border-radius: var(--pb-radius-md, 10px); background: var(--pb-color-surface); cursor: pointer; }
.pb-imp73-server-item:has(input:checked) { border-color: var(--pb-color-action); box-shadow: 0 0 0 2px color-mix(in srgb, var(--pb-color-action) 30%, transparent); }
.pb-imp73-server-item b { display: block; overflow-wrap: anywhere; }
.pb-imp73-grid { display: grid; gap: var(--pb-space-3); grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.pb-imp73-card { display: flex; flex-direction: column; border: 1px solid var(--pb-color-border); border-radius: var(--pb-radius-lg, 14px); overflow: hidden; background: var(--pb-color-surface); }
.pb-imp73-card[data-outcome="Skip"] { opacity: .78; }
.pb-imp73-card-media { aspect-ratio: 1 / 1; background: var(--pb-color-surface-2, var(--pb-color-bg)); display: grid; place-items: center; }
.pb-imp73-card-media img { inline-size: 100%; block-size: 100%; object-fit: contain; display: block; }
.pb-imp73-card-media .pb-wiz-thumb--none { inline-size: auto; block-size: auto; padding: var(--pb-space-3); }
.pb-imp73-card-body { padding: var(--pb-space-3); display: flex; flex-direction: column; gap: 6px; min-inline-size: 0; }
.pb-imp73-card-body h3 { font-size: 1rem; margin: 0; overflow-wrap: anywhere; }
.pb-imp73-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.pb-imp73-pager { display: flex; flex-wrap: wrap; align-items: center; gap: var(--pb-space-2); justify-content: center; }
.pb-imp73-flag { font-size: .75rem; }
@media (max-width: 480px) { .pb-imp73-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pb-imp73-server-list { grid-template-columns: 1fr; } }
