.app-header[data-v-0b02feb5]{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);height:var(--header-height);background:color-mix(in srgb,var(--color-bg-secondary) 94%,transparent);border-bottom:1px solid var(--color-border-default);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0;z-index:var(--z-sticky)}.header-left[data-v-0b02feb5]{display:flex;align-items:center;gap:var(--space-3);border:0;background:transparent;color:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);transition:background .15s ease}.header-left[data-v-0b02feb5]:focus{outline:none}.header-left[data-v-0b02feb5]:focus-visible{outline:2px solid var(--theme-primary);outline-offset:3px}@media(hover:hover)and (pointer:fine){.header-left[data-v-0b02feb5]:hover{background:var(--color-bg-hover)}.header-left:hover .tenant-name[data-v-0b02feb5]{color:var(--theme-primary)}}.tenant-logo[data-v-0b02feb5]{display:flex;align-items:center;flex-shrink:0}.tenant-logo-img[data-v-0b02feb5]{height:48px;width:auto;object-fit:contain;display:block}.tenant-info[data-v-0b02feb5]{display:flex;flex-direction:column;line-height:1.2}.tenant-name[data-v-0b02feb5]{font-size:var(--font-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);white-space:nowrap;transition:color .15s ease;letter-spacing:-.02em}.tenant-sub[data-v-0b02feb5]{font-size:var(--font-xs);color:var(--color-text-muted);white-space:nowrap;margin-top:1px}.header-right[data-v-0b02feb5]{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.theme-toggle[data-v-0b02feb5]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:1px solid var(--color-surface-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle[data-v-0b02feb5]:hover{background:var(--color-bg-hover);color:var(--theme-selected-text);border-color:var(--theme-selected-border)}.theme-toggle[data-v-0b02feb5]:focus{outline:none}.theme-toggle[data-v-0b02feb5]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.theme-icon[data-v-0b02feb5]{width:16px;height:16px}.header-user[data-v-0b02feb5]{display:flex;align-items:center;gap:var(--space-2)}.user-info[data-v-0b02feb5]{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;min-width:0;max-width:min(32vw,260px)}.user-name[data-v-0b02feb5]{font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-title[data-v-0b02feb5]{font-size:11px;color:var(--color-text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-avatar[data-v-0b02feb5]{width:38px;height:38px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));color:var(--theme-primary-contrast);display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);font-weight:var(--font-weight-bold);letter-spacing:.03em;flex-shrink:0;box-shadow:0 2px 8px #1b2a4a4d}.header-btn[data-v-0b02feb5]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-surface-border);background:transparent;color:var(--color-text-secondary);font-size:var(--font-sm);text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.header-btn[data-v-0b02feb5]:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-strong)}.header-btn[data-v-0b02feb5]:focus{outline:none}.header-btn[data-v-0b02feb5]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.header-btn.logout[data-v-0b02feb5]:hover{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-bg)}@media(max-width:768px){.user-info[data-v-0b02feb5],.tenant-info[data-v-0b02feb5]{display:none}}@media(max-width:640px){.app-header[data-v-0b02feb5]{padding:0 var(--space-3)}.header-left[data-v-0b02feb5]{padding:var(--space-1) 0;flex:1 1 auto;overflow:hidden}.tenant-logo-img[data-v-0b02feb5]{width:min(188px,54vw);height:auto;max-height:40px}.tenant-logo[data-v-0b02feb5]{padding:0}.header-right[data-v-0b02feb5]{gap:var(--space-2)}.theme-toggle[data-v-0b02feb5],.header-btn[data-v-0b02feb5]{width:34px;height:34px}.user-avatar[data-v-0b02feb5]{width:36px;height:36px}}.app-footer[data-v-36d681c1]{border-top:1px solid var(--color-surface-border);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-5);margin-top:auto}.footer-inner[data-v-36d681c1]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-xs);color:var(--color-text-muted)}.footer-brand[data-v-36d681c1]{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.footer-x[data-v-36d681c1]{font-weight:var(--font-weight-bold);color:var(--color-brand)}.footer-sep[data-v-36d681c1]{opacity:.4}.footer-version[data-v-36d681c1]{font-family:var(--font-mono, monospace);font-size:10px;opacity:.6}.toast-container[data-v-43385b3d]{--toast-success: var(--color-success);--toast-success-bg: var(--color-success-bg);--toast-success-border: var(--color-success-border);--toast-warning: var(--color-warning);--toast-warning-bg: var(--color-warning-bg);--toast-warning-border: var(--color-warning-border);--toast-error: var(--color-danger);--toast-error-bg: var(--color-danger-bg);--toast-error-border: var(--color-danger-border);--toast-info: var(--color-info);--toast-info-bg: var(--color-info-bg);--toast-info-border: var(--color-info-border);position:fixed;top:calc(var(--header-height) + var(--space-3));right:var(--space-4);z-index:calc(var(--z-toast) + 200);display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);pointer-events:none}.toast-item[data-v-43385b3d]{width:100%;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid;cursor:pointer;box-shadow:var(--shadow-lg);transition:all var(--transition-normal);pointer-events:auto;overflow-wrap:anywhere;word-break:break-word;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.toast-item.success[data-v-43385b3d]{background:var(--toast-success-bg);border-color:var(--toast-success-border)}.toast-item.error[data-v-43385b3d]{background:var(--toast-error-bg);border-color:var(--toast-error-border)}.toast-item.warning[data-v-43385b3d]{background:var(--toast-warning-bg);border-color:var(--toast-warning-border)}.toast-item.info[data-v-43385b3d]{background:var(--toast-info-bg);border-color:var(--toast-info-border)}.toast-icon[data-v-43385b3d]{font-size:var(--font-md);min-width:20px;text-align:center}.toast-item.success .toast-icon[data-v-43385b3d]{color:var(--toast-success)}.toast-item.error .toast-icon[data-v-43385b3d]{color:var(--toast-error)}.toast-item.warning .toast-icon[data-v-43385b3d]{color:var(--toast-warning)}.toast-item.info .toast-icon[data-v-43385b3d]{color:var(--toast-info)}.toast-message[data-v-43385b3d]{flex:1;min-width:0;font-size:var(--font-sm);line-height:1.45;color:var(--color-text-primary);white-space:normal}.toast-close[data-v-43385b3d]{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-lg);line-height:1;padding:0 var(--space-1)}.toast-close[data-v-43385b3d]:hover{color:var(--color-text-primary)}@media(max-width:768px){.toast-container[data-v-43385b3d]{top:auto;right:12px;left:12px;bottom:calc(16px + env(safe-area-inset-bottom));width:auto;max-width:none;align-items:stretch}.toast-item[data-v-43385b3d]{padding:12px 14px;border-radius:14px}}.toast-move[data-v-43385b3d]{transition:all .4s cubic-bezier(.16,1,.3,1)}.toast-enter-active[data-v-43385b3d]{transition:all .45s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-43385b3d]{transition:all .35s cubic-bezier(.4,0,.2,1)}.toast-enter-from[data-v-43385b3d]{transform:translateY(12px);opacity:0}.toast-leave-to[data-v-43385b3d]{transform:translateY(12px) scale(.95);opacity:0}.spinner[data-v-3a728f28]{border:2px solid var(--color-bg-hover);border-top-color:var(--color-brand);border-radius:50%;animation:spin-3a728f28 .6s linear infinite}.spinner.sm[data-v-3a728f28]{width:16px;height:16px}.spinner.md[data-v-3a728f28]{width:24px;height:24px}.spinner.lg[data-v-3a728f28]{width:40px;height:40px;border-width:3px}@keyframes spin-3a728f28{to{transform:rotate(360deg)}}.btn[data-v-5d571787]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn[data-v-5d571787]:focus{outline:none}.btn[data-v-5d571787]:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--theme-focus-ring)}.btn[data-v-5d571787]:disabled{opacity:.62;cursor:not-allowed;color:var(--color-text-disabled)}.btn.block[data-v-5d571787]{width:100%}.btn.loading[data-v-5d571787]{pointer-events:none}.btn.sm[data-v-5d571787]{padding:var(--space-1) var(--space-3);font-size:var(--font-xs);height:28px}.btn.md[data-v-5d571787]{padding:var(--space-2) var(--space-4);font-size:var(--font-sm);height:36px}.btn.lg[data-v-5d571787]{padding:var(--space-3) var(--space-6);font-size:var(--font-base);height:44px}.btn.primary[data-v-5d571787]{background:var(--theme-primary);color:var(--theme-primary-contrast)}.btn.primary[data-v-5d571787]:hover:not(:disabled){background:var(--theme-primary-hover)}.btn.secondary[data-v-5d571787]{background:var(--color-surface-elevated);color:var(--color-text-primary);border-color:var(--color-border-default)}.btn.secondary[data-v-5d571787]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.btn.secondary[data-v-5d571787]:active:not(:disabled){background:var(--color-bg-active)}.btn.ghost[data-v-5d571787]{background:transparent;color:var(--color-text-secondary)}.btn.ghost[data-v-5d571787]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.btn.danger[data-v-5d571787]{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.btn.danger[data-v-5d571787]:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 22%,var(--color-danger-bg))}.btn.success[data-v-5d571787]{background:var(--theme-secondary);color:var(--theme-secondary-contrast)}.btn.success[data-v-5d571787]:hover:not(:disabled){background:var(--theme-secondary-hover)}.dialog-backdrop[data-v-55c10dd9]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-dialog);padding:var(--space-4)}.dialog-panel[data-v-55c10dd9]{background:var(--color-surface);border:1px solid var(--color-surface-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:440px;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;outline:none}.dialog-icon[data-v-55c10dd9]{width:52px;height:52px;border-radius:var(--radius-full);border:1px solid;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);flex-shrink:0}.dialog-icon svg[data-v-55c10dd9]{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tone-brand .dialog-icon[data-v-55c10dd9]{color:var(--color-brand);border-color:var(--color-brand);background:var(--color-brand-bg, #eef2ff)}.tone-danger .dialog-icon[data-v-55c10dd9]{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg, #fff1f2)}.tone-warning .dialog-icon[data-v-55c10dd9]{color:var(--color-warning);border-color:var(--color-warning);background:var(--color-warning-bg, #fffbeb)}.dialog-title[data-v-55c10dd9]{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.dialog-message[data-v-55c10dd9]{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:var(--line-height);margin:0 0 var(--space-6) 0;max-width:350px}.dialog-actions[data-v-55c10dd9]{display:flex;gap:var(--space-3);width:100%}.dialog-actions[data-v-55c10dd9]>*{flex:1}.dialog-actions.single-action[data-v-55c10dd9]{max-width:200px}.dialog-enter-active[data-v-55c10dd9]{animation:backdropIn-55c10dd9 .15s ease forwards}.dialog-enter-active .dialog-panel[data-v-55c10dd9]{animation:dialogIn-55c10dd9 .2s cubic-bezier(.34,1.4,.64,1) both}.dialog-leave-active[data-v-55c10dd9]{animation:backdropOut-55c10dd9 .12s ease .04s forwards}.dialog-leave-active .dialog-panel[data-v-55c10dd9]{animation:dialogOut-55c10dd9 .12s ease both}@keyframes backdropIn-55c10dd9{0%{opacity:0}to{opacity:1}}@keyframes backdropOut-55c10dd9{0%{opacity:1}to{opacity:0}}@keyframes dialogIn-55c10dd9{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes dialogOut-55c10dd9{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media(max-width:640px){.dialog-backdrop[data-v-55c10dd9]{padding:var(--space-3)}.dialog-panel[data-v-55c10dd9]{padding:var(--space-5)}}.app-layout[data-v-ffb36f97]{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:var(--tenant-app-bg-image, none);background-size:contain;background-repeat:no-repeat;background-position:center;background-attachment:fixed}.app-content[data-v-ffb36f97]{flex:1;padding:var(--space-6);overflow-y:auto;max-width:100%;min-width:0}@media(max-width:768px){.app-content[data-v-ffb36f97]{padding:var(--space-3)}}.auth-layout[data-v-4fa2c6e7]{min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family)}.platform-layout[data-v-a3700e52]{display:flex;min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family)}.platform-sidebar[data-v-a3700e52]{width:260px;min-height:100vh;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-default);display:flex;flex-direction:column;position:sticky;top:0;flex-shrink:0}.sidebar-brand[data-v-a3700e52]{display:flex;align-items:center;gap:12px;padding:20px 20px 24px;border-bottom:1px solid var(--color-border-subtle)}.brand-icon[data-v-a3700e52]{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--color-bg-active) 0%,var(--color-bg-primary) 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-text[data-v-a3700e52]{display:flex;flex-direction:column}.brand-title[data-v-a3700e52]{font-size:15px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.3px}.brand-subtitle[data-v-a3700e52]{font-size:11px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.sidebar-nav[data-v-a3700e52]{flex:1;padding:12px 8px;display:flex;flex-direction:column;gap:2px}.nav-item[data-v-a3700e52]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--color-text-secondary);text-decoration:none;font-size:13.5px;font-weight:500;transition:all .15s ease;cursor:pointer}.nav-item[data-v-a3700e52]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-item.active[data-v-a3700e52]{background:var(--theme-nav-active-bg);color:var(--theme-nav-active-text);box-shadow:inset 3px 0 0 var(--theme-selected-border)}.nav-icon[data-v-a3700e52]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-label[data-v-a3700e52]{white-space:nowrap}.sidebar-footer[data-v-a3700e52]{padding:12px 8px;border-top:1px solid var(--color-border-subtle)}.logout-btn[data-v-a3700e52]{width:100%;border:none;background:none;color:var(--color-text-tertiary)!important;font-size:13px;cursor:pointer}.logout-btn[data-v-a3700e52]:hover{color:#ef4444!important;background:#ef444414}.platform-main[data-v-a3700e52]{flex:1;min-width:0;display:flex;flex-direction:column}.platform-header[data-v-a3700e52]{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;border-bottom:1px solid var(--color-border);background:var(--color-bg-primary);position:sticky;top:0;z-index:10}.header-title[data-v-a3700e52]{font-size:18px;font-weight:600;color:var(--color-text-primary)}.header-env[data-v-a3700e52]{padding:4px 10px;background:#6366f11a;color:#6366f1;border-radius:6px;font-size:12px;font-weight:600}.platform-content[data-v-a3700e52]{flex:1;padding:24px 32px;overflow-y:auto}@media(max-width:768px){.platform-sidebar[data-v-a3700e52]{width:56px}.brand-text[data-v-a3700e52],.nav-label[data-v-a3700e52],.sidebar-footer .nav-label[data-v-a3700e52]{display:none}.sidebar-brand[data-v-a3700e52]{justify-content:center;padding:16px 8px}.platform-content[data-v-a3700e52]{padding:16px}}:root,[data-theme=dark]{--color-bg-primary: #0d121a;--color-bg-secondary: #131a24;--color-bg-tertiary: #192230;--color-bg-elevated: #202b3a;--color-bg-hover: #243246;--color-bg-active: #2b3b52;--color-bg-selected: rgba(245, 146, 27, .18);--color-bg-input: #101722;--color-surface: #151d29;--color-surface-hover: #1c2736;--color-surface-muted: #111923;--color-surface-elevated: #202b3a;--color-surface-border: #2c3a4f;--color-border: var(--color-surface-border);--color-border-default: #2c3a4f;--color-border-subtle: #223044;--color-border-strong: #486078;--color-border-focus: rgba(245, 146, 27, .72);--color-text-primary: #eef2f7;--color-text-secondary: #c5cfdb;--color-text-muted: #94a3b8;--color-text-disabled: #65758a;--color-text-tertiary: var(--color-text-muted);--color-text-inverse: #111827;--color-text-link: #f7a94a;--color-brand: #ffad3d;--color-brand-hover: #f5921b;--color-brand-active: #d97706;--color-brand-light: rgba(245, 146, 27, .18);--color-navy: #1B2A4A;--color-navy-dark: #0D1B2A;--color-navy-light: #2C3E5A;--color-success: #6ee7a8;--color-success-bg: rgba(34, 197, 94, .16);--color-success-border: rgba(74, 222, 128, .34);--color-warning: #f8c96a;--color-warning-bg: rgba(245, 158, 11, .16);--color-warning-border: rgba(251, 191, 36, .36);--color-danger: #fca5a5;--color-danger-bg: rgba(239, 68, 68, .15);--color-danger-border: rgba(248, 113, 113, .35);--color-info: #93c5fd;--color-info-bg: rgba(59, 130, 246, .15);--color-info-border: rgba(96, 165, 250, .34);--theme-primary: var(--color-brand);--theme-primary-hover: var(--color-brand-hover);--theme-primary-soft: var(--color-brand-light);--theme-primary-strong: #ffc36c;--theme-primary-contrast: #172033;--theme-secondary: var(--color-success);--theme-secondary-hover: var(--color-success-border);--theme-secondary-soft: var(--color-success-bg);--theme-secondary-strong: var(--color-success-border);--theme-secondary-contrast: #0b1510;--theme-focus-ring: rgba(245, 146, 27, .28);--theme-nav-active-bg: var(--color-bg-selected);--theme-nav-active-text: #ffd19a;--theme-selected-bg: var(--color-bg-selected);--theme-selected-border: rgba(245, 146, 27, .55);--theme-selected-text: #ffd19a;--theme-support-bg: var(--theme-secondary-soft);--theme-support-text: var(--theme-secondary);--theme-support-strong: var(--theme-secondary-strong);--color-brand-bg: var(--color-brand-light);--color-success-text: var(--color-success);--color-danger-text: var(--color-danger);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .22);--shadow-md: 0 10px 24px rgba(0, 0, 0, .28);--shadow-lg: 0 18px 42px rgba(0, 0, 0, .34);--shadow-xl: 0 24px 70px rgba(0, 0, 0, .42)}[data-theme=light]{--color-bg-primary: #f8f9fb;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f3f5;--color-bg-elevated: #ffffff;--color-bg-hover: #e9ecef;--color-bg-active: #dee2e6;--color-bg-selected: rgba(232, 136, 15, .08);--color-bg-input: #ffffff;--color-surface: #ffffff;--color-surface-hover: #f8f9fa;--color-surface-muted: #f1f3f5;--color-surface-elevated: #ffffff;--color-surface-border: #dee2e6;--color-border: var(--color-surface-border);--color-border-default: #dee2e6;--color-border-subtle: #e9ecef;--color-border-strong: #adb5bd;--color-border-focus: rgba(232, 136, 15, .58);--color-text-primary: #1a1a2e;--color-text-secondary: #495057;--color-text-muted: #868e96;--color-text-disabled: #adb5bd;--color-text-tertiary: var(--color-text-muted);--color-text-inverse: #ffffff;--color-text-link: var(--color-brand);--color-brand: #E8880F;--color-brand-hover: #D47A0A;--color-brand-active: #B86208;--color-brand-light: rgba(232, 136, 15, .08);--color-navy: #1B2A4A;--color-navy-dark: #0F1A2E;--color-navy-light: #2C3E5A;--color-success: #16a34a;--color-success-bg: #f0fdf4;--color-success-border: #bbf7d0;--color-warning: #d97706;--color-warning-bg: #fffbeb;--color-warning-border: #fde68a;--color-danger: #dc2626;--color-danger-bg: #fef2f2;--color-danger-border: #fecaca;--color-info: #2563eb;--color-info-bg: #eff6ff;--color-info-border: #bfdbfe;--theme-primary: var(--color-brand);--theme-primary-hover: var(--color-brand-hover);--theme-primary-soft: var(--color-brand-light);--theme-primary-strong: var(--color-brand-hover);--theme-primary-contrast: #ffffff;--theme-secondary: var(--color-success);--theme-secondary-hover: var(--color-success-border);--theme-secondary-soft: var(--color-success-bg);--theme-secondary-strong: var(--color-success-border);--theme-secondary-contrast: #ffffff;--theme-focus-ring: var(--theme-primary-soft);--theme-nav-active-bg: var(--theme-primary-soft);--theme-nav-active-text: var(--theme-primary);--theme-selected-bg: var(--color-bg-selected);--theme-selected-border: rgba(232, 136, 15, .35);--theme-selected-text: var(--theme-primary);--theme-support-bg: var(--theme-secondary-soft);--theme-support-text: var(--theme-secondary);--theme-support-strong: var(--theme-secondary-strong);--color-brand-bg: var(--color-brand-light);--color-success-text: var(--color-success);--color-danger-text: var(--color-danger);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .16)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Cascadia Code", "Consolas", monospace;--font-xs: 11px;--font-sm: 13px;--font-base: 14px;--font-md: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height: 1.5;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--z-dropdown: 410;--z-sticky: 200;--z-drawer: 300;--z-modal: 400;--z-dialog: 450;--z-toast: 500;--z-tooltip: 600;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--header-height: 80px;--sidebar-width: 260px;--sidebar-collapsed-width: 64px;--footer-height: 40px;--content-max-width: 1200px}[data-theme]{transition:background-color .3s ease,color .3s ease,border-color .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-base);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh}a{color:var(--color-text-link);text-decoration:none}a:hover{color:var(--color-brand-hover)}button{font-family:inherit;cursor:pointer}input,textarea,select,button{color-scheme:inherit}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary);box-shadow:0 0 0 1000px var(--color-bg-input) inset;transition:background-color 9999s ease-out}code,pre{font-family:var(--font-mono)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-surface-muted)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:1px solid var(--color-surface-muted)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) var(--color-surface-muted)}::selection{background:var(--theme-selected-bg);color:var(--color-text-primary)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-brand)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-right{text-align:right}.text-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-0{margin:0}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.border{border:1px solid var(--color-surface-border)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:640px){.sm\:hidden{display:none!important}}@media(max-width:768px){.md\:hidden{display:none!important}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}@media(min-width:641px){.sm\:flex{display:flex}.sm\:block{display:block}}@media(min-width:769px){.md\:flex{display:flex}.md\:block{display:block}}.fade-enter-active{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.fade-leave-active{transition:opacity .2s cubic-bezier(.4,0,.2,1)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active{transition:all .3s cubic-bezier(.16,1,.3,1)}.slide-up-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.slide-up-enter-from{opacity:0;transform:translateY(8px) scale(.98)}.slide-up-leave-to{opacity:0;transform:translateY(4px) scale(.99)}.scale-enter-active{transition:all .35s cubic-bezier(.16,1,.3,1)}.scale-leave-active{transition:all .25s cubic-bezier(.4,0,.2,1)}.scale-enter-from{opacity:0;transform:scale(.92)}.scale-leave-to{opacity:0;transform:scale(.96)}.slide-right-enter-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.slide-right-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-right-enter-from,.slide-right-leave-to{transform:translate(100%)}.slide-left-enter-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.slide-left-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.slide-left-enter-from,.slide-left-leave-to{transform:translate(-100%)}.toast-move,.toast-enter-active{transition:all .4s cubic-bezier(.16,1,.3,1)}.toast-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.toast-enter-from{opacity:0;transform:translate(80px)}.toast-leave-to{opacity:0;transform:translate(80px) scale(.95)}html[data-theme=dark] .login-page .brand-strip{background:linear-gradient(180deg,#07101c,#0b1625 42%,#101d31);box-shadow:18px 0 50px -10px #00000080}html[data-theme=dark] .login-page .form-panel{background:var(--color-bg-primary)}html[data-theme=dark] .login-page .form-panel:before{background:linear-gradient(90deg,rgba(0,0,0,.18),transparent)}html[data-theme=dark] .login-page .login-card,html[data-theme=dark] .login-page .tenant-logo-box,html[data-theme=dark] .point-tooltip,html[data-theme=dark] .mobile-detail-panel,html[data-theme=dark] .leaflet-popup-content-wrapper{background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary);box-shadow:var(--shadow-lg)}html[data-theme=dark] .login-page .tenant-brand{background:radial-gradient(circle at 18% 18%,var(--theme-primary-soft),transparent 34%),radial-gradient(circle at 82% 18%,var(--color-info-bg),transparent 36%),var(--color-surface);border-bottom-color:var(--color-border-subtle)}html[data-theme=dark] .login-page .tenant-logo-box.large{background:transparent;border-color:transparent;box-shadow:none}html[data-theme=dark] .login-page .company-name,html[data-theme=dark] .login-page .tooltip-header strong{color:var(--color-text-primary)}html[data-theme=dark] .login-page .company-sub,html[data-theme=dark] .login-page .field label,html[data-theme=dark] .login-page .powered-by,html[data-theme=dark] .login-page .input-icon,html[data-theme=dark] .login-page .eye-btn{color:var(--color-text-muted)}html[data-theme=dark] .login-page .input-wrapper input{background:var(--color-bg-input);border-color:var(--color-border-default);color:var(--color-text-primary)}html[data-theme=dark] .login-page .input-wrapper input:hover{border-color:var(--color-border-strong)}html[data-theme=dark] .login-page .input-wrapper input:focus{background:var(--color-bg-input);border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--theme-focus-ring)}html[data-theme=dark] .login-page .input-wrapper input::placeholder{color:var(--color-text-disabled)}html[data-theme=dark] .login-page .input-wrapper:has(input:focus) .input-icon{color:var(--theme-selected-text)}html[data-theme=dark] .login-page .submit-btn{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-strong) 100%);color:var(--theme-primary-contrast);box-shadow:0 10px 24px var(--theme-focus-ring)}html[data-theme=dark] .login-page .error-msg{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}html[data-theme=dark] .login-page .eye-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}html[data-theme=dark] .confidence-alert{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}html[data-theme=dark] .legend-help{color:var(--color-text-link)}html[data-theme=dark] .point-core{stroke:var(--color-bg-primary)}html[data-theme=dark] .axis{stroke:var(--color-border-strong)}html[data-theme=dark] .grid-line,html[data-theme=dark] .chart-surface{stroke:var(--color-border-default)}html[data-theme=dark] .axis-label,html[data-theme=dark] .quadrant-label{fill:var(--color-text-muted)}html[data-theme=dark] .leaflet-container{background:var(--color-surface-muted);color:var(--color-text-primary)}html[data-theme=dark] .leaflet-control-zoom a,html[data-theme=dark] .leaflet-control-attribution{background:var(--color-surface-elevated);border-color:var(--color-border-default);color:var(--color-text-primary)}html[data-theme=dark] .leaflet-control-zoom a:hover{background:var(--color-bg-hover);color:var(--theme-selected-text)}html[data-theme=dark] .leaflet-popup-tip{background:var(--color-surface-elevated)}html[data-theme=dark] .leaflet-popup-content,html[data-theme=dark] .leaflet-popup-content a,html[data-theme=dark] .leaflet-control-attribution a{color:var(--color-text-link)}html[data-theme=dark] .location-map{border-color:var(--color-border-default);background:var(--color-surface-muted)}html[data-theme=dark] .property-location-pin span{border-color:var(--color-bg-primary)}
