/* 管理者ページ専用スタイル */
.admin-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--bdr); margin-bottom: 16px; }
.admin-tabs button {
  background: transparent; border: none; color: var(--tx3);
  padding: 10px 18px; font-size: 12px; font-weight: 600; cursor: pointer;
  font-family: inherit; border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.admin-tabs button:hover { color: var(--tx); }
.admin-tabs button.active { color: var(--acc); border-bottom-color: var(--acc); }

.admin-panel { padding: 0 4px; }
.admin-note {
  background: rgba(59,130,246,.1); border-left: 3px solid var(--acc);
  padding: 10px 14px; border-radius: 0 6px 6px 0; margin-bottom: 14px;
  font-size: 12px; color: var(--tx2);
}
.admin-note p { margin: 3px 0; }

.admin-filters { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 12px; color: var(--tx2); }
.admin-filters select { background: var(--bg3); border: 1px solid var(--bdr2); border-radius: 5px; color: var(--tx); padding: 4px 8px; font-size: 12px; }

.admin-table {
  width: 100%; border-collapse: collapse; background: var(--bg2);
  border: 1px solid var(--bdr); border-radius: 8px; overflow: hidden; font-size: 12px;
  zoom: var(--tbl-zoom, 1);
}
.admin-table th {
  background: var(--bg3); color: var(--tx3); padding: 10px 12px;
  text-align: left; font-size: 10px; font-weight: 700; letter-spacing: .3px;
  text-transform: uppercase; border-bottom: 1px solid var(--bdr2);
}
.admin-table td { padding: 9px 12px; border-top: 1px solid var(--bdr); color: var(--tx2); }
.admin-table tr:hover td { background: var(--bg3); }
.admin-table td.mono { font-family: "SF Mono", Monaco, monospace; font-size: 11px; }

.admin-stats-wrap { overflow-x: auto; }

/* ==== toggle switch ==== */
.switch { position: relative; display: inline-block; width: 38px; height: 20px; }
.switch input { opacity: 0; width: 0; height: 0; }
.switch .slider {
  position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0;
  background: var(--bdr2); border-radius: 20px; transition: .2s;
}
.switch .slider:before {
  position: absolute; content: ""; height: 14px; width: 14px;
  left: 3px; bottom: 3px; background: #fff; border-radius: 50%;
  transition: .2s;
}
.switch input:checked + .slider { background: var(--acc); }
.switch input:checked + .slider:before { transform: translateX(18px); }
.switch.disabled { opacity: .4; }
.switch.disabled .slider { cursor: not-allowed; }

/* 管理者バッジ（各ページヘッダに出る） */
.admin-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 4px 10px; border-radius: 20px;
  font-size: 11px; font-weight: 600;
}
.admin-badge.is-admin { background: rgba(139,92,246,.2); color: #a855f7; border: 1px solid rgba(139,92,246,.4); }
.admin-badge.is-user  { background: var(--bg3); color: var(--tx3); border: 1px solid var(--bdr); }
.admin-badge a { color: inherit; text-decoration: none; }
.admin-badge a:hover { text-decoration: underline; }
