.mobile-header[data-v-55f2d411]{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:50;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:none;position:sticky;top:0}.mobile-brand[data-v-55f2d411]{font-family:var(--font-display);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.version-tag[data-v-55f2d411]{font-size:.75rem;font-family:var(--font-mono);color:var(--text-muted)}.mobile-toggle-btn[data-v-55f2d411]{color:var(--text-main);background:0 0;border:none;padding:.25rem}.app-nav[data-v-55f2d411]{-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--border-subtle);box-sizing:border-box;z-index:40;background:#0d1321d9;flex-direction:column;flex-shrink:0;gap:1.25rem;width:240px;min-height:100vh;padding:1.5rem 1rem;display:flex}.brand[data-v-55f2d411]{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.25rem .5rem .75rem;display:flex}.logo-container[data-v-55f2d411]{align-items:center;gap:.5rem;display:flex}.dino-badge[data-v-55f2d411]{font-size:1.35rem}.brand-title[data-v-55f2d411]{font-family:var(--font-display);letter-spacing:-.03em;background:linear-gradient(135deg, #fff 30%, var(--accent-primary-hover) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.brand .version[data-v-55f2d411]{font-family:var(--font-mono);background:var(--bg-surface-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:4px;padding:.15rem .45rem;font-size:.725rem}.nav-menu[data-v-55f2d411]{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.nav-item[data-v-55f2d411]{color:var(--text-secondary);border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.nav-icon[data-v-55f2d411]{flex-shrink:0;width:18px;height:18px;transition:transform .2s}.nav-item[data-v-55f2d411]:hover{color:var(--text-main);background:#ffffff0d}.nav-item:hover .nav-icon[data-v-55f2d411]{transform:translate(2px)}.nav-item.active[data-v-55f2d411]{background:var(--accent-primary-bg);color:#fff;border:1px solid var(--border-accent);font-weight:600}.nav-item.active[data-v-55f2d411]:before{content:"";background-color:var(--accent-primary);width:3px;height:60%;box-shadow:0 0 8px var(--accent-primary);border-radius:0 4px 4px 0;position:absolute;top:20%;left:0}.nav-item.active .nav-icon[data-v-55f2d411]{color:var(--accent-primary-hover)}.nav-spacer[data-v-55f2d411]{flex:1}.user-profile[data-v-55f2d411]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;align-items:center;gap:.65rem;padding:.75rem;display:flex}.user-avatar[data-v-55f2d411]{background:linear-gradient(135deg, var(--accent-primary) 0%, #4f46e5 100%);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8rem;font-weight:700;display:flex}.user-details[data-v-55f2d411]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.user-name[data-v-55f2d411]{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.825rem;font-weight:600;overflow:hidden}.sign-out-btn[data-v-55f2d411]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.4rem;transition:all .15s;display:flex}.sign-out-btn[data-v-55f2d411]:hover{color:var(--accent-danger-hover);background:#ef444426}@media (width<=768px){.mobile-header[data-v-55f2d411]{display:flex}.app-nav[data-v-55f2d411]{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%;min-height:auto;display:none}.app-nav.mobile-open[data-v-55f2d411]{display:flex}}.app-shell[data-v-2437b0cf]{background-color:var(--bg-dark);width:100%;min-height:100vh;display:flex}.content-area[data-v-2437b0cf]{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.auth-shell[data-v-2437b0cf]{justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}@media (width<=768px){.app-shell[data-v-2437b0cf]{flex-direction:column}}.dashboard-header[data-v-8389d7bb]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.user-greeting[data-v-8389d7bb]{align-items:center;gap:.65rem;padding:.5rem .85rem;display:flex}.user-name[data-v-8389d7bb]{font-size:.875rem;font-weight:600}.stats-grid[data-v-8389d7bb]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.stat-card[data-v-8389d7bb]{align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.stat-icon[data-v-8389d7bb]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.primary[data-v-8389d7bb]{background:var(--accent-primary-bg);color:var(--accent-primary-hover);border:1px solid var(--border-accent)}.stat-icon.success[data-v-8389d7bb]{background:var(--accent-success-bg);color:var(--accent-success-hover);border:1px solid #10b9814d}.stat-icon.warning[data-v-8389d7bb]{background:var(--accent-warning-bg);color:var(--accent-warning-hover);border:1px solid #f59e0b4d}.stat-info[data-v-8389d7bb]{flex-direction:column;display:flex}.stat-value[data-v-8389d7bb]{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1}.stat-label[data-v-8389d7bb]{color:var(--text-muted);margin-top:.2rem;font-size:.775rem}.servers-section[data-v-8389d7bb]{flex-direction:column;gap:1rem;display:flex}.section-title[data-v-8389d7bb]{justify-content:space-between;align-items:center;display:flex}.section-title h2[data-v-8389d7bb]{margin:0}.server-id-cell[data-v-8389d7bb]{align-items:center;gap:.5rem;font-weight:600;display:flex}.map-badge[data-v-8389d7bb]{font-family:var(--font-mono);border:1px solid var(--border-subtle);color:#cbd5e1;background:#1e293bb3;border-radius:4px;padding:.2rem .5rem;font-size:.8rem}.player-count-pill[data-v-8389d7bb]{color:var(--text-secondary);font-weight:600}.login-view[data-v-0b3b5b60]{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:1.5rem;display:flex;position:relative}.login-backdrop[data-v-0b3b5b60]{pointer-events:none;background:radial-gradient(circle at 50% 30%,#6366f126 0%,#0000 60%),radial-gradient(circle at 80% 80%,#10b9811a 0%,#0000 50%);position:absolute;inset:0}.login-card[data-v-0b3b5b60]{text-align:center;z-index:10;border:1px solid #ffffff1f;flex-direction:column;gap:1.75rem;width:100%;max-width:440px;padding:2.5rem 2rem;display:flex;position:relative;box-shadow:0 12px 36px #0009}.brand-hero[data-v-0b3b5b60]{flex-direction:column;align-items:center;gap:.5rem;display:flex}.dino-avatar[data-v-0b3b5b60]{border:1px solid var(--border-accent);width:72px;height:72px;box-shadow:var(--shadow-glow);background:#6366f126;border-radius:50%;justify-content:center;align-items:center;font-size:3rem;display:flex}h1[data-v-0b3b5b60]{letter-spacing:-.03em;background:linear-gradient(135deg, #fff 40%, var(--accent-primary-hover) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2.25rem}.tagline[data-v-0b3b5b60]{color:var(--text-secondary);font-size:.875rem}.sign-in-section[data-v-0b3b5b60]{border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 0;display:flex}.instruction[data-v-0b3b5b60]{color:var(--text-muted);font-size:.85rem}.google-btn-wrapper[data-v-0b3b5b60]{justify-content:center;min-height:44px;display:flex}.error-msg[data-v-0b3b5b60]{color:var(--accent-danger-hover);background:var(--accent-danger-bg);border:1px solid #ef44444d;border-radius:6px;padding:.5rem .85rem;font-size:.825rem}.features-summary[data-v-0b3b5b60]{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.feature-badge[data-v-0b3b5b60]{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#1e293b99;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.75rem;display:inline-flex}.feature-badge .dot[data-v-0b3b5b60]{background:var(--accent-primary);border-radius:50%;width:6px;height:6px}.account-card[data-v-f8b567d3],.token-card[data-v-f8b567d3]{flex-direction:column;gap:1rem;display:flex}.account-card h2[data-v-f8b567d3],.token-card h2[data-v-f8b567d3]{margin:0}.user-card-inner[data-v-f8b567d3]{border:1px solid var(--border-subtle);background:#0f172a66;border-radius:10px;align-items:center;gap:1.25rem;padding:1rem 1.25rem;display:flex}.large-avatar[data-v-f8b567d3]{background:linear-gradient(135deg, var(--accent-primary) 0%, #4f46e5 100%);color:#fff;width:54px;height:54px;font-family:var(--font-display);box-shadow:var(--shadow-glow);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex}.user-info-text[data-v-f8b567d3]{flex-direction:column;gap:.25rem;display:flex}.display-name[data-v-f8b567d3]{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.email-text[data-v-f8b567d3]{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem}.role-badge-row[data-v-f8b567d3]{margin-top:.25rem}.card-header-row[data-v-f8b567d3]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ttl-badge[data-v-f8b567d3]{color:var(--text-muted);border:1px solid var(--border-subtle);background:#1e293b99;border-radius:4px;padding:.2rem .5rem;font-size:.775rem}.token-box[data-v-f8b567d3]{flex-direction:column;gap:.75rem;display:flex}.token-textarea[data-v-f8b567d3]{font-family:var(--font-mono);color:#38bdf8;border:1px solid var(--border-subtle);resize:vertical;background:#060911;border-radius:8px;padding:.75rem;font-size:.8rem}.token-actions[data-v-f8b567d3]{justify-content:flex-end;gap:.5rem;display:flex}.servers-grid[data-v-e3d00806]{flex-direction:column;gap:1.25rem;display:flex}.server-card[data-v-e3d00806]{flex-direction:column;gap:1rem;display:flex}.card-top[data-v-e3d00806]{justify-content:space-between;align-items:center;display:flex}.server-meta[data-v-e3d00806]{align-items:center;gap:.75rem;display:flex}.server-icon[data-v-e3d00806]{font-size:1.75rem}.server-meta h3[data-v-e3d00806]{margin:0 0 .15rem;font-size:1.15rem}.container-tag code[data-v-e3d00806]{color:var(--text-muted);background:#1e293b99;border-radius:4px;padding:.1rem .4rem;font-size:.75rem}.card-details[data-v-e3d00806]{border:1px solid var(--border-subtle);background:#0f172a66;border-radius:8px;gap:2rem;padding:.65rem 1rem;display:flex}.detail-item[data-v-e3d00806]{flex-direction:column;gap:.15rem;display:flex}.detail-item .label[data-v-e3d00806]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.725rem}.detail-item .val[data-v-e3d00806]{font-size:.875rem;font-weight:600}.map-name[data-v-e3d00806]{font-family:var(--font-mono);color:var(--accent-primary-hover)}.card-actions[data-v-e3d00806]{flex-wrap:wrap;gap:.5rem;display:flex}.logs-terminal-container[data-v-e3d00806]{border:1px solid var(--border-medium);background:#090d16;border-radius:10px;margin-top:.5rem;overflow:hidden;box-shadow:0 8px 24px #0009}.terminal-header[data-v-e3d00806]{border-bottom:1px solid var(--border-subtle);background:#131b2e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .85rem;display:flex}.terminal-dots[data-v-e3d00806]{align-items:center;gap:.4rem;display:flex}.terminal-dots .dot[data-v-e3d00806]{border-radius:50%;width:10px;height:10px}.terminal-dots .dot.red[data-v-e3d00806]{background:#ef4444}.terminal-dots .dot.yellow[data-v-e3d00806]{background:#f59e0b}.terminal-dots .dot.green[data-v-e3d00806]{background:#10b981}.terminal-title[data-v-e3d00806]{font-family:var(--font-mono);color:var(--text-secondary);margin-left:.5rem;font-size:.775rem}.terminal-controls[data-v-e3d00806]{align-items:center;gap:.75rem;display:flex}.control-select[data-v-e3d00806]{color:var(--text-secondary);align-items:center;gap:.35rem;font-size:.775rem;display:flex}.control-select select[data-v-e3d00806]{border-radius:4px;padding:.2rem 1.75rem .2rem .5rem;font-size:.75rem}.terminal-body[data-v-e3d00806]{background:#060911;max-height:450px;padding:.85rem;overflow-y:auto}.log-content[data-v-e3d00806]{font-family:var(--font-mono);color:#38bdf8;white-space:pre-wrap;word-break:break-all;margin:0;font-size:.785rem;line-height:1.5}.error-text[data-v-e3d00806]{color:var(--accent-danger-hover);font-size:.85rem}.warning-banner[data-v-f425596a]{background:var(--accent-warning-bg);border:1px solid #f59e0b4d;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.shield-icon[data-v-f425596a]{font-size:1.75rem}.warning-banner strong[data-v-f425596a]{color:var(--accent-warning-hover)}.secrets-grid[data-v-f425596a]{flex-direction:column;gap:1.25rem;display:flex}.secret-card[data-v-f425596a]{flex-direction:column;gap:.85rem;display:flex}.secret-card-header[data-v-f425596a]{justify-content:space-between;align-items:center;display:flex}.secret-card-header h3[data-v-f425596a]{margin:0}.vault-badge[data-v-f425596a]{font-family:var(--font-mono);color:var(--accent-primary-hover);background:var(--accent-primary-bg);border:1px solid var(--border-accent);border-radius:4px;padding:.15rem .45rem;font-size:.725rem}.value-box[data-v-f425596a]{border:1px solid var(--border-subtle);background:#090d16;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.secret-val[data-v-f425596a]{font-family:var(--font-mono);color:#38bdf8;letter-spacing:.05em;word-break:break-all;font-size:.95rem}.value-actions[data-v-f425596a]{align-items:center;gap:.5rem;display:flex}.server-selector[data-v-6b0d1ad1]{align-items:center;gap:.65rem;padding:.5rem .85rem;display:flex}.server-selector label[data-v-6b0d1ad1]{color:var(--text-secondary);font-size:.85rem}.server-selector select[data-v-6b0d1ad1]{width:auto;font-weight:600}.actions-panel[data-v-6b0d1ad1]{flex-direction:column;gap:1rem;display:flex}.action-group[data-v-6b0d1ad1]{flex-direction:column;gap:.4rem;display:flex}.group-label[data-v-6b0d1ad1]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.775rem;font-weight:600}.btn-row[data-v-6b0d1ad1]{flex-wrap:wrap;gap:.5rem;display:flex}.chat-hint-card[data-v-6b0d1ad1]{background:var(--accent-primary-bg);border:1px solid var(--border-accent);border-radius:8px;align-items:center;gap:.65rem;padding:.65rem 1rem;font-size:.85rem;display:flex}.chat-hint-card p[data-v-6b0d1ad1]{color:#c7d2fe}.command-box[data-v-6b0d1ad1]{align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.prompt-symbol[data-v-6b0d1ad1]{font-family:var(--font-mono);color:var(--accent-primary);font-size:1.25rem;font-weight:700}.command-box input[data-v-6b0d1ad1]{font-family:var(--font-mono);box-shadow:none;background:0 0;border:none;flex:1;padding:.25rem;font-size:.95rem}.command-box input[data-v-6b0d1ad1]:focus{box-shadow:none}.history-section[data-v-6b0d1ad1]{flex-direction:column;gap:.75rem;display:flex}.history-list[data-v-6b0d1ad1]{flex-direction:column;gap:.85rem;display:flex}.history-card[data-v-6b0d1ad1]{border-left:3px solid var(--accent-primary);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.history-card.error[data-v-6b0d1ad1]{border-left-color:var(--accent-danger)}.history-header[data-v-6b0d1ad1]{justify-content:space-between;align-items:center;display:flex}.cmd-line[data-v-6b0d1ad1]{align-items:center;gap:.5rem;display:flex}.prompt-icon[data-v-6b0d1ad1]{color:var(--accent-primary);font-family:var(--font-mono);font-weight:700}.cmd-text[data-v-6b0d1ad1]{font-family:var(--font-mono);color:#fff;font-size:.95rem;font-weight:700}.history-meta[data-v-6b0d1ad1]{align-items:center;gap:.75rem;display:flex}.at-time[data-v-6b0d1ad1]{color:var(--text-muted);font-size:.775rem}.raw-output[data-v-6b0d1ad1]{font-family:var(--font-mono);color:#cbd5e1;border:1px solid var(--border-subtle);white-space:pre-wrap;word-break:break-all;background:#090d16b3;border-radius:6px;margin:0;padding:.75rem;font-size:.85rem}.empty-roster[data-v-6b0d1ad1]{color:var(--text-muted);font-size:.875rem;font-style:italic}.roster-title[data-v-6b0d1ad1]{color:var(--accent-success-hover);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.player-name-val[data-v-6b0d1ad1]{font-weight:600}.add-card[data-v-0345a2a3]{flex-direction:column;gap:1rem;display:flex}.add-card h3[data-v-0345a2a3]{margin:0}.add-form[data-v-0345a2a3]{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:flex-end;gap:1rem;display:grid}.form-group[data-v-0345a2a3]{flex-direction:column;gap:.35rem;display:flex}.form-group label[data-v-0345a2a3]{color:var(--text-secondary);font-size:.775rem;font-weight:500}.form-submit[data-v-0345a2a3]{align-items:flex-end;display:flex}.cards-grid[data-v-0345a2a3]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.character-card[data-v-0345a2a3]{flex-direction:column;gap:1rem;display:flex}.card-header[data-v-0345a2a3]{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.survivor-identity[data-v-0345a2a3]{align-items:center;gap:.65rem;display:flex}.avatar-icon[data-v-0345a2a3]{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex}.survivor-name[data-v-0345a2a3]{margin:0 0 .15rem;font-size:1.05rem}.owner-tag[data-v-0345a2a3]{color:var(--text-muted);font-size:.75rem}.ids-grid[data-v-0345a2a3]{border:1px solid var(--border-subtle);background:#0f172a66;border-radius:8px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.id-item[data-v-0345a2a3]{justify-content:space-between;align-items:center;font-size:.825rem;display:flex}.id-label[data-v-0345a2a3]{color:var(--text-muted);font-weight:500}.id-val[data-v-0345a2a3]{font-family:var(--font-mono);color:#cbd5e1;font-size:.8rem}.muted-val[data-v-0345a2a3]{color:var(--text-muted)}.card-footer[data-v-0345a2a3]{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:.5rem;padding-top:.65rem;display:flex}.edit-mode-box[data-v-0345a2a3]{flex-direction:column;gap:.75rem;display:flex}.edit-actions[data-v-0345a2a3]{gap:.5rem;margin-top:.25rem;display:flex}.guidance-card[data-v-0345a2a3]{border:1px solid var(--border-subtle);background:#1e293b66;align-items:flex-start;gap:.75rem;font-size:.85rem;display:flex}.guidance-card p[data-v-0345a2a3]{color:var(--text-secondary)}.user-identity[data-v-30cb00b0]{align-items:center;gap:.5rem;font-weight:600;display:flex}.email-badge[data-v-30cb00b0]{font-family:var(--font-mono);color:var(--text-secondary);font-size:.8rem}.add-char-row td[data-v-30cb00b0]{background:#0f172a99;padding:.75rem 1rem}.add-char-panel[data-v-30cb00b0]{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.add-char-panel h4[data-v-30cb00b0]{color:var(--accent-primary-hover);margin:0;font-size:.95rem}.add-form[data-v-30cb00b0]{flex-wrap:wrap;gap:.5rem;display:flex}.add-form input[data-v-30cb00b0]{flex:1;min-width:140px}:root{--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-dark:#090d16;--bg-card:#0f172abf;--bg-card-hover:#1e293bd9;--bg-surface:#131b2e;--bg-surface-elevated:#1e293b;--bg-input:#0f172a99;--border-subtle:#ffffff14;--border-medium:#ffffff26;--border-accent:#6366f14d;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-glow:0 0 20px #6366f12e;--accent-primary:#6366f1;--accent-primary-hover:#818cf8;--accent-primary-bg:#6366f11f;--accent-success:#10b981;--accent-success-hover:#34d399;--accent-success-bg:#10b9811f;--accent-warning:#f59e0b;--accent-warning-hover:#fbbf24;--accent-warning-bg:#f59e0b1f;--accent-danger:#ef4444;--accent-danger-hover:#f87171;--accent-danger-bg:#ef44441f;--text-main:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-main);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);min-height:100vh;color:var(--text-main);background-image:radial-gradient(at 0 0,#6366f114 0,#0000 50%),radial-gradient(at 100% 100%,#10b9810d 0,#0000 50%);background-attachment:fixed;margin:0;padding:0;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--bg-surface-elevated);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#app{flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-main);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{align-items:center;gap:.75rem;margin-bottom:.25rem;font-size:1.85rem;display:flex}h2{margin-bottom:.5rem;font-size:1.25rem}h3{font-size:1.05rem}p{color:var(--text-secondary);font-size:.925rem}code,pre{font-family:var(--font-mono)}button,.btn{font-family:var(--font-body);border:1px solid var(--border-medium);background:var(--bg-surface-elevated);color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.875rem;font-weight:500;line-height:1.25;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}button:hover:not(:disabled),.btn:hover:not(:disabled){background:#283549;border-color:#ffffff40;transform:translateY(-1px)}button:active:not(:disabled),.btn:active:not(:disabled){transform:translateY(0)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary-hover);color:#fff;box-shadow:0 2px 8px #6366f159}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);border-color:#a5b4fc;box-shadow:0 4px 14px #6366f180}.btn-success{background:var(--accent-success);border-color:var(--accent-success-hover);color:#064e3b;font-weight:600;box-shadow:0 2px 8px #10b9814d}.btn-success:hover:not(:disabled){background:var(--accent-success-hover);color:#022c22}.btn-danger{background:var(--accent-danger);border-color:var(--accent-danger-hover);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover:not(:disabled){background:var(--accent-danger-hover)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-surface-elevated);color:var(--text-main);border-color:var(--border-subtle)}.btn-sm{border-radius:6px;padding:.325rem .65rem;font-size:.8rem}input[type=text],input[type=password],input[type=email],select,textarea{font-family:var(--font-body);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text-main);border-radius:8px;outline:none;width:100%;padding:.55rem .85rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f133}input::placeholder,textarea::placeholder{color:var(--text-muted)}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.25rem}select option{color:var(--text-main);background-color:#0f172a}.glass-panel,.card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);border-radius:12px;padding:1.25rem}.glass-panel-elevated{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-medium);background:#1e293bb3;border-radius:12px}.badge{letter-spacing:.02em;text-transform:capitalize;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.badge-online{background:var(--accent-success-bg);color:var(--accent-success-hover);border:1px solid #10b9814d}.badge-offline{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#64748b26}.badge-warning{background:var(--accent-warning-bg);color:var(--accent-warning-hover);border:1px solid #f59e0b4d}.badge-danger{background:var(--accent-danger-bg);color:var(--accent-danger-hover);border:1px solid #ef44444d}.badge-role{background:var(--accent-primary-bg);color:var(--accent-primary-hover);border:1px solid var(--border-accent)}.pulse-dot{border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.pulse-dot.online{background-color:var(--accent-success);animation:2s infinite pulse-green;box-shadow:0 0 #10b981b3}.pulse-dot.offline{background-color:var(--text-muted)}@keyframes pulse-green{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.table-container{border:1px solid var(--border-subtle);border-radius:10px;width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.data-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:#1e293b99;padding:.75rem 1rem;font-size:.775rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:.85rem 1rem}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background .15s}.data-table tbody tr:hover{background:var(--bg-card-hover)}main.page-view{flex-direction:column;flex:1;gap:1.5rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem;display:flex}@media (width<=768px){main.page-view{gap:1rem;padding:1.25rem 1rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.error-panel{background:var(--accent-danger-bg);border-color:#ef444459}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem 1rem}.text-error,.error{color:var(--accent-danger-hover);font-size:.85rem}.text-hint,.hint{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.text-success,.success{color:var(--accent-success-hover);font-size:.85rem}code.inline-code{font-family:var(--font-mono);border:1px solid var(--border-subtle);color:#e2e8f0;background:#1e293bcc;border-radius:4px;padding:.15rem .4rem;font-size:.825rem}
