@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Lao Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/noto-sans-lao-lao-wght-normal-C_K-dgyN.woff2)format("woff2-variations");unicode-range:U+E81-EDF,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Lao Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/noto-sans-lao-latin-ext-wght-normal-DhjvDJcw.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Lao Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/crux/assets/noto-sans-lao-latin-wght-normal-4L1CRwqI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Inter Variable", "Noto Sans Lao Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e7eaef;--border:#e1e5eb;--border-strong:#cdd3dc;--text:#121821;--text-2:#4a5463;--text-3:#7b8594;--primary:#1f5fd1;--primary-hover:#194fb0;--primary-soft:#e8effc;--primary-soft-text:#1a4fb0;--on-primary:#fff;--success:#157a3d;--success-soft:#e5f5eb;--warning:#a65a06;--warning-soft:#fdf1df;--danger:#c42b2b;--danger-soft:#fdeaea;--danger-hover:#a82222;--info:#0e6e8c;--info-soft:#e2f3f8;--focus:0 0 0 3px color-mix(in srgb, var(--primary) 30%, transparent);--shadow-sm:0 1px 2px #1018280f;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 12px 32px -8px #1018282e, 0 4px 8px -4px #10182814;--overlay:#0f141c73;--radius-sm:6px;--radius:10px;--radius-lg:14px;--sidebar-w:248px;--topbar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1117;--surface:#151a22;--surface-2:#1b212b;--surface-3:#232a36;--border:#262e3a;--border-strong:#354050;--text:#e7eaef;--text-2:#aab2bf;--text-3:#7e8897;--primary:#5b8ff0;--primary-hover:#7aa5f4;--primary-soft:#1a2a47;--primary-soft-text:#9dbcf7;--on-primary:#0b1220;--success:#4cc27a;--success-soft:#12301f;--warning:#e3a347;--warning-soft:#33250f;--danger:#f06a6a;--danger-soft:#3a1717;--danger-hover:#f48a8a;--info:#4fb7d6;--info-soft:#102c36;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #00000073;--shadow-lg:0 16px 40px -8px #0009;--overlay:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0d1117;--surface:#151a22;--surface-2:#1b212b;--surface-3:#232a36;--border:#262e3a;--border-strong:#354050;--text:#e7eaef;--text-2:#aab2bf;--text-3:#7e8897;--primary:#5b8ff0;--primary-hover:#7aa5f4;--primary-soft:#1a2a47;--primary-soft-text:#9dbcf7;--on-primary:#0b1220;--success:#4cc27a;--success-soft:#12301f;--warning:#e3a347;--warning-soft:#33250f;--danger:#f06a6a;--danger-soft:#3a1717;--danger-hover:#f48a8a;--info:#4fb7d6;--info-soft:#102c36;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #00000073;--shadow-lg:0 16px 40px -8px #0009;--overlay:#0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;line-height:1.55}html[lang=lo] body{line-height:1.7}html[lang=lo] :not(.mono){letter-spacing:0!important}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:650;line-height:1.3}h1{font-size:22px}h2{font-size:16px}h3{font-size:14px}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.92em}:focus-visible{box-shadow:var(--focus);outline:none}::selection{background:color-mix(in srgb, var(--primary) 25%, transparent)}svg.lucide{flex-shrink:0}.page{max-width:1440px;margin:0 auto;padding:24px 28px 48px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-header .subtitle{color:var(--text-2);margin-top:4px}.row{align-items:center;gap:8px;display:flex}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=720px){.page{padding:16px 16px 40px}h1{font-size:19px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:14px 18px;display:flex}.card-body{padding:18px}.btn{--btn-bg:var(--surface);--btn-fg:var(--text);--btn-bd:var(--border-strong);--btn-hover:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--btn-bd);background:var(--btn-bg);height:36px;color:var(--btn-fg);font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-weight:550;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;display:inline-flex;text-decoration:none!important}.btn:hover:not(:disabled){background:var(--btn-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px}.btn-primary{--btn-bg:var(--primary);--btn-fg:var(--on-primary);--btn-bd:var(--primary);--btn-hover:var(--primary-hover)}.btn-danger{--btn-bg:var(--danger);--btn-fg:#fff;--btn-bd:var(--danger);--btn-hover:var(--danger-hover)}.btn-soft{--btn-bg:var(--primary-soft);--btn-fg:var(--primary-soft-text);--btn-bd:transparent;--btn-hover:color-mix(in srgb, var(--primary-soft) 70%, var(--primary) 12%)}.btn-ghost{--btn-bg:transparent;--btn-bd:transparent;--btn-fg:var(--text-2);--btn-hover:var(--surface-2)}.btn-sm{height:30px;padding:0 10px;font-size:13px}.btn-lg{height:42px;padding:0 18px;font-size:15px}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.btn-block{width:100%}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.label{color:var(--text-2);font-size:12.5px;font-weight:600}.field .hint{color:var(--text-3);font-size:12px}.field .error{color:var(--danger);font-size:12px}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);width:100%;height:36px;color:var(--text);font:inherit;padding:0 11px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;padding:9px 11px}.input::placeholder{color:var(--text-3)}.input:hover,.select:hover{border-color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--focus);outline:none}.input.invalid{border-color:var(--danger)}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237b8594' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:32px}.input-group{align-items:center;display:flex;position:relative}.input-group>svg{width:16px;height:16px;color:var(--text-3);pointer-events:none;position:absolute;left:11px}.input-group>.input{padding-left:34px}.input-group>.input-action{position:absolute;right:4px}.checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full{grid-column:1/-1}@media (width<=600px){.form-grid{grid-template-columns:1fr}}.badge{white-space:nowrap;background:var(--surface-3);height:22px;color:var(--text-2);border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.badge svg{width:12px;height:12px}.badge-dot:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-primary{background:var(--primary-soft);color:var(--primary-soft-text)}.count-pill{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:700;display:inline-flex}.count-pill.neutral{background:var(--surface-3);color:var(--text-2)}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.tab{color:var(--text-2);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 12px;font-weight:550;display:inline-flex}.tab svg{width:16px;height:16px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.skeleton{background:linear-gradient(90deg, var(--surface-2) 0%, var(--surface-3) 50%, var(--surface-2) 100%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.3s linear infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dl{grid-template-columns:minmax(120px,34%) 1fr;gap:0;margin:0;display:grid}.dl dt,.dl dd{border-bottom:1px solid var(--border);min-width:0;margin:0;padding:9px 0}.dl dt{color:var(--text-2);padding-right:12px;font-size:13px}.dl dd{overflow-wrap:anywhere}.dl>:nth-last-child(-n+2){border-bottom:0}.alert{border-radius:var(--radius);background:var(--info-soft);color:var(--text);border:1px solid color-mix(in srgb, var(--info) 25%, transparent);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.alert svg{width:18px;height:18px;color:var(--info);margin-top:1px}.alert-danger{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 25%, transparent)}.alert-danger svg{color:var(--danger)}.alert-warning{background:var(--warning-soft);border-color:color-mix(in srgb, var(--warning) 25%, transparent)}.alert-warning svg{color:var(--warning)}.shell[data-v-5d45e608]{min-height:100vh}.sidebar[data-v-5d45e608]{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);z-index:40;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand[data-v-5d45e608]{height:var(--topbar-h);color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:0 18px;display:flex;text-decoration:none!important}.brand span[data-v-5d45e608]{flex-direction:column;line-height:1.2;display:flex}.brand strong[data-v-5d45e608]{letter-spacing:-.01em;font-size:15px}.brand small[data-v-5d45e608]{color:var(--text-3);font-size:11.5px}.nav[data-v-5d45e608]{flex:1;padding:8px 10px 16px;overflow-y:auto}.nav-group[data-v-5d45e608]{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:16px 10px 6px;font-size:11px;font-weight:650}.nav-item[data-v-5d45e608]{border-radius:var(--radius-sm);height:36px;color:var(--text-2);align-items:center;gap:10px;padding:0 10px;font-weight:550;display:flex;text-decoration:none!important}.nav-item svg[data-v-5d45e608]{width:18px;height:18px}.nav-item span[data-v-5d45e608]:not(.count-pill){flex:1}.nav-item[data-v-5d45e608]:hover{background:var(--surface-2);color:var(--text)}.nav-item.router-link-active[data-v-5d45e608]{background:var(--primary-soft);color:var(--primary-soft-text)}.sidebar-foot[data-v-5d45e608]{border-top:1px solid var(--border);align-items:center;gap:4px;padding:10px;display:flex}.me[data-v-5d45e608]{border-radius:var(--radius-sm);min-width:0;color:var(--text);flex:1;align-items:center;gap:10px;padding:6px 8px;display:flex;text-decoration:none!important}.me[data-v-5d45e608]:hover{background:var(--surface-2)}.me-text[data-v-5d45e608]{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.me-text small[data-v-5d45e608]{color:var(--text-3);font-size:11.5px}.me-icon[data-v-5d45e608]{width:16px;height:16px;color:var(--text-3)}.avatar[data-v-5d45e608]{background:var(--primary-soft);width:32px;height:32px;color:var(--primary-soft-text);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.main[data-v-5d45e608]{margin-left:var(--sidebar-w);flex-direction:column;min-height:100vh;display:flex}.topbar[data-v-5d45e608]{z-index:30;height:var(--topbar-h);background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:0 20px 0 28px;display:flex;position:sticky;top:0}.topbar-title[data-v-5d45e608]{color:var(--text-2);font-weight:600}.menu-btn[data-v-5d45e608]{display:none}.seg[data-v-5d45e608]{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:3px;display:inline-flex}.seg button[data-v-5d45e608]{color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;height:26px;padding:0 10px;font-size:12.5px;font-weight:600}.seg button[aria-pressed=true][data-v-5d45e608]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.scrim[data-v-5d45e608]{display:none}@media (width<=960px){.sidebar[data-v-5d45e608]{box-shadow:var(--shadow-lg);transition:transform .2s;transform:translate(-100%)}.nav-open .sidebar[data-v-5d45e608]{transform:none}.nav-open .scrim[data-v-5d45e608]{background:var(--overlay);z-index:35;display:block;position:fixed;inset:0}.main[data-v-5d45e608]{margin-left:0}.menu-btn[data-v-5d45e608]{display:inline-flex}.topbar[data-v-5d45e608]{padding:0 12px}}.toasts[data-v-49866a47]{z-index:200;flex-direction:column;gap:8px;width:min(400px,100vw - 32px);display:flex;position:fixed;bottom:20px;right:20px}.toast[data-v-49866a47]{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--info);border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 8px 12px 14px;display:flex}.toast>svg[data-v-49866a47]{width:18px;height:18px;color:var(--info);margin-top:2px}.toast-success[data-v-49866a47]{border-left-color:var(--success)}.toast-success>svg[data-v-49866a47]{color:var(--success)}.toast-error[data-v-49866a47]{border-left-color:var(--danger)}.toast-error>svg[data-v-49866a47]{color:var(--danger)}.msg[data-v-49866a47]{overflow-wrap:anywhere;flex:1;padding-top:1px}.toast-enter-active[data-v-49866a47],.toast-leave-active[data-v-49866a47]{transition:all .2s}.toast-enter-from[data-v-49866a47],.toast-leave-to[data-v-49866a47]{opacity:0;transform:translateY(8px)}@media (width<=520px){.toasts[data-v-49866a47]{bottom:16px;right:16px}}
