.shell[data-v-fe34a3f3]{min-height:100vh}.top[data-v-fe34a3f3]{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;padding:14px 20px;background:#fff;border-bottom:1px solid var(--line)}.brand[data-v-fe34a3f3]{display:flex;flex-direction:column;gap:2px}.nav[data-v-fe34a3f3]{display:flex;gap:16px;flex-wrap:wrap}.nav a[data-v-fe34a3f3]{text-decoration:none;font-weight:600;color:var(--muted)}.nav a.router-link-active[data-v-fe34a3f3]{color:var(--purple)}.actions[data-v-fe34a3f3]{display:flex;align-items:center;gap:10px}.main[data-v-fe34a3f3]{max-width:1100px;margin:0 auto;padding:24px 20px 48px}.gate[data-v-fe34a3f3]{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;display:grid;gap:12px;max-width:560px;margin:12vh auto 0}.gate h1[data-v-fe34a3f3]{margin:0}h1[data-v-55f1c17f]{margin:0 0 8px}.cards[data-v-55f1c17f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:20px}.card[data-v-55f1c17f]{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:6px;text-decoration:none;color:inherit}.card strong[data-v-55f1c17f]{font-size:1.8rem;color:var(--purple)}.card.muted strong[data-v-55f1c17f]{color:var(--ink)}.head[data-v-f98ce04c]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px}h1[data-v-f98ce04c]{margin:0 0 6px}.search[data-v-f98ce04c]{display:flex;gap:8px}.search input[data-v-f98ce04c]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;min-width:220px}.grant[data-v-f98ce04c]{margin:0 0 20px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;max-width:520px}.grant h2[data-v-f98ce04c]{margin:0;font-size:1rem}.grant label[data-v-f98ce04c]{display:grid;gap:4px;font-size:.85rem;font-weight:600}.grant input[data-v-f98ce04c],.grant select[data-v-f98ce04c]{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-weight:500}.table-wrap[data-v-f98ce04c]{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table[data-v-f98ce04c]{width:100%;border-collapse:collapse}th[data-v-f98ce04c],td[data-v-f98ce04c]{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th[data-v-f98ce04c]{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}code[data-v-f98ce04c]{font-size:.78rem}.actions[data-v-f98ce04c]{display:flex;gap:8px;flex-wrap:wrap}.head[data-v-edb7859d]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px}h1[data-v-edb7859d]{margin:0 0 6px}.filters[data-v-edb7859d]{display:flex;gap:8px;flex-wrap:wrap}.list[data-v-edb7859d]{display:grid;gap:12px}.row[data-v-edb7859d]{display:grid;grid-template-columns:1fr auto;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.title[data-v-edb7859d]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.desc[data-v-edb7859d]{margin:6px 0 0;color:var(--muted);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price[data-v-edb7859d]{margin:8px 0 0;font-weight:700}.actions[data-v-edb7859d]{display:flex;flex-direction:column;gap:8px;min-width:120px}:root{--purple: #6a62f4;--purple-soft: #ebe9fe;--ink: #1c1933;--muted: #6b6785;--line: #e6e4f0;--bg: #f7f6fb;--ok: #0f5c38;--warn: #9a5b00;--danger: #a1192f;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}a{color:var(--purple)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;background:var(--purple);color:#fff;font-weight:600;padding:8px 14px;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.ok{background:#0f5c38}.btn.warn{background:#c47a00}.btn.danger{background:var(--danger)}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase}.badge.ok{background:#e6f7ef;color:var(--ok)}.badge.pending{background:#fff4e5;color:var(--warn)}.meta{color:var(--muted);font-size:.92rem}.error{color:var(--danger)}.ok-text{color:var(--ok)}
