/* Artist database screens (Artists, Artist detail, Research queue).
   Builds on admin.html's tokens and components (.btn, .form-*, .status-badge). */

.ad-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border)}
.ad-tab{background:none;border:none;border-bottom:2px solid transparent;color:rgba(255,241,214,.5);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;cursor:pointer;margin-bottom:-1px}
.ad-tab:hover{color:var(--cream)}
.ad-tab.active{color:var(--yellow);border-bottom-color:var(--yellow)}
.ad-tab .ad-tab-count{color:var(--orange);margin-left:4px}

.ad-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.ad-toolbar .form-input,.ad-toolbar .form-select{width:auto;padding:9px 12px;font-size:13px}
.ad-toolbar .form-select{padding-right:30px}
.ad-search{flex:1 1 220px;min-width:180px}
.ad-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,241,214,.7);cursor:pointer;white-space:nowrap}
.ad-check input{accent-color:var(--yellow)}
.ad-toolbar-right{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ad-count{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,241,214,.35);margin-bottom:8px}

.ad-table{background:var(--surface2);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:24px}
.ad-cols{display:grid;grid-template-columns:minmax(0,1.4fr) 100px 100px 130px 100px 100px 100px;gap:12px;align-items:center}
.ad-head{padding:10px 20px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,241,214,.3)}
.ad-row{padding:11px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}
.ad-row:last-child{border-bottom:none}
.ad-row:hover{background:rgba(255,241,214,.03)}
.ad-name{font-size:13px;font-weight:500;color:var(--cream);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-sub{font-family:var(--mono);font-size:9px;color:rgba(255,241,214,.35);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.ad-cell{font-family:var(--mono);font-size:11px;color:rgba(255,241,214,.6)}
.ad-cell-label{display:none}
.ad-more{padding:14px 20px;text-align:center}

/* Status badges */
.ad-st-not_started{background:rgba(255,241,214,.06);color:rgba(255,241,214,.55)}
.ad-st-in_progress{background:rgba(255,215,32,.1);color:var(--yellow)}
.ad-st-done{background:rgba(62,207,142,.12);color:var(--green)}
.ad-st-needs_review{background:rgba(255,111,59,.12);color:var(--orange)}
.ad-dnc{background:rgba(255,68,68,.14);color:#ff6b6b}
.ad-cs-unverified{color:rgba(255,241,214,.6)}
.ad-cs-valid{color:var(--green)}
.ad-cs-bounced,.ad-cs-unsubscribed{color:#ff6b6b}
.ad-cs-outdated{color:var(--orange)}
.ad-zero{color:rgba(255,241,214,.25)}

/* Artist detail */
.ad-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}
.ad-detail-head h2{font-size:22px;font-weight:700;color:var(--cream);margin-right:4px}
.ad-detail-meta{font-family:var(--mono);font-size:10px;color:rgba(255,241,214,.45);letter-spacing:.04em}
.ad-detail-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ad-panels{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}
.ad-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.ad-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px 18px}
.ad-span2{grid-column:span 2}
.ad-span3{grid-column:1/-1}
.ad-hint{font-size:11px;color:rgba(255,241,214,.4);line-height:1.5}
.ad-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ad-form-msg{display:none;font-size:12px;padding:10px 12px;border-radius:4px;line-height:1.5}
.ad-form-msg.error{display:block;background:rgba(255,111,59,.1);color:var(--orange);border:1px solid rgba(255,111,59,.3)}
.ad-form-msg.ok{display:block;background:rgba(62,207,142,.1);color:var(--green);border:1px solid rgba(62,207,142,.25)}
.ad-dnc-box{border:1px solid rgba(255,68,68,.25);background:rgba(255,68,68,.04);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}

.ad-contact{border:1px solid var(--border);border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:rgba(255,241,214,.02)}
.ad-contact-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ad-contact-who{font-size:13px;font-weight:600;color:var(--cream)}
.ad-contact-lines{display:flex;flex-direction:column;gap:3px;font-size:12px;color:rgba(255,241,214,.75);word-break:break-all}
.ad-contact-lines a{color:var(--teal)}
.ad-contact-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ad-mini{font-family:var(--mono);font-size:10px;background:rgba(255,241,214,.04);border:1px solid var(--border);color:var(--cream);border-radius:3px;padding:5px 8px;outline:none}
.ad-mini:focus{border-color:var(--yellow)}
select.ad-mini option{background:#1e1610}
.ad-mini-label{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,241,214,.35)}
.ad-role{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);background:rgba(92,189,193,.1);padding:3px 6px;border-radius:3px}
.ad-prio{font-family:var(--mono);font-size:9px;color:var(--yellow)}
.ad-list-gap{display:flex;flex-direction:column;gap:10px}
.ad-appear{display:flex;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px;cursor:pointer}
.ad-appear:last-child{border-bottom:none}
.ad-appear:hover .ad-appear-title{color:var(--yellow)}
.ad-appear-code{font-family:var(--mono);font-size:9px;color:var(--teal);flex-shrink:0;width:56px}
.ad-appear-title{color:var(--cream);flex:1;min-width:0}

/* MusicBrainz */
.ad-mb-tag{display:inline-block;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);background:rgba(92,189,193,.1);border:1px solid rgba(92,189,193,.25);padding:2px 6px;border-radius:3px;margin-left:4px;vertical-align:middle;white-space:nowrap}
.ad-mb-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.ad-mb-head .ad-mb-tag{margin-left:0}
.ad-mb-name{color:var(--yellow);font-size:13px;font-weight:600;text-decoration:none}
.ad-mb-name:hover{text-decoration:underline}
.ad-mb-links{display:flex;flex-direction:column;gap:4px;font-size:12px}
.ad-mb-links a{color:var(--teal)}
.ad-mb-cand{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:rgba(255,241,214,.02)}
.ad-mb-stats{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;color:rgba(255,241,214,.6);margin-bottom:14px}
.ad-mb-stats b{color:var(--cream);font-size:15px;margin-right:2px}
.ad-mb-run{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6;color:rgba(255,241,214,.75);border:1px solid rgba(92,189,193,.2);border-left:3px solid var(--teal);background:rgba(92,189,193,.06);border-radius:4px;padding:12px 14px;margin-bottom:18px}
.ad-mb-run b{color:var(--cream)}
a.ad-mb-tag{text-decoration:none}
.ad-dc-tag{color:var(--orange);background:rgba(255,111,59,.08);border-color:rgba(255,111,59,.3)}
a.ad-dc-tag:hover{text-decoration:underline}
.ad-dc-bio{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.ad-dc-bio-text{font-size:12px;line-height:1.6;color:rgba(255,241,214,.75);white-space:pre-line}

/* Research queue */
.ad-howto{font-size:12px;line-height:1.6;color:rgba(255,241,214,.65);background:rgba(92,189,193,.06);border:1px solid rgba(92,189,193,.2);border-left:3px solid var(--teal);border-radius:4px;padding:10px 14px;margin-bottom:14px}
.ad-howto b{color:var(--cream);font-weight:600}
.ad-progress{display:flex;align-items:center;gap:14px;margin:4px 0 16px;flex-wrap:wrap}
.ad-progress-text{font-size:14px;font-weight:600;color:var(--cream)}
.ad-progress-bar{flex:1 1 200px;height:6px;background:rgba(255,241,214,.08);border-radius:3px;overflow:hidden;min-width:120px}
.ad-progress-fill{height:100%;background:var(--green);transition:width .3s}
.ad-q-row{display:grid;grid-template-columns:34px minmax(0,1.3fr) minmax(0,1fr) 150px;gap:14px;padding:14px 20px;border-bottom:1px solid var(--border);align-items:start}
.ad-q-row:last-child{border-bottom:none}
.ad-q-num{font-family:var(--mono);font-size:12px;color:var(--teal);font-weight:700;padding-top:2px}
.ad-q-track{font-size:13px;color:var(--cream);font-weight:500;line-height:1.4}
.ad-q-raw{font-family:var(--mono);font-size:9px;color:rgba(255,241,214,.3);margin-top:3px;word-break:break-word}
.ad-q-artist{display:flex;flex-direction:column;gap:5px;min-width:0}
.ad-link{color:var(--yellow);cursor:pointer;font-size:13px;font-weight:600;background:none;border:none;padding:0;text-align:left;font-family:var(--font)}
.ad-link:hover{text-decoration:underline}
.ad-feat{font-size:11px;color:rgba(255,241,214,.5)}
.ad-feat .ad-link{font-size:11px;font-weight:500;color:rgba(255,241,214,.7)}
.ad-q-side{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.ad-q-extra{grid-column:2/-1;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.ad-q-extra .form-textarea{min-height:44px;font-size:13px;padding:8px 10px}
.ad-unlinked{color:var(--orange);font-size:12px}

.ad-export-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;margin-bottom:24px;background:var(--surface2)}
.ad-export{border-collapse:collapse;font-size:11px;min-width:1100px;width:100%}
.ad-export th{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,241,214,.4);text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}
.ad-export td{padding:7px 10px;border-bottom:1px solid var(--border);color:rgba(255,241,214,.8);vertical-align:top}
.ad-export tr.ad-excluded td{color:#ff8a8a}
.ad-export .ad-nf{color:rgba(255,241,214,.3)}

.ad-dupe{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 70px auto;gap:12px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border)}
.ad-dupe:last-child{border-bottom:none}
.ad-dupe-vs{font-family:var(--mono);font-size:9px;color:rgba(255,241,214,.3)}
.ad-dupe-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ad-radio{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;font-size:13px}
.ad-radio input{accent-color:var(--yellow)}

#ad-dialog .dialog{max-width:480px;text-align:left}
#ad-dialog .dialog h3{text-align:left}
#ad-dialog .dialog-body{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;font-size:13px;color:rgba(255,241,214,.75);line-height:1.55}
#ad-dialog .dialog-actions{justify-content:flex-end}

/* Phones and narrow windows */
@media(max-width:1200px){
  .ad-cols{display:flex;flex-wrap:wrap;gap:6px 12px}
  .ad-cols.ad-head:not(.ad-list-head){display:none}
  .ad-list-head{display:flex;flex-wrap:wrap}
  .ad-cols>div:first-child{flex:1 1 100%}
  .ad-cell-label{display:inline;color:rgba(255,241,214,.3);margin-right:4px}
  .ad-q-row{grid-template-columns:28px minmax(0,1fr)}
  .ad-q-artist,.ad-q-side{grid-column:2}
  .ad-q-side{flex-direction:row;flex-wrap:wrap}
  .ad-q-extra{grid-column:1/-1;grid-template-columns:1fr}
  .ad-dupe{grid-template-columns:1fr;gap:6px}
  .ad-dupe-actions{justify-content:flex-start}
}
@media(max-width:700px){
  .ad-grid2,.ad-grid3{grid-template-columns:1fr}
  .ad-span2{grid-column:auto}
  .ad-toolbar .form-select,.ad-toolbar .form-input{flex:1 1 140px}
  .ad-toolbar-right{margin-left:0;width:100%}
  .ad-toolbar-right .btn{flex:1}
  .ad-detail-actions{margin-left:0;width:100%}
  .ad-detail-actions .btn{flex:1}
  .ad-row,.ad-head,.ad-q-row,.ad-dupe{padding-left:14px;padding-right:14px}
}

.ad-spotify{display:inline-flex;vertical-align:middle;margin-left:6px;line-height:0}
.ad-spotify:hover{filter:brightness(1.15)}
.ad-miss{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;margin-left:4px;border:1px solid rgba(255,140,60,.35);border-radius:10px;color:var(--orange)}
.ad-btn-instagram{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;border:0}
.ad-btn-instagram:hover{filter:brightness(1.12)}
.ad-btn-spotify{background:#1ED760;color:#000;border:0;text-decoration:none;display:inline-flex;align-items:center}
.ad-btn-spotify:hover{filter:brightness(1.1)}
.ad-open{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;margin-left:6px;color:var(--teal);text-decoration:none}
.ad-open:hover{text-decoration:underline}
.ad-open{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-left:8px;padding:3px 11px;border-radius:4px;background:var(--teal);color:#0b1a1b;text-decoration:none;vertical-align:middle}
.ad-open:hover{filter:brightness(1.15);text-decoration:none}
.ad-mb-manual{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}
.ad-mb-manual-row{display:flex;gap:8px}
.ad-mb-manual-row .form-input{flex:1;min-width:0}
.ad-head.ad-list-head{align-items:end}
.ad-hcell{display:flex;flex-direction:column;gap:5px;min-width:0}
.ad-sort{background:none;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;white-space:nowrap}
.ad-sort:hover,.ad-sort.on{color:var(--cream)}
.ad-sort span{color:var(--teal);margin-left:2px}
.ad-hsel{width:100%;max-width:140px;background:rgba(255,241,214,.05);border:1px solid rgba(255,241,214,.12);color:rgba(255,241,214,.6);font-family:var(--mono);font-size:9px;border-radius:3px;padding:3px 4px}
.ad-hsel.on{border-color:var(--teal);color:var(--teal)}
.ad-imp{display:flex;flex-direction:column;gap:10px;font-size:12px;line-height:1.5}
.ad-imp p{margin:0}
.ad-imp-box{max-height:42vh;overflow:auto;border:1px solid var(--border);border-radius:4px;padding:8px 10px;background:rgba(255,241,214,.03);font-size:11px}
.ad-imp-problems{border-color:rgba(255,111,59,.35);color:var(--orange)}
.ad-imp-line{padding:2px 0;border-bottom:1px solid rgba(255,241,214,.05)}
.ad-imp-old{color:rgba(255,241,214,.45);text-decoration:line-through}
.ad-imp-new{color:var(--green)}

/* Instagram status next to an artist name */
.ad-ig{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:1px 7px;border-radius:10px;border:1px solid;margin-left:8px;vertical-align:middle;white-space:nowrap;cursor:default}
.ad-ig-ok{color:var(--green);border-color:rgba(120,200,140,.4);background:rgba(120,200,140,.08)}
.ad-ig-none{color:rgba(255,241,214,.55);border-color:rgba(255,241,214,.25)}
.ad-ig-todo{color:#e07a7a;border-color:rgba(224,122,122,.5);background:rgba(224,122,122,.1)}
.ad-section-title{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,241,214,.55)}
