/* ── Summary pills ── */
.summary-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.sum-pill { display: flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 100px; border: 1px solid var(--border); background: var(--ink-2); font-size: .78rem; font-weight: 600; color: var(--text-2); }
.sum-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.sum-val { color: var(--text-1); font-variant-numeric: tabular-nums; }

/* ── Toolbar ── */
.toolbar { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--border); }
.filter-group { display: flex; gap: 5px; flex-wrap: wrap; }
.filter-btn { padding: 5px 13px; border-radius: 100px; font-size: .75rem; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: transparent; color: var(--text-3); transition: all .15s; white-space: nowrap; }
.filter-btn:hover { border-color: rgba(255,255,255,.12); color: var(--text-2); }
.filter-btn.active { border-color: var(--g); color: var(--g); background: rgba(0,230,118,.06); }
.search-wrap { flex: 1; min-width: 180px; max-width: 260px; position: relative; display: flex; align-items: center; }
.search-icon { position: absolute; left: 11px; color: var(--text-3); font-size: .78rem; pointer-events: none; }
.search-inp { width: 100%; background: var(--ink-3); border: 1px solid var(--border); border-radius: var(--r-sm); color: var(--text-1); font-size: .81rem; padding: 7px 10px 7px 32px; outline: none; transition: border-color .15s; }
.search-inp:focus { border-color: rgba(0,230,118,.3); }
.search-inp::placeholder { color: var(--text-3); }

/* ── Table ── */
.sticker-table { width: 100%; border-collapse: collapse; font-size: .81rem; }
.sticker-table th { text-align: left; font-size: .68rem; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: var(--text-3); padding: 9px 14px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.sticker-table td { padding: 11px 14px; border-bottom: 1px solid var(--border); color: var(--text-1); vertical-align: middle; }
.sticker-table tr:last-child td { border-bottom: none; }
.sticker-table tr:hover td { background: rgba(255,255,255,.018); }

/* Public code cell */
.code-cell { display: flex; align-items: center; gap: 8px; }
.code-val { font-family: 'Courier New', Courier, monospace; font-size: .8rem; color: var(--text-1); letter-spacing: 1.5px; font-weight: 600; }
.code-copy { width: 24px; height: 24px; border-radius: 5px; border: 1px solid var(--border); background: transparent; color: var(--text-3); font-size: .7rem; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: all .15s; flex-shrink: 0; }
.code-copy:hover { border-color: rgba(0,230,118,.35); color: var(--g); }
.code-empty { color: var(--text-3); font-size: .76rem; font-style: italic; }

/* Status badges */
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 100px; font-size: .69rem; font-weight: 700; white-space: nowrap; }
.badge-dot { width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; }
.badge-unused  { background: rgba(255,255,255,.05); color: var(--text-3); border: 1px solid var(--border); }
.badge-unused .badge-dot { background: var(--text-3); }
.badge-claimed { background: rgba(0,230,118,.08); color: var(--g); border: 1px solid var(--border-g); }
.badge-claimed .badge-dot { background: var(--g); }
.badge-disabled { background: rgba(251,146,60,.08); color: #fb923c; border: 1px solid rgba(251,146,60,.22); }
.badge-disabled .badge-dot { background: #fb923c; }
.badge-expired  { background: rgba(148,163,184,.07); color: #94a3b8; border: 1px solid rgba(148,163,184,.18); }
.badge-expired .badge-dot { background: #94a3b8; }
.badge-flagged  { background: rgba(239,68,68,.08); color: #f87171; border: 1px solid rgba(239,68,68,.22); }
.badge-flagged .badge-dot { background: #f87171; }

/* Action button */
.act-btn { padding: 4px 11px; border-radius: 5px; font-size: .72rem; font-weight: 600; cursor: pointer; border: 1px solid var(--border); background: transparent; transition: all .15s; white-space: nowrap; }
.act-btn-disable { color: #fb923c; border-color: rgba(251,146,60,.25); }
.act-btn-disable:hover { background: rgba(251,146,60,.08); border-color: rgba(251,146,60,.45); }
.act-btn-activate { color: var(--g); border-color: var(--border-g); }
.act-btn-activate:hover { background: rgba(0,230,118,.07); border-color: rgba(0,230,118,.4); }
.act-btn:disabled { opacity: .4; cursor: not-allowed; }

/* Empty state */
.empty-state { text-align: center; padding: 44px 20px; color: var(--text-3); }
.empty-state i { font-size: 1.8rem; display: block; margin-bottom: 10px; opacity: .5; }
.empty-state p { font-size: .83rem; }
