.queue-session-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;letter-spacing:0}
.queue-session-actions button,.queue-confirm-actions button,#room-history-dialog article button{min-height:44px;padding:8px 12px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font:500 12px/1.4 'Inter',sans-serif;cursor:pointer;border-radius:5px!important}
.queue-session-actions button[hidden]{display:none}
.queue-session-actions button:disabled,#room-history-dialog button:disabled{opacity:.45;cursor:default}
.qhdr{flex-wrap:wrap}
#room-history-dialog,#clear-queue-dialog{box-sizing:border-box;width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);overflow:auto}
#room-history-dialog::backdrop,#clear-queue-dialog::backdrop{background:#000a}
#room-history-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#room-history-dialog h2,#clear-queue-dialog h2{font-size:20px;line-height:1.3;margin:0}
#room-history-dialog header button{flex:0 0 44px;width:44px;height:44px;padding:0;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:22px;cursor:pointer}
#room-history-dialog p,#clear-queue-dialog p{font:13px/1.6 'Inter',sans-serif;color:var(--text2);margin:14px 0}
#room-history-dialog input{box-sizing:border-box;width:100%;padding:12px;background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:5px;font-size:16px}
#room-history-dialog article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
#room-history-dialog article>div{min-width:0;overflow-wrap:anywhere}
#room-history-dialog article strong{font-size:14px}
#room-history-dialog article small{display:block;margin-top:5px;color:var(--text2);font-size:12px}
#room-history-dialog article button{flex-shrink:0}
.queue-confirm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.queue-confirm-actions .queue-clear-confirm{color:#ffb8c1;border-color:#ffb8c150;background:#ffb8c110}
#mob-queue>.queue-session-actions{padding:8px 14px;flex-shrink:0;border-bottom:1px solid var(--border)}
@media(max-width:450px){#room-history-dialog,#clear-queue-dialog{padding:16px}#room-history-dialog article{align-items:stretch;flex-direction:column}}
/* Reserve enough card space if the desktop queue toolbar wraps. */
@media(min-width:701px){
 body{--qstrip-h:148px}
 #room .qhdr{min-height:40px;padding:4px 14px;gap:8px}
 #room .qhdr :is(#qsave,.saved-playlists-open,.queue-session-actions button,.room-details-open){min-height:32px;padding:6px 10px;font-size:11px}
 #room #qlist{align-items:start;padding:6px 14px 8px;gap:8px}
 #room #qlist .qitem{height:80px;grid-template-columns:18px minmax(0,1fr) 26px;grid-template-rows:28px 26px;gap:6px 8px;padding:9px 10px;border-color:var(--border);background:var(--surface2)}
 #room #qlist .qtitle{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:12px;line-height:15px}
 #room #qlist .qby{font-size:10px;line-height:12px;margin-top:1px}
 #room #qlist .queue-move{gap:6px}
 #room #qlist .queue-move button,#room #qlist .qdel{width:26px;height:26px;min-width:26px;min-height:26px;font-size:15px}
 #room #qlist .queue-move span,#room #qlist .queue-move svg{width:14px;height:14px}
 #room #qlist .qitem:not(:has(.queue-move)) .qinfo{grid-row:1}
 #room #qlist .qitem:hover{border-color:var(--border2);background:var(--adim)}
}
@media(min-width:701px) and (max-width:1000px){body{--qstrip-h:184px}}
@media(max-width:700px){
  #room-sheet #mob-queue{overflow-y:auto}
  #room-sheet #qlist-mob{flex:1 0 150px}
  #room-sheet #qlist-mob .qitem{display:grid;grid-template-columns:20px minmax(0,1fr) 44px;gap:8px;flex-shrink:0}
  #room-sheet #qlist-mob .qnum{grid-column:1;grid-row:1;align-self:start;padding-top:2px;width:auto}
  #room-sheet #qlist-mob .qinfo{grid-column:2/4;grid-row:1}
  #room-sheet #qlist-mob .qtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
  #room-sheet #qlist-mob .queue-move{grid-column:2;grid-row:2;flex-direction:row;gap:8px}
  #room-sheet #qlist-mob .qdel{grid-column:3;grid-row:2;width:44px;height:44px;padding:0;display:grid;place-items:center}
  #room-sheet .mob-djadd,#room-sheet .music-create-mobile{flex-shrink:0}
  #room-sheet .mobile-playlist-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  #room-sheet .mobile-playlist-actions button{min-width:0;white-space:normal;text-align:center;line-height:1.4}
}
