/* Inventory shares the sign-in page's linen, plum, and quiet typography. */
.inventory-app { --surface:#fffefa; --green:#50624e; --send-error:#b42318; --send-error-background:#fff1f0; display:grid; grid-template-columns:238px minmax(0,1fr); min-height:100svh; font-size:14px; }
.inventory-app button,.workspace-dialog button { font:inherit; }
.inventory-app h1 { font-size:clamp(30px,3vw,44px); letter-spacing:-1.4px; line-height:1.2; margin:0 0 12px; }
.inventory-app h2 { font:400 25px/1.3 Georgia,serif; letter-spacing:-.5px; margin:0; }
.inventory-app h3 { font-size:21px; }
.inventory-app .eyebrow { font-size:9px; letter-spacing:1.8px; margin-bottom:16px; }
.inventory-app a { text-decoration:none; }
.app-sidebar { background:#efeae2; border-right:1px solid var(--line); height:100svh; position:sticky; top:0; padding:33px 21px 20px; display:flex; flex-direction:column; }
.app-sidebar .wordmark { font-size:10px; letter-spacing:1px; gap:9px; white-space:nowrap; }
.app-sidebar .brand-symbol { font-size:35px; }
.app-sidebar .wordmark small { font-size:7px; letter-spacing:1.6px; }
.nav-label { font-size:9px; letter-spacing:1.8px; color:#857b74; margin:59px 12px 15px; }
.nav-link { display:flex; align-items:center; gap:11px; padding:14px 12px; margin-bottom:6px; border-radius:5px; font-size:12px; color:#746963; }
.nav-link > span:first-child { font-size:20px; line-height:1; }
.nav-link.active { background:#e4d8d7; color:var(--wine-dark); font-weight:600; }
.nav-link:hover { background:#e7e0d8; }
.nav-arrow { margin-left:auto; }
.sidebar-note { margin:auto 12px 40px; padding-top:70px; color:#837267; }
.sidebar-note > span { display:block; font-size:36px; margin-bottom:17px; }
.sidebar-note p { font:italic 17px/1.6 Georgia,serif; margin:0 0 8px; }
.sidebar-note small { font-size:11px; line-height:1.9; }
.sidebar-account { display:flex; align-items:center; gap:10px; padding-top:20px; border-top:1px solid #dbd2c8; min-width:0; }
.avatar { border:1px solid #d9c4c5; background:#e9dedd; border-radius:50%; width:35px; height:35px; display:grid; place-items:center; font-size:11px; color:var(--wine); flex-shrink:0; }
.sidebar-account > div { min-width:0; flex:1; }
.sidebar-account strong,.sidebar-account small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sidebar-account strong { font-size:11px; font-weight:600; }
.sidebar-account small { font-size:9px; margin-top:5px; color:var(--muted); }
.icon-button { border:1px solid var(--line); border-radius:5px; background:transparent; color:var(--wine); min-width:34px; min-height:34px; padding:5px; }
.icon-button:hover { background:var(--rose); }
.app-body { min-width:0; }
.app-topbar { height:72px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; padding:0 40px; font-size:9px; color:#827770; letter-spacing:1.2px; }
.app-topbar > span > span { margin:0 15px; color:#beb0a5; }
.app-topbar strong { font-size:11px; font-weight:400; letter-spacing:0; color:var(--ink); }
.workspace-location { display:flex; align-items:center; gap:14px; min-width:0; }
.topbar-divider { color:#beb0a5; }
#navigation-toggle { flex-shrink:0; font-size:17px; line-height:1; }
.workspace-tag { display:flex; align-items:center; gap:8px; font-size:10px; letter-spacing:0; }
.status-dot { background:#72826b; width:6px; height:6px; border-radius:50%; }
#inventory-main { padding:43px 40px 0; max-width:1800px; margin:auto; outline:none; }
.page-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:33px; }
.page-heading > div { min-width:0; }
.page-description { color:var(--muted); font-size:13px; line-height:1.7; margin:0; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid transparent; padding:11px 17px; min-height:42px; border-radius:5px; font-size:12px !important; font-weight:550 !important; white-space:nowrap; text-decoration:none; }
.primary-button { color:#fff; background:var(--wine); border-color:var(--wine); }
.primary-button:hover { background:var(--wine-dark); }
.secondary-button { color:var(--ink); background:var(--surface,#fffefa); border-color:var(--line); }
.secondary-button:hover { border-color:#b6a396; background:#f4eee7; }
.quiet-button { background:transparent; color:var(--wine); }
.quiet-button:hover { background:var(--rose); }
.danger-button { color:#902f29; background:#fff8f4; border-color:#e4c7bd; }
.button:disabled { cursor:default; }
.batch-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); background:var(--surface); border-radius:7px; margin-bottom:39px; }
.stat { padding:23px 25px; display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:10px; }
.stat + .stat { border-left:1px solid var(--line); }
.stat-label { font-size:10px; color:var(--muted); }
.stat-number { font:34px/1 Georgia,serif; grid-row:1 / 3; grid-column:2; color:var(--wine); }
.stat-hint { margin-top:8px; font-size:10px; color:#93867e; }
.section-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:22px; }
.section-toolbar p { font-size:11px; color:var(--muted); margin:8px 0 0; line-height:1.6; }
.count-pill { display:inline-block; background:#eee6df; padding:3px 7px; border-radius:4px; font:10px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; vertical-align:middle; margin-left:6px; color:#736358; }
.toolbar-actions { display:flex; align-items:center; gap:9px; }
.search-field { display:flex; align-items:center; border:1px solid var(--line); background:var(--surface); border-radius:5px; margin:0; padding-left:13px; color:#8e8077; font-size:22px; }
.search-field input { min-height:39px; border:0; background:transparent; width:220px; font-size:12px; padding:10px; }
.search-field input::placeholder { font-size:11px; }
.batch-list { border:1px solid var(--line); border-radius:7px; overflow:hidden; background:var(--surface); }
.batch-row { display:grid; grid-template-columns:44px minmax(0,1.6fr) minmax(95px,.8fr) 80px 90px 100px 18px; align-items:center; gap:16px; padding:22px 25px; border-top:1px solid var(--line); }
.batch-row:first-child { border-top:0; }
a.batch-row:hover { background:#f6f0e9; }
.batch-monogram { width:43px; height:48px; border-radius:5px 12px 5px 5px; background:#eee3dc; color:#896755; font:21px/1 Georgia,serif; display:grid; place-items:center; }
.batch-row:nth-child(3n+2) .batch-monogram { background:#e7eade; color:#6a7857; }
.batch-row:nth-child(3n+3) .batch-monogram { background:#ece0e3; color:#8b6071; }
.batch-title { display:block; font-size:13px; font-weight:600; margin-bottom:6px; }
.batch-subtitle,.row-meta { color:var(--muted); font-size:11px; line-height:1.5; }
.row-meta strong { display:block; color:var(--ink); font-size:12px; font-weight:500; margin-bottom:4px; }
.pill { display:inline-block; width:fit-content; padding:5px 8px; border:1px solid #e2d3bf; border-radius:4px; color:#856640; background:#f8f0e4; font-size:9px; white-space:nowrap; }
.empty-batches { text-align:center; padding:58px 24px; }
.empty-art { color:#b08b73; font:52px Georgia,serif; margin-bottom:16px; }
.empty-batches h3 { font-size:26px; }
.empty-batches p { color:var(--muted); font-size:12px; line-height:1.8; max-width:340px; margin:12px auto 23px; }
.load-more { margin:20px auto 0; display:flex; }
.workflow-note { display:flex; align-items:center; gap:20px; margin-top:32px; padding:24px; border:1px dashed #d9cbbd; border-radius:6px; }
.workflow-note > span:first-child { font-size:31px; color:#a28168; }
.workflow-note strong { font:18px/1.5 Georgia,serif; }
.workflow-note p { color:var(--muted); font-size:11px; line-height:1.7; margin:5px 0 0; }
.draft-label { margin-left:auto; font-size:8px; letter-spacing:1.5px; color:#928176; white-space:nowrap; }
.app-footer { margin-top:48px; padding:24px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:15px; color:#978a81; font-size:8px; letter-spacing:1.4px; }
.app-footer > span:last-child { font:italic 12px Georgia,serif; letter-spacing:0; }
.inventory-notice { display:flex; align-items:center; gap:12px; flex-wrap:wrap; border:1px solid #d8dbc9; border-radius:5px; padding:12px 16px; margin-bottom:20px; background:#edf0e6; color:#44533c; line-height:1.6; font-size:12px; }
.inventory-notice.error { border-color:#e6c8bd; background:#fff0e8; color:#843e31; }
.inventory-notice .button { margin-left:auto; min-height:30px; padding:5px 10px; }
.inventory-notice.toast { position:fixed; z-index:20; top:64px; right:24px; width:max-content; max-width:min(480px,calc(100vw - 32px)); margin:0; padding:10px 12px 10px 16px; box-shadow:0 5px 24px #332b2e18; animation:notice-appear .2s ease-out; }
.inventory-notice.toast > span { flex:1; min-width:0; }
.inventory-notice .notice-dismiss { color:inherit; background:transparent; font-size:19px !important; margin-left:0; padding:2px 8px; }
@keyframes notice-appear { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
.breadcrumb { display:flex; align-items:center; gap:12px; font-size:11px; color:var(--muted); margin-bottom:25px; }
.breadcrumb a { color:var(--wine); }
.batch-heading { margin-bottom:23px; flex-wrap:wrap; }
.batch-heading > :first-child { flex:1 1 360px; }
.batch-heading > .toolbar-actions { flex-shrink:0; flex-wrap:wrap; }
.batch-heading h1 { font-size:37px; overflow-wrap:anywhere; }
.batch-context { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:14px; color:var(--muted); font-size:11px; }
.batch-tabs { display:flex; gap:27px; border-bottom:1px solid var(--line); margin-bottom:23px; }
.batch-review-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:12px; }
.batch-review-toolbar .batch-tabs { border:0; margin:0; }
.batch-review-toolbar > .button { min-height:32px; padding:5px 8px; font-size:11px !important; }
.batch-tab { border:0; border-bottom:2px solid transparent; background:none; padding:13px 0; color:var(--muted); font-size:12px !important; margin-bottom:-1px; }
.batch-tab[aria-selected="true"] { color:var(--wine); border-color:var(--wine); font-weight:600; }
.review-layout { display:grid; grid-template-columns:205px minmax(230px,1fr) minmax(280px,.95fr); border:1px solid var(--line); border-radius:7px; background:var(--surface); overflow:hidden; align-items:start; }
.item-rail { align-self:stretch; background:#f6f2ec; border-right:1px solid var(--line); min-width:0; }
.rail-heading { padding:20px 16px 13px; display:flex; justify-content:space-between; align-items:center; }
.rail-heading h2 { font:600 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
.rail-heading button { font-size:20px; border:0; background:none; color:var(--wine); padding:0 5px; min-height:30px; }
.rail-list { max-height:530px; overflow:auto; padding:0 8px 10px; }
.item-button { text-align:left; width:100%; display:flex; align-items:flex-start; gap:9px; border:1px solid transparent; border-radius:5px; background:transparent; color:var(--ink); padding:12px 9px; margin-bottom:3px; }
.item-button.selected { background:#fffefa; border-color:#ddc8cd; box-shadow:0 2px 3px #34252a05; }
.item-number { display:grid; place-items:center; background:#eae2db; border-radius:4px; min-width:26px; height:29px; color:#887064; font:14px Georgia,serif; }
.item-button.selected .item-number { background:var(--rose); color:var(--wine); }
.item-button strong { display:block; font-size:11px; font-weight:600; overflow-wrap:anywhere; }
.item-button small { display:block; font-size:10px; line-height:1.6; margin-top:4px; color:var(--muted); }
.item-button.needs-attention { border-color:var(--send-error); background:var(--send-error-background); }
.item-button.needs-attention.selected { box-shadow:inset 3px 0 0 var(--send-error); }
.item-button.needs-attention small { color:var(--send-error); font-weight:700; }
.item-button.needs-attention .item-number { background:var(--send-error); color:#fff; }
.rail-subheading { padding:15px 16px 5px; font-size:9px; letter-spacing:.9px; color:#8a7766; border-top:1px solid var(--line); }
.rail-note { padding:0 16px 15px; color:var(--muted); font-size:11px; line-height:1.8; }
.evidence-panel { padding:22px; min-width:0; }
.panel-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:16px; }
.panel-heading h2 { font:600 12px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:0; }
.panel-heading span { color:var(--muted); font-size:10px; }
.source-preview { background:#f1ece5; border:1px solid #e6ddd2; border-radius:5px; height:320px; display:flex; align-items:center; justify-content:center; position:relative; overflow:auto; }
.source-preview img { width:100%; height:100%; object-fit:contain; }
.source-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.7 ui-monospace,monospace; align-self:stretch; margin:0; padding:18px; width:100%; }
.preview-placeholder { text-align:center; color:#89766a; font-size:12px; padding:25px; line-height:1.8; }
.preview-placeholder span { display:block; font:42px Georgia,serif; margin-bottom:12px; }
.preview-placeholder strong { display:block; font-size:13px; font-weight:500; }
.preview-caption { display:flex; justify-content:space-between; gap:10px; margin:12px 0 19px; font-size:10px; color:var(--muted); line-height:1.7; }
.preview-caption > span { min-width:0; overflow-wrap:anywhere; }
.preview-caption a { white-space:nowrap; color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
.source-association { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.source-association:empty { display:none; }
.source-association > span { font-size:10px; color:var(--muted); line-height:1.7; }
.source-association .button { min-height:36px; padding:8px 11px; }
.item-source-review { flex-basis:100%; min-width:0; padding:12px; border:1px solid var(--line); border-radius:4px; background:var(--surface); font-size:12px; line-height:1.6; }
.item-source-review:empty { display:none; }
.item-source-review p { margin:0 0 10px; }
.item-source-review > .button { margin-bottom:8px; }
.item-review-changes { list-style:none; margin:0 0 12px; padding:0; }
.item-review-changes li { padding:7px 0; border-bottom:1px solid var(--line); }
.item-review-changes strong,.item-review-changes span { display:block; overflow-wrap:anywhere; }
.source-strip { display:flex; gap:9px; overflow-x:auto; padding:3px 2px 9px; }
.source-thumb { background:#f4eee7; border:1px solid var(--line); border-radius:4px; width:65px; flex:0 0 65px; padding:0; overflow:hidden; text-align:left; color:var(--muted); }
.source-thumb.selected { border-color:var(--wine); outline:1px solid var(--wine); }
.source-thumb img,.source-thumb .thumb-symbol { width:100%; height:58px; object-fit:cover; display:grid; place-items:center; font:24px Georgia,serif; color:#a28470; }
.source-thumb small { display:block; background:#fffefa; padding:5px; font-size:9px; }
.source-thumb.attached small { background:#eaeedc; color:#50624e; }
.source-context { color:var(--muted); font-size:10px; line-height:1.7; margin:8px 0 0; }
.woo-tag-field { margin:18px 0; padding:12px; border:1px solid var(--line); border-radius:4px; }
.editor-panel .woo-tag-field label { display:flex; align-items:center; gap:9px; margin:0; cursor:pointer; }
.editor-panel .woo-tag-field input { width:17px; height:17px; min-height:17px; flex-shrink:0; margin:0; padding:0; accent-color:var(--wine); }
.woo-tag-field p { margin:7px 0 0; font-size:11px; line-height:1.6; color:var(--muted); }
.editor-panel .generate-sku-toggle { display:flex; align-items:center; gap:7px; margin:8px 0 0; font-size:11px; cursor:pointer; }
.editor-panel .generate-sku-toggle input { width:14px; height:14px; min-height:14px; flex-shrink:0; margin:0; padding:0; accent-color:var(--wine); }
.editor-panel #item-code:disabled { background:#ececea; border-color:#d5d5d1; color:var(--muted); cursor:not-allowed; }
.editor-panel { border-left:1px solid var(--line); padding:22px; min-width:0; align-self:stretch; }
.editor-panel h2 { font-size:24px; }
.editor-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.editor-heading .button { min-height:35px; padding:8px 12px; }
.extra-details { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:20px; }
.extra-details summary { padding:14px 0; font-size:11px; color:var(--wine); cursor:pointer; }
.extra-details summary:focus-visible { outline:2px solid var(--wine); outline-offset:3px; }
.extra-details[open] summary { margin-bottom:5px; }
.preview-image { border:0; background:transparent; width:100%; height:100%; padding:0; cursor:zoom-in; }
.workspace-dialog:has(.large-preview) { width:min(1100px,calc(100vw - 32px)); }
.large-preview { height:65svh; background:#eee8df; overflow:auto; display:flex; align-items:center; justify-content:center; }
.large-preview img { max-width:100%; max-height:100%; object-fit:contain; }
.large-preview.zoomed { display:block; }
.large-preview.zoomed img { max-width:none; max-height:none; }
#source-files:focus-visible + label { outline:3px solid var(--wine); outline-offset:4px; }
.editor-panel .field { margin-bottom:15px; }
.editor-panel label,.workspace-dialog label { font-size:11px; margin-bottom:7px; }
.editor-panel input,.editor-panel textarea,.editor-panel select,.workspace-dialog input,.workspace-dialog textarea,.workspace-dialog select,.source-row select { min-height:40px; padding:10px 11px; border-radius:4px; font-size:13px; }
.editor-panel select { appearance:none; padding-right:30px; background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.editor-panel input::placeholder,.workspace-dialog input::placeholder { font-size:12px; }
.editor-panel input[aria-invalid="true"],.editor-panel input:invalid { border-color:var(--send-error); }
.editor-panel .field-error { color:var(--send-error); font-size:12px; line-height:1.6; margin:8px 0 0; }
.supplier-control { position:relative; }
.supplier-control input { padding-right:44px; }
.supplier-toggle { position:absolute; inset:1px 1px 1px auto; width:40px; border:0; border-left:1px solid var(--line); border-radius:0 3px 3px 0; color:var(--wine); background:transparent; }
.supplier-toggle:hover { background:var(--rose); }
.supplier-menu { position:fixed; inset:auto; margin:0; padding:0; border:1px solid #d8cfc7; border-radius:4px; color:var(--ink); background:#fffefa; box-shadow:0 4px 12px #332b2e24; }
.supplier-list { position:relative; max-height:220px; overflow-y:auto; overscroll-behavior:contain; }
.supplier-list [role="option"] { padding:10px 11px; min-height:40px; font-size:13px; line-height:1.5; overflow-wrap:anywhere; cursor:pointer; }
.supplier-list [role="option"]:hover { background:#f7f1eb; }
.supplier-list [aria-selected="true"] { background:var(--rose); color:var(--wine-dark); box-shadow:inset 3px 0 var(--wine); }
.supplier-status { margin:0; padding:9px 11px; color:var(--muted); font-size:11px; line-height:1.5; border-top:1px solid var(--line); }
textarea,select { font:inherit; color:var(--ink); background:#fffefa; border:1px solid #d8cfc7; border-radius:4px; width:100%; }
textarea { resize:vertical; padding:10px; min-height:70px; line-height:1.6; }
textarea:focus,select:focus { outline:2px solid #b38591; outline-offset:2px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 13px; }
.field-grid > * { min-width:0; }
.field small { color:var(--muted); font-size:10px; line-height:1.7; }
.editor-intro { font-size:11px; line-height:1.7; color:var(--muted); margin:9px 0 21px; }
.item-review:not(.show-reading-details) :is(.reading-detail,.field-evidence,.independent-reading,.source-context) { display:none; }
.editor-panel .reading-details-toggle,.evidence-panel .source-filter-toggle { display:flex; align-items:center; gap:8px; width:fit-content; min-height:36px; margin:10px 0 17px; color:var(--muted); cursor:pointer; font-size:11px; font-weight:400; }
.editor-panel .reading-details-toggle input,.evidence-panel .source-filter-toggle input { appearance:none; -webkit-appearance:none; position:relative; flex:0 0 30px; width:30px; min-height:18px; height:18px; padding:0; margin:0; border:1px solid #a89f96; border-radius:12px; background:#e6e0d8; cursor:pointer; }
:is(.reading-details-toggle,.source-filter-toggle) input::after { content:''; position:absolute; width:12px; height:12px; top:2px; left:2px; border-radius:50%; background:#fffefa; box-shadow:0 1px 2px #0003; }
.editor-panel .reading-details-toggle input:checked,.evidence-panel .source-filter-toggle input:checked { background:var(--wine); border-color:var(--wine); }
:is(.reading-details-toggle,.source-filter-toggle) input:checked::after { left:14px; }
:is(.reading-details-toggle,.source-filter-toggle) input:focus-visible { outline:2px solid var(--wine); outline-offset:3px; }
.editor-panel fieldset { padding:0; margin:0; border:0; min-width:0; }
.editor-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); padding-top:17px; margin-top:18px; }
.save-state { font-size:10px; color:var(--muted); }
.attachment-heading { font-size:11px; font-weight:600; margin:21px 0 6px; }
.attachment-list { max-height:190px; overflow:auto; border:1px solid var(--line); border-radius:4px; margin-top:10px; }
.attachment-option { display:flex !important; align-items:center; gap:9px; margin:0 !important; padding:10px; border-top:1px solid var(--line); font-size:10px !important; font-weight:400; line-height:1.5; overflow-wrap:anywhere; }
.attachment-option:first-child { border:0; }
.attachment-option input { width:15px; min-height:15px; height:15px; flex-shrink:0; margin:0; accent-color:var(--wine); }
.attachment-option small { display:block; font-size:9px; color:var(--muted); }
.editor-secondary { display:flex; justify-content:space-between; gap:10px; margin-top:10px; }
.editor-secondary button { font-size:10px; }
.sources-table { background:var(--surface); border:1px solid var(--line); border-radius:7px; }
.source-row { padding:15px 20px; display:grid; grid-template-columns:24px 58px minmax(0,1fr) 132px 130px 72px; align-items:center; gap:15px; border-top:1px solid var(--line); }
.source-row:first-child { border:0; }
.source-row > label { min-width:0; }
.source-row select { width:100%; }
.source-position { font:16px Georgia,serif; color:#9a8270; }
.source-row .source-thumb { width:58px; }
.source-row .source-thumb img,.source-row .source-thumb .thumb-symbol { height:49px; }
.source-filename { display:block; font-size:12px; overflow-wrap:anywhere; }
.source-detail { font-size:10px; color:var(--muted); line-height:1.7; margin-top:5px; }
.source-status { font-size:10px; color:var(--green); }
.source-status > .button,.source-status > .source-context { display:block; text-align:left; }
.source-status.missing { color:#9b633c; }
.source-status.missing .button { display:block; text-align:left; }
.move-buttons { display:flex; gap:4px; }
.source-help { font-size:12px; line-height:1.8; color:var(--muted); max-width:650px; margin:0 0 23px; }
.workspace-dialog { padding:0; width:min(630px,calc(100vw - 32px)); max-height:calc(100svh - 48px); border:1px solid var(--line); border-radius:9px; background:var(--paper); color:var(--ink); box-shadow:0 25px 100px #25172033; }
.workspace-dialog::backdrop { background:#30232a65; backdrop-filter:blur(3px); }
.dialog-header { display:flex; align-items:center; justify-content:space-between; padding:25px 27px 0; gap:20px; }
.dialog-header h2 { font-size:30px; margin:0; letter-spacing:-.8px; }
.dialog-body { padding:20px 27px 26px; }
.dialog-description { color:var(--muted); font-size:12px; line-height:1.8; margin:0 0 23px; }
.dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:9px; margin-top:24px; }
.dialog-message { color:#8c4033; background:#fae9e1; padding:12px; font-size:12px; line-height:1.7; border-radius:4px; }
.drop-area { border:1px dashed #c5aea0; padding:30px 20px; text-align:center; border-radius:6px; background:#f3ede5; }
.drop-area.dragover { background:#eadee0; border-color:var(--wine); }
.drop-area > span { font-size:33px; color:#97745d; }
.gather-page,.processing-page { max-width:1000px; margin:0 auto; }
.gather-intro { margin:32px 0 24px; max-width:650px; }
.gather-intro h2,.processing-page h2 { font-size:32px; margin-bottom:12px; }
.gather-page .drop-area { padding:40px 22px; }
.gather-page .drop-area h3 { margin:12px 0; font:24px Georgia,serif; }
.gather-page .upload-actions { display:flex; justify-content:flex-end; margin-top:12px; }
.upload-feedback { margin:18px 0; padding:18px; border:1px solid var(--wine); border-radius:8px; background:var(--surface); scroll-margin:16px; }
.upload-feedback:focus-visible { outline:2px solid var(--wine); outline-offset:3px; }
.upload-feedback > p { margin:0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.upload-feedback .upload-progress { margin:14px 0 0; padding:0; border:0; }
@media (max-width:600px) { .upload-feedback .upload-actions .button { width:100%; } }
.gathered-sources { margin:30px 0; }
.gathered-sources > h3 { font:22px Georgia,serif; }
.gathered-sources .section-toolbar { display:none; }
.gather-finish { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.gather-finish h3 { margin:0 0 8px; font:24px Georgia,serif; }
.gather-finish p { max-width:520px; margin:0; color:var(--muted); font-size:12px; line-height:1.7; }
.gather-finish .button:disabled { opacity:.5; }
.gather-secondary { margin:12px 0; text-align:right; }
.processing-page { padding-top:32px; }
.processing-page .analysis-status { margin-top:28px; }
@media (max-width:600px) { .gather-finish { flex-direction:column; align-items:stretch; padding:20px; } .gather-page .drop-area { padding:28px 14px; } .gather-secondary { text-align:center; } }
.drop-area p { font-size:12px; line-height:1.7; color:var(--muted); margin:9px 0 15px; }
.upload-list { max-height:320px; overflow:auto; margin-top:18px; }
.upload-row { padding:12px 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:23px minmax(0,1fr) 115px 80px; gap:9px; align-items:center; font-size:11px; }
.upload-row strong { display:block; font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.upload-row small { display:block; color:var(--muted); margin-top:4px; line-height:1.6; }
.upload-row select { min-height:35px; padding:7px; font-size:11px; }
.upload-controls { display:flex; gap:3px; }
.upload-controls .icon-button { min-width:24px; min-height:29px; font-size:11px; }
.source-organization > .quiet-button,.source-organization > div > .quiet-button { padding-left:0; }
.source-organization .organization-chevron { display:inline-block; margin-right:5px; font-size:18px; line-height:1; }
.source-organization.organizing .organization-chevron { transform:rotate(90deg); }
.source-organization .source-help { margin:4px 0 16px; }
.source-organization:not(.organizing) .organization-control { display:none; }
.source-organization:not(.organizing) .source-row { grid-template-columns:24px 58px minmax(0,1fr) 130px; }
.source-organization:not(.organizing) .source-status { grid-column:4; grid-row:auto; }
.source-organization:not(.organizing) .upload-row { grid-template-columns:23px minmax(0,1fr) 32px; }
.source-organization:not(.organizing) .upload-controls { grid-column:3; }
@media (max-width:600px) {
  .source-organization:not(.organizing) .source-row { grid-template-columns:19px 43px minmax(0,1fr); }
  .source-organization:not(.organizing) .source-status { grid-column:3; grid-row:2; }
  .source-organization:not(.organizing) .upload-row { grid-template-columns:19px minmax(0,1fr) 32px; }
}
.upload-progress { margin:18px 0 10px; padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.conflict-values { white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.7 ui-monospace,monospace; background:#eee7df; padding:15px; max-height:250px; overflow:auto; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip-link { position:fixed; top:8px; left:8px; transform:translateY(-150%); z-index:20; padding:12px; background:white; }
.skip-link:focus { transform:none; }
@media (min-width:1600px) { #inventory-main { padding:48px 55px 0; } .review-layout { grid-template-columns:235px minmax(300px,1fr) minmax(330px,.85fr); } .source-preview { height:440px; } }
@media (max-width:1200px) { .inventory-app { grid-template-columns:205px minmax(0,1fr); } .app-sidebar { padding-left:15px; padding-right:15px; } #inventory-main { padding:30px 24px 0; } .app-topbar { padding:0 24px; } .batch-row { grid-template-columns:38px minmax(0,1fr) 85px 60px 80px 15px; padding:20px; gap:13px; } .batch-row .row-updated { display:none; } .review-layout { grid-template-columns:170px minmax(0,1fr); } .editor-panel { grid-column:2; border-left:0; border-top:1px solid var(--line); } .item-rail { grid-row:1 / 3; } .source-preview { height:300px; } .evidence-panel { padding:20px; } .source-row { grid-template-columns:20px 48px minmax(0,1fr) 118px 72px; gap:11px; padding:15px; } .source-row .source-status { grid-column:3; grid-row:auto; } .source-row .move-buttons { grid-column:5; grid-row:1 / 3; } .source-row > label { grid-column:4; grid-row:1 / 3; } .draft-label { display:none; } }
@media (max-width:900px) { .inventory-app { grid-template-columns:1fr; } .app-sidebar { height:auto; position:static; padding:20px 24px; display:grid; grid-template-columns:1fr auto; gap:20px; } .app-sidebar .wordmark { font-size:11px; } .app-sidebar nav { display:flex; gap:8px; grid-row:2; grid-column:1 / -1; } .nav-link { margin:0; } .sidebar-account { padding:0; border:0; } .sidebar-account > div { display:none; } .nav-label,.sidebar-note { display:none; } .app-topbar { height:52px; } .page-heading { align-items:flex-start; } .stat { padding:20px; } .batch-row { grid-template-columns:43px minmax(0,1fr) 95px 75px 90px 18px; } }
@media (max-width:600px) { .app-sidebar { padding:20px 18px 13px; gap:15px; } .app-sidebar nav { gap:4px; } .nav-link { font-size:11px; padding:10px; } .workspace-tag { display:none; } .app-topbar { padding:0 19px; } #inventory-main { padding:29px 18px 0; } .page-heading { display:block; margin-bottom:25px; } .page-heading > .button,.page-heading > .toolbar-actions { margin-top:20px; } .inventory-app h1 { font-size:33px; } .inventory-app .eyebrow { font-size:8px; letter-spacing:1.4px; } .stat { padding:17px 12px; display:flex; flex-direction:column; align-items:flex-start; gap:10px; } .stat-number { font-size:29px; order:-1; } .stat-label { font-size:9px; } .stat-hint { display:none; } .batch-stats { margin-bottom:28px; } .section-toolbar { align-items:flex-start; flex-direction:column; gap:17px; } .section-toolbar .toolbar-actions,.search-field { width:100%; } .search-field input { width:100%; } .batch-row { grid-template-columns:37px minmax(0,1fr) 65px; padding:18px 14px; gap:12px; } .batch-monogram { width:35px; height:42px; } .batch-row .row-designer,.batch-row .row-proposals,.batch-row .row-arrow { display:none; } .batch-title { font-size:12px; } .workflow-note { padding:20px 17px; align-items:flex-start; gap:13px; } .workflow-note strong { font-size:17px; } .app-footer { margin-top:32px; } .app-footer > span:last-child { font-size:10px; text-align:right; } .batch-tabs { gap:22px; } .review-layout { display:flex; flex-direction:column; } .item-rail { width:100%; border-right:0; border-bottom:1px solid var(--line); } .rail-list { display:flex; overflow:auto; max-height:180px; padding:3px 10px 10px; } .item-button { width:175px; flex:0 0 175px; margin:0 5px 0 0; } .rail-subheading { margin:0; padding:9px 16px; } .rail-note { margin:0; } .evidence-panel,.editor-panel { width:100%; padding:20px 17px; } .source-preview { height:300px; } .source-row { grid-template-columns:19px 43px minmax(0,1fr) 72px; gap:10px; padding:15px 11px; } .source-row > label { grid-column:3; grid-row:2; } .source-row .source-status { grid-column:3; grid-row:3; } .source-row .move-buttons { grid-column:4; grid-row:1 / 4; } .source-row .source-thumb { width:43px; } .source-filename { font-size:11px; } .dialog-header { padding:22px 20px 0; } .dialog-body { padding:18px 20px 23px; } .upload-row { grid-template-columns:19px minmax(0,1fr) 95px; } .upload-controls { grid-column:2; } .upload-row select { grid-column:3; grid-row:1 / 3; } .batch-heading h1 { font-size:32px; } }
.analysis-status { margin:0 0 20px; padding:18px 20px; border:1px solid var(--line, #ded7cd); border-radius:10px; background:linear-gradient(120deg,#f7f1ea,#f0f2e7); font-size:12px; overflow-wrap:anywhere; }
.analysis-status p { margin: 5px 0; }
.progress-heading { display:flex; align-items:center; gap:12px; }
.progress-heading > div { flex:1; min-width:0; }
.progress-heading strong { font-size:14px; font-weight:600; }
.progress-heading p { color:var(--muted); font-size:11px; line-height:1.6; margin:4px 0 0; overflow-wrap:anywhere; }
.progress-emblem { display:grid; place-items:center; flex:0 0 36px; height:36px; border:1px solid #c9d1b9; border-radius:50%; color:var(--green); background:#e7ecdb; font-size:21px; }
.is-active .progress-emblem { color:var(--wine); background:#efe2e5; border-color:#d9c1c9; animation:thread-turn 7s linear infinite; }
.needs-attention .progress-emblem { color:#8a4828; background:#f8e9d8; border-color:#e2c5a1; }
.progress-percent { flex-shrink:0; font:24px Georgia,serif; color:var(--wine); font-variant-numeric:tabular-nums; }
.progress-track { position:relative; overflow:hidden; border-radius:8px; margin-top:15px; height:10px; background:#e3ddd4; }
.progress-track progress { appearance:none; -webkit-appearance:none; display:block; border:0; width:100%; height:100%; background:transparent; color:var(--wine); }
.progress-track progress::-webkit-progress-bar { background:transparent; }
.progress-track progress::-webkit-progress-value { background:linear-gradient(90deg,#69374a,#b8848a); border-radius:8px; transition:width .5s ease; }
.progress-track progress::-moz-progress-bar { background:linear-gradient(90deg,#69374a,#b8848a); border-radius:8px; }
.is-active .progress-track::after { content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 25%,#ffffff80 50%,transparent 75%); transform:translateX(-100%); animation:thread-glide 2.4s ease-in-out infinite; pointer-events:none; }
.work-progress .progress-counts { color:var(--muted); font-size:10px; line-height:1.7; margin:8px 0 0; }
.progress-stages { display:flex; flex-wrap:wrap; gap:8px 22px; list-style:none; padding:13px 0 0; margin:13px 0 0; border-top:1px solid #dcdcd0; font-size:11px; color:var(--muted); }
.progress-stages li { display:flex; align-items:center; gap:6px; }
.progress-stages li.current { color:var(--wine); font-weight:600; }
.progress-stages li.complete { color:var(--green); }
.progress-stages li.attention { color:#8a4828; }
.progress-stages span { font-variant-numeric:tabular-nums; opacity:.85; }
#upload-analysis-status { margin-top:16px; }
@keyframes thread-glide { to { transform:translateX(100%); } }
@keyframes thread-turn { to { transform:rotate(360deg); } }
@media (max-width:600px) { .analysis-status { padding:16px 14px; } .progress-heading { gap:9px; } .progress-heading strong { font-size:12px; } .progress-emblem { flex-basis:29px; height:29px; font-size:18px; } .progress-percent { font-size:21px; } .progress-stages { gap:9px 14px; font-size:10px; } }
@media (prefers-reduced-motion:reduce) { .is-active .progress-emblem,.is-active .progress-track::after { animation:none; } .progress-track progress::-webkit-progress-value { transition:none; } }
.analysis-question, .analysis-error, .needs-check { color: #8a4828; }
.field-evidence { margin: 6px 0 0; font-size: 11px; line-height: 1.5; color: #696157; overflow-wrap: anywhere; }
.field-evidence.needs-check { color: #8a4828; }
.independent-reading { margin-top: 10px; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.independent-reading summary { cursor: pointer; color: var(--wine); }
.independent-reading p { white-space: pre-wrap; }
.independent-code-options { display: flex; flex-wrap: wrap; gap: 4px; }
.suggestion-ring { display:flex; align-items:center; justify-content:space-between; gap:2px; width:fit-content; max-width:100%; margin-top:7px; border:1px solid var(--line); border-radius:24px; background:#f7f1eb; }
.suggestion-ring button { flex:0 0 40px; width:40px; min-height:40px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--wine); font:24px/1 Georgia,serif; cursor:pointer; }
.suggestion-ring button:hover { background:#ebe0db; }
.suggestion-ring button:focus-visible,.use-field-suggestion:focus-visible { outline:2px solid var(--wine); outline-offset:2px; }
.suggestion-position { min-width:48px; text-align:center; font-size:11px; color:var(--wine); white-space:nowrap; font-variant-numeric:tabular-nums; }
.use-field-suggestion { max-width:100%; margin-top:7px; min-height:36px; padding:6px 10px; border:1px solid var(--line); border-radius:18px; color:var(--wine); background:#f7f1eb; font:inherit; font-size:11px; overflow-wrap:anywhere; cursor:pointer; }
.designer-options { display:flex; flex-wrap:wrap; gap:0 6px; }
.receipt-cost-suggestions { margin-top:8px; }
.editor-panel .receipt-cost-suggestions label { font-size:10px; font-weight:400; color:var(--muted); margin-bottom:5px; }
.editor-panel .receipt-cost-suggestions select { font-size:11px; color:var(--wine); text-overflow:ellipsis; }
.evidence-link { padding: 0; border: 0; background: none; color: #71424f; text-decoration: underline; cursor: pointer; font: inherit; text-align: left; }
.analysis-differences { padding: 10px; margin-bottom: 12px; background: #fff5df; border-radius: 8px; font-size: 12px; }

/* Batch work puts the sources and item editor ahead of the surrounding workspace. */
.inventory-app.navigation-collapsed { grid-template-columns:minmax(0,1fr); }
.batch-workspace .app-topbar { height:56px; }
.batch-workspace #inventory-main { padding:20px 32px 0; }
#batch-page[data-stage="review"] .breadcrumb { margin-bottom:12px; }
#batch-page[data-stage="review"] .batch-heading { margin-bottom:8px; gap:12px 24px; }
#batch-page[data-stage="review"] .batch-heading .eyebrow { display:none; }
#batch-page[data-stage="review"] .batch-heading h1 { font-size:30px; margin-bottom:6px; letter-spacing:-.8px; }
#batch-page[data-stage="review"] .batch-context { margin-top:0; gap:8px; }
#batch-page[data-stage="review"] .batch-heading .button { min-height:34px; padding:7px 11px; }
#batch-page[data-stage="review"] .batch-context .button { min-height:30px; padding:5px 8px; font-size:11px !important; }
#batch-page[data-stage="review"] .analysis-status { padding:0; margin-bottom:16px; border-radius:7px; background:#f3f3eb; }
#batch-page[data-stage="review"] .analysis-status > p { margin:0; padding:12px 16px; line-height:1.5; }
.analysis-summary { display:flex; align-items:center; gap:12px; padding:11px 15px; cursor:pointer; list-style:none; }
.analysis-summary::-webkit-details-marker { display:none; }
.analysis-summary:focus-visible { outline:2px solid var(--wine); outline-offset:3px; border-radius:5px; }
.analysis-summary:hover { background:#e9ecdf70; }
.analysis-summary .progress-emblem { flex-basis:26px; height:26px; font-size:16px; }
.analysis-summary-title { flex:1; min-width:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 12px; }
.analysis-summary-title strong { font-size:12px; font-weight:600; }
.analysis-summary-title > span { font-size:11px; color:var(--muted); }
.analysis-check-count { color:#87492d; background:#f5e6d4; border:1px solid #e7d3b8; padding:4px 8px; border-radius:12px; font-size:11px; white-space:nowrap; }
.analysis-details-label { color:var(--wine); font-size:11px; }
.disclosure-chevron { color:var(--wine); font-size:18px; transition:transform .2s ease; }
.analysis-disclosure[open] .disclosure-chevron { transform:rotate(180deg); }
.analysis-details { max-height:min(320px,45svh); overflow:auto; overscroll-behavior:contain; border-top:1px solid var(--line); padding:16px 20px; line-height:1.6; }
.analysis-details:focus-visible { outline:2px solid var(--wine); outline-offset:-3px; }
.analysis-disclosure[open] .analysis-details { animation:notice-appear .2s ease-out; }
.analysis-details .analysis-question { padding:7px 0; border-bottom:1px solid #e4ddd580; }
@media (min-width:1000px) and (max-width:1200px) {
  .navigation-collapsed .review-layout { grid-template-columns:180px minmax(240px,1fr) minmax(300px,1fr); }
  .navigation-collapsed .editor-panel { grid-column:auto; border-top:0; border-left:1px solid var(--line); }
  .navigation-collapsed .item-rail { grid-row:auto; }
}
@media (max-width:600px) {
  .workspace-location { gap:9px; }
  .topbar-brand { font-size:8px; letter-spacing:.7px; }
  .topbar-divider,.workspace-location strong { display:none; }
  .batch-workspace #inventory-main { padding:16px 16px 0; }
  #batch-page[data-stage="review"] .batch-heading h1 { font-size:28px; }
  #batch-page[data-stage="review"] .batch-heading > .toolbar-actions { margin-top:12px; gap:6px; }
  #batch-page[data-stage="review"] .batch-heading > .toolbar-actions .button { flex:1; padding:8px; }
  .analysis-summary { gap:8px; padding:10px; }
  .analysis-summary-title { display:block; }
  .analysis-summary-title > span { display:block; margin-top:3px; }
  .analysis-details-label { display:none; }
  .analysis-check-count { padding:4px 6px; font-size:10px; }
  .analysis-details { padding:12px; }
  .inventory-notice.toast { right:16px; }
}
@media (prefers-reduced-motion:reduce) {
  .inventory-notice.toast,.analysis-disclosure[open] .analysis-details { animation:none; }
  .disclosure-chevron { transition:none; }
}

.lightspeed-catalog { margin: 0 0 18px; padding: 14px 16px; border: 1px solid #cfddd8; border-radius: 10px; background: #f3f8f5; font-size: .875rem; overflow-wrap: anywhere; }
.lightspeed-catalog p { margin: 4px 0 10px; }
.catalog-match + .catalog-match { margin-top: 12px; padding-top: 12px; border-top: 1px solid #cfddd8; }
#item-form input[readonly], #item-form textarea[readonly] { background: #f4f5f2; color: #46514c; }
/* Four-step batch workflow and full-page Lightspeed review. */
.batch-workflow { margin:0 0 28px; }
.batch-workflow ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.batch-workflow li { min-width:0; background:var(--paper); border-right:1px solid var(--line); }
.batch-workflow li:last-child { border-right:0; }
.batch-workflow button,.workflow-step { display:flex; gap:10px; align-items:center; padding:15px; width:100%; height:100%; text-align:left; font:inherit; font-size:12px; line-height:1.5; color:var(--muted); }
.batch-workflow button { border:0; background:transparent; cursor:pointer; }
.batch-workflow button:hover { background:#f0f4ed; color:var(--ink); }
.batch-workflow li[aria-current="step"] { background:#e8efe7; }
.batch-workflow li[aria-current="step"] .workflow-step { color:var(--ink); font-weight:700; }
.step-number { display:grid; place-items:center; flex:0 0 25px; height:25px; border:1px solid currentColor; border-radius:50%; font-size:11px; }
.batch-workflow .complete .step-number { background:#edf1e9; }
.publication-page { max-width:1150px; margin:0 auto; }
.archived-pill { color:#36583e; background:#edf3e9; border-color:#ceddc8; }
.batch-complete { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:0 0 24px; padding:20px; border:1px solid #ceddc8; border-radius:10px; background:#edf3e9; }
.batch-complete > div { flex:1 1 260px; }
.batch-complete h2 { margin:0 0 8px; font:24px/1.3 Georgia,serif; }
.batch-complete p { margin:0; line-height:1.6; }
.publication-page h2 { font:30px/1.25 Georgia,serif; margin:0 0 14px; }
.publication-items { display:grid; gap:1rem; }
.publication-item, .publication-status { padding:1rem; border:1px solid #d6cfc3; border-radius:10px; margin-block:1rem; }
.publication-item { min-width:0; background:var(--paper); }
.publication-selection { display:flex; align-items:start; gap:.7rem; }
.publication-page .publication-selection { font-size:17px; text-align:left; }
.publication-page .publication-selection input { flex:0 0 auto; width:20px; height:20px; min-height:20px; margin:0; padding:0; }
.publication-selection strong { flex:1; min-width:0; overflow-wrap:anywhere; }
.publication-footer { position:sticky; bottom:12px; z-index:2; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 28px #49313c14; margin-block:16px; }
.publication-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; }
.publication-progress { padding:22px 22px 0; }
.publication-progress .work-progress { padding-bottom:18px; border-bottom:1px solid var(--line); }
.publication-progress .progress-heading strong { font-size:17px; }
.publication-progress .progress-heading p { font-size:14px; }
.publication-progress .progress-track { height:14px; }
.publication-progress .is-active .progress-track::after { background:linear-gradient(100deg,transparent 25%,#b8848a88 45%,#69374aaa 50%,#b8848a88 55%,transparent 75%); animation-duration:1.8s; }
.publication-progress .progress-percent { font-size:30px; }
.publication-progress .progress-counts { font-size:12px; }
.publication-footer.is-sending { border-color:#ccb5c0; background:linear-gradient(115deg,#fffefa,#f7edf1); }
.publication-footer.is-sending .publication-actions { justify-content:flex-end; }
.publication-footer.is-sending .publication-actions > :not([data-action="send-publication"]) { display:none; }
.publication-actions [data-action="send-publication"]:disabled { color:#686568; background:#e2dfe1; border-color:#d0cccf; cursor:default; }
#publication-selection-count { flex:1; font-size:13px; color:var(--muted); }
.publication-details { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.7fr); gap:28px; }
.publication-item dl { display:grid; gap:.6rem; }
.publication-item dt { font-size:.8rem; font-weight:700; }
.publication-item dd { margin:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.publication-before { opacity:.65; text-decoration:line-through; }
.publication-photo { margin:1rem 0 0; }
.publication-photo img { display:block; max-width:100%; max-height:240px; object-fit:contain; border-radius:6px; }
.publication-photo figcaption { font-size:.85rem; margin-top:.5rem; }
.publication-status details { margin-top:.8rem; overflow-wrap:anywhere; }
.product-differences { margin-block:1rem; overflow-wrap:anywhere; }
.product-differences h4 { margin-bottom:.35rem; text-transform:capitalize; }
.product-differences p { margin-block:.35rem; white-space:pre-wrap; }
.publication-edit-recovery { margin-block:1rem; }
.publication-item:has(.publication-status.needs-attention),
.publication-status.needs-attention,
.publication-footer:has(.work-progress.needs-attention) { border-color:var(--send-error); background:var(--send-error-background); }
.publication-item:has(.publication-status.needs-attention) > h3,
.publication-status.needs-attention > strong,
.publication-status.needs-attention > p:first-of-type,
.publication-progress .needs-attention .progress-heading,
.publication-progress .needs-attention .progress-heading p,
.publication-progress .needs-attention .progress-percent,
.publication-progress .needs-attention .progress-counts { color:var(--send-error); }
.publication-progress .needs-attention { border-bottom-color:var(--send-error); }
.publication-progress .needs-attention .progress-emblem { color:#fff; background:var(--send-error); border-color:var(--send-error); font-weight:700; }
.publication-progress .needs-attention .progress-track progress { color:var(--send-error); }
.publication-progress .needs-attention progress::-webkit-progress-value { background:var(--send-error); }
.publication-progress .needs-attention progress::-moz-progress-bar { background:var(--send-error); }
.product-photo-preview { margin:12px 0; }
.product-photo-preview img { display:block; max-width:100%; max-height:180px; object-fit:contain; border-radius:6px; }
.product-photo-preview figcaption { font-size:12px; overflow-wrap:anywhere; margin-top:6px; color:var(--muted); }
.photo-crop-actions { display:flex; flex-wrap:wrap; gap:8px; }
.workspace-dialog:has(#photo-crop-form) { width:min(820px,calc(100vw - 24px)); }
#photo-crop-canvas { display:block; max-width:100%; max-height:48svh; margin:0 auto 16px; touch-action:none; cursor:crosshair; }
#photo-crop-canvas[hidden] { display:none; }
#crop-controls { padding:0; margin:0; border:0; min-width:0; }
.crop-rotation-controls { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.crop-coordinates { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.crop-coordinates input { width:100%; min-width:0; }
.photo-output { display:block; }
@media (max-width:540px) {
  .crop-coordinates { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #photo-crop-form .dialog-actions { flex-wrap:wrap; }
}
@media (max-width:700px) {
  .batch-workflow ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .batch-workflow li:nth-child(2) { border-right:0; }
  .batch-workflow li:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .batch-workflow button,.workflow-step { padding:12px; font-size:11px; gap:8px; }
  .publication-details { grid-template-columns:minmax(0,1fr); gap:4px; }
  .publication-footer { position:static; }
  .publication-footer.is-sending { position:sticky; bottom:8px; }
  .publication-actions { padding:12px; }
  .publication-progress { padding:16px 14px 0; }
  .publication-progress .progress-heading strong { font-size:15px; }
  .publication-progress .progress-heading p { font-size:12px; }
  .publication-actions .button { width:100%; }
  #publication-selection-count { flex-basis:100%; }
}
