/* ===== ワークエスト v2.2 プログラム/カレンダー/訓練 追加スタイル ===== */

/* カレンダー */
.cal-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.cal-month { font-size:1.2rem; font-weight:800; }
.cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.cal-head { margin-bottom:4px; }
.cal-wday { text-align:center; font-size:.78rem; font-weight:700; color:#888; padding:4px 0; }
.cal-cell { min-height:92px; background:#fff; border:1px solid #eee; border-radius:8px; padding:4px; overflow:hidden; position:relative; }
.cal-add { float:right; border:none; background:#fff1e6; color:#f97316; border-radius:6px; width:19px; height:19px; line-height:1; text-align:center; padding:0; cursor:pointer; font-weight:800; font-size:.8rem; }
.cal-add:hover { background:#ffe2c8; }
.cal-empty { background:transparent; border:none; }
.cal-today { border-color:#f97316; box-shadow:0 0 0 2px rgba(249,115,22,.25); }
.cal-daynum { font-size:.78rem; font-weight:700; color:#555; margin-bottom:2px; }
.cal-sun .cal-daynum { color:#e11d48; }
.cal-sat .cal-daynum { color:#3b6fd6; }
.cal-chip { font-size:.66rem; line-height:1.3; background:#f7f7f7; border-radius:4px; padding:2px 5px; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cal-chip span { color:#999; font-weight:700; }
.cal-more { font-size:.66rem; color:#888; padding-left:4px; }

/* チップ（出席チェック・スキルタグ） */
.att-chip { display:inline-flex; align-items:center; gap:5px; background:#fff3e8; border:1px solid #ffd8b8; border-radius:99px; padding:5px 12px; font-size:.86rem; cursor:pointer; }
.att-chip input { margin:0; }

/* バッジ補助 */
.badge-warning { background:#fef3c7; color:#b45309; }

/* スマホ：カレンダーを詰める */
@media (max-width:640px){
  .cal-cell{ min-height:62px; }
  .cal-chip{ font-size:.56rem; padding:1px 3px; }
  .cal-daynum{ font-size:.7rem; }
}

/* プログラム編成（D&D）：左パレット＋右カレンダー */
.pe-layout { display:flex; gap:12px; align-items:flex-start; }
.pe-palette { width:210px; flex-shrink:0; max-height:74vh; overflow:auto; background:#fff; border:1px solid #eee; border-radius:10px; padding:8px; position:sticky; top:8px; }
.pe-cal { flex:1; min-width:0; }
.pal-group { margin-bottom:10px; }
.pal-grouphead { font-weight:700; font-size:.8rem; padding:2px 8px; color:#555; margin-bottom:4px; }
.pal-item { background:#fafafa; border-radius:6px; padding:6px 8px; margin-bottom:4px; font-size:.82rem; cursor:grab; user-select:none; }
.pal-item:hover { background:#fff3e8; }
.pal-item:active { cursor:grabbing; }
.cal-dropover { outline:2px dashed #f97316; outline-offset:-2px; background:#fff7ed !important; }
@media (max-width:760px){
  .pe-layout { flex-direction:column; }
  .pe-palette { width:100%; max-height:220px; position:static; }
}
