:root {
  --bg:#0a0f1a;
  --panel:#0e1522;
  --muted:#1a2233;
  --text:#e6eef8;
  --sub:#a7b4c8;
  --accent:#9fd1ff;
  --green:#19c37d;
  --border:#2a3450;
  --danger:#ff6b6b;
}
*{box-sizing:border-box}
body.dark{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
a{color:var(--accent);text-decoration:none}
.topbar{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.brand{font-weight:700}
.nav a{margin:0 8px;color:var(--text)}
.userbox .btn{background:transparent;border:1px solid var(--border);padding:6px 10px;border-radius:10px;color:var(--text)}
.container{max-width:1100px;margin:24px auto;padding:0 16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.item-img{position:relative;background:#0b1320;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.item-img img{width:100%;height:100%;object-fit:cover}
.price-badge{position:absolute;top:8px;right:8px;background:#0a2415;border:1px solid #1e4c32;color:var(--green);padding:6px 10px;border-radius:10px;font-weight:700}
.strike{color:#ccd6e3;text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--danger);font-size:12px;display:block;margin-top:2px}
.meta{padding:12px;font-size:14px;color:var(--sub)}
.btn-row{display:flex;gap:8px;padding:12px}
.btn.small{padding:6px 10px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:transparent}
.modal{border:none;border-radius:16px;padding:0;background:var(--panel);color:var(--text)}
.modal form{display:flex;flex-direction:column;gap:10px;padding:16px;width:min(90vw,360px)}
.modal input, .modal select{background:#0c1320;border:1px solid var(--border);color:var(--text);padding:8px;border-radius:10px}
.footer{padding:16px;color:var(--sub);display:flex;justify-content:center;border-top:1px solid var(--border);background:var(--panel)}
.notice{background:#08101a;border:1px solid var(--border);padding:10px;border-radius:10px}
.btn{display:inline-block;padding:8px 12px;border:1px solid #99a; border-radius:10px; text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.5; cursor:not-allowed; pointer-events:none}

/* Pending users badge + pulse */
.btn .badge{
  display:inline-block;
  margin-left:.4rem;
  padding:0 .5rem;
  min-width:1.25rem;
  text-align:center;
  border-radius:999px;
  background:#e24;
  color:#fff;
  font-weight:700;
  line-height:1.25rem;
  font-size:.85em;}

.btn-pending{
  position:relative;
  box-shadow:0 0 0 0 rgba(226,68,68,.6);
  animation:btnPulse 1.6s ease-out infinite;
  @media (prefers-reduced-motion: reduce);}


@keyframes btnPulse{
  0%   { box-shadow:0 0 0 0 rgba(226,68,68,.6); }
  70%  { box-shadow:0 0 0 10px rgba(226,68,68,0); }
  100% { box-shadow:0 0 0 0 rgba(226,68,68,0); }
}