/* Admin fantasy shell — matches storefront visual language */
.admin-fantasy{
  --admin-card: rgba(16,18,36,.88);
  --admin-line: rgba(120,170,255,.14);
  min-height:100vh;
}
.admin-fantasy .admin-page{padding:1.25rem 0 3rem}
.admin-fantasy .admin-page__top h1{
  font-size:1.35rem;letter-spacing:.02em;margin:0 0 .75rem
}
.admin-fantasy .admin-tabs{
  display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem
}
.admin-fantasy .admin-tabs a{
  padding:.45rem .75rem;border-radius:999px;border:1px solid var(--admin-line);
  color:#c6d4ea;text-decoration:none;font-size:.82rem;background:rgba(8,10,22,.55)
}
.admin-fantasy .admin-tabs a.is-active,
.admin-fantasy .admin-tabs a[aria-selected="true"]{
  background:linear-gradient(135deg,rgba(58,160,255,.35),rgba(107,124,255,.35));
  color:#fff;border-color:rgba(140,190,255,.45)
}
.admin-fantasy .admin-card,
.admin-fantasy .admin-editor,
.admin-fantasy .admin-toolbar,
.admin-fantasy .admin-local-banner{
  background:var(--admin-card);border:1px solid var(--admin-line);border-radius:14px;
  padding:1rem;margin-bottom:1rem;backdrop-filter:blur(8px)
}
.admin-auth-wrap{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;
  background:radial-gradient(circle at 20% 0%,#1a2040,#0d0d18 55%)
}
.admin-auth-card{
  width:100%;max-width:440px;background:rgba(16,18,36,.92);border:1px solid var(--admin-line);
  border-radius:18px;padding:1.5rem 1.35rem 1.6rem;box-shadow:0 20px 60px rgba(0,0,0,.35)
}
.admin-auth-card h1{margin:0 0 .4rem;font-size:1.25rem}
.admin-auth-lead{color:#9aa8bc;font-size:.9rem;line-height:1.45;margin:0 0 1rem}
.admin-auth-error{color:#ff6b7a;font-size:.9rem}
.admin-auth-ok{color:#3dd68c;font-size:.9rem}
.admin-auth-form label{display:block;margin:.55rem 0;font-size:.8rem;color:#9aa8bc}
.admin-auth-form input{
  display:block;width:100%;margin-top:.3rem;padding:.55rem .65rem;border-radius:10px;
  border:1px solid rgba(255,255,255,.12);background:#0c0e1c;color:#e8eef7
}
.admin-auth-form button{width:100%;margin-top:1rem}
.admin-auth-foot{margin-top:1rem;font-size:.82rem;color:#9aa8bc}
.admin-stat-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem
}
.admin-stat{
  background:var(--admin-card);border:1px solid var(--admin-line);border-radius:12px;padding:.9rem
}
.admin-stat strong{display:block;font-size:1.35rem;margin-top:.25rem}
.admin-stat span{font-size:.75rem;color:#9aa8bc}
.fs-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;padding:1rem 0 2rem}
.fs-library-card{
  background:rgba(16,18,36,.88);border:1px solid rgba(120,170,255,.14);border-radius:14px;padding:1rem
}
.fs-library-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:.7rem}
.fs-badge-row{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0}
.fs-badge-pill{
  font-size:.68rem;padding:.15rem .45rem;border-radius:999px;
  background:rgba(94,200,255,.15);color:#9fdfff;border:1px solid rgba(94,200,255,.25)
}
.fs-badge-pill.is-off{background:rgba(255,120,80,.18);color:#ffb39a}
.fs-badge-pill.is-hot{background:rgba(255,80,120,.18);color:#ff9ab5}
.fs-badge-pill.is-new{background:rgba(61,214,140,.16);color:#7dffb8}
