#fsc-modal.fsc-hidden{display:none!important;}
.fsc-table{width:100%;border-collapse:collapse;}
.fsc-table th{background:#f5f5f5;padding:8px;border:1px solid #ccc;}
.fsc-table td{border:1px solid #ccc;height:110px;vertical-align:top;padding:5px;cursor:pointer;}
.fsc-event{background:#e8efff;padding:4px;margin:3px 0;border-radius:4px;cursor:pointer;}

/* --- 月ヘッダー（前月/次月） --- */
.fsc-calendar-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 12px;
}

.fsc-month-label{
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  padding:6px 10px;
  background:#fafafa;
  border-radius:10px;
}

.fsc-nav{
  text-decoration:none;
  padding:8px 10px;
  background:#f0f0f0;
  border-radius:10px;
  font-size:14px;
  transition:.2s;
  white-space:nowrap;
}
.fsc-nav:hover{ background:#e0e0e0; }

/* --- モーダル --- */
#fsc-modal{
 position:fixed;top:0;left:0;width:100%;height:100%;
 background:rgba(0,0,0,0.55);
 display:flex;justify-content:center;align-items:center;
 z-index:99999;
}

.fsc-modal-inner{
 background:#fff;padding:20px;width:90%;max-width:380px;
 border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,0.25);
}

#fsc-title,#fsc-content{
 width:100%;
 margin-bottom:10px;
 padding:8px;
 border:1px solid #bbb;
 border-radius:10px;
 background:#fafafa;
}

#fsc-save{background:#4caf50;color:#fff;padding:8px 12px;border:none;border-radius:6px;}
#fsc-delete{background:#e74c3c;color:#fff;padding:8px 12px;border:none;border-radius:6px;}
#fsc-close{background:#999;color:#fff;padding:8px 12px;border:none;border-radius:6px;}

#fsc-view-mode{margin-bottom:15px;}
#fsc-view-mode .view-title{font-size:18px;font-weight:bold;margin-bottom:8px;}
#fsc-view-mode .view-content{white-space:pre-wrap;color:#444;}

/* ---- フォーム改善（ラベル＋ボタン整列） ---- */
.fsc-label{
  display:block;
  margin:6px 0 4px;
  font-size:14px;
  font-weight:600;
  color:#555;
}

.fsc-button-wrap{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}


/* ===== 7等分固定レイアウト ===== */
.fsc-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed; /* ← 固定レイアウト */
}

.fsc-table th,
.fsc-table td{
  width:14.285%;
}

.fsc-table td{
  overflow:hidden;
}

.fsc-event{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* ===== 祝日・土日を見やすく ===== */
.fsc-table th.is-sun,
.fsc-table td.is-sun{ background: rgba(255, 0, 0, 0.06); }

.fsc-table th.is-sat,
.fsc-table td.is-sat{ background: rgba(0, 102, 255, 0.06); }

/* 祝日は土日より優先（上書き） */
.fsc-table td.is-holiday{ background: rgba(255, 200, 0, 0.12); }

.fsc-holiday-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background: rgba(255, 140, 0, 0.85);
  color:#fff;
  margin:4px 0 2px;
}

.fsc-holiday-name{
  font-size:11px;
  line-height:1.2;
  color:#a24a00;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}


/* イベントがある日のセル（空白部分はクリック不可） */
.fsc-day.has-event{ cursor: default; }



/* 日付のないセル（空白セル） */
.fsc-table td.is-empty,
.fsc-day.is-empty{
  cursor: default !important;
  background: #f5f5f5;
  color: #bbb;
}

/* 念のためイベントありセルも通常カーソル */
.fsc-day.has-event{
  cursor: default;
}
