/* Pave Admin - 管理画面固有スタイル */

/* --- Alpine.js: 初期化前の非表示 --- */
[x-cloak] { display: none !important; }

/* --- 認証ガード: 初期非表示 → JS で show 付与 --- */
body { opacity: 0; transition: opacity .15s; }
body.show { opacity: 1; }

/* --- ログインカード --- */
.login .c-card p { margin-bottom: 1rem; }
.login .c-card .c-button { width: 100%; }

/* --- サイドバー: ログアウトボタン --- */
.sidebar-logout {
  display: flex;
  align-items: center;
  gap: .5rem;
  background: none;
  border: none;
  color: var(--text-secondary);
  font-size: .8125rem;
  cursor: pointer;
  padding: .375rem 0;
  transition: color .15s;
}
.sidebar-logout:hover { color: var(--color-danger, #dc3545); }

/* --- 統計カード --- */
.stat-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .75rem;
}
.stat-card {
  text-align: center;
  padding: 1.5rem 1rem;
}
.stat-card-value {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
}
.stat-card-label {
  font-size: .875rem;
  color: var(--text-secondary);
  margin-top: .25rem;
}
.stat-card-detail {
  display: flex;
  justify-content: center;
  gap: .375rem;
  margin-top: .75rem;
}

/* --- グラフ --- */
.chart-container {
  position: relative;
  height: 300px;
}

/* --- ページネーション --- */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1rem;
}

/* --- ユーティリティ --- */
.section-header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--surface-border); }
.muted { color: var(--text-secondary); }
.caption { font-size: .75rem; color: var(--text-secondary); }
