:root{--font-xs: 12.5px;--font-sm: 13.5px;--font-md: 14.5px;--font-lg: 17px;--radius: 12px;--radius-sm: 8px;--accent-glow: rgba(77, 125, 255, .18);--text: #e7efff;--text-soft: #9fb2d8;--line: rgba(134, 171, 246, .26);--app-bg: radial-gradient(circle at 0% 0%, #1a2f56 0%, transparent 36%), radial-gradient(circle at 100% 100%, #132745 0%, transparent 40%), linear-gradient(160deg, #081020 0%, #0e1a31 48%, #091224 100%);--sidebar-bg: linear-gradient(180deg, rgba(12, 24, 45, .95) 0%, rgba(10, 18, 34, .95) 100%);--sidebar-border: var(--line);--surface-1: rgba(16, 33, 59, .9);--surface-2: rgba(14, 29, 54, .86);--surface-3: rgba(23, 40, 70, .88);--input-bg: rgba(18, 34, 60, .9);--menu-item-bg: rgba(25, 39, 66, .58);--menu-item-border: rgba(137, 168, 223, .18);--menu-item-active-bg: linear-gradient(145deg, rgba(54, 98, 235, .68) 0%, rgba(87, 64, 215, .68) 100%);--menu-item-active-border: rgba(111, 129, 255, .5);--primary: #4d7dff;--primary-2: #6f51ff;--danger: #ff5d7d;--success: #38d39f;--btn-ghost-bg: rgba(19, 36, 63, .9);--btn-ghost-border: rgba(126, 154, 203, .35);--overlay: rgba(5, 11, 22, .5);--c-text: var(--text);--c-text-muted: var(--text-soft);--c-bg-card: var(--surface-1);--c-bg-hover: var(--surface-3);--c-bg-input: var(--input-bg);--c-border: var(--line);--c-accent: var(--primary);--c-accent-2: #42c4ff}:root[data-theme=light]{--text: #13233f;--text-soft: #5b6e90;--line: rgba(113, 140, 190, .28);--app-bg: radial-gradient(circle at 0% 0%, #dde9ff 0%, transparent 38%), radial-gradient(circle at 100% 100%, #e8f1ff 0%, transparent 42%), linear-gradient(160deg, #f3f7ff 0%, #edf3ff 52%, #f8fbff 100%);--sidebar-bg: linear-gradient(180deg, rgba(234, 241, 255, .96) 0%, rgba(226, 236, 255, .96) 100%);--sidebar-border: rgba(126, 157, 209, .28);--surface-1: rgba(255, 255, 255, .92);--surface-2: rgba(255, 255, 255, .88);--surface-3: rgba(245, 250, 255, .98);--input-bg: rgba(255, 255, 255, .95);--menu-item-bg: rgba(248, 252, 255, .95);--menu-item-border: rgba(153, 181, 228, .32);--menu-item-active-bg: linear-gradient(145deg, rgba(69, 116, 235, .94) 0%, rgba(111, 81, 255, .94) 100%);--menu-item-active-border: rgba(78, 113, 205, .56);--btn-ghost-bg: rgba(239, 246, 255, 1);--btn-ghost-border: rgba(153, 181, 228, .4);--overlay: rgba(23, 30, 45, .35);--c-text: var(--text);--c-text-muted: var(--text-soft);--c-bg-card: var(--surface-1);--c-bg-hover: var(--surface-3);--c-bg-input: var(--input-bg);--c-border: var(--line);--c-accent: var(--primary);--c-accent-2: #42c4ff}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%}body{margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;font-size:var(--font-md);line-height:1.5;color:var(--text);background:var(--app-bg);transition:background .22s ease,color .22s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:transform .12s ease,box-shadow .16s ease,opacity .16s ease}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed}.admin-shell[data-v-e9f63d36]{height:100vh;display:grid;grid-template-columns:224px 1fr;background:transparent}.sidebar[data-v-e9f63d36]{padding:16px 12px;border-right:1px solid var(--sidebar-border);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow-y:auto}.brand[data-v-e9f63d36]{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:0 12px;height:56px;border-radius:14px;background:linear-gradient(135deg,#4d7dff1f,#6f51ff14);border:1px solid rgba(77,125,255,.18);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.brand__mark[data-v-e9f63d36]{width:38px;height:38px;border-radius:12px;display:block;box-shadow:0 8px 20px #4d7dff59;flex-shrink:0}.brand__title[data-v-e9f63d36]{font-size:.94rem;font-weight:800;letter-spacing:.3px}.brand__sub[data-v-e9f63d36]{margin-top:2px;font-size:.72rem;color:var(--text-soft);letter-spacing:.2px}.menu-group[data-v-e9f63d36]{margin-top:10px}.menu-group__title[data-v-e9f63d36]{font-size:var(--font-xs);color:#86a0ca;margin:0 6px 6px;letter-spacing:.5px}.menu[data-v-e9f63d36]{display:grid;gap:6px}.menu__item[data-v-e9f63d36]{border:1px solid var(--menu-item-border);border-radius:10px;padding:10px;font-size:var(--font-sm);color:var(--text);background:var(--menu-item-bg)}.menu__item--active[data-v-e9f63d36]{color:#fff;border-color:var(--menu-item-active-border);background:var(--menu-item-active-bg);box-shadow:0 8px 14px #4354cc38}.main[data-v-e9f63d36]{min-width:0;padding:16px 22px;overflow-y:auto}.topbar[data-v-e9f63d36]{border:1px solid var(--line);border-radius:14px;padding:0 14px;height:56px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:var(--surface-1)}.topbar__left[data-v-e9f63d36]{display:flex;align-items:center;gap:14px}.topbar__back[data-v-e9f63d36]{display:flex;align-items:center;gap:4px;padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-soft);font-size:13px;text-decoration:none;cursor:pointer;transition:all .15s;white-space:nowrap}.topbar__back[data-v-e9f63d36]:hover{border-color:var(--text-soft);color:var(--text)}.topbar__title[data-v-e9f63d36]{font-size:15px;font-weight:700;line-height:1.3}.topbar__sub[data-v-e9f63d36]{margin-top:2px;font-size:12px;color:var(--text-soft)}.topbar__actions[data-v-e9f63d36]{display:inline-flex;align-items:center;gap:10px}.theme-switch[data-v-e9f63d36]{position:relative}.theme-switch__trigger[data-v-e9f63d36]{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface-3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.theme-switch__icon[data-v-e9f63d36]{width:16px;height:16px;border-radius:999px;border:2px solid #f6d980;box-shadow:inset -3px -3px #ffd66659}.theme-switch__panel[data-v-e9f63d36]{position:absolute;right:0;top:44px;min-width:112px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);box-shadow:0 12px 24px #080e1d66}.theme-switch__item[data-v-e9f63d36]{width:100%;height:36px;border:0;text-align:left;padding:0 10px;background:transparent;color:var(--text);font-size:var(--font-sm);cursor:pointer}.theme-switch__item[data-v-e9f63d36]:hover{background:#5275af33}.theme-switch__item--active[data-v-e9f63d36]{color:#fff;background:linear-gradient(145deg,#3662ebad,#5740d7ad)}.profile[data-v-e9f63d36]{position:relative}.profile__trigger[data-v-e9f63d36]{height:38px;border-radius:999px;border:1px solid var(--line);padding:0 10px 0 6px;display:inline-flex;align-items:center;gap:8px;background:var(--surface-3);color:var(--text);cursor:pointer}.profile__avatar[data-v-e9f63d36]{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(145deg,#3662eb,#6f51ff)}.profile__name[data-v-e9f63d36]{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-sm)}.profile__menu[data-v-e9f63d36]{position:absolute;right:0;top:44px;min-width:124px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 24px #080e1d1f;z-index:999}:root[data-theme=dark] .profile__menu[data-v-e9f63d36]{background:#1e293b}.profile__item[data-v-e9f63d36]{width:100%;height:38px;text-align:left;padding:0 10px;border:0;color:var(--text);background:transparent;font-size:var(--font-md);font-weight:500;cursor:pointer}.profile__item[data-v-e9f63d36]:hover{background:#5275af33}.content[data-v-e9f63d36]{margin-top:8px}.mask[data-v-e9f63d36]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:50}.pwd-modal[data-v-e9f63d36]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:51;width:min(420px,calc(100vw - 30px));border-radius:14px;border:1px solid var(--line);background:var(--surface-2);padding:16px}.pwd-modal__title[data-v-e9f63d36]{font-size:16px;font-weight:700}.pwd-modal__form[data-v-e9f63d36]{margin-top:12px;display:grid;gap:8px}.pwd-modal__form label[data-v-e9f63d36]{display:grid;gap:5px;font-size:var(--font-sm);color:var(--text-soft)}.pwd-modal__form input[data-v-e9f63d36]{height:38px;border-radius:9px;border:1px solid var(--line);outline:none;background:var(--input-bg);color:var(--text);padding:0 10px;font-size:var(--font-md)}.pwd-modal__actions[data-v-e9f63d36]{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.pwd-modal__actions button[data-v-e9f63d36]{border:0;height:36px;border-radius:8px;padding:0 12px;font-size:var(--font-md);font-weight:600;cursor:pointer}.pwd-modal__actions .ghost[data-v-e9f63d36]{color:var(--text);border:1px solid var(--btn-ghost-border);background:var(--btn-ghost-bg)}.pwd-modal__actions .save[data-v-e9f63d36]{color:#fff;background:linear-gradient(145deg,#3662eb,#6f51ff)}@media (max-width: 1024px){.admin-shell[data-v-e9f63d36]{grid-template-columns:1fr}.sidebar[data-v-e9f63d36]{border-right:0;border-bottom:1px solid var(--line)}.menu[data-v-e9f63d36]{display:flex;overflow:auto}.menu__item[data-v-e9f63d36]{min-width:108px;text-align:center}.topbar[data-v-e9f63d36]{align-items:flex-start}}.login-page[data-v-917c34e7]{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;background:#0f0b1e;position:relative;overflow:hidden}.login-bg[data-v-917c34e7]{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.bg-gradient[data-v-917c34e7]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#9b7af01f,#6b9cf70f,#9b7af014)}.bg-city[data-v-917c34e7]{position:absolute;bottom:0;left:0;right:0;height:400px;opacity:.8}.bg-city svg[data-v-917c34e7]{width:100%;height:100%}.bg-circles[data-v-917c34e7]{position:absolute;top:0;right:0;bottom:0;left:0}.circle[data-v-917c34e7]{position:absolute;border-radius:50%;animation:floatCircle-917c34e7 12s ease-in-out infinite}.circle-1[data-v-917c34e7]{width:600px;height:600px;background:radial-gradient(circle,rgba(155,122,240,.14),transparent 70%);top:-200px;right:-100px}.circle-2[data-v-917c34e7]{width:500px;height:500px;background:radial-gradient(circle,rgba(107,156,247,.1),transparent 70%);bottom:-150px;left:-100px;animation-delay:-4s}.circle-3[data-v-917c34e7]{width:300px;height:300px;background:radial-gradient(circle,rgba(184,160,250,.12),transparent 70%);top:40%;left:30%;animation-delay:-8s}@keyframes floatCircle-917c34e7{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-25px) scale(1.03)}66%{transform:translate(-15px,15px) scale(.97)}}.bg-grid[data-v-917c34e7]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:80px 80px;opacity:.3}.login-container[data-v-917c34e7]{position:relative;z-index:1;display:flex;width:920px;max-width:94vw;min-height:540px;border-radius:16px;overflow:hidden;background:#1a1630;border:1px solid rgba(255,255,255,.06);box-shadow:0 20px 60px #00000080}.login-brand[data-v-917c34e7]{width:380px;min-width:380px;background:linear-gradient(160deg,#8b68e6,#7048c9,#5b3db0);display:flex;align-items:center;justify-content:center;padding:40px;position:relative;overflow:hidden}.login-brand[data-v-917c34e7]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(184,160,250,.3),transparent 50%),radial-gradient(circle at 80% 20%,rgba(107,156,247,.25),transparent 50%)}.login-brand[data-v-917c34e7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px}.brand-content[data-v-917c34e7]{text-align:center;position:relative;z-index:1;color:#fff}.brand-logo[data-v-917c34e7]{width:60px;height:60px;margin:0 auto 20px}.brand-logo svg[data-v-917c34e7]{width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.brand-logo-img[data-v-917c34e7]{width:180px;margin:0 auto 16px}.brand-logo-img img[data-v-917c34e7]{width:100%;height:auto}.brand-title[data-v-917c34e7]{font-size:36px;font-weight:700;letter-spacing:3px;margin-bottom:6px}.brand-subtitle[data-v-917c34e7]{font-size:15px;color:#ffffffb3;letter-spacing:5px;margin-bottom:24px}.brand-divider[data-v-917c34e7]{width:40px;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);margin:0 auto 20px}.brand-desc[data-v-917c34e7]{font-size:15px;color:#ffffffa6;line-height:1.8;margin-bottom:28px}.brand-features[data-v-917c34e7]{text-align:left;display:inline-block}.feature-item[data-v-917c34e7]{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:14px;color:#fffc}.feature-item svg[data-v-917c34e7]{width:16px;height:16px;color:#b8a0fae6;flex-shrink:0}.brand-light[data-v-917c34e7]{background:linear-gradient(160deg,#f8fafc,#eef2f7,#e8edf5)!important}.brand-light[data-v-917c34e7]:before{background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.06),transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.05),transparent 50%)!important}.brand-light[data-v-917c34e7]:after{background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px)!important}.brand-light .brand-title[data-v-917c34e7]{color:#1e293b}.brand-light .brand-subtitle[data-v-917c34e7]{color:#64748b}.brand-light .brand-divider[data-v-917c34e7]{background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent)!important}.brand-light .brand-desc[data-v-917c34e7],.brand-light .feature-item[data-v-917c34e7]{color:#475569}.brand-light .feature-item svg[data-v-917c34e7]{color:#6366f1}.login-form-area[data-v-917c34e7]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 48px;background:#1a1630}.form-wrapper[data-v-917c34e7]{width:100%;max-width:340px}.form-title[data-v-917c34e7]{font-size:24px;font-weight:700;color:#f1f5f9;margin-bottom:4px}.form-subtitle[data-v-917c34e7]{font-size:14px;color:#64748b;margin-bottom:28px}.form-group[data-v-917c34e7]{margin-bottom:20px;transition:all .2s}.form-group.is-focus .input-wrapper[data-v-917c34e7]{border-color:#8b5cf680;box-shadow:0 0 0 3px #8b5cf614}.form-group.is-focus .form-label[data-v-917c34e7]{color:#a78bfa}.form-label[data-v-917c34e7]{display:block;font-size:13px;font-weight:500;color:#94a3b8;margin-bottom:6px}.input-wrapper[data-v-917c34e7]{display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;transition:all .2s}.input-icon[data-v-917c34e7]{width:18px;height:18px;color:#475569;flex-shrink:0}.input-wrapper input[data-v-917c34e7]{flex:1;border:none;background:transparent;color:#f1f5f9;font-size:14px;outline:none}.input-wrapper input[data-v-917c34e7]::placeholder{color:#475569}.success-msg[data-v-917c34e7]{font-size:13px;color:#10b981;margin-bottom:12px;padding:8px 12px;background:#10b98114;border-radius:8px;border:1px solid rgba(16,185,129,.15)}.error-msg[data-v-917c34e7]{font-size:13px;color:#ef4444;margin-bottom:12px;padding:8px 12px;background:#ef444414;border-radius:8px;border:1px solid rgba(239,68,68,.15)}.submit-btn[data-v-917c34e7]{width:100%;padding:12px;border:none;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px;box-shadow:0 4px 16px #8b5cf64d}.submit-btn[data-v-917c34e7]:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf666}.submit-btn[data-v-917c34e7]:disabled{opacity:.5;cursor:default;transform:none}.captcha-wrapper[data-v-917c34e7]{position:relative}.captcha-img[data-v-917c34e7]{position:absolute;right:4px;top:50%;transform:translateY(-50%);cursor:pointer;height:34px;width:100px;border-radius:4px;overflow:hidden;background:#ffffff14;display:flex;align-items:center;justify-content:center}.captcha-img[data-v-917c34e7] svg{height:34px;width:100px}.theme-toggle[data-v-917c34e7]{position:fixed;top:20px;right:20px;z-index:100;width:40px;height:40px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#94a3b8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.theme-toggle svg[data-v-917c34e7]{width:18px;height:18px}.theme-toggle[data-v-917c34e7]:hover{background:#ffffff1a;color:#a78bfa;border-color:#a78bfa;transform:rotate(15deg)}.login-tabs[data-v-917c34e7]{display:flex;gap:4px;margin-bottom:24px;padding:3px;background:#ffffff0a;border-radius:8px}.login-tabs span[data-v-917c34e7]{flex:1;text-align:center;padding:8px;font-size:13px;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s}.login-tabs span.active[data-v-917c34e7]{background:#8b5cf626;color:#a78bfa;font-weight:600}.login-tabs span[data-v-917c34e7]:hover:not(.active){color:#94a3b8}.code-wrapper[data-v-917c34e7]{overflow:hidden}.send-code-btn[data-v-917c34e7]{flex-shrink:0;padding:5px 12px;border:none;border-radius:6px;background:#8b5cf626;color:#a78bfa;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .2s}.send-code-btn[data-v-917c34e7]:hover:not(:disabled){background:#8b5cf640}.send-code-btn[data-v-917c34e7]:disabled{opacity:.5;cursor:default}.footer-text[data-v-917c34e7]{text-align:center;font-size:11px;color:#374151;margin-top:24px}@media (max-width: 700px){.login-container[data-v-917c34e7]{flex-direction:column;min-height:auto}.login-brand[data-v-917c34e7]{min-width:unset;width:100%;padding:32px 28px}.login-form-area[data-v-917c34e7]{padding:32px 28px}}.list-page[data-v-d95851e0]{display:grid;gap:8px}.sync-row[data-v-d95851e0]{border:1px solid var(--line);border-radius:12px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 16px #1443950f;min-height:46px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.sync-row__meta[data-v-d95851e0]{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-soft);font-size:.82rem}.sync-row__title[data-v-d95851e0]{color:var(--text);font-weight:600}.sync-row__badge[data-v-d95851e0]{border-radius:999px;padding:2px 8px;font-size:.78rem}.sync-row__badge--running[data-v-d95851e0]{color:#f59e0b;background:#f59e0b1f}.sync-row__badge--idle[data-v-d95851e0]{color:#10b981;background:#10b9811f}.sync-row__text[data-v-d95851e0]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-btn[data-v-d95851e0]{height:34px;border:0;border-radius:9px;padding:0 12px;font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 16px #3575ee2e;transition:all .2s}.sync-actions[data-v-d95851e0]{display:flex;align-items:center;gap:8px}.sync-progress[data-v-d95851e0]{border:1px solid var(--line);border-radius:12px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 16px #1443950f;padding:10px 12px;display:grid;gap:8px}.sync-progress__head[data-v-d95851e0],.sync-progress__stats[data-v-d95851e0]{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.82rem;color:var(--text-soft)}.sync-progress__track[data-v-d95851e0]{width:100%;height:8px;border-radius:999px;background:#94a3b840;overflow:hidden}.sync-progress__fill[data-v-d95851e0]{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#4f46e5);transition:width .22s ease}.sync-progress__failed[data-v-d95851e0]{color:#ef4444}.sync-progress__key[data-v-d95851e0]{font-size:.82rem;color:var(--text-soft);word-break:break-all}.initial-loading[data-v-d95851e0]{border:1px dashed var(--line);border-radius:12px;min-height:44px;padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--text-soft);background:var(--surface-1)}.initial-loading__spinner[data-v-d95851e0]{width:14px;height:14px;border-radius:50%;border:2px solid rgba(148,163,184,.4);border-top-color:#2563eb;animation:initial-spin-d95851e0 .8s linear infinite}@keyframes initial-spin-d95851e0{to{transform:rotate(360deg)}}.sync-btn--ghost[data-v-d95851e0]{border:1px solid var(--line);color:var(--text);background:var(--btn-ghost-bg)}.sync-btn--ghost[data-v-d95851e0]:hover{border-color:var(--primary);color:var(--primary)}.sync-btn--danger[data-v-d95851e0]{border-color:#ef44444d;color:#ef4444;background:#ef444414}.toolbar[data-v-d95851e0]{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.toolbar input[data-v-d95851e0],.toolbar select[data-v-d95851e0]{flex:1 1 170px;min-width:150px;height:40px;font-size:.86rem;border-radius:10px;border:1px solid var(--line);color:var(--text);padding:0 12px;background:var(--input-bg);font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.toolbar input[data-v-d95851e0]:focus,.toolbar select[data-v-d95851e0]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.toolbar input[data-v-d95851e0]{flex:1 1 320px;min-width:260px}.batch-bar[data-v-d95851e0]{border:1px solid var(--line);border-radius:12px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 16px #1443950f;min-height:44px;padding:8px 12px;display:flex;align-items:center;gap:10px}.batch-bar__check[data-v-d95851e0]{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-soft)}.batch-bar__count[data-v-d95851e0]{font-size:.82rem;color:var(--text-soft)}.batch-bar__count--warn[data-v-d95851e0]{color:#f59e0b;font-weight:600}.batch-bar__actions[data-v-d95851e0]{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.batch-btn[data-v-d95851e0]{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--btn-ghost-bg);color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;padding:0 10px;transition:all .2s}.batch-btn--danger[data-v-d95851e0]{color:#d14343}.create[data-v-d95851e0]{border:none;border-radius:10px;height:40px;flex:0 0 110px;width:110px;font-size:.82rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.query-btn[data-v-d95851e0]{border:1px solid var(--line);border-radius:10px;height:40px;flex:0 0 110px;width:110px;font-size:.82rem;font-weight:600;color:var(--text);background:var(--btn-ghost-bg);font-family:inherit;transition:all .2s}.query-btn[data-v-d95851e0]:hover{border-color:var(--primary);color:var(--primary)}.table-wrap[data-v-d95851e0]{border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f}.table-loading[data-v-d95851e0]{padding:10px 12px;font-size:var(--font-sm);color:var(--text-soft);border-bottom:1px solid rgba(123,155,208,.2)}.table[data-v-d95851e0]{width:100%;border-collapse:separate;border-spacing:0;min-width:1520px}.table th[data-v-d95851e0]{border-bottom:1px solid rgba(123,155,208,.2);padding:10px;text-align:left;font-size:.82rem;vertical-align:middle;color:var(--text-soft);font-weight:700;white-space:nowrap;position:sticky;top:0;z-index:2;background:var(--surface-3)}.table td[data-v-d95851e0]{border-bottom:1px solid rgba(123,155,208,.2);padding:10px;text-align:left;font-size:.86rem;vertical-align:middle;white-space:nowrap}.table th.col-check[data-v-d95851e0],.table td.col-check[data-v-d95851e0]{position:sticky;left:0;z-index:3;background:var(--surface-1)}.table th.col-check[data-v-d95851e0]{z-index:4;background:var(--surface-3)}.table th.col-title[data-v-d95851e0],.table td.col-title[data-v-d95851e0]{position:sticky;left:44px;z-index:3;background:var(--surface-1)}.table th.col-title[data-v-d95851e0]{z-index:4;background:var(--surface-3)}.table td.col-title[data-v-d95851e0]:after,.table th.col-title[data-v-d95851e0]:after{content:"";position:absolute;right:-6px;top:0;bottom:0;width:6px;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent);pointer-events:none}.table td.col-title[data-v-d95851e0]{white-space:normal;min-width:280px}.table tbody tr:hover td[data-v-d95851e0]{background:#4d7dff0a}.col-title[data-v-d95851e0]{width:320px;min-width:280px;max-width:400px}.col-check[data-v-d95851e0]{width:44px;min-width:44px}.sync-drawer-mask[data-v-d95851e0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0206176b;z-index:70}.pdf-modal-mask[data-v-d95851e0]{position:fixed;top:0;right:0;bottom:0;left:0;background:#02061785;z-index:74}.pdf-modal[data-v-d95851e0]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1200px,94vw);height:min(88vh,920px);z-index:75;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;overflow:hidden}.pdf-modal__head[data-v-d95851e0]{height:52px;padding:0 12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.pdf-modal__title[data-v-d95851e0]{font-size:.88rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-modal__tools[data-v-d95851e0]{display:inline-flex;align-items:center;gap:8px}.pdf-modal__body[data-v-d95851e0]{flex:1;min-height:0}.pdf-modal__frame[data-v-d95851e0]{width:100%;height:100%;border:0;background:#fff}.sync-drawer[data-v-d95851e0]{position:fixed;right:0;top:0;width:min(760px,92vw);height:100vh;z-index:71;border-left:1px solid var(--line);background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column}.sync-drawer__head[data-v-d95851e0]{padding:12px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-drawer__title[data-v-d95851e0]{font-size:.94rem;font-weight:700;color:var(--text)}.sync-drawer__tools[data-v-d95851e0]{display:flex;gap:8px}.sync-drawer__body[data-v-d95851e0]{flex:1;overflow:auto;padding:12px;display:grid;gap:10px}.sync-drawer__loading[data-v-d95851e0],.sync-drawer__empty[data-v-d95851e0]{border:1px dashed var(--line);border-radius:10px;padding:14px;color:var(--text-soft);font-size:.86rem}.sync-run[data-v-d95851e0]{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-1);display:grid;gap:6px}.sync-run__line[data-v-d95851e0]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.82rem;color:var(--text-soft)}.sync-run__line--metrics[data-v-d95851e0]{color:var(--text);font-size:.86rem}.sync-run__id[data-v-d95851e0]{font-weight:700;color:var(--text)}.sync-run__time[data-v-d95851e0]{white-space:nowrap}.sync-run__trigger[data-v-d95851e0]{display:inline-flex;align-items:center;align-self:center;white-space:nowrap;height:22px;line-height:1;border-radius:999px;padding:0 8px;background:#6f51ff26;color:#a78bfa}.sync-run__failed[data-v-d95851e0]{color:#ef4444}.sync-run__msg[data-v-d95851e0]{font-size:.82rem;color:var(--text-soft);margin-top:2px}.sync-run__failures[data-v-d95851e0]{border-top:1px dashed var(--line);padding-top:8px;display:grid;gap:6px}.sync-run__fail-item[data-v-d95851e0]{display:grid;gap:2px}.sync-run__fail-key[data-v-d95851e0]{font-size:.82rem;color:var(--text-soft)}.sync-run__fail-msg[data-v-d95851e0]{font-size:.82rem;color:#ef4444}.cell-input[data-v-d95851e0],.cell-select[data-v-d95851e0]{width:100%;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.82rem;padding:0 10px;box-sizing:border-box;font-family:inherit;outline:none;transition:border-color .2s}.cell-input[data-v-d95851e0]:focus,.cell-select[data-v-d95851e0]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.badge[data-v-d95851e0]{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:.82rem}.badge--ok[data-v-d95851e0]{background:#10b9811f;color:#10b981}.badge--draft[data-v-d95851e0]{background:#f59e0b1f;color:#f59e0b}.cover-tag[data-v-d95851e0]{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:.82rem}.cover-tag--default[data-v-d95851e0]{color:var(--text-soft);background:var(--surface-3)}.cover-tag--custom[data-v-d95851e0]{color:#10b981;background:#10b9811f}.cover-tag--auto[data-v-d95851e0]{color:#4d7dff;background:#4d7dff1f}.cover-tag--missing[data-v-d95851e0]{color:#f59e0b;background:#f59e0b1f}.pager[data-v-d95851e0]{border:1px solid var(--line);border-radius:12px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 16px #1443950f;min-height:44px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.pager__meta[data-v-d95851e0]{font-size:.82rem;color:var(--text-soft)}.pager__actions[data-v-d95851e0]{display:inline-flex;align-items:center;gap:8px}.pager__size[data-v-d95851e0]{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text-soft)}.pager__size select[data-v-d95851e0]{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.82rem;padding:0 8px}.actions[data-v-d95851e0]{display:flex;align-items:center;flex-wrap:nowrap;gap:6px}.actions button[data-v-d95851e0]{height:30px;border-radius:8px;border:1px solid var(--line);background:var(--btn-ghost-bg);color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;padding:0 10px;transition:all .2s}.actions button[data-v-d95851e0]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.ai-risk[data-v-d95851e0]{display:flex;flex-direction:column;gap:4px}.ai-risk__tag[data-v-d95851e0]{display:inline-flex;align-items:center;width:fit-content;max-width:210px;height:22px;padding:0 8px;border-radius:999px;font-size:.78rem;color:#ef4444;background:#ef444414;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-risk__ok[data-v-d95851e0]{font-size:.82rem;color:#10b981}.quick-save[data-v-d95851e0]{color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--primary),var(--primary-2))!important}.pdf-btn[data-v-d95851e0]{color:#4d7dff!important;border-color:#4d7dff59!important;background:#4d7dff14!important}.danger[data-v-d95851e0]{color:#ef4444!important}@media (max-width: 1024px){.toolbar[data-v-d95851e0]{display:grid;grid-template-columns:1fr}.toolbar input[data-v-d95851e0],.toolbar select[data-v-d95851e0],.query-btn[data-v-d95851e0],.create[data-v-d95851e0]{width:100%;min-width:0;flex:initial}.batch-bar[data-v-d95851e0]{flex-wrap:wrap}.batch-bar__actions[data-v-d95851e0]{width:100%;margin-left:0}}.editor-page[data-v-3789a385]{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(360px,.9fr);gap:8px}.panel[data-v-3789a385]{border:1px solid var(--line);border-radius:16px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;padding:12px}.panel__title[data-v-3789a385]{font-size:1.12rem;font-weight:700;margin-bottom:8px}.editor-loading[data-v-3789a385]{border:1px dashed var(--line);border-radius:12px;padding:18px 14px;font-size:.88rem;color:var(--text-soft);background:var(--surface-1)}.stepper[data-v-3789a385]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.stepper__item[data-v-3789a385]{min-height:52px;border-radius:12px;border:1px solid var(--line);background:var(--surface-1);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:8px 10px;font-family:inherit;font-size:.84rem;cursor:pointer;text-align:left}.stepper__dot[data-v-3789a385]{width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:#637fbe59}.stepper__item--active[data-v-3789a385]{border-color:#7594f6a8;box-shadow:0 8px 16px #3a58bf33}.stepper__item--active .stepper__dot[data-v-3789a385],.stepper__item--done .stepper__dot[data-v-3789a385]{color:#fff;background:linear-gradient(145deg,#2f62ff,#684bff)}.step-content[data-v-3789a385]{margin-top:14px;display:grid;gap:12px}.section-title[data-v-3789a385]{font-size:.92rem;font-weight:700;color:var(--text)}.grid[data-v-3789a385]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field[data-v-3789a385]{display:grid;gap:7px;font-size:.84rem;color:var(--text-soft)}.full[data-v-3789a385]{grid-column:span 2}.field input[data-v-3789a385],.field select[data-v-3789a385],.field textarea[data-v-3789a385]{border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:10px 12px;font-family:inherit;font-size:.88rem;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}.field input[data-v-3789a385],.field select[data-v-3789a385]{height:42px}.field textarea[data-v-3789a385]{min-height:120px;resize:vertical}.field input[data-v-3789a385]:focus,.field select[data-v-3789a385]:focus,.field textarea[data-v-3789a385]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.hint[data-v-3789a385]{font-size:.82rem;color:var(--text-soft)}.hint-card[data-v-3789a385]{border:1px dashed rgba(129,156,215,.45);background:#182c4c73;color:var(--text-soft);border-radius:10px;padding:10px 12px;font-size:.86rem}.hint-card--ok[data-v-3789a385]{border-color:#2cc58e8c;background:#13564273;color:#c8f7e8}.source-mode[data-v-3789a385]{display:inline-flex;gap:8px;flex-wrap:wrap}.source-mode__btn[data-v-3789a385]{height:34px;border-radius:999px;border:1px solid var(--line);background:var(--btn-ghost-bg);color:var(--text);padding:0 14px;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}.source-mode__btn--active[data-v-3789a385]{border:0;color:#fff;background:linear-gradient(145deg,#2f62ff,#684bff);box-shadow:0 8px 14px #425de647}.field-head[data-v-3789a385]{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px}.quick-actions[data-v-3789a385]{display:flex;align-items:center;gap:8px}.quick-actions--wrap[data-v-3789a385]{flex-wrap:wrap}.field-head .mini[data-v-3789a385]{height:34px}.file-input-hidden[data-v-3789a385]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.mini[data-v-3789a385]{height:38px;border-radius:10px;border:1px solid var(--btn-ghost-border);background:var(--btn-ghost-bg);color:var(--text);padding:0 12px;font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:all .2s}.mini--primary[data-v-3789a385]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 14px #3575ee38}.mini[data-v-3789a385]:disabled{opacity:.55;cursor:not-allowed}.file-chip[data-v-3789a385]{height:38px;max-width:360px;border:1px dashed rgba(131,158,214,.42);border-radius:10px;padding:0 12px;display:inline-flex;align-items:center;font-size:var(--font-sm);color:var(--text-soft);background:#12223c70}.pdf-preview[data-v-3789a385]{border:1px solid var(--line);border-radius:10px;background:var(--surface-1);overflow:hidden}.pdf-preview__frame[data-v-3789a385]{width:100%;height:360px;border:0;background:#fff}.confirm-grid[data-v-3789a385]{display:grid;gap:10px}.confirm-item[data-v-3789a385]{border:1px solid var(--line);border-radius:10px;background:var(--surface-1);padding:10px 12px}.confirm-item__label[data-v-3789a385]{font-size:.82rem;color:var(--text-soft)}.confirm-item__value[data-v-3789a385]{margin-top:4px;font-size:.88rem;color:var(--text)}.confirm-item__value--break[data-v-3789a385]{word-break:break-all}.confirm-actions[data-v-3789a385]{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.confirm-option[data-v-3789a385]{height:36px;border-radius:9px;border:1px solid var(--btn-ghost-border);padding:0 12px;font-size:var(--font-sm);color:var(--text);background:var(--btn-ghost-bg);cursor:pointer}.confirm-option--active[data-v-3789a385]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2))}.confirm-item__hint[data-v-3789a385]{margin-top:6px;font-size:var(--font-sm);color:var(--text-soft)}.actions[data-v-3789a385]{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.actions button[data-v-3789a385]{height:40px;border-radius:10px;padding:0 16px;cursor:pointer;font-size:.86rem;font-weight:600;font-family:inherit;transition:all .2s;border:0}.actions .ghost[data-v-3789a385]{color:var(--text);border:1px solid var(--btn-ghost-border);background:var(--btn-ghost-bg)}.actions .ghost[data-v-3789a385]:hover{border-color:var(--primary);color:var(--primary)}.actions .save[data-v-3789a385]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.actions button[data-v-3789a385]:disabled{opacity:.5;cursor:not-allowed}.status-list[data-v-3789a385]{display:grid;gap:8px}.status-item[data-v-3789a385]{border:1px solid var(--line);border-radius:10px;background:var(--surface-1);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;font-size:.86rem}.status-pill[data-v-3789a385]{border-radius:999px;padding:3px 10px;font-size:12px}.status-pill--ok[data-v-3789a385]{background:#10b9811f;color:#10b981}.status-pill--pending[data-v-3789a385]{background:#f59e0b1f;color:#f59e0b}.cover-preview[data-v-3789a385]{margin-top:12px}.cover-preview__title[data-v-3789a385]{font-size:.86rem;color:var(--text-soft)}.cover-preview img[data-v-3789a385]{margin-top:8px;width:100%;aspect-ratio:16 / 9;height:auto;object-fit:cover;border-radius:12px}.phone-preview[data-v-3789a385]{margin-top:12px}.phone-preview__title[data-v-3789a385]{font-size:.86rem;color:var(--text-soft)}.phone-shell[data-v-3789a385]{margin-top:8px;width:100%;max-width:398px;border-radius:22px;border:1px solid rgba(126,154,211,.38);background:linear-gradient(180deg,#101f3adb,#0b1426f0);box-shadow:0 16px 28px #080e1d59;padding:10px}.phone-screen[data-v-3789a385]{border-radius:16px;overflow:hidden;padding:10px;background:linear-gradient(180deg,#e9eef8,#eef3fb 56%,#f4f7fc)}.report-card-preview[data-v-3789a385]{overflow:hidden;border-radius:14px;padding:0 12px 12px;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(200,216,238,.62);box-shadow:0 8px 14px #0f172a14}.report-card-preview__cover-wrap[data-v-3789a385]{margin:0 -12px;aspect-ratio:16 / 9;height:auto;position:relative;overflow:hidden}.report-card-preview__cover[data-v-3789a385]{width:100%;height:100%;object-fit:cover}.report-card-preview__cover-mask[data-v-3789a385]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f172a57 10%,#2563eb3d 90%)}.report-card-preview__hot[data-v-3789a385]{position:absolute;right:8px;top:8px;z-index:2;padding:2px 8px;border-radius:999px;font-size:11px;color:#fff;background:linear-gradient(145deg,#ef4444eb,#f97316e6)}.report-card-preview__head[data-v-3789a385]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.period-chip[data-v-3789a385]{padding:3px 8px;border-radius:999px;font-size:11px;color:#fff}.period-chip--regular[data-v-3789a385]{background:linear-gradient(145deg,#2563eb,#4f46e5)}.period-chip--special[data-v-3789a385]{background:linear-gradient(145deg,#7c3aed,#c026d3)}.period-chip--industry[data-v-3789a385]{background:linear-gradient(145deg,#0f766e,#14b8a6)}.report-card-preview__date[data-v-3789a385]{font-size:11px;color:#64748b}.report-card-preview__title[data-v-3789a385]{margin-top:8px;font-size:15px;line-height:1.36;font-weight:700;color:#0f172a}.report-card-preview__summary[data-v-3789a385]{margin-top:6px;font-size:12px;line-height:1.6;color:#334155}.report-card-preview__actions[data-v-3789a385]{margin-top:10px;display:flex;gap:8px}.report-card-preview__btn[data-v-3789a385]{flex:1;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.report-card-preview__btn--share[data-v-3789a385]{color:#1e40af;background:#e7efff}.report-card-preview__btn--ai[data-v-3789a385]{color:#fff;background:linear-gradient(145deg,#4f46e5,#2563eb)}.detail-preview[data-v-3789a385]{position:relative;aspect-ratio:16 / 9;height:auto;border-radius:14px;overflow:hidden;box-shadow:0 10px 20px #0f172a24}.detail-preview__cover[data-v-3789a385]{width:100%;height:100%;object-fit:cover}.detail-preview__mask[data-v-3789a385]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(130deg,#0f172adb 10%,#2563eb85 90%)}.detail-preview__content[data-v-3789a385]{position:absolute;top:0;right:0;bottom:0;left:0;padding:12px;display:flex;flex-direction:column;justify-content:flex-end}.detail-preview__eyebrow[data-v-3789a385]{font-size:10px;letter-spacing:.8px;color:#ffffffc2}.detail-preview__headline[data-v-3789a385]{margin-top:4px;color:#fff;font-size:18px;font-weight:700}.detail-preview__summary[data-v-3789a385]{margin-top:6px;color:#f5f9ffe6;font-size:12px;line-height:1.65}.oss-picker-mask[data-v-3789a385]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:60}.oss-picker[data-v-3789a385]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(860px,calc(100vw - 28px));max-height:min(78vh,760px);overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 48px #060e1c80;z-index:61;padding:14px;display:grid;grid-template-rows:auto auto 1fr auto;gap:10px}.oss-picker__title[data-v-3789a385]{font-size:.94rem;font-weight:700}.oss-picker__toolbar[data-v-3789a385]{display:grid;grid-template-columns:1fr auto;gap:8px}.oss-picker__toolbar input[data-v-3789a385]{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--input-bg);color:var(--text);padding:0 12px;font-family:inherit;font-size:var(--font-md);outline:none;transition:border-color .2s,box-shadow .2s}.oss-picker__toolbar input[data-v-3789a385]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.oss-picker__list[data-v-3789a385]{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-1)}.oss-row[data-v-3789a385]{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:10px;border-top:1px solid rgba(127,154,201,.2);align-items:start}.oss-row[data-v-3789a385]:first-child{border-top:0}.oss-row input[data-v-3789a385]{margin-top:3px}.oss-row__main[data-v-3789a385]{display:grid;gap:4px}.oss-row__name[data-v-3789a385]{font-size:var(--font-md);color:var(--text)}.oss-row__meta[data-v-3789a385]{display:inline-flex;gap:10px;font-size:var(--font-sm);color:var(--text-soft)}.oss-row__url[data-v-3789a385]{font-size:var(--font-sm);color:var(--text-soft);word-break:break-all}.oss-picker__empty[data-v-3789a385],.oss-picker__loading[data-v-3789a385]{padding:14px;font-size:var(--font-md);color:var(--text-soft)}.oss-picker__actions[data-v-3789a385]{display:flex;justify-content:flex-end;gap:8px}.oss-picker__actions button[data-v-3789a385]{height:38px;border-radius:9px;padding:0 12px;border:0;font-size:var(--font-md);font-weight:600;cursor:pointer}.oss-picker__actions .ghost[data-v-3789a385]{border:1px solid var(--btn-ghost-border);background:var(--btn-ghost-bg);color:var(--text)}.oss-picker__actions .ghost[data-v-3789a385]:hover{border-color:var(--primary);color:var(--primary)}.oss-picker__actions .save[data-v-3789a385]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2))}@media (max-width: 1280px){.editor-page[data-v-3789a385]{grid-template-columns:1fr}.right[data-v-3789a385]{order:-1}}@media (max-width: 1024px){.stepper[data-v-3789a385]{grid-template-columns:repeat(2,minmax(0,1fr))}.grid[data-v-3789a385]{grid-template-columns:1fr}.full[data-v-3789a385]{grid-column:auto}.pdf-preview__frame[data-v-3789a385]{height:300px}}.users-page[data-v-4a68b1fa]{display:grid;gap:8px}.panel[data-v-4a68b1fa]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.toolbar[data-v-4a68b1fa]{padding:8px 16px;display:flex;gap:8px;align-items:center;justify-content:space-between}.search-box[data-v-4a68b1fa]{flex:1;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);display:inline-flex;align-items:center;padding:0 10px;transition:border-color .2s,box-shadow .2s}.search-box[data-v-4a68b1fa]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.search-box__icon[data-v-4a68b1fa]{width:14px;height:14px;border-radius:999px;border:2px solid #6d86b6;position:relative;margin-right:8px}.search-box__icon[data-v-4a68b1fa]:after{content:"";position:absolute;right:-6px;bottom:-5px;width:7px;height:2px;transform:rotate(45deg);background:#6d86b6;border-radius:2px}.toolbar input[data-v-4a68b1fa]{flex:1;height:100%;font-size:.86rem;font-weight:500;border:0;outline:none;background:transparent;color:var(--text);padding:0}.panel__title[data-v-4a68b1fa]{padding:10px 16px;border-bottom:1px solid var(--line);font-size:.94rem;font-weight:700}.table-scroll[data-v-4a68b1fa]{overflow-x:auto}.table[data-v-4a68b1fa]{width:100%;border-collapse:collapse}.user-table[data-v-4a68b1fa]{min-width:1200px}.table th[data-v-4a68b1fa],.table td[data-v-4a68b1fa]{padding:10px 12px;border-bottom:1px solid rgba(132,160,206,.2);text-align:left;font-size:.86rem}.table th[data-v-4a68b1fa]{color:var(--text-soft);font-weight:700;font-size:.82rem;white-space:nowrap;position:sticky;top:0;z-index:1;background:var(--surface-3)}.table tbody tr[data-v-4a68b1fa]:hover{background:#4d7dff0a}.nowrap[data-v-4a68b1fa]{white-space:nowrap}.col-name[data-v-4a68b1fa]{position:sticky;left:0;z-index:3;background:var(--surface-1);white-space:nowrap}th.col-name[data-v-4a68b1fa]{background:var(--surface-3)}.col-name[data-v-4a68b1fa]:after{content:"";position:absolute;right:-6px;top:0;bottom:0;width:6px;background:linear-gradient(90deg,rgba(0,0,0,.06),transparent);pointer-events:none}.col-actions[data-v-4a68b1fa]{position:sticky;right:0;z-index:3;background:var(--surface-1);white-space:nowrap}th.col-actions[data-v-4a68b1fa]{background:var(--surface-3)}.col-actions[data-v-4a68b1fa]:before{content:"";position:absolute;left:-6px;top:0;bottom:0;width:6px;background:linear-gradient(270deg,rgba(0,0,0,.06),transparent);pointer-events:none}.badge[data-v-4a68b1fa]{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:12px;white-space:nowrap}.badge--ok[data-v-4a68b1fa]{background:#10b9811f;color:#10b981}.badge--off[data-v-4a68b1fa]{background:#f59e0b1f;color:#f59e0b}.badge--online[data-v-4a68b1fa]{background:#3b82f61f;color:#3b82f6}.badge--warn[data-v-4a68b1fa]{background:#eab3081f;color:#eab308}.actions[data-v-4a68b1fa]{display:flex;gap:8px;flex-wrap:nowrap}.perm-list[data-v-4a68b1fa]{display:flex;flex-wrap:wrap;gap:6px}.perm-chip[data-v-4a68b1fa]{padding:2px 8px;border-radius:999px;border:1px solid rgba(121,153,227,.4);background:var(--btn-ghost-bg);color:var(--text);font-size:.78rem;white-space:nowrap}.city-default[data-v-4a68b1fa]{margin-top:6px;font-size:.78rem;color:var(--text-soft);white-space:nowrap}.actions button[data-v-4a68b1fa],.primary[data-v-4a68b1fa],.ghost[data-v-4a68b1fa]{height:32px;border-radius:8px;padding:0 10px;font-size:.84rem;font-weight:600;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .2s}.actions button[data-v-4a68b1fa],.ghost[data-v-4a68b1fa]{border:1px solid var(--line);color:var(--text);background:var(--btn-ghost-bg)}.ghost[data-v-4a68b1fa]:hover{border-color:var(--primary);color:var(--primary)}.ghost--sm[data-v-4a68b1fa]{height:28px;padding:0 8px;font-size:.8rem}.create-btn[data-v-4a68b1fa],.primary[data-v-4a68b1fa]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.create-btn[data-v-4a68b1fa]{height:38px;border-radius:10px;padding:0 14px;font-size:.86rem;font-weight:600;white-space:nowrap}.org-mgr-btn[data-v-4a68b1fa]{height:38px;border-radius:10px;padding:0 14px;font-size:.82rem;font-weight:600;background:var(--btn-ghost-bg);border:1px solid var(--btn-ghost-border);color:var(--text);cursor:pointer;white-space:nowrap}.org-mgr-btn[data-v-4a68b1fa]:hover{background:var(--surface-3)}.org-list[data-v-4a68b1fa]{max-height:260px;overflow-y:auto;margin:8px 0}.org-item[data-v-4a68b1fa]{display:flex;justify-content:space-between;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line);font-size:14px;color:var(--text)}.org-item[data-v-4a68b1fa]:last-child{border-bottom:none}.danger-text[data-v-4a68b1fa]{background:none;border:none;color:var(--danger);cursor:pointer;font-size:13px;font-weight:600}.danger-text[data-v-4a68b1fa]:hover{text-decoration:underline}.btn[data-v-4a68b1fa]{min-width:48px;font-weight:600;white-space:nowrap}.btn--edit[data-v-4a68b1fa]{border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft)}.btn--danger[data-v-4a68b1fa]{border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#ef4444}.mask[data-v-4a68b1fa]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:40}.modal[data-v-4a68b1fa]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 48px #060e1c80;z-index:41;padding:14px}.modal__title[data-v-4a68b1fa]{font-size:1.12rem;font-weight:700}.grid[data-v-4a68b1fa]{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid label[data-v-4a68b1fa]{display:grid;gap:5px;font-size:.84rem;color:var(--text-soft)}.grid input[data-v-4a68b1fa],.grid select[data-v-4a68b1fa]{height:36px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s}.grid input[data-v-4a68b1fa]:focus,.grid select[data-v-4a68b1fa]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.tools-row[data-v-4a68b1fa]{margin-top:10px;display:flex;gap:8px}.tools-row .ghost[data-v-4a68b1fa]{height:34px;font-size:.84rem}.perm-picker[data-v-4a68b1fa]{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-1)}.perm-picker__title[data-v-4a68b1fa]{font-size:.84rem;color:var(--text-soft)}.perm-picker__list[data-v-4a68b1fa]{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.perm-option[data-v-4a68b1fa]{height:30px;border-radius:999px;border:1px solid var(--line);padding:0 12px;background:var(--btn-ghost-bg);color:var(--text);font-size:.84rem;cursor:pointer}.perm-option--active[data-v-4a68b1fa]{border-color:#7696faa8;color:#fff;background:linear-gradient(145deg,#3662ebb3,#654dedb3)}.city-default-picker[data-v-4a68b1fa]{margin-top:10px;display:grid;gap:5px;font-size:.84rem;color:var(--text-soft)}.city-default-picker select[data-v-4a68b1fa]{height:34px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--text);padding:0 10px}.modal__actions[data-v-4a68b1fa]{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.user-tabs[data-v-4a68b1fa]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;gap:4px}.user-tab[data-v-4a68b1fa]{padding:6px 18px;border-radius:10px;font-size:.86rem;font-weight:600;border:1px solid transparent;background:transparent;color:var(--text-soft);cursor:pointer;font-family:inherit;transition:all .2s}.user-tab--active[data-v-4a68b1fa]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;box-shadow:0 4px 12px #4d7dff40}.user-tab[data-v-4a68b1fa]:not(.user-tab--active):hover{border-color:var(--primary);color:var(--primary)}.engine-empty[data-v-4a68b1fa]{padding:48px 24px;text-align:center;color:var(--text-soft);font-size:.92rem}.engine-link[data-v-4a68b1fa]{display:inline-block;margin-top:12px;padding:8px 18px;border-radius:10px;font-size:.86rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));text-decoration:none;transition:opacity .2s}.engine-link[data-v-4a68b1fa]:hover{opacity:.85}.engine-note[data-v-4a68b1fa]{padding:12px 16px;border-top:1px solid var(--line);font-size:.82rem;color:var(--text-soft);line-height:1.6}.empty-cell[data-v-4a68b1fa]{text-align:center;color:var(--text-soft);padding:24px 0!important}.log-title-row[data-v-4a68b1fa]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.log-filter[data-v-4a68b1fa]{display:flex;align-items:center;gap:6px}.log-filter-input[data-v-4a68b1fa]{height:28px;width:140px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);color:var(--text);padding:0 8px;font-size:.82rem;font-family:inherit;outline:none;transition:border-color .2s}.log-filter-input[data-v-4a68b1fa]:focus{border-color:var(--primary)}.pagination[data-v-4a68b1fa]{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;border-top:1px solid var(--line)}.page-btn[data-v-4a68b1fa]{min-width:32px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--btn-ghost-bg);color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;padding:0 8px;transition:all .2s}.page-btn[data-v-4a68b1fa]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn[data-v-4a68b1fa]:disabled{opacity:.4;cursor:not-allowed}.page-btn--active[data-v-4a68b1fa]{color:#fff;background:var(--primary);border-color:var(--primary)}.page-ellipsis[data-v-4a68b1fa]{font-size:.82rem;color:var(--text-soft);padding:0 2px}.page-total[data-v-4a68b1fa]{font-size:.82rem;color:var(--text-soft);margin-left:8px}.stats-cards[data-v-4a68b1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px}.stat-card[data-v-4a68b1fa]{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-3);text-align:center}.stat-card__value[data-v-4a68b1fa]{font-size:1.8rem;font-weight:800;color:var(--primary);line-height:1.2}.stat-card__label[data-v-4a68b1fa]{font-size:.82rem;color:var(--text-soft);margin-top:4px}.text-danger[data-v-4a68b1fa]{color:#ef4444;font-weight:600}.tier-section[data-v-4a68b1fa]{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-1)}.tier-row[data-v-4a68b1fa]{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.tier-label[data-v-4a68b1fa]{display:grid;gap:5px;font-size:.84rem;color:var(--text-soft)}.tier-select[data-v-4a68b1fa],.tier-input[data-v-4a68b1fa]{height:36px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s}.tier-select[data-v-4a68b1fa]:focus,.tier-input[data-v-4a68b1fa]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.ai-access-toggle[data-v-4a68b1fa]{margin-top:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-1)}.toggle-row[data-v-4a68b1fa]{display:flex;align-items:center;gap:10px;cursor:pointer}.toggle-label[data-v-4a68b1fa]{font-size:.84rem;color:var(--text-soft);font-weight:600}.toggle-hint[data-v-4a68b1fa]{font-size:.82rem;color:var(--text-soft)}.toggle-switch[data-v-4a68b1fa]{position:relative;width:44px;height:24px;border-radius:12px;border:1px solid var(--line);background:var(--surface-3);cursor:pointer;transition:background .2s,border-color .2s;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.toggle-switch--on[data-v-4a68b1fa]{background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent}.toggle-switch__thumb[data-v-4a68b1fa]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle-switch--on .toggle-switch__thumb[data-v-4a68b1fa]{transform:translate(20px)}@media (max-width: 1024px){.user-table[data-v-4a68b1fa]{min-width:1100px}.grid[data-v-4a68b1fa]{grid-template-columns:1fr}.stats-cards[data-v-4a68b1fa]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stats-cards[data-v-4a68b1fa]{grid-template-columns:1fr 1fr}}.et-head[data-v-8433f835]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.et-title[data-v-8433f835]{font-size:1.12rem;font-weight:700;margin:0 0 3px;letter-spacing:.2px}.et-sub[data-v-8433f835]{font-size:.86rem;color:var(--text-soft);margin:0}.et-empty[data-v-8433f835]{text-align:center;padding:60px 20px;color:var(--text-soft);background:var(--surface-1);border:1px solid var(--line);border-radius:16px}.et-link-btn[data-v-8433f835]{display:inline-block;margin-top:12px;padding:9px 20px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-size:.88rem;font-weight:600;text-decoration:none}.et-loading[data-v-8433f835]{text-align:center;padding:40px;color:var(--text-soft)}.et-grid[data-v-8433f835]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:8px}.et-card[data-v-8433f835]{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:border-color .2s;box-shadow:0 8px 20px #1443950f}.et-card--active[data-v-8433f835]{border-color:#4d7dff73}.et-card-head[data-v-8433f835]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.et-logo[data-v-8433f835]{width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:.5px}.et-card-info[data-v-8433f835]{flex:1}.et-card-name[data-v-8433f835]{font-weight:700;font-size:.92rem;display:block}.et-badge[data-v-8433f835]{font-size:.76rem;padding:1px 7px;border-radius:5px;display:inline-block;margin-top:1px}.et-badge--ok[data-v-8433f835]{background:#10b9811f;color:#10b981}.et-badge--miss[data-v-8433f835]{background:#f59e0b1f;color:#f59e0b}.et-radio[data-v-8433f835]{display:flex;align-items:center;gap:5px;font-size:.84rem;color:var(--text-soft);cursor:pointer}.et-radio input[data-v-8433f835]{accent-color:var(--primary)}.et-card-body[data-v-8433f835]{padding:10px 14px}.et-field[data-v-8433f835]{margin-bottom:8px}.et-field label[data-v-8433f835]{display:block;font-size:.8rem;color:var(--text-soft);margin-bottom:4px;font-weight:600}.et-field input[data-v-8433f835]{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);font-size:.88rem;outline:none;font-family:inherit;transition:border-color .2s,box-shadow .2s}.et-field input[data-v-8433f835]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.et-mono[data-v-8433f835]{font-family:SF Mono,Monaco,monospace;font-size:.82rem!important}.et-key-wrap[data-v-8433f835]{position:relative}.et-key-wrap input[data-v-8433f835]{padding-right:56px}.et-eye[data-v-8433f835]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-soft);cursor:pointer;font-size:.78rem;padding:3px 5px;border-radius:4px}.et-eye[data-v-8433f835]:hover{color:var(--primary)}.et-field-row[data-v-8433f835]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.et-card-foot[data-v-8433f835]{display:flex;align-items:center;gap:10px;margin-top:4px}.et-test[data-v-8433f835]{font-size:.84rem}.et-test--ok[data-v-8433f835]{color:#10b981}.et-test--fail[data-v-8433f835]{color:#ef4444}.et-adv[data-v-8433f835]{margin-top:16px}.et-adv summary[data-v-8433f835]{cursor:pointer;font-size:.88rem;color:var(--text-soft);padding:8px 0;list-style:none;-webkit-user-select:none;user-select:none;font-weight:600}.et-adv summary[data-v-8433f835]::-webkit-details-marker{display:none}.et-adv summary[data-v-8433f835]:before{content:"▶ ";font-size:.65rem}.et-adv[open] summary[data-v-8433f835]:before{content:"▼ "}.et-adv-grid[data-v-8433f835]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--surface-1);border:1px solid var(--line);border-radius:12px;padding:10px}.et-msg[data-v-8433f835]{font-size:.86rem;padding:9px 14px;border-radius:10px;margin-top:12px}.et-msg--ok[data-v-8433f835]{color:#10b981;background:#10b98114;border:1px solid rgba(16,185,129,.2)}.et-msg--err[data-v-8433f835]{color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.2)}.et-btn[data-v-8433f835]{border:1px solid var(--line);border-radius:9px;padding:7px 14px;font-size:.86rem;font-weight:600;font-family:inherit;cursor:pointer;background:var(--surface-3);color:var(--text);transition:all .2s ease}.et-btn[data-v-8433f835]:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2d63cd1a}.et-btn[data-v-8433f835]:disabled{opacity:.5;cursor:not-allowed;transform:none}.et-btn--primary[data-v-8433f835]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.et-btn--xs[data-v-8433f835]{padding:5px 10px;font-size:.82rem;border-radius:7px}.settings-page[data-v-fc9805ad]{display:grid;gap:12px}.settings-tabs[data-v-fc9805ad]{display:flex;gap:4px;background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-tab[data-v-fc9805ad]{padding:6px 18px;border-radius:10px;font-size:.86rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft)}.settings-tab[data-v-fc9805ad]:hover:not(.settings-tab--active){border-color:var(--primary);color:var(--primary)}.settings-tab--active[data-v-fc9805ad]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent}.panel[data-v-fc9805ad]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);padding:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f}.panel__title[data-v-fc9805ad]{font-size:.94rem;font-weight:700;margin-bottom:8px}.sub-hint[data-v-fc9805ad]{margin-bottom:8px;font-size:.82rem;line-height:1.65;color:var(--text-soft)}.grid[data-v-fc9805ad]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid .full[data-v-fc9805ad]{grid-column:span 2}.grid label[data-v-fc9805ad]{display:grid;gap:6px;color:var(--text-soft);font-size:.84rem}.grid input[data-v-fc9805ad],.grid select[data-v-fc9805ad],.grid textarea[data-v-fc9805ad]{border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:10px;outline:none;font-family:inherit;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.grid input[data-v-fc9805ad]:focus,.grid select[data-v-fc9805ad]:focus,.grid textarea[data-v-fc9805ad]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.share-asset-tools[data-v-fc9805ad]{display:grid;grid-template-columns:180px 1fr auto;gap:8px;margin-bottom:8px}.share-upload-btn[data-v-fc9805ad]{border:1px solid var(--line);border-radius:10px;padding:0 14px;min-height:40px;font-size:.84rem;color:var(--text);background:var(--surface-3);cursor:pointer;font-weight:600;font-family:inherit;transition:all .2s}.share-upload-btn[data-v-fc9805ad]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.share-upload-btn[data-v-fc9805ad]:disabled{opacity:.7;cursor:not-allowed}.file-input-hidden[data-v-fc9805ad]{display:none}.actions[data-v-fc9805ad]{display:flex;justify-content:flex-end}.save[data-v-fc9805ad]{height:38px;border:0;border-radius:10px;padding:0 16px;font-size:.86rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38;cursor:pointer;font-family:inherit;transition:all .2s}@media (max-width: 1024px){.grid[data-v-fc9805ad]{grid-template-columns:1fr}.grid .full[data-v-fc9805ad]{grid-column:auto}.share-asset-tools[data-v-fc9805ad]{grid-template-columns:1fr}}.page[data-v-d3bdbf15]{display:grid}.panel[data-v-d3bdbf15]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);padding:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f}.panel__title[data-v-d3bdbf15]{font-size:.94rem;font-weight:700;margin-bottom:10px}.sub-hint[data-v-d3bdbf15]{margin-bottom:10px;font-size:.82rem;line-height:1.65;color:var(--text-soft)}.save[data-v-d3bdbf15],.ghost[data-v-d3bdbf15]{height:38px;border-radius:10px;padding:0 14px;font-size:.86rem;cursor:pointer;font-weight:600;font-family:inherit;transition:all .2s}.save[data-v-d3bdbf15]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.ghost[data-v-d3bdbf15]{border:1px solid var(--line);color:var(--text);background:var(--btn-ghost-bg)}.ghost[data-v-d3bdbf15]:hover{border-color:var(--primary);color:var(--primary)}.ghost[data-v-d3bdbf15]:disabled{opacity:.5;cursor:not-allowed}.city-grid[data-v-d3bdbf15]{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}.city-grid label[data-v-d3bdbf15]{display:grid;gap:6px;color:var(--text-soft);font-size:.84rem}.city-grid input[data-v-d3bdbf15],.city-grid select[data-v-d3bdbf15]{border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:10px;outline:none;font-family:inherit;font-size:.88rem;transition:border-color .2s,box-shadow .2s}.city-grid input[data-v-d3bdbf15]:focus,.city-grid select[data-v-d3bdbf15]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.city-actions[data-v-d3bdbf15]{margin-top:10px;display:flex;justify-content:flex-end;gap:8px}.city-table-wrap[data-v-d3bdbf15]{margin-top:12px;border:1px solid var(--line);border-radius:10px;overflow:auto}.city-loading[data-v-d3bdbf15]{padding:10px;color:var(--text-soft);font-size:13px}.city-table[data-v-d3bdbf15]{width:100%;min-width:620px;border-collapse:collapse}.city-table th[data-v-d3bdbf15],.city-table td[data-v-d3bdbf15]{border-bottom:1px solid rgba(123,155,208,.2);padding:10px;text-align:left;font-size:.86rem}.city-table th[data-v-d3bdbf15]{color:var(--text-soft);font-weight:700;font-size:.82rem;white-space:nowrap}.city-table tbody tr[data-v-d3bdbf15]:hover{background:#4d7dff0a}.city-table__actions[data-v-d3bdbf15]{display:flex;gap:8px}.status-pill[data-v-d3bdbf15]{border-radius:999px;padding:2px 10px;font-size:12px}.status-pill--on[data-v-d3bdbf15]{background:#10b9811f;color:#10b981}.status-pill--off[data-v-d3bdbf15]{background:#f59e0b1f;color:#f59e0b}@media (max-width: 1024px){.city-grid[data-v-d3bdbf15]{grid-template-columns:1fr}}.page[data-v-a9741201]{display:grid;gap:8px}.page-header[data-v-a9741201]{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.tabs[data-v-a9741201]{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:4px}.tab[data-v-a9741201]{height:32px;padding:0 16px;border:0;border-radius:8px;background:transparent;color:var(--text-soft);font-size:.86rem;font-weight:600;cursor:pointer;transition:all .15s}.tab--active[data-v-a9741201]{color:#fff;background:linear-gradient(145deg,#3662eb,#6f51ff)}.sync-actions[data-v-a9741201]{display:flex;gap:8px}.toolbar[data-v-a9741201]{display:grid;grid-template-columns:1fr 1fr .8fr .8fr auto;gap:8px}.toolbar select[data-v-a9741201],.ghost[data-v-a9741201],.create[data-v-a9741201],.danger[data-v-a9741201]{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--input-bg);color:var(--text);padding:0 12px;font-size:.86rem;font-family:inherit;font-weight:600;cursor:pointer}.toolbar select[data-v-a9741201]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e;outline:none}.ghost[data-v-a9741201]:hover{border-color:var(--primary);color:var(--primary)}.create[data-v-a9741201]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38;font-weight:600}.batch-bar[data-v-a9741201]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#3662eb1f;border:1px solid rgba(54,98,235,.3);font-size:.86rem}.batch-bar button[data-v-a9741201]{height:32px}.table-wrap[data-v-a9741201]{border:1px solid var(--line);border-radius:14px;overflow:auto;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f}.loading[data-v-a9741201]{padding:12px;font-size:.86rem;color:var(--text-soft)}.table[data-v-a9741201]{width:100%;min-width:900px;border-collapse:collapse}.table th[data-v-a9741201]{border-bottom:1px solid rgba(123,155,208,.2);padding:10px 12px;text-align:left;font-size:.82rem;color:var(--text-soft);font-weight:700;white-space:nowrap;position:sticky;top:0;z-index:1;background:var(--surface-3)}.table td[data-v-a9741201]{border-bottom:1px solid rgba(123,155,208,.2);padding:10px 12px;text-align:left;font-size:.86rem}.table tbody tr[data-v-a9741201]:hover{background:#4d7dff0a}.col-check[data-v-a9741201]{width:40px;text-align:center!important}.col-check input[data-v-a9741201]{cursor:pointer}.title[data-v-a9741201]{font-weight:600;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge[data-v-a9741201]{border-radius:999px;padding:3px 10px;font-size:.82rem;white-space:nowrap}.badge--ok[data-v-a9741201]{background:#10b9811f;color:#10b981}.badge--draft[data-v-a9741201]{background:#f59e0b1f;color:#f59e0b}.badge--error[data-v-a9741201]{background:#ef444414;color:#ef4444}.cat-tag[data-v-a9741201]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.82rem;background:#3662eb26;color:#5b8def}.model-tag[data-v-a9741201]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.82rem;background:#6f51ff26;color:#a78bfa}.heat[data-v-a9741201]{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.82rem;font-weight:600;background:#f59e0b26;color:#f59e0b}.actions[data-v-a9741201]{display:flex;gap:8px}.actions button[data-v-a9741201]{height:32px}.pagination[data-v-a9741201]{display:flex;align-items:center;justify-content:center;gap:12px;font-size:.86rem;color:var(--text-soft)}.pagination button[data-v-a9741201]{height:34px}.mask[data-v-a9741201]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:60}.detail-modal[data-v-a9741201]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(960px,calc(100vw - 26px));max-height:86vh;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 48px #060e1c80;padding:16px;z-index:61}.detail-modal__header[data-v-a9741201]{display:flex;justify-content:space-between;align-items:center}.detail-modal__title[data-v-a9741201]{font-size:1.12rem;font-weight:700}.detail-modal__meta[data-v-a9741201]{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.86rem;color:var(--text-soft)}.detail-modal__body[data-v-a9741201]{margin-top:14px}.detail-modal__body h3[data-v-a9741201]{font-size:.94rem;margin-bottom:10px}.content-section[data-v-a9741201]{margin-bottom:14px}.content-section h4[data-v-a9741201]{font-size:.88rem;font-weight:600;margin-bottom:6px;color:var(--text)}.content-section p[data-v-a9741201]{font-size:.86rem;line-height:1.6;color:var(--text-soft)}.content-section ul[data-v-a9741201]{padding-left:18px;font-size:.86rem;line-height:1.8;color:var(--text-soft)}.city-grid[data-v-a9741201]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.city-card[data-v-a9741201]{border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.86rem;background:var(--surface-3)}.city-card strong[data-v-a9741201]{display:block;margin-bottom:4px}.city-card p[data-v-a9741201]{margin:0}.source-list li[data-v-a9741201]{color:var(--text-soft)}.empty[data-v-a9741201]{text-align:center;padding:30px;color:var(--text-soft);font-size:.86rem}.error-msg[data-v-a9741201]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:var(--text-soft)}@media (max-width: 1024px){.toolbar[data-v-a9741201],.city-grid[data-v-a9741201]{grid-template-columns:1fr}.page-header[data-v-a9741201]{flex-direction:column;align-items:stretch}}.view[data-v-68f6d46e]{display:grid;gap:8px}.card[data-v-68f6d46e]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);padding:12px;display:grid;gap:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f}.head[data-v-68f6d46e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.head h2[data-v-68f6d46e]{margin:0;font-size:1.12rem}.head p[data-v-68f6d46e]{margin:6px 0 0;font-size:.82rem;color:var(--text-soft)}.status-row[data-v-68f6d46e]{min-height:36px;border-radius:10px;border:1px dashed var(--line);background:var(--surface-3);display:flex;align-items:center;gap:12px;padding:0 10px;font-size:.82rem;color:var(--text-soft)}.status[data-v-68f6d46e]{display:inline-flex;align-items:center;height:22px;border-radius:999px;padding:0 8px;font-size:.78rem;font-weight:600}.status--run[data-v-68f6d46e]{color:#10b981;background:#10b9811f}.status--idle[data-v-68f6d46e]{color:var(--text-soft);background:var(--surface-3)}.form[data-v-68f6d46e]{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px}.form label[data-v-68f6d46e]{display:grid;gap:6px;font-size:.84rem;color:var(--text-soft)}.form input[data-v-68f6d46e],.form select[data-v-68f6d46e]{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s}.form input[data-v-68f6d46e]:focus,.form select[data-v-68f6d46e]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.switch-line[data-v-68f6d46e]{min-height:38px;display:inline-flex!important;align-items:center;gap:8px}.actions[data-v-68f6d46e]{display:flex;justify-content:flex-end}.save[data-v-68f6d46e],.ghost[data-v-68f6d46e]{height:36px;border-radius:10px;border:1px solid var(--line);font-size:.86rem;padding:0 12px;background:var(--btn-ghost-bg);color:var(--text);font-weight:600;font-family:inherit}.ghost[data-v-68f6d46e]:hover{border-color:var(--primary);color:var(--primary)}.save[data-v-68f6d46e]{border:none;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.loading[data-v-68f6d46e]{font-size:.86rem;color:var(--text-soft)}.sync-tabs[data-v-68f6d46e]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;gap:4px}.sync-tab[data-v-68f6d46e]{padding:6px 18px;border-radius:10px;font-size:.86rem;font-weight:600;border:1px solid transparent;background:transparent;color:var(--text-soft);cursor:pointer;font-family:inherit;transition:all .2s}.sync-tab--active[data-v-68f6d46e]{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));border-color:transparent;box-shadow:0 4px 12px #4d7dff40}.sync-tab[data-v-68f6d46e]:not(.sync-tab--active):hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 960px){.form[data-v-68f6d46e]{grid-template-columns:1fr}.head[data-v-68f6d46e]{align-items:flex-start;flex-direction:column}}.page[data-v-4d3eff53]{display:grid;gap:8px}.stats-bar[data-v-4d3eff53]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.stat-card[data-v-4d3eff53]{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-1);text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.stat-card__value[data-v-4d3eff53]{font-size:1.8rem;font-weight:800;color:var(--primary);line-height:1.2}.stat-card__label[data-v-4d3eff53]{font-size:.82rem;color:var(--text-soft);margin-top:4px}.panel[data-v-4d3eff53]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-4d3eff53]{padding:10px 16px;border-bottom:1px solid var(--line);font-size:.94rem;font-weight:700;display:flex;align-items:center;gap:8px}.total-hint[data-v-4d3eff53]{font-size:.82rem;font-weight:400;color:var(--text-soft)}.upload-area[data-v-4d3eff53]{padding:16px}.upload-row[data-v-4d3eff53]{display:flex;align-items:center;gap:10px}.file-label[data-v-4d3eff53]{display:flex;align-items:center;gap:10px;cursor:pointer}.file-input[data-v-4d3eff53]{display:none}.file-btn[data-v-4d3eff53]{height:36px;border-radius:10px;padding:0 14px;display:inline-flex;align-items:center;font-size:.86rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));cursor:pointer}.file-name[data-v-4d3eff53]{font-size:.86rem;color:var(--text-soft)}.upload-options[data-v-4d3eff53]{margin-top:12px;display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.upload-option[data-v-4d3eff53]{display:grid;gap:5px;font-size:.84rem;color:var(--text-soft)}.upload-option select[data-v-4d3eff53]{height:36px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none}.checkbox-label[data-v-4d3eff53]{flex-direction:row;display:flex;align-items:center;gap:6px;font-size:.86rem;cursor:pointer}.checkbox-label input[type=checkbox][data-v-4d3eff53]{width:16px;height:16px;accent-color:var(--primary)}.upload-result[data-v-4d3eff53]{margin-top:10px;padding:8px 12px;border-radius:8px;font-size:.86rem}.upload-result--ok[data-v-4d3eff53]{background:#10b9811f;color:#10b981}.upload-result--fail[data-v-4d3eff53]{background:#ef44441f;color:#ef4444}.filter-bar[data-v-4d3eff53]{padding:10px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter-select[data-v-4d3eff53]{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.86rem;outline:none}.search-box[data-v-4d3eff53]{flex:1;min-width:180px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);display:inline-flex;align-items:center;padding:0 10px;transition:border-color .2s,box-shadow .2s}.search-box[data-v-4d3eff53]:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.search-box input[data-v-4d3eff53]{flex:1;height:100%;border:0;outline:none;background:transparent;color:var(--text);font-size:.86rem;padding:0}.table-scroll[data-v-4d3eff53]{overflow-x:auto}.table[data-v-4d3eff53]{width:100%;min-width:1000px;border-collapse:collapse}.table th[data-v-4d3eff53],.table td[data-v-4d3eff53]{padding:10px 12px;border-bottom:1px solid rgba(132,160,206,.2);text-align:left;font-size:.86rem}.table th[data-v-4d3eff53]{color:var(--text-soft);font-weight:700;font-size:.82rem;white-space:nowrap;position:sticky;top:0;z-index:1;background:var(--surface-3)}.table tbody tr[data-v-4d3eff53]:hover{background:#4d7dff0a}.col-actions[data-v-4d3eff53]{position:sticky;right:0;z-index:3;background:var(--surface-1);white-space:nowrap}th.col-actions[data-v-4d3eff53]{background:var(--surface-3)}.actions[data-v-4d3eff53]{display:flex;gap:8px}.empty-cell[data-v-4d3eff53]{text-align:center;color:var(--text-soft);padding:24px 0!important}.save[data-v-4d3eff53],.ghost[data-v-4d3eff53]{height:38px;border-radius:10px;padding:0 14px;font-size:.86rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s}.save[data-v-4d3eff53]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 10px 22px #3575ee38}.ghost[data-v-4d3eff53]{border:1px solid var(--line);color:var(--text);background:var(--btn-ghost-bg)}.ghost[data-v-4d3eff53]:hover{border-color:var(--primary);color:var(--primary)}.btn[data-v-4d3eff53]{height:32px;border-radius:8px;padding:0 10px;font-size:.84rem;font-weight:600;font-family:inherit;cursor:pointer;min-width:48px;white-space:nowrap}.btn--edit[data-v-4d3eff53]{border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft)}.btn--danger[data-v-4d3eff53]{border:1px solid rgba(239,68,68,.3);background:#ef444414;color:#ef4444}.pagination[data-v-4d3eff53]{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;border-top:1px solid var(--line)}.page-btn[data-v-4d3eff53]{min-width:32px;height:30px;border:1px solid var(--line);border-radius:6px;background:var(--btn-ghost-bg);color:var(--text);font-size:.82rem;font-weight:600;font-family:inherit;cursor:pointer;padding:0 8px;transition:all .2s}.page-btn[data-v-4d3eff53]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.page-btn[data-v-4d3eff53]:disabled{opacity:.4;cursor:not-allowed}.page-btn--active[data-v-4d3eff53]{color:#fff;background:var(--primary);border-color:var(--primary)}.page-ellipsis[data-v-4d3eff53]{font-size:.82rem;color:var(--text-soft);padding:0 2px}.page-total[data-v-4d3eff53]{font-size:.82rem;color:var(--text-soft);margin-left:8px}.mask[data-v-4d3eff53]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:40}.modal[data-v-4d3eff53]{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 48px #060e1c80;z-index:41;padding:14px}.modal__title[data-v-4d3eff53]{font-size:1.12rem;font-weight:700}.grid[data-v-4d3eff53]{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid label[data-v-4d3eff53]{display:grid;gap:5px;font-size:.84rem;color:var(--text-soft)}.grid input[data-v-4d3eff53]{height:36px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s,box-shadow .2s}.grid input[data-v-4d3eff53]:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4d7dff2e}.modal__actions[data-v-4d3eff53]{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.sync-desc[data-v-4d3eff53]{margin:0 0 12px;font-size:13px;color:var(--text-3, #94a3b8);line-height:1.5}.sync-info[data-v-4d3eff53]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.sync-row[data-v-4d3eff53]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sync-label[data-v-4d3eff53]{font-size:13px;color:var(--text-2, #64748b);min-width:80px;flex-shrink:0}.sync-value[data-v-4d3eff53]{font-size:12px;background:var(--bg-2, #f1f5f9);padding:4px 10px;border-radius:4px;word-break:break-all;color:var(--text-1, #334155)}.sync-value--cmd[data-v-4d3eff53]{flex:1;min-width:0;font-size:11px}.sync-copy[data-v-4d3eff53]{font-size:12px;padding:2px 10px;flex-shrink:0}.sync-actions[data-v-4d3eff53]{display:flex;align-items:center;gap:12px}.sync-result[data-v-4d3eff53]{font-size:13px;font-weight:600}.sync-result--ok[data-v-4d3eff53]{color:#16a34a}.sync-result--fail[data-v-4d3eff53]{color:#dc2626}@media (max-width: 1024px){.grid[data-v-4d3eff53]{grid-template-columns:1fr}.stats-bar[data-v-4d3eff53]{grid-template-columns:repeat(2,1fr)}}.page[data-v-4d33a0e4]{display:grid;gap:8px}.stats-bar[data-v-4d33a0e4]{padding:8px 16px;font-size:.82rem;color:var(--text-soft);text-align:right}.panel[data-v-4d33a0e4]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-4d33a0e4]{padding:10px 16px;border-bottom:1px solid var(--line);font-size:.94rem;font-weight:700;display:flex;align-items:center;gap:10px}.panel__subtitle[data-v-4d33a0e4]{font-size:.82rem;font-weight:400;color:var(--text-soft)}.loading-state[data-v-4d33a0e4]{padding:48px 24px;text-align:center;color:var(--text-soft);font-size:.92rem}.search-area[data-v-4d33a0e4]{padding:14px 16px}.search-row[data-v-4d33a0e4]{display:flex;gap:10px;align-items:center}.search-input-wrap[data-v-4d33a0e4]{position:relative;flex:1;min-width:200px}.search-input[data-v-4d33a0e4]{width:100%;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:0 36px 0 12px;font-family:inherit;font-size:.88rem;outline:none;transition:border-color .2s}.search-input[data-v-4d33a0e4]:focus{border-color:var(--primary)}.search-clear[data-v-4d33a0e4]{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:none;background:none;color:var(--text-soft);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%}.search-clear[data-v-4d33a0e4]:hover{background:#0000000f}.board-filter[data-v-4d33a0e4]{height:38px;border:1px solid var(--line);border-radius:10px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.88rem;outline:none;min-width:140px}.search-hint[data-v-4d33a0e4]{margin-top:8px;font-size:.82rem;color:var(--text-soft)}.table-scroll[data-v-4d33a0e4]{overflow-x:auto}.table[data-v-4d33a0e4]{width:100%;border-collapse:collapse}.table th[data-v-4d33a0e4],.table td[data-v-4d33a0e4]{padding:9px 12px;border-bottom:1px solid rgba(132,160,206,.2);text-align:left;font-size:.86rem;white-space:nowrap}.table th[data-v-4d33a0e4]{color:var(--text-soft);font-weight:700;font-size:.82rem;position:sticky;top:0;z-index:1;background:var(--surface-3)}.table tbody tr[data-v-4d33a0e4]:hover{background:#4d7dff0a}.row--selected[data-v-4d33a0e4]{background:#4d7dff14!important}.col-check-all[data-v-4d33a0e4]{width:40px;text-align:center}.col-user[data-v-4d33a0e4]{min-width:100px}.col-phone[data-v-4d33a0e4]{min-width:120px;color:var(--text-soft);font-size:.84rem}.col-role[data-v-4d33a0e4]{min-width:80px}.col-check[data-v-4d33a0e4],.col-board[data-v-4d33a0e4]{text-align:center;min-width:60px}.check-cell[data-v-4d33a0e4]{display:flex;align-items:center;justify-content:center;cursor:pointer}.matrix-checkbox[data-v-4d33a0e4]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.check-cell .matrix-checkbox[data-v-4d33a0e4]{pointer-events:none}.user-name[data-v-4d33a0e4]{font-weight:600}.role-tag[data-v-4d33a0e4]{display:inline-block;padding:2px 8px;border-radius:6px;background:#4d7dff1a;color:var(--primary);font-size:.78rem;font-weight:600}.text-muted[data-v-4d33a0e4]{color:var(--text-soft);font-size:.82rem}.empty-cell[data-v-4d33a0e4]{text-align:center;color:var(--text-soft);padding:24px 0!important}.bulk-bar[data-v-4d33a0e4]{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-1);border:1px solid var(--line);border-radius:14px;box-shadow:0 -4px 20px #1443951a}.bulk-bar__count[data-v-4d33a0e4]{font-size:.86rem;font-weight:600;color:var(--primary);margin-right:auto}.bulk-bar__select[data-v-4d33a0e4]{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--input-bg);color:var(--text);padding:0 10px;font-family:inherit;font-size:.84rem;outline:none;min-width:140px}.btn[data-v-4d33a0e4]{height:34px;border-radius:9px;padding:0 14px;font-size:.84rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;white-space:nowrap}.btn--primary[data-v-4d33a0e4]{border:0;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 6px 16px #3575ee33}.btn--primary[data-v-4d33a0e4]:disabled{opacity:.6;cursor:not-allowed}.btn--ghost[data-v-4d33a0e4]{border:1px solid var(--line);color:var(--text);background:var(--btn-ghost-bg)}.btn--ghost[data-v-4d33a0e4]:hover{border-color:var(--primary);color:var(--primary)}@media (max-width: 768px){.search-row[data-v-4d33a0e4]{flex-direction:column}.search-input-wrap[data-v-4d33a0e4]{min-width:auto}.board-filter[data-v-4d33a0e4]{min-width:auto;width:100%}.bulk-bar[data-v-4d33a0e4]{flex-wrap:wrap}.bulk-bar__count[data-v-4d33a0e4]{width:100%}}.panel[data-v-43304225]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-43304225]{font-size:13px;font-weight:600;color:var(--text-soft)}.toolbar[data-v-43304225]{padding:10px 16px;display:flex;gap:10px;align-items:center}.tb-select[data-v-43304225]{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text)}.tb-btn[data-v-43304225]{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:12px;cursor:pointer;color:var(--text-soft);font-weight:600}.tb-btn[data-v-43304225]:hover{background:var(--surface-3);color:var(--text)}.tb-btn--danger[data-v-43304225]{color:var(--danger);border-color:#ff5d7d4d}.tb-btn--danger[data-v-43304225]:hover{background:#ff5d7d1a}.create-btn[data-v-43304225]{padding:7px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.create-btn[data-v-43304225]:hover{filter:brightness(1.1)}.create-btn[data-v-43304225]:disabled{opacity:.5}.group-item[data-v-43304225]{padding:14px 16px;border-top:1px solid var(--line)}.group-item[data-v-43304225]:first-child{border-top:none}.gi-top[data-v-43304225]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gi-name[data-v-43304225]{font-size:14px;font-weight:700;color:var(--text)}.gi-org[data-v-43304225]{font-size:11px;color:var(--text-soft);background:var(--surface-3);padding:2px 8px;border-radius:4px}.gi-count[data-v-43304225]{font-size:11px;color:var(--text-soft)}.gi-tags[data-v-43304225]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.gi-tag[data-v-43304225]{padding:3px 10px;background:#4d7dff1f;color:var(--primary);border-radius:5px;font-size:12px;font-weight:600}.gi-meta[data-v-43304225]{font-size:11px;color:var(--text-soft)}.modal-overlay[data-v-43304225]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:999}.modal-box[data-v-43304225]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:20px;width:480px;max-width:92vw;max-height:85vh;overflow:visible}.modal-box__hd[data-v-43304225]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;color:var(--text)}.mf[data-v-43304225]{margin-bottom:14px}.mf label[data-v-43304225]{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin-bottom:4px}.mf input[data-v-43304225],.mf select[data-v-43304225]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text);box-sizing:border-box}.mf input[data-v-43304225]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.sel-tags[data-v-43304225]{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:28px}.sel-tag[data-v-43304225]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#4d7dff1f;border:1px solid rgba(77,125,255,.25);border-radius:6px;font-size:12px;font-weight:600;color:var(--primary)}.sel-tag__x[data-v-43304225]{cursor:pointer;opacity:.6;margin-left:2px}.sel-tag__x[data-v-43304225]:hover{opacity:1;color:var(--danger)}.search-wrap[data-v-43304225]{position:relative}.search-dropdown[data-v-43304225]{position:absolute;top:100%;left:0;right:0;background:#0e1a31;border:1px solid var(--line);border-radius:8px;max-height:240px;overflow-y:auto;z-index:100;box-shadow:0 8px 32px #0009;margin-top:2px}.sd-loc[data-v-43304225]{font-size:11px;color:var(--text-soft)}.user-checks[data-v-43304225]{max-height:180px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;padding:4px}.user-check[data-v-43304225]{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:13px;color:var(--text);cursor:pointer;border-radius:4px}.user-check[data-v-43304225]:hover{background:var(--surface-3)}.user-check span[data-v-43304225]{flex:1}.uc-box[data-v-43304225]{width:16px;height:16px;border:2px solid var(--line);border-radius:4px;flex-shrink:0}.uc-box--on[data-v-43304225]{background:var(--primary);border-color:var(--primary);position:relative}.uc-box--on[data-v-43304225]:after{content:"";position:absolute;left:3px;top:0;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.sd-item[data-v-43304225]{padding:8px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--text);border-bottom:1px solid var(--line)}.sd-item[data-v-43304225]:last-child{border-bottom:none}.sd-item[data-v-43304225]:hover{background:var(--surface-3)}.org-list[data-v-43304225]{max-height:300px;overflow-y:auto}.org-item[data-v-43304225]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.org-item[data-v-43304225]:last-child{border-bottom:none}.panel[data-v-16dd1871]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-16dd1871]{font-size:13px;font-weight:600;color:var(--text-soft)}.toolbar[data-v-16dd1871]{padding:10px 16px;display:flex;gap:10px;align-items:center}.tb-select[data-v-16dd1871]{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text)}.tb-btn[data-v-16dd1871]{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:12px;cursor:pointer;color:var(--text-soft);font-weight:600}.tb-btn[data-v-16dd1871]:hover{background:var(--surface-3);color:var(--text)}.tb-btn--danger[data-v-16dd1871]{color:var(--danger);border-color:#ff5d7d4d}.tb-btn--danger[data-v-16dd1871]:hover{background:#ff5d7d1a}.create-btn[data-v-16dd1871]{padding:7px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.create-btn[data-v-16dd1871]:hover{filter:brightness(1.1)}.plan-canvas[data-v-16dd1871]{position:relative;margin:0 16px 16px;border-radius:8px;overflow:hidden;min-height:400px;background:var(--surface-2);cursor:crosshair}.plan-img[data-v-16dd1871]{width:100%;display:block}.plan-placeholder[data-v-16dd1871]{display:flex;align-items:center;justify-content:center;height:400px;color:var(--text-muted);font-size:15px}.marker[data-v-16dd1871]{position:absolute;transform:translate(-50%,-50%);background:#2563ebe6;color:#fff;border-radius:50%;width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px #0000004d;transition:all .2s;font-size:11px}.marker[data-v-16dd1871]:hover,.marker--active[data-v-16dd1871]{background:#dc2626e6;transform:translate(-50%,-50%) scale(1.15);z-index:10}.marker__name[data-v-16dd1871]{font-weight:700;font-size:10px;line-height:1.1;text-align:center;max-width:50px;overflow:hidden}.marker__rate[data-v-16dd1871]{font-weight:800;font-size:12px}.marker-list[data-v-16dd1871]{padding:8px 16px;display:flex;flex-wrap:wrap;gap:8px}.marker-row[data-v-16dd1871]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;background:var(--surface-2)}.marker-row--active[data-v-16dd1871]{background:var(--primary-bg);border:1px solid var(--primary)}.marker-input[data-v-16dd1871]{width:120px;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--surface-1);color:var(--text);font-size:13px}.marker-coord[data-v-16dd1871]{font-size:12px;color:var(--text-muted)}.panel[data-v-b2362913]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-b2362913]{font-size:13px;font-weight:600;color:var(--text-soft)}.toolbar[data-v-b2362913]{padding:10px 16px;display:flex;gap:10px;align-items:center}.toolbar__title[data-v-b2362913]{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap}.create-btn[data-v-b2362913]{padding:7px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.create-btn[data-v-b2362913]:hover{filter:brightness(1.1)}.create-btn[data-v-b2362913]:disabled{opacity:.5}.tb-btn[data-v-b2362913]{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:12px;cursor:pointer;color:var(--text-soft);font-weight:600}.tb-btn[data-v-b2362913]:hover{background:var(--surface-3);color:var(--text)}.tb-btn--danger[data-v-b2362913]{color:var(--danger);border-color:#ff5d7d4d}.tb-btn--danger[data-v-b2362913]:hover{background:#ff5d7d1a}.tbl-wrap[data-v-b2362913]{overflow-x:auto}.tbl[data-v-b2362913]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-b2362913]{padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:var(--text-soft);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td[data-v-b2362913]{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}.tbl tbody tr[data-v-b2362913]:hover{background:var(--surface-3)}.tbl tbody tr:last-child td[data-v-b2362913]{border-bottom:none}.td-name[data-v-b2362913]{font-weight:600;white-space:nowrap}.td-desc[data-v-b2362913]{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-empty[data-v-b2362913]{text-align:center;padding:40px 0;color:var(--text-soft)}.code-tag[data-v-b2362913]{font-family:SF Mono,Fira Code,monospace;font-size:12px;padding:2px 6px;border-radius:4px;background:var(--surface-3);color:var(--text)}.color-dot[data-v-b2362913]{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle;border:1px solid var(--line)}.color-dot--lg[data-v-b2362913]{width:20px;height:20px;border-radius:6px;flex-shrink:0}.ds-tag[data-v-b2362913]{font-size:11px;padding:2px 8px;border-radius:4px;background:#4d7dff1a;color:var(--primary);font-weight:600}.status-tag[data-v-b2362913]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.status-tag--on[data-v-b2362913]{background:#34d39926;color:#10b981}.status-tag--off[data-v-b2362913]{background:#94a3b826;color:#94a3b8}.act-row[data-v-b2362913]{display:flex;gap:6px}.modal-overlay[data-v-b2362913]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:999}.modal-box[data-v-b2362913]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:20px;width:480px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column}.modal-box--wide[data-v-b2362913]{width:560px}.modal-box__hd[data-v-b2362913]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;color:var(--text);flex-shrink:0}.modal-box__ft[data-v-b2362913]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-shrink:0}.modal-scroll[data-v-b2362913]{overflow-y:auto;flex:1;min-height:0}.mf[data-v-b2362913]{margin-bottom:14px}.mf label[data-v-b2362913]{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin-bottom:4px}.mf input[data-v-b2362913],.mf select[data-v-b2362913],.mf textarea[data-v-b2362913]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text);box-sizing:border-box}.mf input[data-v-b2362913]:focus,.mf select[data-v-b2362913]:focus,.mf textarea[data-v-b2362913]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.mf input[data-v-b2362913]:disabled{opacity:.5;cursor:not-allowed}.mf textarea[data-v-b2362913]{resize:vertical;font-family:inherit}.mf textarea.mono[data-v-b2362913]{font-family:SF Mono,Fira Code,monospace;font-size:12px}.mf-req[data-v-b2362913]{color:var(--danger)}.mf-row[data-v-b2362913]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.color-input-wrap[data-v-b2362913]{display:flex;align-items:center;gap:8px}.color-input-wrap input[data-v-b2362913]{flex:1}.switch-wrap[data-v-b2362913]{margin-top:4px}.switch-btn[data-v-b2362913]{padding:6px 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.switch-btn--on[data-v-b2362913]{background:#34d3992e;color:#10b981;border-color:#34d39966}.panel[data-v-e389261a]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.panel__title[data-v-e389261a]{font-size:13px;font-weight:600;color:var(--text-soft)}.toolbar[data-v-e389261a]{padding:10px 16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar__title[data-v-e389261a]{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap}.tb-select[data-v-e389261a]{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text)}.create-btn[data-v-e389261a]{padding:7px 16px;border-radius:8px;border:none;background:var(--primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.create-btn[data-v-e389261a]:hover{filter:brightness(1.1)}.create-btn[data-v-e389261a]:disabled{opacity:.5}.tb-btn[data-v-e389261a]{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:12px;cursor:pointer;color:var(--text-soft);font-weight:600}.tb-btn[data-v-e389261a]:hover{background:var(--surface-3);color:var(--text)}.tb-btn--editor[data-v-e389261a]{color:#a855f7;border-color:#a855f74d}.tb-btn--editor[data-v-e389261a]:hover{background:#a855f71a}.tb-btn--danger[data-v-e389261a]{color:var(--danger);border-color:#ff5d7d4d}.tb-btn--danger[data-v-e389261a]:hover{background:#ff5d7d1a}.tbl-wrap[data-v-e389261a]{overflow-x:auto}.tbl[data-v-e389261a]{width:100%;border-collapse:collapse;font-size:13px}.tbl th[data-v-e389261a]{padding:10px 12px;text-align:left;font-size:12px;font-weight:600;color:var(--text-soft);border-bottom:1px solid var(--line);white-space:nowrap}.tbl td[data-v-e389261a]{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--text);vertical-align:middle}.tbl tbody tr[data-v-e389261a]:hover{background:var(--surface-3)}.tbl tbody tr:last-child td[data-v-e389261a]{border-bottom:none}.td-name[data-v-e389261a]{font-weight:600;white-space:nowrap}.td-empty[data-v-e389261a]{text-align:center;padding:40px 0;color:var(--text-soft)}.code-tag[data-v-e389261a]{font-family:SF Mono,Fira Code,monospace;font-size:12px;padding:2px 6px;border-radius:4px;background:var(--surface-3);color:var(--text)}.tag-list[data-v-e389261a]{display:flex;flex-wrap:wrap;gap:4px}.skill-tag[data-v-e389261a]{font-size:11px;padding:2px 8px;border-radius:4px;background:#4d7dff1a;color:var(--primary);font-weight:600}.mode-tag[data-v-e389261a]{font-size:11px;padding:2px 8px;border-radius:4px;background:#a855f71f;color:#a855f7;font-weight:600}.status-tag[data-v-e389261a]{font-size:11px;padding:2px 8px;border-radius:4px;font-weight:600}.status-tag--on[data-v-e389261a]{background:#34d39926;color:#10b981}.status-tag--off[data-v-e389261a]{background:#94a3b826;color:#94a3b8}.act-row[data-v-e389261a]{display:flex;gap:6px}.modal-overlay[data-v-e389261a]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:999}.modal-box[data-v-e389261a]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:20px;width:480px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column}.modal-box--wide[data-v-e389261a]{width:620px}.modal-box__hd[data-v-e389261a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;color:var(--text);flex-shrink:0}.modal-box__ft[data-v-e389261a]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-shrink:0}.modal-scroll[data-v-e389261a]{overflow-y:auto;flex:1;min-height:0}.mf[data-v-e389261a]{margin-bottom:14px}.mf label[data-v-e389261a]{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin-bottom:4px}.mf input[data-v-e389261a],.mf select[data-v-e389261a],.mf textarea[data-v-e389261a]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text);box-sizing:border-box}.mf input[data-v-e389261a]:focus,.mf select[data-v-e389261a]:focus,.mf textarea[data-v-e389261a]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.mf textarea[data-v-e389261a]{resize:vertical;font-family:inherit}.mf textarea.mono[data-v-e389261a]{font-family:SF Mono,Fira Code,monospace;font-size:12px}.mf-req[data-v-e389261a]{color:var(--danger)}.mf-row[data-v-e389261a]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row[data-v-e389261a]{display:flex;gap:16px;margin-top:4px}.check-item[data-v-e389261a]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.check-item input[type=checkbox][data-v-e389261a]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.switch-wrap[data-v-e389261a]{margin-top:4px}.switch-btn[data-v-e389261a]{padding:6px 16px;border-radius:8px;border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.switch-btn--on[data-v-e389261a]{background:#34d3992e;color:#10b981;border-color:#34d39966}.skill-editor[data-v-c702a648]{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:500px}.topbar-editor[data-v-c702a648]{padding:10px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.topbar-editor__left[data-v-c702a648]{display:flex;align-items:center;gap:12px}.topbar-editor__name[data-v-c702a648]{font-weight:700;font-size:15px;color:var(--text)}.topbar-editor__right[data-v-c702a648]{display:flex;align-items:center;gap:8px}.dirty-dot[data-v-c702a648]{font-size:11px;padding:2px 8px;border-radius:4px;background:#fbbf2426;color:#f59e0b;font-weight:600}.save-btn[data-v-c702a648]{padding:7px 20px;border-radius:8px;border:none;background:linear-gradient(145deg,#d4a017,#b8860b);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.save-btn[data-v-c702a648]:hover{filter:brightness(1.1)}.save-btn[data-v-c702a648]:disabled{opacity:.5;cursor:not-allowed}.loading-state[data-v-c702a648]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:14px}.editor-body[data-v-c702a648]{flex:1;display:grid;grid-template-columns:40% 60%;gap:12px;margin-top:12px;min-height:0}.editor-left[data-v-c702a648],.editor-right[data-v-c702a648]{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);overflow:hidden}.tab-bar[data-v-c702a648]{display:flex;border-bottom:1px solid var(--line);flex-shrink:0;overflow-x:auto}.tab-bar__item[data-v-c702a648]{padding:10px 16px;border:none;background:transparent;font-size:13px;font-weight:600;color:var(--text-soft);cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tab-bar__item[data-v-c702a648]:hover{color:var(--text)}.tab-bar__item--active[data-v-c702a648]{color:var(--primary);border-bottom-color:var(--primary)}.config-scroll[data-v-c702a648]{flex:1;overflow-y:auto;padding:16px;min-height:0}.prompt-scroll[data-v-c702a648]{flex:1;overflow-y:auto;padding:16px;min-height:0;display:flex;flex-direction:column}.prompt-section[data-v-c702a648]{flex:1;display:flex;flex-direction:column}.prompt-textarea[data-v-c702a648]{flex:1;min-height:200px;resize:vertical;line-height:1.6}.var-chips[data-v-c702a648]{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.var-chip[data-v-c702a648]{padding:4px 10px;border-radius:6px;border:1px solid rgba(77,125,255,.25);background:#4d7dff14;color:var(--primary);font-size:12px;font-family:SF Mono,Fira Code,monospace;font-weight:600;cursor:pointer;transition:background .15s}.var-chip[data-v-c702a648]:hover{background:#4d7dff2e;border-color:#4d7dff80}.preview-bar[data-v-c702a648]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.preview-hint[data-v-c702a648]{font-size:12px;color:var(--text-soft)}.preview-content[data-v-c702a648]{flex:1;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--input-bg);overflow:auto;font-size:12px;line-height:1.6;min-height:200px}.preview-content pre[data-v-c702a648]{margin:0;white-space:pre-wrap;word-break:break-word;color:var(--text)}.preview-empty[data-v-c702a648]{color:var(--text-soft);text-align:center;padding:40px 0;font-size:13px}.sections-list[data-v-c702a648]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.section-row[data-v-c702a648]{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-3)}.section-row__handle[data-v-c702a648]{cursor:grab;color:var(--text-soft);font-size:14px;padding:0 4px;-webkit-user-select:none;user-select:none}.section-row__title[data-v-c702a648]{flex:1;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:var(--input-bg);color:var(--text);min-width:0}.section-row__title[data-v-c702a648]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.section-row__type[data-v-c702a648]{width:120px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;font-size:12px;background:var(--input-bg);color:var(--text);flex-shrink:0}.section-row__req[data-v-c702a648]{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-soft);white-space:nowrap;cursor:pointer}.section-row__req input[type=checkbox][data-v-c702a648]{width:14px;height:14px;accent-color:var(--primary);cursor:pointer}.section-row__del[data-v-c702a648]{width:24px;height:24px;border-radius:6px;border:1px solid rgba(255,93,125,.3);background:transparent;color:var(--danger);font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.section-row__del[data-v-c702a648]:hover{background:#ff5d7d1a}.sections-empty[data-v-c702a648]{text-align:center;padding:20px 0;color:var(--text-soft);font-size:13px}.check-col[data-v-c702a648]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.check-item[data-v-c702a648]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text);cursor:pointer}.check-item input[type=checkbox][data-v-c702a648]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.panel[data-v-c702a648]{border:1px solid var(--line);border-radius:14px;background:var(--surface-1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 20px #1443950f;overflow:hidden}.tb-btn[data-v-c702a648]{padding:5px 12px;border-radius:6px;border:1px solid var(--line);background:transparent;font-size:12px;cursor:pointer;color:var(--text-soft);font-weight:600}.tb-btn[data-v-c702a648]:hover{background:var(--surface-3);color:var(--text)}.tb-btn[data-v-c702a648]:disabled{opacity:.5;cursor:not-allowed}.tb-btn--add[data-v-c702a648]{width:100%;padding:8px;text-align:center;border-style:dashed}.mf[data-v-c702a648]{margin-bottom:14px}.mf label[data-v-c702a648]{display:block;font-size:12px;font-weight:600;color:var(--text-soft);margin-bottom:4px}.mf input[data-v-c702a648],.mf select[data-v-c702a648],.mf textarea[data-v-c702a648]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--input-bg);color:var(--text);box-sizing:border-box}.mf input[data-v-c702a648]:focus,.mf select[data-v-c702a648]:focus,.mf textarea[data-v-c702a648]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px var(--accent-glow)}.mf textarea[data-v-c702a648]{resize:vertical;font-family:inherit}.mf textarea.mono[data-v-c702a648]{font-family:SF Mono,Fira Code,monospace;font-size:12px}.mf-req[data-v-c702a648]{color:var(--danger)}.mf-row[data-v-c702a648]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-overlay[data-v-c702a648]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:999}.modal-box[data-v-c702a648]{background:var(--surface-1);border:1px solid var(--line);border-radius:14px;padding:20px;width:480px;max-width:92vw;max-height:85vh;display:flex;flex-direction:column}.modal-box--wide[data-v-c702a648]{width:720px}.modal-box__hd[data-v-c702a648]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:700;color:var(--text);flex-shrink:0}.modal-scroll[data-v-c702a648]{overflow-y:auto;flex:1;min-height:0}.test-result-pre[data-v-c702a648]{font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0}@media (max-width: 1100px){.editor-body[data-v-c702a648]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.portal[data-v-be634618]{min-height:100vh;background:#0f1729;color:#e2e8f0}.portal-header[data-v-be634618]{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid rgba(255,255,255,.06)}.header-brand[data-v-be634618]{display:flex;align-items:center;gap:12px}.brand-icon svg[data-v-be634618]{width:36px;height:36px}.brand-name[data-v-be634618]{font-size:18px;font-weight:700;color:#f1f5f9}.brand-sub[data-v-be634618]{font-size:12px;color:#64748b;display:block}.header-right[data-v-be634618]{display:flex;align-items:center;gap:12px}.header-user[data-v-be634618]{font-size:14px;color:#94a3b8}.header-btn[data-v-be634618]{padding:6px 16px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#94a3b8;cursor:pointer;font-size:13px}.header-btn[data-v-be634618]:hover{background:#ffffff0d;color:#e2e8f0}.portal-body[data-v-be634618]{max-width:960px;margin:0 auto;padding:40px 24px 60px}.portal-title[data-v-be634618]{font-size:28px;font-weight:800;color:#f1f5f9;margin-bottom:6px}.portal-desc[data-v-be634618]{font-size:14px;color:#64748b;margin-bottom:24px}.stat-row[data-v-be634618]{display:flex;gap:16px;margin-bottom:32px}.stat-item[data-v-be634618]{padding:16px 24px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);min-width:120px}.stat-num[data-v-be634618]{display:block;font-size:28px;font-weight:700;color:#60a5fa}.stat-label[data-v-be634618]{font-size:12px;color:#64748b}.section-title[data-v-be634618]{font-size:14px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;margin-top:8px}.card-grid[data-v-be634618]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:28px}.p-card[data-v-be634618]{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .2s;position:relative}.p-card[data-v-be634618]:hover{background:#ffffff0f;border-color:#ffffff1f}.p-card.card-primary[data-v-be634618]{border-color:#2563eb4d;background:#2563eb0d}.p-card.card-primary[data-v-be634618]:hover{background:#2563eb1a}.p-card.card-disabled[data-v-be634618]{opacity:.5;cursor:default}.p-card.card-disabled[data-v-be634618]:hover{background:#ffffff08;border-color:#ffffff0f}.p-card-icon[data-v-be634618]{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-card-icon svg[data-v-be634618]{width:22px;height:22px}.p-card-body[data-v-be634618]{flex:1;min-width:0}.p-card-body h3[data-v-be634618]{font-size:15px;font-weight:600;color:#f1f5f9;margin:0 0 3px}.p-card-body p[data-v-be634618]{font-size:12px;color:#64748b;margin:0;line-height:1.4}.p-card-arrow[data-v-be634618]{font-size:18px;color:#475569}.p-card-badge[data-v-be634618]{position:absolute;top:10px;right:12px;font-size:11px;padding:2px 8px;border-radius:4px}.badge-muted[data-v-be634618]{background:#94a3b81a;color:#64748b}.portal-page[data-v-ce892c7f]{min-height:100vh;background:linear-gradient(180deg,#f0eef8,#f8fafc 40%)}.bar[data-v-ce892c7f]{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#fff;border-bottom:1px solid #e5e7eb}.bar__left[data-v-ce892c7f]{display:flex;align-items:center;gap:10px}.bar__icon[data-v-ce892c7f]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.bar__icon svg[data-v-ce892c7f]{width:22px;height:22px}.bar__brand[data-v-ce892c7f]{font-size:15px;font-weight:700;color:#0f172a;letter-spacing:.5px}.bar__dot[data-v-ce892c7f]{color:#cbd5e1;font-size:14px}.bar__sub[data-v-ce892c7f]{font-size:13px;color:#64748b}.bar__right[data-v-ce892c7f]{display:flex;align-items:center;gap:12px}.bar__avatar[data-v-ce892c7f]{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.bar__name[data-v-ce892c7f]{font-size:13px;color:#334155;font-weight:500}.bar__logout[data-v-ce892c7f]{padding:5px 14px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;cursor:pointer;transition:all .15s}.bar__logout[data-v-ce892c7f]:hover{border-color:#94a3b8;color:#1e293b}.body[data-v-ce892c7f]{max-width:1100px;margin:0 auto;padding:52px 24px 64px}.title[data-v-ce892c7f]{font-size:26px;font-weight:800;color:#0f172a;text-align:center;margin:0;letter-spacing:-.5px}.subtitle[data-v-ce892c7f]{font-size:14px;color:#94a3b8;text-align:center;margin:8px 0 40px}.cards[data-v-ce892c7f]{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card[data-v-ce892c7f]{padding:28px;border-radius:18px;border:1px solid rgba(255,255,255,.8);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;cursor:pointer}.card[data-v-ce892c7f]:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.card__circle[data-v-ce892c7f]{position:absolute;width:200px;height:200px;border-radius:999px;top:-60px;right:-40px;pointer-events:none}.card__header[data-v-ce892c7f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;position:relative}.card__badge[data-v-ce892c7f]{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.card__badge svg[data-v-ce892c7f]{width:20px;height:20px}.card__status[data-v-ce892c7f]{font-size:12px;font-weight:600;padding:3px 12px;border-radius:999px;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card__title[data-v-ce892c7f]{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 10px;position:relative}.card__desc[data-v-ce892c7f]{font-size:13px;color:#64748b;line-height:1.7;margin:0 0 20px;position:relative;flex:1}.card__feats[data-v-ce892c7f]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;position:relative}.feat[data-v-ce892c7f]{display:flex;align-items:center;gap:8px}.feat__dot[data-v-ce892c7f]{width:5px;height:5px;border-radius:999px;flex-shrink:0}.feat__label[data-v-ce892c7f]{font-size:13px;color:#475569}.card__enter[data-v-ce892c7f]{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;align-self:flex-start}.card__enter[data-v-ce892c7f]:hover{opacity:.8;transform:translate(2px)}.sys[data-v-ce892c7f]{display:flex;align-items:center;gap:16px;margin:48px 0 18px}.sys__line[data-v-ce892c7f]{flex:1;height:1px;background:#e2e8f0}.sys__label[data-v-ce892c7f]{font-size:12px;color:#94a3b8;white-space:nowrap;letter-spacing:1px}.sys__btns[data-v-ce892c7f]{display:flex;justify-content:center;gap:12px}.sys__btn[data-v-ce892c7f]{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .15s}.sys__btn[data-v-ce892c7f]:hover{border-color:#cbd5e1;color:#1e293b;box-shadow:0 2px 8px #0000000a}.sys__btn svg[data-v-ce892c7f]{width:16px;height:16px}@media (max-width: 900px){.cards[data-v-ce892c7f]{grid-template-columns:1fr}}@media (min-width: 901px) and (max-width: 1100px){.cards[data-v-ce892c7f]{grid-template-columns:repeat(2,1fr)}}.uc-users[data-v-3ebfcb4a]{padding:0}.page-header[data-v-3ebfcb4a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-3ebfcb4a]{margin:0;font-size:18px;font-weight:600}.header-actions[data-v-3ebfcb4a]{display:flex;align-items:center;gap:12px}.total-badge[data-v-3ebfcb4a]{font-size:13px;color:var(--text-secondary, #64748b)}.filter-bar[data-v-3ebfcb4a]{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filter-bar select[data-v-3ebfcb4a]{height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:0 8px;font-size:13px;background:var(--bg-card, #fff);color:var(--text-primary, #1e293b)}.search-box[data-v-3ebfcb4a]{display:flex;gap:4px}.search-box input[data-v-3ebfcb4a]{height:32px;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:0 10px;width:180px;font-size:13px;background:var(--bg-card, #fff);color:var(--text-primary, #1e293b)}.table-wrap[data-v-3ebfcb4a]{overflow-x:auto;border:1px solid var(--border, #e2e8f0);border-radius:8px}.table-wrap.loading[data-v-3ebfcb4a]{opacity:.5}table[data-v-3ebfcb4a]{width:100%;border-collapse:collapse;font-size:13px}thead[data-v-3ebfcb4a]{background:var(--bg-subtle, #f8fafc)}th[data-v-3ebfcb4a]{padding:10px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);white-space:nowrap}td[data-v-3ebfcb4a]{padding:10px 12px;border-bottom:1px solid var(--border-light, #f1f5f9)}.mono[data-v-3ebfcb4a]{font-family:SF Mono,monospace;font-size:12px}.name-cell[data-v-3ebfcb4a]{cursor:pointer;color:var(--color-primary, #3b82f6);font-weight:500}.name-cell[data-v-3ebfcb4a]:hover{text-decoration:underline}.time-cell[data-v-3ebfcb4a]{font-size:12px;color:var(--text-secondary, #64748b)}.empty[data-v-3ebfcb4a]{color:var(--text-secondary, #94a3b8);font-size:12px}.empty-row[data-v-3ebfcb4a]{text-align:center;padding:40px;color:var(--text-secondary, #94a3b8)}.product-tag[data-v-3ebfcb4a]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;border:1px solid;font-size:12px;margin-right:4px;margin-bottom:2px}.product-tag small[data-v-3ebfcb4a]{opacity:.6;font-size:11px}.status-dot[data-v-3ebfcb4a]{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.status-dot.enabled[data-v-3ebfcb4a]{background:#10b981}.status-dot.disabled[data-v-3ebfcb4a]{background:#ef4444}.actions[data-v-3ebfcb4a]{display:flex;gap:4px}.pagination[data-v-3ebfcb4a]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;font-size:13px}.btn[data-v-3ebfcb4a]{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.btn-primary[data-v-3ebfcb4a]{background:var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-3ebfcb4a]:hover{background:var(--color-primary-dark, #2563eb)}.btn-ghost[data-v-3ebfcb4a]{background:transparent;color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-ghost[data-v-3ebfcb4a]:hover{background:var(--bg-subtle, #f1f5f9)}.btn-ghost.danger[data-v-3ebfcb4a]{color:#ef4444;border-color:#fecaca}.btn-ghost.danger[data-v-3ebfcb4a]:hover{background:#fef2f2}.btn-ghost.success[data-v-3ebfcb4a]{color:#10b981;border-color:#a7f3d0}.btn-sm[data-v-3ebfcb4a]{font-size:12px;padding:4px 10px}.btn-xs[data-v-3ebfcb4a]{font-size:11px;padding:2px 8px}.btn[data-v-3ebfcb4a]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-3ebfcb4a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-3ebfcb4a]{background:var(--bg-card, #fff);border-radius:12px;width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-lg[data-v-3ebfcb4a]{width:640px}.modal-header[data-v-3ebfcb4a]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header h3[data-v-3ebfcb4a]{margin:0;font-size:16px}.close-btn[data-v-3ebfcb4a]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary, #94a3b8);padding:0 4px}.modal-body[data-v-3ebfcb4a]{padding:20px}.modal-footer[data-v-3ebfcb4a]{padding:12px 20px;border-top:1px solid var(--border, #e2e8f0);display:flex;justify-content:flex-end;gap:8px}.form-group[data-v-3ebfcb4a]{margin-bottom:14px}.form-group label[data-v-3ebfcb4a]{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--text-secondary, #475569)}.form-group input[data-v-3ebfcb4a],.form-group select[data-v-3ebfcb4a]{width:100%;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:0 10px;font-size:13px;background:var(--bg-card, #fff);color:var(--text-primary, #1e293b);box-sizing:border-box}.checkbox-group[data-v-3ebfcb4a]{display:flex;flex-wrap:wrap;gap:8px}.checkbox-item[data-v-3ebfcb4a]{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.checkbox-item input[data-v-3ebfcb4a]{margin:0}.detail-grid[data-v-3ebfcb4a]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:16px}.detail-item label[data-v-3ebfcb4a]{display:block;font-size:11px;color:var(--text-secondary, #94a3b8);margin-bottom:2px}.detail-item span[data-v-3ebfcb4a]{font-size:14px;font-weight:500}.status-enabled[data-v-3ebfcb4a]{color:#10b981}.status-disabled[data-v-3ebfcb4a]{color:#ef4444}h4[data-v-3ebfcb4a]{font-size:14px;margin:16px 0 8px;padding-top:12px;border-top:1px solid var(--border-light, #f1f5f9)}.inner-table[data-v-3ebfcb4a]{width:100%;font-size:12px}.inner-table th[data-v-3ebfcb4a]{font-size:11px;padding:6px 8px}.inner-table td[data-v-3ebfcb4a]{padding:6px 8px}.binding-list[data-v-3ebfcb4a]{display:flex;flex-direction:column;gap:4px}.binding-item[data-v-3ebfcb4a]{display:flex;gap:8px;font-size:12px}.binding-app[data-v-3ebfcb4a]{font-weight:500;min-width:80px}.grant-item[data-v-3ebfcb4a]{font-size:12px;padding:4px 0}.loading-text[data-v-3ebfcb4a]{text-align:center;color:var(--text-secondary, #94a3b8)}.uc-roles[data-v-10363738]{padding:0}.page-header[data-v-10363738]{margin-bottom:16px}.page-header h2[data-v-10363738]{margin:0;font-size:18px;font-weight:600}.products-grid[data-v-10363738]{display:flex;flex-direction:column;gap:20px}.products-grid.loading[data-v-10363738]{opacity:.5}.product-card[data-v-10363738]{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.product-header[data-v-10363738]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-subtle, #f8fafc);border-left:4px solid}.product-header h3[data-v-10363738]{margin:0;font-size:15px;font-weight:600}table[data-v-10363738]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-10363738]{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary, #64748b);border-bottom:1px solid var(--border, #e2e8f0);font-size:12px}td[data-v-10363738]{padding:8px 12px;border-bottom:1px solid var(--border-light, #f1f5f9)}.mono[data-v-10363738]{font-family:SF Mono,monospace;font-size:12px}.role-name[data-v-10363738]{font-weight:500}.perm-tag[data-v-10363738]{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--bg-subtle, #f1f5f9);font-size:11px;margin-right:3px;margin-bottom:2px;color:var(--text-secondary, #475569)}.type-badge[data-v-10363738]{font-size:11px;padding:1px 6px;border-radius:4px}.type-badge.builtin[data-v-10363738]{background:#dbeafe;color:#2563eb}.type-badge.custom[data-v-10363738]{background:#fef3c7;color:#d97706}.actions[data-v-10363738]{display:flex;gap:4px}.empty-state[data-v-10363738]{text-align:center;padding:40px;color:var(--text-secondary, #94a3b8)}.btn[data-v-10363738]{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.btn-primary[data-v-10363738]{background:var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-10363738]:hover{background:var(--color-primary-dark, #2563eb)}.btn-ghost[data-v-10363738]{background:transparent;color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-ghost[data-v-10363738]:hover{background:var(--bg-subtle, #f1f5f9)}.btn-ghost.danger[data-v-10363738]{color:#ef4444;border-color:#fecaca}.btn-sm[data-v-10363738]{font-size:12px;padding:4px 10px}.btn-xs[data-v-10363738]{font-size:11px;padding:2px 8px}.modal-overlay[data-v-10363738]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-10363738]{background:var(--bg-card, #fff);border-radius:12px;width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-header[data-v-10363738]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header h3[data-v-10363738]{margin:0;font-size:16px}.close-btn[data-v-10363738]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary, #94a3b8)}.modal-body[data-v-10363738]{padding:20px}.modal-footer[data-v-10363738]{padding:12px 20px;border-top:1px solid var(--border, #e2e8f0);display:flex;justify-content:flex-end;gap:8px}.form-group[data-v-10363738]{margin-bottom:14px}.form-group label[data-v-10363738]{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--text-secondary, #475569)}.form-group input[data-v-10363738],.form-group textarea[data-v-10363738]{width:100%;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:8px 10px;font-size:13px;background:var(--bg-card, #fff);color:var(--text-primary, #1e293b);box-sizing:border-box;font-family:inherit}.form-group input[data-v-10363738]{height:36px;padding:0 10px}.form-group input[data-v-10363738]:disabled{opacity:.5}.form-group textarea[data-v-10363738]{resize:vertical;font-family:SF Mono,monospace;font-size:12px}.uc-tenants[data-v-4fcf83b8]{padding:0}.page-header[data-v-4fcf83b8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.page-header h2[data-v-4fcf83b8]{margin:0;font-size:18px;font-weight:600}.tenants-grid[data-v-4fcf83b8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px}.tenants-grid.loading[data-v-4fcf83b8]{opacity:.5}.tenant-card[data-v-4fcf83b8]{border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.tenant-header[data-v-4fcf83b8]{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 16px;background:var(--bg-subtle, #f8fafc)}.tenant-header h3[data-v-4fcf83b8]{margin:0 0 4px;font-size:16px;font-weight:600}.code[data-v-4fcf83b8]{font-size:12px;color:var(--text-secondary, #64748b);margin-right:8px}.province[data-v-4fcf83b8]{font-size:12px;color:var(--text-secondary, #94a3b8)}.tenant-stats[data-v-4fcf83b8]{display:flex;gap:12px}.stat[data-v-4fcf83b8]{font-size:12px;color:var(--text-secondary, #64748b);font-weight:500}.product-list[data-v-4fcf83b8]{padding:10px 16px}.product-item[data-v-4fcf83b8]{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13px}.product-dot[data-v-4fcf83b8]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.product-name[data-v-4fcf83b8]{font-weight:500;min-width:60px}.product-domain[data-v-4fcf83b8]{font-size:11px;color:var(--text-secondary, #64748b);flex:1}.product-status[data-v-4fcf83b8]{font-size:11px;font-weight:500}.product-status.on[data-v-4fcf83b8]{color:#10b981}.product-status.off[data-v-4fcf83b8]{color:#ef4444}.empty[data-v-4fcf83b8]{font-size:12px;color:var(--text-secondary, #94a3b8);padding:4px 0}.tenant-actions[data-v-4fcf83b8]{padding:8px 16px 12px;display:flex;gap:6px}.empty-state[data-v-4fcf83b8]{text-align:center;padding:40px;color:var(--text-secondary, #94a3b8);grid-column:1 / -1}.config-row[data-v-4fcf83b8]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-light, #f1f5f9)}.config-left[data-v-4fcf83b8]{display:flex;align-items:center;gap:8px}.config-name[data-v-4fcf83b8]{font-weight:500}.hint[data-v-4fcf83b8]{font-size:12px;color:var(--text-secondary, #94a3b8);margin-top:12px}.btn[data-v-4fcf83b8]{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s}.btn-primary[data-v-4fcf83b8]{background:var(--color-primary, #3b82f6);color:#fff}.btn-primary[data-v-4fcf83b8]:hover{background:var(--color-primary-dark, #2563eb)}.btn-ghost[data-v-4fcf83b8]{background:transparent;color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0)}.btn-ghost[data-v-4fcf83b8]:hover{background:var(--bg-subtle, #f1f5f9)}.btn-ghost.danger[data-v-4fcf83b8]{color:#ef4444;border-color:#fecaca}.btn-active[data-v-4fcf83b8]{background:#10b981;color:#fff;border:none}.btn-active[data-v-4fcf83b8]:hover{background:#059669}.btn-sm[data-v-4fcf83b8]{font-size:12px;padding:4px 10px}.modal-overlay[data-v-4fcf83b8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-4fcf83b8]{background:var(--bg-card, #fff);border-radius:12px;width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-lg[data-v-4fcf83b8]{width:560px}.modal-header[data-v-4fcf83b8]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border, #e2e8f0)}.modal-header h3[data-v-4fcf83b8]{margin:0;font-size:16px}.close-btn[data-v-4fcf83b8]{background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-secondary, #94a3b8)}.modal-body[data-v-4fcf83b8]{padding:20px}.modal-footer[data-v-4fcf83b8]{padding:12px 20px;border-top:1px solid var(--border, #e2e8f0);display:flex;justify-content:flex-end;gap:8px}.form-group[data-v-4fcf83b8]{margin-bottom:14px}.form-group label[data-v-4fcf83b8]{display:block;font-size:13px;font-weight:500;margin-bottom:4px;color:var(--text-secondary, #475569)}.form-group input[data-v-4fcf83b8]{width:100%;height:36px;border:1px solid var(--border, #e2e8f0);border-radius:6px;padding:0 10px;font-size:13px;background:var(--bg-card, #fff);color:var(--text-primary, #1e293b);box-sizing:border-box}.form-group input[data-v-4fcf83b8]:disabled{opacity:.5}.mono[data-v-4fcf83b8]{font-family:SF Mono,monospace}.portal-page[data-v-c34525a0]{min-height:100vh;background:linear-gradient(180deg,#f0eef8,#f8fafc 40%)}.bar[data-v-c34525a0]{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:#fff;border-bottom:1px solid #e5e7eb}.bar__left[data-v-c34525a0]{display:flex;align-items:center;gap:10px}.bar__icon[data-v-c34525a0]{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center}.bar__icon svg[data-v-c34525a0]{width:22px;height:22px}.bar__brand[data-v-c34525a0]{font-size:15px;font-weight:700;color:#0f172a}.bar__dot[data-v-c34525a0]{color:#cbd5e1;font-size:14px}.bar__sub[data-v-c34525a0]{font-size:13px;color:#64748b}.bar__right[data-v-c34525a0]{display:flex;align-items:center;gap:12px}.bar__avatar[data-v-c34525a0]{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.bar__name[data-v-c34525a0]{font-size:13px;color:#334155;font-weight:500}.bar__logout[data-v-c34525a0]{padding:5px 14px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;cursor:pointer;transition:all .15s}.bar__logout[data-v-c34525a0]:hover{border-color:#94a3b8;color:#1e293b}.body[data-v-c34525a0]{max-width:880px;margin:0 auto;padding:52px 24px 64px}.title[data-v-c34525a0]{font-size:26px;font-weight:800;color:#0f172a;text-align:center;margin:0;letter-spacing:-.5px}.subtitle[data-v-c34525a0]{font-size:14px;color:#94a3b8;text-align:center;margin:8px 0 36px}.cards[data-v-c34525a0]{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.card[data-v-c34525a0]{padding:28px;border-radius:18px;border:1px solid rgba(255,255,255,.8);position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s;box-shadow:0 1px 3px #0000000a}.card[data-v-c34525a0]:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.card__circle[data-v-c34525a0]{position:absolute;width:200px;height:200px;border-radius:999px;top:-60px;right:-40px;pointer-events:none}.card__header[data-v-c34525a0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;position:relative}.card__badge[data-v-c34525a0]{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.card__badge svg[data-v-c34525a0]{width:20px;height:20px}.card__status[data-v-c34525a0]{font-size:12px;font-weight:600;padding:3px 12px;border-radius:999px;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card__title[data-v-c34525a0]{font-size:20px;font-weight:700;color:#0f172a;margin:0 0 10px;position:relative}.card__desc[data-v-c34525a0]{font-size:13px;color:#64748b;line-height:1.7;margin:0 0 20px;position:relative}.card__feats[data-v-c34525a0]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;position:relative}.feat[data-v-c34525a0]{display:flex;align-items:center;gap:8px}.feat__dot[data-v-c34525a0]{width:5px;height:5px;border-radius:999px;flex-shrink:0}.feat__label[data-v-c34525a0]{font-size:13px;color:#475569}.card__enter[data-v-c34525a0]{display:flex;align-items:center;gap:6px;padding:9px 20px;border-radius:10px;border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;position:relative;box-shadow:0 2px 8px #00000026}.card__enter[data-v-c34525a0]:hover{box-shadow:0 4px 16px #00000040;transform:translate(2px)}.card__enter svg[data-v-c34525a0]{width:14px;height:14px}.sys[data-v-c34525a0]{display:flex;align-items:center;gap:16px;margin:44px 0 18px}.sys__line[data-v-c34525a0]{flex:1;height:1px;background:#e2e8f0}.sys__label[data-v-c34525a0]{font-size:12px;color:#94a3b8;white-space:nowrap;letter-spacing:1px;text-transform:uppercase}.sys__btns[data-v-c34525a0]{display:flex;justify-content:center;gap:12px}.sys__btn[data-v-c34525a0]{display:flex;align-items:center;gap:8px;padding:10px 24px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .15s}.sys__btn[data-v-c34525a0]:hover{border-color:#cbd5e1;color:#1e293b;box-shadow:0 2px 8px #0000000a}.sys__btn svg[data-v-c34525a0]{width:16px;height:16px}@media (max-width: 720px){.cards[data-v-c34525a0]{grid-template-columns:1fr}}.scene-page[data-v-0fc9318c]{min-height:100vh;background:linear-gradient(180deg,#faf8ff,#f8fafc 40%)}.bar[data-v-0fc9318c]{display:flex;align-items:center;justify-content:space-between;padding:12px 28px;background:#fff;border-bottom:1px solid #e5e7eb}.bar__left[data-v-0fc9318c]{display:flex;align-items:center;gap:12px}.bar__back[data-v-0fc9318c]{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:13px;cursor:pointer;transition:all .15s}.bar__back[data-v-0fc9318c]:hover{border-color:#94a3b8;color:#1e293b}.bar__back svg[data-v-0fc9318c]{width:16px;height:16px}.bar__divider[data-v-0fc9318c]{width:1px;height:20px;background:#e2e8f0}.bar__badge[data-v-0fc9318c]{width:28px;height:28px;border-radius:8px;background:#f5f3ff;display:flex;align-items:center;justify-content:center}.bar__badge svg[data-v-0fc9318c]{width:16px;height:16px}.bar__title[data-v-0fc9318c]{font-size:15px;font-weight:600;color:#0f172a}.bar__right[data-v-0fc9318c]{display:flex;align-items:center;gap:12px}.bar__avatar[data-v-0fc9318c]{width:28px;height:28px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.bar__name[data-v-0fc9318c]{font-size:13px;color:#334155}.bar__logout[data-v-0fc9318c]{padding:5px 14px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;cursor:pointer}.bar__logout[data-v-0fc9318c]:hover{border-color:#94a3b8;color:#1e293b}.body[data-v-0fc9318c]{max-width:900px;margin:0 auto;padding:40px 24px 64px}.hero[data-v-0fc9318c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.hero__title[data-v-0fc9318c]{font-size:24px;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.3px}.hero__desc[data-v-0fc9318c]{font-size:14px;color:#94a3b8;margin:6px 0 0}.hero__count[data-v-0fc9318c]{text-align:center;padding:12px 20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.hero__num[data-v-0fc9318c]{font-size:24px;font-weight:800;color:#7c3aed;display:block}.hero__label[data-v-0fc9318c]{font-size:11px;color:#94a3b8}.grid[data-v-0fc9318c]{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.sc[data-v-0fc9318c]{padding:26px;background:#fff;border-radius:16px;border:1px solid #e8e5f0;cursor:pointer;transition:all .25s}.sc[data-v-0fc9318c]:hover{transform:translateY(-3px);box-shadow:0 10px 30px #7c3aed14;border-color:#c4b5fd}.sc--placeholder[data-v-0fc9318c]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;border-style:dashed;border-color:#ddd6fe;cursor:default}.sc--placeholder[data-v-0fc9318c]:hover{transform:none;box-shadow:none}.sc__top[data-v-0fc9318c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sc__icon[data-v-0fc9318c]{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0000001f}.sc__icon svg[data-v-0fc9318c]{width:20px;height:20px}.sc__status[data-v-0fc9318c]{font-size:11px;font-weight:600;padding:3px 10px;border-radius:999px}.sc__status--ready[data-v-0fc9318c]{background:#dcfce7;color:#16a34a}.sc__status--dev[data-v-0fc9318c]{background:#fef3c7;color:#d97706}.sc__title[data-v-0fc9318c]{font-size:18px;font-weight:700;color:#0f172a;margin:0 0 8px}.sc__desc[data-v-0fc9318c]{font-size:13px;color:#64748b;line-height:1.7;margin:0 0 16px}.sc__metrics[data-v-0fc9318c]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px}.sc__metric[data-v-0fc9318c]{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569}.sc__metric-dot[data-v-0fc9318c]{width:4px;height:4px;border-radius:999px;flex-shrink:0}.sc__tags[data-v-0fc9318c]{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.sc__tag[data-v-0fc9318c]{font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid;font-weight:500}.sc__foot[data-v-0fc9318c]{padding-top:14px;border-top:1px solid #f1f5f9}.sc__foot-text[data-v-0fc9318c]{font-size:13px;color:#94a3b8;font-weight:500}.sc__foot-text--go[data-v-0fc9318c]{cursor:pointer;font-weight:600}.sc__placeholder-icon svg[data-v-0fc9318c]{width:32px;height:32px}.sc__placeholder-text[data-v-0fc9318c]{font-size:14px;color:#94a3b8;margin:12px 0 4px;font-weight:500}.sc__placeholder-sub[data-v-0fc9318c]{font-size:12px;color:#cbd5e1}@media (max-width: 720px){.grid[data-v-0fc9318c]{grid-template-columns:1fr}}.md[data-v-51f197ba]{padding:2px 0 0}.md-tabs[data-v-51f197ba]{display:flex;align-items:center;gap:4px;margin-bottom:8px}.md-tab[data-v-51f197ba]{padding:6px 18px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.md-tab[data-v-51f197ba]:hover{background:#f1f5f9;border-color:#cbd5e1}.md-tab--on[data-v-51f197ba]{background:#4f46e5;color:#fff;border-color:#4f46e5}.md-search[data-v-51f197ba]{margin-left:auto;padding:4px 12px;border-radius:6px;border:1px solid #e2e8f0;font-size:13px;width:160px;outline:none}.md-search[data-v-51f197ba]:focus{border-color:#4f46e5}.md-bar[data-v-51f197ba]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:6px 12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;gap:12px;flex-wrap:wrap}.md-stats[data-v-51f197ba]{display:flex;gap:14px}.md-stat[data-v-51f197ba]{font-size:12px;color:#64748b;display:flex;align-items:center;gap:4px}.md-stat b[data-v-51f197ba]{font-weight:700;color:#0f172a}.md-stat--ok b[data-v-51f197ba]{color:#16a34a}.md-stat--warn b[data-v-51f197ba]{color:#d97706}.dot[data-v-51f197ba]{width:6px;height:6px;border-radius:999px}.dot--ok[data-v-51f197ba]{background:#22c55e}.dot--warn[data-v-51f197ba]{background:#f59e0b}.tier-filters[data-v-51f197ba]{display:flex;gap:3px}.tier-btn[data-v-51f197ba]{padding:3px 12px;border-radius:5px;border:1px solid #e2e8f0;background:#fff;color:#64748b;font-size:12px;cursor:pointer}.tier-btn[data-v-51f197ba]:hover{border-color:#cbd5e1}.tier-btn--on[data-v-51f197ba]{background:#0f172a;color:#fff;border-color:#0f172a}.md-loading[data-v-51f197ba]{text-align:center;padding:40px;color:#94a3b8;font-size:14px}.city-tbl-wrap[data-v-51f197ba]{border:1px solid #e2e8f0;border-radius:12px;overflow:auto;max-height:calc(100vh - 240px);background:#fff}.city-tbl[data-v-51f197ba]{width:100%;border-collapse:collapse;font-size:13px}.ct-th[data-v-51f197ba]{padding:8px 14px;text-align:left;font-weight:600;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:2;font-size:12px}.ct-th--sort[data-v-51f197ba]{cursor:pointer;-webkit-user-select:none;user-select:none}.ct-th--sort[data-v-51f197ba]:hover{color:#1e293b}.ct-sort[data-v-51f197ba]{font-size:11px;color:#94a3b8;margin-left:2px}.ct-td[data-v-51f197ba]{padding:6px 14px;border-bottom:1px solid #f1f5f9;white-space:nowrap;font-size:13px}.ct-th--sticky[data-v-51f197ba],.ct-td--sticky[data-v-51f197ba]{position:sticky;left:0;z-index:1}.ct-th--sticky[data-v-51f197ba]{z-index:3;background:#f8fafc}.ct-td--sticky[data-v-51f197ba]{background:#fff}.ct-td--city[data-v-51f197ba]{font-weight:600;color:#0f172a}.ct-td--stale[data-v-51f197ba]{color:#d97706;font-weight:500}.ct-td--range[data-v-51f197ba]{color:#94a3b8;font-size:12px}.ct-row:hover .ct-td[data-v-51f197ba]{background:#f8fafc}.ct-tier[data-v-51f197ba]{font-size:11px;color:#94a3b8;background:#f1f5f9;padding:2px 10px;border-radius:4px}.ct-badge[data-v-51f197ba]{font-size:11px;font-weight:600;padding:3px 12px;border-radius:999px}.ct-badge--ok[data-v-51f197ba]{background:#dcfce7;color:#16a34a}.ct-badge--outdated[data-v-51f197ba]{background:#fef3c7;color:#d97706}.modal-mask[data-v-51f197ba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-sheet[data-v-51f197ba]{background:#fff;border-radius:16px;width:92vw;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.modal-hd[data-v-51f197ba]{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #e2e8f0}.modal-hd__title[data-v-51f197ba]{font-size:16px;font-weight:700;margin:0}.modal-hd__count[data-v-51f197ba]{font-size:13px;color:#94a3b8}.tbl-wrap[data-v-51f197ba]{overflow:auto;flex:1;padding:0 16px}.tbl[data-v-51f197ba]{width:100%;border-collapse:collapse;font-size:13px}.tbl__th[data-v-51f197ba]{padding:8px 12px;text-align:left;font-weight:600;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;white-space:nowrap;position:sticky;top:0;z-index:1}.tbl__td[data-v-51f197ba]{padding:7px 12px;border-bottom:1px solid #f1f5f9;white-space:nowrap}.tbl__th--sticky[data-v-51f197ba],.tbl__td--sticky[data-v-51f197ba]{position:sticky;left:0;z-index:2}.tbl__th--sticky[data-v-51f197ba]{background:#f8fafc;z-index:3}.tbl__td--sticky[data-v-51f197ba]{background:#fff;font-weight:600;color:#0f172a}.tbl__th--end[data-v-51f197ba],.tbl__td--end[data-v-51f197ba]{position:sticky;right:0;z-index:2}.tbl__th--end[data-v-51f197ba]{background:#f8fafc;z-index:3}.tbl__td--end[data-v-51f197ba]{background:#fff}.tbl__row:hover .tbl__td[data-v-51f197ba]{background:#f8fafc}.tbl__row:hover .tbl__td--sticky[data-v-51f197ba],.tbl__row:hover .tbl__td--end[data-v-51f197ba]{background:#f1f5f9}.tbl__row--new .tbl__td[data-v-51f197ba]{background:#f0fdf4}.tbl__input[data-v-51f197ba]{width:90px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px}.pager[data-v-51f197ba]{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid #e2e8f0}.pager__btn[data-v-51f197ba]{padding:5px 16px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;cursor:pointer}.pager__btn[data-v-51f197ba]:disabled{opacity:.4;cursor:not-allowed}.pager__btn[data-v-51f197ba]:not(:disabled):hover{border-color:#4f46e5;color:#4f46e5}.pager__info[data-v-51f197ba]{font-size:13px;color:#64748b}.md-btn[data-v-51f197ba]{padding:6px 16px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#475569;font-size:13px;cursor:pointer;transition:all .12s}.md-btn[data-v-51f197ba]:hover{border-color:#cbd5e1}.md-btn--primary[data-v-51f197ba]{background:#4f46e5;color:#fff;border-color:#4f46e5}.md-btn--primary[data-v-51f197ba]:hover{background:#4338ca}.md-btn--sm[data-v-51f197ba]{padding:4px 12px;font-size:12px}.md-btn--import[data-v-51f197ba]{background:#059669;color:#fff;border-color:#059669}.md-btn--import[data-v-51f197ba]:hover{background:#047857}.md-btn--import[data-v-51f197ba]:disabled{opacity:.5;cursor:not-allowed}.import-result[data-v-51f197ba]{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:12px;border-radius:8px;font-size:13px}.import-result--ok[data-v-51f197ba]{color:#16a34a;background:#f0fdf4;padding:6px 14px;border-radius:6px;border:1px solid #bbf7d0;flex:1}.import-result--err[data-v-51f197ba]{color:#dc2626;background:#fef2f2;padding:6px 14px;border-radius:6px;border:1px solid #fecaca;flex:1}.import-result__close[data-v-51f197ba]{border:none;background:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:0 4px}
