/* DnD視覚 */
.news-item[draggable="true"] { cursor: grab; }
.news-item.dragging { opacity: .6; }
.news-item.drag-over { outline: 2px dashed var(--bs-primary); outline-offset: 4px; background: #f0f9ff; }

/* 画像サムネイル（添付） */
.file.image img.thumb {
  max-height: 24px;
  max-width: 36px;
  border-radius: 4px;
  border: 1px solid #e5e7eb;
  object-fit: cover;
}

/* ライトボックス */
.lb-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.8);
  display: none; align-items: center; justify-content: center; z-index: 1000;
}
.lb-overlay.open { display: flex; }
.lb-overlay img {
  max-width: 90vw; max-height: 90vh; border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,.5);
}
.lb-overlay .close {
  position: absolute; top: 16px; right: 16px; color: #fff; font-size: 20px;
  background: rgba(0,0,0,.35); border: 1px solid #ffffff33;
  border-radius: 8px; padding: 6px 10px; cursor: pointer;
}

/* ファイル種別アイコン */
.fi { display:inline-flex; width:16px; height:16px; align-items:center; justify-content:center; }
.fi svg{ width:16px; height:16px; display:block; }

/* アイコン色（調整可） */
.fi-pdf   { color:#e11d48; }
.fi-img   { color:#16a34a; }
.fi-word  { color:#2563eb; }
.fi-excel { color:#22c55e; }
.fi-ppt   { color:#f97316; }
.fi-zip   { color:#a855f7; }
.fi-text  { color:#64748b; }
.fi-audio { color:#0ea5e9; }
.fi-video { color:#ef4444; }
.fi-code  { color:#10b981; }
.fi-doc   { color:#475569; }