.login[data-v-f2b5c573]{position:relative;min-height:100vh;display:grid;place-items:center;padding:var(--sp-6);background:radial-gradient(1200px 600px at 80% -10%,var(--brand-soft),transparent 60%),radial-gradient(900px 500px at -10% 110%,var(--brand-soft),transparent 60%),var(--surface-0);overflow:hidden}.login[data-v-f2b5c573]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 75%);opacity:.4;pointer-events:none}.login__theme-toggle[data-v-f2b5c573]{position:absolute;top:var(--sp-4);right:var(--sp-4);width:36px;height:36px;display:grid;place-items:center;border-radius:var(--rd-full);border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);z-index:2}.login__theme-toggle[data-v-f2b5c573]:hover{color:var(--text-strong);border-color:var(--border-strong);transform:rotate(15deg)}.login__shell[data-v-f2b5c573]{position:relative;z-index:1;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-6)}.login__brand[data-v-f2b5c573]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-2)}.login__logo[data-v-f2b5c573]{width:48px;height:48px;border-radius:var(--rd-xl);display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 10px 24px var(--brand-ring),inset 0 1px #ffffff40}.login__brand-name[data-v-f2b5c573]{margin:0;font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-strong);letter-spacing:-.01em}.login__tagline[data-v-f2b5c573]{margin:0;color:var(--text-subtle);font-size:var(--fs-md);max-width:320px}.login__card[data-v-f2b5c573]{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-2xl);padding:var(--sp-6);box-shadow:var(--sh-lg);display:flex;flex-direction:column;gap:var(--sp-4)}.login__head[data-v-f2b5c573]{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-1)}.login__title[data-v-f2b5c573]{margin:0;font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.login__subtitle[data-v-f2b5c573]{margin:0;color:var(--text-subtle);font-size:var(--fs-md)}.login__field[data-v-f2b5c573]{display:flex;flex-direction:column;gap:6px}.login__label[data-v-f2b5c573]{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-muted)}.login__input-wrap[data-v-f2b5c573]{position:relative;display:flex;align-items:center}.login__input[data-v-f2b5c573]{width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:var(--rd-lg);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-base);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.login__input[data-v-f2b5c573]::placeholder{color:var(--text-faint)}.login__input[data-v-f2b5c573]:hover{border-color:var(--text-faint)}.login__input[data-v-f2b5c573]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.login__input--pw[data-v-f2b5c573]{padding-right:38px}.login__toggle-pw[data-v-f2b5c573]{position:absolute;right:6px;width:30px;height:30px;display:grid;place-items:center;color:var(--text-subtle);border-radius:var(--rd-md);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.login__toggle-pw[data-v-f2b5c573]:hover{color:var(--text-strong);background:var(--state-hover)}.login__error[data-v-f2b5c573]{display:flex;align-items:center;gap:8px;margin:0;padding:9px 11px;border-radius:var(--rd-md);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);font-size:var(--fs-sm);line-height:1.35}.login-err-enter-active[data-v-f2b5c573],.login-err-leave-active[data-v-f2b5c573]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.login-err-enter-from[data-v-f2b5c573],.login-err-leave-to[data-v-f2b5c573]{opacity:0;transform:translateY(-4px)}.login__submit[data-v-f2b5c573]{margin-top:var(--sp-1);padding:12px;border-radius:var(--rd-lg);background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:var(--text-on-brand);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:.02em;box-shadow:0 6px 16px var(--brand-ring);display:flex;align-items:center;justify-content:center;gap:8px;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.login__submit[data-v-f2b5c573]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px var(--brand-ring)}.login__submit[data-v-f2b5c573]:active:not(:disabled){transform:translateY(0)}.login__submit[data-v-f2b5c573]:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.login__spinner[data-v-f2b5c573]{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}.login__foot[data-v-f2b5c573]{margin:0;text-align:center;color:var(--text-faint);font-size:var(--fs-xs)}@media (max-width: 420px){.login__card[data-v-f2b5c573]{padding:var(--sp-5);border-radius:var(--rd-xl)}.login__brand-name[data-v-f2b5c573]{font-size:var(--fs-xl)}}.dv-tbtn[data-v-556a9c97]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md, 8px);background:transparent;color:var(--text-muted, #475569);font-size:var(--fs-xs, 11px);font-weight:var(--fw-semibold, 600);letter-spacing:.02em;white-space:nowrap;border:none;cursor:pointer;transition:background .15s ease,color .15s ease}.dv-tbtn[data-v-556a9c97]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a)}.dv-tbtn.is-active[data-v-556a9c97]{background:var(--brand-soft, rgba(99, 102, 241, .12));color:var(--brand-strong, #4f46e5)}.dv-counter[data-v-556a9c97]{font-size:9px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:#6366f12e;color:inherit;font-variant-numeric:tabular-nums}.dv-backdrop[data-v-556a9c97]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:24px;animation:dv-fadein-556a9c97 .18s ease-out}@keyframes dv-fadein-556a9c97{0%{opacity:0}to{opacity:1}}.dv-modal[data-v-556a9c97]{width:min(1100px,95vw);height:min(720px,88vh);background:var(--surface-1, #fff);color:var(--text, #0f172a);border-radius:14px;border:1px solid var(--border, #e2e8f0);box-shadow:0 24px 60px #00000073;display:flex;flex-direction:column;overflow:hidden}.dv-modal__head[data-v-556a9c97]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.dv-modal__title[data-v-556a9c97]{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--text-strong, #0f172a);font-size:14px;letter-spacing:-.01em}.dv-modal__close[data-v-556a9c97]{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--text-muted, #475569);cursor:pointer;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.dv-modal__close[data-v-556a9c97]:hover{background:var(--state-hover, rgba(15, 23, 42, .05));color:var(--text-strong, #0f172a);border-color:var(--border, #e2e8f0)}.dv-modal__body[data-v-556a9c97]{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:0}.dv-modal__map[data-v-556a9c97]{position:relative;min-height:0;background:var(--surface-2, #f8fafc)}.dv-map[data-v-556a9c97]{position:absolute;top:0;right:0;bottom:0;left:0}.dv-hint[data-v-556a9c97]{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#0f172ae0;color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 14px #00000040;pointer-events:none}.dv-hint__dot[data-v-556a9c97]{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b40;animation:dv-pulse-556a9c97 1.4s infinite ease-in-out}@keyframes dv-pulse-556a9c97{0%,to{transform:scale(1)}50%{transform:scale(1.35)}}.dv-modal__panel[data-v-556a9c97]{border-left:1px solid var(--border, #e2e8f0);padding:14px;overflow-y:auto;background:var(--surface-1, #fff);display:flex;flex-direction:column;gap:16px}.dv-section[data-v-556a9c97]{display:flex;flex-direction:column;gap:8px}.dv-section__head[data-v-556a9c97]{display:flex;align-items:baseline;justify-content:space-between}.dv-section__title[data-v-556a9c97]{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-section__count[data-v-556a9c97]{font-size:11px;color:var(--text-muted, #64748b);font-weight:600}.dv-table[data-v-556a9c97]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:10px;overflow:hidden}.dv-table__head[data-v-556a9c97]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;padding:8px 10px;background:var(--surface-2, #f8fafc);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-table__row[data-v-556a9c97]{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;align-items:center;padding:7px 10px;background:var(--surface-1, #fff);font-size:11px}.dv-table__row code[data-v-556a9c97]{font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace);color:var(--text-muted, #475569);font-size:10.5px}.dv-table__id[data-v-556a9c97]{display:inline-flex;align-items:center;gap:6px;min-width:0}.dv-table__id strong[data-v-556a9c97]{color:var(--text-strong, #0f172a);font-weight:700;letter-spacing:.02em}.dv-table__id em[data-v-556a9c97]{font-style:normal;color:var(--text-muted, #64748b);font-size:10px;font-family:var(--font-mono, ui-monospace, monospace)}.dv-table__swatch[data-v-556a9c97]{width:10px;height:10px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000026}.dv-meta code[data-v-556a9c97]{display:block;padding:8px 10px;background:var(--surface-2, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:8px;font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--text-muted, #475569)}.dv-vertices[data-v-556a9c97]{display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.dv-vertices__row[data-v-556a9c97]{display:flex;align-items:center;gap:10px;padding:6px 10px;background:var(--surface-1, #fff);font-size:11px}.dv-vertices__row strong[data-v-556a9c97]{color:var(--text-strong, #0f172a);font-family:var(--font-mono, monospace);width:28px}.dv-vertices__row code[data-v-556a9c97]{font-family:var(--font-mono, monospace);color:var(--text-muted, #475569);font-size:10.5px}.dv-sides[data-v-556a9c97]{display:flex;flex-direction:column;gap:8px}.dv-sides__row[data-v-556a9c97]{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:center}.dv-sides__label[data-v-556a9c97]{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);font-variant-numeric:tabular-nums}.dv-section__spacing[data-v-556a9c97]{height:1px;background:var(--border-subtle, #f1f5f9);margin:4px 0}.dv-scale-label[data-v-556a9c97]{display:flex;flex-direction:column;gap:6px;cursor:default}.dv-scale-label__text[data-v-556a9c97]{font-size:10.5px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);font-variant-numeric:tabular-nums}.dv-scale-row[data-v-556a9c97]{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.dv-scale-row__unit[data-v-556a9c97]{font-size:11px;font-weight:600;color:var(--text-muted, #475569);width:24px;text-align:center}.dv-scale-buttons[data-v-556a9c97]{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.dv-scale-btn[data-v-556a9c97]{padding:5px 6px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-muted, #475569);font-size:10px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:all .15s ease}.dv-scale-btn[data-v-556a9c97]:hover{background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a)}.dv-scale-btn.is-active[data-v-556a9c97]{background:#7c3aed;border-color:#7c3aed;color:#fff}.dv-scale-adjust[data-v-556a9c97]{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:2px}.dv-scale-adjust__btn[data-v-556a9c97]{padding:6px;border-radius:6px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-muted, #475569);font-size:12px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.dv-scale-adjust__btn[data-v-556a9c97]:hover{background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a)}.dv-scale-adjust__btn[data-v-556a9c97]:active{transform:scale(.95)}.dv-input[data-v-556a9c97]{width:100%;padding:6px 9px;border-radius:7px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc);color:var(--text-strong, #0f172a);font-size:11.5px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.dv-input[data-v-556a9c97]::placeholder{color:var(--text-faint, #94a3b8)}.dv-input[data-v-556a9c97]:focus{outline:none;border-color:var(--border-focus, #6366f1);background:var(--surface-1, #fff);box-shadow:0 0 0 3px #6366f12e}.dv-input--number[data-v-556a9c97]{text-align:center;font-variant-numeric:tabular-nums}.dv-input--number[data-v-556a9c97]::-webkit-outer-spin-button,.dv-input--number[data-v-556a9c97]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dv-input--number[type=number][data-v-556a9c97]{-moz-appearance:textfield}.dv-tris[data-v-556a9c97]{display:flex;flex-direction:column;gap:4px}.dv-tri[data-v-556a9c97]{border:1px solid var(--border, #e2e8f0);border-radius:9px;background:var(--surface-1, #fff);overflow:hidden}.dv-tri__head[data-v-556a9c97]{width:100%;display:grid;grid-template-columns:12px auto 1fr auto 12px;gap:8px;align-items:center;padding:7px 10px;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:background .15s ease}.dv-tri__head[data-v-556a9c97]:hover{background:var(--state-hover, rgba(15, 23, 42, .04))}.dv-tri.is-open .dv-tri__head[data-v-556a9c97]{background:var(--surface-2, #f8fafc)}.dv-tri__swatch[data-v-556a9c97]{width:12px;height:12px;border-radius:3px;flex-shrink:0;box-shadow:inset 0 0 0 1px #00000026}.dv-tri__id[data-v-556a9c97]{display:inline-flex;align-items:center;gap:5px;min-width:0}.dv-tri__id strong[data-v-556a9c97]{font-weight:700;color:var(--text-strong, #0f172a);font-size:11.5px;letter-spacing:.02em}.dv-tri__id em[data-v-556a9c97]{font-style:normal;color:var(--text-muted, #64748b);font-size:10px;font-family:var(--font-mono, ui-monospace, monospace)}.dv-tri__group[data-v-556a9c97]{font-size:10.5px;color:var(--text-muted, #475569);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic}.dv-tri__badge[data-v-556a9c97]{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--text-muted, #475569);background:var(--surface-3, #e2e8f0);padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.dv-tri__caret[data-v-556a9c97]{color:var(--text-faint, #94a3b8);transition:transform .15s ease}.dv-tri.is-open .dv-tri__caret[data-v-556a9c97]{transform:rotate(90deg)}.dv-tri__body[data-v-556a9c97]{padding:0 8px 8px;border-top:1px solid var(--border-subtle, #f1f5f9);background:var(--surface-1, #fff)}.dv-tri__empty[data-v-556a9c97]{padding:10px 6px;font-size:10.5px;color:var(--text-faint, #94a3b8);font-style:italic;text-align:center}.dv-cellslist[data-v-556a9c97]{margin-top:6px;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;background:var(--border-subtle, #f1f5f9);border-radius:6px;border:1px solid var(--border, #e2e8f0)}.dv-cellslist__head[data-v-556a9c97]{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;padding:6px 8px;position:sticky;top:0;background:var(--surface-2, #f8fafc);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8);z-index:1}.dv-cellslist__row[data-v-556a9c97]{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:6px;align-items:center;padding:5px 8px;background:var(--surface-1, #fff);font-size:10.5px}.dv-cellslist__row code[data-v-556a9c97]{font-family:var(--font-mono, ui-monospace, monospace);color:var(--text-muted, #475569);font-size:10px}.dv-cellslist__uid[data-v-556a9c97]{color:var(--text, #334155)!important;font-weight:600}.dv-section__head--toggle[data-v-556a9c97]{width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:1px solid var(--border-subtle, #f1f5f9);border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .15s ease,border-color .15s ease}.dv-section__head--toggle .dv-section__title[data-v-556a9c97]{flex:1}.dv-section__head--toggle[data-v-556a9c97]:hover{background:var(--state-hover, rgba(15, 23, 42, .04));border-color:var(--border, #e2e8f0)}.dv-section__head--toggle.is-open[data-v-556a9c97]{background:var(--surface-2, #f8fafc);border-color:var(--border, #e2e8f0)}.dv-section__caret[data-v-556a9c97]{color:var(--text-faint, #94a3b8);transition:transform .15s ease;flex-shrink:0}.dv-section__head--toggle.is-open .dv-section__caret[data-v-556a9c97]{transform:rotate(90deg)}.dv-secondary-info[data-v-556a9c97]{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:10px 12px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:color-mix(in srgb,var(--border, #e2e8f0) 50%,transparent)}.dv-secondary-info__label[data-v-556a9c97]{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, #94a3b8)}.dv-secondary-info__count[data-v-556a9c97]{font-size:12px;font-weight:700;color:#7c3aed;text-align:right;font-variant-numeric:tabular-nums}.dv-confirm[data-v-556a9c97]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--surface-1, #fff);border:1px solid var(--border, #e2e8f0);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:11px;color:var(--text-muted, #475569);transition:border-color .15s ease,background .15s ease,color .15s ease}.dv-confirm[data-v-556a9c97]:hover{border-color:var(--border-strong, #cbd5e1)}.dv-confirm.is-on[data-v-556a9c97]{background:color-mix(in srgb,var(--brand, #4f46e5) 8%,var(--surface-1, #fff));border-color:color-mix(in srgb,var(--brand, #4f46e5) 35%,transparent);color:var(--text-strong, #0f172a)}.dv-confirm input[type=checkbox][data-v-556a9c97]{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.dv-confirm__box[data-v-556a9c97]{width:16px;height:16px;border-radius:4px;border:1.6px solid var(--border-strong, #cbd5e1);background:var(--surface-1, #fff);display:grid;place-items:center;color:transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.dv-confirm.is-on .dv-confirm__box[data-v-556a9c97]{background:var(--brand, #4f46e5);border-color:var(--brand, #4f46e5);color:#fff}.dv-confirm__text[data-v-556a9c97]{flex:1;font-weight:600;letter-spacing:.01em}.dv-country[data-v-556a9c97]{display:grid;grid-template-columns:88px 1fr;gap:6px}.dv-country__row[data-v-556a9c97]{display:grid;grid-template-columns:100%;gap:4px;align-content:start}.dv-country__row .dv-sides__label[data-v-556a9c97]{letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.dv-submit[data-v-556a9c97]{margin-top:4px;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--border, #e2e8f0);background:var(--surface-2, #f8fafc)}.dv-submit__hint[data-v-556a9c97]{font-size:11px;color:var(--text-muted, #475569);line-height:1.45}.dv-submit__hint strong[data-v-556a9c97]{color:var(--text-strong, #0f172a);font-weight:700;font-variant-numeric:tabular-nums}.dv-submit__hint code[data-v-556a9c97]{font-family:var(--font-mono, ui-monospace, monospace);font-size:10.5px;background:var(--surface-3, #e2e8f0);color:var(--text-strong, #0f172a);padding:1px 5px;border-radius:4px}.dv-submit__err[data-v-556a9c97]{padding:8px 10px;border-radius:8px;background:var(--danger-soft, #fee2e2);color:var(--danger, #ef4444);font-size:11px;line-height:1.4;border:1px solid color-mix(in srgb,var(--danger, #ef4444) 30%,transparent)}.dv-submit__ok[data-v-556a9c97]{padding:8px 10px;border-radius:8px;background:var(--success-soft, #d1fae5);color:var(--success, #10b981);font-size:11px;font-weight:600;border:1px solid color-mix(in srgb,var(--success, #10b981) 30%,transparent)}.dv-submit__btn[data-v-556a9c97]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border-radius:9px;border:none;background:var(--brand, #4f46e5);color:var(--text-on-brand, #fff);font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,opacity .15s ease,transform .05s ease}.dv-submit__btn[data-v-556a9c97]:hover:not(:disabled){background:var(--brand-strong, #4338ca)}.dv-submit__btn[data-v-556a9c97]:active:not(:disabled){transform:translateY(1px)}.dv-submit__btn[data-v-556a9c97]:disabled{opacity:.55;cursor:not-allowed}.dv-submit__spinner[data-v-556a9c97]{width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:dv-spin-556a9c97 .7s linear infinite}@keyframes dv-spin-556a9c97{to{transform:rotate(360deg)}}@media (max-width: 800px){.dv-modal__body[data-v-556a9c97]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 280px}.dv-modal__panel[data-v-556a9c97]{border-left:none;border-top:1px solid var(--border, #e2e8f0)}}.dir[data-v-150f68ad]{display:grid;grid-template-columns:var(--panel-w) 1fr;height:100%;min-height:0;background:var(--surface-0)}.dir--edit .map[data-v-150f68ad]{cursor:crosshair}.panel[data-v-150f68ad]{background:var(--surface-1);border-right:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);overflow-y:auto;min-height:0}.panel__header[data-v-150f68ad]{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-2)}.panel__title-wrap[data-v-150f68ad]{display:flex;flex-direction:column;min-width:0}.panel__title[data-v-150f68ad]{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.panel__subtitle[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-subtle)}.panel__header-actions[data-v-150f68ad]{display:flex;align-items:center;gap:4px}.panel__hint[data-v-150f68ad]{margin:0;padding:8px 10px;border-radius:var(--rd-md);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);color:var(--warning);font-size:var(--fs-xs);line-height:1.4}.btn-ghost[data-v-150f68ad]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-ghost[data-v-150f68ad]:hover:not(:disabled){background:var(--state-hover);color:var(--text-strong);border-color:var(--border-strong)}.btn-ghost[data-v-150f68ad]:disabled{opacity:.4;cursor:not-allowed}.btn-ghost--sq[data-v-150f68ad]{width:30px;height:30px;padding:0;justify-content:center}.btn-ghost.is-spinning svg[data-v-150f68ad]{animation:spin-150f68ad .9s linear infinite}.stats[data-v-150f68ad]{display:flex;align-items:center;gap:8px;padding:8px 11px;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border);font-size:var(--fs-xs)}.stats__item[data-v-150f68ad]{display:inline-flex;align-items:center;gap:5px;color:var(--text-muted);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}.stats__item--ok[data-v-150f68ad]{color:var(--success)}.stats__item--warn[data-v-150f68ad]{color:var(--warning)}.stats__dot[data-v-150f68ad]{width:6px;height:6px;border-radius:50%}.stats__sep[data-v-150f68ad]{width:1px;height:12px;background:var(--border)}.stats__err[data-v-150f68ad]{margin-left:auto;color:var(--danger);font-weight:var(--fw-bold);cursor:help}.controls[data-v-150f68ad]{display:flex;align-items:center;gap:6px}.search[data-v-150f68ad]{flex:1;position:relative;display:flex;align-items:center}.search__icon[data-v-150f68ad]{position:absolute;left:10px;color:var(--text-faint);pointer-events:none}.search__input[data-v-150f68ad]{width:100%;padding:8px 10px 8px 30px;border-radius:var(--rd-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.search__input[data-v-150f68ad]::placeholder{color:var(--text-faint)}.search__input[data-v-150f68ad]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.chip[data-v-150f68ad]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--rd-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.chip[data-v-150f68ad]:hover{color:var(--text-strong);border-color:var(--border-strong)}.chip--accent[data-v-150f68ad]{color:#a78bfa;border-color:color-mix(in srgb,#a78bfa 40%,transparent);background:color-mix(in srgb,#a78bfa 10%,transparent)}.empty[data-v-150f68ad]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--text-subtle);font-size:var(--fs-sm)}.empty__spinner[data-v-150f68ad]{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin-150f68ad .7s linear infinite}.groups[data-v-150f68ad]{display:flex;flex-direction:column;gap:4px}.group[data-v-150f68ad]{border-radius:var(--rd-md);overflow:visible}.group--warn .group__row[data-v-150f68ad]{border-left:2px solid color-mix(in srgb,var(--warning) 45%,transparent)}.group__row[data-v-150f68ad]{position:relative;display:flex;align-items:stretch;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border-subtle);transition:border-color var(--dur-fast) var(--ease);overflow:visible}.group__row[data-v-150f68ad]:hover{border-color:var(--border)}.group__color[data-v-150f68ad]{display:grid;place-items:center;width:32px;flex-shrink:0;border-radius:var(--rd-md) 0 0 var(--rd-md);transition:background var(--dur-fast) var(--ease)}.group__color[data-v-150f68ad]:hover:not(:disabled){background:var(--state-hover)}.group__color[data-v-150f68ad]:disabled{cursor:default}.group__dot[data-v-150f68ad]{width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1px #ffffff1a;transition:transform var(--dur-fast) var(--ease)}.group__color:hover:not(:disabled) .group__dot[data-v-150f68ad]{transform:scale(1.2)}.colorpicker[data-v-150f68ad]{position:absolute;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(5,20px);gap:4px;padding:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);z-index:100}.colorpicker__swatch[data-v-150f68ad]{width:20px;height:20px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff1a;transition:transform var(--dur-fast) var(--ease)}.colorpicker__swatch[data-v-150f68ad]:hover{transform:scale(1.2)}.group__name-btn[data-v-150f68ad]{flex:1;display:flex;align-items:center;gap:8px;padding:8px;background:transparent;color:var(--text);font-size:var(--fs-sm);text-align:left;min-width:0;transition:background var(--dur-fast) var(--ease)}.group__name-btn[data-v-150f68ad]:hover{background:var(--state-hover)}.group__name[data-v-150f68ad]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--fw-medium);color:var(--text-strong)}.group--warn .group__name[data-v-150f68ad]{color:var(--warning);font-style:italic}.group__badge[data-v-150f68ad]{font-size:10px;color:var(--text-muted);background:var(--surface-3);padding:2px 7px;border-radius:var(--rd-full);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.group__caret[data-v-150f68ad]{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease)}.group__caret.is-open[data-v-150f68ad]{transform:rotate(90deg)}.group__select[data-v-150f68ad]{width:34px;display:grid;place-items:center;border-left:1px solid var(--border-subtle);color:var(--text-faint);border-radius:0 var(--rd-md) var(--rd-md) 0;transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.group__select[data-v-150f68ad]:hover{color:var(--brand-strong);background:var(--state-hover)}.group__list[data-v-150f68ad]{display:flex;flex-direction:column;padding:4px 0 0;gap:1px}.gitem[data-v-150f68ad]{display:flex;gap:6px;align-items:center;padding:5px 10px;background:transparent;border-radius:var(--rd-sm);color:var(--text-muted);text-align:left;font-size:11px;transition:background var(--dur-fast) var(--ease);min-width:0}.gitem[data-v-150f68ad]:hover{background:var(--state-hover)}.gitem--sel[data-v-150f68ad]{background:var(--brand-soft)!important;color:var(--text-strong)}.gitem__cell[data-v-150f68ad]{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gitem__coord[data-v-150f68ad]{font-family:var(--font-mono);color:var(--text-muted);flex:0 0 auto;min-width:80px}.gitem__id[data-v-150f68ad]{font-family:var(--font-mono);color:var(--text-faint)}.gitem__place[data-v-150f68ad]{color:var(--text-subtle)}.gitem__placeid[data-v-150f68ad]{font-family:var(--font-mono);color:var(--text-faint)}.gitem__addr[data-v-150f68ad]{color:var(--text-subtle)}.col-picker-wrap[data-v-150f68ad]{position:relative}.col-picker[data-v-150f68ad]{position:absolute;top:calc(100% + 4px);right:0;z-index:50;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-md);padding:6px 4px;display:flex;flex-direction:column;gap:2px;min-width:110px;box-shadow:0 4px 12px #00000026}.col-picker__item[data-v-150f68ad]{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--rd-sm);font-size:11px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease)}.col-picker__item[data-v-150f68ad]:hover{background:var(--state-hover)}.col-picker__item input[type=checkbox][data-v-150f68ad]{accent-color:var(--brand)}.map-wrap[data-v-150f68ad]{position:relative;min-height:0}.map[data-v-150f68ad]{position:absolute;top:0;right:0;bottom:0;left:0}.no-key[data-v-150f68ad]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;background:var(--surface-2);color:var(--text);text-align:center;padding:var(--sp-6);font-size:var(--fs-md)}.no-key code[data-v-150f68ad]{font-family:var(--font-mono);font-size:var(--fs-xs);padding:2px 6px;border-radius:var(--rd-sm);background:var(--surface-3);color:var(--text-strong)}.toolbar[data-v-150f68ad]{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:4px;padding:4px;border-radius:var(--rd-lg);background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--sh-md);z-index:10}.tbtn[data-v-150f68ad]{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rd-md);background:transparent;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.02em;white-space:nowrap;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.tbtn[data-v-150f68ad]:hover{background:var(--state-hover);color:var(--text-strong)}.tbtn.is-active[data-v-150f68ad]{background:var(--brand-soft);color:var(--brand-strong)}.tbtn--primary.is-active[data-v-150f68ad]{background:var(--brand);color:var(--text-on-brand)}.tbtn__dot[data-v-150f68ad]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tbtn__caret[data-v-150f68ad]{color:inherit;opacity:.75;transition:transform var(--dur-fast) var(--ease)}.tbtn__caret.is-open[data-v-150f68ad]{transform:rotate(180deg)}.toolbar__divider[data-v-150f68ad]{width:1px;height:22px;background:var(--border);margin:0 2px}.toolbar__color-picker[data-v-150f68ad]{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:var(--fs-xs);color:var(--text-muted)}.color-input[data-v-150f68ad]{width:24px;height:24px;border:1px solid var(--border);border-radius:var(--rd-sm);cursor:pointer;padding:2px}.color-input[data-v-150f68ad]:hover{border-color:var(--brand-500)}.tbtn--alert[data-v-150f68ad]{color:var(--warning)!important}.tbtn--alert.is-active[data-v-150f68ad]{background:var(--warning-soft)!important;color:var(--warning)!important}.toolbar__dd[data-v-150f68ad]{position:relative}.popover[data-v-150f68ad]{position:absolute;top:calc(100% + 6px);left:0;width:220px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:30}.pop-enter-active[data-v-150f68ad],.pop-leave-active[data-v-150f68ad]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.pop-enter-from[data-v-150f68ad],.pop-leave-to[data-v-150f68ad]{opacity:0;transform:translateY(-6px)}.popover__head[data-v-150f68ad]{display:flex;flex-direction:column;gap:8px;padding:4px 6px 10px;border-bottom:1px solid var(--border);margin-bottom:6px}.popover__title[data-v-150f68ad]{font-size:10px;font-weight:var(--fw-bold);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.popover__presets[data-v-150f68ad]{display:flex;gap:4px}.preset[data-v-150f68ad]{flex:1;padding:5px 8px;border-radius:var(--rd-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.preset[data-v-150f68ad]:hover{background:var(--surface-3);color:var(--text-strong)}.popover__list[data-v-150f68ad]{display:flex;flex-direction:column;gap:2px}.theme-row[data-v-150f68ad]{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.theme-row__label[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-muted);font-weight:var(--fw-semibold);flex:none;min-width:38px}.theme-row__seg[data-v-150f68ad]{display:flex;flex:1;gap:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-sm);padding:2px}.theme-row__btn[data-v-150f68ad]{flex:1;padding:5px 8px;border-radius:calc(var(--rd-sm) - 2px);background:transparent;border:none;color:var(--text-muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.theme-row__btn[data-v-150f68ad]:hover{color:var(--text-strong)}.theme-row__btn.is-on[data-v-150f68ad]{background:var(--brand-500);color:#fff;box-shadow:var(--sh-sm)}.switch-row[data-v-150f68ad]{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--rd-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.switch-row[data-v-150f68ad]:hover{background:var(--state-hover)}.switch-row__check[data-v-150f68ad]{display:none}.switch-row__label[data-v-150f68ad]{font-size:var(--fs-sm);color:var(--text);flex:1;-webkit-user-select:none;user-select:none}.switch-track[data-v-150f68ad]{width:30px;height:16px;border-radius:var(--rd-full);background:var(--surface-3);border:1px solid var(--border-strong);position:relative;flex-shrink:0;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.switch-track.is-on[data-v-150f68ad]{background:var(--brand);border-color:var(--brand)}.switch-thumb[data-v-150f68ad]{position:absolute;top:1px;left:1px;width:12px;height:12px;border-radius:50%;background:var(--surface-1);box-shadow:var(--sh-sm);transition:transform var(--dur-base) var(--ease)}.switch-track.is-on .switch-thumb[data-v-150f68ad]{transform:translate(14px)}.editpanel[data-v-150f68ad]{position:absolute;top:12px;right:12px;width:320px;max-height:calc(100% - 24px);overflow-y:auto;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-xl);padding:14px;display:flex;flex-direction:column;gap:12px;z-index:20;box-shadow:var(--sh-lg)}.panel-slide-enter-active[data-v-150f68ad],.panel-slide-leave-active[data-v-150f68ad]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.panel-slide-enter-from[data-v-150f68ad],.panel-slide-leave-to[data-v-150f68ad]{opacity:0;transform:translate(10px)}.editpanel__head[data-v-150f68ad]{display:flex;align-items:center;justify-content:space-between}.editpanel__label[data-v-150f68ad]{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--fs-sm)}.editpanel__label svg[data-v-150f68ad]{color:var(--brand-strong)}.editpanel__label b[data-v-150f68ad]{color:var(--text-strong)}.tag[data-v-150f68ad]{font-size:9px;font-weight:var(--fw-bold);letter-spacing:.06em;padding:3px 7px;border-radius:var(--rd-full);text-transform:uppercase}.tag--new[data-v-150f68ad]{background:var(--success-soft);color:var(--success)}.tag--edit[data-v-150f68ad]{background:var(--brand-soft);color:var(--brand-strong)}.tag--mix[data-v-150f68ad]{background:var(--warning-soft);color:var(--warning)}.tag--info[data-v-150f68ad]{background:var(--brand-soft);color:var(--brand-strong)}.editpanel__close[data-v-150f68ad]{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.editpanel__close[data-v-150f68ad]:hover{background:var(--state-hover);color:var(--text-strong)}.editpanel__cells[data-v-150f68ad]{max-height:140px;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:2px;margin:-2px}.editpanel__cellshead[data-v-150f68ad]{display:flex;align-items:center;gap:6px;padding:0 4px 4px;font-size:9px;letter-spacing:.06em;color:var(--text-faint);text-transform:uppercase}.cellitem__toggle[data-v-150f68ad]{margin-left:auto;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--rd-sm, 6px);padding:2px 7px;font-size:9px;letter-spacing:.04em;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cellitem__toggle[data-v-150f68ad]:hover{background:var(--state-hover);color:var(--text-strong)}.cellitem__toggle.is-on[data-v-150f68ad]{background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent);border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent);color:var(--text-strong)}.cellitem[data-v-150f68ad]{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:var(--rd-md);background:var(--surface-2);font-size:var(--fs-xs);border:1px solid var(--border-subtle);transition:background .12s,border-color .12s}.cellitem[data-v-150f68ad]:hover{border-color:color-mix(in srgb,var(--accent, #3b82f6) 30%,transparent)}.cellitem--clickable[data-v-150f68ad]{cursor:pointer}.cellitem--clickable[data-v-150f68ad]:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 10%,var(--surface-2))}.cellitem--new[data-v-150f68ad]{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.cellitem__col[data-v-150f68ad]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cellitem__col--place[data-v-150f68ad]{flex:1 1 auto;min-width:0;color:var(--text)}.cellitem__col--coord[data-v-150f68ad]{flex:0 0 auto;font-family:var(--font-mono);color:var(--text-muted);font-size:10px;width:64px;text-align:right}.cellitem__btn[data-v-150f68ad]{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--rd-sm, 6px);background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.cellitem__btn--load[data-v-150f68ad]:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 18%,transparent);border-color:color-mix(in srgb,var(--accent, #3b82f6) 45%,transparent);color:var(--text-strong)}.cellitem__btn--remove[data-v-150f68ad]:hover{background:var(--danger-soft, #fee2e2);border-color:color-mix(in srgb,var(--danger, #ef4444) 40%,transparent);color:var(--danger, #ef4444)}.miniform[data-v-150f68ad]{display:flex;flex-direction:column;gap:10px}.miniform__row[data-v-150f68ad]{display:flex;flex-direction:column;gap:5px}.miniform__label[data-v-150f68ad]{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-semibold)}.miniform__inferred[data-v-150f68ad]{font-style:italic;color:var(--brand-strong);text-transform:none;letter-spacing:0}.miniform__actions[data-v-150f68ad]{display:flex;gap:6px}.miniform__actions .btn[data-v-150f68ad]{flex:1;justify-content:center}.miniform__actions .btn--ghost[data-v-150f68ad]{flex:0 0 auto}.miniform__grid[data-v-150f68ad]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.miniform__grid--cc[data-v-150f68ad]{grid-template-columns:72px 1fr}.miniform__confirm[data-v-150f68ad]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--rd-md);background:var(--surface-2);border:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.miniform__confirm[data-v-150f68ad]:hover{border-color:var(--text-faint)}.miniform__confirm.is-on[data-v-150f68ad]{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.miniform__confirm input[data-v-150f68ad]{position:absolute;opacity:0;pointer-events:none}.miniform__confirm-box[data-v-150f68ad]{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:4px;border:1.5px solid var(--border-strong);background:var(--surface-1);color:transparent;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.miniform__confirm.is-on .miniform__confirm-box[data-v-150f68ad]{background:var(--success);border-color:var(--success);color:#fff}.miniform__confirm-text[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.3}.miniform__confirm.is-on .miniform__confirm-text[data-v-150f68ad]{color:var(--text)}.editpanel__ok[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--success);padding:0 2px;font-weight:var(--fw-semibold)}.editpanel__tools[data-v-150f68ad]{display:flex;flex-direction:column;gap:4px;padding:8px 12px 0}.editpanel__tools .btn--fill[data-v-150f68ad]{width:100%;flex:none}.editpanel__err[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--danger, #dc2626);padding:0 2px}.input[data-v-150f68ad]{padding:9px 11px;border-radius:var(--rd-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-strong);font-size:var(--fs-md);transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);width:100%;box-sizing:border-box}.input[data-v-150f68ad]::placeholder{color:var(--text-faint)}.input[data-v-150f68ad]:hover:not(:disabled):not(.input--readonly){border-color:var(--text-faint)}.input[data-v-150f68ad]:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--sh-focus)}.input--mono[data-v-150f68ad]{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-muted)}.input--readonly[data-v-150f68ad]{cursor:default;color:var(--text-muted)}.input--readonly[data-v-150f68ad]:focus{border-color:var(--border-strong);box-shadow:none}.btn[data-v-150f68ad]{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border-radius:var(--rd-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.01em;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.btn[data-v-150f68ad]:disabled{opacity:.5;cursor:not-allowed}.btn--ghost[data-v-150f68ad]{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);flex:1}.btn--ghost[data-v-150f68ad]:hover:not(:disabled){background:var(--surface-3);color:var(--text-strong);border-color:var(--border-strong)}.btn--primary[data-v-150f68ad]{background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:var(--text-on-brand);box-shadow:0 4px 12px var(--brand-ring);flex:2}.btn--primary[data-v-150f68ad]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px var(--brand-ring)}.btn--primary[data-v-150f68ad]:active:not(:disabled){transform:translateY(0)}.btn--lg[data-v-150f68ad]{padding:11px 16px;font-size:var(--fs-md)}.btn__spinner[data-v-150f68ad]{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin-150f68ad .7s linear infinite}.bottombar[data-v-150f68ad]{position:absolute;bottom:24px;left:12px;right:12px;display:flex;align-items:flex-end;gap:12px;pointer-events:none;z-index:10}.bottombar[data-v-150f68ad]>*{pointer-events:auto}.modebadge[data-v-150f68ad]{display:inline-flex;flex:none;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--rd-full);background:var(--surface-1);border:1px solid var(--border);color:var(--text-muted);font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.07em;text-transform:uppercase;pointer-events:none;z-index:10;box-shadow:var(--sh-sm);transition:color var(--dur-base) var(--ease),border-color var(--dur-base) var(--ease)}.modebadge__dot[data-v-150f68ad]{width:6px;height:6px;border-radius:50%;background:var(--text-faint);transition:background var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease)}.modebadge--edit[data-v-150f68ad]{color:var(--brand-strong);border-color:var(--brand-border)}.modebadge--edit .modebadge__dot[data-v-150f68ad]{background:var(--brand);box-shadow:0 0 8px var(--brand)}.modebadge--inverse[data-v-150f68ad]{color:var(--brand-strong);border-color:var(--brand-border)}.modebadge--inverse .modebadge__dot[data-v-150f68ad]{background:var(--brand);box-shadow:0 0 8px var(--brand)}.infocard[data-v-150f68ad]{flex:1 1 auto;max-width:420px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-md);padding:12px 14px;display:flex;flex-direction:column;gap:10px}.infocard__head[data-v-150f68ad]{display:flex;align-items:center;justify-content:space-between;gap:10px}.infocard__title-wrap[data-v-150f68ad]{display:flex;align-items:center;gap:10px;min-width:0}.infocard__icon[data-v-150f68ad]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);flex-shrink:0}.infocard__title[data-v-150f68ad]{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.infocard__subtitle[data-v-150f68ad]{display:block;font-size:10px;color:var(--text-subtle);letter-spacing:.05em;text-transform:uppercase;margin-top:2px}.infocard__close[data-v-150f68ad]{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);flex-shrink:0;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.infocard__close[data-v-150f68ad]:hover{background:var(--state-hover);color:var(--text-strong)}.infocard__list[data-v-150f68ad]{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.infocard__row[data-v-150f68ad]{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline;padding:6px 8px;border-radius:var(--rd-sm);background:var(--surface-0);border:1px solid var(--border)}.infocard__row dt[data-v-150f68ad]{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase}.infocard__row dd[data-v-150f68ad]{margin:0;font-size:var(--fs-sm);color:var(--text-strong);word-break:break-word}.infocard__loading[data-v-150f68ad]{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-muted)}.infocard__spinner[data-v-150f68ad]{width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--brand);animation:spin-150f68ad .7s linear infinite}.infocard__error[data-v-150f68ad]{font-size:var(--fs-sm);color:var(--warning)}.infocard__actions[data-v-150f68ad]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:4px}.infocard__btn[data-v-150f68ad]{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:var(--surface-0);border:1px solid var(--border);border-radius:var(--rd-md);font-size:10px;font-weight:var(--fw-semibold);color:var(--text-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);white-space:nowrap}.infocard__btn[data-v-150f68ad]:hover{background:var(--state-hover);border-color:var(--brand-300)}.infocard__btn svg[data-v-150f68ad]{flex-shrink:0}.zoomhint[data-v-150f68ad]{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:var(--surface-1);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:5px 14px;border-radius:var(--rd-full);pointer-events:none;z-index:10;box-shadow:var(--sh-sm)}.globalloader[data-v-150f68ad]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--sp-3);padding:14px 22px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-lg);box-shadow:var(--sh-lg);color:var(--text);z-index:30;pointer-events:none;max-width:360px}.globalloader__spinner[data-v-150f68ad]{width:22px;height:22px;border-radius:50%;border:3px solid color-mix(in srgb,var(--brand-500) 25%,transparent);border-top-color:var(--brand-500);animation:spin-150f68ad .9s linear infinite;flex:none}.globalloader__text[data-v-150f68ad]{display:flex;flex-direction:column;gap:2px}.globalloader__text strong[data-v-150f68ad]{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.globalloader__text span[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-muted)}.globalerr[data-v-150f68ad]{position:absolute;top:70px;left:50%;transform:translate(-50%);padding:8px 14px;background:var(--surface-1);color:var(--danger, #dc2626);border:1px solid color-mix(in srgb,var(--danger, #dc2626) 40%,transparent);border-radius:var(--rd-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);box-shadow:var(--sh-sm);z-index:30;pointer-events:none}@keyframes spin-150f68ad{to{transform:rotate(360deg)}}.panel__hint--info[data-v-150f68ad]{color:var(--brand-500);border-color:color-mix(in srgb,var(--brand-500) 35%,transparent)}.globalpanel[data-v-150f68ad]{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);border:1px solid color-mix(in srgb,var(--brand-500) 30%,transparent);background:color-mix(in srgb,var(--brand-500) 6%,var(--surface-1));border-radius:var(--rd-md)}.globalpanel__row[data-v-150f68ad]{display:flex;gap:var(--sp-2);align-items:flex-start}.globalpanel__dot[data-v-150f68ad]{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--brand-500);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-500) 20%,transparent)}.globalpanel__text[data-v-150f68ad]{display:flex;flex-direction:column;gap:2px}.globalpanel__text strong[data-v-150f68ad]{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.globalpanel__text span[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-muted)}.globalpanel__fetch[data-v-150f68ad],.globalpanel__exit[data-v-150f68ad]{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;gap:8px}.backdrop[data-v-150f68ad]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--sp-5)}.modal[data-v-150f68ad]{width:100%;max-width:560px;max-height:90vh;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-2xl);box-shadow:var(--sh-xl);display:flex;flex-direction:column;overflow:hidden}.modal-enter-active[data-v-150f68ad],.modal-leave-active[data-v-150f68ad]{transition:opacity var(--dur-base) var(--ease)}.modal-enter-active .modal[data-v-150f68ad],.modal-leave-active .modal[data-v-150f68ad]{transition:opacity var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.modal-enter-from[data-v-150f68ad],.modal-leave-to[data-v-150f68ad]{opacity:0}.modal-enter-from .modal[data-v-150f68ad],.modal-leave-to .modal[data-v-150f68ad]{transform:scale(.96) translateY(8px)}.modal__header[data-v-150f68ad]{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal__header-left[data-v-150f68ad]{display:flex;align-items:center;gap:12px;min-width:0}.modal__icon[data-v-150f68ad]{width:38px;height:38px;border-radius:var(--rd-lg);display:grid;place-items:center;background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 4px 12px var(--brand-ring);flex-shrink:0}.modal__title[data-v-150f68ad]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong);letter-spacing:-.01em}.modal__subtitle[data-v-150f68ad]{font-size:var(--fs-xs);color:var(--text-subtle);margin-top:2px}.modal__close[data-v-150f68ad]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);color:var(--text-subtle);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease);flex-shrink:0}.modal__close[data-v-150f68ad]:hover{background:var(--state-hover);color:var(--text-strong)}.modal__success[data-v-150f68ad]{display:flex;align-items:center;gap:14px;padding:var(--sp-8) var(--sp-6)}.modal__success-icon[data-v-150f68ad]{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--success-soft);color:var(--success);flex-shrink:0}.modal__success-title[data-v-150f68ad]{font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-strong)}.modal__success-subtitle[data-v-150f68ad]{font-size:var(--fs-sm);color:var(--text-subtle);margin-top:2px}.modal__section[data-v-150f68ad]{padding:16px 20px 0}.modal__section-head[data-v-150f68ad]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal__section-label[data-v-150f68ad]{font-size:10px;font-weight:var(--fw-bold);color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase}.modal__count[data-v-150f68ad]{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-muted);background:var(--surface-3);padding:2px 8px;border-radius:var(--rd-full);font-variant-numeric:tabular-nums}.chips[data-v-150f68ad]{display:flex;flex-wrap:wrap;gap:4px;max-height:90px;overflow-y:auto;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--rd-md)}.coord-chip[data-v-150f68ad]{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-sm);padding:2px 8px}.modal__form[data-v-150f68ad]{display:flex;flex-direction:column;gap:14px;padding:16px 20px 20px;overflow-y:auto}.section-title[data-v-150f68ad]{font-size:10px;font-weight:var(--fw-bold);color:var(--brand-strong);text-transform:uppercase;letter-spacing:.08em;padding-bottom:6px;border-bottom:1px solid var(--border);margin-top:4px}.section-title[data-v-150f68ad]:first-of-type{margin-top:0}.grid-2[data-v-150f68ad]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field[data-v-150f68ad]{display:flex;flex-direction:column;gap:5px}.field__label[data-v-150f68ad]{font-size:10px;font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px}.req[data-v-150f68ad]{color:var(--danger);font-size:11px;font-weight:var(--fw-bold)}.row-attached[data-v-150f68ad]{display:flex;gap:6px}.row-attached .input[data-v-150f68ad]{flex:1;min-width:0}.btn-attached[data-v-150f68ad]{width:36px;display:grid;place-items:center;border-radius:var(--rd-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--brand-strong);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.btn-attached[data-v-150f68ad]:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.alert[data-v-150f68ad]{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--rd-md);font-size:var(--fs-sm);line-height:1.4}.alert svg[data-v-150f68ad]{flex-shrink:0;margin-top:2px}.alert--error[data-v-150f68ad]{background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}.fade-enter-active[data-v-150f68ad],.fade-leave-active[data-v-150f68ad]{transition:opacity var(--dur-fast) var(--ease)}.fade-enter-from[data-v-150f68ad],.fade-leave-to[data-v-150f68ad]{opacity:0}.modal__actions[data-v-150f68ad]{display:flex;gap:8px;margin-top:4px}@media (max-width: 860px){.dir[data-v-150f68ad]{grid-template-columns:1fr;grid-template-rows:1fr auto}.panel[data-v-150f68ad]{order:2;max-height:40vh;border-right:none;border-top:1px solid var(--border)}.map-wrap[data-v-150f68ad]{order:1;min-height:50vh}.editpanel[data-v-150f68ad]{width:calc(100% - 24px)}.toolbar[data-v-150f68ad]{flex-wrap:wrap;max-width:calc(100% - 24px)}}.layout[data-v-240e1932]{display:grid;grid-template-rows:var(--header-h) 1fr;height:100vh;min-height:0;background:var(--surface-0)}.layout__header[data-v-240e1932]{background:var(--surface-nav);border-bottom:1px solid var(--border);position:relative;z-index:20}.layout__header-inner[data-v-240e1932]{height:100%;display:flex;align-items:center;gap:var(--sp-4);padding:0 var(--sp-5)}.layout__brand[data-v-240e1932]{display:flex;align-items:center;gap:10px;color:var(--text-strong);font-weight:var(--fw-semibold);letter-spacing:-.01em}.layout__brand[data-v-240e1932]:hover{text-decoration:none}.layout__logo[data-v-240e1932]{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--rd-md);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));color:var(--text-on-brand);box-shadow:0 4px 10px var(--brand-ring),inset 0 1px #ffffff40}.layout__brand-name[data-v-240e1932]{font-size:var(--fs-lg)}.layout__nav[data-v-240e1932]{display:flex;align-items:center;gap:2px;flex:1;margin-left:var(--sp-3)}.layout__nav-item[data-v-240e1932]{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);padding:8px 12px;border-radius:var(--rd-md);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layout__nav-item[data-v-240e1932]:hover{color:var(--text-strong);background:var(--surface-nav-hover);text-decoration:none}.layout__nav-item.is-active[data-v-240e1932]{color:var(--brand-strong);background:var(--brand-soft)}.layout__nav-dot[data-v-240e1932]{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.55}.layout__nav-item.is-active .layout__nav-dot[data-v-240e1932]{opacity:1}.layout__actions[data-v-240e1932]{display:flex;align-items:center;gap:8px}.layout__icon-btn[data-v-240e1932]{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--rd-md);border:1px solid var(--border);background:transparent;color:var(--text-muted);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.layout__icon-btn[data-v-240e1932]:hover{color:var(--text-strong);background:var(--surface-nav-hover);border-color:var(--border-strong)}.layout__mobile-toggle[data-v-240e1932]{display:none}.layout__user-wrap[data-v-240e1932]{position:relative}.layout__user-btn[data-v-240e1932]{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:var(--rd-full);border:1px solid var(--border);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.layout__user-btn[data-v-240e1932]:hover,.layout__user-btn.is-open[data-v-240e1932]{border-color:var(--border-strong);background:var(--surface-nav-hover)}.layout__avatar[data-v-240e1932]{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:var(--fw-bold);color:var(--text-on-brand);background:linear-gradient(135deg,var(--brand-600),var(--brand-400));flex-shrink:0;text-transform:uppercase}.layout__avatar--lg[data-v-240e1932]{width:36px;height:36px;font-size:14px}.layout__user-email[data-v-240e1932]{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout__user-caret[data-v-240e1932]{color:var(--text-faint);transition:transform var(--dur-fast) var(--ease)}.layout__user-btn.is-open .layout__user-caret[data-v-240e1932]{transform:rotate(180deg)}.layout__menu[data-v-240e1932]{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--rd-xl);box-shadow:var(--sh-lg);padding:var(--sp-2);z-index:var(--z-dropdown)}.layout__menu-head[data-v-240e1932]{display:flex;align-items:center;gap:10px;padding:var(--sp-2) var(--sp-3)}.layout__menu-id[data-v-240e1932]{display:flex;flex-direction:column;min-width:0}.layout__menu-email[data-v-240e1932]{color:var(--text-strong);font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.layout__menu-role[data-v-240e1932]{color:var(--text-faint);font-size:var(--fs-xs)}.layout__menu-divider[data-v-240e1932]{height:1px;background:var(--border);margin:6px 0}.layout__menu-item[data-v-240e1932]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:var(--rd-md);color:var(--text);font-size:var(--fs-sm);transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.layout__menu-item[data-v-240e1932]:hover{background:var(--surface-nav-hover);color:var(--text-strong)}.layout__menu-item--danger[data-v-240e1932]{color:var(--danger)}.layout__menu-item--danger[data-v-240e1932]:hover{background:var(--danger-soft);color:var(--danger)}.menu-enter-active[data-v-240e1932],.menu-leave-active[data-v-240e1932]{transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.menu-enter-from[data-v-240e1932],.menu-leave-to[data-v-240e1932]{opacity:0;transform:translateY(-6px) scale(.98)}.layout__main[data-v-240e1932]{min-height:0;overflow:hidden}@media (max-width: 720px){.layout__header-inner[data-v-240e1932]{padding:0 var(--sp-3);gap:var(--sp-2)}.layout__brand-name[data-v-240e1932],.layout__user-email[data-v-240e1932]{display:none}.layout__mobile-toggle[data-v-240e1932]{display:grid}.layout__nav[data-v-240e1932]{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:4px;padding:var(--sp-3);margin:0;background:var(--surface-1);border-bottom:1px solid var(--border);box-shadow:var(--sh-md);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease)}.layout__nav.is-open[data-v-240e1932]{opacity:1;transform:translateY(0);pointer-events:auto}}:root{--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.25;--lh-normal: 1.5;--sp-0: 0;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--rd-sm: 4px;--rd-md: 6px;--rd-lg: 8px;--rd-xl: 12px;--rd-2xl: 16px;--rd-full: 9999px;--header-h: 56px;--panel-w: 320px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--z-dropdown: 50;--z-overlay: 100;--z-modal: 1000;--z-toast: 1100;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-400: #60a5fa}:root,[data-theme=dark]{color-scheme:dark;--surface-0: #060b18;--surface-1: #0b1424;--surface-2: #0f1b30;--surface-3: #14243d;--surface-4: #1a2d50;--surface-nav: #0b1220;--surface-nav-hover: #162033;--text-strong: #f1f5f9;--text: #cbd5e1;--text-muted: #94a3b8;--text-subtle: #64748b;--text-faint: #475569;--text-on-brand: #ffffff;--border: #1e293b;--border-strong: #334155;--border-subtle: #13203a;--border-focus: var(--brand-500);--state-hover: rgba(255, 255, 255, .04);--state-active: rgba(255, 255, 255, .08);--overlay: rgba(2, 6, 16, .72);--brand: var(--brand-500);--brand-strong: var(--brand-400);--brand-soft: rgba(59, 130, 246, .14);--brand-ring: rgba(59, 130, 246, .28);--brand-border: #1e3a6e;--success: #4ade80;--success-soft: rgba(74, 222, 128, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: var(--brand-400);--sh-sm: 0 1px 2px rgba(0, 0, 0, .35);--sh-md: 0 4px 12px rgba(0, 0, 0, .4);--sh-lg: 0 10px 32px rgba(0, 0, 0, .5);--sh-xl: 0 24px 60px rgba(0, 0, 0, .65);--sh-focus: 0 0 0 3px var(--brand-ring)}[data-theme=light]{color-scheme:light;--surface-0: #f1f5f9;--surface-1: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--surface-4: #e2e8f0;--surface-nav: #ffffff;--surface-nav-hover: #f1f5f9;--text-strong: #0b1220;--text: #1e293b;--text-muted: #475569;--text-subtle: #64748b;--text-faint: #94a3b8;--text-on-brand: #ffffff;--border: #e2e8f0;--border-strong: #cbd5e1;--border-subtle: #eef2f7;--border-focus: var(--brand-600);--state-hover: rgba(15, 23, 42, .04);--state-active: rgba(15, 23, 42, .08);--overlay: rgba(15, 23, 42, .45);--brand: var(--brand-600);--brand-strong: var(--brand-700);--brand-soft: rgba(37, 99, 235, .08);--brand-ring: rgba(37, 99, 235, .25);--brand-border: #bfdbfe;--success: #16a34a;--success-soft: rgba(22, 163, 74, .1);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .12);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--info: var(--brand-600);--sh-sm: 0 1px 2px rgba(15, 23, 42, .06);--sh-md: 0 6px 16px rgba(15, 23, 42, .08);--sh-lg: 0 12px 32px rgba(15, 23, 42, .12);--sh-xl: 0 24px 60px rgba(15, 23, 42, .18);--sh-focus: 0 0 0 3px var(--brand-ring)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--text);background:var(--surface-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}:focus-visible{outline:none;box-shadow:var(--sh-focus);border-radius:var(--rd-sm)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--rd-full);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:padding-box}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
