.shell{background:var(--color-bg);width:100vw;height:100vh;color:var(--color-text-primary);flex-direction:column;display:flex;overflow:hidden}.shell__body{flex:1;min-height:0;display:flex;position:relative}.shell__content{background:var(--color-bg);flex:1;min-width:0;overflow:auto}.shell__route-loader{min-height:calc(100vh - var(--shell-topbar-height,48px));width:100%;padding:var(--space-8);place-items:center;display:grid}.shell__resize{cursor:col-resize;z-index:5;background:0 0;flex-shrink:0;width:4px;transition:background .15s}.shell__resize:hover,.shell__resize:active{background:var(--color-accent)}.topbar{height:var(--shell-topbar-height,52px);background:var(--color-surface,#0c0a09);border-bottom:1px solid var(--color-border,#1f1c1a);z-index:20;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:0 14px;display:flex}.topbar__left{flex:1;align-items:center;gap:2px;min-width:0;display:flex}.topbar__right{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar__logo{border-radius:var(--radius-base,6px);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;text-decoration:none;transition:background .15s;display:flex}.topbar__logo:hover{background:var(--color-surface-raised,#1a1614)}.topbar__sep{color:var(--color-text-muted,#6b5e52);font-size:var(--text-sm,13px);-webkit-user-select:none;user-select:none;margin:0 2px}.topbar__crumb{align-items:center;gap:4px;display:inline-flex}.topbar__crumb-text{font-size:var(--text-sm,13px);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.topbar__badge{border-radius:var(--radius-sm,3px);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;padding:1px 6px;font-size:10px;font-weight:600}.topbar__badge--muted{background:var(--color-surface-raised,#1a1614);color:var(--color-text-muted,#6b5e52);border:1px solid var(--color-border,#1f1c1a)}.topbar__badge--env{color:#fff}.topbar__badge--relational{background:var(--color-ok)}.topbar__badge--document{background:var(--color-info)}.topbar-dd{position:relative}.topbar-dd__trigger{color:inherit;cursor:pointer;border-radius:var(--radius-base,6px);font-size:var(--text-sm,13px);background:0 0;border:none;align-items:center;gap:4px;padding:4px 6px;transition:background .15s;display:inline-flex}.topbar-dd__trigger:hover{background:var(--color-surface-raised,#1a1614)}.topbar-dd__menu{background:var(--color-surface,#0c0a09);border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-base,6px);z-index:100;min-width:200px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 6px);overflow-y:auto;box-shadow:0 8px 24px #00000080}.topbar-dd__menu--left{left:0}.topbar-dd__menu--right{right:0}.topbar-dd__header{color:var(--color-text-muted,#6b5e52);text-transform:uppercase;letter-spacing:.04em;padding:8px 10px 4px;font-size:11px;font-weight:600}.topbar-dd__header--user{text-transform:none;letter-spacing:0;font-weight:400}.topbar-dd__user-name{font-size:var(--text-sm,13px);color:var(--color-text-primary);font-weight:500}.topbar-dd__user-email{color:var(--color-text-muted,#6b5e52);margin-top:2px;font-size:11px}.topbar-dd__item{width:100%;color:var(--color-text-primary);font-size:var(--text-sm,13px);cursor:pointer;border-radius:var(--radius-sm,3px);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:7px 10px;transition:background .12s;display:flex}.topbar-dd__item:hover{background:var(--color-surface-raised,#1a1614)}.topbar-dd__item--active{background:var(--color-accent-dim,#351a02)}.topbar-dd__item--danger{color:var(--color-danger)}.topbar-dd__divider{background:var(--color-border,#1f1c1a);height:1px;margin:4px 0}.topbar-dd__empty{font-size:var(--text-sm,13px);color:var(--color-text-muted,#6b5e52);text-align:center;padding:12px 10px}.topbar-connect{position:relative}.topbar-connect__btn{color:var(--color-text-primary);font-size:var(--text-sm,12px);cursor:pointer;background:#a04a011a;border:1px solid #a04a0147;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-weight:600;transition:all .15s;display:inline-flex}.topbar-connect__btn:hover{border-color:var(--color-accent,#a04a01);background:#a04a0133}.topbar-connect__panel{background:var(--color-surface,#0c0a09);border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-base,6px);z-index:100;min-width:360px;padding:16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #00000080}.topbar-connect__title{font-size:var(--text-sm,13px);margin-bottom:12px;font-weight:600}.topbar-connect__row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.topbar-connect__label{color:var(--color-text-muted,#6b5e52);min-width:50px;font-size:11px}.topbar-connect__value{font-size:12px;font-family:var(--font-mono);color:var(--color-text-secondary,#c4b8a9);background:var(--color-surface-raised,#1a1614);border-radius:var(--radius-sm,3px);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:4px 8px;overflow:hidden}.topbar-connect__copy{border:1px solid var(--color-border,#1f1c1a);color:var(--color-text-secondary,#c4b8a9);border-radius:var(--radius-sm,3px);cursor:pointer;background:0 0;padding:3px 8px;font-size:11px;transition:all .15s}.topbar-connect__copy:hover{border-color:var(--color-accent);color:var(--color-glow)}.topbar-connect__hint{color:var(--color-text-muted,#6b5e52);margin-top:8px;font-size:11px}.topbar-connect__hint code{background:var(--color-surface-raised,#1a1614);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:11px}.topbar-connect__tabs{border-bottom:1px solid var(--color-border,#1f1c1a);gap:0;margin-bottom:12px;display:flex}.topbar-connect__tab{color:var(--color-text-muted,#6b5e52);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:6px 0;font-size:11px;font-weight:500;transition:color .15s,border-color .15s}.topbar-connect__tab:hover{color:var(--color-text-secondary,#c4b8a9)}.topbar-connect__tab--active{color:var(--color-glow,#fb923c);border-bottom-color:var(--color-accent,#a04a01)}.topbar-connect__body{flex-direction:column;gap:8px;display:flex}.topbar-connect__value--mono{font-size:11px}.topbar-connect__code{font-family:var(--font-mono);background:var(--color-surface-raised,#1a1614);border-radius:var(--radius-sm,3px);color:var(--color-text-secondary,#c4b8a9);white-space:pre;margin:0;padding:12px;font-size:11px;line-height:1.6;overflow-x:auto}.topbar-connect__copy--block{align-self:flex-end;margin-top:4px}.topbar-search{background:var(--color-surface-raised,#1a1614);border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-base,6px);color:var(--color-text-muted,#6b5e52);font-size:var(--text-sm,13px);cursor:pointer;align-items:center;gap:6px;padding:4px 10px;transition:all .15s;display:inline-flex}.topbar-search:hover{border-color:var(--color-accent);color:var(--color-text-secondary,#c4b8a9)}.topbar-search__text{margin-right:4px}.topbar-search__kbd{background:var(--color-bg);border:1px solid var(--color-border,#1f1c1a);font-size:10px;font-family:var(--font-mono);color:var(--color-text-muted,#6b5e52);border-radius:3px;padding:1px 5px}.topbar-versions-btn{font-size:var(--text-sm,12px);color:var(--color-text-secondary,#c4b8a9);background:var(--color-surface-raised,#1a1614);border:1px solid var(--color-border,#1f1c1a);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-weight:600;transition:all .15s;display:inline-flex}.topbar-versions-btn:hover{background:var(--color-surface,#0c0a09);color:var(--color-text-primary);border-color:#a04a0159}.topbar-versions-btn svg{width:14px;height:14px}.topbar-feedback{font-size:var(--text-sm,13px);color:var(--color-text-muted,#6b5e52);border-radius:var(--radius-base,6px);padding:4px 8px;text-decoration:none;transition:color .15s}.topbar-feedback:hover{color:var(--color-text-primary)}.topbar-icon-btn{border-radius:var(--radius-base,6px);width:30px;height:30px;color:var(--color-text-muted,#6b5e52);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;text-decoration:none;transition:all .15s;display:inline-flex}.topbar-icon-btn:hover{background:var(--color-surface-raised,#1a1614);color:var(--color-text-primary)}.topbar-health{border:1px solid var(--color-border,#1f1c1a);background:var(--color-surface-raised,#1a1614);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.topbar-health__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.topbar-health__label{letter-spacing:.01em;color:var(--color-text-secondary);font-size:.68rem;font-weight:600}.topbar-health--ok .topbar-health__dot{background:var(--color-ok);box-shadow:0 0 6px #22c55e80}.topbar-health--ok .topbar-health__label{color:#86efac}.topbar-health--error .topbar-health__dot{background:var(--color-danger);box-shadow:0 0 6px #ef444480}.topbar-health--error .topbar-health__label{color:#fca5a5}.topbar-health--checking .topbar-health__dot{background:var(--color-warn);animation:1.2s infinite pulse}.topbar-health--unknown .topbar-health__dot{background:var(--color-text-muted,#6b5e52)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.topbar-avatar{background:var(--color-accent);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex}.sidebar{background:var(--color-surface,#0c0a09);border-right:1px solid var(--color-border,#1f1c1a);flex-direction:column;flex-shrink:0;height:100%;transition:width .15s;display:flex;overflow:hidden}.sidebar--collapsed{align-items:center}.sidebar__nav{flex-direction:column;flex:1;gap:1px;padding:8px 6px;display:flex;overflow:hidden auto}.sidebar__nav-btn{border-radius:var(--radius-base,6px);width:100%;color:var(--color-text-muted,#6b5e52);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:7px 10px;font-size:.8125rem;transition:all .12s;display:flex;overflow:hidden}.sidebar--collapsed .sidebar__nav-btn{justify-content:center;padding:7px}.sidebar__nav-btn:hover{background:var(--color-surface-raised,#1a1614);color:var(--color-text-primary)}.sidebar__nav-btn--active{background:var(--color-surface-raised,#1a1614);color:var(--color-glow)}.sidebar__nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.sidebar__nav-label{text-overflow:ellipsis;flex:1;overflow:hidden}.sidebar__nav-chevron{color:var(--color-text-muted,#6b5e52);opacity:.6;flex-shrink:0;align-items:center;margin-left:auto;display:flex}.sidebar__sub{flex-direction:column;padding:2px 0 4px;display:flex}.sidebar__divider{background:var(--color-border,#1f1c1a);flex-shrink:0;height:1px;margin:6px 10px}.sidebar__section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted,#6b5e52);white-space:nowrap;padding:10px 12px 3px;font-size:.625rem;font-weight:600;overflow:hidden}.sidebar--collapsed .sidebar__divider{margin:4px 6px}.sidebar--collapsed .sidebar__section-title{display:none}.sidebar__sub-link{color:var(--color-text-secondary,#c4b8a9);border-radius:var(--radius-base,6px);white-space:nowrap;text-overflow:ellipsis;margin:0 6px;padding:5px 10px 5px 38px;font-size:.8125rem;text-decoration:none;transition:all .12s;display:block;overflow:hidden}.sidebar__sub-link:hover{background:var(--color-surface-raised,#1a1614);color:var(--color-text-primary)}.sidebar__sub-link--active,.sidebar__sub-link.active{background:var(--color-accent-dim,#351a02);color:var(--color-glow)}.sidebar__bottom{border-top:1px solid var(--color-border,#1f1c1a);flex-direction:column;gap:1px;margin-top:auto;padding:4px 6px 8px;display:flex}.sidebar__toggle-btn{border-radius:var(--radius-base,6px);width:100%;color:var(--color-text-muted,#6b5e52);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .12s;display:flex}.sidebar__toggle-btn:hover{background:var(--color-surface-raised,#1a1614);color:var(--color-text-primary)}@media (width<=1024px){.sidebar{--shell-sidebar-width:200px}}@media (width<=768px){.sidebar{width:48px!important}.sidebar .sidebar__nav-label,.sidebar .sidebar__nav-chevron,.sidebar .sidebar__sub,.sidebar .sidebar__section-title{display:none}.sidebar .sidebar__nav-btn{justify-content:center;padding:7px}.sidebar__toggle-btn{display:none}.sidebar__divider{margin:4px 6px}.topbar-connect__panel{min-width:280px;left:auto;right:0}}@media (width<=480px){.sidebar{display:none!important}.shell__grid{grid-template-columns:1fr}.topbar__center{display:none}}.cmd-overlay{z-index:200;justify-content:center;align-items:flex-start;padding-top:120px;display:flex;position:fixed;inset:0}.cmd-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;position:fixed;inset:0}.cmd-panel{background:var(--color-surface,#0c0a09);border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-lg,8px);flex-direction:column;width:560px;max-height:420px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 48px #0009}.cmd-search-row{border-bottom:1px solid var(--color-border,#1f1c1a);align-items:center;gap:10px;padding:12px 16px;display:flex}.cmd-search-row svg{color:var(--color-text-muted,#6b5e52);flex-shrink:0}.cmd-input{color:var(--color-text-primary);font-size:var(--text-base,14px);background:0 0;border:none;outline:none;flex:1}.cmd-input::placeholder{color:var(--color-text-muted,#6b5e52)}.cmd-esc{background:var(--color-surface-raised,#1a1614);border:1px solid var(--color-border,#1f1c1a);color:var(--color-text-muted,#6b5e52);cursor:pointer;font-size:10px;font-family:var(--font-mono);border-radius:3px;padding:2px 6px}.cmd-results{flex:1;padding:4px;overflow-y:auto}.cmd-item{width:100%;color:var(--color-text-primary);font-size:var(--text-sm,13px);cursor:pointer;border-radius:var(--radius-sm,3px);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .12s;display:flex}.cmd-item:hover{background:var(--color-surface-raised,#1a1614)}.cmd-item__label{font-weight:500}.cmd-item__path{color:var(--color-text-muted,#6b5e52);font-size:11px;font-family:var(--font-mono)}.cmd-empty{text-align:center;color:var(--color-text-muted,#6b5e52);font-size:var(--text-sm,13px);padding:20px}:root{--color-bg:#050403;--color-bg-alt:#080604;--color-surface:#0c0905;--color-surface-2:#161008;--color-surface-3:#1e160a;--color-surface-hover:#1a1208;--color-surface-raised:#1e160a;--color-border:#a04a0133;--color-border-soft:#ffffff12;--color-border-focus:#fb923c80;--color-accent:#a04a01;--color-accent-hover:#bf5901;--color-accent-dim:#a04a011f;--color-glow:#fb923c;--color-glow-dim:#fb923c38;--color-glow-faint:#fb923c12;--color-glow-strong:#fb923c73;--color-text-primary:#f0e8e0;--color-text-secondary:#c4a892;--color-text-muted:#8a7060;--color-text-inverse:#050403;--color-ok:#22c55e;--color-ok-dim:#22c55e1f;--color-warn:#eab308;--color-warn-dim:#eab3081f;--color-danger:#ef4444;--color-danger-dim:#ef44441f;--color-info:#3b82f6;--color-info-dim:#3b82f61f;--color-unknown:#6b5040;--color-unknown-dim:#6b50401f;--shell-sidebar-width:220px;--shell-sidebar-collapsed-width:48px;--shell-topbar-height:48px;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-2xs:.625rem;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-loose:1.75;--space-1:4px;--space-2:6px;--space-3:10px;--space-4:14px;--space-5:18px;--space-6:22px;--space-8:28px;--space-10:36px;--space-12:44px;--space-16:56px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-pill:9999px;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 3px 12px #0000008c;--shadow-lg:0 6px 24px #000000a6;--shadow-glow:0 0 14px #fb923c47;--shadow-accent:0 0 10px #a04a0161;--transition-fast:.1s ease;--transition-normal:.18s ease;--transition-slow:.32s ease;--transition-spring:.28s cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-overlay:100;--z-drawer:200;--z-modal:300;--z-toast:400;--z-tooltip:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #fb923c00}50%{box-shadow:0 0 0 6px #fb923c2e}}@keyframes pulse-ok{0%,to{box-shadow:0 0 #22c55e00}50%{box-shadow:0 0 0 5px #22c55e2e}}@keyframes pulse-warn{0%,to{box-shadow:0 0 #eab30800}50%{box-shadow:0 0 0 5px #eab3082e}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes sov-logo-breathe{0%,to{opacity:.55;filter:drop-shadow(0 0 6px #fb923c26)}50%{opacity:1;filter:drop-shadow(0 0 18px #fb923c73)}}@keyframes sov-logo-top{0%,to{opacity:.35}30%{opacity:1}70%{opacity:.35}}@keyframes sov-logo-bottom{0%,to{opacity:.35}50%{opacity:.35}80%{opacity:1}}.anim-fade-in{animation:.2s forwards fadeIn}.anim-fade-in-up{animation:.25s forwards fadeInUp}.anim-fade-in-down{animation:.2s forwards fadeInDown}.anim-slide-in-right{animation:.25s forwards slideInRight}.anim-scale-in{animation:scaleIn .2s var(--transition-spring) forwards}.skeleton{background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s infinite skeleton-shimmer}.sov-mini-spinner{flex-shrink:0;animation:.75s linear infinite spin}@keyframes sov-draw-upper{0%{stroke-dashoffset:2400px;fill:#0000}50%{stroke-dashoffset:0;fill:#0000}70%{stroke-dashoffset:0;fill:#a04a0199}to{stroke-dashoffset:0;fill:#a04a01}}@keyframes sov-draw-lower{0%{stroke-dashoffset:2400px;fill:#0000}40%{stroke-dashoffset:2400px;fill:#0000}80%{stroke-dashoffset:0;fill:#0000}95%{stroke-dashoffset:0;fill:#a04a0199}to{stroke-dashoffset:0;fill:#a04a01}}@keyframes sov-logo-pulse{0%,to{opacity:1;filter:drop-shadow(0 0 #0000)}50%{opacity:.85;filter:drop-shadow(0 0 12px #a04a014d)}}@keyframes sov-label-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:.5;transform:translateY(0)}}.sov-loader{flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;min-height:200px;animation:.2s fadeIn;display:flex}.sov-loader--fullscreen{z-index:9999;background:var(--color-bg,#050403);position:fixed;inset:0}.sov-loader__logo{animation:2.4s ease-in-out 1.8s infinite sov-logo-pulse}.sov-loader__path{stroke-dasharray:2400;stroke-dashoffset:2400px}.sov-loader__path--upper{animation:1.6s ease-out forwards sov-draw-upper}.sov-loader__path--lower{animation:1.8s ease-out forwards sov-draw-lower}.sov-loader__label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted,#8a7060);opacity:0;font-size:.6875rem;font-weight:500;animation:.4s 1.4s forwards sov-label-appear}.sov-page-loader{text-align:center;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;min-height:200px;animation:.2s fadeIn;display:flex}.sov-page-loader__text{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.02em;margin:0}.sov-page-loader__brand{font-size:var(--text-2xs);color:var(--color-text-muted);opacity:.5;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.oauth-auth-page{background:var(--color-bg);height:100vh;color:var(--color-text-primary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.oauth-auth-page__icon{font-size:1.5rem}.oauth-auth-page__error{color:var(--color-danger);font-size:var(--text-base)}.oauth-auth-page__btn{font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;background:var(--color-accent);color:#fff;border:none;padding:8px 20px;font-weight:500;transition:opacity .15s}.oauth-auth-page__btn:hover{opacity:.9}.sovaria-loader{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;min-height:200px;animation:.3s fadeIn;display:flex}.sovaria-loader--fullscreen{z-index:var(--z-overlay,100);background:var(--color-bg,#050403);position:fixed;inset:0}.sovaria-loader__msg{color:var(--color-text-muted,#8a7060);margin:0;font-size:.8125rem;animation:.6s .3s both fadeIn}.sov-logo-spinner{justify-content:center;align-items:center;animation:2.2s ease-in-out infinite sov-logo-breathe;display:flex}.sov-logo-spinner__top{animation:2.2s ease-in-out infinite sov-logo-top}.sov-logo-spinner__bottom{animation:2.2s ease-in-out infinite sov-logo-bottom}.sov-spinner-ring{animation:.8s linear infinite spin}.sovaria-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;animation:.3s fadeIn;display:flex}.sovaria-empty__icon{color:var(--color-text-muted,#8a7060);opacity:.5;margin-bottom:4px}.sovaria-empty__icon svg{width:36px;height:36px}.sovaria-empty__title{color:var(--color-text-secondary,#c4a892);margin:0;font-size:.875rem;font-weight:500}.sovaria-empty__desc{color:var(--color-text-muted,#8a7060);max-width:340px;margin:0;font-size:.8125rem;line-height:1.5}.sovaria-empty__btn{border:1px solid var(--color-border,#2a1e10);color:var(--color-text-primary,#f0e8e0);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:6px 16px;font-size:.8125rem;font-weight:500;transition:background .15s,border-color .15s}.sovaria-empty__btn:hover{background:var(--color-surface-2,#161008);border-color:var(--color-accent,#a04a01)}.sovaria-skeleton{flex-direction:column;gap:12px;padding:24px;animation:.2s fadeIn;display:flex}.sovaria-skeleton__bar{background:linear-gradient(90deg, var(--color-surface-2,#161008) 25%, var(--color-surface-3,#1e160a) 50%, var(--color-surface-2,#161008) 75%);background-size:200% 100%;border-radius:4px;height:14px;animation:1.6s ease-in-out infinite skeleton-shimmer}.sovaria-skeleton__bar--short{width:40%}.sovaria-skeleton__bar--medium{width:65%}.sovaria-skeleton__bar--long{width:90%}.sov-skel{flex-direction:column;gap:12px;animation:.2s fadeIn;display:flex}.sov-skel__line{background:linear-gradient(90deg, var(--color-surface-2,#161008) 25%, #a04a0114 50%, var(--color-surface-2,#161008) 75%);background-size:200% 100%;border-radius:4px;flex-shrink:0;animation:1.6s ease-in-out infinite skeleton-shimmer}.sov-skel__stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;animation:.25s fadeIn;display:grid}.sov-skel__stat-card{border-radius:var(--radius-md,6px);border:1px solid var(--color-border,#a04a0133);background:var(--color-surface,#0c0905);padding:16px}.sov-skel__table{border:1px solid var(--color-border,#a04a0133);border-radius:var(--radius-md,6px);flex-direction:column;gap:0;animation:.25s fadeIn;display:flex;overflow:hidden}.sov-skel__table-header{background:var(--color-surface,#0c0905);border-bottom:1px solid var(--color-border,#a04a0133);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px;padding:12px 16px;display:grid}.sov-skel__table-row{border-bottom:1px solid var(--color-border-soft,#ffffff0a);grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:16px;padding:14px 16px;display:grid}.sov-skel__table-row:last-child{border-bottom:none}.sov-skel__actions{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;animation:.25s fadeIn;display:grid}.sov-skel__action-card{border-radius:var(--radius-md,6px);border:1px solid var(--color-border,#a04a0133);background:var(--color-surface,#0c0905);align-items:center;gap:12px;padding:14px 16px;display:flex}.sov-skel__engines{border:1px solid var(--color-border,#a04a0133);border-radius:var(--radius-md,6px);flex-direction:column;gap:0;animation:.25s fadeIn;display:flex;overflow:hidden}.sov-skel__engine-row{border-bottom:1px solid var(--color-border-soft,#ffffff0a);align-items:center;gap:12px;padding:10px 16px;display:flex}.sov-skel__engine-row:last-child{border-bottom:none}.sov-skel__stat-card:first-child,.sov-skel__action-card:first-child,.sov-skel__engine-row:first-child{animation:.2s both fadeIn}.sov-skel__stat-card:nth-child(2),.sov-skel__action-card:nth-child(2),.sov-skel__engine-row:nth-child(2){animation:.2s 40ms both fadeIn}.sov-skel__stat-card:nth-child(3),.sov-skel__action-card:nth-child(3),.sov-skel__engine-row:nth-child(3){animation:.2s 80ms both fadeIn}.sov-skel__stat-card:nth-child(4),.sov-skel__action-card:nth-child(4),.sov-skel__engine-row:nth-child(4){animation:.2s .12s both fadeIn}.sov-skel__stat-card:nth-child(5),.sov-skel__action-card:nth-child(5),.sov-skel__engine-row:nth-child(5){animation:.2s .16s both fadeIn}.sov-skel__stat-card:nth-child(6),.sov-skel__action-card:nth-child(6),.sov-skel__engine-row:nth-child(6){animation:.2s .2s both fadeIn}.sov-skel__stat-card:nth-child(7){animation:.2s .24s both fadeIn}.sov-dialog-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.sov-dialog{background:var(--color-surface,#0c0905);border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-lg,10px);flex-direction:column;gap:20px;width:100%;max-width:460px;padding:28px 32px;animation:.2s dialogSlideUp;display:flex}@keyframes dialogSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sov-dialog__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sov-dialog__title{color:var(--color-text-primary,#f0e8e0);margin:0;font-size:1.125rem;font-weight:600}.sov-dialog__sub{font-size:var(--text-sm,13px);color:var(--color-text-muted,#8a7060);margin:4px 0 0;line-height:1.5}.sov-dialog__close{color:var(--color-text-muted,#8a7060);cursor:pointer;border-radius:var(--radius-sm,4px);background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;transition:color .15s;display:flex}.sov-dialog__close:hover{color:var(--color-text-primary,#f0e8e0)}.sov-dialog__tabs{border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-sm,4px);display:flex;overflow:hidden}.sov-dialog__tab{font-size:var(--text-sm,13px);color:var(--color-text-muted,#8a7060);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 14px;font-weight:500;transition:background .15s,color .15s}.sov-dialog__tab:hover{color:var(--color-text-primary,#f0e8e0)}.sov-dialog__tab--active{color:var(--color-accent,#a04a01);background:#a04a0126;font-weight:600}.sov-dialog__form{flex-direction:column;gap:16px;display:flex}.sov-dialog__field{flex-direction:column;gap:6px;display:flex}.sov-dialog__label{font-size:var(--text-sm,13px);color:var(--color-text-subtle,#9a8a7c);font-weight:500}.sov-dialog__input{border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-sm,4px);width:100%;font-size:var(--text-sm,13px);color:var(--color-text-primary,#f0e8e0);box-sizing:border-box;background:#ffffff08;padding:9px 12px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.sov-dialog__input::placeholder{color:var(--color-text-muted,#8a7060)}.sov-dialog__input:focus{border-color:#a04a0180;outline:none;box-shadow:0 0 0 3px #a04a011f}.sov-dialog__hint{color:var(--color-text-muted,#8a7060);font-size:11px}.sov-dialog__hint code{color:var(--color-text-subtle,#9a8a7c);font-family:SF Mono,Fira Code,monospace}.sov-dialog__error{font-size:var(--text-sm,13px);color:#f87171;border-radius:var(--radius-sm,4px);background:#f8717114;border:1px solid #f8717133;padding:8px 12px}.sov-dialog__actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.sov-dialog__cancel{border:1px solid var(--color-border,#1f1c1a);border-radius:var(--radius-sm,4px);font-size:var(--text-sm,13px);color:var(--color-text-primary,#f0e8e0);cursor:pointer;background:0 0;padding:8px 16px;transition:border-color .15s}.sov-dialog__cancel:hover{border-color:var(--color-accent,#a04a01)}.sov-dialog__submit{background:var(--color-ok,#22c55e);color:#fff;border-radius:var(--radius-sm,4px);font-size:var(--text-sm,13px);cursor:pointer;border:none;padding:8px 16px;font-weight:500;transition:opacity .15s}.sov-dialog__submit:hover:not(:disabled){opacity:.9}.sov-dialog__submit:disabled{opacity:.45;cursor:not-allowed}.sov-dialog__region-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sov-skeleton-page{flex-direction:column;gap:24px;padding:28px 32px;animation:.3s fadeIn;display:flex}.sov-skeleton-header{flex-direction:column;gap:8px;display:flex}.sov-skeleton-table{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.sov-skeleton-table__head{background:var(--color-surface-2);border-bottom:1px solid var(--color-border-soft);padding:12px 16px}.sov-skeleton-table__row{border-bottom:1px solid var(--color-border-soft);padding:14px 16px}.sov-skeleton-table__row:last-child{border-bottom:none}.sov-skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.sov-skeleton-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;gap:10px;padding:20px;display:flex}.sov-skeleton-stats{flex-wrap:wrap;gap:16px;display:flex}.sov-skeleton-stat{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;flex:1;align-items:center;gap:6px;min-width:120px;padding:16px 24px;display:flex}.sov-skeleton-detail{flex-direction:column;gap:20px;display:flex}.sov-skeleton-field{flex-direction:column;gap:8px;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-regular);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg);min-height:100vh;overflow:hidden}#root{width:100%;height:100vh;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}:focus-visible{outline:2px solid var(--color-glow);outline-offset:2px;border-radius:var(--radius-sm)}h1{font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}h2{font-size:var(--text-xl);font-weight:var(--weight-semibold)}h3{font-size:var(--text-lg);font-weight:var(--weight-semibold)}h4{font-size:var(--text-md);font-weight:var(--weight-medium)}h5{font-size:var(--text-base);font-weight:var(--weight-medium)}p{line-height:var(--leading-normal)}code,pre,.mono{font-family:var(--font-mono);font-size:var(--text-sm)}a{color:var(--color-glow);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover)}svg{flex-shrink:0;display:block}button{font-family:var(--font-sans);cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--color-glow);box-shadow:0 0 0 2px var(--color-glow-faint)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}hr{border:none;border-top:1px solid var(--color-border-soft)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.no-select{-webkit-user-select:none;user-select:none}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.scroll-y{overflow:hidden auto}.scroll-x{overflow:auto hidden}.card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-5)}.card:hover{border-color:var(--color-border)}
