/* ============================================================
   weeklyvacant_widget.css
   週間空き状況 — トリガーボタン & モーダルパネル
   旧 weeklyvacant.php のデザインを継承
   ============================================================ */

/* ----- トリガーボタン ----- */
.vacancy-trigger-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  font-size: 14px;
  cursor: pointer;
  transition: background 0.15s;
}
.vacancy-trigger-btn:hover {
  background: #f5f5f5;
}

.vacancy-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.vacancy-dot--open   { background: royalblue; }
.vacancy-dot--busy   { background: gold; border: 1px solid #bbb; }
.vacancy-dot--closed { background: darkgray; }
.vacancy-dot--full   { background: #F22; }


/* ----- オーバーレイ ----- */
.vacancy-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.40);
  z-index: 9998;
  align-items: center;
  justify-content: center;
}
.vacancy-overlay.open {
  display: flex;
}


/* ----- パネル本体 ----- */
.vacancy-panel {
  background: #fff;
  border-radius: 10px;
  border: 1px solid #ddd;
  padding: 20px 24px;
  width: min(540px, 95vw);
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  z-index: 9999;
}

.vacancy-panel__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.vacancy-panel__title {
  font-size: 15px;
  font-weight: 600;
  color: #222;
  margin: 0;
}
.vacancy-panel__header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.vacancy-panel__updated {
  font-size: 11px;
  color: #888;
}

.vacancy-close-btn {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: background 0.1s;
}
.vacancy-close-btn:hover {
  background: #f0f0f0;
}


/* ----- 空き状況テーブル (旧 weeklyvacant.php デザイン継承) ----- */
.vacancy-table {
  width: 97%;
  font-size: 0.8em;
  border-collapse: collapse;
  border: 1px solid #999;
  margin-left: 8px;
}
.vacancy-table th {
  text-align: center;
  padding: 5px 0;
  background-color: #eee;
  border: 1px solid #999;
  color: #333;
  font-weight: normal;
}
.vacancy-table td {
  text-align: center;
  padding: 5px 0;
  border: 1px solid #999;
}

/* セルステータス色 — 旧システムと同一 */
.vacancy-table .red    { background-color: #F22;      color: white; }
.vacancy-table .yellow { background-color: gold;      color: #333;  }
.vacancy-table .blue   { background-color: royalblue; color: white; }
.vacancy-table .gray   { background-color: darkgray;  color: white; }


/* ----- 凡例 ----- */
.vacancy-legend {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 10px;
  margin-left: 8px;
  font-size: 0.8em;
}
.vacancy-legend__item {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #555;
}
.vacancy-legend__dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 2px;
}
.vacancy-legend__dot--blue   { background: royalblue; }
.vacancy-legend__dot--yellow { background: gold; border: 1px solid #ccc; }
.vacancy-legend__dot--red    { background: #F22; }
.vacancy-legend__dot--gray   { background: darkgray; }
