:root{--bg:#f4f6f8;--card:#fff;--text:#17202a;--muted:#718096;--line:#e5e9ef;--accent:#5b4cf0;--green:#11966c}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}.top{padding:22px 32px;background:#171a2b;color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:center}.top h1{margin:0 0 5px;font-size:25px}.top p{margin:0;color:#aeb6ca}.upload{display:flex;gap:8px;align-items:center;flex-wrap:wrap}button,select,input{font:inherit;border:1px solid #dce1e8;border-radius:9px;padding:10px 12px;background:#fff}button{cursor:pointer;font-weight:650}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}main{max-width:1500px;margin:auto;padding:22px}.notice{padding:12px 15px;margin-bottom:15px;border-radius:10px;background:#fff4cc}.notice.ok{background:#dcfce7}.notice.error{background:#fee2e2}.card{background:var(--card);border-radius:14px;box-shadow:0 2px 10px #1e293b0d;border:1px solid #eef1f5;padding:16px;margin-bottom:18px}.filters{display:grid;grid-template-columns:2fr repeat(5,1fr) auto auto;gap:10px}.metrics{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid #edf0f4;border-radius:14px;padding:16px}.metric span{display:block;color:var(--muted);font-size:13px}.metric b{display:block;font-size:23px;margin-top:7px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cardHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cardHead h2{margin:0;font-size:18px}.topItem{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.topItem:last-child{border:0}.rank{width:28px;height:28px;border-radius:8px;background:#efedff;color:var(--accent);display:grid;place-items:center;font-weight:800}.topItem small{display:block;color:var(--muted);margin-top:3px}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1150px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;color:var(--muted);text-transform:uppercase;position:sticky;top:0;background:#fff}td{font-size:14px}.productCell{display:flex;gap:10px;align-items:center;max-width:500px}.productCell img{width:50px;height:50px;object-fit:contain;border-radius:8px;background:#f6f7f9}.productCell a{color:var(--text);text-decoration:none;font-weight:650}.positive{color:var(--green);font-weight:700}.pager{display:flex;justify-content:center;gap:6px;padding-top:15px}.pager button.active{background:var(--accent);color:#fff}.empty{text-align:center;color:var(--muted);padding:25px}@media(max-width:1000px){.top{align-items:flex-start;flex-direction:column}.filters{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}}@media(max-width:600px){main{padding:12px}.top{padding:18px}.filters{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.upload input{max-width:100%}}
.period{display:flex;gap:10px}.period select{min-width:150px}.monthly{display:grid;gap:10px}.monthRow{display:grid;grid-template-columns:90px minmax(120px,1fr) 150px 90px;gap:12px;align-items:center}.monthRow .bar{height:12px;background:#eef0f5;border-radius:99px;overflow:hidden}.monthRow .bar i{display:block;height:100%;background:var(--accent);border-radius:99px}.monthRow em{font-style:normal;color:var(--muted);text-align:right}.productCell small{display:block;color:var(--muted);margin-top:3px}@media(max-width:700px){.monthRow{grid-template-columns:75px 1fr}.monthRow b,.monthRow em{text-align:left}.period{width:100%}.period select{min-width:0;flex:1}}
.filters{grid-template-columns:2fr 1fr 1fr 1fr auto auto}

select:disabled{background:#f1f3f6;color:#9aa3b2;cursor:not-allowed}
.wordstatCard[hidden]{display:none}.wordstatCard .cardHead span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.wordstatSeries{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.wordstatSeries:first-child{border-top:0;padding-top:0;margin-top:0}.wordstatTitle{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:12px}.wordstatTitle h3{margin:0;font-size:17px}.trendUp{color:var(--green)}.trendDown{color:#dc2626}.wordstatMetrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.wordstatMetric{padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.wordstatMetric span{display:block;color:var(--muted);font-size:12px}.wordstatMetric b{display:block;margin-top:5px;font-size:18px}.wordstatRows{display:grid;gap:9px}.wordstatRow{display:grid;grid-template-columns:95px minmax(120px,1fr) 110px;gap:12px;align-items:center}.wordstatBar{height:13px;background:#eef0f5;border-radius:99px;overflow:hidden}.wordstatBar i{display:block;height:100%;background:#2f80ed;border-radius:99px}.wordstatRow b{text-align:right}@media(max-width:900px){.wordstatMetrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.wordstatRow{grid-template-columns:80px 1fr}.wordstatRow b{grid-column:2;text-align:left}.wordstatMetrics{grid-template-columns:1fr 1fr}}


/* Wordstat line chart */
.wordstatChartWrap{margin-top:16px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px 14px 6px;overflow:hidden}.wordstatChartTitle{font-size:14px;font-weight:700;margin:0 0 6px 5px;color:var(--text)}.wordstatChart{display:block;width:100%;height:auto;min-height:280px;overflow:visible}.wordstatGrid{stroke:#e5e7eb;stroke-width:1}.wordstatAxis{stroke:#9ca3af;stroke-width:1.4}.wordstatTick{stroke:#9ca3af;stroke-width:1.2}.wordstatAxisLabel{fill:#4b5563;font-size:13px}.wordstatYAxisValue{font-variant-numeric:tabular-nums}.wordstatYearLabel{fill:#9ca3af;font-size:11px}.wordstatAxisTitle{fill:#374151;font-size:13px;font-weight:650}.wordstatArea{pointer-events:none}.wordstatLine{fill:none;stroke:#ef4444;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.wordstatPoint circle{fill:#ef4444;stroke:#fff;stroke-width:3;transition:r .15s ease}.wordstatPoint:hover circle,.wordstatPoint:focus circle{r:8}.wordstatPoint:focus{outline:none}.wordstatValueLabel{fill:#b91c1c;font-size:12px;font-weight:750;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}@media(max-width:700px){.wordstatChartWrap{padding:10px 4px 2px;overflow-x:auto}.wordstatChart{width:760px;min-height:290px}.wordstatValueLabel{font-size:11px}}

/* New stars */
.newStarsCard .cardHead span{display:block;color:var(--muted);font-size:13px;margin-top:4px}.starsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.starItem{border:1px solid var(--line);border-radius:14px;padding:16px;background:linear-gradient(180deg,#fff 0%,#fcfcff 100%);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.starItem:hover,.starItem:focus{transform:translateY(-2px);box-shadow:0 10px 28px #17202a14;outline:none}.starTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.starTop h3{margin:0;font-size:17px}.starTop small{display:block;color:var(--muted);margin-top:5px}.starBadge{font-size:12px;font-weight:750;border-radius:999px;padding:6px 9px;white-space:nowrap}.starExcellent,.starPromising{background:#dcfce7;color:#087443}.starPossible{background:#fef3c7;color:#a16207}.starMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.starMetrics div{background:#f7f8fb;border-radius:10px;padding:10px}.starMetrics span{display:block;color:var(--muted);font-size:11px}.starMetrics b{display:block;margin-top:5px;font-size:16px}.sparkline{height:66px;border:1px solid #edf0f4;border-radius:10px;padding:5px;background:#fff}.sparkline svg{width:100%;height:100%;display:block}.sparkline polyline{fill:none;stroke:#5b4cf0;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.starText{margin-top:12px}.starText b{font-size:12px}.starText p{margin:4px 0 10px;color:#4b5563;font-size:13px;line-height:1.45}@media(max-width:1050px){.starsGrid{grid-template-columns:1fr}}@media(max-width:650px){.starTop{display:block}.starBadge{display:inline-block;margin-top:8px}.starMetrics{grid-template-columns:1fr 1fr}}
.fulfillmentMetric{grid-column:span 2}.fulfillmentMetric>b{color:var(--accent)}.fulfillmentRows{display:grid;gap:8px;margin-top:12px}.fulfillmentRows>div{display:grid;grid-template-columns:34px 1fr 48px;gap:8px;align-items:center}.fulfillmentRows em{font-style:normal;font-size:12px;font-weight:800}.fulfillmentRows strong{text-align:right;font-size:12px}.fulfillmentBar{height:8px;border-radius:999px;background:#edf0f4;overflow:hidden}.fulfillmentBar i{display:block;height:100%;border-radius:999px;background:var(--accent)}
.categoryStatusMetric{grid-column:span 2;border-left:4px solid #94a3b8}.categoryStatusMetric>b{font-size:20px}.categoryStatusMetric p{margin:7px 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.categoryStatusRows{display:grid;gap:8px}.categoryStatusRows>div{display:grid;grid-template-columns:92px 1fr 48px;gap:8px;align-items:center}.categoryStatusRows em{font-style:normal;font-size:12px;font-weight:700}.categoryStatusRows strong{text-align:right;font-size:12px}.categoryStatusBar{height:8px;border-radius:999px;background:#edf0f4;overflow:hidden}.categoryStatusBar i{display:block;height:100%;border-radius:999px;background:#64748b}.categoryStatusMetric small{display:block;margin-top:10px;color:var(--muted);font-size:12px}.categoryStatus-low{border-left-color:#16a34a}.categoryStatus-low .categoryStatusBar i{background:#16a34a}.categoryStatus-medium{border-left-color:#eab308}.categoryStatus-medium .categoryStatusBar i{background:#eab308}.categoryStatus-high{border-left-color:#dc2626}.categoryStatus-high .categoryStatusBar i{background:#dc2626}@media(max-width:600px){.categoryStatusMetric{grid-column:span 2}.categoryStatusRows>div{grid-template-columns:82px 1fr 42px}}


/* Dashboard KPI layout v21 */
.metrics{display:block;margin-bottom:18px}.metricsPrimary{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin-bottom:12px}.metricsCategory{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:stretch}.metricsCategory>.compactMetric{grid-column:span 2}.metricsCategory>.categoryStatusMetric{grid-column:span 3}.metricsCategory>.fulfillmentMetric{grid-column:span 3}.metricsPrimary .metric,.metricsCategory .metric{min-width:0;height:100%}.metricsPrimary .metric b{font-size:clamp(18px,1.55vw,25px);overflow-wrap:anywhere}.metricsPrimary .metric span{min-height:34px;line-height:1.25}.compactMetric b{font-size:25px}.ratingStars{margin-top:10px;color:#f59e0b;font-size:19px;letter-spacing:1px;white-space:nowrap}.ratingMetric b{margin-top:4px}.competitionMetric{border-top:4px solid #16a34a}.competitionMetric small{display:block;margin-top:7px;font-size:13px;font-weight:750;color:#16a34a}.competition-medium{border-top-color:#eab308}.competition-medium small{color:#a16207}.competition-high{border-top-color:#f97316}.competition-high small{color:#c2410c}.competition-veryHigh{border-top-color:#dc2626}.competition-veryHigh small{color:#b91c1c}.categoryStatusMetric{border-left-width:1px;border-top:4px solid #94a3b8}.categoryStatus-low{border-left-color:#edf0f4;border-top-color:#16a34a}.categoryStatus-medium{border-left-color:#edf0f4;border-top-color:#eab308}.categoryStatus-high{border-left-color:#edf0f4;border-top-color:#dc2626}.fulfillmentMetric{grid-column:auto}.categoryStatusMetric{grid-column:auto}
@media(max-width:1300px){.metricsPrimary{grid-template-columns:repeat(4,minmax(0,1fr))}.metricsCategory>.compactMetric{grid-column:span 4}.metricsCategory>.categoryStatusMetric,.metricsCategory>.fulfillmentMetric{grid-column:span 6}}
@media(max-width:850px){.metricsPrimary{grid-template-columns:repeat(2,minmax(0,1fr))}.metricsCategory{grid-template-columns:repeat(2,minmax(0,1fr))}.metricsCategory>.compactMetric,.metricsCategory>.categoryStatusMetric,.metricsCategory>.fulfillmentMetric{grid-column:span 1}}
@media(max-width:600px){.metricsPrimary,.metricsCategory{grid-template-columns:1fr}.metricsCategory>.compactMetric,.metricsCategory>.categoryStatusMetric,.metricsCategory>.fulfillmentMetric{grid-column:1}.metricsPrimary .metric span{min-height:0}}

/* V22: единый ряд аналитических рекомендаций */
.insightsRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px;align-items:stretch}
.insightCard{margin:0;min-width:0;padding:18px;border-top:4px solid #8b5cf6}
.insightRising{border-top-color:#16a34a}.insightAttention{border-top-color:#f59e0b}
.insightCard .cardHead{margin-bottom:12px}.insightCard .cardHead h2{font-size:19px}.insightCard .cardHead span{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:4px}
.signalList{display:grid;gap:8px}.signalItem{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fafbfc;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.signalItem:hover{transform:translateY(-1px);box-shadow:0 7px 20px #17202a12;border-color:#d7dbe2}.signalRank{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#ede9fe;color:#6d28d9;font-size:12px;font-weight:800}.insightRising .signalRank{background:#dcfce7;color:#15803d}.insightAttention .signalRank{background:#fef3c7;color:#b45309}
.signalMain{min-width:0}.signalMain b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signalMain small{display:block;color:var(--muted);font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.signalMain em{display:block;color:#4b5563;font-style:normal;font-size:11px;line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.signalStats{text-align:right;white-space:nowrap}.signalStats b{display:block;font-size:14px}.signalStats small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
@media(max-width:1180px){.insightsRow{grid-template-columns:1fr}.insightCard{padding:16px}.signalList{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.signalList{grid-template-columns:1fr}.signalMain em{display:none}}

/* V22: компактный блок поискового спроса в общем стиле */
.wordstatCard{max-width:1180px;margin-left:auto;margin-right:auto;padding:20px;border-top:4px solid var(--accent)}
.wordstatCard .cardHead{margin-bottom:10px}.wordstatCard .cardHead h2{font-size:20px}.wordstatSeries{padding-top:14px;margin-top:14px}.wordstatTitle{margin-bottom:10px}.wordstatTitle h3{font-size:15px}
.wordstatMetrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}.wordstatMetric{padding:10px;border-radius:10px;background:#fafbfc}.wordstatMetric b{font-size:16px}
.wordstatChartWrap{margin-top:12px;border-radius:12px;background:#fafbfc;padding:10px 10px 2px}.wordstatChartTitle{font-size:13px}.wordstatChart{min-height:230px}.wordstatLine{stroke:var(--accent);stroke-width:3}.wordstatPoint circle{fill:var(--accent)}.wordstatValueLabel{fill:#4f46e5}.wordstatArea{opacity:.8}
@media(max-width:900px){.wordstatCard{max-width:100%}.wordstatMetrics{grid-template-columns:repeat(2,1fr)}}

/* V23: ИИ-аналитик */
.aiAssistantButton{position:fixed;right:22px;bottom:22px;z-index:80;border:0;border-radius:999px;padding:14px 19px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-weight:800;box-shadow:0 12px 32px #4f46e54d;cursor:pointer}.aiAssistantButton:hover{transform:translateY(-1px)}
.aiAssistantPanel{position:fixed;inset:0;z-index:100;background:#11182766;display:grid;place-items:end}.aiAssistantPanel[hidden]{display:none}.aiAssistantDrawer{width:min(470px,100%);height:min(760px,92vh);background:#fff;border-radius:22px 0 0 0;box-shadow:-18px -10px 55px #11182733;display:grid;grid-template-rows:auto auto 1fr auto;overflow:hidden}.aiAssistantHead{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--line)}.aiAssistantHead h2{margin:0;font-size:20px}.aiAssistantHead p{margin:5px 0 0;color:var(--muted);font-size:12px}.aiAssistantClose{border:0;background:#f3f4f6;border-radius:10px;width:36px;height:36px;font-size:22px;cursor:pointer}.aiQuickActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line)}.aiQuickActions button{border:1px solid var(--line);border-radius:10px;background:#fafafa;padding:9px 10px;font-size:12px;font-weight:700;text-align:left;cursor:pointer}.aiQuickActions button:hover{border-color:#a5b4fc;background:#eef2ff}.aiAssistantMessages{padding:18px;overflow:auto;background:#f8fafc;display:flex;flex-direction:column;gap:12px}.aiMessage{max-width:91%;border-radius:14px;padding:11px 13px;font-size:13px;line-height:1.55;box-shadow:0 3px 10px #1118270d}.aiMessage-user{align-self:flex-end;background:#4f46e5;color:#fff}.aiMessage-assistant{align-self:flex-start;background:#fff;border:1px solid var(--line)}.aiMessage-error{border-color:#fecaca;background:#fff1f2;color:#b91c1c}.aiAssistantForm{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px;background:#fff;border-top:1px solid var(--line)}.aiAssistantForm textarea{resize:none;min-height:58px;max-height:130px;border:1px solid var(--line);border-radius:12px;padding:11px;font:inherit}.aiAssistantForm button{border:0;border-radius:12px;padding:0 16px;background:#4f46e5;color:#fff;font-weight:800;cursor:pointer}.aiAssistantForm button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.aiAssistantButton{right:14px;bottom:14px}.aiAssistantDrawer{height:100vh;border-radius:0}.aiQuickActions{grid-template-columns:1fr}}

.productsControls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.perPageControl{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.perPageControl select{min-width:76px}.cardHead #found{display:block;color:var(--muted);font-size:13px;margin-top:4px}@media(max-width:700px){.cardHead{align-items:flex-start;gap:12px}.productsControls{justify-content:flex-end}.perPageControl{width:100%;justify-content:flex-end}}
