/* カスタムスタイル */

/* ローディングスピナー */
.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255,255,255,0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* タスクカードのドラッグ中スタイル */
.task-card[draggable="true"]:active {
  opacity: 0.7;
  transform: scale(0.98);
  cursor: grabbing;
}
.task-card {
  cursor: grab;
}

/* ドロップゾーンのハイライト */
.task-drop-zone.drop-active {
  background-color: #EEF2FF;
  border-radius: 8px;
  outline: 2px dashed #818CF8;
  outline-offset: -4px;
}

/* テキストの行数制限（2行で省略） */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* スクロールバーのスタイル */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 3px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* フォントの読み込み */
body { font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif; }

/* スケジュール行のドラッグ&ドロップ */
.sched-row { transition: opacity 0.15s; }
.sched-row.sched-drop-target { outline: 2px dashed #818CF8; outline-offset: -2px; background-color: #EEF2FF; }
.sched-drag-handle { font-size: 18px; line-height: 1; }

/* オフィスカードのドラッグ&ドロップ */
.office-card { transition: opacity 0.15s; }
.office-card.office-drop-target { outline: 2px dashed #818CF8; outline-offset: -2px; background-color: #EEF2FF; }
