:root {
  --bg:      #0f1117;
  --s1:      #1a1d27;
  --s2:      #222535;
  --bd:      #2d3148;
  --acc:     #6366f1;
  --acc2:    #818cf8;
  --green:   #22c55e;
  --amber:   #f59e0b;
  --red:     #ef4444;
  --text:    #e2e8f0;
  --muted:   #94a3b8;
  --r:       8px;
}

/* ---- BASE ---- */
.tcp-wrap * { box-sizing:border-box; }
.tcp-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--text); max-width:1300px; padding:20px 20px 60px; }
a { text-decoration:none; }

/* ---- HEADER ---- */
.tcp-header { display:flex; align-items:center; justify-content:space-between; background:var(--s1); border:1px solid var(--bd); border-radius:var(--r); padding:16px 20px; margin-bottom:14px; flex-wrap:wrap; gap:10px; }
.tcp-logo { display:flex; align-items:center; gap:10px; }
.tcp-logo-icon { font-size:24px; }
.tcp-logo h1 { font-size:18px; font-weight:700; color:#fff; margin:0 0 1px; }
.tcp-logo p  { color:var(--muted); margin:0; font-size:12px; }
.tcp-header-meta { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.tcp-badge { padding:3px 9px; border-radius:20px; font-size:11px; font-weight:600; }
.tcp-badge-amazon { background:#92400e22; color:#fbbf24; border:1px solid #92400e55; }
.tcp-badge-niche  { background:#1e3a5f22; color:var(--acc2); border:1px solid #1e40af44; }

/* ---- NOTICES ---- */
.tcp-notice { padding:10px 16px; border-radius:var(--r); margin-bottom:12px; font-size:13px; font-weight:500; }
.tcp-notice.success { background:#14532d22; color:#86efac; border:1px solid #166534; }
.tcp-notice.error   { background:#7f1d1d22; color:#fca5a5; border:1px solid #991b1b; }
.tcp-notice.info    { background:#1e3a5f22; color:#93c5fd; border:1px solid #1e40af; }
.tcp-loader { display:inline-block; width:13px; height:13px; border:2px solid #334155; border-top-color:var(--acc); border-radius:50%; animation:spin .6s linear infinite; vertical-align:middle; margin-right:5px; }
@keyframes spin { to { transform:rotate(360deg); } }

/* ---- PANELS ---- */
.tcp-panel { background:var(--s1); border:1px solid var(--bd); border-radius:var(--r); margin-bottom:12px; overflow:hidden; }
.tcp-panel-header { display:flex; align-items:center; justify-content:space-between; padding:11px 18px; border-bottom:1px solid var(--bd); background:var(--s2); }
.tcp-panel-header h2 { margin:0; font-size:14px; font-weight:700; color:#fff; }
.tcp-panel-body { padding:16px 18px; }

/* ---- BUTTONS ---- */
.tcp-btn { display:inline-flex; align-items:center; justify-content:center; padding:7px 16px; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; border:none; transition:all .12s; white-space:nowrap; line-height:1; }
.tcp-btn:disabled { opacity:.45; cursor:not-allowed; }
.tcp-btn-primary { background:var(--acc); color:#fff; padding:9px 20px; font-size:14px; }
.tcp-btn-primary:hover:not(:disabled) { background:#4f46e5; }
.tcp-btn-sm { background:var(--s2); color:var(--acc2); border:1px solid var(--bd); padding:5px 12px; font-size:12px; }
.tcp-btn-sm:hover:not(:disabled) { border-color:var(--acc); color:var(--acc2); }
/* Publish / Draft action buttons — no icons, clean text */
.tcp-btn-pub { background:var(--green); color:#fff; width:100%; margin-bottom:5px; padding:8px 12px; }
.tcp-btn-pub:hover:not(:disabled) { background:#16a34a; }
.tcp-btn-dft { background:#0f4c75; color:#bae6fd; border:1px solid #0369a155; width:100%; padding:8px 12px; }
.tcp-btn-dft:hover:not(:disabled) { background:#0c3d5e; }
.tcp-done-badge { font-size:12px; color:var(--green); }
.tcp-done-badge a { color:var(--acc2); margin-left:4px; }

/* ---- INPUTS ---- */
.tcp-input, .tcp-input-lg { background:var(--s2); border:1px solid var(--bd); color:var(--text); border-radius:6px; padding:8px 12px; font-size:13px; width:100%; }
.tcp-input:focus, .tcp-input-lg:focus { outline:none; border-color:var(--acc); }
.tcp-input-lg { font-size:15px; padding:10px 14px; }
.tcp-input-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.tcp-input-row .tcp-input-lg { flex:1; min-width:180px; }

/* ---- TYPE SELECTOR ---- */
.tcp-type-selector { display:flex; gap:4px; flex-shrink:0; flex-wrap:wrap; }
.tcp-type-btn { background:var(--s2); border:1px solid var(--bd); color:var(--muted); padding:7px 13px; border-radius:6px; cursor:pointer; font-size:12px; font-weight:600; transition:all .12s; white-space:nowrap; }
.tcp-type-btn.active { background:var(--acc); color:#fff; border-color:var(--acc); }
.tcp-type-btn:hover:not(.active) { border-color:var(--acc); color:var(--acc2); }

/* ---- RESULT ROWS ---- */
.tcp-result-row { display:flex; gap:14px; align-items:flex-start; padding:14px 18px; border-bottom:1px solid var(--bd); }
.tcp-result-row:last-of-type { border-bottom:none; }
.tcp-result-row:hover { background:var(--s2); }
.tcp-row-primary  { border-left:3px solid var(--acc); }
.tcp-row-longtail { border-left:3px solid #06b6d4; }
.tcp-row-related  { border-left:3px solid #8b5cf6; }
.tcp-result-main { flex:1; min-width:0; }
.tcp-result-top { display:flex; align-items:center; gap:6px; margin-bottom:7px; flex-wrap:wrap; }
.tcp-row-badge { padding:2px 7px; border-radius:3px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.tcp-badge-primary  { background:#312e8133; color:var(--acc2); }
.tcp-badge-longtail { background:#0e749033; color:#67e8f9; }
.tcp-badge-related  { background:#4c1d9533; color:#d8b4fe; }
.tcp-row-type-lbl { font-size:11px; color:var(--muted); }
.tcp-slug-code { font-size:10px; color:#64748b; background:var(--s2); padding:1px 6px; border-radius:3px; font-family:monospace; max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; vertical-align:middle; }
.tcp-result-title {
  font-size:14px; font-weight:700; color:#fff; margin:0 0 4px;
  padding:3px 6px; border-radius:4px; border:1px solid transparent; cursor:text; line-height:1.4;
}
.tcp-result-title:hover { border-color:var(--bd); }
.tcp-result-title:focus { outline:none; border-color:var(--acc); background:var(--s2); }
.tcp-result-meta { font-size:12px; color:var(--muted); margin-bottom:4px; padding:2px 6px; border-radius:4px; border:1px solid transparent; cursor:text; line-height:1.4; }
.tcp-result-meta:hover { border-color:var(--bd); }
.tcp-result-meta:focus { outline:none; border-color:var(--acc); background:var(--s2); }
.tcp-result-kw { font-size:11px; color:#475569; }
.tcp-result-kw em { color:#64748b; font-style:normal; }
.tcp-result-actions { display:flex; flex-direction:column; gap:4px; min-width:110px; flex-shrink:0; padding-top:2px; }

/* ---- PROGRESS ---- */
.tcp-row-prog { margin-top:7px; }
.tcp-pbar-wrap { height:4px; background:var(--bd); border-radius:2px; overflow:hidden; margin-bottom:4px; }
.tcp-pbar { height:100%; width:2%; background:var(--acc); border-radius:2px; transition:width .5s,background .3s; }
.tcp-pmsg { font-size:11px; color:var(--muted); }
.tcp-pmsg a { color:var(--acc2); }

/* ---- KW DETAILS ---- */
.tcp-kw-details { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; padding:14px 18px; background:var(--s2); border-top:1px solid var(--bd); }
.tcp-detail-col h4 { font-size:11px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; margin:0 0 7px; }
.tcp-detail-col ul { margin:0; padding-left:14px; }
.tcp-detail-col li { font-size:12px; color:var(--text); margin-bottom:3px; }
.tcp-tag { display:inline-block; background:#1e3a8a22; color:#93c5fd; padding:2px 6px; border-radius:3px; font-size:11px; margin:2px; }

/* ---- POSTS TABLE ---- */
.tcp-posts-table { width:100%; border-collapse:collapse; font-size:13px; }
.tcp-posts-table th { background:var(--s2); padding:8px 14px; text-align:left; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--bd); }
.tcp-posts-table td { padding:9px 14px; border-bottom:1px solid var(--bd); vertical-align:middle; }
.tcp-posts-table tr:last-child td { border-bottom:none; }
.tcp-posts-table tr:hover td { background:var(--s2); }
.tcp-post-tc a { color:var(--text); }
.tcp-post-tc a:hover { color:var(--acc2); }
.tcp-live      { color:var(--green); font-weight:700; font-size:11px; }
.tcp-draft-lbl { color:var(--amber); font-weight:700; font-size:11px; }
.tcp-muted-sm  { color:var(--muted); font-size:12px; }
.tcp-tbl-link  { color:var(--acc2); font-size:12px; font-weight:600; margin-right:6px; }
.tcp-tbl-green { color:#86efac; }

/* ---- AUDIT ---- */
.tcp-audit-top { display:flex; gap:16px; align-items:flex-start; margin-bottom:18px; flex-wrap:wrap; }
.tcp-score-circle { display:flex; flex-direction:column; align-items:center; justify-content:center; width:84px; height:84px; border-radius:50%; border:4px solid; flex-shrink:0; }
.score-great { color:var(--green); border-color:var(--green); }
.score-ok    { color:var(--amber); border-color:var(--amber); }
.score-poor  { color:var(--red);   border-color:var(--red);   }
.tcp-score-n { font-size:24px; font-weight:800; line-height:1; }
.tcp-score-g { font-size:12px; font-weight:700; }
.tcp-score-bars { flex:1; min-width:180px; display:flex; flex-direction:column; gap:7px; }
.tcp-sbar-row { display:flex; align-items:center; gap:8px; font-size:12px; }
.tcp-sbar-row > span:first-child { width:70px; color:var(--muted); flex-shrink:0; }
.tcp-sbar-bg   { flex:1; height:7px; background:var(--bd); border-radius:3px; overflow:hidden; }
.tcp-sbar-fill { height:100%; border-radius:3px; transition:width .5s; }
.bar-good { background:var(--green); }
.bar-ok   { background:var(--amber); }
.bar-poor { background:var(--red); }
.tcp-sbar-val { width:30px; text-align:right; font-size:11px; color:var(--muted); }
.tcp-fixes-box { background:var(--s2); border:1px solid var(--bd); border-radius:var(--r); padding:12px 16px; margin-bottom:14px; }
.tcp-fixes-box h3 { font-size:13px; font-weight:700; color:#fff; margin:0 0 8px; }
.tcp-fix { display:flex; align-items:flex-start; gap:8px; padding:5px 0; border-bottom:1px solid var(--bd); font-size:12px; color:var(--text); }
.tcp-fix:last-child { border-bottom:none; }
.tcp-fix-n { width:20px; height:20px; border-radius:50%; background:var(--acc); color:#fff; font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tcp-audit-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; margin-bottom:14px; }
.tcp-acard { border-radius:var(--r); padding:12px; border:1px solid var(--bd); }
.ac-good { background:#14532d11; border-color:#166534; }
.ac-ok   { background:#78350f11; border-color:#92400e; }
.ac-poor { background:#7f1d1d11; border-color:#991b1b; }
.tcp-acard-hd { display:flex; justify-content:space-between; margin-bottom:6px; font-size:12px; }
.tcp-acard-hd strong { color:#fff; }
.tcp-acard-hd span   { color:var(--acc2); font-weight:700; }
.tcp-issue { font-size:11px; color:#fca5a5; margin:2px 0; }
.tcp-sugg  { font-size:11px; color:#86efac; margin:2px 0; }
.tcp-audit-suggest { display:flex; gap:10px; flex-wrap:wrap; }
.tcp-sug-box { background:var(--s2); border:1px solid var(--bd); border-radius:var(--r); padding:10px 14px; flex:1; min-width:200px; }
.tcp-sug-box label { display:block; font-size:10px; font-weight:700; color:var(--muted); text-transform:uppercase; margin-bottom:4px; }
.tcp-sug-box p { margin:0; font-size:12px; color:var(--text); }

/* ---- SETTINGS ---- */
.tcp-settings-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin-bottom:14px; }
.tcp-settings-section { background:var(--s2); border:1px solid var(--bd); border-radius:var(--r); padding:14px 16px; }
.tcp-settings-section h3 { font-size:12px; font-weight:700; color:#fff; margin:0 0 10px; text-transform:uppercase; letter-spacing:.04em; }
.tcp-field { margin-bottom:10px; }
.tcp-field:last-child { margin-bottom:0; }
.tcp-field label { display:block; font-size:11px; font-weight:600; color:var(--muted); margin-bottom:4px; }
.tcp-help { font-size:11px; color:var(--muted); margin:3px 0 0; }
.tcp-help a { color:var(--acc2); }
.req { color:var(--red); }
.tcp-settings-footer { display:flex; align-items:center; gap:10px; padding-top:12px; border-top:1px solid var(--bd); }
.tcp-inline-success { color:var(--green); font-size:12px; font-weight:600; }
.tcp-status-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px; margin-bottom:12px; }
.tcp-status-item { display:flex; align-items:center; gap:8px; padding:9px 12px; background:var(--s2); border:1px solid var(--bd); border-radius:var(--r); }
.tcp-status-item.connected { border-color:#166534; }
.tcp-status-item.missing   { border-color:#991b1b; }
.tcp-status-item.warning   { border-color:#92400e; }
.tcp-status-dot { width:8px; height:8px; border-radius:50%; background:var(--muted); flex-shrink:0; }
.connected .tcp-status-dot { background:var(--green); }
.missing   .tcp-status-dot { background:var(--red); }
.warning   .tcp-status-dot { background:var(--amber); }
.tcp-status-item strong { display:block; font-size:12px; color:#fff; }
.tcp-status-item span   { font-size:11px; color:var(--muted); }
.tcp-test-row { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:10px; }
.tcp-ok  { color:var(--green); font-size:12px; }
.tcp-err { color:var(--red); font-size:12px; }
.tcp-muted { color:var(--muted); font-size:13px; }

/* ---- AMAZON CARDS in published articles ---- */
.tcp-product-card { margin:16px 0; border-radius:8px; overflow:hidden; }
.tcp-listicle-card { display:flex; gap:12px; background:#0f172a; border:1px solid #1e293b; padding:14px; align-items:flex-start; }
.tcp-listicle-card .tcp-rank-badge { background:var(--acc); color:#fff; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12px; flex-shrink:0; }
.tcp-listicle-card .tcp-product-img img { width:120px; height:120px; object-fit:contain; background:#fff; border-radius:6px; padding:4px; }
.tcp-listicle-card .tcp-product-info { flex:1; }
.tcp-listicle-card .tcp-product-title { font-size:14px; font-weight:700; margin:0 0 5px; }
.tcp-listicle-card .tcp-product-title a { color:#e2e8f0; }
.tcp-listicle-card .tcp-product-meta { display:flex; gap:6px; margin-bottom:8px; flex-wrap:wrap; }
.tcp-listicle-card .tcp-features { padding-left:14px; margin:5px 0 8px; color:#94a3b8; font-size:12px; }
.tcp-price  { background:#14532d33; color:#86efac; padding:2px 6px; border-radius:3px; font-size:11px; font-weight:700; }
.tcp-rating { font-size:11px; color:#fcd34d; }
.tcp-btn-amazon { display:inline-block; background:#ff9900; color:#111 !important; padding:7px 16px; border-radius:5px; font-weight:700; font-size:12px; text-decoration:none !important; }
.tcp-disclaimer { font-size:10px; color:#475569; font-style:italic; margin-top:5px; }
.tcp-table-wrap { overflow-x:auto; margin:14px 0; }
.tcp-comparison-table { width:100%; border-collapse:collapse; font-size:13px; }
.tcp-comparison-table th { background:#1e293b; color:#94a3b8; padding:9px 12px; text-align:left; border-bottom:2px solid #334155; font-size:11px; text-transform:uppercase; }
.tcp-comparison-table td { padding:9px 12px; border-bottom:1px solid #1e293b; color:#e2e8f0; }
.tcp-comparison-table tr:hover td { background:#0f172a; }
.tcp-comparison-table a { color:#818cf8; text-decoration:none; font-weight:600; }
.tcp-table-btn { background:#f97316; color:#fff; padding:4px 10px; border-radius:4px; font-size:11px; font-weight:700; text-decoration:none !important; }

/* ---- PRODUCT CARDS v2 ---- */
.tcp-product-card { display:flex; gap:16px; align-items:flex-start; background:#f8fafc; border:1px solid #e2e8f0; border-radius:10px; padding:18px; margin:20px 0; }
.tcp-prod-rank { background:#6366f1; color:#fff; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:14px; flex-shrink:0; }
.tcp-prod-img-wrap { flex-shrink:0; }
.tcp-prod-img { width:130px; height:130px; object-fit:contain; background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:6px; display:block; }
.tcp-prod-body { flex:1; min-width:0; }
.tcp-prod-title { font-size:16px; font-weight:700; margin:0 0 6px; }
.tcp-prod-title a { color:#1e293b; text-decoration:none; }
.tcp-prod-title a:hover { color:#6366f1; text-decoration:underline; }
.tcp-prod-meta { display:flex; gap:8px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.tcp-price  { background:#dcfce7; color:#166534; padding:2px 8px; border-radius:4px; font-size:13px; font-weight:700; }
.tcp-rating { color:#d97706; font-size:13px; font-weight:600; }
.tcp-feat-list { margin:8px 0 12px; padding-left:18px; }
.tcp-feat-list li { font-size:13px; color:#475569; margin-bottom:3px; }
.tcp-amz-btn { display:inline-block; background:#ff9900; color:#111 !important; padding:9px 20px; border-radius:6px; font-weight:700; font-size:14px; text-decoration:none !important; }
.tcp-amz-btn:hover { background:#e68900; }
.tcp-amz-btn-sm { display:inline-block; background:#ff9900; color:#111 !important; padding:5px 12px; border-radius:5px; font-size:12px; font-weight:700; text-decoration:none !important; }
.tcp-amz-disc { font-size:10px; color:#94a3b8; margin-top:6px; font-style:italic; }
.tcp-blog-card { display:flex; gap:12px; padding:14px; }
.tcp-review-card { flex-direction:column; }
@media (max-width:600px) { .tcp-product-card { flex-direction:column; } .tcp-prod-img { width:100%; height:200px; } }

/* ---- ADD PRODUCT LINKS (per row) ---- */
.tcp-btn-addprod { background:transparent; border:1px solid var(--bd); color:var(--muted); padding:5px 10px; font-size:11px; border-radius:5px; cursor:pointer; width:100%; margin-top:5px; transition:all .12s; }
.tcp-btn-addprod:hover { border-color:var(--acc); color:var(--acc2); }
.tcp-addprod-panel { background:#151822; border-top:1px solid var(--bd); overflow:hidden; }
.tcp-addprod-inner { padding:14px 18px 16px; }
.tcp-addprod-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; font-size:13px; font-weight:600; color:#fff; }
.tcp-ap-list { display:flex; flex-direction:column; gap:8px; }
.tcp-ap-row { display:flex; align-items:center; gap:8px; }
.tcp-ap-row-num { width:22px; height:22px; border-radius:50%; background:var(--acc); color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tcp-ap-row-fields { display:flex; gap:8px; flex:1; }
.tcp-ap-row-fields .tcp-input { flex:1; font-size:12px; padding:7px 10px; }
.tcp-ap-remove { background:none; border:none; color:#64748b; font-size:18px; cursor:pointer; padding:0 4px; line-height:1; flex-shrink:0; }
.tcp-ap-remove:hover { color:#fca5a5; }
.tcp-ap-img-preview img { max-height:72px; border-radius:4px; border:1px solid var(--bd); }

/* ---- KEYWORDS MANAGER ---- */
.tcp-import-drop { border:2px dashed var(--bd); border-radius:8px; padding:28px 20px; text-align:center; cursor:pointer; transition:all .15s; color:var(--muted); font-size:13px; }
.tcp-import-drop:hover, .tcp-drop-over { border-color:var(--acc); background:#6366f111; }
.tcp-import-drop strong { color:var(--text); }
.tcp-import-drop a { color:var(--acc2); }
.tcp-kw-table { width:100%; border-collapse:collapse; font-size:13px; }
.tcp-kw-table th { background:var(--s2); padding:9px 14px; text-align:left; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--bd); }
.tcp-kw-table td { padding:10px 14px; border-bottom:1px solid var(--bd); vertical-align:middle; }
.tcp-kw-table tr:last-child td { border-bottom:none; }
.tcp-kw-table tr:hover td { background:var(--s2); }
.tcp-kw-type-lbl { background:var(--s2); border:1px solid var(--bd); color:var(--muted); padding:2px 7px; border-radius:4px; font-size:11px; }
.tcp-kw-pending { color:var(--amber); font-size:12px; font-weight:600; }
.tcp-kw-running { color:#93c5fd; font-size:12px; display:flex; align-items:center; gap:6px; }
.tcp-kw-done    { color:var(--green); font-size:12px; font-weight:600; }
.tcp-kw-done a  { color:var(--acc2); margin-left:4px; }
.tcp-kw-error   { color:var(--red); font-size:12px; font-weight:600; cursor:help; }
.tcp-kw-del { background:none; border:none; color:#475569; font-size:18px; cursor:pointer; padding:2px 6px; line-height:1; }
.tcp-kw-del:hover { color:#fca5a5; }

/* ---- NO-IMAGE PLACEHOLDER ---- */
.tcp-prod-no-img { display:flex; align-items:center; justify-content:center; width:130px; height:130px; background:#f1f5f9; border:1px dashed #cbd5e1; border-radius:8px; color:#94a3b8; font-size:11px; font-weight:600; text-decoration:none !important; text-align:center; padding:8px; }
