/* Анализ прайсов — стили. */
.pl-root { padding: 1.5rem 2rem; max-width: 1280px; margin: 0 auto; }
.pl-head { margin-bottom: 1.5rem; }
.pl-title { margin: 0 0 .25rem; }
.pl-title .badge { vertical-align: middle; font-size: .7em; }
.pl-sub { margin: 0; }

.pl-tabs { margin-bottom: 1rem; }

.pl-card {
    background: var(--surface, #1c2330);
    border: 1px solid var(--border-color, #2b3545);
    border-radius: 10px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
}
.pl-card h5 { margin: 0 0 .5rem; font-weight: 600; }

.pl-dropzone {
    border: 2px dashed var(--border-color, #39455a);
    border-radius: 10px;
    padding: 2rem 1rem;
    text-align: center;
    color: var(--text-muted, #8998ab);
    transition: background .15s, border-color .15s;
    margin-top: .5rem;
}
.pl-dropzone i { font-size: 2rem; display: block; margin-bottom: .25rem; }
.pl-dropzone.pl-dz-hover { border-color: var(--primary, #4f7df2); background: rgba(79,125,242,0.05); }
.pl-dz-browse { color: var(--primary, #4f7df2); cursor: pointer; text-decoration: underline; }
.pl-dz-browse input { display: none; }

.pl-files-list { margin-top: 1rem; display: flex; flex-direction: column; gap: .5rem; }
.pl-file-card {
    display: flex; align-items: center; gap: .75rem;
    padding: .6rem .8rem;
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border-color, #2b3545);
    border-radius: 8px;
}
.pl-file-card.pl-file-loading { color: var(--text-muted); justify-content: flex-start; }
.pl-file-head { display: flex; align-items: center; gap: .75rem; width: 100%; }
.pl-file-head > i { font-size: 1.2rem; }
.pl-file-name { flex: 1; min-width: 0; }

.pl-queries { font-family: 'JetBrains Mono', monospace; font-size: 14px; resize: vertical; }

.pl-actions-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: .5rem; margin-top: .5rem;
}
.pl-action-card {
    display: flex; flex-direction: column; gap: .2rem;
    padding: .6rem .75rem;
    border: 1px solid var(--border-color, #2b3545);
    border-radius: 8px; cursor: pointer;
    transition: background .12s, border-color .12s;
}
.pl-action-card input[type="checkbox"] { position: absolute; opacity: 0; }
.pl-action-card:has(input:checked) {
    background: rgba(79,125,242,0.08);
    border-color: var(--primary, #4f7df2);
}
.pl-action-card.pl-beta .pl-action-title small { margin-left: .3em; }
.pl-action-title { font-weight: 500; }
.pl-action-desc { font-size: .8rem; color: var(--text-muted, #8998ab); line-height: 1.3; }

.pl-submit { text-align: right; margin-top: 1rem; }
.pl-submit .btn-lg { padding: .7rem 2rem; }

/* Job view */
.pl-job-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.pl-job-actions { display: flex; gap: .5rem; flex-wrap: wrap; }

.pl-job-meta { display: flex; gap: 1.5rem; margin: 1rem 0; flex-wrap: wrap; color: var(--text-muted); font-size: .9rem; }
.pl-job-meta b { color: var(--text-color, #e1e6ef); }

.pl-progress { margin: 1rem 0; }
.pl-progress .progress { height: 24px; }
.pl-progress-stage { text-transform: capitalize; }

.pl-status { text-transform: uppercase; font-size: .75rem; font-weight: 600; padding: .15rem .5rem; border-radius: 4px; }
.pl-status-done    { background: #1f7a33; color: #fff; }
.pl-status-running { background: #1a5a94; color: #fff; }
.pl-status-queued  { background: #6b5a1e; color: #fff; }
.pl-status-error   { background: #8b1e1e; color: #fff; }

.pl-tag { font-size: .72rem; padding: .1rem .4rem; border-radius: 4px; font-weight: 600; text-transform: uppercase; }
.pl-tag-ok           { background: #1f7a33; color: #fff; }
.pl-tag-missing      { background: #6b2121; color: #fff; }
.pl-tag-out_of_stock { background: #6b5a1e; color: #fff; }
.pl-tag-duplicate    { background: #4c3d99; color: #fff; }
.pl-tag-reference    { background: #2a6b78; color: #fff; }

.pl-results-wrap { margin-top: 1rem; max-height: 70vh; overflow: auto; }
.pl-results { font-size: .875rem; }
.pl-results thead th { position: sticky; top: 0; background: var(--surface); z-index: 2; }
.pl-results td.pl-ai-comment { color: var(--text-muted, #8998ab); max-width: 320px; }

.pl-history td { vertical-align: middle; }

/* Светлая тема */
[data-theme="light"] .pl-card { background: #ffffff; border-color: #e1e6ef; }
[data-theme="light"] .pl-dropzone { border-color: #c9d1de; color: #6b7280; }
[data-theme="light"] .pl-dropzone.pl-dz-hover { background: #eef3ff; }
[data-theme="light"] .pl-file-card { background: #f6f8fb; border-color: #e1e6ef; }
[data-theme="light"] .pl-action-card { border-color: #e1e6ef; }
[data-theme="light"] .pl-action-card:has(input:checked) { background: #eef3ff; }
[data-theme="light"] .pl-results thead th { background: #ffffff; }
[data-theme="light"] .pl-action-desc { color: #6b7280; }
