:root { --bg:#0f1117; --panel:#171a23; --panel2:#1f2430; --text:#f5f7fb; --muted:#9aa4b2; --line:#2a3040; --primary:#8b5cf6; --green:#22c55e; --red:#ef4444; --yellow:#f59e0b; }
* { box-sizing:border-box; }
body { margin:0; font-family:Segoe UI, Pretendard, Apple SD Gothic Neo, sans-serif; background:radial-gradient(circle at top left,#211936,#0f1117 42%); color:var(--text); }
a { color:inherit; text-decoration:none; }
.topbar { height:64px; display:flex; justify-content:space-between; align-items:center; padding:0 28px; border-bottom:1px solid var(--line); background:rgba(15,17,23,.88); position:sticky; top:0; backdrop-filter:blur(10px); }
.brand { font-weight:800; letter-spacing:-.02em; }
nav { display:flex; gap:16px; color:var(--muted); }
.container { max-width:1180px; margin:0 auto; padding:32px 20px 60px; }
.footer { padding:24px; text-align:center; color:var(--muted); border-top:1px solid var(--line); }
.hero { padding:44px; border:1px solid var(--line); border-radius:28px; background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(31,36,48,.95)); margin-bottom:22px; }
.hero h1 { font-size:38px; margin:6px 0 12px; letter-spacing:-.04em; }
.hero p { color:#cbd5e1; line-height:1.6; max-width:760px; }
.eyebrow { color:#c4b5fd; font-size:12px; letter-spacing:.18em; font-weight:800; margin:0; }
.grid.two { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.card { background:rgba(23,26,35,.92); border:1px solid var(--line); border-radius:22px; padding:24px; box-shadow:0 10px 40px rgba(0,0,0,.25); }
.card.narrow { max-width:440px; margin:60px auto; }
.card h1,.card h2 { margin-top:0; letter-spacing:-.03em; }
.form { display:flex; flex-direction:column; gap:10px; }
label { color:#cbd5e1; font-weight:700; font-size:14px; }
input { width:100%; border:1px solid var(--line); background:#0b0d13; color:var(--text); padding:13px 14px; border-radius:12px; outline:none; }
input:focus { border-color:var(--primary); }
button,.button { border:none; background:var(--primary); color:white; padding:11px 16px; border-radius:12px; font-weight:800; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
button.secondary,.button.secondary { background:var(--panel2); border:1px solid var(--line); }
button.danger { background:var(--red); }
.hint { color:var(--muted); font-size:14px; line-height:1.5; }
.alert { padding:14px 16px; border-radius:14px; margin-bottom:16px; font-weight:700; }
.alert.ok { background:rgba(34,197,94,.15); border:1px solid rgba(34,197,94,.35); }
.alert.error { background:rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.35); }
.dashboard-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.stats { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-bottom:22px; }
.stat { background:var(--panel); border:1px solid var(--line); padding:18px; border-radius:18px; }
.stat span { color:var(--muted); display:block; font-size:13px; }
.stat strong { font-size:25px; display:block; margin-top:8px; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:760px; }
th,td { padding:13px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
th { color:#cbd5e1; font-size:13px; }
td { color:#eef2ff; }
.num { text-align:right; font-variant-numeric:tabular-nums; }
.actions { display:flex; gap:8px; }
.actions form { display:inline; }
code { color:#c4b5fd; font-size:12px; }
.badge { padding:6px 10px; border-radius:999px; font-size:12px; font-weight:800; display:inline-block; }
.badge.paid { background:rgba(34,197,94,.15); color:#86efac; }
.badge.eligible { background:rgba(245,158,11,.16); color:#fbbf24; }
.badge.muted { background:#252a36; color:var(--muted); }
.reward-row,.donation-row { border-bottom:1px solid var(--line); padding:12px 0; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.donation-row { display:block; }
.donation-row span { color:#fbbf24; float:right; }
.donation-row p { color:var(--muted); margin:8px 0 0; }
@media (max-width:900px) { .grid.two,.stats { grid-template-columns:1fr; } .hero h1 { font-size:30px; } .dashboard-head { align-items:flex-start; gap:14px; flex-direction:column; } }
.realtime-card { margin-bottom:22px; }
.realtime-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.realtime-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:14px 0; }
.realtime-grid div { background:#111520; border:1px solid var(--line); border-radius:14px; padding:14px; }
.realtime-grid span { color:var(--muted); display:block; font-size:12px; margin-bottom:7px; }
.realtime-grid strong { display:block; font-size:14px; word-break:break-all; }
.logbox { margin-top:12px; border-top:1px solid var(--line); padding-top:12px; }
.logbox summary { cursor:pointer; color:#c4b5fd; font-weight:800; }
.logbox ul { margin:10px 0 0; padding-left:18px; color:var(--muted); font-size:13px; line-height:1.6; }
@media (max-width:900px) { .realtime-head,.actions { flex-direction:column; } .realtime-grid { grid-template-columns:1fr; } }
.toolbar-card { margin-bottom:22px; }
.actions.wrap { flex-wrap:wrap; }
.stack-sm { align-items:flex-end; flex-direction:column; gap:10px; }
.switchline { display:flex; align-items:center; gap:8px; color:#cbd5e1; font-size:13px; user-select:none; }
.switchline input { width:auto; accent-color:var(--primary); }
button.mini,.button.mini { padding:7px 10px; font-size:12px; border-radius:10px; }
.feed-row { border-bottom:1px solid var(--line); padding:12px 0; display:grid; grid-template-columns:150px 1fr; gap:12px; align-items:start; }
.feed-row strong { color:#eef2ff; }
.feed-row span { color:var(--muted); font-size:12px; }
.feed-row p { margin:0; color:#dbeafe; word-break:break-word; }
@media (max-width:900px) { .feed-row { grid-template-columns:1fr; } .stack-sm { align-items:flex-start; } }
.hero-actions { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
button.big,.button.big { padding:15px 22px; font-size:16px; border-radius:16px; }
.status-card { margin-bottom:22px; }
.manual-box { margin-top:14px; border-top:1px solid var(--line); padding-top:14px; }
.manual-box summary { cursor:pointer; color:#c4b5fd; font-weight:800; }
.manual-form { margin-top:14px; }
.public-card { margin-bottom:22px; }
.public-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.copy-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px; }
.copy-grid > div { background:#111520; border:1px solid var(--line); border-radius:14px; padding:14px; display:grid; gap:9px; }
.copy-grid input { font-family:Consolas, monospace; font-size:13px; }
.warn-text { color:#fecaca; background:rgba(239,68,68,.12); border:1px solid rgba(239,68,68,.32); border-radius:12px; padding:12px 14px; font-weight:700; }
@media (max-width:900px) { .public-head { flex-direction:column; } .copy-grid { grid-template-columns:1fr; } }

.danger-zone { margin-top:16px; border-top:1px solid var(--line); padding-top:14px; }
.danger-zone summary { cursor:pointer; color:#fecaca; font-weight:800; }
td.actions { flex-wrap:wrap; min-width:220px; }
button.danger.mini { background:var(--red); }

/* v13 sticker manager */
.stats { grid-template-columns:repeat(6,1fr); }
.wide-table table { min-width:1280px; }
.inline-grant { display:flex; gap:6px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.inline-grant input[type="number"] { width:72px; padding:8px 9px; border-radius:10px; }
.inline-grant input[type="text"] { width:125px; padding:8px 9px; border-radius:10px; }
.reward-row .actions { flex-wrap:wrap; justify-content:flex-end; }
@media (max-width:1100px) { .stats { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .stats { grid-template-columns:1fr; } }
