*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base: #13243d;--bg-card: #1c3352;--bg-card-hover: #223d61;--border: rgba(0, 212, 255, .3);--border-strong: rgba(0, 212, 255, .65);--cyan: #00d4ff;--cyan-dim: rgba(0, 212, 255, .18);--green: #00ff88;--red: #ff4d6a;--text-primary: #eef4ff;--text-secondary: #90b4d4;--text-muted: #6088a8;--font-mono: "JetBrains Mono", "Courier New", monospace}html,body{height:100%;font-size:17px;font-weight:500;background:var(--bg-base);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100vh}.login-page[data-v-2158d9db]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden}.bg-grid[data-v-2158d9db]{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,212,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.1) 1px,transparent 1px);background-size:48px 48px;animation:grid-drift-2158d9db 30s linear infinite;pointer-events:none}@keyframes grid-drift-2158d9db{0%{background-position:0 0}to{background-position:48px 48px}}.bg-glow[data-v-2158d9db]{position:fixed;top:-200px;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,212,255,.14) 0%,transparent 70%);pointer-events:none;transition:background .8s ease}.bg-glow--success[data-v-2158d9db]{background:radial-gradient(circle,rgba(0,255,136,.18) 0%,transparent 70%)}.login-card[data-v-2158d9db]{position:relative;z-index:1;width:100%;max-width:420px;margin:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:2.5rem;box-shadow:0 0 60px #00d4ff0f,0 20px 60px #0006}.logo[data-v-2158d9db]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.logo-icon[data-v-2158d9db]{width:48px;height:48px;flex-shrink:0}.logo-text[data-v-2158d9db]{display:flex;flex-direction:column}.logo-title[data-v-2158d9db]{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--cyan);letter-spacing:.15em}.logo-sub[data-v-2158d9db]{font-family:var(--font-mono);font-size:.6rem;color:var(--text-secondary);letter-spacing:.12em;margin-top:2px}.divider[data-v-2158d9db]{height:1px;background:var(--border);margin-bottom:1.75rem}.field[data-v-2158d9db]{margin-bottom:1.25rem}.field label[data-v-2158d9db]{display:block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;color:var(--text-secondary);margin-bottom:.4rem}.field input[data-v-2158d9db]{width:100%;background:#00000040;border:1px solid var(--border);border-radius:2px;padding:.65rem .75rem;color:var(--text-primary);font-size:.9rem;font-family:var(--font-mono);outline:none;transition:border-color .2s,box-shadow .2s}.field input[data-v-2158d9db]:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #00d4ff1f}.field input[data-v-2158d9db]:disabled{opacity:.5;cursor:not-allowed}.field input[data-v-2158d9db]::placeholder{color:var(--text-muted)}.error-banner[data-v-2158d9db]{display:flex;align-items:center;gap:.5rem;background:#ff4d6a1a;border:1px solid rgba(255,77,106,.4);border-radius:2px;padding:.6rem .75rem;color:var(--red);font-family:var(--font-mono);font-size:.78rem;margin-bottom:1rem}.error-icon[data-v-2158d9db]{flex-shrink:0}.error-slide-enter-active[data-v-2158d9db],.error-slide-leave-active[data-v-2158d9db]{transition:opacity .2s,transform .2s}.error-slide-enter-from[data-v-2158d9db],.error-slide-leave-to[data-v-2158d9db]{opacity:0;transform:translateY(-6px)}.login-btn[data-v-2158d9db]{width:100%;padding:.75rem;background:linear-gradient(135deg,#00d4ff26,#0066ff26);border:1px solid var(--border-strong);border-radius:2px;color:var(--cyan);font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.15em;cursor:pointer;transition:background .2s,box-shadow .2s,border-color .2s;margin-top:.25rem}.login-btn[data-v-2158d9db]:hover:not(:disabled){background:linear-gradient(135deg,#00d4ff40,#0066ff40);box-shadow:0 0 20px #00d4ff33}.login-btn[data-v-2158d9db]:disabled{opacity:.6;cursor:not-allowed}.card-footer[data-v-2158d9db]{margin-top:1.75rem;font-family:var(--font-mono);font-size:.6rem;color:var(--text-muted);text-align:center;letter-spacing:.08em}.success-card[data-v-2158d9db]{position:relative;z-index:1;width:100%;max-width:420px;margin:1rem;background:var(--bg-card);border:1px solid rgba(0,255,136,.4);border-radius:4px;padding:3rem 2.5rem;box-shadow:0 0 60px #00ff881f,0 20px 60px #0006;display:flex;flex-direction:column;align-items:center;gap:1.25rem}.success-ring[data-v-2158d9db]{width:80px;height:80px}.success-circle[data-v-2158d9db]{stroke-dasharray:176;stroke-dashoffset:176;animation:draw-circle-2158d9db .5s ease forwards}.success-check[data-v-2158d9db]{stroke-dasharray:40;stroke-dashoffset:40;animation:draw-check-2158d9db .35s ease .45s forwards}@keyframes draw-circle-2158d9db{to{stroke-dashoffset:0}}@keyframes draw-check-2158d9db{to{stroke-dashoffset:0}}.success-title[data-v-2158d9db]{font-family:var(--font-mono);font-size:1rem;font-weight:700;letter-spacing:.2em;color:var(--green)}.success-sub[data-v-2158d9db]{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);letter-spacing:.08em}.card-fade-enter-active[data-v-2158d9db]{transition:opacity .3s ease,transform .3s ease}.card-fade-leave-active[data-v-2158d9db]{transition:opacity .25s ease,transform .25s ease}.card-fade-enter-from[data-v-2158d9db]{opacity:0;transform:scale(.97) translateY(8px)}.card-fade-leave-to[data-v-2158d9db]{opacity:0;transform:scale(1.02) translateY(-6px)}.blink[data-v-2158d9db]{animation:blink-2158d9db 1s step-end infinite}@keyframes blink-2158d9db{0%,to{opacity:1}50%{opacity:0}}.dashboard[data-v-5b448d79]{min-height:100vh;background:var(--bg-base);display:flex;flex-direction:column}.top-bar[data-v-5b448d79]{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.brand[data-v-5b448d79]{display:flex;align-items:center;gap:.6rem}.brand-icon[data-v-5b448d79]{width:24px;height:24px}.brand-name[data-v-5b448d79]{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--cyan);letter-spacing:.12em}.top-right[data-v-5b448d79]{display:flex;align-items:center;gap:.75rem}.status-dot[data-v-5b448d79]{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse-dot-5b448d79 2s ease-in-out infinite}@keyframes pulse-dot-5b448d79{0%,to{opacity:1}50%{opacity:.5}}.user-label[data-v-5b448d79]{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary)}.user-role[data-v-5b448d79]{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--cyan);background:var(--cyan-dim);border:1px solid var(--border);border-radius:2px;padding:.15rem .45rem}.logout-btn[data-v-5b448d79]{background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;padding:.3rem .7rem;cursor:pointer;transition:border-color .2s,color .2s}.logout-btn[data-v-5b448d79]:hover{border-color:var(--red);color:var(--red)}.main-content[data-v-5b448d79]{flex:1;padding:2.5rem 2rem;max-width:960px;width:100%;margin:0 auto}.page-title[data-v-5b448d79]{margin-bottom:2rem}.page-title h1[data-v-5b448d79]{font-family:var(--font-mono);font-size:1.4rem;font-weight:700;letter-spacing:.15em;color:var(--text-primary)}.page-sub[data-v-5b448d79]{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);letter-spacing:.1em}.cards[data-v-5b448d79]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.card[data-v-5b448d79]{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.5rem;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.card[data-v-5b448d79]:hover{border-color:var(--border-strong);background:var(--bg-card-hover);box-shadow:0 0 20px #00d4ff14}.card-icon[data-v-5b448d79]{font-size:1.75rem;margin-bottom:.75rem}.card-label[data-v-5b448d79]{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--cyan);margin-bottom:.3rem}.card-hint[data-v-5b448d79]{font-size:.8rem;color:var(--text-secondary)}.error-page[data-v-41109da3]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden}.bg-grid[data-v-41109da3]{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,77,106,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,77,106,.08) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.content[data-v-41109da3]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.error-code[data-v-41109da3]{font-family:var(--font-mono);font-size:clamp(6rem,20vw,10rem);font-weight:900;line-height:1;color:transparent;background:linear-gradient(180deg,#ff4d6a,#ff4d6a4d);-webkit-background-clip:text;background-clip:text;letter-spacing:-.04em;animation:glitch-41109da3 6s infinite;position:relative}.error-code[data-v-41109da3]:before,.error-code[data-v-41109da3]:after{content:"401";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ff4d6a,#ff4d6a4d);-webkit-background-clip:text;background-clip:text;color:transparent}.error-code[data-v-41109da3]:before{left:2px;clip-path:polygon(0 20%,100% 20%,100% 40%,0 40%);animation:glitch-clip1-41109da3 6s infinite;opacity:.5}.error-code[data-v-41109da3]:after{left:-2px;clip-path:polygon(0 60%,100% 60%,100% 75%,0 75%);animation:glitch-clip2-41109da3 6s infinite;opacity:.5}@keyframes glitch-41109da3{0%,90%,to{transform:translate(0)}91%{transform:translate(-2px,1px)}92%{transform:translate(2px,-1px)}93%{transform:translate(0)}}@keyframes glitch-clip1-41109da3{0%,90%,to{transform:translate(0);opacity:0}91%{transform:translate(-4px);opacity:.5}92%{transform:translate(4px);opacity:.5}93%{transform:translate(0);opacity:0}}@keyframes glitch-clip2-41109da3{0%,90%,to{transform:translate(0);opacity:0}91%{transform:translate(4px);opacity:.5}92%{transform:translate(-4px);opacity:.5}93%{transform:translate(0);opacity:0}}.error-badge[data-v-41109da3]{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.25em;color:var(--red);background:#ff4d6a1a;border:1px solid rgba(255,77,106,.4);border-radius:2px;padding:.3rem .9rem;margin-top:.5rem;margin-bottom:1.5rem}.error-message[data-v-41109da3]{color:var(--text-secondary);font-size:.9rem;line-height:1.7;max-width:380px;margin-bottom:2.5rem}.action-btn[data-v-41109da3]{display:inline-block;padding:.75rem 2rem;background:transparent;border:1px solid rgba(255,77,106,.5);border-radius:2px;color:var(--red);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-decoration:none;cursor:pointer;transition:background .2s,box-shadow .2s}.action-btn[data-v-41109da3]:hover{background:#ff4d6a1a;box-shadow:0 0 20px #ff4d6a33}.scan-line[data-v-41109da3]{position:fixed;top:-100%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,77,106,.4),transparent);animation:scan-41109da3 8s linear infinite;pointer-events:none}@keyframes scan-41109da3{0%{top:-2px}to{top:100vh}}.error-page[data-v-8ad6a377]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden}.bg-grid[data-v-8ad6a377]{position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,77,106,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,77,106,.08) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.content[data-v-8ad6a377]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.lock-icon[data-v-8ad6a377]{width:52px;height:52px;margin-bottom:1rem;animation:pulse-8ad6a377 3s ease-in-out infinite}@keyframes pulse-8ad6a377{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.error-code[data-v-8ad6a377]{font-family:var(--font-mono);font-size:clamp(6rem,20vw,10rem);font-weight:900;line-height:1;color:transparent;background:linear-gradient(180deg,#ff4d6a,#ff4d6a40);-webkit-background-clip:text;background-clip:text;letter-spacing:-.04em}.error-badge[data-v-8ad6a377]{font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.25em;color:var(--red);background:#ff4d6a1a;border:1px solid rgba(255,77,106,.4);border-radius:2px;padding:.3rem .9rem;margin-top:.5rem;margin-bottom:1.5rem}.error-message[data-v-8ad6a377]{color:var(--text-secondary);font-size:.9rem;line-height:1.7;max-width:380px;margin-bottom:2.5rem}.action-row[data-v-8ad6a377]{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.action-btn[data-v-8ad6a377]{display:inline-block;padding:.7rem 1.5rem;background:transparent;border:1px solid rgba(255,77,106,.5);border-radius:2px;color:var(--red);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-decoration:none;cursor:pointer;transition:background .2s,box-shadow .2s}.action-btn[data-v-8ad6a377]:hover{background:#ff4d6a1a;box-shadow:0 0 20px #ff4d6a33}.action-btn.secondary[data-v-8ad6a377]{border-color:var(--border);color:var(--text-secondary)}.action-btn.secondary[data-v-8ad6a377]:hover{border-color:var(--border-strong);background:var(--cyan-dim);color:var(--cyan);box-shadow:none}.scan-line[data-v-8ad6a377]{position:fixed;top:-100%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,77,106,.4),transparent);animation:scan-8ad6a377 8s linear infinite;pointer-events:none}@keyframes scan-8ad6a377{0%{top:-2px}to{top:100vh}}.content[data-v-03822121]{max-width:1000px}.content[data-v-3a83cebd]{max-width:1100px}.modal-card[data-v-3a83cebd]{max-width:460px}.page-title-sub[data-v-3a83cebd]{color:var(--text-secondary);font-weight:400}.top-right-actions[data-v-3a83cebd]{display:flex;align-items:center;gap:.6rem}.refresh-btn[data-v-3a83cebd]{background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;padding:.4rem .9rem;cursor:pointer;transition:border-color .2s,color .2s}.refresh-btn[data-v-3a83cebd]:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.refresh-btn[data-v-3a83cebd]:disabled{opacity:.5;cursor:not-allowed}.section-label[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.15em;color:var(--text-secondary);margin-bottom:1.25rem}.empty-hint[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.type-grid[data-v-3a83cebd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.type-card[data-v-3a83cebd]{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:1.4rem 1.25rem;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:.35rem;transition:border-color .2s,box-shadow .2s,background .2s}.type-card[data-v-3a83cebd]:hover{border-color:var(--cyan);background:var(--bg-card-hover);box-shadow:0 0 20px #00d4ff14}.type-card-key[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--cyan)}.type-card-name[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.85rem;color:var(--text-primary)}.type-card-count[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.status-badge[data-v-3a83cebd]{font-size:.6rem;letter-spacing:.1em;padding:.2rem .5rem;border-radius:2px;border:1px solid currentColor}.status-badge--online[data-v-3a83cebd]{color:var(--green)}.status-badge--offline[data-v-3a83cebd]{color:var(--text-secondary)}.status-badge--maintenance[data-v-3a83cebd]{color:#f0a500}.status-badge--error[data-v-3a83cebd]{color:var(--red)}.state-cell[data-v-3a83cebd]{display:inline-flex;flex-direction:column;gap:.15rem}.state-value[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);font-weight:600}.state-msg[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.65rem;color:var(--text-secondary)}.apikey-badge[data-v-3a83cebd]{font-size:.6rem;letter-spacing:.1em;padding:.2rem .5rem;border-radius:2px;border:1px solid currentColor}.apikey-badge--set[data-v-3a83cebd]{color:var(--green)}.apikey-badge--none[data-v-3a83cebd],.action-btn--logs[data-v-3a83cebd]{color:var(--text-secondary)}.action-btn--logs[data-v-3a83cebd]:hover{border-color:var(--text-secondary);color:var(--text-primary)}.action-btn--key[data-v-3a83cebd]{color:#f0a500}.action-btn--key[data-v-3a83cebd]:hover{border-color:#f0a500}.warn[data-v-3a83cebd]{color:#f0a500}.apikey-warning[data-v-3a83cebd]{background:#f0a50014;border:1px solid rgba(240,165,0,.4);border-radius:2px;padding:.6rem .75rem;font-family:var(--font-mono);font-size:.75rem;color:#f0a500;margin-bottom:1rem}.apikey-box[data-v-3a83cebd]{display:flex;align-items:center;gap:.75rem;background:#0000004d;border:1px solid var(--border);border-radius:2px;padding:.65rem .75rem;margin-bottom:.5rem}.apikey-value[data-v-3a83cebd]{flex:1;font-family:var(--font-mono);font-size:.72rem;color:var(--cyan);word-break:break-all}.copy-btn[data-v-3a83cebd]{flex-shrink:0;background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;padding:.25rem .6rem;cursor:pointer;transition:border-color .2s,color .2s}.copy-btn[data-v-3a83cebd]:hover{border-color:var(--cyan);color:var(--cyan)}.copy-btn--copied[data-v-3a83cebd]{border-color:var(--green)!important;color:var(--green)!important}.log-toolbar[data-v-3a83cebd]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.level-filters[data-v-3a83cebd]{display:flex;gap:.4rem}.level-btn[data-v-3a83cebd]{background:transparent;border:1px solid var(--border);border-radius:2px;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;padding:.3rem .65rem;cursor:pointer;color:var(--text-secondary);transition:border-color .15s,color .15s,background .15s}.level-btn--active.level-btn--all[data-v-3a83cebd],.level-btn--active.level-btn--info[data-v-3a83cebd]{border-color:var(--cyan);color:var(--cyan);background:#00d4ff12}.level-btn--active.level-btn--warning[data-v-3a83cebd]{border-color:#f0a500;color:#f0a500;background:#f0a50012}.level-btn--active.level-btn--error[data-v-3a83cebd]{border-color:var(--red);color:var(--red);background:#ff4d6a12}.level-btn[data-v-3a83cebd]:not(.level-btn--active):hover{border-color:var(--border-strong);color:var(--text-primary)}.log-count[data-v-3a83cebd]{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);letter-spacing:.08em}.log-table[data-v-3a83cebd]{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.78rem}.log-table th[data-v-3a83cebd]{text-align:left;font-size:.65rem;letter-spacing:.12em;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:.5rem .75rem}.log-table td[data-v-3a83cebd]{padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.log-table tr:last-child td[data-v-3a83cebd]{border-bottom:none}.log-row:hover td[data-v-3a83cebd]{background:var(--bg-card-hover)}.event-cell[data-v-3a83cebd]{white-space:nowrap}.message-cell[data-v-3a83cebd]{color:var(--text-primary);word-break:break-word}.level-badge[data-v-3a83cebd]{font-size:.6rem;letter-spacing:.1em;padding:.2rem .5rem;border-radius:2px;border:1px solid currentColor;white-space:nowrap}.level-badge--info[data-v-3a83cebd]{color:var(--cyan)}.level-badge--warning[data-v-3a83cebd]{color:#f0a500}.level-badge--error[data-v-3a83cebd]{color:var(--red)}.load-more-row[data-v-3a83cebd]{display:flex;justify-content:center;padding:1.5rem 0}.load-more-btn[data-v-3a83cebd]{background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;padding:.5rem 1.5rem;cursor:pointer;transition:border-color .2s,color .2s}.load-more-btn[data-v-3a83cebd]:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.load-more-btn[data-v-3a83cebd]:disabled{opacity:.5;cursor:not-allowed}.auto-refresh-label[data-v-3a83cebd]{display:flex;align-items:center;gap:.35rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.auto-refresh-label input[data-v-3a83cebd]{accent-color:var(--cyan);cursor:pointer}.content[data-v-b272c314]{max-width:900px}.optional[data-v-b272c314]{font-size:.6rem;opacity:.6}.page{min-height:100vh;background:var(--bg-base);display:flex;flex-direction:column}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.top-left{display:flex;align-items:center;gap:1rem}.back-btn{background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;padding:.3rem .7rem;cursor:pointer;transition:border-color .2s,color .2s}.back-btn:hover{border-color:var(--cyan);color:var(--cyan)}.page-title{font-family:var(--font-mono);font-size:.85rem;font-weight:700;letter-spacing:.15em;color:var(--cyan)}.create-btn{background:linear-gradient(135deg,#00d4ff26,#0066ff26);border:1px solid var(--border-strong);border-radius:2px;color:var(--cyan);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.4rem .9rem;cursor:pointer;transition:background .2s,box-shadow .2s}.create-btn:hover{background:linear-gradient(135deg,#00d4ff40,#0066ff40);box-shadow:0 0 16px #00d4ff33}.content{flex:1;padding:2rem;width:100%;margin:0 auto}.loading-row{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);padding:2rem 0}.blink{animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.8rem}.data-table th{text-align:left;font-size:.65rem;letter-spacing:.12em;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:.5rem .75rem}.data-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--bg-card-hover)}.key-cell{color:var(--cyan);font-weight:700}.dim{color:var(--text-secondary);font-size:.75rem}.empty-cell{text-align:center;color:var(--text-secondary);padding:2rem!important}.actions-cell{display:flex;gap:.5rem}.action-btn{background:transparent;border:1px solid var(--border);border-radius:2px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;padding:.25rem .55rem;cursor:pointer;transition:border-color .2s,color .2s}.action-btn:disabled{opacity:.3;cursor:not-allowed}.action-btn--edit{color:var(--cyan)}.action-btn--edit:hover:not(:disabled){border-color:var(--cyan)}.action-btn--delete{color:var(--red)}.action-btn--delete:hover:not(:disabled){border-color:var(--red)}.banner{display:flex;align-items:center;gap:.5rem;border-radius:2px;padding:.6rem .75rem;font-family:var(--font-mono);font-size:.78rem;margin-bottom:1rem}.banner--error{background:#ff4d6a1a;border:1px solid rgba(255,77,106,.4);color:var(--red)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-card{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:4px;padding:1.75rem;width:100%;max-width:440px;box-shadow:0 0 60px #00d4ff14,0 20px 60px #00000080}.modal-card--narrow{max-width:360px}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.12em;color:var(--cyan)}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:.85rem;cursor:pointer;padding:.1rem .3rem;transition:color .2s}.modal-close:hover{color:var(--red)}.field{margin-bottom:1.1rem}.field label{display:block;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;color:var(--text-secondary);margin-bottom:.4rem}.field input{width:100%;background:#00000040;border:1px solid var(--border);border-radius:2px;padding:.6rem .75rem;color:var(--text-primary);font-size:.85rem;font-family:var(--font-mono);outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.field input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #00d4ff1f}.field input:disabled{opacity:.5;cursor:not-allowed}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.cancel-btn{background:transparent;border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;padding:.45rem .9rem;cursor:pointer;transition:border-color .2s,color .2s}.cancel-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--text-primary)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn{background:linear-gradient(135deg,#00d4ff26,#0066ff26);border:1px solid var(--border-strong);border-radius:2px;color:var(--cyan);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.45rem .9rem;cursor:pointer;transition:background .2s,box-shadow .2s}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#00d4ff40,#0066ff40);box-shadow:0 0 14px #00d4ff33}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.delete-confirm-btn{background:#ff4d6a1f;border:1px solid rgba(255,77,106,.5);border-radius:2px;color:var(--red);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.1em;padding:.45rem .9rem;cursor:pointer;transition:background .2s,box-shadow .2s}.delete-confirm-btn:hover:not(:disabled){background:#ff4d6a38;box-shadow:0 0 14px #ff4d6a33}.delete-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-text{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.confirm-text strong{color:var(--text-primary)}.toast{position:fixed;bottom:1.75rem;right:1.75rem;z-index:200;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.06em;padding:.7rem 1.1rem;border-radius:3px;pointer-events:none}.toast--success{background:#00ff881a;border:1px solid rgba(0,255,136,.45);color:var(--green);box-shadow:0 0 20px #00ff881f}.toast--error{background:#ff4d6a1a;border:1px solid rgba(255,77,106,.45);color:var(--red)}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .2s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.error-slide-enter-active,.error-slide-leave-active{transition:opacity .2s,transform .2s}.error-slide-enter-from,.error-slide-leave-to{opacity:0;transform:translateY(-5px)}.toast-slide-enter-active,.toast-slide-leave-active{transition:opacity .25s ease,transform .25s ease}.toast-slide-enter-from,.toast-slide-leave-to{opacity:0;transform:translateY(10px)}
