/* Historical sourcing: a compact ledger, with fully readable mobile records. */
#sourcesPage { color:var(--text,#172033); }
.topbar .logo:focus-visible { outline:2px solid var(--ui-focus,#304fc0); outline-offset:-4px; border-radius:4px; }
#sourcesPage [hidden] { display:none !important; }
#sourcesPage :is(button,a,input,select,summary) { scroll-margin-block:120px 24px; }
.sources-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.sources-heading h1 { display:flex; align-items:center; gap:8px; margin:0 0 6px; font-size:22px; line-height:1.4; }
.sources-heading h1 .ui-icon { width:22px; height:22px; }
.sources-heading p,.sources-hint { color:var(--text-2,#5f6b7a); margin:0; line-height:1.6; }
.sources-scope { flex-shrink:0; font-size:13px; color:var(--text-2,#5f6b7a); }
.sources-filters { display:grid; grid-template-columns:minmax(200px,2fr) minmax(160px,1fr) minmax(120px,.7fr) minmax(160px,1fr) auto; align-items:end; gap:16px; padding:16px; background:var(--surface,#fff); border:1px solid var(--border,#e2e6ec); border-radius:10px; }
.sources-date-controls { grid-column:1 / -1; display:grid; grid-template-columns:180px 180px minmax(0,1fr); gap:16px; align-items:end; }
.sources-date-presets { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
#sourcesPage .sources-date-presets button[aria-pressed=true] { background:var(--primary-soft,#eef1ff); border-color:var(--primary,#3d5bd9); color:var(--primary-hover,#3048b3); }
.sources-filter-error { grid-column:1 / -1; margin:0; padding:8px 12px; border:1px solid var(--danger,#c64555); border-radius:6px; background:var(--danger-soft,#fdeef0); color:#9a2535; font-size:13px; line-height:1.6; }
#sourcesPage input[type=date] { padding-inline:8px; font-variant-numeric:tabular-nums; }
.sources-last-sale { display:block; margin-bottom:6px; font-size:13px; font-variant-numeric:tabular-nums; }
.sources-filters label { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:13px; font-weight:600; }
#sourcesPage :is(input,select) { min-width:0; width:100%; min-height:40px; padding:8px 12px; font:inherit; font-weight:400; }
.sources-filter-actions,.sources-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
#sourcesPage :is(button,.sources-open) { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:8px 12px; border:1px solid var(--border-strong,#cbd2dc); border-radius:7px; background:var(--surface,#fff); color:var(--text,#172033); font:inherit; line-height:1.4; cursor:pointer; text-decoration:none; }
#sourcesPage :is(button,.sources-open) .ui-icon { width:16px; height:16px; }
#sourcesPage :is(button,.sources-open):hover { background:var(--surface-hover,#f2f5fa); border-color:var(--primary,#3d5bd9); }
#sourcesPage :is(button,.sources-open):active { background:var(--primary-soft,#eef1ff); }
#sourcesPage button.primary { color:#fff; background:var(--primary,#3d5bd9); border-color:var(--primary,#3d5bd9); }
#sourcesPage button.primary:hover { background:var(--primary-hover,#3048b3); }
#sourcesPage button:disabled { cursor:default; opacity:.55; }
#sourcesPage :is(button,a,input,select,summary):focus-visible { outline:2px solid var(--ui-focus,#304fc0); outline-offset:3px; }
.sources-hint { padding:12px 2px; font-size:13px; }
.sources-metric-help { margin:0 2px 16px; color:var(--text-2,#5f6b7a); }
.sources-metric-help summary { margin-top:0; }
.sources-metric-help p { max-width:85ch; line-height:1.7; }
.sources-notice { margin-bottom:12px; padding:12px 16px; border:1px solid var(--danger,#c64555); border-radius:7px; color:#9a2535; background:var(--danger-soft,#fdeef0); }
.sources-results { background:var(--surface,#fff); border:1px solid var(--border,#e2e6ec); border-radius:10px; }
.sources-results-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid var(--border,#e2e6ec); }
.sources-results-heading>span { line-height:1.5; font-size:14px; }
.sources-results-heading button { flex-shrink:0; }
#sourcesPage .sources-table { table-layout:fixed; min-width:0 !important; width:100% !important; border-collapse:collapse; font-size:14px; }
.sources-code-col { width:8%; } .sources-image-col { width:80px; } .sources-spec-col { width:16%; } .sources-channel-col { width:6%; } .sources-link-col { width:16%; } .sources-history-col { width:16%; } .sources-refund-col { width:23%; } .sources-action-col { width:140px; }
.sources-table :is(th,td) { padding:14px 12px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--border,#e2e6ec); overflow-wrap:anywhere; line-height:1.6; }
.sources-table thead th { background:var(--surface-subtle,#f8f9fb); color:var(--text,#172033); font-weight:600; font-size:13px; }
.sources-table tbody th { font-weight:600; font-size:14px; color:var(--text,#172033); background:transparent; white-space:normal; }
.sources-table tbody tr:hover { background:var(--surface-subtle,#f8f9fb); }
.sources-code,.sources-price { font-variant-numeric:tabular-nums; }
.sources-table img,.sources-image-empty { display:block; width:64px; height:64px; object-fit:contain; background:#fff; border:1px solid var(--border,#e2e6ec); border-radius:6px; }
.sources-image-empty { display:grid; place-items:center; font-size:12px; color:var(--text-2,#5f6b7a); }
.sources-shops { margin-top:6px; font-size:12px; color:var(--text-2,#5f6b7a); }
.sources-price { display:block; margin:4px 0; font-size:13px; }
.sources-muted { display:block; color:var(--text-2,#5f6b7a); font-size:12px; }
.sources-row-actions { flex-direction:column; align-items:flex-start; }
#sourcesPage .sources-row-actions :is(button,a) { width:150px; max-width:100%; }
#sourcesPage .sources-open { color:var(--primary-hover,#3048b3); border-color:#bbc8ed; }
.sources-domain { display:block; overflow-wrap:anywhere; }
.sources-link-detail summary { display:inline-block; min-height:28px; margin-top:8px; padding:2px 0; cursor:pointer; color:var(--primary-hover,#3048b3); font-size:13px; }
.sources-link-detail summary::before { content:'＋ '; }
.sources-link-detail[open] summary::before { content:'－ '; }
.sources-link-detail p { margin:8px 0 0; overflow-wrap:anywhere; font-size:13px; }
.sources-spec-detail ul { margin:8px 0 0; padding-left:18px; }
.sources-spec-detail li + li { margin-top:6px; }
.sources-refund-badge { display:inline-block; padding:3px 7px; margin-bottom:6px; border:1px solid var(--danger,#c64555); border-radius:5px; background:var(--danger-soft,#fdeef0); color:#98283a; font-size:13px; font-weight:600; }
.sources-sales { display:flex; flex-wrap:wrap; gap:8px 16px; margin:0 0 8px; }
.sources-sales > div { flex:1 1 65px; min-width:0; }
.sources-sales dt { color:var(--text-2,#5f6b7a); font-size:12px; }
.sources-sales dd { margin:2px 0 0; font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.sources-sales dd span { font-size:12px; font-weight:400; }
.sources-refund-summary { margin-top:12px; padding-top:12px; border-top:1px solid var(--border,#e2e6ec); }
.sources-data-warning { display:block; color:var(--text-2,#5f6b7a); font-size:12px; line-height:1.6; }
.sources-refund-preview { display:block; margin-top:8px; font-size:13px; white-space:pre-wrap; }
.sources-refund-detail { margin-top:8px; }
.sources-refund-detail summary { display:inline-flex; align-items:center; min-height:40px; padding:6px 0; cursor:pointer; color:var(--primary-hover,#3048b3); font-size:13px; }
.sources-refund-detail summary::before { content:'＋'; margin-right:8px; }
.sources-refund-detail[open] summary::before { content:'－'; }
.sources-refund-expanded td { background:var(--surface-subtle,#f8f9fb); }
.sources-refund-content { padding:4px; }
.sources-refund-content p { margin:8px 0; }
.sources-refund-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0 0 16px; list-style:none; font-size:14px; }
.sources-refund-list li { padding:16px; border:1px solid var(--border,#e2e6ec); border-radius:6px; background:var(--surface,#fff); }
.sources-refund-list li > div { margin-top:4px; }
.sources-refund-reason { white-space:pre-wrap; overflow-wrap:anywhere; }
.sources-refund-pager { display:flex; gap:8px; align-items:center; flex-wrap:wrap; border-top:1px solid var(--border,#e2e6ec); padding-top:12px; font-size:12px; }
#sourcesPage .sources-refund-pager button { padding:6px 8px; font-size:13px; }
.sources-refund-page-info { flex-basis:100%; order:-1; }
/* Reason capture uses the shared after-sales editor without squeezing existing fields. */
#ordersBody .after-sales-fields .after-sales-field--refund-reason { grid-column:1 / -1; min-width:0; }
#ordersBody .after-sales-field--refund-reason textarea { min-height:44px; max-height:160px; }
.sources-empty { padding:40px 20px; text-align:center; }
.sources-empty h2 { margin:0 0 8px; font-size:18px; }
.sources-empty p { margin:0 0 16px; color:var(--text-2,#5f6b7a); line-height:1.6; }
.sources-pagination { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px; }
.sources-pagination label,.sources-pagination>div { display:flex; align-items:center; gap:12px; font-size:13px; }
#sourcesPage .sources-pagination select { width:84px; }
.sources-pagination span { white-space:nowrap; }
.sources-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) {
  .sources-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sources-keyword { grid-column:1 / -1; }
  .sources-date-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sources-date-presets { grid-column:1 / -1; }
}
@media (max-width:1100px) {
  .sources-table,.sources-table tbody { display:block; }
  .sources-table thead,.sources-table colgroup { display:none; }
  .sources-table tbody tr { display:grid; grid-template-columns:90px minmax(0,1fr); padding:16px; gap:12px 16px; border-bottom:1px solid var(--border,#e2e6ec); }
  .sources-table tbody tr.sources-refund-expanded { grid-template-columns:minmax(0,1fr); }
  .sources-table tbody tr.sources-refund-expanded td { grid-column:1 / -1; background:transparent; }
  .sources-table tbody tr.sources-refund-expanded td::before { display:none; }
  .sources-table tbody :is(th,td) { display:block; min-width:0; padding:0; border:0; }
  .sources-table tbody :is(th,td)::before { content:attr(data-label); display:block; margin-bottom:6px; color:var(--text-2,#5f6b7a); font-size:12px; font-weight:500; }
  .sources-table tbody th { grid-column:2; grid-row:1; }
  .sources-table .sources-image-cell { grid-column:1; grid-row:1 / 3; }
  .sources-image-cell::before { display:none !important; }
  .sources-table tbody td:nth-child(3) { grid-column:2; }
  .sources-table tbody td:nth-child(n+4) { grid-column:1 / -1; }
  .sources-table img,.sources-image-empty { width:80px; height:80px; }
  .sources-row-actions { flex-direction:row; align-items:center; }
  #sourcesPage .sources-row-actions :is(button,a) { width:auto; }
  .sources-link-detail summary { min-height:44px; display:inline-flex; align-items:center; padding:4px 8px; margin:4px 0 0 -8px; }
  .sources-refund-detail summary { min-height:44px; }
  #sourcesPage :is(button,.sources-open,input,select) { min-height:44px; }
  .sources-heading { align-items:flex-start; }
  .sources-scope { display:none; }
}
@media (max-width:600px) {
  .sources-refund-list { grid-template-columns:minmax(0,1fr); }
  .sources-heading h1 { font-size:20px; }
  .sources-filters { grid-template-columns:minmax(0,1fr); padding:16px; }
  .sources-keyword { grid-column:auto; }
  .sources-filter-actions { grid-column:auto; }
  .sources-filter-actions button { flex:1; }
  #sourcesPage .sources-filters :is(input,select) { font-size:16px; }
  .sources-results-heading { flex-wrap:wrap; }
  .sources-pagination { flex-direction:column; align-items:flex-start; }
  .sources-pagination>div { flex-wrap:wrap; gap:8px; }
  .sources-table tbody tr { grid-template-columns:80px minmax(0,1fr); gap:12px; }
  .sources-table img,.sources-image-empty { width:72px; height:72px; }
}
