@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-primary:#0f1117;--bg-secondary:#161922;--card-bg:#161922cc;--border-color:#ffffff0f;--text-primary:#f1f3f8;--text-secondary:#a0a6b8;--text-muted:#636a80;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--accent-primary-muted:#6366f14d;--accent-primary-bg:#6366f114;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 60% at 20% 10%,#6366f10f 0%,#0000 60%),radial-gradient(60% 50% at 80% 90%,#8b5cf60a 0%,#0000 50%);position:fixed;inset:0}#app{z-index:1;position:relative}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}::selection{color:#fff;background:#6366f14d}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}.login-page[data-v-bb742e3a]{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.bg-orb[data-v-bb742e3a]{filter:blur(80px);pointer-events:none;border-radius:50%;animation:20s ease-in-out infinite float-bb742e3a;position:fixed}.orb-1[data-v-bb742e3a]{background:#6366f11f;width:400px;height:400px;animation-delay:0s;top:-10%;left:-5%}.orb-2[data-v-bb742e3a]{background:#8b5cf61a;width:350px;height:350px;animation-delay:-7s;bottom:-15%;right:-10%}.orb-3[data-v-bb742e3a]{background:#3b82f614;width:250px;height:250px;animation-delay:-14s;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes float-bb742e3a{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-40px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(15px,30px)scale(1.02)}}.login-container[data-v-bb742e3a]{z-index:1;width:100%;max-width:400px;animation:.6s cubic-bezier(.16,1,.3,1) both slide-in-bb742e3a}@keyframes slide-in-bb742e3a{0%{opacity:0;transform:translateY(30px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-logo[data-v-bb742e3a]{text-align:center;margin-bottom:32px}.logo-glow[data-v-bb742e3a]{margin-bottom:16px;display:inline-flex;position:relative}.logo-glow[data-v-bb742e3a]:before{content:"";background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));opacity:.2;filter:blur(12px);border-radius:20px;animation:3s ease-in-out infinite glow-pulse-bb742e3a;position:absolute;inset:-8px}@keyframes glow-pulse-bb742e3a{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.35;transform:scale(1.05)}}.logo-icon[data-v-bb742e3a]{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;display:flex;position:relative;box-shadow:0 8px 24px #6366f14d}.login-logo h1[data-v-bb742e3a]{color:var(--text-primary);margin:0;font-size:1.6rem;font-weight:700}.login-subtitle[data-v-bb742e3a]{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.login-card[data-v-bb742e3a]{-webkit-backdrop-filter:blur(20px);background:#161922b3;border:1px solid #ffffff14;border-radius:20px;padding:36px 32px 28px;box-shadow:0 20px 60px #0000004d,inset 0 0 0 1px #ffffff0d}.card-header[data-v-bb742e3a]{align-items:center;gap:10px;margin-bottom:28px;display:flex}.lock-icon[data-v-bb742e3a]{color:#10b981;background:linear-gradient(135deg,#10b98126,#10b9810d);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.card-header h2[data-v-bb742e3a]{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:600}.login-form[data-v-bb742e3a]{flex-direction:column;gap:16px;display:flex}.input-group[data-v-bb742e3a]{background:#0f111799;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:0 14px;transition:all .25s;display:flex}.input-group.focused[data-v-bb742e3a]{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.input-group.error[data-v-bb742e3a]{border-color:#ef4444;animation:.5s shake-bb742e3a;box-shadow:0 0 0 3px #ef44441a}@keyframes shake-bb742e3a{0%,to{transform:translate(0)}15%,45%,75%{transform:translate(-4px)}30%,60%,90%{transform:translate(4px)}}.input-group label[data-v-bb742e3a]{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.input-group.focused label[data-v-bb742e3a]{color:var(--accent-primary)}.input-group input[data-v-bb742e3a]{color:var(--text-primary);font-size:.92rem;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:14px 0}.input-group input[data-v-bb742e3a]::placeholder{color:var(--text-muted)}.input-group input[data-v-bb742e3a]:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #0f1117e6}.input-group input[data-v-bb742e3a]:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #0f1117e6}.input-group input[data-v-bb742e3a]:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);transition:background-color 5000s ease-in-out;-webkit-box-shadow:inset 0 0 0 1000px #0f1117e6}.toggle-password[data-v-bb742e3a]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.toggle-password[data-v-bb742e3a]:hover{color:var(--text-secondary)}.error-msg[data-v-bb742e3a]{color:#f87171;background:#ef444414;border:1px solid #ef444426;border-radius:10px;align-items:center;gap:6px;padding:10px 14px;font-size:.82rem;animation:.5s shake-bb742e3a;display:flex}.retry-timer[data-v-bb742e3a]{color:#fbbf24;font-weight:600}.shake-enter-active[data-v-bb742e3a]{animation:.5s shake-bb742e3a}.btn-login[data-v-bb742e3a]{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;cursor:pointer;width:100%;font-size:.95rem;font-weight:600;font-family:var(--font-sans);border:none;border-radius:12px;margin-top:4px;padding:14px;transition:all .3s;position:relative;overflow:hidden}.btn-login[data-v-bb742e3a]:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .3s;position:absolute;inset:0}.btn-login[data-v-bb742e3a]:hover:not(:disabled):before{opacity:1}.btn-login[data-v-bb742e3a]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #6366f159}.btn-login[data-v-bb742e3a]:active:not(:disabled){transform:translateY(0)}.btn-login[data-v-bb742e3a]:disabled{opacity:.5;cursor:not-allowed}.btn-content[data-v-bb742e3a]{justify-content:center;align-items:center;gap:8px;display:flex}.btn-spinner[data-v-bb742e3a]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin-bb742e3a}@keyframes spin-bb742e3a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.security-badge[data-v-bb742e3a]{color:var(--text-muted);border-top:1px solid #ffffff0a;justify-content:center;align-items:center;gap:6px;margin-top:20px;padding-top:16px;font-size:.72rem;display:flex}.security-badge svg[data-v-bb742e3a]{color:#10b981}@media (width<=480px){.login-card[data-v-bb742e3a]{padding:28px 20px 22px}.login-logo h1[data-v-bb742e3a]{font-size:1.4rem}}.message-card[data-v-1660188f]{background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;padding:16px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.message-card[data-v-1660188f]:before{content:"";background:linear-gradient(180deg, var(--accent-primary), var(--accent-secondary));opacity:0;width:3px;height:100%;transition:opacity .25s;position:absolute;top:0;left:0}.message-card[data-v-1660188f]:hover{border-color:var(--accent-primary-muted);transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.message-card[data-v-1660188f]:hover:before,.message-card.expanded[data-v-1660188f]:before{opacity:1}.card-header[data-v-1660188f]{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.card-source[data-v-1660188f]{align-items:center;gap:10px;display:flex}.source-icon[data-v-1660188f]{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.source-info[data-v-1660188f]{flex-direction:column;gap:2px;display:flex}.source-from[data-v-1660188f]{color:var(--text-primary);font-size:.95rem;font-weight:600}.source-device[data-v-1660188f]{color:var(--text-muted);align-items:center;gap:4px;font-size:.78rem;display:flex}.card-meta[data-v-1660188f]{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.meta-time[data-v-1660188f]{color:var(--text-muted);font-size:.78rem}.meta-sim[data-v-1660188f]{color:var(--accent-primary);background:var(--accent-primary-bg);border-radius:10px;padding:1px 8px;font-size:.7rem;font-weight:500}.card-content p[data-v-1660188f]{color:var(--text-secondary);word-break:break-word;white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.6}.card-content p.truncated[data-v-1660188f]{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card-actions[data-v-1660188f]{border-top:1px solid var(--border-color);gap:8px;margin-top:12px;padding-top:12px;display:flex}.card-actions button[data-v-1660188f]{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;transition:all .2s;display:flex}.btn-copy[data-v-1660188f]:hover{background:var(--accent-primary-bg);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.btn-delete[data-v-1660188f]:hover{color:#ef4444;background:#ef44441a;border-color:#ef44444d}.dashboard[data-v-16056540]{max-width:800px;margin:0 auto;padding:24px 16px 60px}.dash-header[data-v-16056540]{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.logo[data-v-16056540]{align-items:center;gap:12px;display:flex}.logo-icon[data-v-16056540]{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 4px 12px #6366f14d}.logo h1[data-v-16056540]{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.subtitle[data-v-16056540]{color:var(--text-muted);margin:0;font-size:.78rem}.status-indicator[data-v-16056540]{color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;display:flex}.status-dot[data-v-16056540]{background:#6b7280;border-radius:50%;width:8px;height:8px}.status-indicator.active .status-dot[data-v-16056540]{background:#10b981;animation:2s infinite pulse-dot-16056540;box-shadow:0 0 8px #10b98180}@keyframes pulse-dot-16056540{0%,to{opacity:1}50%{opacity:.5}}.stats-grid[data-v-16056540]{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.stat-card[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;align-items:center;gap:12px;padding:16px;transition:all .2s;display:flex}.stat-card[data-v-16056540]:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.stat-icon[data-v-16056540]{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.stat-icon.total[data-v-16056540]{color:var(--accent-primary);background:linear-gradient(135deg,#6366f126,#6366f10d)}.stat-icon.today[data-v-16056540]{color:#10b981;background:linear-gradient(135deg,#10b98126,#10b9810d)}.stat-icon.devices[data-v-16056540]{color:#f59e0b;background:linear-gradient(135deg,#f59e0b26,#f59e0b0d)}.stat-info[data-v-16056540]{flex-direction:column;display:flex}.stat-value[data-v-16056540]{color:var(--text-primary);font-size:1.4rem;font-weight:700;line-height:1}.stat-label[data-v-16056540]{color:var(--text-muted);margin-top:4px;font-size:.75rem}.filters[data-v-16056540]{gap:10px;margin-bottom:20px;display:flex}.search-box[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;transition:border-color .2s;display:flex}.search-box[data-v-16056540]:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-bg)}.search-box svg[data-v-16056540]{color:var(--text-muted);flex-shrink:0}.search-box input[data-v-16056540]{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-size:.88rem}.search-box input[data-v-16056540]::placeholder{color:var(--text-muted)}.filter-select[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:10px;outline:none;min-width:120px;padding:10px 14px;font-size:.85rem;transition:border-color .2s}.filter-select[data-v-16056540]:focus{border-color:var(--accent-primary)}.btn-refresh[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-refresh[data-v-16056540]:hover{background:var(--accent-primary-bg);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.btn-refresh.spinning svg[data-v-16056540]{animation:1s linear infinite spin-16056540}@keyframes spin-16056540{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-list[data-v-16056540]{flex-direction:column;gap:10px;display:flex}.loading-state[data-v-16056540],.empty-state[data-v-16056540]{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.spinner[data-v-16056540]{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin-16056540}.empty-state svg[data-v-16056540]{opacity:.3;margin-bottom:16px}.empty-state p[data-v-16056540]{margin-bottom:8px;font-size:1.1rem}.empty-state span[data-v-16056540]{margin-bottom:6px;font-size:.85rem}.empty-state code[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--accent-primary);border-radius:8px;padding:6px 14px;font-size:.85rem}.pagination[data-v-16056540]{justify-content:center;align-items:center;gap:16px;margin-top:24px;display:flex}.page-btn[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.page-btn[data-v-16056540]:hover:not(:disabled){background:var(--accent-primary-bg);color:var(--accent-primary);border-color:var(--accent-primary-muted)}.page-btn[data-v-16056540]:disabled{opacity:.3;cursor:not-allowed}.page-info[data-v-16056540]{color:var(--text-muted);font-size:.85rem}.modal-overlay[data-v-16056540]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fade-in-16056540;display:flex;position:fixed;inset:0}@keyframes fade-in-16056540{0%{opacity:0}to{opacity:1}}.modal[data-v-16056540]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:16px;width:90%;max-width:380px;padding:28px;animation:.3s slide-up-16056540;box-shadow:0 20px 60px #0000004d}@keyframes slide-up-16056540{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h3[data-v-16056540]{color:var(--text-primary);margin:0 0 8px;font-size:1.1rem}.modal p[data-v-16056540]{color:var(--text-secondary);margin:0 0 20px;font-size:.9rem}.modal-actions[data-v-16056540]{justify-content:flex-end;gap:10px;display:flex}.btn-cancel[data-v-16056540],.btn-confirm-delete[data-v-16056540]{cursor:pointer;border:1px solid var(--border-color);border-radius:8px;padding:8px 20px;font-size:.85rem;transition:all .2s}.btn-cancel[data-v-16056540]{color:var(--text-secondary);background:0 0}.btn-cancel[data-v-16056540]:hover{background:var(--card-bg)}.btn-confirm-delete[data-v-16056540]{color:#fff;background:#ef4444;border-color:#ef4444}.btn-confirm-delete[data-v-16056540]:hover{background:#dc2626}@media (width<=600px){.stats-grid[data-v-16056540]{grid-template-columns:1fr}.filters[data-v-16056540]{flex-wrap:wrap}.search-box[data-v-16056540]{width:100%}.filter-select[data-v-16056540]{flex:1}.user-name[data-v-16056540]{display:none}}.header-right[data-v-16056540]{align-items:center;gap:10px;display:flex}.user-menu[data-v-16056540]{position:relative}.user-btn[data-v-16056540]{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-family:var(--font-sans);border-radius:10px;align-items:center;gap:8px;padding:6px 12px;transition:all .2s;display:flex}.user-btn[data-v-16056540]:hover{border-color:var(--accent-primary-muted);color:var(--text-primary)}.user-avatar[data-v-16056540]{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.user-name[data-v-16056540]{font-weight:500}.user-btn svg.rotated[data-v-16056540]{transform:rotate(180deg)}.user-btn svg[data-v-16056540]{transition:transform .2s}.dropdown-menu[data-v-16056540]{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100;border-radius:12px;min-width:160px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #0000004d}.dropdown-item[data-v-16056540]{width:100%;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-family:var(--font-sans);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:all .15s;display:flex}.dropdown-item[data-v-16056540]:hover{background:var(--accent-primary-bg);color:var(--text-primary)}.dropdown-item.danger[data-v-16056540]:hover{color:#ef4444;background:#ef444414}.dropdown-enter-active[data-v-16056540]{animation:.2s dropdown-in-16056540}.dropdown-leave-active[data-v-16056540]{animation:.15s reverse dropdown-in-16056540}@keyframes dropdown-in-16056540{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.password-form[data-v-16056540]{flex-direction:column;gap:14px;display:flex}.modal-input-group[data-v-16056540]{flex-direction:column;gap:4px;display:flex}.modal-input-group label[data-v-16056540]{color:var(--text-muted);font-size:.8rem;font-weight:500}.modal-input-group input[data-v-16056540]{border:1px solid var(--border-color);color:var(--text-primary);font-size:.88rem;font-family:var(--font-sans);background:#0f111799;border-radius:8px;outline:none;padding:10px 12px;transition:border-color .2s}.modal-input-group input[data-v-16056540]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a}.password-error[data-v-16056540]{color:#f87171;margin:0;font-size:.82rem}.password-success[data-v-16056540]{color:#10b981;margin:0;font-size:.82rem}.btn-confirm[data-v-16056540]{cursor:pointer;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;font-size:.85rem;font-family:var(--font-sans);border:none;border-radius:8px;padding:8px 20px;transition:all .2s}.btn-confirm[data-v-16056540]:hover:not(:disabled){box-shadow:0 4px 12px #6366f14d}.btn-confirm[data-v-16056540]:disabled{opacity:.5;cursor:not-allowed}
