:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.sidenav.svelte-3nxoop{color:#94a3b8;z-index:100;background:#1e293b;flex-direction:column;width:220px;height:100vh;transition:width .2s;display:flex;position:fixed;top:0;left:0}.sidenav.collapsed.svelte-3nxoop{width:60px}.brand.svelte-3nxoop{cursor:pointer;border-bottom:1px solid #334155;align-items:center;gap:10px;padding:20px 16px;display:flex}.brand-icon.svelte-3nxoop{color:#3b82f6;font-size:20px}.brand-text.svelte-3nxoop{color:#f1f5f9;white-space:nowrap;font-size:16px;font-weight:700}.nav-items.svelte-3nxoop{flex-direction:column;flex:1;gap:2px;padding:12px 8px;display:flex;overflow-y:auto}.nav-item.svelte-3nxoop{color:#94a3b8;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:all .15s;display:flex}.nav-item.svelte-3nxoop:hover{color:#e2e8f0;background:#334155}.nav-item.active.svelte-3nxoop{color:#fff;background:#3b82f6}.nav-icon.svelte-3nxoop{flex-shrink:0;align-items:center;display:flex}.nav-label.svelte-3nxoop{white-space:nowrap}.nav-footer.svelte-3nxoop{border-top:1px solid #334155;padding:12px 8px}.nav-section-label.svelte-3nxoop{color:#64748b;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;margin-top:4px;margin-bottom:2px;padding:4px 12px;font-size:10px;font-weight:600}.nav-divider.svelte-3nxoop{background:#334155;height:1px;margin:8px 12px}.overlay.svelte-3nxoop{display:none}@media (width<=768px){.sidenav.svelte-3nxoop{z-index:300;width:250px;transition:left .25s;position:fixed;left:-260px}.sidenav.collapsed.svelte-3nxoop{width:250px;left:-260px}.sidenav.mobile-open.svelte-3nxoop{left:0}.overlay.svelte-3nxoop{z-index:299;background:#0006;display:block;position:fixed;inset:0}}.topbar.svelte-2z9tup{background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:20px;height:56px;padding:0 24px;display:flex}.topbar-left.svelte-2z9tup{flex-shrink:0}.page-title.svelte-2z9tup{color:#111827;margin:0;font-size:18px;font-weight:600}.topbar-center.svelte-2z9tup{flex:1;justify-content:center;display:flex}.quick-connect.svelte-2z9tup{background:#f3f4f6;border-radius:8px;gap:6px;padding:4px;display:flex}.quick-connect.svelte-2z9tup input:where(.svelte-2z9tup){letter-spacing:2px;background:0 0;border:none;outline:none;width:180px;padding:6px 12px;font-family:monospace;font-size:14px}.quick-connect.svelte-2z9tup button:where(.svelte-2z9tup){color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:6px 16px;font-size:13px}.quick-connect.svelte-2z9tup button:where(.svelte-2z9tup):disabled{opacity:.4;cursor:default}.topbar-right.svelte-2z9tup{flex-shrink:0;align-items:center;gap:8px;display:flex}.lang-btn.svelte-2z9tup{cursor:pointer;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.lang-btn.svelte-2z9tup:hover{background:#e5e7eb}.user-area.svelte-2z9tup{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 8px;display:flex;position:relative}.user-area.svelte-2z9tup:hover{background:#f3f4f6}.user-avatar.svelte-2z9tup{color:#fff;background:#3b82f6;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.user-name.svelte-2z9tup{color:#374151;font-size:14px}.user-dropdown.svelte-2z9tup{z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:140px;margin-top:4px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001a}.user-dropdown.svelte-2z9tup button:where(.svelte-2z9tup){text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:8px 16px;font-family:inherit;font-size:13px;display:block}.user-dropdown.svelte-2z9tup button:where(.svelte-2z9tup):hover{background:#f3f4f6}.hamburger.svelte-2z9tup{cursor:pointer;color:#374151;background:0 0;border:none;padding:4px 8px;font-size:22px;display:none}@media (width<=768px){.hamburger.svelte-2z9tup{display:block}.topbar.svelte-2z9tup{gap:8px;padding:0 12px}.page-title.svelte-2z9tup{font-size:15px}.topbar-center.svelte-2z9tup,.user-name.svelte-2z9tup{display:none}}.toast-host.svelte-13sitxh{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast.svelte-13sitxh{cursor:pointer;border-radius:8px;padding:10px 20px;font-size:13px;animation:.2s svelte-13sitxh-slideIn;box-shadow:0 4px 12px #00000026}.toast-info.svelte-13sitxh{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.toast-success.svelte-13sitxh{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.toast-error.svelte-13sitxh{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.toast-warning.svelte-13sitxh{color:#92400e;background:#fffbeb;border:1px solid #fde68a}@keyframes svelte-13sitxh-slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.confirm-backdrop.svelte-1do5m0m{z-index:9998;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box.svelte-1do5m0m{background:#fff;border-radius:12px;min-width:360px;padding:24px;box-shadow:0 8px 24px #0003}.confirm-box.svelte-1do5m0m h3:where(.svelte-1do5m0m){color:#111827;margin:0 0 8px;font-size:16px}.confirm-box.svelte-1do5m0m p:where(.svelte-1do5m0m){color:#6b7280;margin:0 0 20px;font-size:14px}.confirm-actions.svelte-1do5m0m{justify-content:flex-end;gap:8px;display:flex}.btn-cancel.svelte-1do5m0m{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 20px;font-size:13px}.btn-confirm.svelte-1do5m0m{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;padding:8px 20px;font-size:13px}.login-page.svelte-1428x5h{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card.svelte-1428x5h{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:380px;padding:40px 36px;box-shadow:0 4px 20px #0000000d}.brand.svelte-1428x5h{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}.brand-icon.svelte-1428x5h{color:#3b82f6;font-size:24px}h2.svelte-1428x5h{color:#111827;margin:0;font-size:26px}.subtitle.svelte-1428x5h{color:#6b7280;margin:0 0 24px;font-size:14px}.form.svelte-1428x5h{flex-direction:column;gap:12px;display:flex}input.svelte-1428x5h{border:1px solid #d1d5db;border-radius:8px;outline:none;padding:12px 16px;font-family:inherit;font-size:15px}input.svelte-1428x5h:focus{border-color:#2563eb}.btn-primary.svelte-1428x5h{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;margin-top:4px;padding:12px;font-size:15px}.btn-primary.svelte-1428x5h:hover{background:#1d4ed8}.btn-primary.svelte-1428x5h:disabled{cursor:not-allowed;background:#93c5fd}.error.svelte-1428x5h{color:#dc2626;margin-top:12px;font-size:14px}.success.svelte-1428x5h{color:#16a34a;margin-top:12px;font-size:14px}.toggle-row.svelte-1428x5h{justify-content:center;gap:16px;margin-top:16px;display:flex}.mode-toggle.svelte-1428x5h{color:#6b7280;cursor:pointer;background:0 0;border:none;margin-top:12px;font-size:13px;text-decoration:underline}.mode-toggle.svelte-1428x5h:hover{color:#2563eb}.back-home.svelte-1428x5h{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin:20px auto 0;font-size:12px;display:block}.back-home.svelte-1428x5h:hover{color:#374151}@media (width<=480px){.login-card.svelte-1428x5h{width:100%;padding:28px 20px}h2.svelte-1428x5h{font-size:22px}}.badge.svelte-1w7chvl{background:color-mix(in srgb, var(--badge-color) 12%, transparent);color:var(--badge-color);border-radius:4px;align-items:center;gap:5px;font-weight:500;display:inline-flex}.badge-sm.svelte-1w7chvl{padding:1px 6px;font-size:11px}.badge-md.svelte-1w7chvl{padding:2px 8px;font-size:12px}.dot.svelte-1w7chvl{background:var(--badge-color);border-radius:50%;flex-shrink:0;width:6px;height:6px}.loading-state.svelte-13vrruf{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner.svelte-13vrruf{border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite svelte-13vrruf-spin}p.svelte-13vrruf{margin:0;font-size:14px}@keyframes svelte-13vrruf-spin{to{transform:rotate(360deg)}}.empty-state.svelte-9y6kyk{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.icon.svelte-9y6kyk{margin-bottom:12px;font-size:40px}p.svelte-9y6kyk{margin:0;font-size:14px}.dashboard-page.svelte-1eem88v{min-height:100%;padding:24px}.error-state.svelte-1eem88v{flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-1eem88v{color:#ef4444;margin-bottom:16px;font-size:14px}.kpi-row.svelte-1eem88v{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.kpi-card.svelte-1eem88v{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:16px;padding:20px;display:flex;box-shadow:0 1px 3px #0000000f}.kpi-icon.svelte-1eem88v{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-icon-blue.svelte-1eem88v{color:#3b82f6;background:#eff6ff}.kpi-icon-green.svelte-1eem88v{color:#22c55e;background:#f0fdf4}.kpi-icon-purple.svelte-1eem88v{color:#8b5cf6;background:#f5f3ff}.kpi-icon-red.svelte-1eem88v{color:#ef4444;background:#fef2f2}.kpi-body.svelte-1eem88v{flex-direction:column;gap:2px;display:flex}.kpi-value.svelte-1eem88v{color:#111827;font-size:28px;font-weight:700;line-height:1.2}.kpi-label.svelte-1eem88v{color:#6b7280;font-size:13px}.content-row.svelte-1eem88v{grid-template-columns:1fr 2fr;gap:16px;display:grid}.card.svelte-1eem88v{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000000f}.card-title.svelte-1eem88v{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.card-desc.svelte-1eem88v{color:#6b7280;margin:0 0 20px;font-size:13px}.connect-form.svelte-1eem88v{gap:10px;display:flex}.connect-input.svelte-1eem88v{letter-spacing:4px;text-align:center;border:1px solid #d1d5db;border-radius:6px;outline:none;flex:1;height:42px;padding:0 14px;font-size:18px;transition:border-color .15s}.connect-input.svelte-1eem88v:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.btn.svelte-1eem88v{cursor:pointer;border:none;border-radius:6px;height:42px;padding:0 20px;font-size:14px;font-weight:500;transition:background .15s}.btn.svelte-1eem88v:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-1eem88v{color:#fff;background:#3b82f6}.btn-primary.svelte-1eem88v:hover:not(:disabled){background:#2563eb}.session-list.svelte-1eem88v{flex-direction:column;display:flex}.session-item.svelte-1eem88v{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.session-item.svelte-1eem88v:last-child{border-bottom:none}.session-info.svelte-1eem88v{flex-direction:column;gap:2px;display:flex}.session-device.svelte-1eem88v{color:#111827;font-size:14px;font-weight:500}.session-time.svelte-1eem88v{color:#9ca3af;font-size:12px}.session-meta.svelte-1eem88v{align-items:center;gap:10px;display:flex}.session-duration.svelte-1eem88v{color:#6b7280;font-size:12px}@media (width<=900px){.kpi-row.svelte-1eem88v{grid-template-columns:repeat(2,1fr)}.content-row.svelte-1eem88v{grid-template-columns:1fr}}.devices-page.svelte-zo8ode{min-height:100%;padding:24px}.page-header.svelte-zo8ode{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-zo8ode{color:#111827;margin:0;font-size:20px;font-weight:600}.device-count.svelte-zo8ode{color:#6b7280;font-size:13px}.toolbar.svelte-zo8ode{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-box.svelte-zo8ode{flex:1;max-width:360px;position:relative}.search-icon.svelte-zo8ode{color:#9ca3af;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input.svelte-zo8ode{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;height:38px;padding:0 12px 0 36px;font-size:13px;transition:border-color .15s}.search-input.svelte-zo8ode:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.filter-group.svelte-zo8ode{background:#f3f4f6;border-radius:6px;gap:2px;padding:2px;display:flex}.filter-btn.svelte-zo8ode{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;height:32px;padding:0 14px;font-size:13px;transition:all .15s}.filter-btn.active.svelte-zo8ode{color:#111827;background:#fff;font-weight:500;box-shadow:0 1px 2px #0000000f}.error-state.svelte-zo8ode{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-zo8ode{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-zo8ode{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-zo8ode{border-collapse:collapse;width:100%}.data-table.svelte-zo8ode th:where(.svelte-zo8ode){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-zo8ode td:where(.svelte-zo8ode){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-zo8ode tbody:where(.svelte-zo8ode) tr:where(.svelte-zo8ode):hover{background:#f9fafb}.data-table.svelte-zo8ode tbody:where(.svelte-zo8ode) tr:where(.svelte-zo8ode):last-child td:where(.svelte-zo8ode){border-bottom:none}.cell-name.svelte-zo8ode{color:#111827;font-weight:500}.cell-id.svelte-zo8ode{color:#6b7280;font-family:monospace;font-size:12px}.cell-time.svelte-zo8ode{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-zo8ode{white-space:nowrap}.btn.svelte-zo8ode{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-zo8ode:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-zo8ode{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-zo8ode{color:#fff;background:#3b82f6}.btn-primary.svelte-zo8ode:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-zo8ode{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-zo8ode:hover{color:#374151;background:#f9fafb}.btn-outline-secondary.svelte-zo8ode{color:#6b7280;background:0 0;border:1px solid #d1d5db}.btn-outline-secondary.svelte-zo8ode:hover{color:#374151;background:#f3f4f6;border-color:#9ca3af}@media (width<=768px){.toolbar.svelte-zo8ode{flex-direction:column;align-items:stretch}.search-box.svelte-zo8ode{max-width:100%}}.sessions-page.svelte-14yefic{min-height:100%;padding:24px}.page-header.svelte-14yefic{margin-bottom:20px}.page-title.svelte-14yefic{color:#111827;margin:0;font-size:20px;font-weight:600}.tabs.svelte-14yefic{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:16px;display:flex}.tab.svelte-14yefic{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-2px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.tab.svelte-14yefic:hover{color:#374151}.tab.active.svelte-14yefic{color:#3b82f6;border-bottom-color:#3b82f6}.tab-badge.svelte-14yefic{color:#fff;background:#3b82f6;border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.error-state.svelte-14yefic{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-14yefic{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-14yefic{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-14yefic{border-collapse:collapse;width:100%}.data-table.svelte-14yefic th:where(.svelte-14yefic){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-14yefic td:where(.svelte-14yefic){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-14yefic tbody:where(.svelte-14yefic) tr:where(.svelte-14yefic):hover{background:#f9fafb}.data-table.svelte-14yefic tbody:where(.svelte-14yefic) tr:where(.svelte-14yefic):last-child td:where(.svelte-14yefic){border-bottom:none}.cell-id.svelte-14yefic{color:#6b7280;font-family:monospace;font-size:12px}.cell-name.svelte-14yefic{color:#111827;font-weight:500}.cell-time.svelte-14yefic{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-duration.svelte-14yefic{color:#374151;font-family:monospace;font-size:13px}.mode-badge.svelte-14yefic{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.mode-webrtc.svelte-14yefic{color:#3b82f6;background:#eff6ff}.mode-jpeg.svelte-14yefic{color:#d97706;background:#fef3c7}.mode-unknown.svelte-14yefic{color:#6b7280;background:#f3f4f6}.text-muted.svelte-14yefic{color:#d1d5db;font-size:13px}.btn.svelte-14yefic{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-sm.svelte-14yefic{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-14yefic{color:#fff;background:#3b82f6}.btn-primary.svelte-14yefic:hover{background:#2563eb}.btn-danger.svelte-14yefic{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.btn-danger.svelte-14yefic:hover{background:#fee2e2}.history-page.svelte-17wivdr{min-height:100%;padding:24px}.page-header.svelte-17wivdr{margin-bottom:20px}.page-title.svelte-17wivdr{color:#111827;margin:0;font-size:20px;font-weight:600}.tabs.svelte-17wivdr{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:16px;display:flex}.tab.svelte-17wivdr{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 20px;font-size:14px;font-weight:500;transition:all .15s}.tab.svelte-17wivdr:hover{color:#374151}.tab.active.svelte-17wivdr{color:#3b82f6;border-bottom-color:#3b82f6}.error-state.svelte-17wivdr{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-17wivdr{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-17wivdr{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-17wivdr{border-collapse:collapse;width:100%}.data-table.svelte-17wivdr th:where(.svelte-17wivdr){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-17wivdr td:where(.svelte-17wivdr){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-17wivdr tbody:where(.svelte-17wivdr) tr:where(.svelte-17wivdr):hover{background:#f9fafb}.data-table.svelte-17wivdr tbody:where(.svelte-17wivdr) tr:where(.svelte-17wivdr):last-child td:where(.svelte-17wivdr){border-bottom:none}.cell-time.svelte-17wivdr{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-name.svelte-17wivdr{color:#111827;font-weight:500}.cell-id.svelte-17wivdr{color:#6b7280;font-family:monospace;font-size:12px}.cell-detail.svelte-17wivdr{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:12px;overflow:hidden}.mode-badge.svelte-17wivdr{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.event-tag.svelte-17wivdr{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.event-info.svelte-17wivdr{color:#3b82f6;background:#eff6ff}.event-danger.svelte-17wivdr{color:#ef4444;background:#fef2f2}.event-warn.svelte-17wivdr{color:#d97706;background:#fffbeb}.event-default.svelte-17wivdr{color:#6b7280;background:#f3f4f6}.btn.svelte-17wivdr{cursor:pointer;border:none;border-radius:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500}.btn-primary.svelte-17wivdr{color:#fff;background:#3b82f6}.btn-primary.svelte-17wivdr:hover{background:#2563eb}.settings-page.svelte-uox1oc{max-width:720px;min-height:100%;padding:24px}.page-header.svelte-uox1oc{margin-bottom:24px}.page-title.svelte-uox1oc{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-uox1oc{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-uox1oc{color:#ef4444;margin-bottom:16px;font-size:14px}.section.svelte-uox1oc{margin-bottom:24px}.section-title.svelte-uox1oc{color:#374151;text-transform:uppercase;letter-spacing:.3px;margin:0 0 10px;font-size:14px;font-weight:600}.section-card.svelte-uox1oc{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.form-row.svelte-uox1oc{border-bottom:1px solid #f3f4f6;align-items:center;padding:14px 20px;display:flex}.form-row.svelte-uox1oc:last-child{border-bottom:none}.form-label.svelte-uox1oc{color:#6b7280;flex-shrink:0;width:120px;font-size:13px;font-weight:500}.form-value.svelte-uox1oc{color:#111827;align-items:center;gap:6px;font-size:14px;display:flex}.form-hint.svelte-uox1oc{color:#9ca3af;margin:2px 0 0;font-size:12px}.role-badge.svelte-uox1oc{color:#3b82f6;background:#eff6ff;border-radius:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.status-dot.svelte-uox1oc{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot.online.svelte-uox1oc{background:#22c55e}.token-info.svelte-uox1oc{color:#22c55e;font-size:13px;font-weight:500}.action-row.svelte-uox1oc{justify-content:space-between;align-items:center;display:flex}.action-info.svelte-uox1oc{flex-direction:column;display:flex}.cell-id.svelte-uox1oc{color:#6b7280;font-family:monospace;font-size:12px}.coming-soon.svelte-uox1oc{color:#9ca3af;flex-direction:column;align-items:center;padding:32px 20px;display:flex}.coming-icon.svelte-uox1oc{margin-bottom:8px;font-size:28px}.coming-soon.svelte-uox1oc p:where(.svelte-uox1oc){margin:0;font-size:13px}.btn.svelte-uox1oc{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;height:36px;padding:0 16px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-uox1oc:disabled{opacity:.5;cursor:not-allowed}.btn-primary.svelte-uox1oc{color:#fff;background:#3b82f6}.btn-primary.svelte-uox1oc:hover:not(:disabled){background:#2563eb}.btn-danger.svelte-uox1oc{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.btn-danger.svelte-uox1oc:hover:not(:disabled){background:#fee2e2}.host-page.svelte-15oj54{max-width:600px;margin:0 auto;padding:20px}.code-display.svelte-15oj54{text-align:center;margin:30px 0}.code.svelte-15oj54{letter-spacing:12px;color:#2563eb;background:#eff6ff;border-radius:12px;margin:10px 0;padding:20px 40px;font-family:Courier New,monospace;font-size:48px;font-weight:700;display:inline-block}.hint.svelte-15oj54,.status.svelte-15oj54{color:#6b7280}.error.svelte-15oj54{color:#dc2626}.btn-primary.svelte-15oj54{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:12px 32px;font-size:16px}.btn-primary.svelte-15oj54:hover{background:#1d4ed8}.btn-secondary.svelte-15oj54{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:8px 20px}.status-bar.svelte-15oj54{background:#f0fdf4;border-radius:8px;align-items:center;gap:10px;margin-bottom:15px;padding:10px;display:flex}.dot.svelte-15oj54{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.green.svelte-15oj54{background:#22c55e}.mode-badge.svelte-15oj54{border-radius:4px;margin-left:auto;margin-right:8px;padding:2px 8px;font-size:12px}.mode-badge.control.svelte-15oj54{color:#dc2626;background:#fef2f2}.mode-badge.view.svelte-15oj54{color:#2563eb;background:#eff6ff}.file-zone.svelte-15oj54{text-align:center;color:#6b7280;border:2px dashed #d1d5db;border-radius:8px;margin-bottom:15px;padding:30px}.file-zone.svelte-15oj54:hover{background:#fafafa;border-color:#2563eb}.file-select.svelte-15oj54{color:#2563eb;cursor:pointer;text-decoration:underline}.progress-bar.svelte-15oj54{background:#e5e7eb;border-radius:4px;height:30px;line-height:30px;position:relative;overflow:hidden}.progress-fill.svelte-15oj54{background:#2563eb;height:100%;transition:width .1s}.progress-bar.svelte-15oj54 span:where(.svelte-15oj54){text-align:center;color:#374151;font-size:12px;position:absolute;top:0;left:0;right:0}.chat-panel.svelte-15oj54{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.chat-messages.svelte-15oj54{height:200px;padding:10px;overflow-y:auto}.msg.svelte-15oj54{padding:4px 0;font-size:14px}.msg.system.svelte-15oj54{color:#6b7280;font-style:italic}.msg.me.svelte-15oj54 .msg-label:where(.svelte-15oj54){color:#2563eb;font-weight:700}.msg.remote.svelte-15oj54 .msg-label:where(.svelte-15oj54){color:#16a34a;font-weight:700}.chat-input.svelte-15oj54{border-top:1px solid #e5e7eb;display:flex}.chat-input.svelte-15oj54 input:where(.svelte-15oj54){border:none;outline:none;flex:1;padding:10px}.chat-input.svelte-15oj54 button:where(.svelte-15oj54){color:#fff;cursor:pointer;background:#2563eb;border:none;padding:10px 20px}.guest-page.svelte-1661vwq{padding:20px}.connect-form.svelte-1661vwq{justify-content:center;align-items:center;gap:12px;margin:40px 0;display:flex}.code-input.svelte-1661vwq{letter-spacing:8px;text-align:center;border:2px solid #d1d5db;border-radius:8px;width:260px;padding:12px;font-family:Courier New,monospace;font-size:32px}.code-input.svelte-1661vwq:focus{border-color:#2563eb;outline:none}.error.svelte-1661vwq{color:#dc2626;text-align:center}.btn-primary.svelte-1661vwq{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:14px 28px;font-size:16px}.btn-primary.svelte-1661vwq:hover{background:#1d4ed8}.btn-primary.svelte-1661vwq:disabled{cursor:not-allowed;background:#93c5fd}.btn-secondary.svelte-1661vwq,.btn-control.svelte-1661vwq{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;font-size:13px}.btn-control.active.svelte-1661vwq{color:#fff;background:#dc2626;border-color:#dc2626}.mode-tag.svelte-1661vwq{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.mode-tag.p2p.svelte-1661vwq{color:#16a34a;background:#f0fdf4}.mode-tag.relay.svelte-1661vwq{color:#d97706;background:#fef3c7}.mode-tag.webrtc.svelte-1661vwq{color:#2563eb;background:#eff6ff}.mode-select.svelte-1661vwq{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;outline:none;padding:3px 6px;font-size:12px}.mode-select.svelte-1661vwq:focus{border-color:#2563eb}.remote-view.svelte-1661vwq{flex-direction:column;height:calc(100vh - 40px);display:flex}.toolbar.svelte-1661vwq{background:#f0fdf4;border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.dot.svelte-1661vwq{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.green.svelte-1661vwq{background:#22c55e}.remote-screen.svelte-1661vwq{object-fit:contain;background:#000;border-radius:8px;flex:1;width:100%}canvas.remote-screen.svelte-1661vwq{image-rendering:auto}.sidebar.svelte-1661vwq{gap:8px;height:180px;margin-top:8px;display:flex}.file-zone.svelte-1661vwq{color:#6b7280;border:2px dashed #d1d5db;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.progress-bar.svelte-1661vwq{background:#e5e7eb;border-radius:4px;width:80%;height:24px;line-height:24px;position:relative;overflow:hidden}.progress-fill.svelte-1661vwq{background:#2563eb;height:100%;transition:width .1s}.progress-bar.svelte-1661vwq span:where(.svelte-1661vwq){text-align:center;font-size:11px;position:absolute;top:0;left:0;right:0}.chat-panel.svelte-1661vwq{border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-messages.svelte-1661vwq{flex:1;padding:8px;font-size:13px;overflow-y:auto}.msg.svelte-1661vwq{padding:2px 0}.msg.system.svelte-1661vwq{color:#6b7280;font-style:italic}.msg.me.svelte-1661vwq .msg-label:where(.svelte-1661vwq){color:#2563eb;font-weight:700}.msg.remote.svelte-1661vwq .msg-label:where(.svelte-1661vwq){color:#16a34a;font-weight:700}.chat-input.svelte-1661vwq{border-top:1px solid #e5e7eb;display:flex}.chat-input.svelte-1661vwq input:where(.svelte-1661vwq){border:none;outline:none;flex:1;padding:8px;font-size:13px}.chat-input.svelte-1661vwq button:where(.svelte-1661vwq){color:#fff;cursor:pointer;background:#2563eb;border:none;padding:8px 14px}.file-zone-disabled.svelte-1661vwq{opacity:.6;background:#fffbeb;border-color:#fbbf24}.file-zone-disabled.svelte-1661vwq .hint:where(.svelte-1661vwq){color:#92400e;margin-top:4px;font-size:12px}.special-keys-wrap.svelte-1661vwq{position:relative}.special-keys-dropdown.svelte-1661vwq{z-index:100;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:160px;margin-top:4px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.special-keys-dropdown.svelte-1661vwq button:where(.svelte-1661vwq){text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:8px 16px;font-size:13px;display:block}.special-keys-dropdown.svelte-1661vwq button:where(.svelte-1661vwq):hover{background:#f3f4f6}.health-indicator.svelte-1661vwq{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500}.health-indicator.good.svelte-1661vwq{color:#16a34a;background:#f0fdf4}.health-indicator.warn.svelte-1661vwq{color:#d97706;background:#fffbeb}.health-indicator.bad.svelte-1661vwq,.health-indicator.paused.svelte-1661vwq{color:#dc2626;background:#fef2f2}.remote-view.svelte-1661vwq{position:relative}.pause-overlay.svelte-1661vwq{z-index:50;pointer-events:none;background:#000000b3;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:50px 0 190px}.pause-icon.svelte-1661vwq{margin-bottom:16px;font-size:64px}.pause-text.svelte-1661vwq{color:#fff;font-size:20px;font-weight:600}.pause-timer.svelte-1661vwq{color:#fbbf24;font-variant-numeric:tabular-nums;margin-top:8px;font-size:16px}.clip-file-confirm.svelte-1661vwq{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;font-size:13px;display:flex}.clip-file-list.svelte-1661vwq{color:#1e40af;font-weight:500}.clip-file-actions.svelte-1661vwq{gap:6px;margin-left:auto;display:flex}.clip-file-actions.svelte-1661vwq .btn-primary:where(.svelte-1661vwq),.clip-file-actions.svelte-1661vwq .btn-secondary:where(.svelte-1661vwq){padding:4px 14px;font-size:12px}.viewer-topbar.svelte-8qb0yl{color:#e2e8f0;-webkit-user-select:none;user-select:none;background:#1e293b;flex-shrink:0;align-items:center;gap:8px;height:44px;padding:0 12px;display:flex}.left.svelte-8qb0yl{flex-shrink:0;align-items:center;gap:8px;display:flex}.center.svelte-8qb0yl{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.right.svelte-8qb0yl{flex-shrink:0}.session-info.svelte-8qb0yl{align-items:center;gap:6px;display:flex}.device-name.svelte-8qb0yl{color:#f1f5f9;font-size:14px;font-weight:600}.status-dot.svelte-8qb0yl{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-text.svelte-8qb0yl{color:#94a3b8;font-size:12px}.mode-badge.svelte-8qb0yl{color:#60a5fa;background:#3b82f633;border-radius:3px;padding:1px 6px;font-size:10px}.tb-btn.svelte-8qb0yl{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#ffffff14;border:none;border-radius:5px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;display:flex}.tb-btn.svelte-8qb0yl:hover{color:#f1f5f9;background:#ffffff26}.tb-btn.active.svelte-8qb0yl{color:#60a5fa;background:#3b82f64d}.tb-btn.recording.svelte-8qb0yl{color:#fff;background:#dc2626;animation:1s infinite svelte-8qb0yl-pulse}@keyframes svelte-8qb0yl-pulse{0%,to{opacity:1}50%{opacity:.7}}.tb-btn.disconnect.svelte-8qb0yl{color:#fff;background:#dc2626}.divider-v.svelte-8qb0yl{background:#334155;width:1px;height:20px;margin:0 2px}.viewer-count.svelte-8qb0yl{color:#a78bfa;margin-right:8px;font-size:11px}.tb-btn.disconnect.svelte-8qb0yl:hover{background:#b91c1c}.tb-btn.back.svelte-8qb0yl{padding:5px 6px}.tb-btn.has-unread.svelte-8qb0yl{position:relative}.tb-btn.has-unread.svelte-8qb0yl:after{content:"";background:#ef4444;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.dropdown-wrap.svelte-8qb0yl{position:relative}.dropdown.svelte-8qb0yl{z-index:200;background:#1e293b;border:1px solid #334155;border-radius:8px;min-width:150px;margin-top:4px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #0000004d}.dropdown.svelte-8qb0yl button:where(.svelte-8qb0yl){text-align:left;cursor:pointer;color:#cbd5e1;background:0 0;border:none;width:100%;padding:7px 14px;font-family:inherit;font-size:12px;display:block}.dropdown.svelte-8qb0yl button:where(.svelte-8qb0yl):hover{color:#f1f5f9;background:#334155}.canvas-area.svelte-5yfmnd{background:#000;border-radius:4px;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.screen.svelte-5yfmnd{object-fit:contain;max-width:100%;max-height:100%;display:block}canvas.screen.svelte-5yfmnd{object-fit:contain;image-rendering:auto;width:100%;height:100%}.first-frame-loading.svelte-5yfmnd{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.spinner.svelte-5yfmnd{border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite svelte-5yfmnd-spin}@keyframes svelte-5yfmnd-spin{to{transform:rotate(360deg)}}.overlay.svelte-1t0fhcx{z-index:50;pointer-events:none;background:#000000b3;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner.svelte-1t0fhcx{border:3px solid #fff3;border-top-color:#3b82f6;border-radius:50%;width:36px;height:36px;margin-bottom:16px;animation:.8s linear infinite svelte-1t0fhcx-spin}.icon.svelte-1t0fhcx{margin-bottom:16px;font-size:56px}.text.svelte-1t0fhcx{color:#fff;font-size:18px;font-weight:600}.sub-text.svelte-1t0fhcx{color:#fbbf24;font-variant-numeric:tabular-nums;margin-top:8px;font-size:14px}@keyframes svelte-1t0fhcx-spin{to{transform:rotate(360deg)}}.status-bar.svelte-2jv0g0{color:#94a3b8;-webkit-user-select:none;user-select:none;background:#0f172a;flex-shrink:0;align-items:center;gap:10px;height:28px;padding:0 16px;font-size:11px;display:flex}.stat.svelte-2jv0g0{white-space:nowrap;align-items:center;gap:4px;display:flex}.label.svelte-2jv0g0{color:#64748b}.value.svelte-2jv0g0{color:#cbd5e1;font-variant-numeric:tabular-nums}.value.codec.h264.svelte-2jv0g0{color:#22c55e;font-weight:600}.value.codec.jpeg.svelte-2jv0g0{color:#f59e0b;font-weight:600}.value.mode.webrtc.svelte-2jv0g0{color:#22c55e}.value.mode.jpeg.svelte-2jv0g0{color:#f59e0b}.value.control.active.svelte-2jv0g0{color:#22c55e;font-weight:600}.value.speed.svelte-2jv0g0{color:#60a5fa}.value.viewers.svelte-2jv0g0{color:#a78bfa}.value.warn.svelte-2jv0g0{color:#f59e0b}.value.bad.svelte-2jv0g0{color:#ef4444}.health-good.svelte-2jv0g0{color:#22c55e}.health-warn.svelte-2jv0g0{color:#f59e0b}.health-bad.svelte-2jv0g0{color:#ef4444}.divider.svelte-2jv0g0{background:#334155;flex-shrink:0;width:1px;height:14px}.feature-flags.svelte-2jv0g0{align-items:center;gap:6px;margin-left:auto;display:flex}.flag.svelte-2jv0g0{opacity:.8;cursor:default;font-size:12px}.flag.recording.svelte-2jv0g0{color:#ef4444;animation:1s infinite svelte-2jv0g0-pulse}@keyframes svelte-2jv0g0-pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-panel.svelte-vs9juz{z-index:150;background:#0f172a;border-left:1px solid #1e293b;flex-direction:column;width:320px;animation:.2s ease-out svelte-vs9juz-slideIn;display:flex;position:absolute;top:44px;bottom:28px;right:0;box-shadow:-4px 0 20px #0006}@keyframes svelte-vs9juz-slideIn{0%{opacity:0;transform:translate(320px)}to{opacity:1;transform:translate(0)}}.chat-header.svelte-vs9juz{border-bottom:1px solid #1e293b;flex-shrink:0;justify-content:space-between;align-items:center;height:42px;padding:0 14px;display:flex}.chat-title.svelte-vs9juz{color:#e2e8f0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.chat-close.svelte-vs9juz{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px}.chat-close.svelte-vs9juz:hover{color:#e2e8f0;background:#1e293b}.chat-messages.svelte-vs9juz{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-messages.svelte-vs9juz::-webkit-scrollbar{width:4px}.chat-messages.svelte-vs9juz::-webkit-scrollbar-thumb{background:#334155;border-radius:2px}.chat-empty.svelte-vs9juz{text-align:center;color:#475569;margin-top:40px;font-size:13px}.msg.svelte-vs9juz{display:flex}.msg-me.svelte-vs9juz{justify-content:flex-end}.msg-remote.svelte-vs9juz{justify-content:flex-start}.msg-system.svelte-vs9juz{justify-content:center}.msg-bubble.svelte-vs9juz{word-break:break-word;border-radius:12px;max-width:85%;padding:8px 12px;font-size:13px;line-height:1.5}.msg-me.svelte-vs9juz .msg-bubble:where(.svelte-vs9juz){color:#f1f5f9;background:#2563eb;border-bottom-right-radius:4px}.msg-remote.svelte-vs9juz .msg-bubble:where(.svelte-vs9juz){color:#e2e8f0;background:#1e293b;border-bottom-left-radius:4px}.msg-time.svelte-vs9juz{color:#fff6;text-align:right;margin-top:2px;font-size:10px}.msg-sys-text.svelte-vs9juz{color:#64748b;background:#1e293b;border-radius:10px;padding:3px 10px;font-size:11px}.chat-input-bar.svelte-vs9juz{background:#0f172a;border-top:1px solid #1e293b;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.chat-input.svelte-vs9juz{color:#e2e8f0;resize:none;background:#1e293b;border:1px solid #334155;border-radius:8px;outline:none;flex:1;max-height:80px;padding:8px 12px;font-family:inherit;font-size:13px}.chat-input.svelte-vs9juz:focus{border-color:#3b82f6}.chat-input.svelte-vs9juz::placeholder{color:#475569}.chat-send.svelte-vs9juz{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s;display:flex}.chat-send.svelte-vs9juz:hover:not(:disabled){background:#1d4ed8}.chat-send.svelte-vs9juz:disabled{opacity:.4;cursor:default}.ft-panel.svelte-199xeio{z-index:150;background:#0f172a;border-left:1px solid #1e293b;flex-direction:column;width:320px;animation:.2s ease-out svelte-199xeio-slideIn;display:flex;position:absolute;top:44px;bottom:28px;right:0;box-shadow:-4px 0 20px #0006}@keyframes svelte-199xeio-slideIn{0%{opacity:0;transform:translate(320px)}to{opacity:1;transform:translate(0)}}.ft-header.svelte-199xeio{border-bottom:1px solid #1e293b;flex-shrink:0;justify-content:space-between;align-items:center;height:42px;padding:0 14px;display:flex}.ft-title.svelte-199xeio{color:#e2e8f0;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.ft-close.svelte-199xeio{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:14px}.ft-close.svelte-199xeio:hover{color:#e2e8f0;background:#1e293b}.ft-body.svelte-199xeio{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.ft-drop-zone.svelte-199xeio{cursor:pointer;border:2px dashed #334155;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;transition:border-color .2s,background .2s;display:flex}.ft-drop-zone.svelte-199xeio:hover{background:#3b82f60d;border-color:#3b82f6}.ft-drop-text.svelte-199xeio{color:#94a3b8;font-size:13px}.ft-drop-hint.svelte-199xeio{color:#475569;font-size:11px}.ft-list.svelte-199xeio{flex-direction:column;gap:2px;display:flex}.ft-list-header.svelte-199xeio{color:#64748b;margin-bottom:6px;font-size:11px;font-weight:500}.ft-item.svelte-199xeio{background:#1e293b;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.ft-item-icon.svelte-199xeio{flex-shrink:0;justify-content:center;width:24px;display:flex}.ft-item-info.svelte-199xeio{flex:1;min-width:0}.ft-item-name.svelte-199xeio{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ft-item-meta.svelte-199xeio{color:#64748b;margin-top:2px;font-size:11px}.ft-progress-wrap.svelte-199xeio{background:#334155;border-radius:2px;width:40px;height:4px;overflow:hidden}.ft-progress-bar.svelte-199xeio{background:#3b82f6;border-radius:2px;height:100%;transition:width .3s}.ft-status-icon.svelte-199xeio{flex-shrink:0;font-size:14px}.ft-status-icon.done.svelte-199xeio{color:#22c55e}.ft-status-icon.error.svelte-199xeio{color:#ef4444}.fb-panel.svelte-1cx7ljj{z-index:50;color:#e2e8f0;background:#0f172a;border-left:1px solid #334155;flex-direction:column;width:380px;font-size:13px;display:flex;position:absolute;top:44px;bottom:28px;right:0}.fb-header.svelte-1cx7ljj{background:#1e293b;border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.fb-title.svelte-1cx7ljj{font-size:14px;font-weight:600}.fb-close.svelte-1cx7ljj{color:#94a3b8;cursor:pointer;background:0 0;border:none;font-size:16px}.fb-close.svelte-1cx7ljj:hover{color:#f1f5f9}.fb-toolbar.svelte-1cx7ljj{background:#1e293b;border-bottom:1px solid #334155;align-items:center;gap:4px;padding:6px 10px;display:flex}.fb-btn.svelte-1cx7ljj{color:#cbd5e1;cursor:pointer;background:#ffffff14;border:none;border-radius:4px;padding:4px 8px;font-size:12px}.fb-btn.svelte-1cx7ljj:hover{background:#ffffff26}.fb-btn.svelte-1cx7ljj:disabled{opacity:.3;cursor:default}.fb-path.svelte-1cx7ljj{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;flex:1;padding:0 6px;font-size:11px;overflow:hidden}.fb-list.svelte-1cx7ljj{flex:1;overflow-y:auto}.fb-entry.svelte-1cx7ljj{cursor:pointer;border-bottom:1px solid #1e293b;align-items:center;gap:8px;padding:6px 12px;display:flex}.fb-entry.svelte-1cx7ljj:hover{background:#1e293b}.fb-icon.svelte-1cx7ljj{flex-shrink:0;font-size:14px}.fb-name.svelte-1cx7ljj{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fb-size.svelte-1cx7ljj{color:#64748b;text-align:right;min-width:60px;font-size:11px}.fb-time.svelte-1cx7ljj{color:#475569;text-align:right;min-width:120px;font-size:10px}.fb-dl.svelte-1cx7ljj{color:#60a5fa;cursor:pointer;background:#3b82f633;border:none;border-radius:3px;padding:2px 6px;font-size:11px}.fb-dl.svelte-1cx7ljj:hover{background:#3b82f666}.fb-loading.svelte-1cx7ljj,.fb-empty.svelte-1cx7ljj{text-align:center;color:#64748b;padding:20px}.fb-error.svelte-1cx7ljj{color:#fca5a5;background:#7f1d1d;padding:8px 12px;font-size:12px}.viewer-page.svelte-1xbcyhz{z-index:1000;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-body.svelte-1xbcyhz{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.ops-nodes-page.svelte-158af1x{min-height:100%;padding:24px}.page-header.svelte-158af1x{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-158af1x{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-158af1x{color:#6b7280;font-size:13px}.toolbar.svelte-158af1x{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-box.svelte-158af1x{flex:1;max-width:360px;position:relative}.search-icon.svelte-158af1x{color:#9ca3af;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input.svelte-158af1x{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;height:38px;padding:0 12px 0 36px;font-size:13px;transition:border-color .15s}.search-input.svelte-158af1x:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.error-state.svelte-158af1x{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-158af1x{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-158af1x{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-158af1x{border-collapse:collapse;width:100%}.data-table.svelte-158af1x th:where(.svelte-158af1x){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-158af1x td:where(.svelte-158af1x){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-158af1x tbody:where(.svelte-158af1x) tr:where(.svelte-158af1x):hover{background:#f9fafb}.data-table.svelte-158af1x tbody:where(.svelte-158af1x) tr:where(.svelte-158af1x):last-child td:where(.svelte-158af1x){border-bottom:none}.cell-name.svelte-158af1x{color:#111827;font-weight:500}.cell-id.svelte-158af1x{color:#6b7280;font-family:monospace;font-size:12px}.cell-time.svelte-158af1x{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-158af1x{white-space:nowrap}.btn.svelte-158af1x{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-158af1x:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-158af1x{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-158af1x{color:#fff;background:#3b82f6}.btn-primary.svelte-158af1x:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-158af1x{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-158af1x:hover{color:#374151;background:#f9fafb}.ops-jobs-page.svelte-x63ji0{min-height:100%;padding:24px}.page-header.svelte-x63ji0{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-x63ji0{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-x63ji0{color:#6b7280;font-size:13px}.error-state.svelte-x63ji0{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-x63ji0{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-x63ji0{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-x63ji0{border-collapse:collapse;width:100%}.data-table.svelte-x63ji0 th:where(.svelte-x63ji0){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-x63ji0 td:where(.svelte-x63ji0){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-x63ji0 tbody:where(.svelte-x63ji0) tr:where(.svelte-x63ji0):hover{background:#f9fafb}.data-table.svelte-x63ji0 tbody:where(.svelte-x63ji0) tr:where(.svelte-x63ji0):last-child td:where(.svelte-x63ji0){border-bottom:none}.cell-name.svelte-x63ji0{color:#111827;font-weight:500}.cell-id.svelte-x63ji0{color:#6b7280;font-family:monospace;font-size:12px}.cell-actions.svelte-x63ji0{white-space:nowrap}.enabled-badge.svelte-x63ji0{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.enabled-badge.enabled.svelte-x63ji0{color:#22c55e;background:#22c55e1f}.enabled-badge.disabled.svelte-x63ji0{color:#9ca3af;background:#9ca3af1f}.btn.svelte-x63ji0{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-sm.svelte-x63ji0{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-x63ji0{color:#fff;background:#3b82f6}.btn-primary.svelte-x63ji0:hover:not(:disabled){background:#2563eb}.ops-alerts-page.svelte-bz0uaf{min-height:100%;padding:24px}.page-header.svelte-bz0uaf{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-bz0uaf{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-bz0uaf{color:#6b7280;font-size:13px}.toolbar.svelte-bz0uaf{align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-group.svelte-bz0uaf{background:#f3f4f6;border-radius:6px;gap:2px;padding:2px;display:flex}.filter-btn.svelte-bz0uaf{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;height:32px;padding:0 14px;font-size:13px;transition:all .15s}.filter-btn.active.svelte-bz0uaf{color:#111827;background:#fff;font-weight:500;box-shadow:0 1px 2px #0000000f}.error-state.svelte-bz0uaf{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-bz0uaf{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-bz0uaf{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-bz0uaf{border-collapse:collapse;width:100%}.data-table.svelte-bz0uaf th:where(.svelte-bz0uaf){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-bz0uaf td:where(.svelte-bz0uaf){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-bz0uaf tbody:where(.svelte-bz0uaf) tr:where(.svelte-bz0uaf):hover{background:#f9fafb}.data-table.svelte-bz0uaf tbody:where(.svelte-bz0uaf) tr:where(.svelte-bz0uaf):last-child td:where(.svelte-bz0uaf){border-bottom:none}.cell-name.svelte-bz0uaf{color:#111827;font-weight:500}.cell-time.svelte-bz0uaf{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-bz0uaf{white-space:nowrap}.severity-badge.svelte-bz0uaf{background:color-mix(in srgb, var(--sev-color) 12%, transparent);color:var(--sev-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.status-tag.svelte-bz0uaf{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.status-open.svelte-bz0uaf{color:#ef4444;background:#ef44441a}.status-ack.svelte-bz0uaf{color:#f59e0b;background:#f59e0b1a}.status-closed.svelte-bz0uaf{color:#9ca3af;background:#9ca3af1a}.btn.svelte-bz0uaf{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-sm.svelte-bz0uaf{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-bz0uaf{color:#fff;background:#3b82f6}.btn-primary.svelte-bz0uaf:hover:not(:disabled){background:#2563eb}.btn-outline.svelte-bz0uaf{color:#3b82f6;background:0 0;border:1px solid #3b82f6}.btn-outline.svelte-bz0uaf:hover{background:#3b82f60f}.btn-ghost.svelte-bz0uaf{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-bz0uaf:hover{color:#374151;background:#f9fafb}.ops-reports-page.svelte-1pqwrvn{min-height:100%;padding:24px}.page-header.svelte-1pqwrvn{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-1pqwrvn{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-1pqwrvn{color:#6b7280;font-size:13px}.error-state.svelte-1pqwrvn{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-1pqwrvn{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-1pqwrvn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-1pqwrvn{border-collapse:collapse;width:100%}.data-table.svelte-1pqwrvn th:where(.svelte-1pqwrvn){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-1pqwrvn td:where(.svelte-1pqwrvn){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-1pqwrvn tbody:where(.svelte-1pqwrvn) tr:where(.svelte-1pqwrvn):hover{background:#f9fafb}.data-table.svelte-1pqwrvn tbody:where(.svelte-1pqwrvn) tr:where(.svelte-1pqwrvn):last-child td:where(.svelte-1pqwrvn){border-bottom:none}.cell-name.svelte-1pqwrvn{color:#111827;font-weight:500}.cell-id.svelte-1pqwrvn{color:#6b7280;font-family:monospace;font-size:12px}.cell-time.svelte-1pqwrvn{color:#9ca3af;white-space:nowrap;font-size:12px}.btn.svelte-1pqwrvn{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary.svelte-1pqwrvn{color:#fff;background:#3b82f6}.btn-primary.svelte-1pqwrvn:hover:not(:disabled){background:#2563eb}.health-bar.svelte-1ezal1v{align-items:center;gap:6px;display:inline-flex}.bar-track.svelte-1ezal1v{background:#e5e7eb;border-radius:3px;flex:1;height:6px;overflow:hidden}.bar-fill.svelte-1ezal1v{border-radius:3px;height:100%;transition:width .3s}.bar-label.svelte-1ezal1v{text-align:right;min-width:24px;font-size:12px;font-weight:600}.ops-monitor-page.svelte-15jlqio{min-height:100%;padding:24px}.page-header.svelte-15jlqio{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-15jlqio{color:#111827;margin:0;font-size:20px;font-weight:600}.summary-cards.svelte-15jlqio{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-card.svelte-15jlqio{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:20px;display:flex}.card-number.svelte-15jlqio{color:#111827;font-size:28px;font-weight:700}.card-number.online-num.svelte-15jlqio{color:#22c55e}.card-number.alert-num.svelte-15jlqio{color:#ef4444}.card-label.svelte-15jlqio{color:#6b7280;font-size:13px}.error-state.svelte-15jlqio{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-15jlqio{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-15jlqio{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-15jlqio{border-collapse:collapse;width:100%}.data-table.svelte-15jlqio th:where(.svelte-15jlqio){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-15jlqio td:where(.svelte-15jlqio){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-15jlqio tbody:where(.svelte-15jlqio) tr:where(.svelte-15jlqio):hover{background:#f9fafb}.data-table.svelte-15jlqio tbody:where(.svelte-15jlqio) tr:where(.svelte-15jlqio):last-child td:where(.svelte-15jlqio){border-bottom:none}.cell-name.svelte-15jlqio{color:#111827;font-weight:500}.status-dot.svelte-15jlqio{border-radius:50%;width:8px;height:8px;display:inline-block}.dot-online.svelte-15jlqio{background:#22c55e}.dot-degraded.svelte-15jlqio{background:#f59e0b}.dot-offline.svelte-15jlqio{background:#9ca3af}.alert-count.svelte-15jlqio{color:#ef4444;background:#ef44441a;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.no-alerts.svelte-15jlqio{color:#9ca3af;font-size:12px}.btn.svelte-15jlqio{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary.svelte-15jlqio{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-15jlqio:hover:not(:disabled){background:#2563eb}.ops-rules-page.svelte-vzqlg5{min-height:100%;padding:24px}.page-header.svelte-vzqlg5{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-vzqlg5{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-vzqlg5{color:#6b7280;font-size:13px}.toolbar.svelte-vzqlg5{align-items:center;gap:12px;margin-bottom:16px;display:flex}.form-card.svelte-vzqlg5{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:20px}.form-title.svelte-vzqlg5{color:#111827;margin:0 0 16px;font-size:15px;font-weight:600}.form-grid.svelte-vzqlg5{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.form-field.svelte-vzqlg5{flex-direction:column;gap:4px;display:flex}.field-label.svelte-vzqlg5{color:#6b7280;font-size:12px;font-weight:500}.field-input.svelte-vzqlg5{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;height:36px;padding:0 10px;font-size:13px}.field-input.svelte-vzqlg5:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.field-input.svelte-vzqlg5:disabled{color:#9ca3af;background:#f3f4f6}.form-actions.svelte-vzqlg5{justify-content:flex-end;gap:8px;display:flex}.error-state.svelte-vzqlg5{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-vzqlg5{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-vzqlg5{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-vzqlg5{border-collapse:collapse;width:100%}.data-table.svelte-vzqlg5 th:where(.svelte-vzqlg5){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-vzqlg5 td:where(.svelte-vzqlg5){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-vzqlg5 tbody:where(.svelte-vzqlg5) tr:where(.svelte-vzqlg5):hover{background:#f9fafb}.data-table.svelte-vzqlg5 tbody:where(.svelte-vzqlg5) tr:where(.svelte-vzqlg5):last-child td:where(.svelte-vzqlg5){border-bottom:none}.cell-name.svelte-vzqlg5{color:#111827;font-weight:500}.cell-id.svelte-vzqlg5{color:#6b7280;font-family:monospace;font-size:12px}.cell-actions.svelte-vzqlg5{white-space:nowrap}.severity-badge.svelte-vzqlg5{background:color-mix(in srgb, var(--sev-color) 12%, transparent);color:var(--sev-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.toggle-btn.svelte-vzqlg5{cursor:pointer;background:0 0;border:none;padding:0}.toggle-track.svelte-vzqlg5{background:#d1d5db;border-radius:10px;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.toggle-btn.on.svelte-vzqlg5 .toggle-track:where(.svelte-vzqlg5){background:#22c55e}.toggle-thumb.svelte-vzqlg5{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000001a}.toggle-btn.on.svelte-vzqlg5 .toggle-thumb:where(.svelte-vzqlg5){transform:translate(16px)}.btn.svelte-vzqlg5{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-vzqlg5:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-vzqlg5{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-vzqlg5{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-vzqlg5:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-vzqlg5{color:#6b7280;background:0 0;border:1px solid #e5e7eb;height:36px;padding:0 16px}.btn-ghost.svelte-vzqlg5:hover{color:#374151;background:#f9fafb}.btn-danger-text.svelte-vzqlg5{color:#ef4444;background:0 0}.btn-danger-text.svelte-vzqlg5:hover{background:#ef44440f}.modal-overlay.svelte-zu6nvj{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.svelte-zu6nvj{background:#fff;border-radius:12px;flex-direction:column;width:420px;max-height:80vh;display:flex;box-shadow:0 20px 60px #0003}.modal-header.svelte-zu6nvj{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header.svelte-zu6nvj h3:where(.svelte-zu6nvj){color:#111827;margin:0;font-size:16px}.close-btn.svelte-zu6nvj{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;width:28px;height:28px;font-size:20px}.close-btn.svelte-zu6nvj:hover{color:#374151;background:#f3f4f6}.modal-body.svelte-zu6nvj{padding:16px 20px;overflow-y:auto}.search-input.svelte-zu6nvj{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;height:38px;margin-bottom:12px;padding:0 12px;font-size:13px}.search-input.svelte-zu6nvj:focus{border-color:#3b82f6}.loading.svelte-zu6nvj,.empty.svelte-zu6nvj{text-align:center;color:#9ca3af;padding:24px;font-size:14px}.node-list.svelte-zu6nvj{flex-direction:column;gap:4px;display:flex}.node-item.svelte-zu6nvj{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.node-item.svelte-zu6nvj:hover{background:#f9fafb;border-color:#3b82f6}.node-status.svelte-zu6nvj{border-radius:50%;flex-shrink:0;width:8px;height:8px}.node-status.online.svelte-zu6nvj{background:#22c55e}.node-status.offline.svelte-zu6nvj{background:#9ca3af}.node-info.svelte-zu6nvj{flex-direction:column;gap:2px;display:flex}.node-name.svelte-zu6nvj{color:#111827;font-size:13px;font-weight:500}.node-id.svelte-zu6nvj{color:#9ca3af;font-family:monospace;font-size:11px}.ops-executor-page.svelte-s1mpdd{min-height:100%;padding:24px}.page-header.svelte-s1mpdd{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-s1mpdd{color:#111827;margin:0;font-size:20px;font-weight:600}.tabs.svelte-s1mpdd{background:#f3f4f6;border-radius:6px;gap:2px;width:fit-content;margin-bottom:16px;padding:2px;display:flex}.tab-btn.svelte-s1mpdd{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;height:32px;padding:0 16px;font-size:13px;transition:all .15s}.tab-btn.active.svelte-s1mpdd{color:#111827;background:#fff;font-weight:500;box-shadow:0 1px 2px #0000000f}.error-state.svelte-s1mpdd{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-s1mpdd{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-s1mpdd{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-s1mpdd{border-collapse:collapse;width:100%}.data-table.svelte-s1mpdd th:where(.svelte-s1mpdd){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-s1mpdd td:where(.svelte-s1mpdd){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-s1mpdd tbody:where(.svelte-s1mpdd) tr:where(.svelte-s1mpdd):hover{background:#f9fafb}.data-table.svelte-s1mpdd tbody:where(.svelte-s1mpdd) tr:where(.svelte-s1mpdd):last-child td:where(.svelte-s1mpdd){border-bottom:none}.cell-name.svelte-s1mpdd{color:#111827;font-weight:500}.cell-id.svelte-s1mpdd{color:#6b7280;font-family:monospace;font-size:12px}.cell-time.svelte-s1mpdd{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-s1mpdd{white-space:nowrap}.enabled-badge.svelte-s1mpdd{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.enabled-badge.enabled.svelte-s1mpdd{color:#22c55e;background:#22c55e1f}.enabled-badge.disabled.svelte-s1mpdd{color:#9ca3af;background:#9ca3af1f}.status-badge.svelte-s1mpdd{background:color-mix(in srgb, var(--st-color) 12%, transparent);color:var(--st-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.detail-row.svelte-s1mpdd td:where(.svelte-s1mpdd){padding:0!important}.detail-row.svelte-s1mpdd:hover{background:0 0!important}.exec-detail.svelte-s1mpdd{background:#f9fafb;border-top:1px solid #e5e7eb;flex-direction:column;gap:12px;padding:12px 16px;display:flex}.detail-section.svelte-s1mpdd{flex-direction:column;gap:4px;display:flex}.detail-label.svelte-s1mpdd{color:#6b7280;text-transform:uppercase;font-size:11px;font-weight:600}.detail-pre.svelte-s1mpdd{color:#e5e7eb;white-space:pre-wrap;word-break:break-all;background:#111827;border-radius:6px;max-height:200px;margin:0;padding:10px 12px;font-family:monospace;font-size:12px;overflow-x:auto}.detail-pre.stderr.svelte-s1mpdd{color:#fca5a5}.btn.svelte-s1mpdd{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-s1mpdd:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-s1mpdd{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-s1mpdd{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-s1mpdd:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-s1mpdd{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-s1mpdd:hover{color:#374151;background:#f9fafb}.ops-report-page.svelte-1yxsuzr{min-height:100%;padding:24px}.page-header.svelte-1yxsuzr{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-1yxsuzr{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-1yxsuzr{color:#6b7280;font-size:13px}.toolbar.svelte-1yxsuzr{align-items:center;gap:12px;margin-bottom:16px;display:flex}.error-state.svelte-1yxsuzr{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-1yxsuzr{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-1yxsuzr{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-1yxsuzr{border-collapse:collapse;width:100%}.data-table.svelte-1yxsuzr th:where(.svelte-1yxsuzr){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-1yxsuzr td:where(.svelte-1yxsuzr){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-1yxsuzr tbody:where(.svelte-1yxsuzr) tr:where(.svelte-1yxsuzr):hover{background:#f9fafb}.data-table.svelte-1yxsuzr tbody:where(.svelte-1yxsuzr) tr:where(.svelte-1yxsuzr):last-child td:where(.svelte-1yxsuzr){border-bottom:none}.cell-name.svelte-1yxsuzr{color:#111827;font-weight:500}.cell-time.svelte-1yxsuzr{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-1yxsuzr{white-space:nowrap}.alert-count.svelte-1yxsuzr{color:#ef4444;background:#ef44441a;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.report-detail.svelte-1yxsuzr{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.detail-header.svelte-1yxsuzr{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.detail-title.svelte-1yxsuzr{color:#111827;margin:0;font-size:15px;font-weight:600}.report-body.svelte-1yxsuzr{color:#374151;max-height:600px;padding:24px;font-size:14px;line-height:1.7;overflow-y:auto}.btn.svelte-1yxsuzr{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-1yxsuzr:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1yxsuzr{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-1yxsuzr{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-1yxsuzr:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-1yxsuzr{color:#6b7280;background:0 0;border:1px solid #e5e7eb;height:36px;padding:0 16px}.btn-ghost.svelte-1yxsuzr:hover{color:#374151;background:#f9fafb}.sparkline.svelte-u1hd9b{vertical-align:middle;display:inline-block}.no-data.svelte-u1hd9b{color:#9ca3af;font-size:12px}.node-detail-page.svelte-126byqh{min-height:100%;padding:24px}.page-header.svelte-126byqh{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-126byqh{color:#111827;margin:0;font-size:20px;font-weight:600}.node-name.svelte-126byqh{color:#6b7280;font-size:14px}.empty.svelte-126byqh{text-align:center;color:#9ca3af;padding:60px}.summary-cards.svelte-126byqh{grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px;display:grid}.card.svelte-126byqh{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.card-value.svelte-126byqh{color:#111827;font-size:24px;font-weight:700}.card-value.online.svelte-126byqh{color:#22c55e}.card-value.offline.svelte-126byqh{color:#ef4444}.card-label.svelte-126byqh{color:#6b7280;margin-top:4px;font-size:12px}.section-title.svelte-126byqh{color:#111827;margin:24px 0 12px;font-size:16px;font-weight:600}.charts-grid.svelte-126byqh{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px;display:grid}.chart-card.svelte-126byqh{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.chart-label.svelte-126byqh{color:#6b7280;margin-bottom:8px;font-size:12px}.no-data.svelte-126byqh{color:#9ca3af;padding:16px;font-size:14px}.table-wrap.svelte-126byqh{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;overflow:hidden}.data-table.svelte-126byqh{border-collapse:collapse;width:100%}.data-table.svelte-126byqh th:where(.svelte-126byqh){text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-126byqh td:where(.svelte-126byqh){color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 16px;font-size:13px}.data-table.svelte-126byqh tbody:where(.svelte-126byqh) tr:where(.svelte-126byqh):hover{background:#f9fafb}.cell-name.svelte-126byqh{font-weight:500}.cell-time.svelte-126byqh{color:#9ca3af;font-size:12px}.badge.svelte-126byqh{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.btn.svelte-126byqh{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500}.btn-sm.svelte-126byqh{height:30px;padding:0 12px;font-size:12px}.btn-ghost.svelte-126byqh{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-126byqh:hover{background:#f9fafb}.job-run-page.svelte-ouqobo{min-height:100%;padding:24px}.page-header.svelte-ouqobo{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-ouqobo{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-ouqobo{text-align:center;color:#ef4444;padding:60px}.detail-grid.svelte-ouqobo{margin-bottom:24px}.detail-card.svelte-ouqobo{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.detail-row.svelte-ouqobo{border-bottom:1px solid #f3f4f6;align-items:center;padding:8px 0;display:flex}.detail-row.svelte-ouqobo:last-child{border-bottom:none}.label.svelte-ouqobo{color:#6b7280;flex-shrink:0;width:120px;font-size:13px}.value.svelte-ouqobo{color:#111827;font-size:13px}.mono.svelte-ouqobo{color:#6b7280;font-family:monospace;font-size:12px}.badge.svelte-ouqobo{border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.section-title.svelte-ouqobo{color:#111827;margin:20px 0 8px;font-size:16px;font-weight:600}.log-box.svelte-ouqobo{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#1e293b;border-radius:8px;max-height:400px;padding:16px;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.6;overflow-y:auto}.log-box.stderr.svelte-ouqobo{color:#fca5a5;background:#451a1a}.no-output.svelte-ouqobo{color:#9ca3af;padding:16px;font-size:14px}.btn.svelte-ouqobo{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500}.btn-sm.svelte-ouqobo{height:30px;padding:0 12px;font-size:12px}.btn-ghost.svelte-ouqobo{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-ouqobo:hover{background:#f9fafb}.ops-workflows-page.svelte-1kt2hxs{min-height:100%;padding:24px}.page-header.svelte-1kt2hxs{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-1kt2hxs{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-1kt2hxs{color:#6b7280;font-size:13px}.header-actions.svelte-1kt2hxs{margin-left:auto}.error-state.svelte-1kt2hxs{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-1kt2hxs{color:#ef4444;margin-bottom:16px;font-size:14px}.section-header.svelte-1kt2hxs{margin-top:32px;margin-bottom:12px}.section-title.svelte-1kt2hxs{color:#111827;margin:0;font-size:16px;font-weight:600}.no-data.svelte-1kt2hxs{color:#9ca3af;padding:16px;font-size:14px}.table-wrap.svelte-1kt2hxs{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-1kt2hxs{border-collapse:collapse;width:100%}.data-table.svelte-1kt2hxs th:where(.svelte-1kt2hxs){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-1kt2hxs td:where(.svelte-1kt2hxs){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-1kt2hxs tbody:where(.svelte-1kt2hxs) tr:where(.svelte-1kt2hxs):hover{background:#f9fafb}.data-table.svelte-1kt2hxs tbody:where(.svelte-1kt2hxs) tr:where(.svelte-1kt2hxs):last-child td:where(.svelte-1kt2hxs){border-bottom:none}.cell-name.svelte-1kt2hxs{color:#111827;font-weight:500}.cell-id.svelte-1kt2hxs{color:#6b7280;font-family:monospace;font-size:12px}.cell-time.svelte-1kt2hxs{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-cron.svelte-1kt2hxs{color:#6b7280;font-family:monospace;font-size:12px}.cell-desc.svelte-1kt2hxs{color:#6b7280;max-width:200px;font-size:12px}.cell-events.svelte-1kt2hxs,.cell-actions.svelte-1kt2hxs{white-space:nowrap}.text-muted.svelte-1kt2hxs{color:#9ca3af;font-size:12px}.event-tag.svelte-1kt2hxs{color:#6b7280;background:#6b72801a;border-radius:4px;margin-right:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.event-tag.tag-alert.svelte-1kt2hxs{color:#ef4444;background:#ef44441a}.event-tag.tag-job-failed.svelte-1kt2hxs{color:#f97316;background:#f973161a}.event-tag.tag-daily-report.svelte-1kt2hxs{color:#3b82f6;background:#3b82f61a}.toggle-btn.svelte-1kt2hxs{cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.toggle-track.svelte-1kt2hxs{background:#d1d5db;border-radius:10px;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.toggle-btn.on.svelte-1kt2hxs .toggle-track:where(.svelte-1kt2hxs){background:#22c55e}.toggle-thumb.svelte-1kt2hxs{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;display:block;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.toggle-btn.on.svelte-1kt2hxs .toggle-thumb:where(.svelte-1kt2hxs){transform:translate(16px)}.status-badge.svelte-1kt2hxs{background:color-mix(in srgb, var(--st-color) 12%, transparent);color:var(--st-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.btn.svelte-1kt2hxs{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-1kt2hxs:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1kt2hxs{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-1kt2hxs{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-1kt2hxs:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-1kt2hxs{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-1kt2hxs:hover{color:#374151;background:#f9fafb}.btn-danger.svelte-1kt2hxs{color:#ef4444;background:0 0;border:1px solid #fca5a5}.btn-danger.svelte-1kt2hxs:hover{background:#ef44440f}.ops-workflow-edit-page.svelte-lmtuc5{max-width:960px;min-height:100%;padding:24px}.page-header.svelte-lmtuc5{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-lmtuc5{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-lmtuc5{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-lmtuc5{color:#ef4444;margin-bottom:16px;font-size:14px}.form-card.svelte-lmtuc5{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:20px}.card-title.svelte-lmtuc5{color:#111827;margin:0 0 16px;font-size:15px;font-weight:600}.form-grid.svelte-lmtuc5{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.form-group.svelte-lmtuc5{flex-direction:column;gap:4px;display:flex}.form-group.full-width.svelte-lmtuc5{grid-column:1/-1}.form-label.svelte-lmtuc5{color:#6b7280;font-size:12px;font-weight:500}.form-input.svelte-lmtuc5,.form-select.svelte-lmtuc5,.form-textarea.svelte-lmtuc5{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:13px;transition:border-color .15s}.form-input.svelte-lmtuc5:focus,.form-select.svelte-lmtuc5:focus,.form-textarea.svelte-lmtuc5:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.form-input.svelte-lmtuc5:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.form-textarea.svelte-lmtuc5{resize:vertical;font-family:inherit}.form-input.mono.svelte-lmtuc5,.mono.svelte-lmtuc5{font-family:monospace;font-size:12px}.checkbox-group.svelte-lmtuc5{flex-wrap:wrap;gap:16px;display:flex}.checkbox-label.svelte-lmtuc5{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.checkbox-label.svelte-lmtuc5 input[type=checkbox]:where(.svelte-lmtuc5){accent-color:#3b82f6}.steps-section.svelte-lmtuc5{margin-bottom:20px}.steps-header.svelte-lmtuc5{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.step-card.svelte-lmtuc5{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px}.step-card-header.svelte-lmtuc5{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.step-index.svelte-lmtuc5{color:#3b82f6;font-size:13px;font-weight:600}.config-section.svelte-lmtuc5{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.dep-tags.svelte-lmtuc5{flex-wrap:wrap;gap:6px;display:flex}.dep-tag.svelte-lmtuc5{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:2px 10px;font-family:monospace;font-size:11px;transition:all .15s}.dep-tag.selected.svelte-lmtuc5{color:#fff;background:#3b82f6;border-color:#3b82f6}.dep-tag.svelte-lmtuc5:hover{border-color:#3b82f6}.text-muted.svelte-lmtuc5{color:#9ca3af;font-size:12px}.no-data.svelte-lmtuc5{color:#9ca3af;padding:16px;font-size:14px}.json-section.svelte-lmtuc5{margin-bottom:20px}.json-preview.svelte-lmtuc5{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#1e293b;border-radius:8px;max-height:400px;margin-top:8px;padding:16px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.6;overflow-y:auto}.form-actions.svelte-lmtuc5{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.btn.svelte-lmtuc5{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-lmtuc5:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-lmtuc5{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-lmtuc5{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-lmtuc5:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-lmtuc5{color:#6b7280;background:0 0;border:1px solid #e5e7eb;height:36px;padding:0 16px}.btn-ghost.svelte-lmtuc5:hover{color:#374151;background:#f9fafb}.btn-danger.svelte-lmtuc5{color:#ef4444;background:0 0;border:1px solid #fca5a5}.btn-danger.svelte-lmtuc5:hover{background:#ef44440f}.ops-workflow-run-page.svelte-3y1hfg{max-width:900px;min-height:100%;padding:24px}.page-header.svelte-3y1hfg{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-3y1hfg{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-3y1hfg{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-3y1hfg{color:#ef4444;margin-bottom:16px;font-size:14px}.detail-card.svelte-3y1hfg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:20px}.detail-row.svelte-3y1hfg{border-bottom:1px solid #f3f4f6;align-items:center;padding:8px 0;display:flex}.detail-row.svelte-3y1hfg:last-child{border-bottom:none}.label.svelte-3y1hfg{color:#6b7280;flex-shrink:0;width:120px;font-size:13px}.value.svelte-3y1hfg{color:#111827;font-size:13px}.mono.svelte-3y1hfg{color:#6b7280;font-family:monospace;font-size:12px}.status-badge-lg.svelte-3y1hfg{background:color-mix(in srgb, var(--st-color) 12%, transparent);color:var(--st-color);border-radius:6px;padding:3px 12px;font-size:13px;font-weight:600;display:inline-block}.detail-actions.svelte-3y1hfg{margin-top:4px;padding-top:12px}.section-title.svelte-3y1hfg{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.no-data.svelte-3y1hfg{color:#9ca3af;padding:16px;font-size:14px}.timeline.svelte-3y1hfg{flex-direction:column;display:flex}.timeline-item.svelte-3y1hfg{gap:16px;display:flex}.timeline-connector.svelte-3y1hfg{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.timeline-dot.svelte-3y1hfg{border-radius:50%;flex-shrink:0;width:12px;height:12px;margin-top:14px}.timeline-line.svelte-3y1hfg{background:#e5e7eb;flex:1;width:2px;min-height:16px}.step-card.svelte-3y1hfg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex:1;margin-bottom:12px;padding:14px 16px}.step-header.svelte-3y1hfg{align-items:center;gap:8px;margin-bottom:8px;display:flex}.step-name.svelte-3y1hfg{color:#111827;font-size:14px;font-weight:600}.type-badge.svelte-3y1hfg{color:#6b7280;background:#6b72801a;border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.status-badge.svelte-3y1hfg{background:color-mix(in srgb, var(--st-color) 12%, transparent);color:var(--st-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.step-meta.svelte-3y1hfg{color:#6b7280;flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.meta-item.svelte-3y1hfg{align-items:center;gap:4px;display:inline-flex}.meta-item.retry.svelte-3y1hfg{color:#f59e0b}.link-btn.svelte-3y1hfg{color:#3b82f6;cursor:pointer;background:0 0;border:none;padding:0;font-family:monospace;font-size:12px;text-decoration:underline}.link-btn.svelte-3y1hfg:hover{color:#2563eb}.step-error.svelte-3y1hfg{color:#ef4444;background:#ef44440f;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px;line-height:1.5}.step-output-section.svelte-3y1hfg{margin-top:8px}.step-output.svelte-3y1hfg{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#1e293b;border-radius:6px;max-height:300px;margin-top:6px;padding:12px;font-family:Consolas,Monaco,monospace;font-size:12px;line-height:1.5;overflow-y:auto}.polling-hint.svelte-3y1hfg{text-align:center;color:#9ca3af;padding:16px;font-size:12px}.btn.svelte-3y1hfg{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-3y1hfg:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-3y1hfg{height:30px;padding:0 12px;font-size:12px}.btn-xs.svelte-3y1hfg{height:26px;padding:0 10px;font-size:11px}.btn-primary.svelte-3y1hfg{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-3y1hfg:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-3y1hfg{color:#6b7280;background:0 0;border:1px solid #e5e7eb}.btn-ghost.svelte-3y1hfg:hover{color:#374151;background:#f9fafb}.btn-danger.svelte-3y1hfg{color:#fff;background:#ef4444;height:36px;padding:0 16px}.btn-danger.svelte-3y1hfg:hover{background:#dc2626}.settings-email-page.svelte-txc6le{max-width:800px;min-height:100%;padding:24px}.page-header.svelte-txc6le{margin-bottom:24px}.page-title.svelte-txc6le{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-txc6le{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-txc6le{color:#ef4444;margin-bottom:16px;font-size:14px}.section.svelte-txc6le{margin-bottom:24px}.section-title.svelte-txc6le{color:#374151;text-transform:uppercase;letter-spacing:.3px;margin:0 0 10px;font-size:14px;font-weight:600}.section-card.svelte-txc6le{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px;overflow:hidden}.form-grid.svelte-txc6le{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px;display:grid}.form-field.svelte-txc6le{flex-direction:column;gap:4px;display:flex}.field-label.svelte-txc6le{color:#6b7280;font-size:12px;font-weight:500}.field-input.svelte-txc6le{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;height:36px;padding:0 10px;font-size:13px}.field-input.svelte-txc6le:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.form-checks.svelte-txc6le{gap:20px;margin-bottom:16px;display:flex}.check-item.svelte-txc6le{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.check-item.svelte-txc6le input[type=checkbox]:where(.svelte-txc6le){accent-color:#3b82f6;cursor:pointer;width:16px;height:16px}.form-actions.svelte-txc6le{justify-content:flex-end;display:flex}.test-row.svelte-txc6le{align-items:center;gap:10px;display:flex}.test-input.svelte-txc6le{flex:1}.add-recipient-card.svelte-txc6le{margin-bottom:12px}.add-row.svelte-txc6le{align-items:center;gap:10px;display:flex}.add-row.svelte-txc6le .field-input:where(.svelte-txc6le){flex:1}.empty-hint.svelte-txc6le{text-align:center;color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:32px;font-size:14px}.table-wrap.svelte-txc6le{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-txc6le{border-collapse:collapse;width:100%}.data-table.svelte-txc6le th:where(.svelte-txc6le){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-txc6le td:where(.svelte-txc6le){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-txc6le tbody:where(.svelte-txc6le) tr:where(.svelte-txc6le):hover{background:#f9fafb}.data-table.svelte-txc6le tbody:where(.svelte-txc6le) tr:where(.svelte-txc6le):last-child td:where(.svelte-txc6le){border-bottom:none}.cell-name.svelte-txc6le{color:#111827;font-weight:500}.cell-actions.svelte-txc6le{white-space:nowrap}.category-badge.svelte-txc6le{background:color-mix(in srgb, var(--cat-color) 12%, transparent);color:var(--cat-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.btn.svelte-txc6le{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-txc6le:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-txc6le{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-txc6le{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-txc6le:hover:not(:disabled){background:#2563eb}.btn-danger-text.svelte-txc6le{color:#ef4444;background:0 0}.btn-danger-text.svelte-txc6le:hover{background:#ef44440f}.addressbook-page.svelte-a15tko{min-height:100%;padding:24px}.page-header.svelte-a15tko{margin-bottom:20px}.page-title.svelte-a15tko{color:#111827;margin:0;font-size:20px;font-weight:600}.toolbar.svelte-a15tko{align-items:center;gap:12px;margin-bottom:16px;display:flex}.search-box.svelte-a15tko{flex:1;max-width:360px;position:relative}.search-icon.svelte-a15tko{color:#9ca3af;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input.svelte-a15tko{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;height:38px;padding:0 12px 0 36px;font-size:13px;transition:border-color .15s}.search-input.svelte-a15tko:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.btn.svelte-a15tko{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-a15tko:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-a15tko{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-a15tko{color:#fff;background:#3b82f6;height:38px;padding:0 18px}.btn-primary.svelte-a15tko:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-a15tko{color:#6b7280;background:0 0;border:1px solid #e5e7eb;height:38px;padding:0 14px}.btn-ghost.svelte-a15tko:hover{color:#374151;background:#f9fafb}.btn-danger.svelte-a15tko{color:#ef4444;background:#fef2f2;border:1px solid #fecaca}.btn-danger.svelte-a15tko:hover{background:#fee2e2}.btn-toggle.svelte-a15tko{color:#6b7280;background:#f3f4f6;align-items:center;gap:6px;height:38px;padding:0 14px;display:flex}.btn-toggle.active.svelte-a15tko{color:#d97706;background:#fef3c7}.modal-overlay.svelte-a15tko{z-index:1000;background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box.svelte-a15tko{background:#fff;border-radius:12px;width:440px;max-width:90vw;padding:24px;box-shadow:0 8px 30px #0000001f}.modal-title.svelte-a15tko{color:#111827;margin:0 0 16px;font-size:16px;font-weight:600}.modal-actions.svelte-a15tko{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.form-group.svelte-a15tko{margin-bottom:12px}.form-label.svelte-a15tko{color:#374151;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.form-input.svelte-a15tko{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;outline:none;width:100%;height:36px;padding:0 10px;font-size:13px}.form-input.svelte-a15tko:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.form-textarea.svelte-a15tko{resize:vertical;height:72px;padding:8px 10px}.form-check-row.svelte-a15tko{align-items:center;display:flex}.form-check-label.svelte-a15tko{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.error-state.svelte-a15tko{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-a15tko{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-a15tko{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-a15tko{border-collapse:collapse;width:100%}.data-table.svelte-a15tko th:where(.svelte-a15tko){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-a15tko td:where(.svelte-a15tko){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-a15tko tbody:where(.svelte-a15tko) tr:where(.svelte-a15tko):hover{background:#f9fafb}.data-table.svelte-a15tko tbody:where(.svelte-a15tko) tr:where(.svelte-a15tko):last-child td:where(.svelte-a15tko){border-bottom:none}.cell-fav.svelte-a15tko{text-align:center;width:40px}.fav-btn.svelte-a15tko{cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:inline-flex}.fav-btn.svelte-a15tko:hover{opacity:.7}.cell-name.svelte-a15tko{color:#111827;font-weight:500}.cell-id.svelte-a15tko{color:#6b7280;font-family:monospace;font-size:12px}.cell-note.svelte-a15tko{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.cell-tags.svelte-a15tko{flex-wrap:wrap;gap:4px;display:flex}.cell-actions.svelte-a15tko{white-space:nowrap}.tag-pill.svelte-a15tko{white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag-remove.svelte-a15tko{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:13px;line-height:1}.tag-remove.svelte-a15tko:hover{opacity:1}.section-divider.svelte-a15tko{background:#e5e7eb;height:1px;margin:28px 0 20px}.tag-section.svelte-a15tko{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.section-title.svelte-a15tko{color:#111827;margin:0 0 14px;font-size:15px;font-weight:600}.tag-list.svelte-a15tko{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tag-item.svelte-a15tko{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.tag-dot.svelte-a15tko{border-radius:50%;flex-shrink:0;width:10px;height:10px}.tag-name.svelte-a15tko{font-weight:500}.tag-delete-btn.svelte-a15tko{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 0 0 4px;font-size:15px;line-height:1}.tag-delete-btn.svelte-a15tko:hover{color:#ef4444}.tag-add-form.svelte-a15tko{align-items:center;gap:8px;display:flex}.tag-name-input.svelte-a15tko{max-width:200px}.color-picker.svelte-a15tko{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:36px;height:36px;padding:2px}.text-muted.svelte-a15tko{color:#9ca3af;font-size:13px}@media (width<=768px){.toolbar.svelte-a15tko{flex-direction:column;align-items:stretch}.search-box.svelte-a15tko{max-width:100%}}.metrics-page.svelte-1cx0h1m{min-height:100%;padding:24px}.page-header.svelte-1cx0h1m{margin-bottom:20px}.page-title.svelte-1cx0h1m{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-1cx0h1m{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-1cx0h1m{color:#ef4444;margin-bottom:16px;font-size:14px}.btn.svelte-1cx0h1m{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn-primary.svelte-1cx0h1m{color:#fff;background:#3b82f6;height:38px;padding:0 18px}.btn-primary.svelte-1cx0h1m:hover{background:#2563eb}.summary-cards.svelte-1cx0h1m{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.summary-card.svelte-1cx0h1m{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;gap:4px;padding:20px;display:flex}.card-number.svelte-1cx0h1m{color:#111827;font-size:28px;font-weight:700;line-height:1.2}.card-label.svelte-1cx0h1m{color:#6b7280;font-size:13px}.online-num.svelte-1cx0h1m{color:#10b981}.session-num.svelte-1cx0h1m{color:#3b82f6}.total-num.svelte-1cx0h1m{color:#8b5cf6}.rate-num.svelte-1cx0h1m{color:#f59e0b}.chart-grid.svelte-1cx0h1m{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.chart-card.svelte-1cx0h1m{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}.chart-title.svelte-1cx0h1m{color:#111827;margin:0 0 14px;font-size:14px;font-weight:600}.chart-body.svelte-1cx0h1m{justify-content:center;align-items:center;min-height:80px;margin-bottom:10px;display:flex}.chart-footer.svelte-1cx0h1m{color:#6b7280;text-align:right;font-size:12px}.chart-footer.svelte-1cx0h1m strong:where(.svelte-1cx0h1m){color:#374151}@media (width<=900px){.summary-cards.svelte-1cx0h1m{grid-template-columns:repeat(2,1fr)}.chart-grid.svelte-1cx0h1m{grid-template-columns:1fr}}@media (width<=500px){.summary-cards.svelte-1cx0h1m{grid-template-columns:1fr}}.permissions-page.svelte-31yq29{min-height:100%;padding:24px}.page-header.svelte-31yq29{margin-bottom:20px}.page-title.svelte-31yq29{color:#111827;margin:0;font-size:20px;font-weight:600}.error-state.svelte-31yq29{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-31yq29{color:#ef4444;margin-bottom:16px;font-size:14px}.btn.svelte-31yq29{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-31yq29:disabled{opacity:.4;cursor:not-allowed}.btn-primary.svelte-31yq29{color:#fff;background:#3b82f6;height:36px;padding:0 18px}.btn-primary.svelte-31yq29:hover:not(:disabled){background:#2563eb}.role-perm-layout.svelte-31yq29{gap:20px;margin-bottom:0;display:flex}.role-list-panel.svelte-31yq29{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-shrink:0;width:240px;padding:16px}.panel-title.svelte-31yq29{color:#111827;margin:0 0 12px;font-size:14px;font-weight:600}.highlight.svelte-31yq29{color:#3b82f6}.role-list.svelte-31yq29{flex-direction:column;gap:4px;display:flex}.role-item.svelte-31yq29{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.role-item.svelte-31yq29:hover{background:#f9fafb}.role-item.active.svelte-31yq29{background:#eff6ff;border-color:#3b82f6}.role-badge.svelte-31yq29{color:#111827;font-size:13px;font-weight:600}.role-item.active.svelte-31yq29 .role-badge:where(.svelte-31yq29){color:#3b82f6}.role-code.svelte-31yq29{color:#9ca3af;font-family:monospace;font-size:11px}.perm-panel.svelte-31yq29{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:1;min-height:300px;padding:16px 20px}.perm-header.svelte-31yq29{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.perm-placeholder.svelte-31yq29{justify-content:center;align-items:center;min-height:200px;display:flex}.perm-group.svelte-31yq29{margin-bottom:18px}.perm-group-title.svelte-31yq29{color:#374151;border-bottom:1px solid #f3f4f6;margin:0 0 8px;padding-bottom:6px;font-size:13px;font-weight:600}.perm-check-list.svelte-31yq29{flex-direction:column;gap:6px;padding-left:4px;display:flex}.perm-check-item.svelte-31yq29{color:#374151;cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.perm-check-item.svelte-31yq29 input[type=checkbox]:where(.svelte-31yq29){accent-color:#3b82f6;cursor:pointer;flex-shrink:0;width:16px;height:16px}.perm-code.svelte-31yq29{color:#6b7280;background:#f3f4f6;border-radius:3px;padding:1px 6px;font-family:monospace;font-size:12px}.perm-desc.svelte-31yq29{color:#9ca3af;font-size:12px}.section-divider.svelte-31yq29{background:#e5e7eb;height:1px;margin:28px 0 20px}.section-title.svelte-31yq29{color:#111827;margin:0 0 14px;font-size:15px;font-weight:600}.table-wrap.svelte-31yq29{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-31yq29{border-collapse:collapse;width:100%}.data-table.svelte-31yq29 th:where(.svelte-31yq29){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-31yq29 td:where(.svelte-31yq29){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-31yq29 tbody:where(.svelte-31yq29) tr:where(.svelte-31yq29):hover{background:#f9fafb}.data-table.svelte-31yq29 tbody:where(.svelte-31yq29) tr:where(.svelte-31yq29):last-child td:where(.svelte-31yq29){border-bottom:none}.cell-id.svelte-31yq29{color:#6b7280;font-family:monospace;font-size:12px}.cell-name.svelte-31yq29{color:#111827;font-weight:500}.status-badge.svelte-31yq29{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.status-active.svelte-31yq29{color:#059669;background:#ecfdf5}.status-disabled.svelte-31yq29{color:#ef4444;background:#fef2f2}.status-pending.svelte-31yq29{color:#d97706;background:#fef3c7}.role-code-badge.svelte-31yq29{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-family:monospace;font-size:12px}.text-muted.svelte-31yq29{color:#9ca3af;font-size:13px}@media (width<=768px){.role-perm-layout.svelte-31yq29{flex-direction:column}.role-list-panel.svelte-31yq29{width:100%}}.notify-channels-page.svelte-psflx4{min-height:100%;padding:24px}.page-header.svelte-psflx4{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-psflx4{color:#111827;margin:0;font-size:20px;font-weight:600}.item-count.svelte-psflx4{color:#6b7280;font-size:13px}.toolbar.svelte-psflx4{align-items:center;gap:12px;margin-bottom:16px;display:flex}.error-state.svelte-psflx4{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-psflx4{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-psflx4{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.data-table.svelte-psflx4{border-collapse:collapse;width:100%}.data-table.svelte-psflx4 th:where(.svelte-psflx4){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-psflx4 td:where(.svelte-psflx4){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-psflx4 tbody:where(.svelte-psflx4) tr:where(.svelte-psflx4):hover{background:#f9fafb}.data-table.svelte-psflx4 tbody:where(.svelte-psflx4) tr:where(.svelte-psflx4):last-child td:where(.svelte-psflx4){border-bottom:none}.cell-name.svelte-psflx4{color:#111827;white-space:nowrap;font-weight:500}.cell-actions.svelte-psflx4{white-space:nowrap}.cell-time.svelte-psflx4{color:#6b7280;white-space:nowrap;font-size:12px}.cell-error.svelte-psflx4{color:#9ca3af;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.cell-events.svelte-psflx4{flex-wrap:wrap;gap:4px;display:flex}.cell-count.svelte-psflx4{white-space:nowrap}.count-send.svelte-psflx4{color:#22c55e;font-weight:500}.count-sep.svelte-psflx4{color:#d1d5db;margin:0 2px}.count-fail.svelte-psflx4{color:#ef4444;font-weight:500}.text-muted.svelte-psflx4{color:#9ca3af}.type-badge.svelte-psflx4{background:color-mix(in srgb, var(--type-color) 12%, transparent);color:var(--type-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.event-tag.svelte-psflx4{color:#6b7280;background:#f3f4f6;border-radius:3px;padding:1px 6px;font-size:11px;display:inline-block}.status-badge.svelte-psflx4{background:color-mix(in srgb, var(--st-color) 12%, transparent);color:var(--st-color);border-radius:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.toggle-btn.svelte-psflx4{cursor:pointer;background:0 0;border:none;padding:0}.toggle-track.svelte-psflx4{background:#d1d5db;border-radius:10px;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.toggle-btn.on.svelte-psflx4 .toggle-track:where(.svelte-psflx4){background:#22c55e}.toggle-thumb.svelte-psflx4{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000001a}.toggle-btn.on.svelte-psflx4 .toggle-thumb:where(.svelte-psflx4){transform:translate(16px)}.btn.svelte-psflx4{cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background .15s}.btn.svelte-psflx4:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-psflx4{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-psflx4{color:#fff;background:#3b82f6;height:36px;padding:0 16px}.btn-primary.svelte-psflx4:hover:not(:disabled){background:#2563eb}.btn-ghost.svelte-psflx4{color:#6b7280;background:0 0;border:1px solid #e5e7eb;height:36px;padding:0 16px}.btn-ghost.svelte-psflx4:hover{color:#374151;background:#f9fafb}.btn-danger-text.svelte-psflx4{color:#ef4444;background:0 0}.btn-danger-text.svelte-psflx4:hover{background:#ef44440f}.modal-overlay.svelte-psflx4{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box.svelte-psflx4{background:#fff;border-radius:10px;flex-direction:column;width:520px;max-height:85vh;display:flex;box-shadow:0 20px 60px #00000026}.modal-wide.svelte-psflx4{width:680px}.modal-header.svelte-psflx4{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title.svelte-psflx4{color:#111827;margin:0;font-size:16px;font-weight:600}.modal-close.svelte-psflx4{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;display:flex}.modal-close.svelte-psflx4:hover{color:#374151;background:#f3f4f6}.modal-body.svelte-psflx4{flex:1;padding:20px;overflow-y:auto}.modal-footer.svelte-psflx4{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.form-field.svelte-psflx4{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field-label.svelte-psflx4{color:#6b7280;font-size:12px;font-weight:500}.field-input.svelte-psflx4{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;outline:none;height:36px;padding:0 10px;font-size:13px}.field-input.svelte-psflx4:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61f}.field-input.svelte-psflx4:disabled{color:#9ca3af;background:#f3f4f6}.config-section.svelte-psflx4{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:14px;padding:14px}.section-label.svelte-psflx4{color:#374151;margin-bottom:10px;font-size:13px;font-weight:600}.checkbox-group.svelte-psflx4{flex-wrap:wrap;gap:16px;margin-top:4px;display:flex}.checkbox-item.svelte-psflx4{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.checkbox-item.svelte-psflx4 input[type=checkbox]:where(.svelte-psflx4){accent-color:#3b82f6;cursor:pointer;width:16px;height:16px}.recordings-page.svelte-11ip8xx{min-height:100%;padding:24px}.page-header.svelte-11ip8xx{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.page-title.svelte-11ip8xx{color:#111827;margin:0;font-size:20px;font-weight:600}.company-tag.svelte-11ip8xx{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:12px}.error-state.svelte-11ip8xx{flex-direction:column;align-items:center;padding:60px 20px;display:flex}.error-text.svelte-11ip8xx{color:#ef4444;margin-bottom:16px;font-size:14px}.table-wrap.svelte-11ip8xx{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-11ip8xx{border-collapse:collapse;width:100%}.data-table.svelte-11ip8xx th:where(.svelte-11ip8xx){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-11ip8xx td:where(.svelte-11ip8xx){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-11ip8xx tbody:where(.svelte-11ip8xx) tr:where(.svelte-11ip8xx):hover{background:#f9fafb}.data-table.svelte-11ip8xx tbody:where(.svelte-11ip8xx) tr:where(.svelte-11ip8xx):last-child td:where(.svelte-11ip8xx){border-bottom:none}.cell-id.svelte-11ip8xx{color:#6b7280;font-family:monospace;font-size:12px}.cell-name.svelte-11ip8xx{color:#111827;font-weight:500}.cell-duration.svelte-11ip8xx{color:#374151;font-family:monospace;font-size:13px}.cell-size.svelte-11ip8xx{color:#6b7280;font-size:12px}.cell-time.svelte-11ip8xx{color:#9ca3af;white-space:nowrap;font-size:12px}.cell-actions.svelte-11ip8xx{white-space:nowrap}.codec-badge.svelte-11ip8xx{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.codec-h264.svelte-11ip8xx{color:#059669;background:#d1fae5}.codec-jpeg.svelte-11ip8xx{color:#ea580c;background:#ffedd5}.codec-unknown.svelte-11ip8xx{color:#6b7280;background:#f3f4f6}.status-badge.svelte-11ip8xx{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.status-completed.svelte-11ip8xx{color:#059669;background:#d1fae5}.status-recording.svelte-11ip8xx{color:#2563eb;background:#dbeafe}.status-failed.svelte-11ip8xx{color:#dc2626;background:#fee2e2}.status-unknown.svelte-11ip8xx{color:#6b7280;background:#f3f4f6}.btn.svelte-11ip8xx{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.btn-sm.svelte-11ip8xx{height:30px;padding:0 12px;font-size:12px}.btn-primary.svelte-11ip8xx{color:#fff;background:#3b82f6}.btn-primary.svelte-11ip8xx:hover{background:#2563eb}.btn-outline.svelte-11ip8xx{color:#6b7280;background:0 0;border:1px solid #d1d5db}.btn-outline.svelte-11ip8xx:hover{color:#374151;background:#f3f4f6;border-color:#9ca3af}.modal-overlay.svelte-11ip8xx{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content.svelte-11ip8xx{background:#fff;border-radius:12px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d}.modal-header.svelte-11ip8xx{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title.svelte-11ip8xx{color:#111827;margin:0;font-size:16px;font-weight:600}.modal-close.svelte-11ip8xx{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.modal-close.svelte-11ip8xx:hover{color:#374151;background:#e5e7eb}.modal-body.svelte-11ip8xx{padding:20px}.playback-video.svelte-11ip8xx{background:#000;border-radius:8px;width:100%;max-height:60vh}.unsupported-msg.svelte-11ip8xx{text-align:center;color:#6b7280;padding:40px 20px}.unsupported-icon.svelte-11ip8xx{margin-bottom:16px;font-size:48px}.unsupported-msg.svelte-11ip8xx p:where(.svelte-11ip8xx){color:#374151;margin:0 0 8px;font-size:15px}.unsupported-hint.svelte-11ip8xx{color:#9ca3af!important;margin-bottom:20px!important;font-size:13px!important}@media (width<=768px){.recordings-page.svelte-11ip8xx{padding:16px}.data-table.svelte-11ip8xx th:where(.svelte-11ip8xx),.data-table.svelte-11ip8xx td:where(.svelte-11ip8xx){padding:8px 10px;font-size:12px}.modal-content.svelte-11ip8xx{width:95%}}.membership-page.svelte-56dki1{min-height:100%;padding:24px}.page-header.svelte-56dki1{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.page-title.svelte-56dki1{color:#111827;margin:0;font-size:20px;font-weight:600}.company-tag.svelte-56dki1{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:12px}.section.svelte-56dki1{margin-bottom:32px}.section-title.svelte-56dki1{color:#374151;margin:0 0 14px;font-size:15px;font-weight:600}.current-plan-card.svelte-56dki1{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px 24px}.plan-name-row.svelte-56dki1{align-items:center;gap:12px;margin-bottom:16px;display:flex}.plan-name.svelte-56dki1{color:#111827;font-size:22px;font-weight:700}.plan-status.svelte-56dki1{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500}.plan-status-active.svelte-56dki1{color:#059669;background:#d1fae5}.plan-status-expired.svelte-56dki1{color:#dc2626;background:#fee2e2}.plan-status-trial.svelte-56dki1{color:#2563eb;background:#dbeafe}.plan-status-unknown.svelte-56dki1{color:#6b7280;background:#f3f4f6}.plan-details.svelte-56dki1{flex-wrap:wrap;gap:32px;display:flex}.plan-detail.svelte-56dki1{flex-direction:column;gap:2px;display:flex}.detail-label.svelte-56dki1{color:#9ca3af;font-size:12px}.detail-value.svelte-56dki1{color:#374151;font-size:14px;font-weight:500}.stats-grid.svelte-56dki1{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.stat-card.svelte-56dki1{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 20px}.stat-value.svelte-56dki1{color:#111827;font-size:28px;font-weight:700;line-height:1.1}.stat-label.svelte-56dki1{color:#6b7280;margin-top:4px;font-size:13px}.stat-limit.svelte-56dki1{color:#9ca3af;margin-top:2px;font-size:11px}.stat-bar.svelte-56dki1{background:#f3f4f6;border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.stat-bar-fill.svelte-56dki1{background:#3b82f6;border-radius:2px;height:100%;transition:width .3s}.plans-grid.svelte-56dki1{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.plan-card.svelte-56dki1{background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;padding:24px 20px;display:flex;position:relative}.plan-card.popular.svelte-56dki1{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.popular-tag.svelte-56dki1{color:#fff;background:#3b82f6;border-radius:10px;padding:2px 12px;font-size:11px;font-weight:600;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.plan-card-header.svelte-56dki1{text-align:center;border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:16px}.plan-card-name.svelte-56dki1{color:#111827;margin:0 0 8px;font-size:17px;font-weight:600}.plan-card-price.svelte-56dki1{color:#3b82f6;font-size:24px;font-weight:700}.plan-card-features.svelte-56dki1{flex:1;margin-bottom:20px}.feature-row.svelte-56dki1{border-bottom:1px solid #f9fafb;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.feature-row.svelte-56dki1:last-child{border-bottom:none}.feature-label.svelte-56dki1{color:#6b7280}.feature-value.svelte-56dki1{color:#374151;font-weight:500}.plan-card-action.svelte-56dki1{text-align:center}.btn.svelte-56dki1{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;height:36px;padding:0 20px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-current.svelte-56dki1{color:#9ca3af;cursor:default;background:#f3f4f6}.btn-upgrade.svelte-56dki1{color:#3b82f6;background:#fff;border:1px solid #3b82f6}.btn-upgrade.svelte-56dki1:hover{background:#eff6ff}.btn-upgrade-primary.svelte-56dki1{color:#fff;background:#3b82f6;border:none}.btn-upgrade-primary.svelte-56dki1:hover{background:#2563eb}.table-wrap.svelte-56dki1{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.data-table.svelte-56dki1{border-collapse:collapse;width:100%}.data-table.svelte-56dki1 th:where(.svelte-56dki1){text-align:left;color:#6b7280;white-space:nowrap;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 16px;font-size:12px;font-weight:500}.data-table.svelte-56dki1 td:where(.svelte-56dki1){color:#374151;border-bottom:1px solid #f3f4f6;padding:12px 16px;font-size:13px}.data-table.svelte-56dki1 tbody:where(.svelte-56dki1) tr:where(.svelte-56dki1):hover{background:#f9fafb}.data-table.svelte-56dki1 tbody:where(.svelte-56dki1) tr:where(.svelte-56dki1):last-child td:where(.svelte-56dki1){border-bottom:none}.cell-time.svelte-56dki1{color:#9ca3af;font-size:12px}.cell-amount.svelte-56dki1{color:#111827;font-weight:600}.pay-badge.svelte-56dki1{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.pay-paid.svelte-56dki1{color:#059669;background:#d1fae5}.pay-free.svelte-56dki1{color:#6b7280;background:#f3f4f6}.pay-pending.svelte-56dki1{color:#d97706;background:#fef3c7}.pay-failed.svelte-56dki1{color:#dc2626;background:#fee2e2}.pay-unknown.svelte-56dki1{color:#6b7280;background:#f3f4f6}.empty-hint.svelte-56dki1{text-align:center;color:#9ca3af;padding:40px 20px;font-size:14px}@media (width<=768px){.membership-page.svelte-56dki1{padding:16px}.plan-details.svelte-56dki1{gap:16px}.stats-grid.svelte-56dki1{grid-template-columns:repeat(2,1fr)}.plans-grid.svelte-56dki1{grid-template-columns:1fr}}.mobile-viewer.svelte-9amy25{z-index:2000;touch-action:none;-webkit-user-select:none;user-select:none;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.toolbar-top.svelte-9amy25{-webkit-backdrop-filter:blur(8px);z-index:10;background:#0f172ad9;flex-shrink:0;align-items:center;height:44px;padding:0 8px;display:flex}.tb-btn.svelte-9amy25{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.tb-btn.svelte-9amy25:active{background:#ffffff1a}.tb-btn.active.svelte-9amy25{color:#3b82f6}.tb-center.svelte-9amy25{flex:1;justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.device-name.svelte-9amy25{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:14px;font-weight:500;overflow:hidden}.status-dot.svelte-9amy25{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-connected.svelte-9amy25{background:#22c55e;box-shadow:0 0 6px #22c55e}.dot-connecting.svelte-9amy25{background:#f59e0b;animation:1s infinite svelte-9amy25-blink}.dot-error.svelte-9amy25{background:#ef4444}.dot-idle.svelte-9amy25{background:#64748b}@keyframes svelte-9amy25-blink{0%,to{opacity:1}50%{opacity:.3}}.tb-right.svelte-9amy25{align-items:center;gap:2px;display:flex}.canvas-area.svelte-9amy25{flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.canvas-scaler.svelte-9amy25{transform-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.screen.svelte-9amy25{object-fit:contain;max-width:100%;max-height:100%}canvas.screen.svelte-9amy25{image-rendering:auto}.loading-overlay.svelte-9amy25{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;inset:0}.spinner.svelte-9amy25{border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite svelte-9amy25-spin}@keyframes svelte-9amy25-spin{to{transform:rotate(360deg)}}.error-overlay.svelte-9amy25{background:#000000b3;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.error-icon.svelte-9amy25{color:#fff;background:#ef4444;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;display:flex}.error-msg.svelte-9amy25{color:#e2e8f0;font-size:15px}.retry-btn.svelte-9amy25{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;height:38px;padding:0 24px;font-size:14px;font-weight:500}.retry-btn.svelte-9amy25:active{background:#2563eb}.keyboard-bar.svelte-9amy25{background:#1e293b;border-top:1px solid #334155;flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.keyboard-input.svelte-9amy25{color:#e2e8f0;-webkit-appearance:none;background:#0f172a;border:1px solid #334155;border-radius:8px;outline:none;flex:1;height:38px;padding:0 12px;font-size:16px}.keyboard-input.svelte-9amy25:focus{border-color:#3b82f6}.keyboard-close.svelte-9amy25{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:8px;height:38px;padding:0 16px;font-size:14px;font-weight:500}.status-bar-bottom.svelte-9amy25{background:#0f172a;flex-shrink:0;justify-content:center;align-items:center;gap:12px;height:28px;padding:0 12px;display:flex}.sb-item.svelte-9amy25{white-space:nowrap;align-items:center;gap:4px;display:flex}.sb-label.svelte-9amy25{color:#64748b;font-size:11px}.sb-value.svelte-9amy25{color:#cbd5e1;font-variant-numeric:tabular-nums;font-size:11px}.sb-value.warn.svelte-9amy25{color:#f59e0b}.sb-divider.svelte-9amy25{background:#334155;width:1px;height:12px}.fab-keyboard.svelte-9amy25{color:#fff;cursor:pointer;z-index:20;background:#3b82f6e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:fixed;bottom:48px;right:16px;box-shadow:0 4px 12px #0006}.fab-keyboard.svelte-9amy25:active{transform:scale(.92)}@media (orientation:landscape){.toolbar-top.svelte-9amy25{height:36px}.tb-btn.svelte-9amy25{width:32px;height:32px}.device-name.svelte-9amy25{font-size:13px}.status-bar-bottom.svelte-9amy25{height:24px}.fab-keyboard.svelte-9amy25{width:40px;height:40px;bottom:40px;right:12px}}@media (width<=380px){.device-name.svelte-9amy25{max-width:120px;font-size:13px}}.mobile-viewer.svelte-9amy25 *{-webkit-touch-callout:none}.toolbox-page.svelte-dqbddu{color:#e2e8f0;max-width:1200px;margin:0 auto;padding:24px}.toolbox-header.svelte-dqbddu{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.toolbox-header.svelte-dqbddu h2:where(.svelte-dqbddu){color:#e2e8f0;margin:0;font-size:22px;font-weight:600}.stats.svelte-dqbddu{gap:16px;display:flex}.stat-item.svelte-dqbddu{color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:6px 12px;font-size:13px}.toolbar.svelte-dqbddu{background:#1e293b;border:1px solid #334155;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.breadcrumb.svelte-dqbddu{flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;display:flex}.crumb.svelte-dqbddu{color:#3b82f6;cursor:pointer;border-radius:4px;padding:2px 6px;transition:background .15s}.crumb.svelte-dqbddu:hover{background:#3b82f626}.crumb.active.svelte-dqbddu{color:#e2e8f0;cursor:default}.crumb.active.svelte-dqbddu:hover{background:0 0}.sep.svelte-dqbddu{color:#475569;-webkit-user-select:none;user-select:none}.toolbar-actions.svelte-dqbddu{flex-shrink:0;gap:8px;display:flex}.btn.svelte-dqbddu{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 16px;font-family:inherit;font-size:13px;transition:background .15s,opacity .15s;display:inline-flex}.btn.svelte-dqbddu:disabled{opacity:.6;cursor:not-allowed}.btn-primary.svelte-dqbddu{color:#fff;background:#3b82f6}.btn-primary.svelte-dqbddu:hover:not(:disabled){background:#2563eb}.btn-secondary.svelte-dqbddu{color:#e2e8f0;background:#334155}.btn-secondary.svelte-dqbddu:hover:not(:disabled){background:#475569}.btn-danger.svelte-dqbddu{color:#fff;background:#dc2626}.btn-danger.svelte-dqbddu:hover:not(:disabled){background:#b91c1c}.file-list.svelte-dqbddu{background:#1e293b;border:1px solid #334155;border-radius:8px;min-height:300px;transition:border-color .2s;position:relative;overflow:hidden}.file-list.drag-over.svelte-dqbddu{border:2px dashed #3b82f6}table.svelte-dqbddu{border-collapse:collapse;table-layout:fixed;width:100%}thead.svelte-dqbddu{background:#0f172a}th.svelte-dqbddu{text-align:left;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;border-bottom:1px solid #334155;padding:10px 16px;font-size:12px;font-weight:600}th.sortable.svelte-dqbddu{cursor:pointer}th.sortable.svelte-dqbddu:hover{color:#e2e8f0}.col-name.svelte-dqbddu{width:auto}.col-size.svelte-dqbddu{width:100px}.col-date.svelte-dqbddu{width:160px}.col-actions.svelte-dqbddu{text-align:right;width:120px}td.svelte-dqbddu{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #33415580;padding:10px 16px;font-size:14px;overflow:hidden}.file-row.svelte-dqbddu{transition:background .1s}.file-row.svelte-dqbddu:hover{background:#3b82f60f}.file-row.svelte-dqbddu:hover .action-btns:where(.svelte-dqbddu){opacity:1}.file-icon.svelte-dqbddu{vertical-align:middle;margin-right:8px;font-size:16px}.file-name.svelte-dqbddu{vertical-align:middle}.file-name.is-dir.svelte-dqbddu{color:#3b82f6;cursor:pointer}.file-name.is-dir.svelte-dqbddu:hover{text-decoration:underline}.rename-input.svelte-dqbddu{color:#e2e8f0;background:#0f172a;border:1px solid #3b82f6;border-radius:4px;outline:none;width:200px;padding:2px 8px;font-family:inherit;font-size:14px}.action-btns.svelte-dqbddu{opacity:0;justify-content:flex-end;gap:4px;transition:opacity .15s;display:flex}.action-btn.svelte-dqbddu{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.action-btn.svelte-dqbddu:hover{color:#e2e8f0;background:#334155;border-color:#475569}.action-btn.danger.svelte-dqbddu:hover{color:#f87171;background:#dc262633;border-color:#dc2626}.col-size.svelte-dqbddu,.col-date.svelte-dqbddu{color:#94a3b8;font-size:13px}.loading-state.svelte-dqbddu{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner.svelte-dqbddu{border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;width:36px;height:36px;margin-bottom:12px;animation:.8s linear infinite svelte-dqbddu-spin}.spinner-small.svelte-dqbddu{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite svelte-dqbddu-spin;display:inline-block}@keyframes svelte-dqbddu-spin{to{transform:rotate(360deg)}}.empty-state.svelte-dqbddu{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.empty-icon.svelte-dqbddu{opacity:.5;margin-bottom:12px;font-size:48px}.empty-state.svelte-dqbddu p:where(.svelte-dqbddu){margin:4px 0;font-size:14px}.hint.svelte-dqbddu{color:#64748b;font-size:13px!important}.drag-overlay.svelte-dqbddu{pointer-events:none;z-index:5;background:#3b82f614;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.drag-hint.svelte-dqbddu{text-align:center;color:#3b82f6}.drag-icon.svelte-dqbddu{margin-bottom:8px;font-size:36px;display:block}.drag-hint.svelte-dqbddu p:where(.svelte-dqbddu){margin:0;font-size:14px}.modal-backdrop.svelte-dqbddu{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal.svelte-dqbddu{background:#1e293b;border:1px solid #334155;border-radius:12px;width:420px;max-width:90vw;box-shadow:0 20px 60px #00000080}.modal-header.svelte-dqbddu{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-header.svelte-dqbddu h3:where(.svelte-dqbddu){color:#e2e8f0;margin:0;font-size:16px;font-weight:600}.modal-close.svelte-dqbddu{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:0;font-size:22px;line-height:1}.modal-close.svelte-dqbddu:hover{color:#e2e8f0}.modal-body.svelte-dqbddu{padding:20px}.modal-body.svelte-dqbddu label:where(.svelte-dqbddu){color:#94a3b8;margin-bottom:8px;font-size:13px;display:block}.modal-body.svelte-dqbddu p:where(.svelte-dqbddu){color:#e2e8f0;margin:0 0 8px;font-size:14px}.warning-text.svelte-dqbddu{color:#f87171!important;font-size:13px!important}.modal-input.svelte-dqbddu{color:#e2e8f0;box-sizing:border-box;background:#0f172a;border:1px solid #334155;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.modal-input.svelte-dqbddu:focus{border-color:#3b82f6}.modal-footer.svelte-dqbddu{border-top:1px solid #334155;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.settings.svelte-yrpuxg{max-width:1000px;margin:0 auto;padding:20px}.top-bar.svelte-yrpuxg{align-items:center;gap:16px;margin-bottom:16px;display:flex}.top-bar.svelte-yrpuxg h2:where(.svelte-yrpuxg){margin:0}.btn-back.svelte-yrpuxg{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:15px}.btn-back.svelte-yrpuxg:hover{text-decoration:underline}.no-perm.svelte-yrpuxg{text-align:center;color:#dc2626;padding:60px}.tabs.svelte-yrpuxg{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:20px;display:flex}.tabs.svelte-yrpuxg button:where(.svelte-yrpuxg){cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 24px;font-size:15px}.tabs.svelte-yrpuxg button.active:where(.svelte-yrpuxg){color:#2563eb;border-bottom-color:#2563eb;font-weight:600}.section.svelte-yrpuxg{margin-bottom:20px}.section-header.svelte-yrpuxg{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header.svelte-yrpuxg h3:where(.svelte-yrpuxg){margin:0}.hint.svelte-yrpuxg{color:#9ca3af;font-size:13px}.error.svelte-yrpuxg{color:#dc2626;background:#fef2f2;border-radius:6px;padding:8px 12px}.btn-primary.svelte-yrpuxg{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 18px;font-size:14px}.btn-primary.svelte-yrpuxg:hover{background:#1d4ed8}.btn-sm.svelte-yrpuxg{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 10px;font-size:12px}.btn-sm.svelte-yrpuxg:hover{background:#f3f4f6}.btn-sm.ok.svelte-yrpuxg{color:#16a34a;border-color:#22c55e}.btn-sm.danger.svelte-yrpuxg{color:#dc2626;border-color:#fca5a5}.btn-sm.danger.svelte-yrpuxg:hover{background:#fef2f2}.btn-icon.svelte-yrpuxg{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:2px}.btn-icon.svelte-yrpuxg:hover{color:#2563eb}.btn-tag.svelte-yrpuxg{color:#7c3aed;cursor:pointer;white-space:nowrap;background:#f5f3ff;border:1px solid #c4b5fd;border-radius:10px;padding:2px 8px;font-size:11px}.btn-tag.svelte-yrpuxg:hover{background:#ede9fe}.form-card.svelte-yrpuxg{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:16px}.form-row.svelte-yrpuxg{margin-bottom:10px}.form-row.svelte-yrpuxg label:where(.svelte-yrpuxg){color:#374151;margin-bottom:4px;font-size:13px;display:block}.form-row.svelte-yrpuxg input:where(.svelte-yrpuxg),.form-row.svelte-yrpuxg select:where(.svelte-yrpuxg){box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px;font-size:14px}table.svelte-yrpuxg{border-collapse:collapse;width:100%;font-size:14px}th.svelte-yrpuxg{text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:13px}td.svelte-yrpuxg{border-bottom:1px solid #f3f4f6;padding:10px 12px}.actions.svelte-yrpuxg{white-space:nowrap;gap:4px;display:flex}.device-table.svelte-yrpuxg{margin-top:10px}.badge.svelte-yrpuxg{border-radius:10px;padding:2px 8px;font-size:12px}.badge.super.svelte-yrpuxg{color:#92400e;background:#fef3c7}.badge.active.svelte-yrpuxg{color:#16a34a;background:#f0fdf4}.badge.inactive.svelte-yrpuxg{color:#dc2626;background:#fef2f2}.code.svelte-yrpuxg{color:#2563eb;letter-spacing:1px;font-family:Courier New,monospace;font-weight:700}.inline-input.svelte-yrpuxg{border:1px solid #d1d5db;border-radius:4px;width:120px;padding:4px 6px;font-size:13px}.inline-select.svelte-yrpuxg{border:1px solid #d1d5db;border-radius:4px;padding:4px;font-size:13px}.group-card.svelte-yrpuxg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:14px 18px}.group-header.svelte-yrpuxg{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.group-header-actions.svelte-yrpuxg{gap:6px;display:flex}.register-form.svelte-yrpuxg{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;align-items:center;gap:8px;margin-bottom:10px;padding:10px;display:flex}.code-input-sm.svelte-yrpuxg{letter-spacing:3px;text-align:center;border:1px solid #d1d5db;border-radius:4px;width:100px;padding:6px;font-family:Courier New,monospace;font-size:16px}.name-input.svelte-yrpuxg{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:6px 10px;font-size:14px}.empty.svelte-yrpuxg{text-align:center;color:#9ca3af;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:40px}.online-devices-section.svelte-yrpuxg{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:14px}.online-devices-section.svelte-yrpuxg h4:where(.svelte-yrpuxg){color:#374151;margin:0 0 10px;font-size:14px}.hidden-section.svelte-yrpuxg{margin-bottom:20px}.hidden-section.svelte-yrpuxg h4:where(.svelte-yrpuxg){margin:0 0 10px;font-size:15px}.device-grid.svelte-yrpuxg{flex-wrap:wrap;gap:8px;display:flex}.device-chip.svelte-yrpuxg{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:6px;min-width:200px;padding:10px 14px;font-size:13px;display:flex}.device-chip.registered.svelte-yrpuxg{background:#f0fdf4;border-color:#86efac}.device-chip.hidden-device.svelte-yrpuxg{opacity:.7;background:#fef2f2;border-color:#fca5a5}.chip-info.svelte-yrpuxg{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip-hostname.svelte-yrpuxg{font-weight:500}.chip-code.svelte-yrpuxg{color:#2563eb;font-family:monospace;font-weight:600}.chip-group.svelte-yrpuxg{color:#16a34a;font-size:11px}.chip-actions.svelte-yrpuxg{flex-wrap:wrap;gap:4px;display:flex}body{color:#111827;background:#f9fafb;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell.svelte-1n46o8q{min-height:100vh;display:flex}.main-area.svelte-1n46o8q{flex-direction:column;flex:1;min-height:100vh;margin-left:220px;display:flex}.sidenav.collapsed~.main-area.svelte-1n46o8q{margin-left:60px}.content.svelte-1n46o8q{flex:1;padding:24px;overflow-y:auto}@media (width<=768px){.main-area.svelte-1n46o8q{margin-left:0!important}.content.svelte-1n46o8q{padding:12px}}.home.svelte-1n46o8q{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.home.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin-bottom:4px;font-size:42px}.subtitle.svelte-1n46o8q{color:#6b7280;margin-bottom:50px;font-size:18px}.cards.svelte-1n46o8q{gap:24px;display:flex}.card.svelte-1n46o8q{cursor:pointer;text-align:center;width:220px;color:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:40px 36px;font-family:inherit;transition:all .2s}.card.svelte-1n46o8q:hover{border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 20px #2563eb1a}.card-icon.svelte-1n46o8q{color:#2563eb;margin-bottom:16px}.card.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:0 0 8px;font-size:20px}.card.svelte-1n46o8q p:where(.svelte-1n46o8q){color:#6b7280;margin:0;font-size:14px}.footer-note.svelte-1n46o8q{color:#9ca3af;margin-top:50px;font-size:13px}.admin-link.svelte-1n46o8q{color:#7c3aed;cursor:pointer;opacity:.6;margin-top:16px;font-size:12px;transition:opacity .2s}.admin-link.svelte-1n46o8q:hover{opacity:1;text-decoration:underline}.home-lang.svelte-1n46o8q{cursor:pointer;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;margin-top:12px;padding:6px 18px;font-size:13px}.home-lang.svelte-1n46o8q:hover{background:#e5e7eb}@media (width<=640px){.home.svelte-1n46o8q{min-height:100dvh;padding:20px}.home.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-size:28px}.subtitle.svelte-1n46o8q{margin-bottom:30px;font-size:15px}.cards.svelte-1n46o8q{flex-direction:column;gap:14px;width:100%}.card.svelte-1n46o8q{width:100%;padding:24px 20px}.card.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:17px}.footer-note.svelte-1n46o8q{margin-top:30px}.app-shell.svelte-1n46o8q{flex-direction:column}}
