@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-opsz-normal.CfYZpDVp.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(./inter-cyrillic-opsz-normal.BFQXbQ-f.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(./inter-greek-ext-opsz-normal.BmPQvyvo.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(./inter-greek-opsz-normal.BM0NlUE_.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(./inter-vietnamese-opsz-normal.Ci9T9ieq.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(./inter-latin-ext-opsz-normal.DpK-iCPk.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(./inter-latin-opsz-normal.BwkfbSeq.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:Inter Fallback;src:local(Arial),local(Helvetica Neue),local(Helvetica);ascent-override:90.49%;descent-override:22.56%;line-gap-override:0%;size-adjust:107.06%}:root{--bg:#f5f6fa;--surface:#fff;--surface-2:#f8f9fc;--border:#e5e7ef;--border-strong:#d4d7e2;--text:#0f172a;--text-2:#334155;--muted:#64748b;--faint:#94a3b8;--primary:#4f46e5;--primary-600:#4338ca;--primary-50:#eef2ff;--primary-100:#e0e7ff;--success:#059669;--success-50:#ecfdf5;--warning:#d97706;--warning-50:#fffbeb;--danger:#dc2626;--danger-50:#fef2f2;--info:#0284c7;--info-50:#f0f9ff;--sidebar:#fbfbfd;--sidebar-line:#e5e7ef;--sidebar-text:#475467;--sidebar-icon:#8a94a6;--sidebar-heading:#98a2b3;--sidebar-hover:#f1f3f7;--sidebar-active:#fff;--sidebar-active-text:#0b2545;--sidebar-accent:#0056b9;--radius-sm:6px;--radius:10px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0d;--shadow:0 1px 3px #0f172a0f, 0 4px 12px #0f172a0a;--shadow-lg:0 12px 40px #0f172a29;--ring:0 0 0 3px #4f46e52e;--font:"Inter Variable", "Inter Fallback", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--font-features:"cv05" 1, "cv11" 1, "ss03" 1;--sidebar-w:252px;--sidebar-rail-w:72px;--topbar-h:60px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:14px/1.55 var(--font);font-feature-settings:var(--font-features);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-kerning:normal;margin:0}h1,h2,h3,h4{letter-spacing:-.011em;text-wrap:balance;margin:0;font-weight:650;line-height:1.25}h1{letter-spacing:-.021em;font-size:22px}h2{letter-spacing:-.015em;font-size:17px}h3{font-size:15px}p{text-wrap:pretty;margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;font-feature-settings:inherit;color:inherit}::placeholder{color:var(--faint);opacity:1}img,svg{display:block}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-100)}.stack{gap:var(--gap,16px);flex-direction:column;display:flex}.row{align-items:center;gap:var(--gap,12px);display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:auto;min-width:0}.grid{gap:var(--gap,16px);display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1100px){.cols-4,.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12.5px}.tiny{font-size:11.5px}.mono{font-family:var(--mono);font-feature-settings:normal;font-size:12.5px}.num{font-variant-numeric:tabular-nums}.strong{font-weight:600}.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}.nowrap{white-space:nowrap}.right{text-align:right}.page{max-width:1400px;margin:0 auto;padding:24px 28px 48px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{color:var(--muted);margin-top:4px}@media (max-width:640px){.page{padding:16px 14px calc(40px + var(--dock-h,0px))}.page-head:not(.keep-title) h1,.page .head>h1{display:none}.page-head:not(.keep-title)>div:has(>h1:only-child){display:none}.page-head:not(.keep-title):has(>div:only-child>h1:only-child){display:none}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-head h2,.card-head h3{font-size:15px}.card-body{padding:20px}.btn{--b-bg:var(--surface);--b-fg:var(--text-2);--b-bd:var(--border-strong);border-radius:var(--radius);background:var(--b-bg);height:38px;color:var(--b-fg);border:1px solid var(--b-bd);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13.5px;font-weight:550;transition:background .12s,border-color .12s,box-shadow .12s,transform 50ms;display:inline-flex;text-decoration:none!important}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--faint)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{--b-bg:var(--primary);--b-fg:#fff;--b-bd:var(--primary)}.btn.primary:hover:not(:disabled){background:var(--primary-600);border-color:var(--primary-600)}.btn.danger{--b-bg:var(--danger);--b-fg:#fff;--b-bd:var(--danger)}.btn.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.btn.ghost{--b-bg:transparent;--b-bd:transparent}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:#0000}.btn.soft{--b-bg:var(--primary-50);--b-fg:var(--primary);--b-bd:transparent}.btn.soft:hover:not(:disabled){background:var(--primary-100);border-color:#0000}.btn.sm{border-radius:8px;height:32px;padding:0 10px;font-size:12.5px}.btn.lg{height:44px;padding:0 18px;font-size:15px}.btn.block{width:100%}.btn.icon{width:36px;padding:0}.btn.icon.sm{width:30px}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.label{color:var(--text-2);font-size:12.5px;font-weight:600}.label .req{color:var(--danger);margin-left:2px}.hint{color:var(--muted);font-size:12px}.error-text{color:var(--danger);font-size:12px}.input,.select,.textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);outline:none;width:100%;height:40px;padding:0 12px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;min-height:90px;padding:10px 12px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary);box-shadow:var(--ring)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.invalid .input,.invalid .select,.invalid .textarea,.input.invalid{border-color:var(--danger)}.invalid .input:focus{box-shadow:0 0 0 3px #dc262626}.input-group{align-items:stretch;display:flex}.input-group .addon{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius) 0 0 var(--radius);color:var(--muted);border-right:0;align-items:center;padding:0 12px;font-weight:550;display:flex}.input-group .input{border-radius:0 var(--radius) var(--radius) 0}.input-group{min-width:0}.input-group .addon{flex:none}.input-group .input{flex:1;min-width:0}.checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}@media (hover:none) and (pointer:coarse){.input,.select,.textarea{font-size:16px}.checkbox{width:18px;height:18px}}button,a,label,summary{-webkit-tap-highlight-color:transparent}.badge{background:var(--surface-2);height:22px;color:var(--text-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:0 8px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.primary{background:var(--primary-50);color:var(--primary);border-color:var(--primary-100)}.badge.success{background:var(--success-50);color:var(--success);border-color:#a7f3d0}.badge.warning{background:var(--warning-50);color:var(--warning);border-color:#fde68a}.badge.danger{background:var(--danger-50);color:var(--danger);border-color:#fecaca}.badge.info{background:var(--info-50);color:var(--info);border-color:#bae6fd}.badge.dark{color:#fff;background:#0f172a;border-color:#0f172a}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.table-wrap{overflow:auto hidden}.table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 16px;font-size:11.5px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:#fafbff}.table tr.clickable{cursor:pointer}.table tr[draggable=true]{cursor:grab}.table tr.dragging{opacity:.45}.table tr.drop-over td{background:var(--primary-50);box-shadow:inset 0 2px 0 var(--primary)}.divider{background:var(--border);border:0;height:1px;margin:0}.kbd{font-family:var(--mono);font-feature-settings:normal;border:1px solid var(--border-strong);background:var(--surface);border-bottom-width:2px;border-radius:5px;padding:1px 6px;font-size:11px}.alert{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.alert.info{background:var(--info-50);color:#075985;border-color:#bae6fd}.alert.warning{background:var(--warning-50);color:#92400e;border-color:#fde68a}.alert.danger{background:var(--danger-50);color:#991b1b;border-color:#fecaca}.alert.success{background:var(--success-50);color:#065f46;border-color:#a7f3d0}.skeleton{background:linear-gradient(90deg,#eef0f5 25%,#f6f7fb 37%,#eef0f5 63%) 0 0/400% 100%;border-radius:8px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:100%}to{background-position:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{body{background:#fff}.no-print,.shell>aside,.topbar,.toasts,.support{display:none!important}.shell{display:block!important}.page{max-width:none!important;padding:0!important}}.wa{--wa-head:#008069;--wa-head-2:#017561;--wa-accent:#00a884;--wa-bg:#efeae2;--wa-out:#d9fdd3;--wa-in:#fff;--wa-note:#fff4c2;--wa-note-bd:#f5d97a;--wa-meta:#667781;--wa-tick:#53bdeb;--wa-chip:#ffffffe6;--wa-panel:#f0f2f5;--wa-line:#e9edef;--wa-text:#111b21;--wa-unread:#25d366;--wa-wallpaper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' fill='none' stroke='%23d9d2c5' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 18h14v10H14zM20 28v4M60 12a6 6 0 1 1 0 12 6 6 0 0 1 0-12zM96 14l6 10H90zM18 66c4-6 10-6 14 0s10 6 14 0M70 58h12l-6 10zM98 66a5 5 0 1 0 10 0 5 5 0 1 0-10 0M12 104l8-8 8 8M58 100h16M66 92v16M96 98l10 10M106 98 96 108'/%3E%3C/svg%3E")}.wa-wall{background-color:var(--wa-bg);background-image:var(--wa-wallpaper);background-size:240px 240px}.msg.svelte-1647mfa{white-space:pre-line}.toasts.svelte-1647mfa{right:16px;bottom:calc(16px + var(--toast-lift,0px) + var(--dock-h,0px));z-index:80;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);display:flex;position:fixed}.toast.svelte-1647mfa{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--info);border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;animation:.18s pop-in;display:flex}.toast.success.svelte-1647mfa{border-left-color:var(--success);color:var(--success)}.toast.error.svelte-1647mfa{border-left-color:var(--danger);color:var(--danger)}.toast.warning.svelte-1647mfa{border-left-color:var(--warning);color:var(--warning)}.toast.info.svelte-1647mfa{color:var(--info)}.toast.svelte-1647mfa .strong:where(.svelte-1647mfa){color:var(--text)}.nav-progress.svelte-12qhfyh{z-index:100;background:linear-gradient(90deg, transparent, var(--primary), transparent);background-size:50% 100%;width:100%;height:2px;animation:.9s linear infinite svelte-12qhfyh-bar;position:fixed;top:0;left:0}@keyframes svelte-12qhfyh-bar{0%{background-position:-50% 0}to{background-position:150% 0}}
