@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Thin-D8Z0RbIt.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-ExtraLight-DWOxcBvX.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Light-BfeKiK-D.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Regular-DHqa3JTn.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Medium-CUGnS-PN.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-SemiBold-CLISmBOp.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Bold-B_t2WhO7.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-ExtraBold-BReMSWK_.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Vazirmatn FD;src:url(/assets/Vazirmatn-FD-Black-CJtKXQQl.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bfdbfe;--color-blue-300:#93c5fd;--color-blue-400:#60a5fa;--color-blue-500:#3b82f6;--color-blue-600:#2563eb;--color-blue-700:#1d4ed8;--color-blue-800:#1e40af;--color-blue-900:#1e3a8a;--color-blue-950:#172554;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#64748b;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-slate-900:#0f172a;--color-slate-950:#020617;--color-green-50:#ecfdf5;--color-green-100:#d1fae5;--color-green-200:#a7f3d0;--color-green-400:#34d399;--color-green-500:#10b981;--color-green-600:#059669;--color-green-700:#047857;--color-green-900:#064e3b;--color-amber-50:#fffbeb;--color-amber-100:#fef3c7;--color-amber-400:#fbbf24;--color-amber-500:#f59e0b;--color-amber-600:#d97706;--color-amber-700:#b45309;--color-amber-900:#78350f;--color-orange-50:#fff7ed;--color-orange-400:#fb923c;--color-orange-500:#f97316;--color-orange-600:#ea580c;--color-orange-700:#c2410c;--color-red-50:#fef2f2;--color-red-100:#fee2e2;--color-red-400:#f87171;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-red-900:#7f1d1d;--color-violet-50:#f5f3ff;--color-violet-100:#ede9fe;--color-violet-400:#a78bfa;--color-violet-500:#8b5cf6;--color-violet-600:#7c3aed;--color-violet-700:#6d28d9;--color-white:#fff;--color-black:#000;--color-ink-0:#fff;--color-ink-25:#fcfcfd;--color-ink-50:#f8f9fa;--color-ink-100:#eceef1;--color-ink-200:#dcdfe4;--color-ink-300:#b9bec6;--color-ink-400:#a3acb5;--color-ink-500:#6c757d;--color-ink-600:#575f67;--color-ink-700:#3f484f;--color-ink-800:#293138;--color-ink-850:#1d252b;--color-ink-900:#141d23;--color-ink-950:#0e1418;--color-ink-text:#1a1a1a;--color-mehraneh-success:#28a745;--color-mehraneh-success-soft:#e8f6ec;--color-mehraneh-warning:#9a6a00;--color-mehraneh-warning-soft:#fff6e0;--color-mehraneh-warning-icon:#c98a00;--color-mehraneh-warning-fill:#f0a500;--color-mehraneh-info:#2f6fed;--color-mehraneh-info-soft:#eef3fe;--color-mehraneh-error:#ba1a1a;--color-mehraneh-error-soft:#ffdad6;--color-mehraneh-row-hover:#fffbe6;--color-mehraneh-row-selected:#fff3c4;--font-family-sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-family-fa:"Vazirmatn FD", Tahoma, sans-serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.5;--line-height-relaxed:1.65;--letter-spacing-tight:-.01em;--letter-spacing-normal:0;--letter-spacing-wide:.04em;--space-0:0px;--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;--space-16:64px;--space-20:80px;--space-0-5:2px;--radius-none:0px;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-2xl:28px;--radius-full:9999px;--border-width-hairline:1px;--border-width-thin:1.5px;--border-width-thick:2px;--shadow-xs:0 1px 2px 0 #0f172a0f;--shadow-sm:0 4px 20px #0000000d;--shadow-md:0 8px 28px #0000001f;--shadow-lg:0 12px 32px #11182729, 0 2px 6px #11182714;--shadow-xl:0 24px 40px -12px #0f172a38;--duration-instant:80ms;--duration-fast:.14s;--duration-base:.22s;--duration-slow:.32s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-decelerate:cubic-bezier(0, 0, 0, 1);--ease-accelerate:cubic-bezier(.3, 0, 1, 1);--z-base:0;--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-toast:1400;--z-tooltip:1500;--size-touch-target-min:48px;--size-control-sm:32px;--size-control-md:40px;--size-control-lg:48px;--size-control-xl:56px;--size-icon-sm:16px;--size-icon-md:20px;--size-icon-lg:24px;--size-icon-xl:32px;--breakpoint-sm:640;--breakpoint-md:768;--breakpoint-lg:1024;--breakpoint-xl:1280;--breakpoint-2xl:1536;--asset-operational-fg:#047857;--asset-operational-bg:#ecfdf5;--asset-operational-dot:#10b981;--asset-degraded-fg:#b45309;--asset-degraded-bg:#fffbeb;--asset-degraded-dot:#f59e0b;--asset-down-fg:#b91c1c;--asset-down-bg:#fef2f2;--asset-down-dot:#dc2626;--asset-maintenance-fg:#1d4ed8;--asset-maintenance-bg:#eff6ff;--asset-maintenance-dot:#2563eb;--asset-idle-fg:#475569;--asset-idle-bg:#f1f5f9;--asset-idle-dot:#94a3b8;--asset-retired-fg:#64748b;--asset-retired-bg:#f1f5f9;--asset-retired-dot:#cbd5e1;--wo-requested:#64748b;--wo-approved:#7c3aed;--wo-assigned:#2563eb;--wo-in-progress:#3b82f6;--wo-on-hold:#f59e0b;--wo-completed:#059669;--wo-verified:#047857;--wo-closed:#475569;--wo-cancelled:#94a3b8;--priority-low-fg:#475569;--priority-low-bg:#f1f5f9;--priority-medium-fg:#b45309;--priority-medium-bg:#fffbeb;--priority-high-fg:#c2410c;--priority-high-bg:#fff7ed;--priority-critical-fg:#b91c1c;--priority-critical-bg:#fef2f2;--bg-canvas:#f8f9fa;--bg-surface:#fff;--bg-surface-muted:#f8f9fa;--bg-inverse:#1a1a1a;--border-default:#eceef1;--border-strong:#dcdfe4;--border-focus:#2563eb;--text-primary:#1a1a1a;--text-secondary:#6c757d;--text-muted:#a3acb5;--text-inverse:#fff;--text-link:#2563eb;--brand-primary:#2563eb;--brand-primary-hover:#1d4ed8;--brand-on-primary:#fff;--brand-subtle:#eff6ff;--feedback-success:#28a745;--feedback-success-subtle:#e8f6ec;--feedback-warning:#f0a500;--feedback-warning-subtle:#fff6e0;--feedback-danger:#ba1a1a;--feedback-danger-subtle:#ffdad6;--feedback-info:#2f6fed;--feedback-info-subtle:#eef3fe;--sidebar-bg:#fff;--sidebar-bg-accent:#fff;--sidebar-text:#1a1a1a;--sidebar-text-muted:#6c757d;--sidebar-border:#eceef1;--sidebar-item-hover-bg:#f8f9fa;--sidebar-item-selected-bg:#eff6ff;--sidebar-logo-bg:#fff;--map-canvas-bg:#f8fafc;--map-floor-bg:#fff;--map-floor-structure:#e2e8f0;--map-floor-structure-muted:#f1f5f9;--map-floor-line:#cbd5e1;--map-floor-text:#334155;--map-floor-text-muted:#64748b;--map-marker-bg:#94a3b8;--map-marker-icon:#fff;--map-grid-major:#64748b40;--map-grid-minor:#64748b1a;--brand-gradient:linear-gradient(155deg, #3b82f6 0%, #2563eb 45%, #1e40af 100%);--feedback-warning-text:#9a6a00;--sidebar-item-selected-text:#2563eb;--header-bg:#ffffffe6;--table-row-hover:#fffbe6;--table-row-selected:#fff3c4;--table-row-odd:#fcfcfd}:root[data-theme=dark]{--bg-canvas:#0e1418;--bg-surface:#141d23;--bg-surface-muted:#1d252b;--bg-inverse:#f8f9fa;--border-default:#293138;--border-strong:#3f484f;--border-focus:#60a5fa;--text-primary:#f8f9fa;--text-secondary:#b9bec6;--text-muted:#6c757d;--text-inverse:#1a1a1a;--text-link:#60a5fa;--brand-primary:#3b82f6;--brand-primary-hover:#60a5fa;--brand-on-primary:#fff;--brand-subtle:#172554;--feedback-success:#49c25c;--feedback-success-subtle:#49c25c24;--feedback-warning:#f0a500;--feedback-warning-subtle:#f0a50024;--feedback-danger:#ff5449;--feedback-danger-subtle:#ff544924;--feedback-info:#6f9cf5;--feedback-info-subtle:#2f6fed29;--sidebar-bg:#141d23;--sidebar-bg-accent:#141d23;--sidebar-text:#f8f9fa;--sidebar-text-muted:#a3acb5;--sidebar-border:#293138;--sidebar-item-hover-bg:#1d252b;--sidebar-item-selected-bg:#3b82f629;--sidebar-logo-bg:#1d252b;--map-canvas-bg:#020617;--map-floor-bg:#0f172a;--map-floor-structure:#334155;--map-floor-structure-muted:#1e293b;--map-floor-line:#475569;--map-floor-text:#e2e8f0;--map-floor-text-muted:#94a3b8;--map-marker-bg:#64748b;--map-marker-icon:#f1f5f9;--map-grid-major:#94a3b838;--map-grid-minor:#94a3b814;--brand-gradient:linear-gradient(155deg, #1d4ed8 0%, #1e3a8a 50%, #172554 100%);--feedback-warning-text:#f5c04d;--sidebar-item-selected-text:#60a5fa;--header-bg:#141d23d9;--table-row-hover:#ffd60012;--table-row-selected:#ffd60024;--table-row-odd:#ffffff04}:root{--app-font-family:var(--font-family-fa);--auth-hero-bg:radial-gradient(circle at 82% 12%, #ffffff2e, transparent 46%), var(--brand-gradient);--auth-hero-glow:#ffffff2e;--auth-hero-divider:#ffffff38}:root[data-theme=dark]{--auth-hero-bg:radial-gradient(circle at 82% 12%, #ffffff14, transparent 48%), var(--brand-gradient);--auth-hero-glow:#ffffff1a;--auth-hero-divider:#ffffff1f}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{font-family:var(--app-font-family);background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.6}.ant-card{transition:box-shadow var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard)}.ant-card-hoverable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ant-btn{transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-instant) var(--ease-standard)}.ant-btn-primary:not(:disabled):active{transform:translateY(1px)}kbd,.app-kbd{border:1px solid var(--border-default);background:var(--bg-surface);min-width:18px;height:18px;color:var(--text-secondary);white-space:nowrap;direction:ltr;border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding-inline:5px;font:600 11px/1 system-ui,sans-serif;display:inline-flex}.app-search-trigger{background:var(--bg-surface-muted);border-color:var(--border-default);border-radius:var(--radius-md);height:38px}.app-search-trigger:hover{background:var(--bg-surface);border-color:var(--border-default)!important}.app-search-trigger .app-kbd{margin-inline-start:auto}.command-palette-modal .ant-modal-content{padding:0;overflow:hidden}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-md);background-clip:content-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.app-sider .ant-layout-sider-trigger{border-top:1px solid var(--sidebar-border);transition:background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);color:var(--sidebar-text-muted)!important;background:0 0!important}.app-sider .ant-layout-sider-trigger:hover{background:var(--sidebar-item-hover-bg)!important;color:var(--sidebar-text)!important}.plant-layout-context-menu button:not(:disabled):hover{background:var(--bg-surface-muted)}.plant-map-marker .anticon{color:var(--map-marker-icon)}@keyframes plant-status-lamp-pulse{0%,to{opacity:.4;transform:scale(.9);box-shadow:0 0 2px}50%{opacity:1;box-shadow:0 0 8px currentColor, 0 0 14px color-mix(in srgb, currentColor 55%, transparent);transform:scale(1.1)}}.plant-status-lamp{color:var(--lamp-color,#10b981);background:var(--lamp-color,#10b981);animation:plant-status-lamp-pulse var(--lamp-period,2s) ease-in-out infinite;display:block}@media (prefers-reduced-motion:reduce){.plant-status-lamp{opacity:1;animation:none;transform:none;box-shadow:0 0 4px}}.dt-resize-handle{cursor:col-resize;touch-action:none;z-index:1;-webkit-user-select:none;user-select:none;width:9px;position:absolute;inset-block:0;inset-inline-end:-4px}.dt-resize-handle:after{content:"";width:2px;transition:background var(--duration-fast) var(--ease-standard);background:0 0;border-radius:2px;position:absolute;inset-block:25%;inset-inline-end:4px}.dt-resize-handle:hover:after,.dt-resize-handle:active:after{background:var(--brand-primary)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.ant-card-hoverable:hover{transform:none}}@media (width<=768px){.app-search-trigger{width:40px;justify-content:center!important;min-width:40px!important;padding-inline:0!important}.app-search-trigger>span,.app-search-trigger .app-kbd,.app-new-label{display:none}.app-header-actions{flex-wrap:nowrap}.plant-map-marker{width:34px!important;height:34px!important;font-size:15px!important}.plant-map-marker-label{max-width:64px!important;font-size:10px!important}}.app-brand-icon{background:var(--sidebar-logo-bg);border:1px solid var(--sidebar-border);width:44px;height:44px;color:var(--brand-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.app-brand-name{letter-spacing:-.01em;color:var(--sidebar-text);font-size:15px;font-weight:800}.app-brand-tagline{color:var(--sidebar-text-muted);text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.app-mobile-nav-drawer .ant-drawer-body{padding:0}@media (width<=1023px){.plant-layout-editor{width:100%}.plant-layout-viewport{min-height:min(70vh,640px)!important}}@media (width<=576px){.plant-layout-viewport{border-radius:8px!important;min-height:min(55vh,480px)!important}.plant-map-legend{font-size:11px;inset-inline-start:8px!important;padding:4px 8px!important;bottom:8px!important}}@media (width<=767px){.ant-picker-dropdown{z-index:1100;max-width:calc(100vw - 12px)}.ant-picker-panel-container{max-width:calc(100vw - 12px)!important}.ant-picker-panel-layout{max-width:100%;flex-wrap:wrap!important}.ant-picker-panels{flex-flow:column!important;display:flex!important}.ant-picker-panels .ant-picker-panel{border-inline-end:none!important;width:100%!important}.ant-picker-panels .ant-picker-panel+.ant-picker-panel{border-block-start:1px solid var(--border-default)}.ant-picker-datetime-panel{flex-direction:column!important;display:flex!important}.ant-picker-datetime-panel .ant-picker-time-panel{border-block-start:1px solid var(--border-default);border-inline-start:none!important;width:100%!important}.ant-picker-time-panel-column{flex:1 1 0;max-height:180px;overflow-y:auto}.ant-picker-content{width:100%!important}.ant-picker-content th,.ant-picker-content td{min-width:0;padding:0!important}.ant-picker-cell{padding:2px 0!important}.ant-picker-cell-inner{font-size:13px;width:100%!important;min-width:0!important;height:32px!important;line-height:32px!important}.ant-picker-header-view{white-space:normal;line-height:1.4}.app-range-picker.ant-picker,.app-date-picker.ant-picker{max-width:100%;width:100%!important}}.wo-mobile-card{border:1px solid var(--border-default);background:var(--bg-surface);width:100%;color:inherit;cursor:pointer;text-align:start;appearance:none;box-shadow:none;border-radius:12px;margin:0;padding:12px 14px;display:block}.wo-mobile-card:hover,.wo-mobile-card:focus-visible{border-color:var(--brand-primary);outline:none}.wo-mobile-filters>*{width:100%}.wo-view-segmented{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.wo-view-segmented .ant-segmented{min-width:max-content}.chat-page--mobile{max-width:none}[dir=rtl] .chat-thread-header .anticon-arrow-left{transform:scaleX(-1)}@media (width<=767px){.chat-page--mobile .chat-bubble-wrap{max-width:min(88%,520px)!important}.chat-page--mobile .chat-channel-list--fluid{width:100%}.ds-data-table-toolbar{flex-direction:column;align-items:stretch!important}.ds-data-table-search{width:100%!important;max-width:100%!important}.asset-table-filters>*,.audit-filters>.ant-select,.audit-filters>.ant-picker{flex:140px}.wo-calendar-grid{-webkit-overflow-scrolling:touch}}.app-nav .ant-menu-item-selected{font-weight:700}.app-nav .ant-menu-item{color:var(--sidebar-text)}.app-nav .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--brand-primary);font-weight:700}.app-nav .ant-menu-sub.ant-menu-inline{border-inline-start:2px solid var(--border-default);margin-inline-start:18px;padding-inline-start:6px;background:0 0!important}.app-nav .ant-menu-sub .ant-menu-item{height:34px;font-size:12.5px;line-height:34px}.page-tabs{z-index:99;scrollbar-width:none;background:var(--bg-surface);border-block-end:1px solid var(--border-default);align-items:flex-end;gap:2px;height:42px;padding-inline:20px;display:flex;position:sticky;top:60px;overflow-x:auto}.page-tabs a{min-width:120px;max-width:200px;height:34px;color:var(--text-secondary);white-space:nowrap;transition:background var(--duration-fast), color var(--duration-fast);border-radius:10px 10px 0 0;flex-shrink:0;align-items:center;gap:7px;padding-inline:12px;font-size:12.5px;text-decoration:none;display:flex;position:relative}.page-tabs a:hover{background:var(--bg-canvas);color:var(--text-primary)}.page-tabs a:not(.active):not(:hover)+a:not(.active):not(:hover):before{content:"";border-inline-start:1px solid var(--border-default);position:absolute;inset-block:9px;inset-inline-start:-1px}.page-tabs a.active{background:var(--bg-canvas);height:36px;color:var(--text-primary);border:1px solid var(--border-default);border-block-end-color:var(--bg-canvas);box-shadow:inset 0 2px 0 var(--brand-primary);margin-block-end:-1px;font-weight:600}.page-tabs a.active .ico{color:var(--brand-primary)}.page-tabs .label{text-overflow:ellipsis;flex:1;overflow:hidden}.page-tabs .x{width:20px;height:20px;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity var(--duration-fast), background var(--duration-fast);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:10px;display:grid}.page-tabs a:hover .x,.page-tabs a.active .x,.page-tabs .x:focus-visible{opacity:1}.page-tabs .x:hover,.page-tabs .close-all:hover{background:var(--brand-subtle);color:var(--brand-primary)}.page-tabs .close-all{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;align-self:center;align-items:center;gap:5px;margin-inline-start:8px;padding:4px 9px;font-size:12px;display:flex}@media (width<=768px){.page-tabs{padding-inline:8px}}@media print{.page-tabs,.app-header,.app-sider{display:none!important}}.ds-data-table-toolbar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:6px 8px}.ds-data-table-toolbar .ant-input-affix-wrapper{background:var(--bg-canvas)}.ds-tool.ant-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-secondary)}.ds-tool.ant-btn:not(:disabled):hover{background:var(--bg-canvas);color:var(--text-primary)}.ds-tool.on{background:var(--brand-subtle);color:var(--brand-primary)}.ds-row-count{white-space:nowrap;color:var(--text-secondary);border-radius:var(--radius-full);background:var(--bg-canvas);margin-inline-end:4px;padding:2px 10px;font-size:12px}.ds-table .ant-table{border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ds-table .ant-table-thead>tr>th{font-size:12px;font-weight:700}.ds-table .ant-table-tbody>tr:nth-child(2n):not(.ant-table-row-selected)>td{background:var(--table-row-odd)}.ds-table .ant-table-tbody>tr.ant-table-row:hover>td{background:var(--table-row-hover)}.ds-table .ant-table-tbody>tr.ant-table-row-selected>td{background-color:var(--table-row-selected);background-image:repeating-linear-gradient(-45deg,#c8960029 0 1px,#0000 1px 7px)}.ds-table .ant-table-pagination.ant-pagination{background:var(--table-row-odd);border:1px solid var(--border-default);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-block-start:0;justify-content:flex-end;margin:0;padding:8px 14px;font-size:12px}.ds-table:has(.ant-table-pagination) .ant-table{border-end-end-radius:0;border-end-start-radius:0}.ds-table .ant-pagination-item,.ds-table .ant-pagination-prev,.ds-table .ant-pagination-next{border-radius:8px}.auth-page{background:radial-gradient(60rem 40rem at 100% 0%, color-mix(in srgb, var(--brand-primary) 12%, transparent), transparent 60%), radial-gradient(40rem 30rem at 0% 100%, var(--brand-subtle), transparent 60%), var(--bg-canvas);min-height:100vh;padding:24px;position:relative}.auth-shell-card{background:var(--bg-surface);border-radius:var(--radius-2xl);width:min(980px,100%);min-height:560px;box-shadow:0 30px 80px color-mix(in srgb, var(--brand-primary) 12%, transparent), 0 4px 16px #1118270f;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.auth-shell-card.single{grid-template-columns:1fr;width:min(460px,100%);min-height:0}.dash-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-block-end:16px;display:grid}.dash-kpi{height:100%}.dash-kpi-icon{border-radius:var(--radius-md);flex:none;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.dash-kpi-value{color:var(--text-primary);font-size:20px;font-weight:800;line-height:1.35}.dash-alert{background:var(--feedback-warning-subtle);color:var(--feedback-warning-text);border-radius:12px;align-items:center;gap:10px;margin-block-end:12px;padding:10px 16px;display:flex}.dash-alert a{color:inherit;margin-inline-start:auto;font-weight:700}.dash-row{color:inherit;border-radius:10px;align-items:center;gap:10px;padding:7px 8px;display:flex}.dash-row:hover{background:var(--table-row-hover);color:inherit}.asset-tree,.asset-tree ul{margin:0;padding:0;list-style:none}.asset-node__children{border-inline-start:1px solid var(--border-default);margin-inline-start:16px;padding-inline-start:8px}.asset-node__row{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:34px;color:var(--text-primary);border-radius:8px;align-items:center;gap:8px;padding-block:2px;padding-inline:6px;transition:background .14s cubic-bezier(.2,0,0,1);display:flex}.asset-node__row:hover{background:var(--bg-surface-muted)}.asset-node__row:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.asset-node__row--selected,.asset-node__row--selected:hover{background:var(--brand-subtle);color:var(--text-link)}.asset-node__row--selected .asset-node__name{font-weight:600}.asset-node__row--inactive{opacity:.55}.asset-node__row--inactive .asset-node__name{text-decoration:line-through}.asset-node__caret{width:18px;height:18px;color:var(--text-muted);border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:12px;transition:transform .14s,background .14s;display:inline-flex}.asset-node__caret:hover{background:color-mix(in srgb, currentColor 14%, transparent);color:var(--text-secondary)}.asset-node__caret--open{transform:rotate(90deg)}:root[dir=rtl] .asset-node__caret:not(.asset-node__caret--open){transform:rotate(180deg)}.asset-node__caret--leaf{visibility:hidden}.asset-node__icon{color:var(--text-muted);flex:none;display:inline-flex}.asset-node__row--selected .asset-node__icon{color:var(--text-link)}.asset-node__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.asset-node__count{text-align:center;min-width:22px;color:var(--text-muted);background:var(--bg-surface-muted);border-radius:999px;flex:none;padding-inline:6px;font-size:12px;line-height:18px}.asset-header__avatar{width:48px;height:48px;color:var(--brand-primary);background:var(--brand-subtle);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:22px;display:inline-flex}
