:root{--chrome-height: 190px;--bg: #f6f7f9;--surface: #ffffff;--border: #dfe3e8;--text: #1b1f24;--muted: #6b7280;--accent: #1f6feb;--accent-soft: #e8f0fe;--warn-bg: #fff8e1;--warn-border: #f0c36d;--warn-text: #8a6100;--danger: #b42318;--danger-bg: #fee4e2;--ok: #067647;--ok-bg: #e6f4ea;--mlf: #7a4a17;--mlf-bg: #fdf5ec;--mff: #1d5b73;--mff-bg: #eef6fa;--radius: 6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:6px 12px;color:var(--text)}button:hover:not(:disabled){background:#f0f2f5}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#1a5fd0}button.danger{color:var(--danger);border-color:#f0b4ae}button.link{border:none;background:none;color:var(--accent);padding:2px 4px;text-decoration:underline}input,select{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}input:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.app-header{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.app-header h1{font-size:16px;margin:0;font-weight:600}.app-header nav{display:flex;gap:4px}.app-header nav button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.spacer{flex:1}.page{padding:16px 20px 60px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar input[type=search]{min-width:260px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.sync-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 16px;margin-bottom:12px}.sync-channels{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex:1;min-width:0}.sync-channel{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap;cursor:pointer}.sync-channel input{cursor:pointer}.sync-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:auto;max-height:calc(100vh - var(--chrome-height))}table.grid{border-collapse:collapse;width:100%;font-size:13px}table.grid th,table.grid td{border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:middle;white-space:nowrap}table.grid thead th{position:sticky;top:0;background:#fafbfc;font-weight:600;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;z-index:5}table.grid tbody tr:hover{background:#fafbfc}table.grid td.title-cell{white-space:normal;min-width:260px;max-width:420px}.thumb{width:34px;height:34px;object-fit:cover;border-radius:4px;background:#eee}.expand-btn{width:24px;padding:2px 6px}.sku{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--muted)}td.price-cell{text-align:right}td.price-cell.mismatch{background:var(--warn-bg)}td.price-cell.mismatch .price-value:after{content:" ≠";color:var(--warn-text);font-weight:700}td.price-cell.empty{color:#c3c8cf}.price-value{cursor:text;padding:2px 4px;border-radius:3px;display:inline-block;min-width:60px}.price-value:hover{background:var(--accent-soft);outline:1px dashed var(--accent)}.price-value.readonly{cursor:not-allowed}.price-value.readonly:hover{background:var(--danger-bg);outline:1px dashed var(--danger)}.editing input{width:92px;text-align:right}tr.detail-row>td{background:#fbfcfd;padding:0}.detail-panel{padding:14px 18px;display:flex;gap:14px;flex-wrap:wrap}.channel-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:12px;min-width:260px;flex:1 1 260px}.channel-card h4{margin:0 0 8px;font-size:13px;display:flex;align-items:center;gap:6px}.channel-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px}.channel-card dt{color:var(--muted)}.channel-card dd{margin:0;word-break:break-word}.badge{display:inline-block;font-size:11px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);color:var(--muted);background:#f3f4f6}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:#a7d8bd}.badge.warn{background:var(--warn-bg);color:var(--warn-text);border-color:var(--warn-border)}.badge.error{background:var(--danger-bg);color:var(--danger);border-color:#f0b4ae}.badge.inferred{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10141a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.dialog{background:var(--surface);border-radius:8px;padding:20px;max-width:520px;width:100%;box-shadow:0 12px 40px #0003}.dialog h3{margin:0 0 10px;font-size:16px}.dialog .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.diff{display:flex;align-items:center;gap:10px;font-size:18px;margin:12px 0}.diff .from{color:var(--muted);text-decoration:line-through}.diff .to{font-weight:600}.alert{padding:10px 12px;border-radius:var(--radius);margin:10px 0;font-size:13px}.alert.warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text)}.alert.error{background:var(--danger-bg);border:1px solid #f0b4ae;color:var(--danger)}.alert.ok{background:var(--ok-bg);border:1px solid #a7d8bd;color:var(--ok)}.queue-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px}.queue-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.candidates{display:flex;gap:10px;flex-wrap:wrap}.candidate{border:1px solid var(--border);border-radius:var(--radius);padding:10px;flex:1 1 240px;min-width:240px;background:#fbfcfd}.candidate .score{font-weight:600}.candidate ul{margin:6px 0 10px;padding-left:16px;color:var(--muted);font-size:12px}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.empty-state{padding:48px 20px;text-align:center;color:var(--muted)}.login-wrap{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-card{width:360px}.login-card h1{font-size:18px;margin:0 0 4px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.field input{width:100%}.pill{display:inline-block;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;border:1px solid transparent}.pill+.pill{margin-left:3px}.pill-mlf{background:var(--mlf-bg);color:var(--mlf);border-color:var(--mlf)}.pill-mff{background:var(--mff-bg);color:var(--mff);border-color:var(--mff)}table.grid tr.src-mlf>td{background:var(--mlf-bg)}table.grid tr.src-mff>td{background:var(--mff-bg)}table.grid tr.src-mlf>td:first-child{box-shadow:inset 3px 0 0 var(--mlf)}table.grid tr.src-mff>td:first-child{box-shadow:inset 3px 0 0 var(--mff)}table.grid tr.src-mlf-mff>td{background:linear-gradient(90deg,var(--mlf-bg),var(--mff-bg))}table.grid tr.src-mlf-mff>td:first-child{box-shadow:inset 3px 0 0 var(--mlf),inset 6px 0 0 var(--mff)}table.grid td.price-cell.mismatch{background:var(--warn-bg)}.badge.inactive{background:var(--bg);color:var(--muted);border:1px solid var(--border);margin-left:6px;font-size:10px}.pill-market{background:var(--bg);color:var(--muted);border-color:var(--border)}table.grid.history td{vertical-align:top}table.grid.history .title-cell{white-space:normal;min-width:220px}.nowrap{white-space:nowrap}.old-value{text-decoration:line-through;color:var(--muted)}.edit-hint{opacity:0;color:var(--muted);font-size:11px;transition:opacity .12s}.price-value:hover .edit-hint{opacity:1}button.link.danger{color:var(--danger)}th.listed-col,td.listed-col{width:46px;text-align:center;padding-left:2px;padding-right:2px}.listed-mark{color:var(--border);vertical-align:middle}.listed-mark.is-listed{color:var(--ok)}table.grid thead th{z-index:3}
