:root{--bg:#070a16;--surface:#12162a;--line:#2ee6ff24;--text:#f4f7ff;--muted:#8b93b0;--primary:#2ee6ff;--primary-dark:#19c8e0;--primary-soft:#2ee6ff1f;--magenta:#ff4ddb;--danger:#ff5b7a;--warn:#ffd166;--ok:#2ee6ff;--accent:#ffb800;--accent-dark:#e09a00;--accent-soft:#ffb80024;--ink:#1a1200;--glow:0 0 22px #ffb80061;--nav-w:220px;--top:56px;--radius:16px;--shadow:0 16px 40px #00000059}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:radial-gradient(900px 420px at 8% -12%, #ff4ddb29, transparent 55%), radial-gradient(800px 480px at 92% 0%, #2ee6ff1f, transparent 50%), var(--bg);color:var(--text);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}a{color:var(--primary);text-decoration:none}img{display:block}.hidden{display:none!important}svg.ico{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}#page-login{background:radial-gradient(700px 360px at 50% 18%, #2ee6ff29, transparent 58%), radial-gradient(520px 280px at 70% 80%, #ff4ddb1f, transparent 55%), var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100%;display:flex;overflow:auto}.login-card{width:420px;box-shadow:var(--shadow);border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#12162adb;border-radius:20px;padding:40px 36px 28px}.login-brand{text-align:center;margin-bottom:28px}.login-brand .logo-mark{width:48px;height:48px;color:var(--primary);background:linear-gradient(135deg,#2ee6ff33,#ff4ddb33);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 12px;font-weight:800;display:flex;box-shadow:0 0 18px #2ee6ff47}.login-brand h1{font-size:22px;font-weight:700}.login-brand p{color:var(--muted);margin-top:6px;font-size:13px}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;height:42px;color:var(--text);background:#070a16b8;border-radius:10px;padding:0 12px}.field textarea{resize:vertical;height:88px;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.btn{background:linear-gradient(90deg, var(--accent), #ffe27a);height:40px;color:var(--ink);cursor:pointer;box-shadow:var(--glow);border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:800;display:inline-flex}.btn:hover{background:linear-gradient(90deg, var(--accent-dark), var(--accent))}.btn-block{width:100%;height:44px}.btn-ghost{color:var(--accent);border:1px solid var(--line);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--accent-soft)}.btn-danger{background:var(--danger)}.btn-warn{background:var(--warn);color:#fff}.btn-sm{height:32px;padding:0 12px;font-size:13px;font-weight:600}.login-help{text-align:center;border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.login-hint{color:var(--muted);text-align:center;margin-top:12px;font-size:12px}#app-shell{height:100%;display:flex}.nav{width:var(--nav-w);z-index:20;border-right:1px solid var(--line);background:#0c1020f0;flex-direction:column;padding:18px 12px 12px;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 32px #00000047}.nav-logo{color:var(--text);padding:4px 10px 18px;font-size:15px;font-weight:700}.nav-logo .sub{color:var(--muted);margin-top:4px;font-size:12px;font-weight:400;display:block}html[lang=en] body{font-family:Segoe UI,Inter,system-ui,sans-serif}.nav .nav-item{color:var(--muted);cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.nav .nav-item:hover{color:var(--text);background:#ffffff0a}.nav .nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600;box-shadow:inset 0 0 0 1px #ffb80059,0 0 18px #ffb8002e}.nav-profile{border:1px solid var(--line);background:#ffffff0a;border-radius:14px;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex}.nav-profile .nm{color:var(--text);font-size:13px;font-weight:600}.nav-profile .rl{color:var(--muted);font-size:12px}.main{margin-left:var(--nav-w);flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.topbar{height:var(--top);z-index:15;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c1020e0;flex:none;justify-content:space-between;align-items:center;padding:0 20px 0 24px;display:flex}.topbar h2{font-size:16px;font-weight:700}.account{color:var(--muted);align-items:center;gap:14px;display:flex}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative}.icon-btn .dot{background:var(--danger);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.content{flex:1;min-height:0;padding:16px 20px;overflow:auto}.content.page-fill{flex-direction:column;display:flex;overflow:hidden}.page-stack,.fill-card{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.fill-card .card-scroll{flex:1;min-height:0;overflow:auto}.fill-card .filters,.fill-card .card-actions,.fill-card .pager{flex:none}.card-scroll thead th{background:var(--surface);z-index:1;position:sticky;top:0}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.grid-2{grid-template-columns:1.4fr .9fr;gap:16px;margin-top:16px;display:grid}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line)}.card-h{border-bottom:1px solid var(--line);padding:16px 18px 12px;font-weight:700}.card-b{padding:4px 18px 18px}.metric{align-items:flex-start;gap:14px;padding:18px;display:flex}.m-ico{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.m-ico.orange{color:#3a2a00;background:#ffd166}.m-ico.blue{background:var(--primary);color:#04232a}.m-ico.green{color:#04232a;background:#2ee6ff}.m-ico.yellow{color:#3a2a00;background:#ffd166}.m-ico.red{background:var(--danger)}.m-ico.purple{background:var(--magenta)}.metric .k{color:var(--muted);font-size:13px}.metric .v{letter-spacing:-.02em;margin-top:2px;font-size:26px;font-weight:800}.metric .s{color:var(--muted);margin-top:4px;font-size:12px}.filters{flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px 18px 12px;display:flex}.filters .f-item{flex-direction:row;align-items:center;gap:8px;display:flex}.filters .f-item span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:600}.filters input,.filters select{border:1px solid var(--line);min-width:140px;height:36px;color:var(--text);background:#070a16b8;border-radius:10px;padding:0 12px}.filters .app-select{width:168px;min-width:168px}.field .app-select{width:100%}.pager .app-select{width:120px}.filters .filter-actions{align-items:center;gap:8px;padding-bottom:0;display:flex}.card-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:16px 18px;display:flex}.filters+.card-actions{padding-top:0}.card>.filters:not(:has(+.card-actions)){border-bottom:1px solid var(--line);padding-bottom:16px}.card table th:first-child,.card table td:first-child{padding-left:18px}.card table th:last-child,.card table td:last-child{padding-right:18px}.card-list{padding:16px 18px 8px}.pager{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px 16px;font-size:13px;display:flex}.pager .info{margin-right:auto}.pg-btn{border:1px solid var(--line);cursor:pointer;min-width:32px;height:32px;color:var(--text);background:#070a1699;border-radius:10px;padding:0 8px}.pg-btn.on{background:var(--accent);color:var(--ink);border-color:var(--accent);box-shadow:var(--glow)}.pg-btn:disabled{opacity:.4;cursor:not-allowed}.pg-jump,.pg-size{border:1px solid var(--line);height:32px;color:var(--text);background:#070a1699;border-radius:10px}.pg-jump{text-align:center;width:56px}.pg-size{padding:0 8px}table{border-collapse:collapse;width:100%}th,td{text-align:center;vertical-align:middle;border-bottom:1px solid #ffffff0f;padding:14px 10px}td .cover{margin:0 auto}th{color:var(--muted);background:0 0;font-size:12px;font-weight:600}tr:last-child td{border-bottom:0}.row-click{cursor:pointer}.row-click:hover{background:#2ee6ff0f}.cover{background:var(--primary-soft);width:40px;height:40px;color:var(--primary);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.ops{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card table th.ops,.card table td.ops{white-space:nowrap;width:1%;padding-left:14px;padding-right:16px;display:table-cell}td.ops .link{margin:0 5px}.link{cursor:pointer;color:var(--primary);background:0 0;border:0;padding:0;font-weight:600}.link-view{color:var(--muted)}.link-edit{color:var(--primary)}.link-off,.link.danger{color:var(--danger)}.link-add{color:#7cf0ff}.tag{border-radius:999px;align-items:center;height:22px;padding:0 8px;font-size:12px;font-weight:600;display:inline-flex}.tag-ok{color:#7cf0ff;background:#2ee6ff24}.tag-off{color:var(--muted);background:#ffffff0f}.tag-wait{color:var(--warn);background:#ffd16629}.tag-err{color:var(--danger);background:#ff5b7a29}.tag-audio{color:var(--primary);background:#2ee6ff24}.tag-video{color:var(--magenta);background:#ff4ddb24}.tag-image{color:#ff9ae8;background:#ff4ddb1f}.tag-p0{color:#7cf0ff;background:#2ee6ff24}.tag-hold{color:var(--warn);background:#ffd16624}.bar{background:#ffffff14;border-radius:99px;min-width:88px;height:6px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--primary), var(--magenta));border-radius:99px;height:100%;display:block}.bar.low i{background:var(--danger)}.bar.mid i{background:var(--warn)}.mod-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;border:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:center;gap:16px;margin-bottom:12px;padding:16px 18px;display:grid}.card-list .mod-card{box-shadow:none;border:1px solid var(--line);margin-bottom:10px}.card-list .mod-card:last-child{margin-bottom:0}.mod-ico{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:64px;height:64px;font-size:18px;font-weight:800;display:flex}.mod-title{align-items:center;gap:8px;font-weight:700;display:flex}.mod-desc{color:var(--muted);margin:4px 0 10px;font-size:13px}.mod-stats{color:var(--muted);gap:22px;font-size:12px;display:flex}.mod-stats b{color:var(--text);font-size:16px;display:block}.form-page{background:var(--surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);border:1px solid var(--line);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.form-scroll{flex:1;min-height:0;padding:24px;overflow:auto}.form-grid{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.form-grid .span-2{grid-column:1/-1}.form-actions{border-top:1px solid var(--line);background:#0c1020eb;flex:none;justify-content:center;gap:8px;padding:12px 24px;display:flex}.upload{text-align:center;color:var(--muted);cursor:pointer;background:#2ee6ff0f;border:1px dashed #2ee6ff59;border-radius:14px;padding:20px}.upload.disabled,.form-page.readonly .upload{pointer-events:none;cursor:not-allowed;opacity:.7;background:#ffffff08}.form-page.readonly input:disabled,.form-page.readonly select:disabled,.form-page.readonly textarea:disabled{color:var(--muted);cursor:not-allowed;background:#ffffff0a}.upload strong{color:var(--primary)}.url-box{border:1px solid var(--line);color:var(--muted);word-break:break-all;background:#070a16b8;border-radius:10px;padding:10px 12px}.page-stack .detail-head{flex:none}.page-stack .tabs{flex:none;margin:0;padding:0 12px}.page-stack .fill-card{margin-top:12px}.page-stack .unsaved{flex:none}.tabs{border-bottom:1px solid var(--line);gap:4px;margin:16px 0;display:flex}.tab{cursor:pointer;color:var(--muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 16px}.tab.active{color:var(--primary);border-color:var(--primary);font-weight:600}.detail-head{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);align-items:center;gap:16px;padding:16px 18px;display:flex}.detail-head .big{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:8px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.detail-head h3{margin:2px 0 6px;font-size:18px}.desc-list{grid-template-columns:1fr 1fr;padding:8px 12px 24px;display:grid}.desc-item{border-bottom:1px solid #ffffff0f;grid-template-columns:120px 1fr;align-items:start;gap:16px;padding:16px 12px;display:grid}.desc-item.wide{grid-column:1/-1}.desc-item .k{color:var(--muted);padding-top:2px;font-size:13px}.desc-item .v{color:var(--text);word-break:break-word;line-height:1.65}.arrange-item{border:1px solid var(--line);background:#070a168c;border-radius:14px;grid-template-columns:22px 36px 48px 1fr auto;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;display:grid}.arrange-item:last-child{margin-bottom:0}.arrange-item.drag-over{border-color:var(--primary);background:#2ee6ff14}.drag-handle{cursor:grab;color:var(--muted);letter-spacing:1px;-webkit-user-select:none;user-select:none;text-align:center;font-size:14px;line-height:1}.drag-handle:active{cursor:grabbing}.unsaved{color:var(--warn);background:#ffd1661f;border:1px solid #ffd16647;border-radius:12px;margin-bottom:12px;padding:10px 12px}.empty{text-align:center;color:var(--muted);padding:48px 16px}.modal-mask{z-index:50;background:#05070f9e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);border:1px solid var(--line);background:#12162a;width:480px;max-width:calc(100% - 32px);overflow:hidden;box-shadow:0 24px 60px #00000080}.modal.wide{width:560px}.modal-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;font-weight:700;display:flex}.modal-h .x{cursor:pointer;width:28px;height:28px;color:var(--muted);background:#ffffff0f;border:0;border-radius:8px;font-size:18px;line-height:28px}.modal-b{text-align:left;padding:20px}.modal-f{border-top:1px solid var(--line);background:#070a168c;justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.dl{grid-template-columns:96px 1fr;align-items:start;gap:12px 16px;display:grid}.dl dt{color:var(--muted);padding-top:2px;font-size:13px}.dl dd{color:var(--text);margin:0;line-height:1.6}.jump-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.toast{color:#fff;z-index:80;border:1px solid var(--line);background:#0c1020;border-radius:999px;padding:10px 16px;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #2ee6ff40}.quick{gap:8px;display:grid}.quick button{justify-content:flex-start;width:100%}.muted{color:var(--muted)}.row{align-items:center;gap:8px;display:flex}.help-list{color:var(--text);padding-left:18px}.help-list li{margin:6px 0}.rule-box{color:var(--muted);border:1px solid var(--line);background:#2ee6ff0f;border-radius:12px;padding:12px;font-size:13px}.rule-box li{margin:4px 0 4px 16px}.kv{grid-template-columns:160px 1fr 160px 1fr;gap:14px 24px;display:grid}.kv b{color:var(--muted);font-weight:500}.lang-switch{border:1px solid var(--line);background:#070a168c;border-radius:999px;flex:none;align-items:center;gap:0;display:inline-flex;overflow:hidden}.lang-switch button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:12px;font-weight:700}.lang-switch button.on{background:linear-gradient(90deg, var(--accent), #ffe27a);color:var(--ink);box-shadow:var(--glow)}.login-lang{z-index:5;position:absolute;top:24px;right:24px}.n-base-select-menu.app-select-menu{z-index:4000}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden}
