
.admin-hero { margin-bottom: 1.2rem; animation: rise .55s ease both; }
.admin-hero h1 {
  margin: 0; font-family: var(--display); font-size: clamp(2.2rem, 6vw, 3.4rem);
  text-transform: uppercase; line-height: .95;
}
.pack-toolbar {
  display: grid; gap: .85rem; margin-bottom: 1.1rem;
  padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--panel);
  animation: rise .65s ease both .05s;
}
.admin-search { max-width: none; }
.pack-filters { display: flex; flex-wrap: wrap; gap: .75rem 1rem; color: var(--muted); font-size: .9rem; }
.pack-filters label { display: inline-flex; gap: .4rem; align-items: center; cursor: pointer; }
.pack-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.ghost-btn, .dl-btn {
  border: 1px solid var(--line); background: transparent; color: var(--ink);
  border-radius: 10px; padding: .7rem 1rem; font-weight: 700; cursor: pointer; font-family: inherit;
}
.ghost-btn:hover { border-color: rgba(200,255,61,.45); color: var(--accent); }
.dl-btn {
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: var(--accent-ink); border: 0;
}

.pack-grid {
  display: grid; grid-template-columns: 1.2fr .95fr; gap: 1rem;
  animation: rise .7s ease both .1s;
}
@media (max-width: 980px) { .pack-grid { grid-template-columns: 1fr; } }

.pack-list-panel, .pack-meta, .json-panel, .quick-links {
  border: 1px solid var(--line); border-radius: 16px; background: var(--panel); padding: .9rem 1rem;
}
.panel-head { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; margin-bottom: .6rem; }
.panel-head h2, .pack-meta h2 {
  margin: 0; font-family: var(--display); text-transform: uppercase; font-size: 1.35rem; letter-spacing: .03em;
}
.panel-head span, .hint { color: var(--muted); font-size: .82rem; }
.file-list {
  max-height: 62vh; overflow: auto; display: flex; flex-direction: column; gap: .35rem;
  padding-right: .2rem;
}
.file-row {
  display: grid; grid-template-columns: auto 1fr auto; gap: .65rem; align-items: center;
  padding: .55rem .65rem; border: 1px solid transparent; border-radius: 10px;
}
.file-row:hover { background: rgba(200,255,61,.04); border-color: var(--line); }
.file-row.is-selected { background: rgba(200,255,61,.08); border-color: rgba(200,255,61,.35); }
.file-row .name { font-weight: 600; word-break: break-word; font-size: .92rem; }
.file-row .meta { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.role-pick {
  border: 1px solid var(--line); background: rgba(0,0,0,.2); color: var(--ink);
  border-radius: 8px; padding: .25rem .35rem; font-size: .75rem;
}

.pack-side { display: flex; flex-direction: column; gap: 1rem; }
.pack-meta label { display: grid; gap: .3rem; margin: .7rem 0; color: var(--muted); font-size: .85rem; }
.pack-meta input {
  border: 1px solid var(--line); background: rgba(0,0,0,.25); color: var(--ink);
  border-radius: 10px; padding: .7rem .85rem; font: inherit;
}
.meta-note { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.sel-stats {
  display: flex; gap: 1rem; margin-top: .4rem; color: var(--muted);
}
.sel-stats span { color: var(--accent); font-family: var(--display); font-size: 1.3rem; font-weight: 700; margin-right: .25rem; }

.json-out {
  margin: 0; max-height: 42vh; overflow: auto;
  background: rgba(0,0,0,.35); border-radius: 12px; padding: .9rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .78rem; line-height: 1.45; white-space: pre-wrap; word-break: break-word;
  color: #d7ffe8; border: 1px solid var(--line);
}
.quick-links { margin-top: 1rem; animation: rise .75s ease both .12s; }
.admin-list.compact { max-height: 280px; overflow: auto; }
.admin-list.compact .admin-row { padding: .4rem 0; }
.file-row.hidden { display: none; }


.saved-packs {
  margin-bottom: 1rem; border: 1px solid var(--line); border-radius: 16px;
  background: var(--panel); padding: .9rem 1rem; animation: rise .6s ease both;
}
.saved-list { display: flex; flex-direction: column; gap: .45rem; max-height: 240px; overflow: auto; }
.saved-row {
  display: flex; justify-content: space-between; gap: .8rem; align-items: center;
  padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 10px;
}
.saved-row .meta { display: block; color: var(--muted); font-size: .78rem; margin-top: .15rem; }
.saved-actions { display: flex; gap: .35rem; flex-wrap: wrap; }
.ghost-btn.danger:hover { color: #ff6b6b; border-color: rgba(255,107,107,.45); }
.save-status { margin: .6rem 0 0; font-size: .88rem; }
.pack-empty-inline { color: var(--muted); margin: .2rem 0; }
