/* 管理者ダッシュボード: command-center design */
.admin-body {
  height: auto;
  min-height: 100vh;
  overflow: auto;
  background: var(--bg);
}

.auth-wrap {
  min-height: calc(100vh - var(--header-h));
  display: grid;
  place-items: center;
  padding: 56px 18px;
}
.auth-card {
  position: relative;
  overflow: hidden;
  width: min(100%, 500px);
  padding: 34px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #ffffff;
  box-shadow: var(--shadow-lg);
}
.auth-card::before,
.card::before,
.stat-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: var(--primary);
}
.auth-title {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 950;
  letter-spacing: -0.055em;
  line-height: 1.05;
}
.auth-sub {
  margin: 0 0 24px;
  color: var(--text-muted);
  font-size: 14px;
  line-height: 1.75;
}
.auth-form { display: grid; gap: 14px; }
.auth-form label,
.form-grid label {
  display: grid;
  gap: 7px;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 900;
}
.auth-form input,
.form-grid input,
.form-grid select,
.link-result-row input {
  width: 100%;
  min-height: 44px;
  padding: 0 13px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.9);
  color: var(--text);
  font-size: 14px;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.auth-form input:focus,
.form-grid input:focus,
.form-grid select:focus,
.link-result-row input:focus {
  outline: none;
  border-color: rgba(71,85,105,0.62);
  box-shadow: 0 0 0 4px rgba(71,85,105,0.11);
  background: #fff;
}

.admin-main {
  width: min(1220px, calc(100% - 32px));
  margin: 0 auto;
  padding: 30px 0 64px;
}
.admin-welcome {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px 13px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,0.72);
  color: var(--text-muted);
  font-size: 13px;
  font-weight: 800;
}
.admin-welcome::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ok);
  box-shadow: 0 0 0 4px rgba(3,152,85,0.12);
}
.admin-welcome strong { color: var(--ink); }

.stat-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}
.stat-card {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.82);
  box-shadow: var(--shadow);
}
.stat-card::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -30px;
  width: 110px;
  height: 110px;
  border-radius: 6px;
  background: #eef2f7;
  transform: rotate(18deg);
}
.stat-num {
  position: relative;
  z-index: 1;
  color: var(--ink);
  font-size: clamp(34px, 5vw, 52px);
  font-weight: 950;
  letter-spacing: -0.06em;
  line-height: 1;
}
.stat-label {
  position: relative;
  z-index: 1;
  color: var(--text-muted);
  font-size: 12px;
  font-weight: 900;
}

.tabs {
  position: sticky;
  top: 82px;
  z-index: 20;
  display: inline-flex;
  gap: 6px;
  margin: 0 0 16px;
  padding: 6px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: var(--shadow);
}
.tab-btn {
  min-height: 38px;
  padding: 0 16px;
  border: 0;
  border-radius: 8px;
  color: var(--text-muted);
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  font-weight: 900;
  transition: transform 150ms ease, color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}
.tab-btn:hover { transform: translateY(-1px); color: var(--ink); }
.tab-btn.active {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.4);
  background: linear-gradient(180deg, var(--c-share-light) 0%, var(--c-share) 50%, var(--c-share-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -2px 4px rgba(0,0,0,0.18), 0 2px 6px rgba(29,78,216,0.4);
}
.tab-btn[data-tab="docs"].active { background: linear-gradient(180deg, var(--c-create-light) 0%, var(--c-create) 50%, var(--c-create-dark) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -2px 4px rgba(0,0,0,0.18), 0 2px 6px rgba(91,33,182,0.4); }
.tab-btn[data-tab="logs"].active { background: linear-gradient(180deg, var(--c-files-light) 0%, var(--c-files) 50%, var(--c-files-dark) 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -2px 4px rgba(0,0,0,0.18), 0 2px 6px rgba(21,128,61,0.4); }

.card {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.84);
  box-shadow: var(--shadow);
}
.card-title {
  margin: 0 0 7px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.035em;
}
.card-note {
  margin: 0 0 18px;
  color: var(--text-muted);
  font-size: 13px;
  line-height: 1.75;
}
.card-note strong { color: var(--ink); }

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
}
.form-grid .full { grid-column: 1 / -1; }
.checkbox-label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 10px !important;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(248,251,255,0.82);
  color: var(--ink) !important;
}
.checkbox-label input { width: 18px; height: 18px; accent-color: var(--primary); }

.link-result {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(3,152,85,0.22);
  border-radius: 8px;
  background: var(--ok-soft);
}
.link-result-label {
  margin: 0 0 10px;
  color: var(--ok);
  font-size: 13px;
  font-weight: 900;
}
.link-result-row { display: flex; gap: 8px; }
.link-result-row input { min-width: 0; flex: 1; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }

.table-scroll {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,0.62);
}
.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
}
.data-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 13px 14px;
  text-align: left;
  color: var(--text-muted);
  background: rgba(248,251,255,0.96);
  border-bottom: 1px solid var(--border);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.data-table td {
  padding: 14px;
  border-bottom: 1px solid rgba(148,163,184,0.18);
  vertical-align: top;
}
.data-table tr:last-child td { border-bottom: 0; }
.data-table tr:hover td { background: rgba(71,85,105,0.035); }
.data-table strong { color: var(--ink); }
.data-table .muted { color: var(--text-faint); }
.data-table .small { font-size: 12px; }

.badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.badge--ok { color: var(--ok); background: var(--ok-soft); }
.badge--exp { color: var(--danger); background: var(--danger-soft); }
.badge--off { color: #64748b; background: #eef2f7; }
.badge--lock { color: var(--warn); background: var(--warn-soft); }
.badge--dl { color: var(--primary); background: var(--primary-soft); }

.toast { bottom: 26px; }

/* タブごとの目的別カラー：共有リンク＝ブルー／文書登録＝パープル(派手な立体グラデーション) */
#tab-share .btn-primary {
  border-color: var(--c-share-dark);
  background: linear-gradient(180deg, var(--c-share-light) 0%, var(--c-share) 48%, var(--c-share-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 3px 0 var(--c-share-dark), 0 6px 12px rgba(29,78,216,0.4);
}
#tab-share .btn-primary:not(:disabled):hover {
  background: linear-gradient(180deg, var(--c-share-light) 0%, var(--c-share-deep) 48%, var(--c-share-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 4px 0 var(--c-share-dark), 0 10px 18px rgba(29,78,216,0.48);
}
#tab-docs .btn-primary {
  border-color: var(--c-create-dark);
  background: linear-gradient(180deg, var(--c-create-light) 0%, var(--c-create) 48%, var(--c-create-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), 0 3px 0 var(--c-create-dark), 0 6px 12px rgba(91,33,182,0.4);
}
#tab-docs .btn-primary:not(:disabled):hover {
  background: linear-gradient(180deg, var(--c-create-light) 0%, var(--c-create-deep) 48%, var(--c-create-dark) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 4px 0 var(--c-create-dark), 0 10px 18px rgba(91,33,182,0.48);
}

/* Smartphone responsive styles intentionally disabled. Desktop layout is kept on all viewport widths. */
