.ads-analysis { color: var(--text); font-variant-numeric: tabular-nums; }
.ads-analysis section { margin: 1.5rem 0 2rem; }
.ads-analysis h3 { font-size: 1.125rem; margin: 0 0 .75rem; }
.ads-analysis table { width: 100%; border-collapse: collapse; background: var(--surface); }
.ads-analysis th, .ads-analysis td { padding: .75rem; text-align: right; border-bottom: 1px solid var(--border); white-space: nowrap; }
.ads-analysis th:first-child, .ads-analysis td:first-child { text-align: left; }
.ads-analysis thead { background: var(--surface-2); }
.ads-analysis summary { cursor: pointer; padding: .75rem 0; color: var(--accent); font-weight: 600; }
.ads-analysis summary:hover { text-decoration: underline; text-underline-offset: .2em; }
.ads-analysis summary:focus-visible, .ads-analysis button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.ads-analysis details { border-bottom: 1px solid var(--border); }
.ads-analysis .ads-product-name { color: var(--text); }
.ads-analysis .ads-quality { padding: .875rem 1rem; background: var(--warn-soft); color: var(--warn); border-radius: var(--radius-sm); line-height: 1.6; }
.ads-analysis .ads-quality-ok { background: var(--ok-soft); color: var(--text); }
.ads-analysis .ads-context { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: .5rem 0 1rem; }
.ads-analysis .ads-muted { color: var(--text-muted); font-size: .875rem; }
.ads-analysis .ads-table-scroll { overflow-x: auto; scrollbar-color: var(--border-strong) var(--surface-2); }
.ads-analysis input, .ads-analysis textarea, .ads-analysis select { font: inherit; color: var(--text); caret-color: var(--accent); max-width: 100%; }
.ads-analysis input[type=number] { width: 7rem; }
.ads-analysis textarea { width: 100%; min-height: 5rem; }
.ads-analysis .ads-rules { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; padding: 1rem 0; }
.ads-analysis .ads-rules label { display: grid; gap: .5rem; font-size: .875rem; min-width: 0; }
.ads-analysis .ads-rules input, .ads-analysis .ads-rules select { width: 100%; box-sizing: border-box; border: 1px solid var(--border); border-radius: var(--radius-sm); padding: .5rem; background: var(--surface); min-width: 0; }
.ads-analysis .ads-plan { padding: 1rem 0; }
.ads-analysis pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--surface-2); padding: 1rem; }
.ads-analysis button { min-height: 36px; }
.ads-analysis ::selection { background: var(--accent-soft); color: var(--text); }
#adsOut:has(.ads-analysis) { max-height: none; overflow: visible; }
.ads-analysis .ads-product-toggle { display: grid; gap: .25rem; text-align: left; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--accent); font: inherit; font-weight: 600; padding: .375rem; cursor: pointer; min-width: 14rem; max-width: 25rem; white-space: normal; }
.ads-analysis .ads-product-toggle:hover, .ads-analysis .ads-product-toggle[aria-expanded=true] { background: var(--accent-soft); }
.ads-analysis .ads-product-toggle .ads-product-name { font-weight: 400; }
.ads-analysis .ads-product-detail > td { text-align: left; white-space: normal; padding: 1rem; background: var(--surface-2); }
.ads-analysis .ads-product-detail[hidden] { display: none; }
.ads-analysis .ads-product-detail h4 { margin: 0 0 .75rem; }
.ads-analysis .ads-signal-list { display: grid; gap: .5rem; margin: .75rem 0 1rem; padding: 0; list-style: none; }
.ads-analysis .ads-signal { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: start; gap: .35rem .75rem; padding: .625rem .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); line-height: 1.5; }
.ads-analysis .ads-signal strong { color: var(--accent); }
.ads-analysis .ads-signal[data-kind="stock"], .ads-analysis .ads-signal[data-kind="impressions"], .ads-analysis .ads-signal[data-kind="clicks"], .ads-analysis .ads-signal[data-kind="orders"], .ads-analysis .ads-signal[data-kind="order_cart"], .ads-analysis .ads-signal[data-kind="expensive"] { background: var(--warn-soft); }
.ads-analysis .ads-product-rules { margin: .75rem 0; padding: 0 .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
@media (max-width: 640px) {
  .ads-analysis th, .ads-analysis td { padding: .625rem; }
  .ads-analysis .ads-context { display: grid; gap: .5rem; }
  .ads-analysis .ads-rules { display: grid; grid-template-columns: 1fr 1fr; }
  .ads-analysis .ads-rules button { grid-column: 1 / -1; }
  .ads-analysis .ads-signal { grid-template-columns: 1fr; gap: .125rem; }
}
.ads-plan-table td { vertical-align: top; font-size: .875rem; }
.ads-plan-table .ads-muted, .ads-plan-table + .ads-muted { color: var(--text-muted); font-size: .8rem; }
.ads-plan-table ul.ads-plan-actions { margin: 0; padding-left: 1rem; }
.ads-plan-table tr.ads-plan-bad td:first-child { color: #b42318; font-weight: 600; }
.ads-plan-table tr.ads-plan-warn td:first-child { color: #b54708; font-weight: 600; }
.ads-plan-table tr.ads-plan-good td:first-child { color: #067647; font-weight: 600; }
.ads-plan-table tr.ads-plan-muted td:first-child { color: var(--text-muted); }
