@media print{html{font-size:10px}.q-layout>.q-drawer-container,.q-layout>.q-header{display:none}.q-layout>.q-page-container{padding-left:0!important}.q-layout *{line-height:1!important}.q-layout td,.q-layout th{padding:0 0.25rem!important}.q-layout .q-avatar,.q-layout img{display:none}.q-layout table{width:100vw}.q-layout table *{padding:0}.q-layout .q-btn,.q-layout .q-table__container .q-table__top,.q-layout table .q-checkbox{display:none}}.q-notification__badge{animation-duration:0.1s}.q-notification{transition-duration:0.2s}pre{font-family:JetBrains Mono,Monaco,Menlo,Meslo,monospace;line-height:1.25}.screen-native{height:calc(100vh - 51px);display:flex;flex-direction:column}.electron .screen-native{height:calc(100vh - 83px)}.bg-none{background:none}.text-weight-extra{font-weight:900}#q-app{overflow:hidden}.dip .drop-zone *{pointer-events:none}.apexcharts-tooltip.apexcharts-theme-light{border:1px solid #f4f4f8;background:hsla(0,0%,100%,0.96)}.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title{background:#fff!important;padding:4px 6px!important;font-weight:700;border-bottom:unset!important}.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-y-group{padding:0}.apexcharts-menu-icon svg{fill:#e0e0e0!important}.q-field--outlined.no-border .q-field__control:before{border:none}:root{--ui-gray-50:#f8fafc;--ui-gray-100:#f1f5f9;--ui-gray-200:#e2e8f0;--ui-gray-300:#cbd5e1;--ui-gray-400:#94a3b8;--ui-gray-500:#64748b;--ui-gray-600:#475569;--ui-gray-700:#334155;--ui-gray-800:#1e293b;--ui-gray-900:#0f172a;--ui-gray-950:#020617;--ui-blue-50:#eff6ff;--ui-blue-100:#dbeafe;--ui-blue-200:#bfdbfe;--ui-blue-300:#93c5fd;--ui-blue-400:#60a5fa;--ui-blue-500:#3b82f6;--ui-blue-600:#2563eb;--ui-blue-700:#1d4ed8;--ui-blue-800:#1e40af;--ui-blue-900:#1e3a8a;--ui-blue-950:#172554;--ui-green-50:#ecfdf5;--ui-green-100:#d1fae5;--ui-green-200:#a7f3d0;--ui-green-300:#6ee7b7;--ui-green-400:#34d399;--ui-green-500:#10b981;--ui-green-600:#059669;--ui-green-700:#047857;--ui-green-800:#065f46;--ui-green-900:#064e3b;--ui-green-950:#022c22;--ui-amber-50:#fffbeb;--ui-amber-100:#fef3c7;--ui-amber-200:#fde68a;--ui-amber-300:#fcd34d;--ui-amber-400:#fbbf24;--ui-amber-500:#f59e0b;--ui-amber-600:#d97706;--ui-amber-700:#b45309;--ui-amber-800:#92400e;--ui-amber-900:#78350f;--ui-amber-950:#451a03;--ui-red-50:#fef2f2;--ui-red-100:#fee2e2;--ui-red-200:#fecaca;--ui-red-300:#fca5a5;--ui-red-400:#f87171;--ui-red-500:#ef4444;--ui-red-600:#dc2626;--ui-red-700:#b91c1c;--ui-red-800:#991b1b;--ui-red-900:#7f1d1d;--ui-red-950:#450a0a;--ui-violet-50:#f5f3ff;--ui-violet-100:#ede9fe;--ui-violet-200:#ddd6fe;--ui-violet-300:#c4b5fd;--ui-violet-400:#a78bfa;--ui-violet-500:#8b5cf6;--ui-violet-600:#7c3aed;--ui-violet-700:#6d28d9;--ui-violet-800:#5b21b6;--ui-violet-900:#4c1d95;--ui-violet-950:#2e1065;--ui-font:"Inter","Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--ui-font-mono:"JetBrains Mono","SF Mono",ui-monospace,"Cascadia Code",Consolas,monospace;--ui-text-xs:0.75rem;--ui-text-sm:0.8125rem;--ui-text-md:0.875rem;--ui-text-lg:1rem;--ui-text-xl:1.25rem;--ui-text-2xl:1.5rem;--ui-text-3xl:2rem;--ui-leading-tight:1.25;--ui-leading-normal:1.55;--ui-space-1:0.25rem;--ui-space-2:0.5rem;--ui-space-3:0.75rem;--ui-space-4:1rem;--ui-space-5:1.25rem;--ui-space-6:1.5rem;--ui-space-8:2rem;--ui-space-10:2.5rem;--ui-space-12:3rem;--ui-radius-xs:0.25rem;--ui-radius-sm:0.375rem;--ui-radius-md:0.625rem;--ui-radius-lg:0.875rem;--ui-radius-xl:1.25rem;--ui-radius-full:9999px;--ui-shadow-1:0 1px 2px rgb(2 6 23/.06),0 1px 3px rgb(2 6 23/.06);--ui-shadow-2:0 2px 4px rgb(2 6 23/.05),0 4px 12px rgb(2 6 23/.08);--ui-shadow-3:0 4px 8px rgb(2 6 23/.06),0 12px 28px rgb(2 6 23/.10);--ui-shadow-4:0 8px 16px rgb(2 6 23/.08),0 24px 48px rgb(2 6 23/.14);--ui-shadow-inset:inset 0 1px 0 rgb(255 255 255/.6);--ui-ease:cubic-bezier(.2,.8,.3,1);--ui-ease-out:cubic-bezier(.16,1,.3,1);--ui-duration-fast:120ms;--ui-duration:200ms;--ui-duration-slow:320ms;--ui-z-dropdown:1000;--ui-z-sticky:1100;--ui-z-modal:1300;--ui-z-toast:1400;color-scheme:light;--ui-canvas:var(--ui-gray-50);--ui-surface:#fff;--ui-surface-2:var(--ui-gray-50);--ui-surface-3:var(--ui-gray-100);--ui-overlay:rgb(2 6 23/.45);--ui-fg:var(--ui-gray-900);--ui-fg-muted:var(--ui-gray-600);--ui-fg-subtle:var(--ui-gray-500);--ui-fg-inverted:#fff;--ui-border:var(--ui-gray-200);--ui-border-strong:var(--ui-gray-300);--ui-field-bg:#fff;--ui-field-bg-disabled:var(--ui-gray-100)}[data-theme=dark]{color-scheme:dark;--ui-canvas:#080d18;--ui-surface:#0f172a;--ui-surface-2:#16203a;--ui-surface-3:#1e293b;--ui-overlay:rgb(2 6 23/.65);--ui-fg:var(--ui-gray-100);--ui-fg-muted:var(--ui-gray-400);--ui-fg-subtle:var(--ui-gray-500);--ui-fg-inverted:var(--ui-gray-950);--ui-border:#253248;--ui-border-strong:#35455f;--ui-field-bg:#0b1324;--ui-field-bg-disabled:#131c30;--ui-shadow-1:0 1px 2px rgb(0 0 0/.4);--ui-shadow-2:0 2px 6px rgb(0 0 0/.45),0 6px 16px rgb(0 0 0/.35);--ui-shadow-3:0 6px 14px rgb(0 0 0/.45),0 16px 40px rgb(0 0 0/.45);--ui-shadow-4:0 10px 24px rgb(0 0 0/.5),0 30px 60px rgb(0 0 0/.55);--ui-shadow-inset:inset 0 1px 0 rgb(255 255 255/.04)}:root,[data-color]{--c-on-solid:#fff;--c-solid-hover:color-mix(in srgb,var(--c-solid) 86%,#000);--c-solid-active:color-mix(in srgb,var(--c-solid) 76%,#000);--c-fg:var(--c-700);--c-soft-bg:color-mix(in srgb,var(--c-500) 12%,transparent);--c-soft-bg-hover:color-mix(in srgb,var(--c-500) 20%,transparent);--c-line:color-mix(in srgb,var(--c-500) 42%,transparent);--c-ring:color-mix(in srgb,var(--c-500) 60%,transparent)}[data-theme=dark],[data-theme=dark] [data-color]{--c-solid-hover:color-mix(in srgb,var(--c-solid) 80%,#fff);--c-solid-active:color-mix(in srgb,var(--c-solid) 68%,#fff);--c-fg:var(--c-300);--c-soft-bg:color-mix(in srgb,var(--c-500) 18%,transparent);--c-soft-bg-hover:color-mix(in srgb,var(--c-500) 26%,transparent);--c-line:color-mix(in srgb,var(--c-500) 48%,transparent)}:root,[data-color=primary]{--c-100:var(--ui-blue-100);--c-200:var(--ui-blue-200);--c-300:var(--ui-blue-300);--c-400:var(--ui-blue-400);--c-500:var(--ui-blue-500);--c-600:var(--ui-blue-600);--c-700:var(--ui-blue-700);--c-800:var(--ui-blue-800);--c-solid:var(--ui-blue-600)}[data-color=info]{--c-100:var(--ui-violet-100);--c-200:var(--ui-violet-200);--c-300:var(--ui-violet-300);--c-400:var(--ui-violet-400);--c-500:var(--ui-violet-500);--c-600:var(--ui-violet-600);--c-700:var(--ui-violet-700);--c-800:var(--ui-violet-800);--c-solid:var(--ui-violet-600)}[data-color=success]{--c-100:var(--ui-green-100);--c-200:var(--ui-green-200);--c-300:var(--ui-green-300);--c-400:var(--ui-green-400);--c-500:var(--ui-green-500);--c-600:var(--ui-green-600);--c-700:var(--ui-green-700);--c-800:var(--ui-green-800);--c-solid:var(--ui-green-700)}[data-color=warning]{--c-100:var(--ui-amber-100);--c-200:var(--ui-amber-200);--c-300:var(--ui-amber-300);--c-400:var(--ui-amber-400);--c-500:var(--ui-amber-500);--c-600:var(--ui-amber-600);--c-700:var(--ui-amber-700);--c-800:var(--ui-amber-800);--c-solid:var(--ui-amber-500);--c-on-solid:var(--ui-gray-950)}[data-color=danger]{--c-100:var(--ui-red-100);--c-200:var(--ui-red-200);--c-300:var(--ui-red-300);--c-400:var(--ui-red-400);--c-500:var(--ui-red-500);--c-600:var(--ui-red-600);--c-700:var(--ui-red-700);--c-800:var(--ui-red-800);--c-solid:var(--ui-red-600)}[data-color=neutral]{--c-100:var(--ui-gray-100);--c-200:var(--ui-gray-200);--c-300:var(--ui-gray-300);--c-400:var(--ui-gray-400);--c-500:var(--ui-gray-500);--c-600:var(--ui-gray-600);--c-700:var(--ui-gray-700);--c-800:var(--ui-gray-800);--c-solid:var(--ui-gray-800)}[data-theme=dark] [data-color=neutral]{--c-solid:var(--ui-gray-600)}*,:after,:before{box-sizing:border-box}body.ui-body{margin:0;background:var(--ui-canvas);color:var(--ui-fg);font-family:var(--ui-font);font-size:var(--ui-text-md);line-height:var(--ui-leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ui-body :where(h1,h2,h3,h4,h5,h6){margin:0 0 var(--ui-space-3);line-height:var(--ui-leading-tight);font-weight:650;letter-spacing:-0.015em;text-wrap:balance}.ui-body h1{font-size:var(--ui-text-3xl)}.ui-body h2{font-size:var(--ui-text-2xl)}.ui-body h3{font-size:var(--ui-text-xl)}.ui-body :where(p,ul,ol){margin:0 0 var(--ui-space-4);max-width:72ch}.ui-body a{color:var(--c-fg);text-underline-offset:3px}:where(.ui-btn,.ui-input,.ui-textarea,.ui-select select,.ui-tab,.ui-check,.ui-switch,.ui-page-btn,.ui-menu summary):focus-visible{outline:2px solid var(--c-ring);outline-offset:2px}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.ui-container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--ui-space-5)}.ui-stack{display:flex;flex-direction:column;gap:var(--ui-gap,var(--ui-space-4))}.ui-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-gap,var(--ui-space-3))}.ui-cluster[data-justify=between]{justify-content:space-between}.ui-cluster[data-justify=end]{justify-content:flex-end}.ui-grid{display:grid;gap:var(--ui-gap,var(--ui-space-4));grid-template-columns:repeat(var(--ui-cols,1),minmax(0,1fr))}.ui-grid[data-cols="2"]{--ui-cols:2}.ui-grid[data-cols="3"]{--ui-cols:3}.ui-grid[data-cols="4"]{--ui-cols:4}.ui-grid[data-auto]{grid-template-columns:repeat(auto-fit,minmax(var(--ui-min,260px),1fr))}@media (max-width:900px){.ui-grid[data-cols]{--ui-cols:2}}@media (max-width:620px){.ui-grid[data-cols]{--ui-cols:1}}.ui-divider{border:0;border-top:1px solid var(--ui-border);margin:var(--ui-space-5) 0}.ui-divider[data-vertical]{border-top:0;border-left:1px solid var(--ui-border);margin:0;align-self:stretch}.ui-btn{--_h:2.5rem;--_px:var(--ui-space-4);--_fs:var(--ui-text-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-2);min-height:var(--_h);padding:0 var(--_px);font-family:inherit;font-size:var(--_fs);font-weight:600;line-height:1;letter-spacing:.005em;border:1px solid transparent;border-radius:var(--ui-radius-md);background:var(--c-solid);color:var(--c-on-solid);cursor:pointer;white-space:nowrap;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color var(--ui-duration) var(--ui-ease),border-color var(--ui-duration) var(--ui-ease),color var(--ui-duration) var(--ui-ease),box-shadow var(--ui-duration) var(--ui-ease),translate var(--ui-duration-fast) var(--ui-ease)}.ui-btn[data-size=sm]{--_h:2rem;--_px:var(--ui-space-3);--_fs:var(--ui-text-sm)}.ui-btn[data-size=lg]{--_h:3rem;--_px:var(--ui-space-6);--_fs:var(--ui-text-lg)}.ui-btn:hover{background:var(--c-solid-hover)}.ui-btn:active{background:var(--c-solid-active);translate:0 1px}.ui-btn[data-elevated]{box-shadow:var(--ui-shadow-2)}.ui-btn[data-elevated]:hover{box-shadow:var(--ui-shadow-3)}.ui-btn[data-block]{display:flex;width:100%}.ui-btn[data-icon]{padding:0;width:var(--_h)}.ui-btn[data-pill]{border-radius:var(--ui-radius-full)}.ui-btn[data-variant=soft]{background:var(--c-soft-bg);color:var(--c-fg)}.ui-btn[data-variant=soft]:hover{background:var(--c-soft-bg-hover)}.ui-btn[data-variant=outline]{background:transparent;color:var(--c-fg);border-color:var(--c-line)}.ui-btn[data-variant=outline]:hover{background:var(--c-soft-bg);border-color:var(--c-solid)}.ui-btn[data-variant=ghost]{background:transparent;color:var(--c-fg)}.ui-btn[data-variant=ghost]:hover{background:var(--c-soft-bg)}.ui-btn[data-variant=link]{background:transparent;color:var(--c-fg);min-height:auto;padding:0;text-decoration:underline;text-underline-offset:4px}.ui-btn[data-variant=link]:hover{color:var(--c-solid-hover);background:transparent}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.45;pointer-events:none}.ui-btn[data-loading=true]{pointer-events:none}.ui-btn[data-loading=true]:before{content:"";width:1em;height:1em;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:ui-spin .7s linear infinite}@keyframes ui-spin{to{rotate:360deg}}.ui-btn-group{display:inline-flex}.ui-btn-group>.ui-btn{border-radius:0;margin-left:-1px}.ui-btn-group>.ui-btn:first-child{border-start-start-radius:var(--ui-radius-md);border-end-start-radius:var(--ui-radius-md);margin-left:0}.ui-btn-group>.ui-btn:last-child{border-start-end-radius:var(--ui-radius-md);border-end-end-radius:var(--ui-radius-md)}.ui-btn-group>.ui-btn:hover{z-index:1}.ui-label{display:block;margin-bottom:var(--ui-space-2);font-size:var(--ui-text-md);font-weight:550;color:var(--ui-fg)}.ui-label[data-required]:after{content:" *";color:var(--ui-red-500)}.ui-input,.ui-select select,.ui-textarea{--_h:2.5rem;width:100%;min-height:var(--_h);padding:0 var(--ui-space-3);font-family:inherit;font-size:var(--ui-text-md);color:var(--ui-fg);background:var(--ui-field-bg);border:1px solid var(--ui-border-strong);border-radius:var(--ui-radius-md);transition:border-color var(--ui-duration) var(--ui-ease),box-shadow var(--ui-duration) var(--ui-ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-textarea{padding:var(--ui-space-3);min-height:6rem;line-height:var(--ui-leading-normal);resize:vertical}.ui-input[data-size=sm],.ui-select[data-size=sm] select{--_h:2rem;font-size:var(--ui-text-sm)}.ui-input[data-size=lg],.ui-select[data-size=lg] select{--_h:3rem;font-size:var(--ui-text-lg)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ui-fg-subtle)}.ui-input:hover,.ui-select select:hover,.ui-textarea:hover{border-color:var(--ui-fg-subtle)}.ui-input:focus,.ui-select select:focus,.ui-textarea:focus{outline:none;border-color:var(--c-solid);box-shadow:0 0 0 3px var(--c-soft-bg)}.ui-input:disabled,.ui-select select:disabled,.ui-textarea:disabled{background:var(--ui-field-bg-disabled);color:var(--ui-fg-subtle);cursor:not-allowed}.ui-input[data-invalid],.ui-textarea[data-invalid],[data-invalid] .ui-input,[data-invalid] .ui-textarea{border-color:var(--ui-red-500)}.ui-input[data-invalid]:focus,[data-invalid] .ui-input:focus{border-color:var(--ui-red-500);box-shadow:0 0 0 3px rgb(239 68 68/.18)}.ui-help{color:var(--ui-fg-muted)}.ui-error,.ui-help{margin-top:var(--ui-space-2);font-size:var(--ui-text-sm)}.ui-error{color:var(--ui-red-600);display:flex;gap:var(--ui-space-2)}[data-theme=dark] .ui-error{color:var(--ui-red-400)}.ui-field{position:relative;display:block}.ui-field>.ui-input,.ui-field>.ui-textarea{--_h:3.25rem;padding-top:var(--ui-space-5)}.ui-field>.ui-textarea{padding-top:var(--ui-space-6)}.ui-field__label{position:absolute;inset-inline-start:calc(var(--ui-space-3) + 1px);top:50%;translate:0 -50%;pointer-events:none;font-size:var(--ui-text-md);color:var(--ui-fg-subtle);transition:translate var(--ui-duration) var(--ui-ease-out),font-size var(--ui-duration) var(--ui-ease-out),color var(--ui-duration) var(--ui-ease-out)}.ui-field>.ui-textarea+.ui-field__label{top:var(--ui-space-5)}.ui-field :is(.ui-input,.ui-textarea):focus+.ui-field__label,.ui-field :is(.ui-input,.ui-textarea):not(:placeholder-shown)+.ui-field__label{translate:0 -145%;font-size:var(--ui-text-xs);font-weight:600}.ui-field :is(.ui-input,.ui-textarea):focus+.ui-field__label{color:var(--c-fg)}.ui-field>.ui-textarea:focus+.ui-field__label,.ui-field>.ui-textarea:not(:placeholder-shown)+.ui-field__label{translate:0 -60%}.ui-select{position:relative;display:block}.ui-select select{padding-inline-end:var(--ui-space-8);cursor:pointer}.ui-select:after{content:"";position:absolute;inset-inline-end:var(--ui-space-3);top:50%;width:.5rem;height:.5rem;translate:0 -70%;rotate:45deg;border-right:1.5px solid var(--ui-fg-muted);border-bottom:1.5px solid var(--ui-fg-muted);pointer-events:none}.ui-check{display:inline-flex;align-items:flex-start;gap:var(--ui-space-3);cursor:pointer;font-size:var(--ui-text-md)}.ui-check input{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;flex:none;width:1.125rem;height:1.125rem;margin-top:.175rem;border:1.5px solid var(--ui-border-strong);background:var(--ui-field-bg);border-radius:var(--ui-radius-xs);cursor:pointer;transition:background-color var(--ui-duration-fast) var(--ui-ease),border-color var(--ui-duration-fast) var(--ui-ease)}.ui-check input[type=radio]{border-radius:50%}.ui-check input:checked,.ui-check input:hover{border-color:var(--c-solid)}.ui-check input:checked{background:var(--c-solid)}.ui-check input[type=checkbox]:checked{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8.5l3.2 3.2L13 5'/></svg>");background-size:100%}.ui-check input[type=radio]:checked{box-shadow:inset 0 0 0 3.5px var(--ui-field-bg)}.ui-check input:disabled{background:var(--ui-field-bg-disabled);border-color:var(--ui-border);cursor:not-allowed}.ui-check:has(input:disabled){color:var(--ui-fg-subtle);cursor:not-allowed}.ui-switch{display:inline-flex;align-items:center;gap:var(--ui-space-3);cursor:pointer}.ui-switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;flex:none;position:relative;width:2.5rem;height:1.4rem;border-radius:var(--ui-radius-full);background:var(--ui-border-strong);cursor:pointer;transition:background-color var(--ui-duration) var(--ui-ease)}.ui-switch input:after{content:"";position:absolute;top:.2rem;left:.2rem;width:1rem;height:1rem;border-radius:50%;background:#fff;box-shadow:var(--ui-shadow-1);transition:translate var(--ui-duration) var(--ui-ease-out)}.ui-switch input:checked{background:var(--c-solid)}.ui-switch input:checked:after{translate:1.1rem 0}.ui-switch input:disabled{opacity:.5;cursor:not-allowed}.ui-card{display:flex;flex-direction:column;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);overflow:hidden}.ui-card[data-elevation="1"]{box-shadow:var(--ui-shadow-1)}.ui-card[data-elevation="2"]{box-shadow:var(--ui-shadow-2);border-color:transparent}.ui-card[data-elevation="3"]{box-shadow:var(--ui-shadow-3);border-color:transparent}.ui-card[data-interactive]{transition:box-shadow var(--ui-duration) var(--ui-ease),translate var(--ui-duration) var(--ui-ease);cursor:pointer}.ui-card[data-interactive]:hover{box-shadow:var(--ui-shadow-3);translate:0 -2px}.ui-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);padding:var(--ui-space-4) var(--ui-space-5);border-bottom:1px solid var(--ui-border)}.ui-card__title{margin:0;font-size:var(--ui-text-lg);font-weight:620}.ui-card__body{padding:var(--ui-space-5)}.ui-card__body>:last-child{margin-bottom:0}.ui-card__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--ui-space-3);padding:var(--ui-space-4) var(--ui-space-5);border-top:1px solid var(--ui-border);background:var(--ui-surface-2)}.ui-stat{display:flex;flex-direction:column;gap:var(--ui-space-1)}.ui-stat__label{font-size:var(--ui-text-sm);color:var(--ui-fg-muted)}.ui-stat__value{font-size:var(--ui-text-3xl);font-weight:640;line-height:1.1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}.ui-stat__delta{font-size:var(--ui-text-sm);color:var(--c-fg)}.ui-badge,.ui-stat__delta{display:inline-flex;align-items:center;gap:var(--ui-space-1);font-weight:600}.ui-badge{padding:0 var(--ui-space-2);min-height:1.375rem;font-size:var(--ui-text-xs);line-height:1;border-radius:var(--ui-radius-full);background:var(--c-solid);color:var(--c-on-solid)}.ui-badge[data-variant=soft]{background:var(--c-soft-bg);color:var(--c-fg)}.ui-badge[data-variant=outline]{background:transparent;color:var(--c-fg);box-shadow:inset 0 0 0 1px var(--c-line)}.ui-badge[data-dot]:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.ui-tag{display:inline-flex;align-items:center;gap:var(--ui-space-2);padding:var(--ui-space-1) var(--ui-space-3);font-size:var(--ui-text-sm);line-height:1.3;border-radius:var(--ui-radius-sm);background:var(--c-soft-bg);color:var(--c-fg);border:1px solid var(--c-line)}.ui-tag__close{display:inline-grid;place-items:center;width:1rem;height:1rem;border:0;border-radius:50%;background:transparent;color:inherit;font-size:.9em;line-height:1;cursor:pointer;opacity:.6}.ui-tag__close:hover{opacity:1;background:var(--c-soft-bg-hover)}.ui-alert{display:flex;gap:var(--ui-space-3);padding:var(--ui-space-4);border-radius:var(--ui-radius-md);background:var(--c-soft-bg);border:1px solid var(--c-line);border-left-width:3px;color:var(--ui-fg)}.ui-alert__icon{flex:none;width:1.25rem;height:1.25rem;color:var(--c-fg)}.ui-alert__title{font-weight:620;margin-bottom:var(--ui-space-1)}.ui-alert__text{color:var(--ui-fg-muted);font-size:var(--ui-text-md)}.ui-alert__text>:last-child{margin-bottom:0}.ui-alert[data-variant=solid]{background:var(--c-solid);border-color:transparent;color:var(--c-on-solid)}.ui-alert[data-variant=solid] :is(.ui-alert__icon,.ui-alert__text){color:inherit;opacity:.92}.ui-table-wrap{border:1px solid var(--ui-border);border-radius:var(--ui-radius-lg);background:var(--ui-surface);overflow:auto}.ui-table{width:100%;border-collapse:collapse;font-size:var(--ui-text-md)}.ui-table td,.ui-table th{padding:var(--ui-space-3) var(--ui-space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--ui-border)}.ui-table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:var(--ui-surface-2);font-size:var(--ui-text-sm);font-weight:620;color:var(--ui-fg-muted);white-space:nowrap}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr{transition:background-color var(--ui-duration-fast) var(--ui-ease)}.ui-table[data-hover] tbody tr:hover,.ui-table[data-striped] tbody tr:nth-child(2n){background:var(--ui-surface-2)}.ui-table[data-density=compact] :is(th,td){padding:var(--ui-space-2) var(--ui-space-3);font-size:var(--ui-text-sm)}.ui-table [data-numeric]{text-align:right;font-variant-numeric:tabular-nums}.ui-table tfoot td{background:var(--ui-surface-2);font-weight:620}.ui-tabs{display:flex;gap:var(--ui-space-1);border-bottom:1px solid var(--ui-border)}.ui-tab{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:var(--ui-space-3) var(--ui-space-4);font:inherit;font-weight:550;color:var(--ui-fg-muted);cursor:pointer;border-radius:var(--ui-radius-sm) var(--ui-radius-sm) 0 0;transition:color var(--ui-duration) var(--ui-ease),background-color var(--ui-duration) var(--ui-ease)}.ui-tab:hover{color:var(--ui-fg);background:var(--ui-surface-2)}.ui-tab[aria-selected=true]{color:var(--c-fg)}.ui-tab[aria-selected=true]:after{content:"";position:absolute;inset-inline:var(--ui-space-2);bottom:-1px;height:2px;border-radius:2px;background:var(--c-solid)}.ui-tabs[data-variant=pills]{border-bottom:0;gap:var(--ui-space-2)}.ui-tabs[data-variant=pills] .ui-tab{border-radius:var(--ui-radius-full)}.ui-tabs[data-variant=pills] .ui-tab[aria-selected=true]{background:var(--c-soft-bg);color:var(--c-fg)}.ui-tabs[data-variant=pills] .ui-tab:after{display:none}.ui-menu{position:relative;display:inline-block}.ui-menu>summary{list-style:none;cursor:pointer}.ui-menu>summary::-webkit-details-marker{display:none}.ui-menu__list{position:absolute;z-index:var(--ui-z-dropdown);inset-inline-start:0;top:calc(100% + var(--ui-space-2));min-width:12rem;padding:var(--ui-space-2);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-3);animation:ui-pop var(--ui-duration) var(--ui-ease-out)}@keyframes ui-pop{0%{opacity:0;translate:0 -4px;scale:.98}}.ui-menu__item{display:flex;align-items:center;gap:var(--ui-space-3);width:100%;padding:var(--ui-space-2) var(--ui-space-3);border:0;border-radius:var(--ui-radius-sm);background:transparent;font:inherit;color:var(--ui-fg);text-align:left;text-decoration:none;cursor:pointer}.ui-menu__item:hover{background:var(--ui-surface-3)}.ui-menu__item[data-danger]{color:var(--ui-red-600)}[data-theme=dark] .ui-menu__item[data-danger]{color:var(--ui-red-400)}.ui-menu__sep{height:1px;margin:var(--ui-space-2) 0;background:var(--ui-border)}.ui-dialog{width:min(32rem,calc(100vw - 2rem));padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius-xl);background:var(--ui-surface);color:var(--ui-fg);box-shadow:var(--ui-shadow-4)}.ui-dialog::-webkit-backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog[open]{animation:ui-dialog-in var(--ui-duration-slow) var(--ui-ease-out)}@keyframes ui-dialog-in{0%{opacity:0;translate:0 8px;scale:.97}}.ui-dialog__header{padding:var(--ui-space-5) var(--ui-space-5) 0}.ui-dialog__title{margin:0;font-size:var(--ui-text-xl)}.ui-dialog__body{padding:var(--ui-space-4) var(--ui-space-5);color:var(--ui-fg-muted)}.ui-dialog__body>:last-child{margin-bottom:0}.ui-dialog__footer{display:flex;justify-content:flex-end;gap:var(--ui-space-3);padding:var(--ui-space-4) var(--ui-space-5);border-top:1px solid var(--ui-border);background:var(--ui-surface-2)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;z-index:var(--ui-z-dropdown);bottom:calc(100% + var(--ui-space-2));left:50%;translate:-50% 0;padding:var(--ui-space-1) var(--ui-space-3);font-size:var(--ui-text-xs);font-weight:500;white-space:nowrap;background:var(--ui-gray-900);color:#fff;border-radius:var(--ui-radius-sm);box-shadow:var(--ui-shadow-2);opacity:0;pointer-events:none;transition:opacity var(--ui-duration) var(--ui-ease),translate var(--ui-duration) var(--ui-ease)}[data-theme=dark] [data-tip]:after{background:var(--ui-gray-700)}[data-tip]:focus-visible:after,[data-tip]:hover:after{opacity:1;translate:-50% -2px}.ui-progress{height:.5rem;border-radius:var(--ui-radius-full);background:var(--ui-surface-3);overflow:hidden}.ui-progress__bar{height:100%;width:var(--ui-value,0%);background:var(--c-solid);border-radius:inherit;transition:width var(--ui-duration-slow) var(--ui-ease-out)}.ui-progress[data-size=lg]{height:.75rem}.ui-progress[data-indeterminate] .ui-progress__bar{width:35%;animation:ui-indeterminate 1.4s var(--ui-ease) infinite}@keyframes ui-indeterminate{0%{margin-left:-35%}to{margin-left:100%}}.ui-spinner{display:inline-block;width:var(--ui-size,1.25rem);height:var(--ui-size,1.25rem);border:2px solid var(--c-soft-bg-hover);border-top-color:var(--c-solid);border-radius:50%;animation:ui-spin .7s linear infinite}.ui-skeleton{border-radius:var(--ui-radius-sm);background:linear-gradient(90deg,var(--ui-surface-3) 25%,var(--ui-surface-2) 37%,var(--ui-surface-3) 63%);background-size:400% 100%;animation:ui-shimmer 1.4s ease infinite}@keyframes ui-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.ui-skeleton[data-line]{height:.75rem;margin-bottom:var(--ui-space-2)}.ui-skeleton[data-circle]{border-radius:50%}.ui-avatar{display:inline-grid;place-items:center;flex:none;width:var(--ui-size,2.5rem);height:var(--ui-size,2.5rem);border-radius:var(--ui-radius-full);overflow:hidden;background:var(--c-soft-bg);color:var(--c-fg);font-size:var(--ui-text-md);font-weight:620;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-avatar img{width:100%;height:100%;object-fit:cover}.ui-avatar[data-size=sm]{--ui-size:2rem;font-size:var(--ui-text-sm)}.ui-avatar[data-size=lg]{--ui-size:3.25rem;font-size:var(--ui-text-lg)}.ui-avatar-group{display:flex}.ui-avatar-group .ui-avatar{margin-inline-start:-.6rem;box-shadow:0 0 0 2px var(--ui-surface)}.ui-avatar-group .ui-avatar:first-child{margin-inline-start:0}.ui-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-space-2);font-size:var(--ui-text-md);color:var(--ui-fg-muted)}.ui-breadcrumb a{color:inherit;text-decoration:none}.ui-breadcrumb a:hover{color:var(--c-fg);text-decoration:underline}.ui-breadcrumb li+li:before{content:"/";margin-inline-end:var(--ui-space-2);color:var(--ui-fg-subtle)}.ui-breadcrumb li,.ui-breadcrumb ol{display:flex;align-items:center;gap:var(--ui-space-2);list-style:none;margin:0;padding:0}.ui-breadcrumb [aria-current=page]{color:var(--ui-fg);font-weight:550}.ui-pagination{display:flex;align-items:center;gap:var(--ui-space-1)}.ui-page-btn{min-width:2rem;height:2rem;padding:0 var(--ui-space-2);display:inline-grid;place-items:center;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);background:var(--ui-surface);color:var(--ui-fg);font:inherit;font-size:var(--ui-text-sm);font-variant-numeric:tabular-nums;cursor:pointer;transition:all var(--ui-duration-fast) var(--ui-ease)}.ui-page-btn:hover{border-color:var(--c-solid);color:var(--c-fg)}.ui-page-btn[aria-current=page]{background:var(--c-solid);border-color:var(--c-solid);color:var(--c-on-solid)}.ui-page-btn:disabled{opacity:.4;pointer-events:none}.ui-empty{display:grid;justify-items:center;gap:var(--ui-space-3);padding:var(--ui-space-10) var(--ui-space-5);text-align:center}.ui-empty__art{width:3rem;height:3rem;color:var(--ui-fg-subtle)}.ui-empty__title{font-weight:620}.ui-empty__text{color:var(--ui-fg-muted);max-width:42ch;margin:0}.ui-desc{display:grid;grid-template-columns:-webkit-max-content 1fr;grid-template-columns:max-content 1fr;gap:var(--ui-space-3) var(--ui-space-5);margin:0}.ui-desc dt{color:var(--ui-fg-muted);font-size:var(--ui-text-md)}.ui-desc dd{margin:0;font-weight:550}.ui-kbd{display:inline-block;padding:.1rem .4rem;font-size:var(--ui-text-xs);background:var(--ui-surface-2);border:1px solid var(--ui-border-strong);border-bottom-width:2px;border-radius:var(--ui-radius-xs);color:var(--ui-fg-muted)}.ui-code,.ui-kbd{font-family:var(--ui-font-mono)}.ui-code{font-size:.9em;background:var(--ui-surface-3);padding:.1rem .35rem;border-radius:var(--ui-radius-xs)}.ui-num{font-variant-numeric:tabular-nums}.sok-page{font-family:var(--ui-font);font-size:0.875rem;color:var(--ui-fg);background:var(--ui-canvas);min-height:0;display:flex;flex-direction:column}.sok-page__bar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border);flex-wrap:wrap}.sok-page__bar .ui-tabs{gap:4px}.sok-page__bar .ui-tab{padding:5px 10px;font-size:0.8125rem;display:inline-flex;align-items:center;gap:6px}.sok-page__search{width:280px;--_h:2rem}.sok-page__body{flex:1;overflow:auto;padding:12px}.sok-page .ui-table-wrap{background:var(--ui-surface)}.sok-page .ui-table tbody tr{cursor:pointer}.sok-dialog{width:100%;font-family:var(--ui-font);font-size:0.875rem;color:var(--ui-fg);padding:0}.sok-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0}.sok-dialog__title{margin:0;font-size:1.125rem;font-weight:650;letter-spacing:-0.01em}.sok-dialog__body{padding:12px 16px 16px}.sok-dialog__footer{display:flex;justify-content:flex-end;gap:8px;padding:0 16px 16px}.sok-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.sok-form .full{grid-column:1/-1}.sok-form .ui-label{display:block;margin-bottom:4px;font-size:0.75rem;color:var(--ui-fg-muted)}.sok-form .ui-input,.sok-form .ui-select select,.sok-form .ui-textarea{width:100%;--_h:2.25rem;font-size:0.875rem}.loading-overlay{width:100vw;height:100vh;background-color:#fff;display:flex;justify-content:center;align-items:center;text-align:center}.loading-overlay__container{display:flex;flex-direction:column;align-items:center}.loading-overlay__caption{padding-top:2rem;font-size:1rem;font-weight:400;letter-spacing:1px;color:var(--q-color-primary)}.fade-enter-active,.fade-leave-active{transition:opacity 0.5s}.fade-enter,.fade-leave-to{opacity:0}