.install-prompt[data-v-4693d2da]{position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:1000;animation:slideUp-4693d2da .3s ease-out}@keyframes slideUp-4693d2da{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-content[data-v-4693d2da]{background:var(--bg-card, white);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;padding:1rem;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:1rem}.install-icon[data-v-4693d2da]{font-size:2rem;flex-shrink:0}.install-text[data-v-4693d2da]{flex:1}.install-text strong[data-v-4693d2da]{display:block;color:var(--text-primary, #2c3e50);margin-bottom:.25rem}.install-text p[data-v-4693d2da]{margin:0;font-size:.85rem;color:var(--text-secondary, #7f8c8d)}.install-actions[data-v-4693d2da]{display:flex;gap:.5rem;align-items:center}.btn-install[data-v-4693d2da]{background:#667eea;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-install[data-v-4693d2da]:hover{background:#5568d3}.btn-dismiss[data-v-4693d2da]{background:transparent;border:none;color:var(--text-secondary, #95a5a6);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-dismiss[data-v-4693d2da]:hover{background:var(--hover-bg, #f0f0f0)}@media (min-width: 768px){.install-prompt[data-v-4693d2da]{left:auto;right:1rem;max-width:400px}}.toast[data-v-f5ae20a3]{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--surface, #111827);color:var(--fg, #f3f4f6);border:1px solid var(--line-strong, #374151);border-left:3px solid var(--brand, #34d399);padding:10px 14px;border-radius:10px;box-shadow:0 8px 30px #00000059;max-width:min(420px,calc(100vw - 36px));font-size:.86rem;z-index:2000;cursor:pointer}.toast.error[data-v-f5ae20a3]{border-left-color:var(--crit, #ef4444)}.toast.warn[data-v-f5ae20a3]{border-left-color:var(--warn, #f59e0b)}.toast-enter-active[data-v-f5ae20a3],.toast-leave-active[data-v-f5ae20a3]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-f5ae20a3],.toast-leave-to[data-v-f5ae20a3]{opacity:0;transform:translateY(8px)}:root{--bg-primary: #f5f5f5;--bg-card: #ffffff;--bg-input: #ffffff;--text-primary: #2c3e50;--text-secondary: #7f8c8d;--border-color: #ecf0f1;--accent: #667eea;--navbar-bg: #111827;--hover-bg: #f9f9f9;--btn-bg: #f3f4f6;--btn-hover-bg: #e5e7eb;--surface: #ffffff;--surface-2: #f8fafc;--line: #e5e7eb;--line-strong: #d1d5db;--fg: #111827;--fg-2: #4b5563;--fg-3: #6b7280;--brand: #059669;--brand-strong: #047857;--ok: #10b981;--warn: #d97706;--crit: #ef4444;--info: #2563eb;--muted: #6b7280;--ok-bg: rgba(16, 185, 129, .12);--warn-bg: rgba(245, 158, 11, .16);--crit-bg: rgba(239, 68, 68, .12);--info-bg: rgba(59, 130, 246, .12);--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:light}html.dark-mode{--bg-primary: #030712;--bg-card: #111827;--bg-input: #111827;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--border-color: #1f2937;--accent: #667eea;--navbar-bg: #0a0f1a;--hover-bg: #1f2937;--btn-bg: #1f2937;--btn-hover-bg: #374151;--surface: #111827;--surface-2: #0b1220;--line: #1f2937;--line-strong: #374151;--fg: #f3f4f6;--fg-2: #9ca3af;--fg-3: #6b7280;--brand: #34d399;--brand-strong: #059669;--ok: #10b981;--warn: #f59e0b;--crit: #ef4444;--info: #60a5fa;--muted: #6b7280;--ok-bg: rgba(16, 185, 129, .12);--warn-bg: rgba(245, 158, 11, .13);--crit-bg: rgba(239, 68, 68, .13);--info-bg: rgba(96, 165, 250, .12);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-primary, #f5f5f5);color:var(--text-primary, #333)}#app{min-height:100vh}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.shell .main{min-width:0;grid-column:2;grid-row:1}.side{grid-column:1;grid-row:1;background:var(--surface);border-right:1px solid var(--line);padding:16px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto;font-size:14px}.side .brand{display:flex;align-items:center;gap:10px;padding:4px 8px;font-weight:700;color:var(--fg);text-decoration:none}.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--brand-strong);display:grid;place-items:center;color:#fff}.side .nav{display:flex;flex-direction:column;gap:14px}.side .nav-group{display:flex;flex-direction:column;gap:2px}.side .label{padding:0 10px 4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-3);font-weight:600}.side .nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;color:var(--fg-2);text-decoration:none}.side .nav-item:hover{background:var(--surface-2);color:var(--fg)}.side .nav-item.active{background:var(--ok-bg);color:var(--brand);font-weight:600}.side .nav-item.sub{padding-left:22px;font-size:.88rem}.nav-count{margin-left:auto;font-size:.72rem;padding:0 7px;border-radius:999px;background:var(--crit-bg);color:var(--crit);font-weight:700;text-decoration:none}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:10px 6px 0;border-top:1px solid var(--line)}.side-foot .user{font-size:.78rem;color:var(--fg-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.foot-row{display:flex;gap:6px}.foot-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:8px;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--fg-2);font:inherit;font-size:.8rem;cursor:pointer}.foot-btn:hover{color:var(--fg);border-color:var(--fg-3)}.topbar,.scrim{display:none}.shell-icon-btn{background:none;border:0;color:var(--fg-2);padding:6px;border-radius:8px;cursor:pointer;display:inline-flex}.shell-icon-btn:hover{color:var(--fg);background:var(--surface-2)}.shell :focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}@media (max-width: 760px){.shell{grid-template-columns:minmax(0,1fr)}.shell .main{grid-column:1;grid-row:2}.topbar{display:flex;align-items:center;gap:10px;grid-column:1;grid-row:1;position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line);padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px;color:var(--fg)}.topbar-brand{font-weight:700;color:var(--fg);text-decoration:none}.topbar-count{margin-left:auto}.side{position:fixed;inset:0 auto 0 0;width:260px;max-width:85vw;z-index:1001;transform:translate(-100%);transition:transform .2s;padding-top:calc(16px + env(safe-area-inset-top,0px));height:100%}.side.open{transform:none}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000}}@media (prefers-reduced-motion: reduce){.side{transition:none}}.login-container[data-v-f037a80a]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box[data-v-f037a80a]{background:var(--bg-card, white);padding:2rem;border-radius:8px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px}h1[data-v-f037a80a]{text-align:center;color:var(--text-primary, #2c3e50);margin-bottom:.5rem}.subtitle[data-v-f037a80a]{text-align:center;color:var(--text-secondary, #7f8c8d);margin-bottom:2rem}.form-group[data-v-f037a80a]{margin-bottom:1.5rem}label[data-v-f037a80a]{display:block;margin-bottom:.5rem;color:var(--text-primary, #2c3e50);font-weight:500}input[data-v-f037a80a]{width:100%;padding:.75rem;border:1px solid #bdc3c7;border-radius:4px;font-size:1rem;transition:border-color .3s;background:var(--bg-input, white);color:var(--text-primary, #2c3e50)}input[data-v-f037a80a]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}input[data-v-f037a80a]:disabled{background-color:var(--border-color, #ecf0f1);cursor:not-allowed}.btn-primary[data-v-f037a80a]{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-primary[data-v-f037a80a]:hover:not(:disabled){background-color:#5568d3}.btn-primary[data-v-f037a80a]:disabled{opacity:.6;cursor:not-allowed}.divider[data-v-f037a80a]{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--text-secondary, #7f8c8d);font-size:.85rem}.divider[data-v-f037a80a]:before,.divider[data-v-f037a80a]:after{content:"";flex:1;height:1px;background:var(--border-color, #ecf0f1)}.btn-passkey[data-v-f037a80a]{width:100%;padding:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;background:transparent;color:var(--text-primary, #2c3e50);border:1px solid #bdc3c7;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:border-color .3s,background-color .3s}.btn-passkey[data-v-f037a80a]:hover:not(:disabled){border-color:#667eea;background:#667eea14}.btn-passkey[data-v-f037a80a]:disabled{opacity:.6;cursor:not-allowed}.error-message[data-v-f037a80a]{margin-top:1rem;padding:.75rem;background-color:#fee;color:#c33;border-radius:4px;text-align:center}.success-message[data-v-f037a80a]{margin-top:1rem;padding:.75rem;background-color:#efe;color:#3c3;border-radius:4px;text-align:center}.verify-container[data-v-c1c4f7e4]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.verify-box[data-v-c1c4f7e4]{background:#fff;padding:3rem 2rem;border-radius:8px;box-shadow:0 10px 25px #0003;width:100%;max-width:400px;text-align:center}h1[data-v-c1c4f7e4]{color:#2c3e50;margin-bottom:2rem}.loading[data-v-c1c4f7e4]{text-align:center}.spinner[data-v-c1c4f7e4]{width:50px;height:50px;border:4px solid #ecf0f1;border-top:4px solid #667eea;border-radius:50%;margin:0 auto 1rem;animation:spin-c1c4f7e4 1s linear infinite}@keyframes spin-c1c4f7e4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message[data-v-c1c4f7e4],.success-message[data-v-c1c4f7e4]{padding:1.5rem;border-radius:4px;margin-top:1rem}.error-message[data-v-c1c4f7e4]{background-color:#fee;color:#c33}.error-message h2[data-v-c1c4f7e4]{margin:0 0 1rem;font-size:1.3rem}.success-message[data-v-c1c4f7e4]{background-color:#efe;color:#3c3}.success-message h2[data-v-c1c4f7e4]{margin:0 0 1rem;font-size:1.3rem}.btn-primary[data-v-c1c4f7e4]{display:inline-block;padding:.75rem 1.5rem;background-color:#667eea;color:#fff;text-decoration:none;border-radius:4px;font-weight:600;margin-top:1rem;transition:background-color .3s}.btn-primary[data-v-c1c4f7e4]:hover{background-color:#5568d3}
