/* Fan <-> DJ direct messages (members-only). Uses the site palette from brand/premium/luxe. */
.dm-panel{margin-top:22px}.dm-panel h3{margin:.2em 0 .4em}.dm-panel textarea,.dm-form textarea{width:100%;box-sizing:border-box;background:rgba(255,255,255,.04);color:var(--ink);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;font:inherit;resize:vertical;min-height:96px}
.dm-panel textarea:focus,.dm-form textarea:focus{outline:none;border-color:var(--gold)}
.dm-send{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.dm-lock{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.dm-wrap{display:grid;grid-template-columns:300px 1fr;gap:18px;min-height:460px}
.dm-list,.dm-pane{background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.012)),var(--card,rgba(14,22,64,.55));border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;backdrop-filter:blur(18px)}
.dm-list{display:flex;flex-direction:column;gap:6px;max-height:640px;overflow:auto}.dm-list h3{margin:4px 6px 10px}
.dm-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:14px;padding:10px;color:var(--ink);font:inherit;cursor:pointer}
.dm-item:hover{background:rgba(255,255,255,.05)}.dm-item.on{background:rgba(233,215,166,.08);border-color:rgba(233,215,166,.35)}
.dm-item.unread strong{color:var(--gold)}
.dm-it{display:flex;flex-direction:column;min-width:0;flex:1}.dm-it .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dm-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.dm-badge{background:var(--gold);color:#0a0a0f;border-radius:999px;font-size:.72rem;font-weight:700;min-width:20px;padding:2px 7px;text-align:center}
.dm-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;border:1px solid rgba(255,255,255,.14)}
.dm-av.ph{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#19c9e6,#b44dff);color:#fff;font-weight:700;font-size:.8rem}
.dm-pane{display:flex;flex-direction:column;min-height:460px}
.dm-head{display:flex;align-items:center;gap:12px;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.dm-who{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;margin-right:auto}
.dm-back{display:none}
.dm-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:16px 2px;max-height:520px}
.dm-msg{align-self:flex-start;max-width:78%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px 16px 16px 4px;padding:10px 14px}
.dm-msg.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(25,201,230,.18),rgba(180,77,255,.2));border-color:rgba(180,77,255,.3);border-radius:16px 16px 4px 16px}
.dm-body{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}
.dm-rep{background:none;border:0;color:var(--mut,#9b9aa5);font-size:.75rem;cursor:pointer;margin-left:10px;padding:0;text-decoration:underline}
.dm-form{border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.dm-row{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.dm-row .who{display:flex;align-items:center;gap:10px}
.dm-switch{margin:4px 0 22px;display:flex;align-items:center;gap:10px;font-weight:500}.dm-switch input{width:1.15rem;height:1.15rem;accent-color:#d9c59b}
#dms .card{margin-bottom:22px}
@media(max-width:759px){.dm-wrap{grid-template-columns:1fr}.dm-wrap .dm-pane{display:none}.dm-wrap.open .dm-list{display:none}.dm-wrap.open .dm-pane{display:flex}.dm-back{display:inline-flex}.dm-msg{max-width:90%}}
