.shell-skeleton-block{display:block;border-radius:999px;background:linear-gradient(90deg,var(--ui-surface-hover) 0%,var(--ui-surface-subtle) 48%,var(--ui-surface-hover) 100%);background-size:220% 100%;animation:shell-skeleton-shimmer 1.35s ease-in-out infinite}@keyframes shell-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}.shell-skeleton-fullpage{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--ui-page-bg-gradient)}.shell-skeleton-surface,.shell-skeleton-page,.shell-skeleton-modal{border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-surface-elevated);box-shadow:var(--ui-modal-shadow)}.shell-skeleton-surface{width:min(960px,100%);padding:1.75rem}.shell-skeleton-page{margin:1.25rem;padding:1.5rem}.shell-skeleton-page-hero{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1.25rem}.shell-skeleton-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.shell-skeleton-card{border:1px solid var(--ui-border-muted);border-radius:18px;background:var(--ui-surface-subtle);padding:1rem;display:flex;flex-direction:column;gap:.8rem}.shell-skeleton-card-tall{min-height:210px}.shell-skeleton-heading{width:min(18rem,72%);height:1.35rem}.shell-skeleton-title{width:min(13rem,64%);height:1rem}.shell-skeleton-line{width:58%;height:.8rem}.shell-skeleton-line-wide{width:86%}.shell-skeleton-line-short{width:42%}.shell-skeleton-chip{width:5rem;height:.85rem}.shell-skeleton-link{width:4.5rem;height:.8rem}.shell-skeleton-button{width:7rem;height:2.5rem;border-radius:14px}.shell-skeleton-button-primary{width:8.5rem}.shell-skeleton-shell{pointer-events:none}.shell-skeleton-sidebar{gap:14px}.shell-skeleton-input{width:100%;height:2.7rem;border-radius:12px}.shell-skeleton-brand{width:8.5rem;height:1.05rem}.shell-skeleton-topbar-brand{width:7rem}.shell-skeleton-icon-button{width:2.4rem;height:2.4rem;border-radius:12px}.shell-skeleton-nav-row{display:flex;align-items:center;gap:10px;min-height:42px;border:1px solid var(--ui-state-border);border-radius:12px;background:color-mix(in srgb,var(--ui-surface-elevated) 86%,transparent);padding:0 10px}.shell-skeleton-nav-icon{width:1.2rem;height:1.2rem;border-radius:8px}.shell-skeleton-nav-label{width:60%;height:.85rem}.shell-skeleton-avatar{width:30px;height:30px;border-radius:999px}.shell-skeleton-user-copy{gap:.45rem;width:100%}.shell-skeleton-topbar{gap:16px}.shell-skeleton-pill{width:6rem;height:2.2rem}.shell-skeleton-org-pill{width:8rem}.shell-skeleton-lang-pill{width:5.25rem}.shell-skeleton-panel{padding:12px}.shell-skeleton-panel-list{display:flex;flex-direction:column;gap:8px}.shell-skeleton-panel-item{align-items:center}.shell-skeleton-panel-title{width:7rem}.shell-skeleton-panel-chip{width:3.5rem}.shell-skeleton-panel-line-wide{width:82%}.shell-skeleton-panel-line-short{width:54%}.shell-skeleton-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--ui-border);border-radius:12px;background:color-mix(in srgb,var(--ui-surface-elevated) 88%,transparent)}.shell-skeleton-modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--ui-modal-overlay) 60%,transparent);z-index:120}.shell-skeleton-modal{width:min(28rem,100%);padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.shell-skeleton-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}@media(max-width:1024px){.shell-skeleton-sidebar{width:min(88vw,310px)}}@media(max-width:640px){.shell-skeleton-fullpage{padding:1rem}.shell-skeleton-surface,.shell-skeleton-page,.shell-skeleton-modal{border-radius:18px}.shell-skeleton-page{margin:.75rem;padding:1rem}.shell-skeleton-card-grid{grid-template-columns:1fr}}.protected-route-loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.theme-control{position:relative}.theme-control__trigger{min-height:2.7rem;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text-primary);display:inline-flex;align-items:center;gap:.55rem;padding:0 .8rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.theme-control__trigger:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.theme-control__trigger:focus-visible,.theme-control__option:focus-visible{outline:2px solid var(--ui-focus-ring);outline-offset:2px}.theme-control__trigger-icon,.theme-control__trigger-applied,.theme-control__option-icon{width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.theme-control__trigger-icon svg,.theme-control__trigger-applied svg,.theme-control__option-icon svg{width:100%;height:100%}.theme-control__trigger-copy{font-size:.84rem;font-weight:600;color:var(--ui-text-secondary)}.theme-control__trigger-applied{color:var(--ui-accent)}.theme-control__panel{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface-overlay);box-shadow:var(--ui-popover-shadow);padding:.5rem;z-index:120}.theme-control__option{width:100%;border:1px solid transparent;background:transparent;color:var(--ui-text-primary);border-radius:12px;padding:.7rem .75rem;display:flex;align-items:flex-start;gap:.7rem;text-align:left;cursor:pointer}.theme-control__option:hover{background:var(--ui-surface-hover)}.theme-control__option.is-selected{border-color:var(--ui-border-accent);background:var(--ui-surface-active)}.theme-control__option-copy{display:flex;flex-direction:column;gap:.15rem;min-width:0}.theme-control__option-copy strong{font-size:.86rem;font-weight:700}.theme-control__option-copy span{font-size:.76rem;color:var(--ui-subtitle-color)}@media(max-width:640px){.theme-control,.theme-control__trigger{width:100%}.theme-control__panel{left:0;right:auto;width:100%;min-width:0}}.public-layout{min-height:100vh;background:radial-gradient(circle at top left,var(--ui-accent-soft-strong) 0%,transparent 34%),radial-gradient(circle at 85% 14%,var(--ui-accent-soft) 0%,transparent 28%),var(--ui-page-bg-gradient)}.public-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--ui-border);background:color-mix(in srgb,var(--ui-surface-elevated) 88%,transparent);box-shadow:var(--ui-header-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-brand{display:inline-flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--ui-title-color)}.public-brand-mark{width:2.5rem;height:2.5rem;border-radius:.9rem;background:linear-gradient(135deg,#0f766e,#2563eb);box-shadow:0 18px 30px #2563eb2e;display:inline-flex;align-items:center;justify-content:center;color:var(--ui-text-inverse);font-size:.78rem;font-weight:700;letter-spacing:.16em}.public-brand-copy{display:flex;flex-direction:column;gap:.1rem}.public-brand-copy strong{font-family:Avenir Next,Trebuchet MS,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.02em}.public-brand-copy span{color:var(--ui-text-secondary);font-size:.82rem}.public-topbar-actions{display:inline-flex;align-items:center;gap:.75rem}.public-language-select,.public-cta{min-height:2.75rem;border-radius:999px;font-size:.92rem}.public-theme-control .theme-control__trigger{min-height:2.75rem;background:var(--ui-surface-elevated);color:var(--ui-action-text)}.public-language-select{border:1px solid var(--ui-action-border);background:var(--ui-surface-elevated);color:var(--ui-action-text);padding:0 .95rem}.public-cta{display:inline-flex;align-items:center;justify-content:center;padding:0 1.15rem;text-decoration:none;font-weight:600;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.public-cta:hover{transform:translateY(-1px)}.public-cta-secondary{border:1px solid var(--ui-action-border);background:var(--ui-surface-elevated);color:var(--ui-action-text)}.public-cta-primary{border:1px solid transparent;background:linear-gradient(135deg,#0f766e,#2563eb);color:var(--ui-text-inverse);box-shadow:0 16px 28px #2563eb2e}.public-main{width:min(1200px,calc(100% - 2rem));margin:0 auto}@media(max-width:840px){.public-topbar{flex-direction:column;align-items:stretch}.public-topbar-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:640px){.public-topbar{padding:.9rem 1rem}.public-main{width:min(100%,calc(100% - 1rem))}.public-topbar-actions{justify-content:stretch}.public-language-select,.public-cta{flex:1 1 100%}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ui-page-bg);color:var(--ui-text-primary)}:root{color-scheme:light;--ui-page-bg: #f3f6fb;--ui-page-bg-gradient: linear-gradient(180deg, #eef4fc 0%, #f8fafd 45%, #ffffff 100%);--ui-surface: #ffffff;--ui-surface-muted: #f8fbff;--ui-surface-subtle: #fbfdff;--ui-surface-hover: #edf4ff;--ui-surface-active: #dbeafe;--ui-surface-elevated: rgba(255, 255, 255, .9);--ui-surface-overlay: #ffffff;--ui-border: #dbe3f1;--ui-border-strong: #d1d9e6;--ui-border-muted: #e6edf8;--ui-border-accent: #bfdbfe;--ui-header-shadow: 0 8px 24px rgba(15, 23, 42, .06);--ui-card-shadow: 0 6px 20px rgba(15, 23, 42, .05);--ui-popover-shadow: 0 18px 45px rgba(15, 23, 42, .15);--ui-modal-shadow: 0 24px 64px rgba(15, 23, 42, .2);--ui-tooltip-shadow: 0 12px 24px rgba(15, 23, 42, .2);--ui-card-radius: 12px;--ui-card-radius-lg: 14px;--ui-title-color: #0f172a;--ui-text-primary: #0f172a;--ui-text-secondary: #334155;--ui-subtitle-color: #64748b;--ui-text-muted: #94a3b8;--ui-text-inverse: #f8fafc;--ui-action-bg: #f8fbff;--ui-action-bg-hover: #edf4ff;--ui-action-border: #d9e3f4;--ui-action-border-hover: #b8c9ea;--ui-action-text: #334155;--ui-button-primary: #2563eb;--ui-button-primary-hover: #1d4ed8;--ui-button-secondary-bg: #f8fbff;--ui-button-secondary-hover: #edf4ff;--ui-button-secondary-border: #d9e3f4;--ui-button-ghost-hover: #f1f5f9;--ui-state-bg: #fbfdff;--ui-state-border: #e6edf8;--ui-focus-ring: #60a5fa;--ui-focus-shadow: 0 0 0 3px rgba(96, 165, 250, .22);--ui-accent: #2563eb;--ui-accent-hover: #1d4ed8;--ui-accent-soft: rgba(37, 99, 235, .12);--ui-accent-soft-strong: rgba(37, 99, 235, .18);--ui-overlay-backdrop: rgba(15, 23, 42, .35);--ui-modal-overlay: rgba(15, 23, 42, .5);--ui-tooltip-bg: rgba(15, 23, 42, .96);--ui-tooltip-text: #f8fafc;--ui-success-bg: #ecfdf5;--ui-success-border: #a7f3d0;--ui-success-text: #065f46;--ui-error-bg: #fef2f2;--ui-error-border: #fecaca;--ui-error-text: #991b1b;--ui-warning-bg: #fff8e1;--ui-warning-border: #f9a825;--ui-warning-text: #5d4037;--ui-warning-soft-bg: #fef3c7;--ui-warning-soft-border: #fcd34d;--ui-warning-soft-text: #92400e;--ui-info-bg: #eff6ff;--ui-info-border: #bfdbfe;--ui-info-text: #1e40af;--ui-neutral-badge-bg: #f3f4f6;--ui-neutral-badge-text: #374151;--ui-superadmin-bg: #ede9fe;--ui-superadmin-text: #7c3aed;--ui-danger: #dc2626;--ui-danger-hover: #b91c1c;--ui-notification-badge-bg: #dc2626;--ui-online: #16a34a;--ui-offline: #f59e0b;--ui-shell-mode-open: #16a34a;--ui-shell-mode-hover: #f59e0b;--ui-shell-mode-closed: #64748b}[data-theme=dark]{color-scheme:dark;--ui-page-bg: #0b1220;--ui-page-bg-gradient: linear-gradient(180deg, #0f172a 0%, #101827 42%, #0b1220 100%);--ui-surface: #111c2d;--ui-surface-muted: #172336;--ui-surface-subtle: #1b293d;--ui-surface-hover: #203149;--ui-surface-active: #1d3557;--ui-surface-elevated: rgba(17, 28, 45, .92);--ui-surface-overlay: #162235;--ui-border: #24364d;--ui-border-strong: #304760;--ui-border-muted: #1f3046;--ui-border-accent: #3b82f6;--ui-header-shadow: 0 10px 28px rgba(2, 6, 23, .42);--ui-card-shadow: 0 10px 28px rgba(2, 6, 23, .28);--ui-popover-shadow: 0 22px 54px rgba(2, 6, 23, .45);--ui-modal-shadow: 0 24px 64px rgba(2, 6, 23, .55);--ui-tooltip-shadow: 0 14px 28px rgba(2, 6, 23, .4);--ui-title-color: #e5eefc;--ui-text-primary: #e5eefc;--ui-text-secondary: #c2d1e5;--ui-subtitle-color: #93a9c5;--ui-text-muted: #7e94b0;--ui-text-inverse: #f8fafc;--ui-action-bg: #152235;--ui-action-bg-hover: #203149;--ui-action-border: #2c415b;--ui-action-border-hover: #3d5876;--ui-action-text: #d5e3f5;--ui-button-primary: #60a5fa;--ui-button-primary-hover: #3b82f6;--ui-button-secondary-bg: #172336;--ui-button-secondary-hover: #22324a;--ui-button-secondary-border: #304760;--ui-button-ghost-hover: #1c2a3f;--ui-state-bg: #152235;--ui-state-border: #22344c;--ui-focus-ring: #93c5fd;--ui-focus-shadow: 0 0 0 3px rgba(96, 165, 250, .3);--ui-accent: #60a5fa;--ui-accent-hover: #93c5fd;--ui-accent-soft: rgba(96, 165, 250, .18);--ui-accent-soft-strong: rgba(96, 165, 250, .26);--ui-overlay-backdrop: rgba(2, 6, 23, .6);--ui-modal-overlay: rgba(2, 6, 23, .72);--ui-tooltip-bg: rgba(226, 232, 240, .96);--ui-tooltip-text: #0f172a;--ui-success-bg: rgba(22, 163, 74, .18);--ui-success-border: rgba(74, 222, 128, .36);--ui-success-text: #bbf7d0;--ui-error-bg: rgba(220, 38, 38, .18);--ui-error-border: rgba(248, 113, 113, .36);--ui-error-text: #fecaca;--ui-warning-bg: rgba(245, 158, 11, .18);--ui-warning-border: rgba(251, 191, 36, .4);--ui-warning-text: #fde68a;--ui-warning-soft-bg: rgba(245, 158, 11, .18);--ui-warning-soft-border: rgba(251, 191, 36, .4);--ui-warning-soft-text: #fde68a;--ui-info-bg: rgba(59, 130, 246, .18);--ui-info-border: rgba(96, 165, 250, .42);--ui-info-text: #bfdbfe;--ui-neutral-badge-bg: #22324a;--ui-neutral-badge-text: #d1d9e6;--ui-superadmin-bg: rgba(124, 58, 237, .2);--ui-superadmin-text: #ddd6fe;--ui-danger: #f87171;--ui-danger-hover: #ef4444;--ui-notification-badge-bg: #ef4444;--ui-online: #4ade80;--ui-offline: #fbbf24;--ui-shell-mode-open: #4ade80;--ui-shell-mode-hover: #fbbf24;--ui-shell-mode-closed: #94a3b8}html,body,#root{min-height:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn-primary,.btn-secondary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.35rem;padding:.55rem .9rem;border-radius:8px;font-size:.86rem;font-weight:600;line-height:1.1;border:1px solid transparent;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.btn-primary{background:var(--ui-button-primary);border-color:var(--ui-button-primary);color:var(--ui-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--ui-button-primary-hover);border-color:var(--ui-button-primary-hover)}.btn-secondary{background:var(--ui-button-secondary-bg);border-color:var(--ui-button-secondary-border);color:var(--ui-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--ui-button-secondary-hover);border-color:var(--ui-action-border-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--ui-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--ui-button-ghost-hover)}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled{opacity:.58;cursor:not-allowed}.version-picker{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-size:.85rem}.version-picker-label{color:var(--ui-subtitle-color);font-weight:500;white-space:nowrap}.version-picker-select{padding:4px 8px;border:1px solid var(--ui-border-strong);border-radius:6px;background:var(--ui-surface);font-size:.82rem;color:var(--ui-text-secondary);cursor:pointer;outline:none;transition:border-color .15s}.version-picker-select:hover{border-color:var(--ui-accent)}.version-picker-select:focus{border-color:var(--ui-accent);box-shadow:0 0 0 2px var(--ui-accent-soft)}.dashboard-header h1,.profiling-header h1,.ingestion-header h1,.measures-header h1,.query-header h1,.viz-header h1,.pv-header h1,.rows-header h1,.settings-header h1{font-size:1.28rem;line-height:1.2;color:var(--ui-title-color)}.subtitle,.pv-subtitle,.step-description,.content-header p,.settings-section .field-hint{color:var(--ui-subtitle-color)}.toast-container{position:fixed;top:1.25rem;right:1.25rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;width:min(360px,calc(100vw - 2.5rem));pointer-events:none}.toast-item{display:flex;align-items:flex-start;gap:.625rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;line-height:1.4;box-shadow:var(--ui-card-shadow);pointer-events:all;animation:toast-slide-in .22s ease}@keyframes toast-slide-in{0%{opacity:0;transform:translate(2rem)}to{opacity:1;transform:translate(0)}}.toast-success{background:var(--ui-success-bg);border-left:4px solid var(--ui-success-border);color:var(--ui-success-text)}.toast-error{background:var(--ui-error-bg);border-left:4px solid var(--ui-error-border);color:var(--ui-error-text)}.toast-info{background:var(--ui-info-bg);border-left:4px solid var(--ui-info-border);color:var(--ui-info-text)}.toast-warning{background:var(--ui-warning-soft-bg);border-left:4px solid var(--ui-warning-soft-border);color:var(--ui-warning-soft-text)}.toast-icon{font-size:1rem;line-height:1;flex-shrink:0;margin-top:.05rem}.toast-message{flex:1}.toast-dismiss{background:none;border:none;cursor:pointer;font-size:.8rem;color:currentColor;opacity:.6;padding:0;line-height:1;flex-shrink:0;margin-top:.1rem}.toast-dismiss:hover{opacity:1}
