.login-wrap[data-v-2d356c23]{position:relative;height:100%;display:grid;place-items:center}.login-card[data-v-2d356c23]{position:relative;z-index:1;width:380px;padding:44px 38px;border-radius:28px;background:#0d1326b8;border:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 0 60px #38e0ff1f,0 24px 60px #00000080}.drop[data-v-6da35bef]{display:grid;place-items:center;padding:60px 20px;cursor:pointer;border:2px dashed rgba(56,224,255,.25);transition:all .25s ease;text-align:center}.drop[data-v-6da35bef]:hover,.drop.dragging[data-v-6da35bef]{border-color:var(--accent);background:#38e0ff0f;box-shadow:0 0 40px #38e0ff26 inset}.drop-ico[data-v-6da35bef]{font-size:46px;margin-bottom:14px;filter:drop-shadow(0 0 14px rgba(56,224,255,.6))}.drop-text[data-v-6da35bef]{font-size:15.5px}.drop-link[data-v-6da35bef]{color:var(--accent);margin-left:4px}.drop-hint[data-v-6da35bef]{color:var(--text-dim);font-size:12.5px;margin-top:8px}.progress-card[data-v-6da35bef]{margin-top:22px;padding:20px 24px}.queue-item[data-v-6da35bef]{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.queue-item[data-v-6da35bef]:last-of-type{border-bottom:none}.queue-thumb[data-v-6da35bef]{width:64px;height:64px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;border:1px solid var(--border)}.queue-thumb-ico[data-v-6da35bef]{display:grid;place-items:center;background:var(--card)}.queue-info[data-v-6da35bef]{flex:1;min-width:0}.queue-name[data-v-6da35bef]{font-size:14px;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-status[data-v-6da35bef]{font-size:12.5px;color:var(--text-dim);margin-top:7px}.bar[data-v-6da35bef]{height:6px;border-radius:99px;background:#ffffff12;overflow:hidden}.bar-fill[data-v-6da35bef]{height:100%;border-radius:99px;background:var(--gradient);transition:width .25s ease;box-shadow:0 0 10px #38e0ff99}.bar-fill.err[data-v-6da35bef]{background:var(--danger);box-shadow:none}.links[data-v-6da35bef]{margin-top:10px;display:grid;gap:6px}.link-row[data-v-6da35bef]{display:flex;align-items:center;gap:10px;background:#ffffff0a;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px}.link-label[data-v-6da35bef]{font-size:11.5px;color:var(--accent);flex-shrink:0;width:66px}.link-text[data-v-6da35bef]{flex:1;font-size:12.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Consolas,monospace}.empty[data-v-c1043c05]{padding:70px;text-align:center;color:var(--text-dim);font-size:14px}.grid[data-v-c1043c05]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.img-card[data-v-c1043c05]{overflow:hidden;transition:all .25s ease}.img-card[data-v-c1043c05]:hover{border-color:var(--border-glow);transform:translateY(-3px);box-shadow:0 10px 30px #0006}.thumb-wrap[data-v-c1043c05]{position:relative;aspect-ratio:1;background:#ffffff08}.thumb[data-v-c1043c05]{width:100%;height:100%;object-fit:cover;cursor:zoom-in}.overlay[data-v-c1043c05]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;background:#070b16b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .22s ease}.thumb-wrap:hover .overlay[data-v-c1043c05]{opacity:1}.img-meta[data-v-c1043c05]{padding:12px 14px 14px}.img-name[data-v-c1043c05]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.img-sub[data-v-c1043c05]{display:flex;justify-content:space-between;color:var(--text-dim);font-size:11.5px;margin-top:6px}.pager[data-v-c1043c05]{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px}.modal[data-v-c1043c05]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:#04070ec7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:30px}.modal-body[data-v-c1043c05]{max-width:min(860px,92vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.preview-img[data-v-c1043c05]{max-width:100%;max-height:68vh;object-fit:contain;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.modal-foot[data-v-c1043c05]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-top:1px solid var(--border)}.confirm-box[data-v-c1043c05]{width:380px;max-width:92vw;padding:34px 30px;text-align:center}.recent-card[data-v-e5a32b4a]{margin-top:22px;padding:22px 26px}.recent-head[data-v-e5a32b4a]{font-size:15px;font-weight:600;margin-bottom:16px}.recent-item[data-v-e5a32b4a]{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--border)}.recent-item[data-v-e5a32b4a]:last-child{border-bottom:none}.recent-thumb[data-v-e5a32b4a]{width:46px;height:46px;border-radius:10px;object-fit:cover;cursor:pointer;border:1px solid var(--border);flex-shrink:0}.recent-info[data-v-e5a32b4a]{flex:1;min-width:0}.pwd-card[data-v-e5a32b4a]{margin-top:22px;padding:22px 26px}:root{--bg: #070b16;--bg-soft: #0c1224;--card: rgba(255, 255, 255, .045);--card-hover: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .09);--border-glow: rgba(56, 224, 255, .35);--text: #e8edf7;--text-dim: #8b95ad;--accent: #38e0ff;--accent2: #8b5cf6;--accent3: #4f8cff;--gradient: linear-gradient(120deg, #38e0ff, #4f8cff 55%, #8b5cf6);--danger: #ff5c7a;--ok: #3ddc97;--radius: 22px;--radius-sm: 14px;--radius-pill: 999px}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:PingFang SC,Microsoft YaHei,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}.bg-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(600px 400px at 12% -5%,rgba(56,224,255,.13),transparent 65%),radial-gradient(700px 500px at 95% 15%,rgba(139,92,246,.14),transparent 65%),radial-gradient(800px 600px at 50% 110%,rgba(79,140,255,.1),transparent 70%)}.bg-grid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 85%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 85%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:8px}::-webkit-scrollbar-track{background:transparent}.layout{position:relative;z-index:1;display:flex;height:100%}.sidebar{width:232px;flex-shrink:0;padding:26px 18px;display:flex;flex-direction:column;gap:8px;border-right:1px solid var(--border);background:#0a0f1e99;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.logo{display:flex;align-items:center;gap:12px;padding:6px 10px 24px}.logo-mark{width:42px;height:42px;border-radius:14px;background:var(--gradient);display:grid;place-items:center;font-size:20px;box-shadow:0 0 22px #38e0ff66}.logo-name{font-size:19px;font-weight:700;letter-spacing:.5px;background:linear-gradient(90deg,#fff,#9ecfff);-webkit-background-clip:text;background-clip:text;color:transparent}.logo-sub{font-size:11px;color:var(--text-dim);letter-spacing:2px}.nav-item{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:var(--radius-sm);color:var(--text-dim);text-decoration:none;font-size:14.5px;transition:all .22s ease;border:1px solid transparent}.nav-item:hover{color:var(--text);background:var(--card)}.nav-item.active{color:var(--text);background:linear-gradient(120deg,#38e0ff21,#8b5cf621);border-color:var(--border-glow);box-shadow:inset 0 0 18px #38e0ff0f}.nav-item .ico{font-size:17px}.main{flex:1;overflow-y:auto;padding:30px 36px 48px}.page-head{margin-bottom:26px}.page-title{font-size:24px;font-weight:700;background:linear-gradient(90deg,#fff,#a9c8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.page-desc{color:var(--text-dim);font-size:13.5px;margin-top:6px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:14px;cursor:pointer;transition:all .22s ease;-webkit-user-select:none;user-select:none}.btn:hover{background:var(--card-hover);border-color:var(--border-glow)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient);border:none;color:#04121f;font-weight:600;box-shadow:0 4px 24px #38e0ff59}.btn-primary:hover{filter:brightness(1.12);box-shadow:0 6px 30px #38e0ff80}.btn-danger{color:var(--danger);border-color:#ff5c7a59}.btn-danger:hover{background:#ff5c7a1f;border-color:var(--danger)}.btn-sm{padding:7px 14px;font-size:12.5px}.input{padding:12px 18px;border-radius:var(--radius-pill);border:1px solid var(--border);background:#ffffff0d;color:var(--text);font-size:14px;outline:none;transition:all .22s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38e0ff26}.input::placeholder{color:var(--text-dim)}.tag{padding:3px 10px;border-radius:var(--radius-pill);font-size:11.5px;border:1px solid var(--border);color:var(--text-dim)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.stat-tile{padding:24px;position:relative;overflow:hidden}.stat-tile:after{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(56,224,255,.18),transparent 70%)}.stat-label{color:var(--text-dim);font-size:13px;display:flex;align-items:center;gap:8px}.stat-value{font-size:30px;font-weight:700;margin-top:10px;letter-spacing:.5px}.stat-value .unit{font-size:14px;color:var(--text-dim);font-weight:400;margin-left:6px}.toast{position:fixed;top:28px;left:50%;transform:translate(-50%,-16px);padding:12px 26px;border-radius:var(--radius-pill);font-size:13.5px;z-index:999;opacity:0;transition:all .3s ease;background:#141c30eb;border:1px solid var(--border-glow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 30px #0006}.toast.show{opacity:1;transform:translate(-50%)}.toast-err{border-color:#ff5c7a80;color:#ffb3c1}.toast-ok{color:#c8f5e5;border-color:#3ddc9766}
