.confirm-mask[data-v-7095dec0]{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirm-dialog[data-v-7095dec0]{background:#fff;border-radius:14px;min-width:320px;max-width:420px;padding:24px;box-shadow:0 20px 40px #0f172a2e;display:flex;flex-direction:column;gap:16px}.confirm-title[data-v-7095dec0]{margin:0;font-size:18px;font-weight:600;color:#111827}.confirm-message[data-v-7095dec0]{color:#4b5563;font-size:14px;line-height:1.6}.confirm-actions[data-v-7095dec0]{display:flex;justify-content:flex-end;gap:12px}.btn[data-v-7095dec0]{padding:8px 18px;border-radius:999px;border:none;background:#2563eb;color:#fff;cursor:pointer;font-size:14px;transition:background .2s ease,box-shadow .2s ease}.btn[data-v-7095dec0]:hover{box-shadow:0 6px 18px #2563eb4d}.btn[data-v-7095dec0]:focus{outline:none;box-shadow:0 0 0 3px #2563eb59}.btn.ghost[data-v-7095dec0]{background:#fff;color:#1f2937;border:1px solid #d1d5db}.btn.danger[data-v-7095dec0]{background:#dc2626}.btn.danger[data-v-7095dec0]:hover{box-shadow:0 6px 18px #dc262659}.login-page[data-v-d68c51c2]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#f8fafc,#e2e8f0);padding:24px}.login-card[data-v-d68c51c2]{width:100%;max-width:480px;background:#fff;border-radius:16px;padding:40px 44px;box-shadow:0 20px 45px #0f172a1f;border:1px solid rgba(148,163,184,.2)}.card-header[data-v-d68c51c2]{text-align:center;margin-bottom:32px}.card-header h1[data-v-d68c51c2]{font-size:26px;font-weight:600;color:#0f172a;margin-bottom:8px}.card-header p[data-v-d68c51c2]{font-size:14px;color:#64748b}.card-body[data-v-d68c51c2]{display:flex;flex-direction:column;gap:24px}.field[data-v-d68c51c2]{display:flex;flex-direction:column;gap:10px;font-size:14px;width:100%}.field span[data-v-d68c51c2]{color:#475569}.field input[data-v-d68c51c2]{width:100%;box-sizing:border-box;padding:14px 18px;border-radius:12px;border:1px solid rgba(148,163,184,.5);background:#fffffff2;color:#0f172a;font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.field input[data-v-d68c51c2]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb33}.submit[data-v-d68c51c2]{width:100%;padding:16px 18px;border:none;border-radius:12px;background:#2563eb;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.submit[data-v-d68c51c2]:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.submit[data-v-d68c51c2]:disabled{opacity:.65;cursor:not-allowed}.error[data-v-d68c51c2]{color:#dc2626;font-size:13px;text-align:center}@media (max-width: 520px){.login-card[data-v-d68c51c2]{padding:28px 24px}.card-header h1[data-v-d68c51c2]{font-size:22px}}.layout[data-v-e837ea49]{height:100dvh;min-height:100dvh;display:flex;flex-direction:column;background:#f1f5f9;overflow:hidden}.topbar[data-v-e837ea49]{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#111827;color:#f9fafb;box-shadow:0 4px 12px #0f172a59}.topbar__brand[data-v-e837ea49]{display:flex;align-items:center;gap:10px}.brand__logo[data-v-e837ea49]{font-size:18px;font-weight:700;padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#22d3ee);border-radius:8px;color:#f8fafc}.brand__name[data-v-e837ea49]{font-size:16px;font-weight:600}.topbar__profile[data-v-e837ea49]{display:flex;align-items:center;gap:12px;font-size:14px}.profile__logout[data-v-e837ea49]{background:transparent;border:1px solid rgba(148,163,184,.4);border-radius:6px;color:#e5e7eb;padding:6px 12px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.profile__logout[data-v-e837ea49]:hover{background:#94a3b81f;border-color:#94a3b899}.body[data-v-e837ea49]{flex:1;display:flex;min-height:0}.sidebar[data-v-e837ea49]{width:240px;background:linear-gradient(180deg,#1f2937,#111827);color:#e5e7eb;display:flex;flex-direction:column;padding:24px 0}.sidebar__section[data-v-e837ea49]{padding:0 18px 24px}.section__title[data-v-e837ea49]{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8bf;margin-bottom:16px}.nav[data-v-e837ea49]{display:flex;flex-direction:column;gap:6px}.nav__link[data-v-e837ea49]{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:10px;color:#d1d5dbe6;text-decoration:none;transition:background .2s ease,color .2s ease}.nav__link[data-v-e837ea49]:hover{background:#3b82f61f;color:#f9fafb}.nav__link.active[data-v-e837ea49]{background:#3b82f62e;color:#f9fafb}.nav__link.active .nav__indicator[data-v-e837ea49]{opacity:1;transform:scaleY(1)}.nav__indicator[data-v-e837ea49]{position:absolute;left:-2px;top:8px;bottom:8px;width:4px;border-radius:4px;background:#3b82f6;opacity:0;transform:scaleY(.4);transition:opacity .2s ease,transform .2s ease}.nav__icon[data-v-e837ea49]{width:18px;height:18px;border-radius:6px;background:#94a3b859;display:inline-flex;align-items:center;justify-content:center}.nav__link:hover .nav__icon[data-v-e837ea49],.nav__link.active .nav__icon[data-v-e837ea49]{background:#3b82f6}.nav__label[data-v-e837ea49]{font-size:14px;font-weight:500}.nav__badge[data-v-e837ea49]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;margin-left:8px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:1}.nav__badge--dot[data-v-e837ea49]{min-width:8px;width:8px;height:8px;padding:0;border-radius:50%;font-size:0}.sidebar__footer[data-v-e837ea49]{margin-top:auto;padding:16px 18px 0;border-top:1px solid rgba(71,85,105,.4)}.footer__meta[data-v-e837ea49]{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#94a3b8e6}.meta__title[data-v-e837ea49]{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8b3}.meta__value[data-v-e837ea49]{font-size:14px;color:#f9fafb;font-weight:500}.meta__username[data-v-e837ea49]{font-size:12px;color:#94a3b8bf}.meta__role[data-v-e837ea49]{font-size:12px;color:#60a5fae6}.main[data-v-e837ea49]{flex:1;display:flex;box-sizing:border-box;padding:0;min-height:0;overflow:hidden}.main__inner[data-v-e837ea49]{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:24px 32px;box-sizing:border-box}@media (max-width: 960px){.sidebar[data-v-e837ea49]{width:200px}.main[data-v-e837ea49]{padding:20px}}@media (max-width: 768px){.layout[data-v-e837ea49],.body[data-v-e837ea49]{flex-direction:column}.sidebar[data-v-e837ea49]{width:100%;flex-direction:row;overflow-x:auto;padding:16px;gap:16px}.sidebar__section[data-v-e837ea49]{padding:0}.section__title[data-v-e837ea49],.sidebar__footer[data-v-e837ea49]{display:none}.nav[data-v-e837ea49]{flex-direction:row;gap:8px}.nav__link[data-v-e837ea49]{padding:10px 16px}}body{margin-block:0px;margin-inline:0px}.avatar-cropper[data-v-eb56502b]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.avatar-cropper__backdrop[data-v-eb56502b]{position:absolute;inset:0;background:#0f172a8c}.avatar-cropper__dialog[data-v-eb56502b]{position:relative;background:#fff;border-radius:16px;box-shadow:0 30px 60px #0f172a40;width:min(92vw,560px);max-width:560px;padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px;z-index:1}.avatar-cropper__header h2[data-v-eb56502b]{margin:0 0 4px;font-size:20px;color:#0f172a}.avatar-cropper__hint[data-v-eb56502b]{margin:0;font-size:13px;color:#475569}.avatar-cropper__body[data-v-eb56502b]{display:flex;flex-direction:column;gap:16px}.avatar-cropper__stage[data-v-eb56502b]{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:16px;border:1px solid rgba(148,163,184,.35);overflow:hidden;background:#f8fafc;cursor:grab}.avatar-cropper__stage[data-v-eb56502b]:active{cursor:grabbing}.avatar-cropper__stage img[data-v-eb56502b]{position:absolute;top:50%;left:50%;transform-origin:center center;will-change:transform;-webkit-user-select:none;user-select:none;pointer-events:none}.avatar-cropper__placeholder[data-v-eb56502b]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#64748b;font-size:14px}.avatar-cropper__controls[data-v-eb56502b]{display:flex;align-items:center;gap:12px;font-size:14px;color:#334155}.avatar-cropper__slider[data-v-eb56502b]{width:100%;margin-left:12px}.avatar-cropper__error[data-v-eb56502b]{margin:0;color:#dc2626;font-size:14px}.avatar-cropper__footer[data-v-eb56502b]{display:flex;justify-content:flex-end;gap:12px}.avatar-cropper__button[data-v-eb56502b]{padding:10px 18px;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#fff;color:#0f172a;font-size:14px;cursor:pointer;transition:all .2s ease}.avatar-cropper__button[data-v-eb56502b]:disabled{opacity:.5;cursor:not-allowed}.avatar-cropper__button--primary[data-v-eb56502b]{background:linear-gradient(135deg,#4f46e5,#0ea5e9);border:none;color:#fff}.avatar-cropper-fade-enter-active[data-v-eb56502b],.avatar-cropper-fade-leave-active[data-v-eb56502b]{transition:opacity .2s ease}.avatar-cropper-fade-enter-from[data-v-eb56502b],.avatar-cropper-fade-leave-to[data-v-eb56502b]{opacity:0}.user-avatar[data-v-1b7fc1d3]{position:relative;display:inline-flex;align-items:center;justify-content:center;color:#fffffff0;background:#4c51bf;font-weight:600;overflow:hidden;width:40px;height:40px;font-size:16px;-webkit-user-select:none;user-select:none;text-transform:uppercase;box-shadow:inset 0 0 0 1px #ffffff26}.user-avatar--circle[data-v-1b7fc1d3]{border-radius:50%}.user-avatar--rounded[data-v-1b7fc1d3]{border-radius:12px}.user-avatar--square[data-v-1b7fc1d3]{border-radius:0}.user-avatar img[data-v-1b7fc1d3]{width:100%;height:100%;object-fit:cover}.user-avatar span[data-v-1b7fc1d3]{line-height:1}.home[data-v-5583e794]{display:flex;flex-direction:column;gap:24px}.overview[data-v-5583e794]{display:flex;flex-direction:column;gap:12px;background:#fff;border-radius:12px;padding:20px 24px;box-shadow:0 6px 18px #0f172a14;border:1px solid rgba(226,232,240,.9)}.overview__profile-bar[data-v-5583e794]{display:flex;align-items:flex-start;gap:18px;flex-wrap:nowrap}.overview__avatar-wrapper[data-v-5583e794]{width:64px;height:64px;border-radius:16px;overflow:hidden;border:2px solid rgba(148,163,184,.25);box-shadow:0 8px 18px #0f172a26;background:linear-gradient(135deg,#6366f114,#0ea5e914);flex-shrink:0}.overview__avatar-image[data-v-5583e794]{width:100%;height:100%;border-radius:16px;font-size:26px}.overview__summary[data-v-5583e794]{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:180px}.overview__summary h1[data-v-5583e794]{margin:0;font-size:22px;font-weight:600;color:#0f172a}.overview__summary p[data-v-5583e794]{margin:0;color:#475569;font-size:14px}.overview__nickname-group[data-v-5583e794]{display:inline-flex;align-items:center;gap:12px}.overview__nickname-inline[data-v-5583e794]{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:#f1f5f999;color:#475569;min-width:260px}.overview__nickname-inline span[data-v-5583e794]{font-size:13px;font-weight:600;white-space:nowrap}.overview__nickname-inline input[data-v-5583e794]{flex:1;min-width:160px;border:none;background:transparent;font-size:14px;color:#0f172a;outline:none}.overview__nickname-inline input[data-v-5583e794]::placeholder{color:#94a3b8}.overview__nickname-save[data-v-5583e794]{white-space:nowrap}.overview__nickname-status[data-v-5583e794]{display:inline-flex;flex-direction:column;gap:4px;min-height:20px;font-size:13px;line-height:1.4}.overview__nickname-status .ok[data-v-5583e794],.overview__nickname-status .error[data-v-5583e794]{margin:0}.overview__profile-actions[data-v-5583e794]{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.overview__profile-actions .btn[data-v-5583e794]{white-space:nowrap;font-size:13px;padding:6px 14px}.overview__avatar-button[data-v-5583e794]{width:auto}.overview__avatar-input[data-v-5583e794]{display:none}@media (max-width: 960px){.overview__profile-bar[data-v-5583e794]{flex-wrap:wrap;justify-content:flex-start}.overview__nickname-group[data-v-5583e794]{flex-wrap:wrap;width:100%;justify-content:flex-start;gap:10px}.overview__nickname-status[data-v-5583e794]{width:100%}.overview__profile-actions[data-v-5583e794]{width:100%;justify-content:flex-start}}@media (max-width: 640px){.overview[data-v-5583e794]{padding:16px}.overview__nickname-inline[data-v-5583e794],.overview__nickname-save[data-v-5583e794]{width:100%}.overview__profile-actions[data-v-5583e794]{gap:8px}.overview__profile-actions .btn[data-v-5583e794]{flex:1 1 140px}}.grid[data-v-5583e794]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.panel[data-v-5583e794]{background:#fff;border-radius:12px;border:1px solid rgba(226,232,240,.9);box-shadow:0 6px 18px #0f172a0f;display:flex;flex-direction:column}.panel.wide[data-v-5583e794]{grid-column:span 2}.panel__header[data-v-5583e794]{padding:18px 20px 12px;border-bottom:1px solid rgba(226,232,240,.7)}.panel__header--mentions[data-v-5583e794]{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel__header h2[data-v-5583e794]{margin:0;font-size:18px;color:#0f172a}.panel__hint[data-v-5583e794]{margin:6px 0 0;font-size:13px;color:#64748b}.panel__body[data-v-5583e794]{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px}.panel__body--mentions[data-v-5583e794]{gap:16px}.panel__actions[data-v-5583e794]{display:flex;align-items:center;gap:10px}.mentions__count[data-v-5583e794]{font-size:13px;font-weight:600;color:#4338ca}.mentions__count--muted[data-v-5583e794]{color:#94a3b8}.panel__actions .btn.ghost[data-v-5583e794]{padding:6px 14px}.muted[data-v-5583e794]{color:#94a3b8;font-size:14px}.error[data-v-5583e794]{color:#dc2626;font-size:14px}.ok[data-v-5583e794]{color:#059669;font-size:14px}.login-list[data-v-5583e794],.recent-list[data-v-5583e794],.mention-list[data-v-5583e794]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.login-list__item[data-v-5583e794],.recent-list__item[data-v-5583e794]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid rgba(226,232,240,.9);border-radius:10px;background:#f8fafc}.mention-list__item[data-v-5583e794]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(226,232,240,.9);border-radius:10px;background:#f8fafc}.mention-list__item--unread[data-v-5583e794]{border-color:#4f46e559;background:#eef2ffb3}.mention-list__main[data-v-5583e794]{display:flex;flex-direction:column;gap:6px;flex:1}.mention-list__title[data-v-5583e794]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mention-list__name[data-v-5583e794]{font-weight:600;color:#0f172a}.mention-list__excerpt[data-v-5583e794]{margin:0;font-size:13px;color:#475569;line-height:1.5}.mention-list__time[data-v-5583e794]{font-size:12px;color:#94a3b8}.login-list__time[data-v-5583e794]{font-weight:600;color:#0f172a;font-size:14px}.login-list__meta[data-v-5583e794]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;color:#475569}.login-list__meta .ip[data-v-5583e794],.login-list__meta .region[data-v-5583e794]{white-space:nowrap}.recent-list__main[data-v-5583e794]{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.recent-list__title[data-v-5583e794]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.recent-list__title .name[data-v-5583e794]{font-weight:600;color:#0f172a}.recent-list__time[data-v-5583e794]{font-size:13px;color:#64748b}.badge[data-v-5583e794]{display:inline-flex;align-items:center;padding:2px 8px;font-size:12px;border-radius:999px;background:#3b82f61f;color:#1d4ed8}.badge--mention[data-v-5583e794]{background:#4f46e526;color:#4338ca}.empty[data-v-5583e794]{text-align:center;color:#94a3b8;padding:24px 0;border:1px dashed rgba(203,213,225,.7);border-radius:10px;background:#f8fafc99;font-size:14px}.form[data-v-5583e794]{display:flex;flex-direction:column;gap:16px}.field[data-v-5583e794]{display:flex;flex-direction:column;gap:6px}.field__label[data-v-5583e794]{font-size:13px;color:#475569}input[data-v-5583e794]{padding:10px 12px;border:1px solid rgba(203,213,225,.9);border-radius:8px;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}input[data-v-5583e794]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.form__actions[data-v-5583e794]{display:flex;justify-content:flex-end}.btn[data-v-5583e794]{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn.primary[data-v-5583e794]{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.btn.primary[data-v-5583e794]:disabled{opacity:.6;cursor:not-allowed}.btn.ghost[data-v-5583e794]{background:#fff;color:#1f2937;border:1px solid rgba(148,163,184,.6)}.btn.danger[data-v-5583e794]{background:#dc2626;color:#fff}.btn.link[data-v-5583e794]{background:transparent;color:#2563eb;padding:6px 10px}.btn.link[data-v-5583e794]:hover{background:#3b82f61f}@media (max-width: 768px){.overview[data-v-5583e794]{flex-direction:column;gap:16px}.overview__actions[data-v-5583e794]{width:100%;justify-content:flex-end}.panel.wide[data-v-5583e794]{grid-column:span 1}}button[data-v-95227720]{background:#111;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer}button[data-v-95227720]:disabled{opacity:.6;cursor:not-allowed}th[data-v-95227720],td[data-v-95227720]{font-size:14px}.password-cell[data-v-95227720]{display:flex;align-items:center;gap:6px}.password-field[data-v-95227720]{display:flex;align-items:center;gap:4px;padding:0 4px 0 8px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc}.password-field input[data-v-95227720]{flex:1;border:none;padding:8px 4px;background:transparent;font-size:14px}.password-field input[data-v-95227720]:focus{outline:none}.password-text[data-v-95227720]{font-family:SFMono-Regular,ui-monospace,PingFang SC,sans-serif}.icon-btn[data-v-95227720]{background:transparent;color:#111827;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease,color .2s ease}.icon-btn[data-v-95227720]:hover{background:#0f172a14}.icon-btn[data-v-95227720]:focus-visible{outline:2px solid rgba(37,99,235,.5);outline-offset:2px}.dialog-mask[data-v-95227720]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-95227720]{background:#fff;padding:16px 20px;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.dialog h3[data-v-95227720]{margin:0 0 10px;font-size:18px}.dialog .field[data-v-95227720]{display:flex;flex-direction:column;gap:6px;margin:10px 0}.dialog__actions[data-v-95227720]{display:flex;justify-content:flex-end;gap:10px}.btn.ghost[data-v-95227720]{background:#fff;color:#111827;border:1px solid #cbd5e1}.error[data-v-95227720]{color:#dc2626}.page[data-v-a6d84f77]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-a6d84f77]{display:flex;align-items:center;justify-content:space-between;gap:16px}.page__header h2[data-v-a6d84f77]{margin:0;font-size:22px;font-weight:600}.actions[data-v-a6d84f77]{display:flex;gap:12px}.create[data-v-a6d84f77]{display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs[data-v-a6d84f77]{color:#64748b;font-size:13px}.crumb a[data-v-a6d84f77]{color:#2563eb;text-decoration:none}.input[data-v-a6d84f77]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;min-width:160px}.select[data-v-a6d84f77]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.btn[data-v-a6d84f77]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-a6d84f77]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn[data-v-a6d84f77]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-a6d84f77]{color:#dc2626}.loading[data-v-a6d84f77]{color:#6b7280}.project-list[data-v-a6d84f77]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-item[data-v-a6d84f77]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;cursor:pointer;transition:box-shadow .2s ease}.project-item[data-v-a6d84f77]:hover{box-shadow:0 10px 24px #0f172a1f}.project-item__head[data-v-a6d84f77]{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-item__name[data-v-a6d84f77]{font-size:18px;font-weight:600;margin-bottom:6px}.project-item__name .icon[data-v-a6d84f77]{margin-right:6px}.project-item__actions[data-v-a6d84f77]{display:flex;gap:8px;align-items:center}.project-item__move[data-v-a6d84f77]{border:none;background:#e5e7eb;color:#111827;padding:4px 10px;border-radius:6px;cursor:pointer}.project-item__delete[data-v-a6d84f77]{border:none;background:#ef4444;color:#fff;padding:4px 10px;border-radius:6px;cursor:pointer}.project-item__delete[data-v-a6d84f77]:hover{background:#dc2626}.project-item__meta[data-v-a6d84f77]{display:flex;gap:16px;color:#6b7280;font-size:13px}.empty[data-v-a6d84f77]{padding:32px;text-align:center;color:#6b7280;border:1px dashed #d1d5db;border-radius:10px}.pager[data-v-a6d84f77]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.pageinfo[data-v-a6d84f77]{color:#64748b;font-size:13px}.dialog-mask[data-v-a6d84f77]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-a6d84f77]{background:#fff;padding:16px 20px;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.dialog h3[data-v-a6d84f77]{margin:0 0 10px;font-size:18px}.dialog .field[data-v-a6d84f77]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.dialog__actions[data-v-a6d84f77]{display:flex;justify-content:flex-end;gap:10px}.page[data-v-6ad53aee]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-6ad53aee]{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:4px 12px;margin-bottom:12px;border-radius:10px;border:1px solid rgba(203,213,225,.8);box-shadow:0 4px 12px #0f172a14}.left[data-v-6ad53aee]{display:flex;align-items:center;gap:10px}.right[data-v-6ad53aee]{display:flex;align-items:center;gap:8px;margin-left:auto}.header-meta[data-v-6ad53aee]{flex:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;font-size:13px;color:#475569}.title[data-v-6ad53aee]{margin:0;font-size:22px;font-weight:600}.loading[data-v-6ad53aee]{color:#6b7280}.error[data-v-6ad53aee]{color:#dc2626}.message[data-v-6ad53aee]{color:#059669}.card[data-v-6ad53aee]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:18px;box-shadow:0 12px 32px #0f172a14}.field[data-v-6ad53aee]{display:flex;flex-direction:column;gap:8px}.field label[data-v-6ad53aee]{font-weight:600;color:#1f2937}.input[data-v-6ad53aee]{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px}.row[data-v-6ad53aee]{display:flex;align-items:center;gap:12px}.row.row--full[data-v-6ad53aee]{align-items:flex-start}.row.row--full .input[data-v-6ad53aee]{flex:1 1 100%;width:100%}.row.row--full .hint[data-v-6ad53aee],.row.row--full .error[data-v-6ad53aee]{white-space:nowrap}.row.small-gap[data-v-6ad53aee]{gap:6px}.flex1[data-v-6ad53aee]{flex:1}.textarea[data-v-6ad53aee]{padding:12px;min-height:120px;border-radius:10px;border:1px solid #d1d5db;resize:vertical}.toolbar[data-v-6ad53aee]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.btn.sm[data-v-6ad53aee]{padding:6px 10px;font-size:13px}.select.sm[data-v-6ad53aee]{padding:6px 8px;font-size:13px}.color-wrap[data-v-6ad53aee]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#475569}.rich-editor[data-v-6ad53aee]{padding:12px;min-height:220px;border-radius:10px;border:1px solid #d1d5db;background:#fff;line-height:1.6}.rich-editor[data-v-6ad53aee]:empty:before{content:attr(placeholder);color:#94a3b8}.colors[data-v-6ad53aee]{display:inline-flex;gap:6px;align-items:center;margin-left:4px}.swatch[data-v-6ad53aee]{width:18px;height:18px;border-radius:4px;border:1px solid #e5e7eb;background:var(--c);cursor:pointer}.model-binding[data-v-6ad53aee]{display:flex;flex-direction:column;gap:12px}.binding-actions[data-v-6ad53aee]{display:flex;flex-wrap:wrap;gap:10px}.binding-box[data-v-6ad53aee]{border:1px dashed #94a3b8;border-radius:12px;padding:18px;background:#f8fafc;color:#475569;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,background-color .2s ease}.binding-box.dragover[data-v-6ad53aee]{border-color:#2563eb;background:#2563eb1a}.binding-title[data-v-6ad53aee]{margin:0;font-weight:600;color:#0f172a}.binding-info[data-v-6ad53aee]{margin:0;color:#1f2937;word-break:break-all}.binding-info a[data-v-6ad53aee]{color:#2563eb;word-break:break-all}.binding-box .btn[data-v-6ad53aee]{align-self:flex-start}.sr-only[data-v-6ad53aee]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hint[data-v-6ad53aee]{color:#6b7280;font-size:13px}.drawing-list[data-v-6ad53aee]{list-style:none;margin:12px 0;padding:0;max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:8px}.drawing-item[data-v-6ad53aee]{width:100%;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;text-align:left}.drawing-item[data-v-6ad53aee]:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb2e}.drawing-item__name[data-v-6ad53aee]{font-weight:600;color:#0f172a}.drawing-item__path[data-v-6ad53aee]{font-size:13px;color:#475569}.drawing-dialog .field[data-v-6ad53aee]{margin-bottom:10px}.btn[data-v-6ad53aee]{padding:8px 16px;border:none;border-radius:8px;background:#e5e7eb;color:#111827;cursor:pointer}.btn[data-v-6ad53aee]:disabled{opacity:.6;cursor:not-allowed}.btn.primary[data-v-6ad53aee]{background:#2563eb;color:#fff}.select[data-v-6ad53aee]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px}.logs[data-v-6ad53aee]{margin-top:8px}.logs h3[data-v-6ad53aee]{margin:0 0 8px;font-size:16px}.loglist[data-v-6ad53aee]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.logitem[data-v-6ad53aee]{display:flex;gap:10px;align-items:baseline;font-size:13px;color:#334155}.logitem .ts[data-v-6ad53aee]{color:#64748b;width:160px}.logitem .user[data-v-6ad53aee]{color:#0f172a;min-width:80px}.logitem .user-account[data-v-6ad53aee]{margin-left:4px;color:#64748b;font-size:12px}.visits[data-v-6ad53aee]{margin-top:8px}.visits h3[data-v-6ad53aee]{margin:0 0 8px;font-size:16px}.visitlist[data-v-6ad53aee]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.visititem[data-v-6ad53aee]{display:flex;gap:10px;align-items:baseline;font-size:13px;color:#334155}.visititem .ts[data-v-6ad53aee]{color:#64748b;width:160px}.visititem .ip[data-v-6ad53aee]{color:#0f172a;min-width:120px}.pager[data-v-6ad53aee]{display:flex;align-items:center;gap:12px;margin-top:8px}.pageinfo[data-v-6ad53aee]{color:#64748b;font-size:13px}.url a[data-v-6ad53aee]{color:#2563eb;word-break:break-all}.url[data-v-6ad53aee]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn.copy[data-v-6ad53aee]{background:#e5e7eb}.copy-tip[data-v-6ad53aee]{color:#059669;font-size:13px}.dialog-mask[data-v-6ad53aee]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-6ad53aee]{background:#fff;padding:16px 20px;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.dialog h3[data-v-6ad53aee]{margin:0 0 10px;font-size:18px}.dialog .field[data-v-6ad53aee]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.dialog__actions[data-v-6ad53aee]{display:flex;justify-content:flex-end;gap:10px}.btn.ghost[data-v-6ad53aee]{background:#fff;color:#111827;border:1px solid #cbd5e1}.page[data-v-d83cd712]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-d83cd712]{display:flex;align-items:center;justify-content:space-between;gap:16px}.page__header h2[data-v-d83cd712]{margin:0;font-size:22px;font-weight:600}.actions[data-v-d83cd712]{display:flex;gap:12px}.create[data-v-d83cd712]{display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs[data-v-d83cd712]{color:#64748b;font-size:13px}.crumb a[data-v-d83cd712]{color:#2563eb;text-decoration:none}.input[data-v-d83cd712]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;min-width:160px}.select[data-v-d83cd712]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.btn[data-v-d83cd712]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-d83cd712]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn[data-v-d83cd712]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-d83cd712]{color:#dc2626}.loading[data-v-d83cd712]{color:#6b7280}.project-list[data-v-d83cd712]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-item[data-v-d83cd712]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;cursor:pointer;transition:box-shadow .2s ease}.project-item[data-v-d83cd712]:hover{box-shadow:0 10px 24px #0f172a1f}.project-item__head[data-v-d83cd712]{display:flex;justify-content:space-between;align-items:center;gap:12px}.project-item__name[data-v-d83cd712]{font-size:18px;font-weight:600;margin-bottom:6px}.project-item__name .icon[data-v-d83cd712]{margin-right:6px}.project-item__actions[data-v-d83cd712]{display:flex;gap:8px;align-items:center}.project-item__move[data-v-d83cd712]{border:none;background:#e5e7eb;color:#111827;padding:4px 10px;border-radius:6px;cursor:pointer}.project-item__delete[data-v-d83cd712]{border:none;background:#ef4444;color:#fff;padding:4px 10px;border-radius:6px;cursor:pointer}.project-item__delete[data-v-d83cd712]:hover{background:#dc2626}.project-item__meta[data-v-d83cd712]{display:flex;gap:16px;color:#6b7280;font-size:13px}.empty[data-v-d83cd712]{padding:32px;text-align:center;color:#6b7280;border:1px dashed #d1d5db;border-radius:10px}.pager[data-v-d83cd712]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.pageinfo[data-v-d83cd712]{color:#64748b;font-size:13px}.dialog-mask[data-v-d83cd712]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-d83cd712]{background:#fff;padding:16px 20px;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.dialog h3[data-v-d83cd712]{margin:0 0 10px;font-size:18px}.dialog .field[data-v-d83cd712]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.dialog__actions[data-v-d83cd712]{display:flex;justify-content:flex-end;gap:10px}.page[data-v-01bcf77b]{display:flex;flex-direction:column;gap:16px;min-height:100vh;position:relative;padding-top:var(--drawing-detail-content-top, 0px);padding-bottom:var(--drawing-detail-bottom-padding, 32px)}.page__header[data-v-01bcf77b]{position:fixed;top:var(--drawing-detail-header-top, 0px);left:var(--drawing-detail-page-left, 0px);width:var(--drawing-detail-page-width, 100%);max-width:var(--drawing-detail-page-width, 100%);z-index:20;display:flex;align-items:center;justify-content:space-between;background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 16px;border-radius:10px;border:1px solid rgba(203,213,225,.7);box-shadow:0 12px 24px #0f172a14}.left[data-v-01bcf77b]{display:flex;align-items:center;gap:16px}.title-block[data-v-01bcf77b]{display:flex;flex-direction:column}.title[data-v-01bcf77b]{margin:0;font-size:22px;font-weight:600;color:#0f172a}.subtitle[data-v-01bcf77b]{font-size:13px;color:#64748b}.right[data-v-01bcf77b]{display:flex;align-items:center;gap:12px}.banner[data-v-01bcf77b]{padding:10px 14px;border-radius:10px;font-size:14px}.banner.success[data-v-01bcf77b]{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.banner.error[data-v-01bcf77b]{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.loading[data-v-01bcf77b]{padding:40px 0;text-align:center;color:#64748b}.main[data-v-01bcf77b]{display:flex;flex-direction:column;gap:24px;align-items:stretch;flex:1;min-height:0;position:relative}.side[data-v-01bcf77b]{width:100%;max-width:none;display:flex;flex-direction:column;gap:16px;box-sizing:border-box;padding-right:0;padding-bottom:24px;scrollbar-gutter:stable both-edges;min-width:0}.viewer[data-v-01bcf77b]{position:relative;min-height:var(--drawing-detail-viewer-placeholder-height, 0px)}.viewer__floating[data-v-01bcf77b]{position:static;display:flex;flex-direction:column;gap:16px;padding:16px;border:2px dashed #93c5fd;border-radius:18px;background:#3b82f60d;min-height:0;min-width:0;box-sizing:border-box;overflow:hidden}.viewer__header[data-v-01bcf77b]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.viewer__header-text[data-v-01bcf77b]{display:flex;flex-direction:column;gap:6px}.viewer__title[data-v-01bcf77b]{margin:0;font-size:20px;font-weight:600;color:#1e293b}.viewer__tip[data-v-01bcf77b]{margin:0;font-size:13px;color:#475569}.viewer__actions[data-v-01bcf77b]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.viewer__action-btn[data-v-01bcf77b]{border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.viewer__action-btn[data-v-01bcf77b]:hover{background:#bfdbfe59;box-shadow:0 6px 18px #3b82f62e}.viewer__action-btn[data-v-01bcf77b]:disabled{background:#f8fafc;color:#94a3b8;border-color:#e2e8f0;cursor:not-allowed;box-shadow:none}.viewer__plan-btn[data-v-01bcf77b]{font-weight:600}.plan-modal[data-v-01bcf77b]{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px}.plan-modal__backdrop[data-v-01bcf77b]{position:absolute;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.plan-modal__dialog[data-v-01bcf77b]{position:relative;display:flex;flex-direction:column;gap:16px;width:min(92vw,960px);max-height:min(90vh,720px);background:#fff;border-radius:20px;padding:24px;box-shadow:0 24px 48px #0f172a2e;border:1px solid rgba(203,213,225,.5);overflow:hidden;outline:none;z-index:1}.plan-modal__header[data-v-01bcf77b]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.plan-modal__actions[data-v-01bcf77b]{display:flex;align-items:center;gap:12px;align-self:flex-start}.plan-modal__title-block[data-v-01bcf77b]{display:flex;flex-direction:column;gap:4px}.plan-modal__title-block h3[data-v-01bcf77b]{margin:0;font-size:20px;font-weight:600;color:#0f172a}.plan-modal__warning[data-v-01bcf77b]{margin:0;font-size:12px;color:#f97316}.plan-modal__close[data-v-01bcf77b]{align-self:flex-start;padding:6px 16px}.plan-modal__export[data-v-01bcf77b]{padding:6px 16px}.plan-modal__tabs[data-v-01bcf77b]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.plan-modal__tab[data-v-01bcf77b]{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:6px 18px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.plan-modal__tab[data-v-01bcf77b]:hover{background:#dbeafe}.plan-modal__tab.is-active[data-v-01bcf77b]{background:#1d4ed8;color:#fff;border-color:#1d4ed8;box-shadow:0 8px 20px #3b82f640}.plan-modal__canvas[data-v-01bcf77b]{position:relative;flex:1;width:100%;min-height:min(420px,65dvh);height:clamp(240px,60dvh,560px);max-height:min(72dvh,640px);border:1px solid #e2e8f0;border-radius:16px;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center}.plan-modal__canvas canvas[data-v-01bcf77b],.plan-modal__canvas img[data-v-01bcf77b],.plan-modal__canvas svg[data-v-01bcf77b]{width:auto;height:auto;max-width:100%;max-height:100%;display:block;object-fit:contain}.plan-modal__empty[data-v-01bcf77b]{padding:24px;font-size:14px;color:#475569;text-align:center}.plan-modal__hint[data-v-01bcf77b]{margin:0;font-size:12px;color:#64748b;text-align:right}.viewer__frame[data-v-01bcf77b]{position:relative;flex:1;min-height:360px;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;box-shadow:inset 0 1px #fff9;overflow:hidden;display:flex}.viewer__canvas[data-v-01bcf77b]{position:relative;flex:1;width:100%;height:100%;min-height:100%}@media (min-width: 1081px){.main[data-v-01bcf77b]{flex-direction:row;align-items:flex-start}.side[data-v-01bcf77b],.viewer[data-v-01bcf77b]{flex:1 1 50%;width:50%}.side[data-v-01bcf77b]{padding-bottom:0}.viewer[data-v-01bcf77b]{min-height:var(--drawing-detail-viewer-placeholder-height, 0px)}.viewer__floating[data-v-01bcf77b]{position:fixed;top:var(--drawing-detail-viewer-top, 116px);left:var(--drawing-detail-viewer-left, var(--drawing-detail-page-left, 0px));width:var(--drawing-detail-viewer-width, 640px);max-width:min(100%,var(--drawing-detail-viewer-width, 640px));padding:20px;border:1px solid rgba(59,130,246,.35);background:#f8fafcf2;box-shadow:0 20px 45px #0f172a26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:15;max-height:calc(100dvh - var(--drawing-detail-viewer-top, 116px) - 24px);overflow:hidden}}.viewer__overlay[data-v-01bcf77b]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:#f8fafce0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#1e293b;text-align:center;z-index:3;pointer-events:none}.viewer__overlay--blocking[data-v-01bcf77b]{pointer-events:auto}.viewer__overlay--error[data-v-01bcf77b]{background:#fef2f2f0;color:#b91c1c}.viewer__overlay--notice[data-v-01bcf77b]{background:#3b82f62e;color:#1d4ed8}.viewer__overlay--placeholder[data-v-01bcf77b]{background:#94a3b838;color:#1e293b}.viewer__overlay-title[data-v-01bcf77b]{margin:0;font-size:16px;font-weight:600}.viewer__note[data-v-01bcf77b]{margin:0;font-size:13px;color:#64748b}.viewer__spinner[data-v-01bcf77b]{width:36px;height:36px;border-radius:50%;border:4px solid rgba(37,99,235,.25);border-top-color:#2563eb;animation:viewer-spin-01bcf77b 1s linear infinite}.viewer__help-overlay[data-v-01bcf77b]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a73;border-radius:18px;z-index:4}.viewer__help-card[data-v-01bcf77b]{background:#fff;color:#0f172a;padding:18px 22px;border-radius:14px;box-shadow:0 18px 38px #0f172a38;max-width:520px;width:100%}.viewer__help-card h3[data-v-01bcf77b]{margin:0 0 10px;font-size:18px}.viewer__help-card ul[data-v-01bcf77b]{margin:0 0 8px 20px;padding:0}.viewer__help-card li[data-v-01bcf77b]{line-height:1.7}@keyframes viewer-spin-01bcf77b{to{transform:rotate(360deg)}}.card[data-v-01bcf77b]{display:flex;flex-direction:column;gap:10px;padding:18px;background:#fff;border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 12px 30px #0f172a14;width:100%;box-sizing:border-box}.card--parameters[data-v-01bcf77b]{--form-label-width: 160px;padding-left:0}.card--parameters>.label[data-v-01bcf77b],.card--parameters>.hint[data-v-01bcf77b],.card--parameters>.error-text[data-v-01bcf77b]{padding:0 18px}.card--parameters .param-table[data-v-01bcf77b]{padding:0 18px}.label[data-v-01bcf77b]{font-weight:600;color:#0f172a}.input[data-v-01bcf77b],.select[data-v-01bcf77b]{width:100%;max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid #cbd5f5;background:#f8fafc;color:#1e293b;font-size:14px;box-sizing:border-box}.param-table[data-v-01bcf77b]{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.param-table__col--label[data-v-01bcf77b]{width:var(--form-label-width, 160px)}.param-table__col--field[data-v-01bcf77b]{width:auto}.param-table th[data-v-01bcf77b],.param-table td[data-v-01bcf77b]{padding:8px 0;text-align:left;vertical-align:middle}.param-table th[data-v-01bcf77b]{color:#475569;font-weight:600;padding-right:16px;white-space:nowrap}.param-table td[data-v-01bcf77b]{color:#1e293b}.param-table td .input[data-v-01bcf77b]{background:#fff}.drawing-settings[data-v-01bcf77b]{--form-label-width: 160px;display:flex;flex-direction:column;gap:12px}.drawing-settings__group[data-v-01bcf77b]{display:flex;flex-direction:column;gap:10px;padding:12px 18px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f1f5f9b3}.drawing-settings__group h4[data-v-01bcf77b]{margin:0;font-size:16px;font-weight:600;color:#1e293b}.drawing-settings__row[data-v-01bcf77b]{display:grid;grid-template-columns:minmax(var(--form-label-width, 160px),max-content) minmax(0,1fr);align-items:center;column-gap:12px}.drawing-settings__row span[data-v-01bcf77b]{justify-self:start;text-align:left;color:#475569;font-weight:600;white-space:nowrap}.drawing-settings__row .input[data-v-01bcf77b]{flex:1;background:#fff}.color-picker .color-input[data-v-01bcf77b]{flex:0 0 auto}.drawing-settings__row.color-row[data-v-01bcf77b]{align-items:flex-start}.drawing-settings__group .hint[data-v-01bcf77b]{margin:0;font-size:12px;color:#64748b;line-height:1.3}.param-extensions[data-v-01bcf77b]{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:0 18px 12px}.param-extensions__group[data-v-01bcf77b]{display:flex;flex-direction:column;gap:8px;padding:12px 18px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:#f1f5f9b3}.param-extensions__group .hint[data-v-01bcf77b]{margin:0;line-height:1.3}.param-extensions__group .hint+.hint[data-v-01bcf77b]{margin-top:4px}.param-extensions__row[data-v-01bcf77b]{display:grid;grid-template-columns:minmax(var(--form-label-width, 160px),max-content) minmax(0,1fr);align-items:center;column-gap:12px}.param-extensions__row span[data-v-01bcf77b]{justify-self:start;text-align:left;color:#475569;font-weight:600;white-space:nowrap}.param-extensions__row .input[data-v-01bcf77b]{background:#fff}.param-extensions__row.color-row[data-v-01bcf77b]{align-items:flex-start}.color-picker[data-v-01bcf77b]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.color-palette[data-v-01bcf77b]{display:flex;gap:6px;flex-wrap:wrap;max-width:220px;justify-content:flex-start}.color-swatch[data-v-01bcf77b]{width:20px;height:20px;border-radius:9999px;border:1px solid rgba(148,163,184,.4);background:transparent;cursor:pointer;padding:0;transition:transform .15s ease,box-shadow .15s ease}.color-swatch[data-v-01bcf77b]:focus,.color-swatch[data-v-01bcf77b]:hover{transform:scale(1.05);box-shadow:0 0 0 2px #2563eb33}.color-swatch[data-v-01bcf77b]:active{transform:scale(.95)}.color-input[data-v-01bcf77b]{padding:0;width:48px;height:24px;border-radius:10px;border:1px solid rgba(148,163,184,.4);overflow:hidden}.color-input[data-v-01bcf77b]::-webkit-color-swatch-wrapper{padding:0;border-radius:10px}.color-input[data-v-01bcf77b]::-webkit-color-swatch{border:none;border-radius:10px}.color-input[data-v-01bcf77b]::-moz-color-swatch{border:none;border-radius:10px}.hint[data-v-01bcf77b]{font-size:13px;color:#64748b}.hint.notice[data-v-01bcf77b]{color:#0284c7;font-weight:500}.error-text[data-v-01bcf77b]{font-size:13px;color:#dc2626}.btn[data-v-01bcf77b]{padding:8px 16px;border:none;border-radius:10px;cursor:pointer;font-size:14px;transition:transform .15s ease,box-shadow .15s ease}.btn[data-v-01bcf77b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #0f172a1f}.btn[data-v-01bcf77b]:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.btn.primary[data-v-01bcf77b]{background:linear-gradient(135deg,#2563eb,#38bdf8);color:#fff}.btn.model-action[data-v-01bcf77b]{background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff}.btn.ghost[data-v-01bcf77b]{background:#fff;color:#1f2937;border:1px solid rgba(148,163,184,.6)}@media (max-width: 720px){.card--parameters[data-v-01bcf77b],.drawing-settings[data-v-01bcf77b]{--form-label-width: 130px}}@media (max-width: 1080px){.main[data-v-01bcf77b]{padding-right:0}.viewer[data-v-01bcf77b]{min-height:auto}.viewer__floating[data-v-01bcf77b]{position:static;top:auto;right:auto;align-self:stretch;width:100%;max-height:none;padding:16px;border:2px dashed #93c5fd;background:#3b82f60d;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto}.viewer__frame[data-v-01bcf77b],.viewer__canvas[data-v-01bcf77b]{min-height:400px}.page__header[data-v-01bcf77b]{flex-direction:column;gap:12px;align-items:stretch}.left[data-v-01bcf77b]{justify-content:space-between}}.page[data-v-f3637dbe]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-f3637dbe]{display:flex;align-items:center;justify-content:space-between;gap:16px}.page__header h2[data-v-f3637dbe]{margin:0;font-size:22px;font-weight:600}.actions[data-v-f3637dbe]{display:flex;gap:12px}.create[data-v-f3637dbe]{display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs[data-v-f3637dbe]{color:#64748b;font-size:13px;display:flex;align-items:center;flex-wrap:wrap}.breadcrumbs .sep[data-v-f3637dbe]{margin:0 4px}.crumb a[data-v-f3637dbe]{color:#2563eb;text-decoration:none}.input[data-v-f3637dbe]{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;min-width:160px}.select[data-v-f3637dbe]{padding:8px 12px;border-radius:8px;border:1px solid #d1d5db}.btn[data-v-f3637dbe]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-f3637dbe]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn[data-v-f3637dbe]:disabled{opacity:.6;cursor:not-allowed}.error[data-v-f3637dbe]{color:#dc2626}.loading[data-v-f3637dbe]{color:#6b7280}.list[data-v-f3637dbe]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.item[data-v-f3637dbe]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;cursor:pointer;transition:box-shadow .2s ease}.item[data-v-f3637dbe]:hover{box-shadow:0 10px 24px #0f172a1f}.item__head[data-v-f3637dbe]{display:flex;justify-content:space-between;align-items:center;gap:12px}.item__name[data-v-f3637dbe]{font-size:18px;font-weight:600;margin-bottom:6px}.item__name .icon[data-v-f3637dbe]{margin-right:6px}.item__actions[data-v-f3637dbe]{display:flex;gap:8px;align-items:center}.item__move[data-v-f3637dbe]{border:none;background:#e5e7eb;color:#111827;padding:4px 10px;border-radius:6px;cursor:pointer}.item__delete[data-v-f3637dbe]{border:none;background:#ef4444;color:#fff;padding:4px 10px;border-radius:6px;cursor:pointer}.item__delete[data-v-f3637dbe]:hover{background:#dc2626}.item__meta[data-v-f3637dbe]{display:flex;gap:16px;color:#6b7280;font-size:13px}.empty[data-v-f3637dbe]{padding:32px;text-align:center;color:#6b7280;border:1px dashed #d1d5db;border-radius:10px}.pager[data-v-f3637dbe]{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}.pageinfo[data-v-f3637dbe]{color:#64748b;font-size:13px}.dialog-mask[data-v-f3637dbe]{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog[data-v-f3637dbe]{background:#fff;padding:16px 20px;border-radius:12px;min-width:320px;box-shadow:0 10px 30px #0003}.dialog h3[data-v-f3637dbe]{margin:0 0 10px;font-size:18px}.dialog .field[data-v-f3637dbe]{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.dialog__actions[data-v-f3637dbe]{display:flex;justify-content:flex-end;gap:10px}.page[data-v-0e0fd039]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-0e0fd039]{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:2px 12px;margin-bottom:8px;border-radius:10px;border:1px solid rgba(203,213,225,.8);box-shadow:0 4px 12px #0f172a14}.left[data-v-0e0fd039]{display:flex;align-items:center;gap:10px}.left h2[data-v-0e0fd039]{margin:0;font-size:20px}.right[data-v-0e0fd039]{display:flex;align-items:center;gap:8px}.btn[data-v-0e0fd039]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-0e0fd039]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn.small[data-v-0e0fd039]{padding:6px 10px}.btn.danger[data-v-0e0fd039]{background:#ef4444}.error[data-v-0e0fd039]{color:#dc2626}.ok[data-v-0e0fd039]{color:#059669}.block[data-v-0e0fd039]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px}.block h3[data-v-0e0fd039]{margin:0 0 12px;font-size:18px}.table[data-v-0e0fd039]{width:100%;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.grid-3 .row[data-v-0e0fd039],.grid-6 .row[data-v-0e0fd039],.grid-8 .row[data-v-0e0fd039],.grid-10 .row[data-v-0e0fd039]{display:grid}.grid-3 .row[data-v-0e0fd039]{grid-template-columns:160px 1fr 1fr}.table.grid-3tight[data-v-0e0fd039]{display:grid;grid-template-columns:max-content max-content 1fr;column-gap:12px;justify-content:start;align-content:start}.grid-3tight .cell.span2 .input[data-v-0e0fd039]{width:100%}.grid-3tight .row[data-v-0e0fd039]{display:contents}.grid-3tight .row.headrow .cell[data-v-0e0fd039]{background:transparent;font-weight:700;border-bottom:1px solid #e5e7eb}.grid-3tight .cell[data-v-0e0fd039]{padding:6px 8px}.grid-6 .row[data-v-0e0fd039]{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr}.table.grid-8[data-v-0e0fd039]{display:grid;grid-template-columns:1.2fr 1.6fr 1fr 1fr 1fr 1fr 1fr 1fr}.grid-8 .row[data-v-0e0fd039]{display:contents}.table.grid-8 .cell[data-v-0e0fd039]{min-width:0}.table.grid-8 .cell input[data-v-0e0fd039]{max-width:100%}.table.grid-8 .row[data-v-0e0fd039]{border-bottom:0}.table.grid-8 .cell[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.table.grid-9[data-v-0e0fd039]{display:grid;grid-template-columns:max-content max-content minmax(320px,1fr) minmax(160px,1fr) max-content max-content max-content}.grid-9 .row[data-v-0e0fd039]{display:contents}.table.grid-9 .cell[data-v-0e0fd039]{min-width:0;border-bottom:1px solid #e5e7eb}.table.grid-9 .cell input[data-v-0e0fd039]{max-width:100%}.table.grid-4[data-v-0e0fd039]{display:grid;grid-template-columns:max-content minmax(160px,1fr) max-content max-content;column-gap:0px}.grid-4 .row[data-v-0e0fd039]{display:contents}.table.grid-4 .cell[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.table.grid-5[data-v-0e0fd039]{display:grid;grid-template-columns:repeat(5,max-content)}.grid-5 .row[data-v-0e0fd039]{display:contents}.table.grid-5 .row[data-v-0e0fd039]{border-bottom:0}.table.grid-5 .cell[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.table.grid-2[data-v-0e0fd039]{display:grid;grid-template-columns:max-content minmax(140px,max-content);column-gap:16px}.grid-2 .row[data-v-0e0fd039]{display:contents}.table.grid-2 .cell[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.table.grid-10[data-v-0e0fd039]{display:grid;grid-template-columns:max-content max-content max-content max-content max-content max-content minmax(200px,1fr) max-content max-content max-content}.grid-10 .row[data-v-0e0fd039]{display:contents}.table.grid-10 .row[data-v-0e0fd039]{border-bottom:0}.table.grid-10 .cell[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.table.grid-10 .cell.free[data-v-0e0fd039],.table.grid-9 .cell.free[data-v-0e0fd039]{grid-column:1 / -1;display:flex;gap:8px;align-items:center}.table.grid-10 .cell.free .input.note[data-v-0e0fd039],.table.grid-9 .cell.free .input.note[data-v-0e0fd039]{flex:1 1 240px;width:auto;min-width:160px;max-width:100%}.row[data-v-0e0fd039]{border-bottom:1px solid #e5e7eb}.row[data-v-0e0fd039]:last-child{border-bottom:none}.cell[data-v-0e0fd039]{padding:8px 10px;display:flex;align-items:center;gap:8px}.cell.head[data-v-0e0fd039]{background:#f8fafc;font-weight:600}.headrow .cell[data-v-0e0fd039]{background:#f1f5f9;font-weight:700}.input[data-v-0e0fd039],.select[data-v-0e0fd039]{padding:6px 8px;border:1px solid #d1d5db;border-radius:8px}.input[data-v-0e0fd039]:disabled,.select[data-v-0e0fd039]:disabled,.combo .input[data-v-0e0fd039]:disabled{background:#e2e8f0;color:#475569;border-color:#94a3b8}.table.grid-5 .input.small[data-v-0e0fd039],.table.grid-5 .combo .input[data-v-0e0fd039]{width:8ch}.table.grid-5 .rope-type-name[data-v-0e0fd039]{width:14ch}.rope-loss-cell[data-v-0e0fd039]{gap:6px}.rope-loss-cell .btn[data-v-0e0fd039]{white-space:nowrap}.input.tiny[data-v-0e0fd039]{width:8ch}.table.grid-10 .input.loss-input[data-v-0e0fd039],.table.grid-5 .input.loss-input[data-v-0e0fd039],.input.loss-input[data-v-0e0fd039]{width:4ch;min-width:0}.combo[data-v-0e0fd039]{position:relative;display:inline-flex;align-items:center}.combo .input[data-v-0e0fd039]{padding-right:22px}.combo .input.spec-input[data-v-0e0fd039]{width:12ch}.combo__arrow[data-v-0e0fd039]{position:absolute;right:6px;pointer-events:none;font-size:12px;color:transparent}.combo__arrow[data-v-0e0fd039]:after{content:"⌄";color:#64748b}.combo__select[data-v-0e0fd039]{position:absolute;right:0;top:0;bottom:0;width:22px;opacity:0;cursor:pointer}.muted[data-v-0e0fd039]{color:#64748b}.label[data-v-0e0fd039]{color:#64748b;font-size:12px}.field[data-v-0e0fd039]{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.chip[data-v-0e0fd039]{position:relative;display:inline-flex;align-items:center;border:1px solid #d1d5db;border-radius:8px;padding:2px 8px;cursor:pointer;color:#334155;background:#fff;-webkit-user-select:none;user-select:none}.chip input[data-v-0e0fd039]{position:absolute;opacity:0;width:0;height:0}.chip.on[data-v-0e0fd039]{background:#93c5fd99;border-color:#93c5fdcc;color:#0f172a}.name-cell[data-v-0e0fd039]{line-height:1.2}.center[data-v-0e0fd039]{justify-content:center}.actions[data-v-0e0fd039]{margin-top:10px;display:flex;align-items:center;gap:12px}.total[data-v-0e0fd039]{margin-left:auto;font-weight:600}.total.big[data-v-0e0fd039]{font-size:16px}.labor-table .labor-name[data-v-0e0fd039]{flex-direction:column;align-items:stretch;gap:6px}.labor-table .labor-name .input[data-v-0e0fd039]{width:100%}.labor-table .labor-name .note[data-v-0e0fd039]{font-size:13px;color:#475569}.labor-table .placeholder[data-v-0e0fd039]{color:#94a3b8;justify-content:center}.labor-table .price-cell[data-v-0e0fd039]{justify-content:flex-end;gap:8px}.labor-table .price-cell .input[data-v-0e0fd039]{width:8ch}.labor-table .price-cell .btn[data-v-0e0fd039]{white-space:nowrap}.tax-summary-block[data-v-0e0fd039]{align-self:flex-end;width:max-content;width:fit-content;max-width:100%}.tax-table[data-v-0e0fd039]{margin-left:auto;width:max-content;max-width:100%}.tax-table .cell[data-v-0e0fd039]{justify-content:flex-end;text-align:right}.tax-table .input[data-v-0e0fd039]{text-align:right}.tax-table .grand-row .cell[data-v-0e0fd039]{background:#fef3c7;font-weight:700}.opts[data-v-0e0fd039]{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:max-content;gap:4px 10px;align-items:start;justify-items:start}.opts .chip[data-v-0e0fd039]{font-size:12px;padding:0 8px;line-height:1.4}.weights-list[data-v-0e0fd039]{line-height:1.35;font-size:inherit;color:#111827;white-space:normal}.weights-label[data-v-0e0fd039]{color:#475569;margin-right:4px}.v-manual[data-v-0e0fd039]{color:#111827}.v-default[data-v-0e0fd039]{color:#6b7280}.v-auto[data-v-0e0fd039]{color:#2563eb}.v-calc[data-v-0e0fd039]{color:#16a34a}.calc[data-v-0e0fd039]{margin-top:10px;color:#334155;background:#f8fafc;padding:10px;border-radius:8px}@media (max-width: 1100px){.grid-10 .row[data-v-0e0fd039]{grid-template-columns:repeat(5,1fr)}}@media (max-width: 960px){.grid-8 .row[data-v-0e0fd039]{grid-template-columns:repeat(4,1fr)}.grid-6 .row[data-v-0e0fd039]{grid-template-columns:repeat(3,1fr)}.grid-3 .row[data-v-0e0fd039]{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.input.small[data-v-0e0fd039],.input.tiny[data-v-0e0fd039]{width:100%}}.span2[data-v-0e0fd039]{grid-column:span 2}.param-cell[data-v-0e0fd039]{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.page[data-v-8e09a767]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-8e09a767]{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 14px;margin-bottom:8px;border-radius:10px;border:1px solid rgba(203,213,225,.8);box-shadow:0 4px 12px #0f172a14}.page__header>h1[data-v-8e09a767],.page__header>h2[data-v-8e09a767],.page__header>h3[data-v-8e09a767],.page__header>p[data-v-8e09a767]{margin:1px}.actions[data-v-8e09a767]{display:flex;gap:8px}.btn[data-v-8e09a767]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-8e09a767]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn.danger[data-v-8e09a767]{background:#ef4444}.error[data-v-8e09a767]{color:#dc2626}.ok[data-v-8e09a767]{color:#059669}.table[data-v-8e09a767]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.thead[data-v-8e09a767],.row[data-v-8e09a767]{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:0;align-items:center}.th[data-v-8e09a767],.td[data-v-8e09a767]{padding:6px 8px;border-bottom:1px solid #e5e7eb}.thead>.th[data-v-8e09a767]:not(:last-child),.row>.td[data-v-8e09a767]:not(:last-child){border-right:1px solid #e5e7eb}.row:last-of-type>.td[data-v-8e09a767]{border-bottom:1px solid #e5e7eb}.thead[data-v-8e09a767]{background:#f8fafc;font-weight:600}.row[data-v-8e09a767]:nth-child(2n){background:#fafafa}.td input[data-v-8e09a767]{padding:6px 8px;border:1px solid #d1d5db;border-radius:8px}.td .mini[data-v-8e09a767]{width:12ch}.td.spec[data-v-8e09a767]{display:flex;align-items:center;gap:6px}.td.spec .x[data-v-8e09a767]{color:#64748b}.td.price[data-v-8e09a767]{display:flex;align-items:center;gap:10px}.td.price .delete[data-v-8e09a767]{margin-left:auto}.table .btn[data-v-8e09a767]{padding:4px 8px;font-size:12px;white-space:nowrap}.tfoot[data-v-8e09a767]{padding:10px 12px;border-top:1px solid #e5e7eb}.page[data-v-bc6c5445]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-bc6c5445]{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:8px 14px;margin-bottom:8px;border-radius:10px;border:1px solid rgba(203,213,225,.8);box-shadow:0 4px 12px #0f172a14}.page__header>h1[data-v-bc6c5445],.page__header>h2[data-v-bc6c5445],.page__header>h3[data-v-bc6c5445],.page__header>p[data-v-bc6c5445]{margin:1px}.actions[data-v-bc6c5445]{display:flex;gap:8px}.btn[data-v-bc6c5445]{padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer}.btn.ghost[data-v-bc6c5445]{background:#fff;color:#111827;border:1px solid #cbd5e1}.btn.danger[data-v-bc6c5445]{background:#ef4444}.error[data-v-bc6c5445]{color:#dc2626}.ok[data-v-bc6c5445]{color:#059669}.table[data-v-bc6c5445]{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.thead[data-v-bc6c5445],.row[data-v-bc6c5445]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;align-items:center}.th[data-v-bc6c5445],.td[data-v-bc6c5445]{padding:6px 8px;border-bottom:1px solid #e5e7eb}.thead>.th[data-v-bc6c5445]:not(:last-child),.row>.td[data-v-bc6c5445]:not(:last-child){border-right:1px solid #e5e7eb}.row:last-of-type>.td[data-v-bc6c5445]{border-bottom:1px solid #e5e7eb}.thead[data-v-bc6c5445]{background:#f8fafc;font-weight:600}.row[data-v-bc6c5445]:nth-child(2n){background:#fafafa}.td input[data-v-bc6c5445]{padding:6px 8px;border:1px solid #d1d5db;border-radius:8px}.td .mini[data-v-bc6c5445]{width:12ch}.td.price[data-v-bc6c5445]{display:flex;align-items:center;gap:10px}.td.price .delete[data-v-bc6c5445]{margin-left:auto}.table .btn[data-v-bc6c5445]{padding:4px 8px;font-size:12px;white-space:nowrap}.tfoot[data-v-bc6c5445]{padding:10px 12px;border-top:1px solid #e5e7eb}.page[data-v-191cfda8]{max-width:960px;margin:0 auto;padding:48px 20px;font-family:Segoe UI,system-ui,sans-serif}.hero[data-v-191cfda8]{text-align:center;margin-bottom:32px}.hero h1[data-v-191cfda8]{font-size:32px;margin-bottom:8px}.meta[data-v-191cfda8]{color:#6b7280}.info[data-v-191cfda8]{text-align:center;color:#6b7280}.error[data-v-191cfda8]{text-align:center;color:#dc2626}.content[data-v-191cfda8]{display:flex;flex-direction:column;gap:24px}.text[data-v-191cfda8]{font-size:16px;line-height:1.7;color:#1f2937;white-space:pre-wrap}.viewer[data-v-191cfda8]{position:relative;border-radius:18px;border:1px solid #dbeafe;background:#3b82f60d;padding:18px;box-shadow:0 12px 30px #3b82f614;display:flex;flex-direction:column;gap:16px}.viewer__header[data-v-191cfda8]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.viewer__header-text[data-v-191cfda8]{display:flex;flex-direction:column;gap:6px}.viewer__title[data-v-191cfda8]{margin:0;font-size:20px;font-weight:600;color:#0f172a}.viewer__tip[data-v-191cfda8]{margin:0;font-size:13px;color:#475569}.viewer__actions[data-v-191cfda8]{display:flex;align-items:center;gap:8px}.viewer__action-btn[data-v-191cfda8]{padding:8px 14px;border-radius:8px;border:1px solid #bfdbfe;background:#fff;color:#1d4ed8;font-size:13px;cursor:pointer;transition:all .2s ease}.viewer__action-btn[data-v-191cfda8]:hover{background:#1d4ed8;color:#fff}.viewer__frame[data-v-191cfda8]{position:relative;border-radius:14px;background:#f8fafc;overflow:hidden;min-height:520px}.viewer__canvas[data-v-191cfda8]{position:relative;width:100%;height:520px}.viewer__canvas canvas[data-v-191cfda8]{display:block;width:100%!important;height:100%!important}.viewer__overlay[data-v-191cfda8]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;z-index:2}.viewer__overlay--placeholder[data-v-191cfda8]{background:#f8fafcf5;border:1px dashed #bfdbfe;color:#475569}.viewer__overlay--loading[data-v-191cfda8]{background:#ffffffd1}.viewer__overlay-title[data-v-191cfda8]{margin:0;font-size:16px;color:#0f172a}.viewer__note[data-v-191cfda8]{margin:0;font-size:13px;color:#64748b}.viewer__spinner[data-v-191cfda8]{width:30px;height:30px;border-radius:50%;border:3px solid #cbd5e1;border-top-color:#1d4ed8;animation:viewer-spin-191cfda8 1s linear infinite}.viewer__help-overlay[data-v-191cfda8]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a66;z-index:3;padding:16px}.viewer__help-card[data-v-191cfda8]{background:#fff;color:#0f172a;padding:18px 22px;border-radius:14px;box-shadow:0 18px 40px #0f172a26;max-width:520px}.viewer__help-card h3[data-v-191cfda8]{margin:0 0 10px;font-size:18px}.viewer__help-card ul[data-v-191cfda8]{margin:0 0 8px 18px;padding:0}.viewer__help-card li[data-v-191cfda8]{line-height:1.7}.viewer__help-card .viewer__note[data-v-191cfda8]{font-size:12px}.wm-global[data-v-191cfda8]{pointer-events:none;position:fixed;inset:0;background-repeat:repeat;z-index:1}@keyframes viewer-spin-191cfda8{to{transform:rotate(360deg)}}.password-guard[data-v-191cfda8]{max-width:420px;margin:120px auto;padding:32px 28px;border-radius:18px;border:1px solid #e5e7eb;background:#fffffff5;box-shadow:0 18px 40px #0f172a1f;text-align:center}.password-guard h2[data-v-191cfda8]{margin:0 0 12px;font-size:24px;color:#111827}.password-guard .guard-tip[data-v-191cfda8]{margin:0;font-size:14px;color:#6b7280}.password-guard .guard-form[data-v-191cfda8]{margin-top:18px;display:flex;gap:12px;align-items:center}.password-guard .guard-input[data-v-191cfda8]{flex:1;min-width:0;padding:12px;font-size:16px;border:1px solid #cbd5e1;border-radius:10px;text-align:center;letter-spacing:2px}.password-guard .guard-btn[data-v-191cfda8]{padding:12px 20px;border:none;border-radius:10px;background:#2563eb;color:#fff;font-size:15px;cursor:pointer;transition:background-color .2s ease}.password-guard .guard-btn[data-v-191cfda8]:hover:not(:disabled){background:#1d4ed8}.password-guard .guard-btn[data-v-191cfda8]:disabled{opacity:.65;cursor:not-allowed}.password-guard .info[data-v-191cfda8],.password-guard .error[data-v-191cfda8]{margin-top:12px}@media (max-width: 520px){.password-guard[data-v-191cfda8]{margin:80px 12px;padding:28px 22px}.password-guard .guard-form[data-v-191cfda8]{flex-direction:column}.password-guard .guard-btn[data-v-191cfda8]{width:100%}}.debug-dock[data-v-ced2ebe5]{margin-top:14px;background:#02061747;border:1px solid rgba(51,65,85,.5);border-radius:10px}.debug-dock__header[data-v-ced2ebe5]{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1e293b80;border-bottom:1px solid rgba(71,85,105,.5)}.title[data-v-ced2ebe5]{font-size:13px;font-weight:600;cursor:pointer}.spacer[data-v-ced2ebe5]{flex:1}.switch[data-v-ced2ebe5]{display:inline-flex;gap:6px;align-items:center;font-size:12px}.btn.ghost[data-v-ced2ebe5]{background:transparent;color:#e5e7eb;border:1px solid rgba(148,163,184,.4);padding:4px 8px;border-radius:6px;cursor:pointer}.btn.ghost[data-v-ced2ebe5]:disabled{opacity:.5;cursor:default}.debug-dock__body[data-v-ced2ebe5]{max-height:240px;overflow:hidden;display:flex;flex-direction:column}.debug-dock__body.disabled[data-v-ced2ebe5]{opacity:.6}.toolbar[data-v-ced2ebe5]{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:12px}.toolbar select[data-v-ced2ebe5]{background:#0f172a;color:#e5e7eb;border:1px solid rgba(148,163,184,.4);border-radius:6px;padding:2px 6px}.toolbar .hint[data-v-ced2ebe5]{margin-left:auto;color:#94a3b8e6}.list[data-v-ced2ebe5]{overflow:auto;max-height:200px}.row[data-v-ced2ebe5]{display:grid;grid-template-columns:62px 44px 1fr;gap:6px;padding:6px 8px;border-top:1px solid rgba(71,85,105,.35)}.row .time[data-v-ced2ebe5]{color:#93c5fd;font-size:12px}.row .level[data-v-ced2ebe5]{font-size:12px;text-transform:uppercase}.row .text[data-v-ced2ebe5]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row.lv-info .level[data-v-ced2ebe5]{color:#93c5fd}.row.lv-warn .level[data-v-ced2ebe5]{color:#fbbf24}.row.lv-error .level[data-v-ced2ebe5]{color:#fca5a5}.empty[data-v-ced2ebe5]{padding:12px;text-align:center;color:#94a3b8e6;font-size:12px}.copy-tip[data-v-ced2ebe5]{color:#93c5fd;font-size:12px}.dev-off[data-v-ced2ebe5]{display:none}.page[data-v-86f0aee8]{display:flex;flex-direction:column;gap:16px}.page__header[data-v-86f0aee8]{display:flex;align-items:center;justify-content:space-between}.block[data-v-86f0aee8]{background:#111827;border:1px solid #334155;border-radius:10px;padding:12px;color:#e5e7eb}.hint[data-v-86f0aee8]{color:#64748b}.message-input[data-v-2ec702b2]{position:relative;border:1px solid rgba(99,102,241,.25);border-radius:18px;background:#f8fafce6;box-shadow:inset 0 1px #fff3;transition:border-color .2s ease,box-shadow .2s ease;overflow:visible}.message-input__image-input[data-v-2ec702b2]{display:none}.message-input[data-v-2ec702b2]:focus-within{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.message-input--disabled[data-v-2ec702b2]{opacity:.6;pointer-events:none}.message-input__toolbar[data-v-2ec702b2]{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px 8px;border-bottom:1px solid rgba(148,163,184,.2);background:linear-gradient(135deg,#ffffffd9,#f8fafce6);border-top-left-radius:18px;border-top-right-radius:18px}.message-input__tool[data-v-2ec702b2]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border-radius:999px;border:none;background:#6366f11f;color:#312e81;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.message-input__tool--image[data-v-2ec702b2]{gap:4px}.message-input__tool[data-v-2ec702b2]:hover{transform:translateY(-1px);box-shadow:0 6px 16px #4f46e533;background:#6366f12e}.message-input__tool-text[data-v-2ec702b2]{font-size:14px;line-height:1}.message-input__tool-text--bold[data-v-2ec702b2]{font-weight:700}.message-input__tool-text--italic[data-v-2ec702b2]{font-style:italic}.message-input__tool-text--underline[data-v-2ec702b2]{text-decoration:underline;text-decoration-thickness:2px}.message-input__tool-label[data-v-2ec702b2]{font-size:13px}.message-input__tool-swatch[data-v-2ec702b2]{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 10px #0f172a26}.message-input__tool-emoji[data-v-2ec702b2]{font-size:16px}.message-input__dropdown[data-v-2ec702b2]{position:relative}.message-input__popover[data-v-2ec702b2]{position:absolute;top:calc(100% + 10px);left:0;min-width:220px;padding:14px;border-radius:16px;background:#fff;box-shadow:0 22px 44px #0f172a2e;border:1px solid rgba(99,102,241,.2);z-index:30;display:flex;flex-direction:column;gap:12px}.message-input__section[data-v-2ec702b2]{display:flex;flex-direction:column;gap:10px}.message-input__section-title[data-v-2ec702b2]{font-size:12px;font-weight:600;color:#6366f1;letter-spacing:.02em}.message-input__swatches[data-v-2ec702b2]{display:flex;gap:10px;flex-wrap:wrap}.message-input__swatch[data-v-2ec702b2]{width:26px;height:26px;border-radius:50%;border:none;background:var(--swatch-color);box-shadow:0 4px 12px #0f172a2e;cursor:pointer}.message-input__swatch[data-v-2ec702b2]:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.message-input__custom-color[data-v-2ec702b2],.message-input__custom-size[data-v-2ec702b2]{display:flex;align-items:center;gap:10px;font-size:13px;color:#475569}.message-input__custom-color input[data-v-2ec702b2],.message-input__custom-size input[data-v-2ec702b2]{border:1px solid rgba(148,163,184,.5);border-radius:10px;padding:6px 8px;font-size:13px}.message-input__custom-color button[data-v-2ec702b2],.message-input__custom-size button[data-v-2ec702b2]{padding:6px 12px;border-radius:999px;border:none;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;font-size:12px;cursor:pointer}.message-input__sizes[data-v-2ec702b2]{display:flex;flex-wrap:wrap;gap:8px}.message-input__sizes button[data-v-2ec702b2]{border:none;border-radius:999px;padding:6px 12px;background:#6366f11f;color:#312e81;font-size:12px;cursor:pointer}.message-input__emoji-grid[data-v-2ec702b2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;max-height:260px;overflow-y:auto;padding:10px}.message-input__popover--emoji[data-v-2ec702b2]{min-width:340px;max-width:420px}.message-input__emoji-grid button[data-v-2ec702b2]{border:none;border-radius:12px;padding:6px 0;min-height:38px;font-size:20px;line-height:1;cursor:pointer;background:#f8fafce6;box-shadow:inset 0 1px #fff9;display:flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease}.message-input__emoji-grid button[data-v-2ec702b2]:hover{transform:translateY(-1px);box-shadow:0 10px 18px #6366f12e}@media (max-width: 480px){.message-input__popover--emoji[data-v-2ec702b2]{min-width:280px;max-width:320px}.message-input__emoji-grid[data-v-2ec702b2]{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}}.message-input__editor[data-v-2ec702b2]{position:relative;padding:4px 0 0}.message-input__textarea[data-v-2ec702b2]{width:100%;min-height:140px;resize:none;border:none;background:transparent;padding:14px 16px 18px;font-size:14px;line-height:1.6;color:#1f2937;font-family:inherit;outline:none}.message-input__textarea[data-v-2ec702b2]::placeholder{color:#9ca3af}.message-input__suggestions[data-v-2ec702b2]{position:absolute;right:12px;bottom:calc(100% + 8px);list-style:none;margin:0;padding:8px 0;min-width:180px;border-radius:14px;background:#fff;box-shadow:0 20px 40px #0f172a2e;border:1px solid rgba(99,102,241,.2);overflow:hidden;z-index:20}.message-input__suggestion[data-v-2ec702b2]{padding:8px 16px;cursor:pointer;font-size:13px;color:#4c1d95;transition:background .2s ease,color .2s ease}.message-input__suggestion--active[data-v-2ec702b2],.message-input__suggestion[data-v-2ec702b2]:hover{background:#6366f11f;color:#312e81}.message-input__mention[data-v-2ec702b2]{font-weight:600}.message-input__attachments[data-v-2ec702b2]{padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px;border-top:1px solid rgba(148,163,184,.2);background:#f8fafcf2;border-bottom-left-radius:18px;border-bottom-right-radius:18px}.message-input__attachments-header[data-v-2ec702b2]{font-size:12px;color:#475569;display:flex;justify-content:space-between;align-items:center}.message-input__attachments-list[data-v-2ec702b2]{display:flex;flex-direction:column;gap:10px}.message-input__attachment[data-v-2ec702b2]{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px dashed rgba(99,102,241,.35);border-radius:14px;background:#ffffffd9;transition:border-color .2s ease,background .2s ease}.message-input__attachment--loading[data-v-2ec702b2]{border-style:solid;border-color:#6366f173}.message-input__attachment--error[data-v-2ec702b2]{border-color:#ef444466;background:#fee2e2b3}.message-input__attachment-preview[data-v-2ec702b2]{width:56px;height:56px;border-radius:12px;background:#e2e8f0cc;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.message-input__attachment-preview img[data-v-2ec702b2]{width:100%;height:100%;object-fit:cover}.message-input__attachment-placeholder[data-v-2ec702b2]{font-size:22px;color:#64748b}.message-input__attachment-spinner[data-v-2ec702b2]{width:40px;height:40px;border-radius:50%;border:3px solid rgba(148,163,184,.3);border-top-color:#6366f1;animation:message-input-spin-2ec702b2 .8s linear infinite}.message-input__attachment-meta[data-v-2ec702b2]{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.message-input__attachment-name[data-v-2ec702b2]{font-size:13px;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-input__attachment-info[data-v-2ec702b2]{display:flex;gap:12px;font-size:12px;color:#475569;flex-wrap:wrap}.message-input__attachment-error[data-v-2ec702b2]{color:#ef4444}.message-input__attachment-remove[data-v-2ec702b2]{border:none;background:transparent;color:#6366f1;font-size:12px;cursor:pointer;transition:color .2s ease}.message-input__attachment-remove[data-v-2ec702b2]:hover{color:#4338ca}@keyframes message-input-spin-2ec702b2{to{transform:rotate(360deg)}}.message-input__fade-enter-active[data-v-2ec702b2],.message-input__fade-leave-active[data-v-2ec702b2]{transition:opacity .16s ease}.message-input__fade-enter-from[data-v-2ec702b2],.message-input__fade-leave-to[data-v-2ec702b2]{opacity:0}.message-board[data-v-ddae856f]{display:flex;flex-direction:column;gap:20px}.message-board__header[data-v-ddae856f]{display:flex;align-items:center;justify-content:space-between;gap:16px}.message-board__header h1[data-v-ddae856f]{margin:0;font-size:28px;color:#0f172a;letter-spacing:.02em}.message-board__meta[data-v-ddae856f]{margin:4px 0 0;color:#64748b;font-size:14px}.message-board__primary[data-v-ddae856f]{display:inline-flex;align-items:center;justify-content:center;padding:12px 26px;border-radius:999px;border:none;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#f8fafc;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 14px 28px #4f46e547;transition:transform .2s ease,box-shadow .2s ease}.message-board__primary[data-v-ddae856f]:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.message-board__primary[data-v-ddae856f]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 18px 32px #0ea5e940}.message-board__filters[data-v-ddae856f]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.message-board__tabs[data-v-ddae856f]{display:flex;gap:10px;flex-wrap:wrap}.message-board__tab[data-v-ddae856f]{border:1px solid rgba(99,102,241,.2);background:#6366f114;color:#4338ca;padding:8px 20px;border-radius:999px;cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:600}.message-board__tab--active[data-v-ddae856f]{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border-color:transparent}.message-board__pagination[data-v-ddae856f]{display:flex;align-items:center;gap:12px;font-size:13px;color:#475569}.message-board__pager[data-v-ddae856f]{border:none;border-radius:999px;padding:8px 18px;background:#0f172a14;color:#1f2937;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.message-board__pager[data-v-ddae856f]:disabled{opacity:.45;cursor:not-allowed}.message-board__pager[data-v-ddae856f]:not(:disabled):hover{background:#0f172a29;transform:translateY(-1px)}.message-board__error[data-v-ddae856f]{color:#dc2626}.message-board__hint[data-v-ddae856f]{color:#64748b}.message-board__list[data-v-ddae856f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.message-card[data-v-ddae856f]{background:#ffffffeb;border-radius:20px;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 38px #0f172a29;display:flex;flex-direction:column;min-height:220px;transition:transform .2s ease,box-shadow .2s ease;padding:22px 24px;outline:none}.message-card[data-v-ddae856f]:hover{transform:translateY(-4px);box-shadow:0 24px 46px #0f172a33}.message-card--pinned[data-v-ddae856f]{border-color:#f59e0b99}.message-card--archived[data-v-ddae856f]{opacity:.85}.message-card--unread[data-v-ddae856f]{border-color:#f8717173;box-shadow:0 22px 46px #f871712e}.message-card__title[data-v-ddae856f]{display:flex;align-items:center;gap:8px}.message-card__indicator[data-v-ddae856f]{width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 2px #fff,0 0 0 4px #ef444433;flex-shrink:0}.message-card__title h2[data-v-ddae856f]{margin:0;font-size:18px;color:#0f172a}.message-card__badge[data-v-ddae856f]{background:#e2e8f0e6;color:#475569;font-size:12px;padding:2px 8px;border-radius:999px}.message-card__badge--pinned[data-v-ddae856f]{background:#fef3c7e6;color:#b45309}.message-card__meta[data-v-ddae856f]{margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.message-card__avatar[data-v-ddae856f]{width:40px;height:40px;border-radius:12px;overflow:hidden;border:1px solid rgba(148,163,184,.3);box-shadow:0 8px 18px #0f172a1f;background:#f1f5f9;flex-shrink:0}.message-card__avatar-image[data-v-ddae856f]{width:100%;height:100%;border-radius:12px}.message-card__meta-content[data-v-ddae856f]{display:flex;flex-direction:column;gap:6px;color:#1e293b}.message-card__author-row[data-v-ddae856f]{display:flex;align-items:center;gap:8px;font-size:18px;line-height:1.2}.message-card__author[data-v-ddae856f]{font-weight:700;color:#1e293b}.message-card__relative[data-v-ddae856f]{font-size:16px;color:#2563eb}.message-card__meta-time[data-v-ddae856f]{font-size:15px;color:#475569;white-space:nowrap}.message-card__body[data-v-ddae856f]{flex:1;color:#475569;font-size:14px;margin-top:12px}.message-card__body p[data-v-ddae856f]{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.message-card__footer[data-v-ddae856f]{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:14px;border-top:1px solid rgba(148,163,184,.18)}.message-card__stat[data-v-ddae856f]{display:flex;flex-direction:column;line-height:1;color:#1f2937}.message-card__stat-value[data-v-ddae856f]{font-size:22px;font-weight:700}.message-card__stat-label[data-v-ddae856f]{font-size:12px;color:#64748b}.message-card__hint[data-v-ddae856f]{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;color:#64748b;text-align:right}.message-board__empty[data-v-ddae856f]{grid-column:1 / -1;text-align:center;color:#94a3b8;font-size:14px}.composer[data-v-ddae856f]{position:fixed;inset:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.composer__dialog[data-v-ddae856f]{width:min(720px,100%);background:#fff;border-radius:24px;box-shadow:0 36px 70px #0f172a47;display:flex;flex-direction:column}.composer__header[data-v-ddae856f]{display:flex;align-items:flex-start;justify-content:space-between;padding:26px 32px 12px}.composer__header h2[data-v-ddae856f]{margin:0;font-size:22px}.composer__hint[data-v-ddae856f]{margin:6px 0 0;font-size:12px;color:#94a3b8}.composer__body[data-v-ddae856f]{padding:0 32px 28px;display:flex;flex-direction:column;gap:18px}.composer__error[data-v-ddae856f]{margin:0;color:#dc2626;font-size:13px}.composer__field[data-v-ddae856f]{display:flex;flex-direction:column;gap:10px}.composer__label[data-v-ddae856f]{font-size:14px;font-weight:600;color:#0f172a}.composer__field input[data-v-ddae856f]{padding:12px 16px;border-radius:14px;border:1px solid rgba(148,163,184,.6);font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.composer__field input[data-v-ddae856f]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.composer__field--textarea[data-v-ddae856f]{min-height:200px}.composer__footer[data-v-ddae856f]{padding:0 32px 32px;display:flex;justify-content:flex-end;gap:12px}.composer__button[data-v-ddae856f]{border:none;border-radius:999px;padding:10px 22px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.composer__button--primary[data-v-ddae856f]{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;box-shadow:0 12px 26px #0ea5e940}.composer__button--primary[data-v-ddae856f]:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.composer__button--primary[data-v-ddae856f]:not(:disabled):hover{transform:translateY(-1px)}.composer__button--ghost[data-v-ddae856f]{background:#94a3b826;color:#475569}.composer__button--ghost[data-v-ddae856f]:hover{transform:translateY(-1px)}@media (max-width: 768px){.message-board__list[data-v-ddae856f]{grid-template-columns:1fr}.composer__header[data-v-ddae856f],.composer__body[data-v-ddae856f],.composer__footer[data-v-ddae856f]{padding-left:20px;padding-right:20px}}.reply-thread[data-v-98ff5992]{list-style:none;margin:0;padding:0}.reply-thread+.reply-thread[data-v-98ff5992]{margin-top:18px}.reply-thread__bubble[data-v-98ff5992]{border:1px solid rgba(148,163,184,.32);border-radius:22px;padding:18px 20px;background:var(--reply-bubble-bg, rgba(255, 255, 255, .96));box-shadow:0 16px 36px #0f172a1f;display:flex;flex-direction:column;gap:12px;position:relative}.reply-thread__bubble[data-v-98ff5992]:after{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;border:1px solid rgba(255,255,255,.35);mix-blend-mode:soft-light}.reply-thread--pinned .reply-thread__bubble[data-v-98ff5992]{border-color:#facc1599;box-shadow:0 18px 40px #facc152e}.reply-thread__meta[data-v-98ff5992]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px}.reply-thread__identity[data-v-98ff5992]{display:inline-flex;align-items:center;gap:8px;min-height:34px}.reply-thread__avatar[data-v-98ff5992]{width:34px;height:34px;border-radius:10px;overflow:hidden;border:1px solid rgba(148,163,184,.3);box-shadow:0 4px 10px #0f172a1f;background:#f1f5f9}.reply-thread__avatar-image[data-v-98ff5992]{width:100%;height:100%;border-radius:10px;font-size:14px}.reply-thread__author[data-v-98ff5992]{font-weight:600;color:#312e81;font-size:15px}.reply-thread__time[data-v-98ff5992]{display:inline-flex;align-items:center;gap:6px;color:#334155;font-size:15px;line-height:1;height:34px;font-weight:500}.reply-thread__time-relative[data-v-98ff5992]{color:#6366f1;font-size:13px;font-weight:600}.reply-thread__badge[data-v-98ff5992]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:#facc152e;color:#b45309;font-size:11px;font-weight:600}.reply-thread__actions[data-v-98ff5992]{margin-left:auto;display:inline-flex;gap:8px}.reply-thread__action[data-v-98ff5992]{border:none;background:#6366f11f;color:#4c1d95;padding:6px 12px;border-radius:999px;cursor:pointer;font-size:12px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.reply-thread__action--pin[data-v-98ff5992]{background:#f59e0b26;color:#b45309}.reply-thread__action--pin[data-v-98ff5992]:hover{box-shadow:0 6px 14px #f59e0b47}.reply-thread__action[data-v-98ff5992]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;pointer-events:none}.reply-thread__action--danger[data-v-98ff5992]{background:#dc26261f;color:#b91c1c}.reply-thread__action--danger[data-v-98ff5992]:hover{box-shadow:0 6px 14px #dc262638}.reply-thread__action[data-v-98ff5992]:hover{transform:translateY(-1px);box-shadow:0 6px 14px #4f46e533}.reply-thread__content[data-v-98ff5992]{font-size:14px;line-height:1.7;color:#1f2937}.reply-thread__content[data-v-98ff5992] img.message-image{max-width:100%;border-radius:14px;display:block;margin:14px auto;box-shadow:0 14px 28px #0f172a29;background:#0f172a}.reply-thread__content[data-v-98ff5992] .mention{background:#6366f126;color:#4338ca;padding:0 4px;border-radius:6px}.reply-thread__content[data-v-98ff5992] strong{color:#111827}.reply-thread__content[data-v-98ff5992] em{color:inherit;font-style:italic}.reply-thread__content[data-v-98ff5992] .format-underline{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:currentColor}.reply-thread__content[data-v-98ff5992] .format-size,.reply-thread__content[data-v-98ff5992] .format-color{display:inline}.reply-thread__content[data-v-98ff5992] .format-color{font-weight:inherit}.reply-thread__content[data-v-98ff5992] .format-color strong,.reply-thread__content[data-v-98ff5992] .format-color b,.reply-thread__content[data-v-98ff5992] .format-color em,.reply-thread__content[data-v-98ff5992] .format-color i,.reply-thread__content[data-v-98ff5992] .format-color .format-size,.reply-thread__content[data-v-98ff5992] .format-color .format-underline,.reply-thread__content[data-v-98ff5992] .format-color .mention{color:inherit}.reply-thread__content[data-v-98ff5992] .format-color .format-underline{text-decoration-color:currentColor}.reply-thread__content[data-v-98ff5992] .format-color .mention{background-color:#ffffff80;box-shadow:inset 0 0 0 1px #0f172a0f}.reply-thread__content[data-v-98ff5992] ul{margin:10px 0;padding-left:22px;list-style:disc}.reply-thread__content[data-v-98ff5992] li+li{margin-top:4px}.reply-thread__content[data-v-98ff5992] hr{border:none;border-top:1px solid rgba(148,163,184,.3);margin:14px 0}.reply-thread__nested[data-v-98ff5992]{margin-top:16px;padding:16px;border-radius:18px;background:var(--reply-nested-bg, rgba(99, 102, 241, .1));border:1px dashed rgba(99,102,241,.24);display:flex;flex-direction:column;gap:16px}.reply-thread__children[data-v-98ff5992]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}@media (max-width: 768px){.reply-thread__bubble[data-v-98ff5992]{padding:16px}.reply-thread__nested[data-v-98ff5992]{padding:14px}}.message-board-post[data-v-fa53b006]{display:flex;flex-direction:column;gap:24px}.post-button[data-v-fa53b006]{border:none;border-radius:999px;padding:10px 20px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.post-button--ghost[data-v-fa53b006]{background:#94a3b826;color:#475569}.post-button--ghost[data-v-fa53b006]:hover{transform:translateY(-1px)}.post-button--primary[data-v-fa53b006]{background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;box-shadow:0 12px 26px #0ea5e940}.post-button--primary[data-v-fa53b006]:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.post-button--primary[data-v-fa53b006]:not(:disabled):hover{transform:translateY(-1px)}.error[data-v-fa53b006]{color:#dc2626}.hint[data-v-fa53b006]{color:#64748b}.post-info[data-v-fa53b006]{background:#fff;border-radius:22px;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 42px #0f172a1f;padding:24px 28px;display:flex;flex-direction:column;gap:18px}.post-info__header[data-v-fa53b006]{display:flex;align-items:center;justify-content:space-between;gap:16px}.post-info__status[data-v-fa53b006]{display:flex;gap:10px;flex-wrap:wrap}.post-info__actions[data-v-fa53b006]{margin-left:auto;display:inline-flex;align-items:center;gap:12px}.post-info__edit-button[data-v-fa53b006]{border:none;border-radius:999px;padding:8px 20px;background:#6366f11f;color:#4338ca;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.post-info__edit-button[data-v-fa53b006]:hover{transform:translateY(-1px);background:#4f46e529;box-shadow:0 12px 26px #6366f12e}.post-info__edit-button[data-v-fa53b006]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.post-info__editing-flag[data-v-fa53b006]{font-size:13px;font-weight:600;color:#0f172a}.post-info__badge[data-v-fa53b006]{background:#e2e8f0f2;color:#475569;font-size:12px;padding:4px 10px;border-radius:999px;font-weight:600}.post-info__badge--pinned[data-v-fa53b006]{background:#fef3c7f2;color:#b45309}.post-info__admin-controls[data-v-fa53b006]{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.post-info__grid[data-v-fa53b006]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.post-info__item[data-v-fa53b006]{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#6366f114,#0ea5e914);border:1px solid rgba(99,102,241,.15)}.post-info__label[data-v-fa53b006]{font-size:12px;color:#6366f1;font-weight:600;letter-spacing:.02em}.post-info__value[data-v-fa53b006]{font-size:14px;color:#0f172a;font-weight:600}.post-info__toggles[data-v-fa53b006]{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.post-info__delete[data-v-fa53b006]{border:none;border-radius:999px;padding:8px 20px;background:#dc26261f;color:#b91c1c;font-size:13px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.post-info__delete[data-v-fa53b006]:hover{transform:translateY(-1px);box-shadow:0 10px 24px #dc26262e;background:#dc262629}.post-info__delete[data-v-fa53b006]:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.post-info__admin-error[data-v-fa53b006]{margin:12px 0 0;color:#b91c1c;font-size:13px}.post-toggle[data-v-fa53b006]{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none}.post-toggle input[data-v-fa53b006]{position:absolute;opacity:0;pointer-events:none}.post-toggle__visual[data-v-fa53b006]{width:44px;height:24px;border-radius:999px;background:#94a3b859;display:inline-flex;align-items:center;padding:3px;transition:background .2s ease}.post-toggle__dot[data-v-fa53b006]{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a33;transform:translate(0);transition:transform .2s ease}.post-toggle input:checked+.post-toggle__visual[data-v-fa53b006]{background:linear-gradient(135deg,#4f46e5,#0ea5e9)}.post-toggle input:checked+.post-toggle__visual .post-toggle__dot[data-v-fa53b006]{transform:translate(20px)}.post-toggle__label[data-v-fa53b006]{color:#1f2937}.post-toggle input:disabled+.post-toggle__visual[data-v-fa53b006]{opacity:.5}.post-toggle input:disabled~.post-toggle__label[data-v-fa53b006]{opacity:.6}.post[data-v-fa53b006],.post-editor[data-v-fa53b006]{background:#fff;border-radius:22px;border:1px solid rgba(148,163,184,.3);box-shadow:0 20px 48px #0f172a29;padding:28px 32px;display:flex;flex-direction:column;gap:20px}.post-editor__header h2[data-v-fa53b006]{margin:0;font-size:24px;color:#1f2937}.post-editor__body[data-v-fa53b006]{display:flex;flex-direction:column;gap:16px}.post-editor__field[data-v-fa53b006]{display:flex;flex-direction:column;gap:8px}.post-editor__field span[data-v-fa53b006]{font-size:14px;font-weight:600;color:#334155}.post-editor__field input[data-v-fa53b006]{border:1px solid rgba(148,163,184,.6);border-radius:12px;padding:10px 14px;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease}.post-editor__field input[data-v-fa53b006]:focus{outline:none;border-color:#6366f199;box-shadow:0 0 0 3px #6366f12e}.post-editor__footer[data-v-fa53b006]{display:flex;gap:12px;justify-content:flex-end}.post__title[data-v-fa53b006]{margin:0;font-size:32px;color:#0f172a;line-height:1.25}.post__content[data-v-fa53b006]{font-size:16px;color:#1f2937;line-height:1.8}.post__content[data-v-fa53b006] img.message-image{max-width:100%;border-radius:18px;display:block;margin:18px auto;box-shadow:0 18px 38px #0f172a2e;background:#0f172a}.post__content[data-v-fa53b006] .mention{background:#6366f126;color:#4338ca;padding:0 4px;border-radius:6px}.post__content[data-v-fa53b006] strong{font-weight:700;color:#111827}.post__content[data-v-fa53b006] em{font-style:italic;color:inherit}.post__content[data-v-fa53b006] .format-underline{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:currentColor}.post__content[data-v-fa53b006] .format-size{display:inline}.post__content[data-v-fa53b006] .format-color{display:inline;font-weight:inherit}.post__content[data-v-fa53b006] .format-color strong,.post__content[data-v-fa53b006] .format-color b,.post__content[data-v-fa53b006] .format-color em,.post__content[data-v-fa53b006] .format-color i,.post__content[data-v-fa53b006] .format-color .format-size,.post__content[data-v-fa53b006] .format-color .format-underline,.post__content[data-v-fa53b006] .format-color .mention{color:inherit}.post__content[data-v-fa53b006] .format-color .format-underline{text-decoration-color:currentColor}.post__content[data-v-fa53b006] .format-color .mention{background-color:#ffffff73;box-shadow:inset 0 0 0 1px #0f172a0d}.post__content[data-v-fa53b006] ul{margin:12px 0;padding-left:24px;list-style:disc}.post__content[data-v-fa53b006] li+li{margin-top:6px}.post__content[data-v-fa53b006] hr{border:none;border-top:1px solid rgba(148,163,184,.4);margin:18px 0}.replies[data-v-fa53b006]{background:#fff;border-radius:22px;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 42px #0f172a1f;padding:28px 32px;display:flex;flex-direction:column;gap:20px}.replies__header[data-v-fa53b006]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.replies__header h2[data-v-fa53b006]{margin:0;font-size:20px;color:#0f172a}.replies__sort[data-v-fa53b006]{display:inline-flex;gap:10px}.replies__sort-button[data-v-fa53b006]{border:1px solid rgba(99,102,241,.2);background:#6366f114;color:#4338ca;padding:6px 16px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,color .2s ease}.replies__sort-button--active[data-v-fa53b006]{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border-color:transparent;box-shadow:0 8px 18px #4f46e540}.replies__sort-button[data-v-fa53b006]:not(.replies__sort-button--active):hover{transform:translateY(-1px);background:#6366f129}.replies__list[data-v-fa53b006]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.replies__empty[data-v-fa53b006]{margin:0;color:#94a3b8;font-size:14px}.composer[data-v-fa53b006]{background:#fff;border-radius:22px;border:1px solid rgba(148,163,184,.28);box-shadow:0 18px 42px #0f172a1f;padding:28px 32px;display:flex;flex-direction:column;gap:18px}.composer--edit[data-v-fa53b006]{border-color:#6366f14d;box-shadow:0 20px 44px #6366f12e}.composer__header[data-v-fa53b006]{display:flex;align-items:center;justify-content:space-between}.composer__target[data-v-fa53b006]{display:flex;align-items:center;gap:8px;font-size:13px;color:#6366f1}.composer__target button[data-v-fa53b006]{border:none;background:transparent;color:#ef4444;cursor:pointer}.composer__body[data-v-fa53b006]{display:flex;flex-direction:column;gap:10px}.composer__error[data-v-fa53b006]{margin:0;color:#dc2626;font-size:13px}.composer__hint[data-v-fa53b006]{color:#94a3b8;font-size:13px}.composer__footer[data-v-fa53b006]{display:flex;justify-content:flex-end}@media (max-width: 768px){.post[data-v-fa53b006],.post-editor[data-v-fa53b006],.replies[data-v-fa53b006],.composer[data-v-fa53b006],.post-info[data-v-fa53b006]{padding:20px}.post-info__header[data-v-fa53b006]{align-items:flex-start;flex-direction:column;gap:12px}.post-info__actions[data-v-fa53b006]{margin-left:0}.post-info__admin-controls[data-v-fa53b006]{width:100%;justify-content:space-between}.post-info__delete[data-v-fa53b006]{width:100%}.post-info__grid[data-v-fa53b006]{grid-template-columns:1fr}.post__title[data-v-fa53b006]{font-size:26px}.post-editor__footer[data-v-fa53b006]{flex-direction:column;align-items:stretch}.post-editor__footer .post-button[data-v-fa53b006]{width:100%}.composer__footer[data-v-fa53b006]{flex-direction:column;gap:12px}.composer__footer .post-button[data-v-fa53b006]{width:100%}}.page[data-v-2436d316]{display:flex;flex-direction:column;gap:24px}.page__header[data-v-2436d316]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page__title[data-v-2436d316]{margin:0;font-size:22px;font-weight:600;color:#0f172a}.page__subtitle[data-v-2436d316]{margin:4px 0 0;font-size:14px;color:#475569}.btn[data-v-2436d316]{align-self:flex-start;padding:8px 16px;border:none;border-radius:8px;background:#2563eb;color:#fff;cursor:pointer;transition:opacity .2s ease}.btn--primary[data-v-2436d316]{background:#2563eb;color:#fff}.btn--ghost[data-v-2436d316]{background:#2563eb14;color:#1d4ed8;border:1px solid rgba(37,99,235,.3)}.btn[data-v-2436d316]:disabled{opacity:.6;cursor:not-allowed}.banner.error[data-v-2436d316]{margin:0;padding:12px 16px;border-radius:8px;background:#fee2e2;color:#991b1b}.loading[data-v-2436d316]{margin:0;font-size:14px;color:#475569}.log-section[data-v-2436d316]{display:flex;flex-direction:column}.log-card[data-v-2436d316]{background:#fff;border-radius:16px;padding:20px;box-shadow:0 12px 24px #0f172a14;border:1px solid rgba(148,163,184,.25);display:flex;flex-direction:column;gap:16px}.filters[data-v-2436d316]{display:flex;flex-direction:column;gap:12px}.filters__row[data-v-2436d316]{display:flex;flex-wrap:wrap;gap:12px}.filters__field[data-v-2436d316]{display:flex;flex-direction:column;gap:6px;min-width:160px}.filters__field--inline[data-v-2436d316]{flex-direction:row;align-items:center;gap:8px}.filters__label[data-v-2436d316]{font-size:13px;color:#475569}.filters__input[data-v-2436d316]{height:34px;padding:6px 10px;border:1px solid rgba(148,163,184,.45);border-radius:8px;background:#fff;color:#0f172a;font-size:14px}.filters__input[data-v-2436d316]:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.filters__actions[data-v-2436d316]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters__buttons[data-v-2436d316]{display:flex;gap:8px}.log-card__header[data-v-2436d316]{display:flex;align-items:center;justify-content:space-between;gap:12px}.log-card__header h3[data-v-2436d316]{margin:0;font-size:18px;font-weight:600;color:#0f172a}.log-card__count[data-v-2436d316]{font-size:13px;color:#64748b}.log-card__hint[data-v-2436d316]{margin:-4px 0 0;font-size:13px;color:#64748b}.table-wrapper[data-v-2436d316]{overflow-x:auto}.log-table[data-v-2436d316]{width:100%;border-collapse:collapse;font-size:14px;color:#0f172a}.log-table thead[data-v-2436d316]{background:#f8fafc}.log-table th[data-v-2436d316],.log-table td[data-v-2436d316]{padding:10px 12px;border-bottom:1px solid #e2e8f0;text-align:left;white-space:nowrap}.log-table tbody tr[data-v-2436d316]:hover{background:#f1f5f9}.empty[data-v-2436d316]{margin:0;padding:12px;border-radius:8px;background:#94a3b826;color:#475569;text-align:center}.pagination[data-v-2436d316]{display:flex;align-items:center;justify-content:flex-end;gap:12px}.pager__btn[data-v-2436d316]{padding:6px 12px;border-radius:6px;border:1px solid rgba(148,163,184,.5);background:#f8fafc;color:#0f172a;cursor:pointer}.pager__btn[data-v-2436d316]:disabled{opacity:.5;cursor:not-allowed}.pager__info[data-v-2436d316]{font-size:13px;color:#475569}.server-settings[data-v-74f9ab59]{display:flex;flex-direction:column;gap:24px;color:#0f172a}.server-settings__header[data-v-74f9ab59]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.server-settings__header h1[data-v-74f9ab59]{margin:0;font-size:28px;font-weight:700}.server-settings__subtitle[data-v-74f9ab59]{margin:6px 0 0;color:#64748b;font-size:14px}.server-settings__refresh[data-v-74f9ab59]{padding:10px 18px;border-radius:999px;border:1px solid rgba(99,102,241,.4);background:transparent;color:#4338ca;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.server-settings__refresh[data-v-74f9ab59]:disabled{opacity:.6;cursor:default}.server-settings__refresh[data-v-74f9ab59]:not(:disabled):hover{background:#6366f114}.settings-card[data-v-74f9ab59]{padding:24px;border-radius:18px;background:#ffffffe6;box-shadow:0 18px 36px #0f172a1a;border:1px solid rgba(99,102,241,.12);display:flex;flex-direction:column;gap:18px}.settings-card h2[data-v-74f9ab59]{margin:0;font-size:20px;font-weight:600}.settings-card__description[data-v-74f9ab59]{margin:0;color:#475569;font-size:14px}.settings-field[data-v-74f9ab59]{display:flex;flex-direction:column;gap:10px}.settings-field label[data-v-74f9ab59]{font-size:14px;font-weight:600}.settings-field input[data-v-74f9ab59]{max-width:220px;padding:10px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.5);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease}.settings-field input[data-v-74f9ab59]:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.settings-field__hint[data-v-74f9ab59]{margin:0;font-size:12px;color:#64748b}.settings-actions[data-v-74f9ab59]{display:flex;justify-content:flex-end}.settings-actions__primary[data-v-74f9ab59]{padding:10px 24px;border-radius:999px;border:none;background:linear-gradient(135deg,#4f46e5,#0ea5e9);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.settings-actions__primary[data-v-74f9ab59]:disabled{opacity:.6;cursor:default}.settings-actions__primary[data-v-74f9ab59]:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 12px 24px #4f46e533}.settings-message[data-v-74f9ab59]{margin:0;font-size:14px}.settings-message--error[data-v-74f9ab59]{color:#dc2626}.settings-message--success[data-v-74f9ab59]{color:#16a34a}@media (max-width: 640px){.settings-card[data-v-74f9ab59]{padding:18px}.settings-actions[data-v-74f9ab59]{justify-content:stretch}.settings-actions__primary[data-v-74f9ab59]{width:100%}}
