@charset "UTF-8";.d-avatar[data-v-62436f79]{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex:none;color:#fff;font-weight:600;-webkit-user-select:none;user-select:none;vertical-align:middle}img[data-v-62436f79]{width:100%;height:100%;object-fit:cover;display:block}.ph[data-v-62436f79]{line-height:1}.d-icon[data-v-3559b3cb]{flex:none;display:block}.d-btn[data-v-86bc57ea]{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;white-space:nowrap;transition:background .15s,color .15s,opacity .15s,transform .06s;-webkit-user-select:none;user-select:none;line-height:1}.d-btn.block[data-v-86bc57ea]{width:100%}.d-btn[data-v-86bc57ea]:active:not(.is-disabled){transform:translateY(1px)}.d-btn.is-disabled[data-v-86bc57ea],.d-btn[data-v-86bc57ea]:disabled{opacity:.5;cursor:not-allowed}.s-sm[data-v-86bc57ea]{height:30px;padding:0 10px;font-size:13px}.s-md[data-v-86bc57ea]{height:36px;padding:0 14px;font-size:14px}.s-lg[data-v-86bc57ea]{height:44px;padding:0 20px;font-size:15px}.v-primary[data-v-86bc57ea]{background:var(--accent);color:#fff}.v-primary[data-v-86bc57ea]:hover:not(.is-disabled){background:var(--accent-hover)}.v-secondary[data-v-86bc57ea]{background:var(--elevated);color:var(--text);border:1px solid var(--border)}.v-secondary[data-v-86bc57ea]:hover:not(.is-disabled){background:var(--hover)}.v-success[data-v-86bc57ea]{background:var(--green);color:#fff}.v-success[data-v-86bc57ea]:hover:not(.is-disabled){filter:brightness(1.08)}.v-danger[data-v-86bc57ea]{background:var(--red);color:#fff}.v-danger[data-v-86bc57ea]:hover:not(.is-disabled){filter:brightness(1.08)}.v-ghost[data-v-86bc57ea]{background:transparent;color:var(--text-muted)}.v-ghost[data-v-86bc57ea]:hover:not(.is-disabled){background:var(--hover);color:var(--text)}.v-link[data-v-86bc57ea]{background:transparent;color:var(--accent);padding:0 2px;height:auto}.v-link[data-v-86bc57ea]:hover:not(.is-disabled){text-decoration:underline}.label[data-v-86bc57ea]{display:inline-block}.spin[data-v-86bc57ea]{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-86bc57ea .7s linear infinite}.v-secondary .spin[data-v-86bc57ea],.v-ghost .spin[data-v-86bc57ea],.v-link .spin[data-v-86bc57ea]{border-color:var(--border);border-top-color:var(--text)}@keyframes spin-86bc57ea{to{transform:rotate(360deg)}}.d-chart[data-v-dd73e85c]{position:relative;width:100%}.cv-svg[data-v-dd73e85c]{width:100%;height:100%;display:block;direction:ltr}.grid[data-v-dd73e85c]{stroke:var(--border-soft);stroke-width:1}.guide[data-v-dd73e85c]{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.ax[data-v-dd73e85c]{fill:var(--text-dim);font-size:11px;font-family:var(--font)}.tip[data-v-dd73e85c]{position:absolute;top:4px;transform:translate(-50%);background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:7px 9px;font-size:12px;pointer-events:none;min-width:110px;z-index:5}[dir=rtl] .tip[data-v-dd73e85c]{transform:translate(50%)}.tip-t[data-v-dd73e85c]{color:var(--text-dim);margin-bottom:4px;font-size:11px}.tip-r[data-v-dd73e85c]{display:flex;align-items:center;gap:6px}.tip-r b[data-v-dd73e85c]{margin-inline-start:auto;color:var(--text)}.tip-r i[data-v-dd73e85c],.lg i[data-v-dd73e85c]{width:8px;height:8px;border-radius:2px;flex:none}.lg[data-v-dd73e85c]{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-muted)}.lg li[data-v-dd73e85c]{display:flex;align-items:center;gap:6px}.lg .nm[data-v-dd73e85c]{color:var(--text-muted)}.lg b[data-v-dd73e85c]{color:var(--text)}.d-donut[data-v-dd73e85c]{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut-svg[data-v-dd73e85c]{width:168px;height:168px;flex:none}.cv[data-v-dd73e85c]{fill:var(--text);font-size:20px;font-weight:600;font-family:var(--font)}.cl[data-v-dd73e85c]{fill:var(--text-dim);font-size:10px;font-family:var(--font)}.d-donut .lg[data-v-dd73e85c]{margin:0;flex:1;min-width:160px;flex-direction:column;gap:8px}.d-donut .lg li[data-v-dd73e85c]{width:100%}.d-donut .lg b[data-v-dd73e85c]{margin-inline-start:auto}.empty[data-v-dd73e85c]{list-style:none}.d-confirm[data-v-a760eb2f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}.mask[data-v-a760eb2f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009}.panel[data-v-a760eb2f]{position:relative;width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:18px;animation:rise-a760eb2f .15s ease-out}@keyframes rise-a760eb2f{0%{opacity:0;transform:translateY(10px) scale(.98)}}.top[data-v-a760eb2f]{display:flex;gap:12px;align-items:flex-start}.ic[data-v-a760eb2f]{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.ic.danger[data-v-a760eb2f]{background:var(--red-soft);color:var(--red)}.txt[data-v-a760eb2f]{flex:1;min-width:0}.ttl[data-v-a760eb2f]{margin:0 0 4px;font-size:15px}.desc[data-v-a760eb2f]{margin:0;color:var(--text-muted);font-size:13.5px;line-height:1.6;word-break:break-word;white-space:pre-wrap}.foot[data-v-a760eb2f]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.d-field[data-v-be872981]{display:flex;flex-direction:column;gap:6px;min-width:0}.lab[data-v-be872981]{font-size:12.5px;color:var(--text-muted);font-weight:500;display:flex;align-items:center;gap:4px}.req[data-v-be872981]{color:var(--red);font-style:normal}.hint[data-v-be872981],.err[data-v-be872981]{font-size:11.5px;line-height:1.5}.hint[data-v-be872981]{color:var(--text-dim)}.err[data-v-be872981]{color:var(--red)}.has-error[data-v-be872981] .d-input,.has-error[data-v-be872981] .d-select{border-color:var(--red)}.dz-thumb[data-v-57a2e084]{object-fit:cover;border-radius:var(--radius-sm);background:var(--input);border:1px solid var(--border);flex:none;cursor:zoom-in;transition:border-color .15s}.dz-thumb[data-v-57a2e084]:hover{border-color:var(--accent)}.dz-none[data-v-57a2e084]{color:var(--text-dim)}.dz-panel[data-v-57a2e084]{position:fixed;z-index:4000;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 18px 48px #00000052;pointer-events:none;display:flex;flex-direction:column;gap:6px}.dz-panel img[data-v-57a2e084]{display:block;width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);background:var(--input)}.dz-cap[data-v-57a2e084]{font-size:12px;line-height:1.4;color:var(--text);text-align:center;padding:0 4px 2px;word-break:break-word}.d-input[data-v-ecca638f]{position:relative;display:flex;align-items:center;gap:8px;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;transition:border-color .15s,box-shadow .15s;width:100%}.d-input[data-v-ecca638f]:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.s-sm[data-v-ecca638f]{height:32px}.s-md[data-v-ecca638f]{height:38px}.s-lg[data-v-ecca638f]{height:46px}.is-textarea[data-v-ecca638f]{height:auto;padding:8px 10px;align-items:flex-start}.d-input.disabled[data-v-ecca638f]{opacity:.6;cursor:not-allowed}.ctrl[data-v-ecca638f]{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:var(--text);font-size:14px}.ctrl[data-v-ecca638f]::placeholder{color:var(--text-dim)}.area[data-v-ecca638f]{resize:vertical;line-height:1.6;padding:2px 0;height:auto;font-family:inherit}.lead[data-v-ecca638f]{color:var(--text-dim);flex:none}.clear[data-v-ecca638f]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:var(--text-dim);color:var(--input);cursor:pointer;padding:0}.clear[data-v-ecca638f]:hover{background:var(--text-muted)}input[type=number][data-v-ecca638f]::-webkit-outer-spin-button,input[type=number][data-v-ecca638f]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.d-modal[data-v-08b512c5]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.mask[data-v-08b512c5]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel[data-v-08b512c5]{position:relative;width:100%;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:calc(100vh - 48px);animation:rise-08b512c5 .16s ease-out;border:1px solid var(--border)}@keyframes rise-08b512c5{0%{opacity:0;transform:translateY(12px) scale(.98)}}.head[data-v-08b512c5]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.ttl[data-v-08b512c5]{margin:0;font-size:16px;font-weight:600}.x[data-v-08b512c5]{border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;padding:2px;border-radius:var(--radius-sm)}.x[data-v-08b512c5]:hover{color:var(--text);background:var(--hover)}.body[data-v-08b512c5]{flex:1;overflow-y:auto}.body.pad[data-v-08b512c5]{padding:18px}.foot[data-v-08b512c5]{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 18px;border-top:1px solid var(--border);background:var(--side);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.d-pager[data-v-9ae85ce8]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 2px 2px}.total[data-v-9ae85ce8]{color:var(--text-dim);font-size:12.5px}.ctrl[data-v-9ae85ce8]{display:flex;align-items:center;gap:4px}.pbtn[data-v-9ae85ce8]{min-width:30px;height:30px;padding:0 6px;border:1px solid var(--border);background:var(--elevated);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;transition:all .14s}.pbtn[data-v-9ae85ce8]:hover:not(:disabled){background:var(--hover);color:var(--text)}.pbtn.active[data-v-9ae85ce8]{background:var(--accent);border-color:var(--accent);color:#fff}.pbtn[data-v-9ae85ce8]:disabled{opacity:.45;cursor:default}.pbtn.dots[data-v-9ae85ce8]{border-color:transparent;background:transparent}.lim[data-v-9ae85ce8]{height:30px;margin-inline-start:8px;background:var(--elevated);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 6px;font-size:12.5px;cursor:pointer;outline:none}.lim[data-v-9ae85ce8]:hover{color:var(--text)}.d-select[data-v-1e8503ec]{position:relative;width:100%}.box[data-v-1e8503ec]{display:flex;align-items:center;gap:6px;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 10px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.s-sm .box[data-v-1e8503ec]{height:32px}.s-md .box[data-v-1e8503ec]{height:38px}.s-lg .box[data-v-1e8503ec]{height:46px}.open .box[data-v-1e8503ec],.box[data-v-1e8503ec]:hover{border-color:var(--accent)}.open .box[data-v-1e8503ec]{box-shadow:0 0 0 2px var(--accent-soft)}.disabled .box[data-v-1e8503ec]{opacity:.6;cursor:not-allowed}.value[data-v-1e8503ec]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.ph[data-v-1e8503ec]{flex:1;color:var(--text-dim)}.caret[data-v-1e8503ec]{color:var(--text-dim);flex:none;transition:transform .15s}.open .caret[data-v-1e8503ec]{transform:rotate(180deg)}.clear[data-v-1e8503ec]{flex:none;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:50%;background:var(--text-dim);color:var(--input);cursor:pointer;padding:0}.panel[data-v-1e8503ec]{position:absolute;z-index:60;top:calc(100% + 6px);inset-inline:0;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;animation:pop-1e8503ec .12s ease-out}@keyframes pop-1e8503ec{0%{opacity:0;transform:translateY(-4px)}}.search[data-v-1e8503ec]{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-dim)}.kw[data-v-1e8503ec]{flex:1;border:none;outline:none;background:transparent;color:var(--text);font-size:13px}.list[data-v-1e8503ec]{max-height:260px;overflow-y:auto;padding:4px}.opt[data-v-1e8503ec]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted)}.opt[data-v-1e8503ec]:hover{background:var(--hover);color:var(--text)}.opt.active[data-v-1e8503ec]{color:var(--accent);background:var(--accent-soft)}.none[data-v-1e8503ec]{padding:10px;text-align:center;color:var(--text-dim)}.mask[data-v-1e8503ec]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.d-switch[data-v-84061d3e]{position:relative;border:none;border-radius:var(--radius-full);background:var(--input);cursor:pointer;padding:0;transition:background .18s;flex:none;box-shadow:inset 0 0 0 1px var(--border);vertical-align:middle}.s-sm[data-v-84061d3e]{width:34px;height:18px}.s-md[data-v-84061d3e]{width:40px;height:22px}.knob[data-v-84061d3e]{position:absolute;top:50%;inset-inline-start:3px;transform:translateY(-50%);background:var(--text-dim);border-radius:50%;transition:transform .18s,background .18s}.s-sm .knob[data-v-84061d3e]{width:12px;height:12px}.s-md .knob[data-v-84061d3e]{width:16px;height:16px}.d-switch.on[data-v-84061d3e]{background:var(--green);box-shadow:none}.d-switch.on .knob[data-v-84061d3e]{background:#fff}.s-sm.on .knob[data-v-84061d3e]{transform:translate(16px,-50%)}.s-md.on .knob[data-v-84061d3e]{transform:translate(18px,-50%)}[dir=rtl] .s-sm.on .knob[data-v-84061d3e]{transform:translate(-16px,-50%)}[dir=rtl] .s-md.on .knob[data-v-84061d3e]{transform:translate(-18px,-50%)}.d-switch[data-v-84061d3e]:disabled{opacity:.5;cursor:not-allowed}.d-tag[data-v-982dd772]{display:inline-flex;align-items:center;gap:5px;border-radius:var(--radius-full);font-weight:500;white-space:nowrap;line-height:1;vertical-align:middle}.s-sm[data-v-982dd772]{height:18px;padding:0 7px;font-size:11px}.s-md[data-v-982dd772]{height:22px;padding:0 9px;font-size:12px}.dot[data-v-982dd772]{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.v-default[data-v-982dd772]{background:var(--elevated);color:var(--text-muted);box-shadow:inset 0 0 0 1px var(--border)}.v-accent[data-v-982dd772]{background:var(--accent-soft);color:var(--accent)}.v-success[data-v-982dd772]{background:var(--green-soft);color:var(--green)}.v-danger[data-v-982dd772]{background:var(--red-soft);color:var(--red)}.v-warn[data-v-982dd772]{background:var(--yellow-soft);color:var(--yellow)}.v-orange[data-v-982dd772]{background:#e8890c29;color:var(--orange)}.d-table-wrap[data-v-32c7daa1]{width:100%;overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.d-table[data-v-32c7daa1]{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}thead th[data-v-32c7daa1]{position:sticky;top:0;z-index:2;background:var(--side);color:var(--text-muted);font-weight:600;font-size:12px;text-align:start;padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.compact thead th[data-v-32c7daa1]{padding:7px 10px}tbody td[data-v-32c7daa1]{padding:10px 12px;border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle;max-width:320px}.compact tbody td[data-v-32c7daa1]{padding:7px 10px}tbody tr:last-child td[data-v-32c7daa1]{border-bottom:none}tbody tr:hover td[data-v-32c7daa1]{background:var(--hover)}tbody tr.picked td[data-v-32c7daa1]{background:var(--accent-soft)}td.is-img[data-v-32c7daa1]{width:1%;white-space:nowrap}.col-check[data-v-32c7daa1]{width:40px;text-align:center!important;padding-inline:8px!important}.al-center[data-v-32c7daa1]{text-align:center}.al-end[data-v-32c7daa1]{text-align:end}.state td[data-v-32c7daa1]{padding:0}.state .spin[data-v-32c7daa1]{display:block;width:22px;height:22px;margin:40px auto;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-32c7daa1 .7s linear infinite}@keyframes spin-32c7daa1{to{transform:rotate(360deg)}}.empty[data-v-32c7daa1]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 0;color:var(--text-dim)}.imgs[data-v-32c7daa1]{display:flex;gap:6px;align-items:center}.thumb[data-v-32c7daa1]{width:38px;height:38px;object-fit:cover;border-radius:var(--radius-sm);background:var(--input);flex:none}.lnk[data-v-32c7daa1]{color:var(--accent);cursor:pointer;display:inline-block;max-width:100%}.lnk[data-v-32c7daa1]:hover{text-decoration:underline}.ellipsis[data-v-32c7daa1]{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.ck[data-v-32c7daa1]{display:inline-flex;align-items:center;cursor:pointer;position:relative}.ck input[data-v-32c7daa1]{position:absolute;opacity:0;width:0;height:0}.ck .box[data-v-32c7daa1]{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--text-dim);display:flex;align-items:center;justify-content:center;color:transparent;transition:all .15s}.ck input:checked+.box[data-v-32c7daa1]{background:var(--accent);border-color:var(--accent);color:#fff}.ck:hover .box[data-v-32c7daa1]{border-color:var(--accent)}.d-tabs[data-v-7df11373]{border-bottom:1px solid var(--border)}.track[data-v-7df11373]{position:relative;display:flex}.tab[data-v-7df11373]{flex:1;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0 12px;font-size:13.5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color .15s;white-space:nowrap}.s-sm .tab[data-v-7df11373]{height:36px}.s-md .tab[data-v-7df11373]{height:44px}.s-lg .tab[data-v-7df11373]{height:52px;font-size:14.5px}.tab[data-v-7df11373]:hover{color:var(--text)}.tab.active[data-v-7df11373]{color:var(--text);font-weight:600}.cnt[data-v-7df11373]{font-style:normal;font-size:11px;padding:1px 6px;border-radius:99px;background:var(--elevated);color:var(--text-dim)}.tab.active .cnt[data-v-7df11373]{background:var(--accent-soft);color:var(--accent)}.bar[data-v-7df11373]{position:absolute;bottom:-1px;height:2.5px;border-radius:99px;background:var(--accent);width:calc(var(--step) - 4px);inset-inline-start:calc(var(--i) * var(--step) + 2px);transition:inset-inline-start .22s cubic-bezier(.4,0,.2,1)}.toaster[data-v-2f34e459]{position:fixed;z-index:400;inset-inline-end:20px;top:20px;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(380px,calc(100vw - 40px))}.toast[data-v-2f34e459]{pointer-events:auto;display:flex;align-items:flex-start;gap:9px;padding:11px 14px;border-radius:var(--radius);background:var(--elevated);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);font-size:13.5px;cursor:pointer;line-height:1.5}.ic[data-v-2f34e459]{flex:none;display:flex;margin-top:1px}.t-success[data-v-2f34e459]{border-inline-start:3px solid var(--green)}.t-success .ic[data-v-2f34e459]{color:var(--green)}.t-error[data-v-2f34e459]{border-inline-start:3px solid var(--red)}.t-error .ic[data-v-2f34e459]{color:var(--red)}.t-warn[data-v-2f34e459]{border-inline-start:3px solid var(--yellow)}.t-warn .ic[data-v-2f34e459]{color:var(--yellow)}.t-info[data-v-2f34e459]{border-inline-start:3px solid var(--accent)}.t-info .ic[data-v-2f34e459]{color:var(--accent)}.msg[data-v-2f34e459]{flex:1;word-break:break-word}.tf-enter-active[data-v-2f34e459],.tf-leave-active[data-v-2f34e459]{transition:all .2s ease}.tf-enter-from[data-v-2f34e459],.tf-leave-to[data-v-2f34e459]{opacity:0;transform:translateY(-8px)}:root,html[data-theme=dark]{--rail: #1e1f22;--side: #2b2d31;--main: #313338;--card: #2b2d31;--elevated: #383a40;--input: #1e1f22;--hover: #35373c;--active: #404249;--border: #3f4147;--border-soft: #2e3035;--text: #f2f3f5;--text-muted: #b5bac1;--text-dim: #949ba4;--text-link: #00a8fc;--accent: #5865f2;--accent-hover: #4752c4;--accent-soft: rgba(88, 101, 242, .16);--green: #23a55a;--green-soft: rgba(35, 165, 90, .16);--red: #f23f43;--red-soft: rgba(242, 63, 67, .16);--yellow: #f0b232;--yellow-soft: rgba(240, 178, 50, .16);--orange: #e8890c;--shadow: 0 8px 24px rgba(0, 0, 0, .36);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .24);--scroll: #1a1b1e;--scroll-thumb: #1a1b1e}html[data-theme=light]{--rail: #e3e5e8;--side: #f2f3f5;--main: #ffffff;--card: #ffffff;--elevated: #ffffff;--input: #ebedef;--hover: #e9eaec;--active: #d7d9dc;--border: #e3e5e8;--border-soft: #edeef0;--text: #060607;--text-muted: #5c5e66;--text-dim: #808289;--text-link: #006ce7;--accent: #5865f2;--accent-hover: #4752c4;--accent-soft: rgba(88, 101, 242, .12);--green: #1a8f4c;--green-soft: rgba(26, 143, 76, .12);--red: #d83c3e;--red-soft: rgba(216, 60, 62, .12);--yellow: #b8860b;--yellow-soft: rgba(184, 134, 11, .14);--orange: #e8890c;--shadow: 0 8px 24px rgba(0, 0, 0, .14);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--scroll: #f2f3f5;--scroll-thumb: #c9ccd1}html[data-theme=dark]{--scroll-thumb: #1a1b1e}html[data-theme=dark] ::-webkit-scrollbar-track{background:#2b2d31}html[data-theme=light] ::-webkit-scrollbar-track{background:#f2f3f5}:root{--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 999px;--rail-w: 72px;--side-w: 236px;--top-h: 48px;--font: "gg sans", "Noto Sans", "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--font-ug: "UKIJ Tuz Tom", "Alkatip", "Noto Naskh Arabic", "Scheherazade New", "Segoe UI", Tahoma, "Microsoft Uighur", sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{background:var(--main);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}html[lang=ug] body,html[dir=rtl] body{font-family:var(--font-ug);font-size:15px}a{color:var(--text-link);text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-corner{background:transparent}input,select,textarea,button{font-family:inherit;font-size:inherit}::selection{background:var(--accent);color:#fff}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:JetBrains Mono,Consolas,Monaco,Courier New,monospace;font-size:12px}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}[dir=rtl] .force-ltr,[dir=rtl] .mono{direction:ltr;unicode-bidi:embed}.row{display:flex;align-items:center}.row-between{display:flex;align-items:center;justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.wrap{flex-wrap:wrap}.page-wrap{padding:20px 24px 48px;max-width:1680px;margin:0 auto;width:100%}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.page-title{margin:0;font-size:20px;font-weight:650;display:flex;align-items:center;gap:9px;line-height:1.3}.page-sub{margin-top:5px;color:var(--text-dim);font-size:12.5px}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.back-bar{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px 8px;border-radius:var(--radius-sm);border:none;background:transparent}.back-bar:hover{background:var(--hover);color:var(--text)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card+.card{margin-top:16px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.card-title{margin:0;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:8px}.card-body{padding:16px}.card-body.flush{padding:0}.card .d-table-wrap{border:none;border-radius:0}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}.toolbar-end{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.f-w160{width:160px;flex:none}.f-w180{width:180px;flex:none}.f-w200{width:200px;flex:none}.f-w220{width:220px;flex:none}.f-w260{width:260px;flex:none;flex-shrink:0}.f-search{width:260px;max-width:100%}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.form-grid .span-2,.form-grid .span-3{grid-column:1/-1}@media (max-width: 720px){.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid .span-3{grid-column:auto}}.form-sep{grid-column:1/-1;display:flex;align-items:center;gap:10px;color:var(--text-dim);font-size:12px;margin-top:4px}.form-sep:after{content:"";flex:1;height:1px;background:var(--border)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px}.stat{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0}.stat-ic{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);flex:none}.stat-ic.v-green{background:var(--green-soft);color:var(--green)}.stat-ic.v-red{background:var(--red-soft);color:var(--red)}.stat-ic.v-yellow{background:var(--yellow-soft);color:var(--yellow)}.stat-ic.v-orange{background:#e8890c29;color:var(--orange)}.stat-main{min-width:0}.stat-val{font-size:20px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-lab{font-size:12px;color:var(--text-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:16px;align-items:start}.chart-grid .span-2{grid-column:1/-1}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 22px}.kv-item{min-width:0}.kv-lab{font-size:12px;color:var(--text-dim);margin-bottom:4px}.kv-val{font-size:13.5px;word-break:break-word;line-height:1.5}.kv-val.big{font-size:18px;font-weight:650}.mini-list{list-style:none;margin:0;padding:0}.mini-list li{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border-soft);font-size:13.5px}.mini-list li:last-child{border-bottom:none}.mini-list li:hover{background:var(--hover)}.mini-list .idx{width:18px;flex:none;color:var(--text-dim);font-size:12px;text-align:center}.mini-list .idx.top{color:var(--accent);font-weight:700}.mini-list .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-list .val{flex:none;color:var(--text-muted);font-size:12.5px}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);font-size:13px;margin-bottom:14px;border:1px solid transparent}.banner.warn{background:var(--yellow-soft);color:var(--yellow);border-color:#f0b2324d}.banner.info{background:var(--accent-soft);color:var(--accent)}.banner .grow{flex:1;min-width:0}.empty-state{padding:54px 20px;text-align:center;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px}.row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.grow{flex:1;min-width:0}.nowrap{white-space:nowrap}.tabs-line{margin-bottom:16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0 6px;overflow-x:auto}.thumb{width:38px;height:38px;object-fit:cover;border-radius:var(--radius-sm);background:var(--input);flex:none}.thumb-lg{width:76px;height:76px;object-fit:cover;border-radius:var(--radius);background:var(--input);flex:none;border:1px solid var(--border)}.upload-box{display:flex;align-items:center;gap:12px}.upload-box .ph{width:84px;height:84px;border-radius:var(--radius);border:1px dashed var(--border);background:var(--input);display:flex;align-items:center;justify-content:center;color:var(--text-dim);overflow:hidden;flex:none;cursor:pointer}.upload-box .ph img{width:100%;height:100%;object-fit:cover}.upload-box .ph:hover{border-color:var(--accent);color:var(--accent)}.hero{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.hero-name{font-size:19px;font-weight:650;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hero-meta{color:var(--text-dim);font-size:12.5px;margin-top:5px;display:flex;gap:14px;flex-wrap:wrap}.code-text{font-family:JetBrains Mono,Consolas,Monaco,monospace;font-size:12px;background:var(--input);padding:1px 6px;border-radius:var(--radius-sm);color:var(--text-muted);direction:ltr;unicode-bidi:embed}@media (max-width: 640px){.page-wrap{padding:14px 12px 40px}.toolbar{padding:12px}.f-w160,.f-w180,.f-w200,.f-w220,.f-w260,.f-search{width:100%}}
