.price-rounding-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--color-text-secondary);
    margin-top: 2px;
}
.price-rounding-status::before {
    content: "↑";
    font-weight: 700;
    color: var(--color-accent);
}
.price-rounding-status.hidden { display: none; }

/* Guided orange workspace. Directional positioning uses inline/block axes. */
:root { --background:#faf7f2; --surface-low:#faf8f5; --surface-mid:#f4eee6; --primary:#C2410C; --primary-hover:#9A3412; --primary-soft:#ffedd5; --secondary-soft:#fff3e6; --focus:#C2410C; --text-muted:#57534e; --text-soft:#66615c; --outline:#ddd5cc; --header-height:80px; }
.app-body { font-size:16px; line-height:1.55; }
html[lang="ar"] .app-body { font-family:"Noto Sans Arabic",Inter,system-ui,sans-serif; }
input[dir="ltr"],textarea[dir="ltr"],select[dir="ltr"],.mono-data,.mono-input,.image-url,.export-grid { direction:ltr; }
.app-header { gap:16px; grid-template-columns:minmax(180px,1fr) auto auto; }
.header-actions { gap:12px; }
.brand-subtitle,.field-help,.field-label,.button-small,.image-review-info,.image-review-state,.review-grid th { font-size:13px; }
.button { font-size:14px; min-height:40px; border-radius:8px; }
.icon-button { min-width:40px; min-height:40px; }
.button-primary:hover { background:var(--primary-hover); }
input[type="checkbox"] { accent-color:var(--primary); }
.step-link { display:flex; align-items:center; gap:8px; border:0; padding:8px; background:transparent; color:inherit; font:inherit; border-radius:8px; }
.workflow-step { font-size:14px; }
.step-connector { width:22px; }
body[data-stage="images"] .workflow-step[data-step="images"] { color:var(--primary); }
body[data-stage="images"] .workflow-step[data-step="images"] .step-number { background:var(--primary); border-color:var(--primary); color:white; }
.language-switch { display:flex; padding:3px; border:1px solid var(--outline); border-radius:9px; background:var(--surface-low); direction:ltr; }
.language-switch button { padding:7px 10px; min-height:38px; border:0; border-radius:6px; background:transparent; color:var(--text-muted); font-size:14px; }
.language-switch button[aria-pressed="true"] { color:var(--primary); background:white; box-shadow:0 1px 3px #0002; font-weight:700; }
.import-stage { max-width:1120px; margin-inline:auto; }
.import-intro h1 { font-size:36px; line-height:1.3; }
.import-layout { display:flex; flex-direction:column; gap:24px; }
.source-column { max-width:none; }
.drop-zone { min-height:215px; }
.advanced-settings { border:1px solid var(--outline); border-radius:10px; padding:16px; }
summary { cursor:pointer; font-weight:600; }
.advanced-content { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-block-start:18px; }
.advanced-content .category-builder { grid-column:1/-1; }
.workspace-stage { height:auto; min-height:calc(100vh - var(--header-height)); overflow:visible; padding:20px; }
.workspace-shell { height:auto; min-height:calc(100vh - var(--header-height) - 40px); overflow:visible; border-radius:12px; }
.workspace-heading { padding:22px; }
.heading-line h1 { font-size:24px; }
.ai-edit-section { margin:0 22px 16px; border:1px solid var(--outline); border-radius:9px; padding:12px; }
.ai-edit-panel { border:0; padding:16px 0 0; }
.dashboard-toolbar { grid-template-columns:minmax(240px,1fr) auto; gap:12px; padding:16px 22px; }
.toolbar-actions { grid-column:1/-1; gap:12px; flex-wrap:wrap; }
.detail-toggle { display:flex; gap:8px; align-items:center; font-size:14px; }
.conversion-strip { margin-inline:22px; border-radius:8px; }
.data-grid-shell { flex:initial; max-height:65vh; min-height:180px; margin-block-start:16px; }
.review-grid { min-width:1160px; }
.review-grid:not(.detailed) .detail-column, .review-grid:not(.detailed) th:nth-child(6), .review-grid:not(.detailed) th:nth-child(7), .review-grid:not(.detailed) th:nth-child(12) { display:none; }
.review-grid .image-url-column,.review-grid .image-review-column { display:none; }
.review-grid.detailed { min-width:1780px; }
.review-grid th { letter-spacing:0; text-transform:none; font-weight:600; padding:10px; }
.review-grid td { padding:10px; }
.grid-input { font-size:14px; }
.review-grid tbody tr.is-selected td,.review-grid tbody tr.is-selected:hover td { background:#fff0df; }
.review-grid tbody tr.is-selected { box-shadow:inset 0 0 0 1px #c2410c; }
body[data-stage="review"] #image-workspace,body[data-stage="review"] #image-cards,body[data-stage="review"] .image-step-footer,body[data-stage="review"] #export-btn { display:none; }
body[data-stage="images"] .ai-edit-section,body[data-stage="images"] .dashboard-toolbar,body[data-stage="images"] .conversion-strip,body[data-stage="images"] .bulk-toolbar,body[data-stage="images"] .data-grid-shell,body[data-stage="images"] .workspace-footer,body[data-stage="images"] #review-next-btn { display:none; }
body[data-stage="images"] #review-heading { font-size:24px; }
.image-workspace { border:0; border-block:1px solid var(--outline); padding:20px 22px; flex-wrap:wrap; background:#fffaf4; }
.image-step-footer { display:flex; gap:12px; padding:16px 22px; flex-wrap:wrap; }
.image-cards { display:grid; align-items:start; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:20px; padding:0 22px 22px; }
.image-search-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:0 22px 18px; }
.image-search-toolbar .search-control { flex:1; max-width:520px; min-width:0; }
.image-search-empty { grid-column:1 / -1; margin:0; padding-block:20px; }
body[data-stage="review"] .image-search-toolbar { display:none; }
.image-item-card { border:1px solid var(--outline); border-radius:12px; padding:18px; background:white; min-width:0; }
.image-edit-comparison { margin-block:12px; padding:10px; border:1px solid var(--outline); border-radius:8px; }
.image-edit-comparison-options { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.image-edit-option { min-width:0; display:flex; flex-direction:column; gap:8px; }
.image-edit-option h3 { font-size:13px; margin:0; }
.image-edit-comparison-preview { width:100%; height:150px; object-fit:contain; background:var(--surface-low); border-radius:6px; }
.image-edit-choice { white-space:normal; padding:8px; font-size:12px; margin-block-start:auto; }
.image-card-title { margin:0; font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.image-card-arabic { margin:4px 0 14px; color:var(--text-muted); }
.image-card-content .image-thumbnail { width:100%; height:180px; object-fit:contain; background:var(--surface-low); border-radius:8px; }
.image-card-content .image-thumbnail-button,.image-card-content .image-thumbnail-frame { width:100%; }
.image-card-content .image-thumbnail-actions { inset-inline-end:8px; inset-block-end:8px; }
.image-card-content .image-hover-action { min-height:34px; padding:6px 8px; }
.image-card-content .image-hover-action-label { display:inline; font-size:11px; font-weight:600; }
.image-card-content .image-review-info { gap:8px; margin-block:12px; flex-wrap:wrap; }
.image-card-content .image-device-drop { min-height:90px; border:2px dashed var(--outline); padding:16px; border-radius:8px; margin-block:14px; }
.image-card-link { font-size:13px; margin-block:12px; overflow-wrap:anywhere; }
.image-card-actions { display:flex; gap:8px; flex-wrap:wrap; }
.readiness-panel { margin:0 0 16px; padding:16px 20px; border:1px solid #a8d8bf; background:var(--success-soft); color:var(--success); border-radius:9px; font-weight:600; }
html[dir="rtl"] .directional { transform:scaleX(-1); }
html[dir="rtl"] .drawer { animation:none; }
.overlay { justify-content:flex-end; }
.centered-overlay { justify-content:center; }
.image-modal,.ai-diff-modal { text-align:start; }
.image-modal button,.drawer button { white-space:normal; }
.provider-diagnostic { margin-block-start:8px; font-size:13px; font-weight:400; }
.provider-diagnostic pre { white-space:pre-wrap; overflow-wrap:anywhere; direction:ltr; text-align:left; }
@media(max-width:1100px) {
  .app-header { grid-template-columns:1fr auto; height:auto; min-height:80px; padding:12px 16px; }
  .workflow-steps { grid-column:1/-1; grid-row:2; justify-content:center; }
  .header-actions { grid-column:2; grid-row:1; }
  .dashboard-toolbar { grid-template-columns:1fr; }
  .workflow-step { font-size:13px; }
}
@media(max-width:700px) {
  .app-header { padding:10px 12px; gap:8px; position:relative; }
  .brand-subtitle { display:none; }
  .brand-title { font-size:14px; }
  .brand-mark { width:30px; height:30px; }
  .header-actions #header-view-source-btn { display:none!important; }
  .language-switch button { padding:6px; }
  .step-link { gap:4px; padding:5px 2px; flex-direction:column; }
  .step-connector { width:15px; }
  .workflow-steps { gap:8px; }
  .import-intro h1 { font-size:28px; }
  .advanced-content { grid-template-columns:1fr; }
  .workspace-stage { padding:10px; }
  .workspace-heading { padding:16px; }
  .heading-actions { flex-wrap:wrap; overflow:visible; }
  .ai-edit-section { margin-inline:16px; }
  .image-cards { grid-template-columns:1fr; padding-inline:16px; }
  .dashboard-toolbar { padding-inline:16px; }
  .filter-tabs { flex-wrap:wrap; }
  .conversion-strip { margin-inline:16px; }
  .conversion-controls { flex-wrap:wrap; }
  .data-grid-shell { max-height:none; overflow:visible; padding:12px; }
  .review-grid { min-width:0; display:block; }
  .review-grid thead { display:none; }
  .review-grid tbody { display:grid; gap:14px; }
  .review-grid tr { display:grid; grid-template-columns:1fr 1fr; padding:12px; border:1px solid var(--outline); border-inline-start:4px solid var(--row-accent); border-radius:10px; background:white; }
  .review-grid td { display:block; border:0; height:auto; padding:8px; min-width:0; border-radius:4px; }
  .review-grid td::before { content:attr(data-label); display:block; color:var(--text-muted); font-size:12px; margin-block-end:4px; }
  .review-grid td.sticky-select { position:static; }
  .review-grid tr td:first-child { border:0; }
  .review-grid .row-number { display:none; }
  .review-grid td:nth-child(10) { grid-column:1/-1; }
  .review-grid .grid-input { width:100%; max-width:none; min-width:0; }
  .review-grid.detailed { min-width:0; }
  .drawer-header { gap:12px; padding:16px; }
  .drawer-header h2 { font-size:19px; }
  .drawer-footer { padding:12px; }
  .image-modal { max-height:100dvh; width:100%; border-radius:0; }
}
.workspace-readiness { padding:12px 22px; color:var(--success); background:var(--success-soft); font-size:14px; }
.workspace-readiness.has-blockers { color:var(--warning); background:var(--warning-soft); }
.workspace-readiness ul { margin-block:8px; padding-inline-start:20px; }
.workspace-readiness button { margin-inline-end:8px; }
@media(max-width:700px) {
  .header-actions { display:flex; }
  .app-header { position:sticky; top:0; }
  .workflow-steps { position:static; height:auto; width:auto; border:0; grid-row:2; padding:0; }
  .app-main { padding-block-end:0; }
  .overlay .source-modal,.overlay .ai-diff-modal { height:100%; }
}
.overlay .image-modal { max-height:100%; }
#image-choices-notice { align-self:flex-start; margin:12px 22px; }
.skip-link:not(:focus) { top:0; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.image-cards { grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); }
.export-grid th { text-transform:none; }
@media(max-width:700px) {
  .conversion-strip { flex-direction:column; align-items:stretch; gap:12px; padding:16px; }
  .conversion-copy { width:100%; }
  .conversion-copy strong { font-size:14px; }
  .conversion-controls { display:grid; grid-template-columns:1fr; width:100%; gap:12px; }
  .conversion-control { display:flex; justify-content:space-between; }
  .conversion-control label { flex:1; font-size:13px; }
  .conversion-control input { width:80px; }
}
.image-card-arabic { overflow-wrap:anywhere; }
.import-stage .info-strip { background:var(--secondary-soft); }
@media(max-width:700px) {
  .heading-start { width:100%; }
  .heading-start > div { min-width:0; flex:1; }
  .heading-line { flex-wrap:wrap; }
  .heading-line h1 { max-width:100%; }
  .review-grid td { width:auto; max-width:none; }
  .button,.icon-button,.review-toggle,.image-device-upload { min-height:44px; }
  .image-device-upload { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; } }

/* User account and saved workspace controls */
[hidden] { display: none !important; }
.account-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px 24px; border-bottom: 1px solid #dce4ec; background: #fff; }
#account-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; flex: 1; }
.auth-card { margin: 40px auto; max-width: 520px; padding: 28px; background: white; border: 1px solid #dce4ec; border-radius: 16px; }
.auth-card h1 { margin-bottom: 20px; }
.auth-card label { display: block; margin: 12px 0 6px; }
.auth-card input { width: 100%; padding: 12px; border: 1px solid #b8c5d3; border-radius: 8px; }
.auth-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
#main-content[inert] { display: none; }
.account-dialog { width: min(900px, 94vw); max-height: 85vh; border: 1px solid #dce4ec; border-radius: 16px; padding: 24px; margin: auto; color: inherit; }
.account-dialog::backdrop { background: #10203088; }
.account-dialog header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.archive-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 16px 0; border-bottom: 1px solid #dce4ec; }
.archive-row > div { flex: 1; min-width: 180px; overflow-wrap: anywhere; }
.archive-row p { margin: 6px 0; font-size: 13px; color: #536477; }
#account-message, #account-panel-error { margin-top: 14px; overflow-wrap: anywhere; }
@media (max-width: 600px) { .auth-card { margin: 20px 12px; padding: 20px; } .account-bar { padding: 12px; } }

#account-feedback:empty { display: none; }
@media (max-width: 600px) {
  #account-name { flex: 1; font-size: 13px; overflow-wrap: anywhere; }
  #account-actions { order: 3; flex-basis: 100%; gap: 8px; }
  #account-actions .button { padding: 8px 12px; font-size: 13px; }
  #archive-status { flex: 1; font-size: 12px; }
}

.image-card-prompts { margin-block:18px 4px; padding-block-start:14px; border-block-start:1px solid var(--outline); }
.image-card-prompts h3 { margin:0 0 8px; font-size:14px; }
.image-prompt-group { margin-block:14px; }
.image-prompt-group .image-field { margin:0 0 8px; }
.image-initial-prompt { min-height:140px; font-size:12px; line-height:1.6; }

.image-global-instructions { flex-basis:100%; width:100%; padding-block-start:12px; }
.image-global-instructions label { display:block; margin-block-end:8px; font-size:13px; font-weight:600; }
.image-global-instructions select { width:100%; max-width:360px; margin-block-end:16px; }
.image-global-instructions textarea { min-height:110px; line-height:1.6; }
.image-follow-global { display:flex; gap:8px; align-items:center; margin-block-end:14px; font-size:12px; font-weight:600; }
.image-follow-global input { flex:0 0 18px; width:18px; height:18px; margin:0; accent-color:var(--primary); }

.image-card-details { margin-block-start:14px; border-block-start:1px solid var(--outline); }
.image-card-details > summary { padding-block:12px; cursor:pointer; font-size:13px; font-weight:600; }
.image-card-details > summary:focus-visible { outline:2px solid var(--focus); outline-offset:3px; border-radius:4px; }

.image-cards.image-cards-masonry { grid-auto-rows:1px; grid-auto-flow:row dense; row-gap:0; }

.image-reference-list { display:flex; flex-wrap:wrap; gap:12px; padding:0; list-style:none; }
.image-reference { display:flex; gap:8px; align-items:center; border:1px solid var(--outline); border-radius:8px; padding:8px; max-width:100%; }
.image-reference img { width:64px; height:64px; object-fit:cover; border-radius:6px; }
.image-reference span { max-width:180px; overflow-wrap:anywhere; font-size:12px; }
#image-generation-references { max-width:100%; }

.archive-row > .archive-export-progress { flex: 0 0 100%; min-width: 0; }
.archive-export-progress progress { display: block; width: 100%; height: 14px; accent-color: #2563eb; }

/* Shared request meters and content placeholders. Existing content stays readable. */
.request-progress-panel { pointer-events:none; position:fixed; inset-inline-end:20px; bottom:20px; z-index:10050; width:min(360px, calc(100vw - 32px)); max-height:38vh; overflow:auto; padding:12px; border:1px solid var(--outline); border-radius:12px; background:var(--surface, #fff); box-shadow:var(--shadow-popover); }
#account-dialog > .request-progress-panel { position:sticky; bottom:0; width:100%; max-height:180px; margin-top:16px; box-sizing:border-box; }
.request-progress-row { display:grid; grid-template-columns:1fr auto; gap:7px; padding:9px 0; }
.request-progress-row + .request-progress-row { border-top:1px solid var(--outline); }
.request-progress-row strong { font-size:12px; overflow-wrap:anywhere; }
.request-progress-row span { font-size:11px; color:var(--text-muted); }
.request-progress-row progress { grid-column:1 / -1; width:100%; height:8px; accent-color:var(--primary, #2563eb); }
.request-complete progress { accent-color:#16834b; }
.request-failed progress { accent-color:var(--error, #b91c1c); }
.loading-skeleton, .request-skeleton-field, .media-loading { background:linear-gradient(100deg, #e8edf3 20%, #f7f9fc 45%, #e8edf3 70%); background-size:220% 100%; animation:loading-shimmer 1.5s ease-in-out infinite; }
.loading-skeleton { border-radius:10px; pointer-events:none; }
.loading-skeleton-card { height:90px; width:100%; margin-block:12px; }
.loading-skeleton-line { min-height:20px; flex:0 0 100%; width:100%; margin-block:8px; }
.image-loading-skeleton { width:100%; min-height:160px; margin-block:8px; }
.image-thumbnail-frame.media-loading img { opacity:0; }
.processing-skeleton-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; width:min(520px, 100%); margin-inline:auto; }
@keyframes loading-shimmer { from { background-position:100% 0; } to { background-position:-100% 0; } }
@media (prefers-reduced-motion:reduce) { .loading-skeleton, .request-skeleton-field, .media-loading { animation:none; background:#e8edf3; } }
@media (max-width:600px) { .request-progress-panel { bottom:12px; inset-inline-end:16px; max-height:30vh; } .processing-skeleton-grid { gap:8px; } }

#image-generation-model[data-model-color="green"], #image-generation-model option[data-model-color="green"] { background-color:#dcfce7; color:#166534; border-color:#22c55e; }
#image-generation-model[data-model-color="yellow"], #image-generation-model option[data-model-color="yellow"] { background-color:#fef9c3; color:#854d0e; border-color:#eab308; }
#image-generation-model[data-model-color="blue"], #image-generation-model option[data-model-color="blue"] { background-color:#dbeafe; color:#1e40af; border-color:#3b82f6; }
#image-generation-model[data-model-color="dark-green"], #image-generation-model option[data-model-color="dark-green"] { background-color:#14532d; color:#ffffff; border-color:#166534; }

.image-edit-queue-state { display:block; margin-block:8px; padding:6px 10px; border-radius:6px; background:#eff6ff; color:#1e40af; font-size:12px; font-weight:600; }
