.toasts[data-v-df7c5951]{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:100}.toast[data-v-df7c5951]{background:var(--ink);color:var(--on-ink);padding:12px 16px;border-radius:12px;max-width:380px;font-weight:500;box-shadow:0 8px 24px #0000002e}.toast.error[data-v-df7c5951]{background:var(--red);color:#fff}.overlay[data-v-a99ab3e4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0e73;display:grid;place-items:center;padding:20px;z-index:50}.dialog[data-v-a99ab3e4]{background:var(--card);border-radius:20px;padding:24px;width:100%;max-width:440px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line)}p[data-v-a99ab3e4]{margin:0;line-height:1.5}.end[data-v-a99ab3e4]{justify-content:flex-end}.overlay[data-v-9393e350]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0e73;display:grid;place-items:center;padding:20px;z-index:45}.dialog[data-v-9393e350]{background:var(--card);border-radius:20px;padding:24px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);max-height:90vh;overflow-y:auto}p[data-v-9393e350]{margin:0;line-height:1.5}.end[data-v-9393e350]{justify-content:flex-end}.check[data-v-9393e350]{display:flex;align-items:center;gap:10px;font-weight:500}.shell[data-v-072005a4]{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side[data-v-072005a4]{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--line)}.brand[data-v-072005a4]{display:flex;align-items:center;gap:10px;padding:20px 20px 12px}.brand img[data-v-072005a4]{height:22px;width:auto}.tag[data-v-072005a4]{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);background:var(--field);padding:3px 8px;border-radius:6px}nav[data-v-072005a4]{flex:1;overflow-y:auto;padding:4px 12px 16px}.group[data-v-072005a4]{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);padding:16px 10px 6px}.item[data-v-072005a4]{display:flex;align-items:center;gap:12px;height:38px;padding:0 10px;border-radius:10px;color:var(--text2);font-weight:500}.item[data-v-072005a4]:hover{background:var(--hover);color:var(--ink)}.item.router-link-exact-active[data-v-072005a4],.item.router-link-active[data-v-072005a4]:not([href="/"]){background:var(--ink);color:var(--on-ink)}.count[data-v-072005a4]{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center}.me[data-v-072005a4]{display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--line)}.avatar[data-v-072005a4]{width:34px;height:34px;border-radius:50%;background:var(--field);display:grid;place-items:center;font-weight:600;font-size:12px;flex-shrink:0}.who[data-v-072005a4]{display:flex;flex-direction:column;min-width:0;flex:1}.who strong[data-v-072005a4]{font-weight:600;font-size:13px}.who span[data-v-072005a4]{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-btn[data-v-072005a4]{width:36px;height:36px;border-radius:10px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--text2);flex-shrink:0}.icon-btn[data-v-072005a4]:hover{background:var(--hover);color:var(--ink)}.main[data-v-072005a4]{min-width:0;display:flex;flex-direction:column}.top[data-v-072005a4]{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;height:64px;padding:0 28px;background:color-mix(in srgb,var(--page) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.search[data-v-072005a4]{flex:1;max-width:520px;display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-radius:12px;background:var(--card);border:1px solid var(--line);color:var(--text3)}.search input[data-v-072005a4]{border:0;height:100%;padding:0;background:transparent}.env.live[data-v-072005a4]{color:var(--green, #1f8a4c);background:var(--green-bg, rgba(31,138,76,.12))}.env[data-v-072005a4]{margin-left:auto;font-size:12px;font-weight:600;color:var(--amber);background:var(--amber-bg);padding:4px 10px;border-radius:999px}.content[data-v-072005a4]{padding:28px;max-width:1360px;width:100%}.only-mobile[data-v-072005a4],.scrim[data-v-072005a4]{display:none}@media (max-width: 900px){.shell[data-v-072005a4]{grid-template-columns:1fr}.side[data-v-072005a4]{position:fixed;left:0;top:0;bottom:0;width:272px;z-index:20;transform:translate(-100%);transition:transform .2s}.open .side[data-v-072005a4]{transform:none}.open .scrim[data-v-072005a4]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:15}.only-mobile[data-v-072005a4]{display:grid}.top[data-v-072005a4],.content[data-v-072005a4]{padding-left:16px;padding-right:16px}.env[data-v-072005a4]{display:none}}:root{--page: #F6F7F9;--card: #FFFFFF;--ink: #16181D;--text2: #3D4250;--text3: #6B7080;--line: #ECEEF2;--border: #E2E5EB;--field: #F1F2F5;--hover: #F6F7F9;--on-ink: #FFFFFF;--green: #12805C;--green-bg: #E7F6EF;--amber: #A15C07;--amber-bg: #FDF3E1;--red: #C0352B;--red-bg: #FCECEA;--blue: #2357C6;--blue-bg: #EAF0FD;--grey-bg: #EEF0F3;--shadow: 0 1px 2px rgba(22,24,29,.04);--radius: 16px;color-scheme:light}:root[data-theme=dark]{--page: #0F1013;--card: #17191E;--ink: #F2F3F5;--text2: #C6C9D1;--text3: #8B90A0;--line: #24272E;--border: #2C3038;--field: #1F2228;--hover: #1C1F25;--on-ink: #16181D;--green: #4CC79A;--green-bg: #12291F;--amber: #F0B45A;--amber-bg: #2D2213;--red: #F07A70;--red-bg: #2E1716;--blue: #7DA3F5;--blue-bg: #17213A;--grey-bg: #23262C;--shadow: none;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--page);color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1{font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}h2{font-size:16px;font-weight:600;margin:0}.muted{color:var(--text3)}.num{font-variant-numeric:tabular-nums}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spacer{flex:1}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.g2,.g3,.g4{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:var(--card);font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--ink);color:var(--on-ink);border-color:var(--ink)}.btn.primary:hover{opacity:.9}.btn.danger{background:var(--red);color:#fff;border-color:var(--red)}.btn.good{background:var(--green);color:#fff;border-color:var(--green)}.btn.ghost{background:transparent;border-color:transparent}.btn.sm{height:32px;padding:0 12px;border-radius:10px;font-size:13px}.btn.block{width:100%;height:48px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:13px;font-weight:500;color:var(--text2)}.field small{color:var(--text3)}input,select,textarea{height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--card);outline:none;width:100%}textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ink)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.table-wrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse}.t th{text-align:left;font-weight:500;font-size:12px;color:var(--text3);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.t td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tbody tr.click{cursor:pointer}.t tbody tr.click:hover td{background:var(--hover)}.t .right{text-align:right}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--grey-bg);color:var(--text2);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.green{background:var(--green-bg);color:var(--green)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.tabs{display:inline-flex;gap:4px;background:var(--field);padding:4px;border-radius:12px;flex-wrap:wrap}.tabs button{height:32px;padding:0 14px;border-radius:9px;border:0;background:transparent;cursor:pointer;font-weight:500;color:var(--text2)}.tabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 2px #00000014}.kv{display:grid;grid-template-columns:180px minmax(0,1fr);gap:10px 16px}.kv dt{color:var(--text3)}.kv dd{margin:0;word-break:break-word}.empty{padding:48px 20px;text-align:center;color:var(--text3)}.skeleton{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--field),var(--hover),var(--field));background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}.switch{position:relative;display:inline-block;width:38px;height:22px;cursor:pointer}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:22px;transition:background .15s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translate(16px)}.switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
