:root{--bg:#f7f7f8;--card:#fff;--raised:#efeff2;--seam:#e4e4e9;--ink:#0a0a0f;--ash:#6b6b76;--faint:#a1a1aa;--ember:#f97316;--ember-hi:#ea580c;--ember-soft:rgba(249,115,22,.1);--danger:#dc2626;--danger-soft:rgba(220,38,38,.1);--ok:#16a34a;--ok-soft:rgba(22,163,74,.1);--info:#2563eb;--info-soft:rgba(37,99,235,.1);--radius-sm:8px;--radius:12px;--radius-lg:16px;--sidebar:248px;--font:"Space Grotesk","PingFang TC","PingFang SC","Noto Sans TC","Noto Sans SC",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{color:inherit;font:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0}h1{font-size:26px;font-weight:700}h2{font-size:18px}h2,h3{font-weight:600}h3{font-size:15px}.muted{color:var(--ash)}.small{font-size:12px}.mono{font-variant-numeric:tabular-nums}.label{color:var(--ash);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.row{align-items:center;display:flex;gap:12px}.grow{flex:1}.stack{display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border:1px solid var(--seam);border-radius:var(--radius-lg);padding:20px}.btn{align-items:center;background:var(--ember);border:1px solid transparent;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:6px;height:38px;justify-content:center;padding:0 16px;transition:background .15s,border-color .15s;white-space:nowrap}.btn:hover{background:var(--ember-hi)}.btn:disabled{cursor:default;opacity:.55}.btn.ghost{background:var(--card);border-color:var(--seam);color:var(--ink)}.btn.ghost:hover{border-color:var(--ink)}.btn.dark{background:var(--ink)}.btn.dark:hover{background:#26262e}.btn.danger{background:var(--card);border-color:#dc262659;color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn.sm{font-size:13px;height:30px;padding:0 10px}.btn.link{background:none;border:0;color:var(--ember);height:auto;padding:0}.input,.select,.textarea{background:var(--card);border:1px solid var(--seam);border-radius:var(--radius-sm);min-height:38px;outline:none;padding:8px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.textarea{min-height:84px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px var(--ember-soft)}.input.err,.select.err,.textarea.err{border-color:var(--danger)}.field{display:flex;flex-direction:column;gap:6px}.field-error{color:var(--danger);font-size:12px}.form-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;height:24px;padding:0 10px;white-space:nowrap}.pill.ember{background:var(--ember-soft);color:var(--ember-hi)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.danger{background:var(--danger-soft);color:var(--danger)}.pill.info{background:var(--info-soft);color:var(--info)}.pill.ash{color:var(--ash)}.pill.ash,.tabs{background:var(--raised)}.tabs{border-radius:10px;display:inline-flex;gap:4px;padding:4px}.tabs button{background:none;border:0;border-radius:7px;color:var(--ash);cursor:pointer;font-weight:500;padding:6px 14px}.tabs button.on{background:var(--card);box-shadow:0 1px 2px #0a0a0f14;color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--card);border:1px solid var(--seam);border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;height:30px;padding:0 12px}.chip.on{background:var(--ember-soft);border-color:var(--ember);color:var(--ember-hi)}.table-wrap{background:var(--card);border:1px solid var(--seam);border-radius:var(--radius-lg);overflow:hidden}table.data{border-collapse:collapse;width:100%}table.data th{background:#fbfbfc;color:var(--ash);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}table.data td,table.data th{border-bottom:1px solid var(--seam)}table.data td{padding:12px 16px;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tbody tr.click{cursor:pointer}table.data tbody tr.click:hover td{background:#fff8f2}table.data td.num,table.data th.num{font-variant-numeric:tabular-nums;text-align:right}table.data .sub{color:var(--ash);font-size:12px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.search{width:280px}.empty,.loading{color:var(--ash);padding:48px 16px;text-align:center}.error-box{align-items:center;background:var(--danger-soft);border-radius:var(--radius-sm);color:var(--danger);display:flex;gap:12px;padding:12px 16px}.spinner{animation:spin .8s linear infinite;border:3px solid var(--ember-soft);border-radius:50%;border-top-color:var(--ember);display:inline-block;height:22px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}.kv{display:grid;gap:10px 16px;grid-template-columns:140px 1fr}.kv dt{color:var(--ash)}.kv dd{margin:0}.divider{background:var(--seam);height:1px;margin:4px 0}.nf[data-v-ab62aa17]{align-items:center;background:var(--ink);color:#fff;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}
