*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.auth-page[data-v-25cd4665]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f1f3;padding:20px}.auth-card[data-v-25cd4665]{width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;overflow:hidden}.header[data-v-25cd4665]{text-align:center;padding:32px 32px 0}.header h1[data-v-25cd4665]{font-size:22px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.subtitle[data-v-25cd4665]{font-size:13px;color:#888;margin-top:4px}.subtitle strong[data-v-25cd4665]{color:#333}.auth-content[data-v-25cd4665]{padding:24px 32px 32px}.dashboard-layout[data-v-20e023b9]{display:flex;min-height:100vh;background:#f4f6f9}.sidebar[data-v-20e023b9]{width:240px;background:#fff;border-right:1px solid #e8ecf0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:transform .2s ease}.sidebar-brand[data-v-20e023b9]{display:flex;align-items:center;gap:10px;padding:24px 20px;font-size:17px;font-weight:700;color:#1a1a2e}.sidebar-nav[data-v-20e023b9]{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 12px}.nav-item[data-v-20e023b9]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:500;color:#555;text-decoration:none;transition:all .15s;border:none;background:none;cursor:pointer;width:100%;text-align:left}.nav-item[data-v-20e023b9]:hover{background:#f5f6f8;color:#1a1a2e}.nav-item.active[data-v-20e023b9]{background:#eef0f4;color:#1a1a2e;font-weight:600}.sidebar-footer[data-v-20e023b9]{padding:12px;border-top:1px solid #f0f0f0}.logout-btn[data-v-20e023b9]:hover{background:#fef2f2;color:#dc2626}.main-area[data-v-20e023b9]{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}.topbar[data-v-20e023b9]{background:#fff;border-bottom:1px solid #e8ecf0;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:flex-end;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000a}.topbar-user[data-v-20e023b9]{display:flex;align-items:center;gap:10px}.topbar-avatar[data-v-20e023b9]{width:34px;height:34px;border-radius:50%;background:#1a1a2e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.topbar-name[data-v-20e023b9]{font-size:14px;font-weight:500;color:#444}.content[data-v-20e023b9]{flex:1;padding:32px;max-width:900px;width:100%}.mobile-menu-btn[data-v-20e023b9]{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:#555;cursor:pointer}.sidebar-overlay[data-v-20e023b9]{display:none}@media (max-width: 768px){.sidebar[data-v-20e023b9]{transform:translate(-100%)}.dashboard-layout:has(.sidebar-overlay) .sidebar[data-v-20e023b9]{transform:translate(0)}.main-area[data-v-20e023b9]{margin-left:0}.mobile-menu-btn[data-v-20e023b9]{display:flex}.topbar[data-v-20e023b9]{justify-content:space-between;padding:0 16px}.content[data-v-20e023b9]{padding:20px 16px}.sidebar-overlay[data-v-20e023b9]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:150}}.form-group[data-v-11c12eee]{margin-bottom:14px}.input[data-v-11c12eee]{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;transition:border-color .2s;outline:none;background:#fafafa}.input[data-v-11c12eee]:focus{border-color:#333;background:#fff}.btn[data-v-11c12eee]{width:100%;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-11c12eee]{background:#1a1a2e;color:#fff}.btn-primary[data-v-11c12eee]:hover:not(:disabled){background:#2d2d44;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn[data-v-11c12eee]:disabled{opacity:.6;cursor:not-allowed}.tabs[data-v-dcfe7952]{display:flex;margin-bottom:24px;background:#f5f5f7;border-radius:10px;padding:3px}.tabs button[data-v-dcfe7952]{flex:1;padding:10px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#888;cursor:pointer;transition:all .2s}.tabs button.active[data-v-dcfe7952]{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000001a;font-weight:600}.oauth-buttons[data-v-dcfe7952]{display:flex;flex-direction:column;gap:10px}.oauth-divider[data-v-dcfe7952]{display:flex;align-items:center;margin:20px 0;color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:1px}.oauth-divider[data-v-dcfe7952]:before,.oauth-divider[data-v-dcfe7952]:after{content:"";flex:1;height:1px;background:#e8e8e8}.oauth-divider span[data-v-dcfe7952]{padding:0 14px}.icon[data-v-dcfe7952]{width:18px;height:18px;flex-shrink:0}.message[data-v-dcfe7952]{margin-top:16px;padding:10px 14px;border-radius:8px;font-size:13px;text-align:center}.message.error[data-v-dcfe7952]{background:#fff0f0;color:#dc3545;border:1px solid #ffcdd2}.forgot-link[data-v-dcfe7952]{margin-top:12px;text-align:right;font-size:13px}.forgot-link a[data-v-dcfe7952]{color:#555;text-decoration:none}.forgot-link a[data-v-dcfe7952]:hover{text-decoration:underline}.form-group[data-v-1510f802]{margin-bottom:14px}.input[data-v-1510f802]{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;transition:border-color .2s;outline:none;background:#fafafa}.input[data-v-1510f802]:focus{border-color:#333;background:#fff}.btn[data-v-1510f802]{width:100%;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-1510f802]{background:#1a1a2e;color:#fff}.btn-primary[data-v-1510f802]:hover:not(:disabled){background:#2d2d44;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn[data-v-1510f802]:disabled{opacity:.6;cursor:not-allowed}.tabs[data-v-28e7eecc]{display:flex;margin-bottom:24px;background:#f5f5f7;border-radius:10px;padding:3px}.tabs button[data-v-28e7eecc]{flex:1;padding:10px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#888;cursor:pointer;transition:all .2s}.tabs button.active[data-v-28e7eecc]{background:#fff;color:#1a1a2e;box-shadow:0 1px 3px #0000001a;font-weight:600}.oauth-buttons[data-v-28e7eecc]{display:flex;flex-direction:column;gap:10px}.oauth-divider[data-v-28e7eecc]{display:flex;align-items:center;margin:20px 0;color:#aaa;font-size:12px;text-transform:uppercase;letter-spacing:1px}.oauth-divider[data-v-28e7eecc]:before,.oauth-divider[data-v-28e7eecc]:after{content:"";flex:1;height:1px;background:#e8e8e8}.oauth-divider span[data-v-28e7eecc]{padding:0 14px}.icon[data-v-28e7eecc]{width:18px;height:18px;flex-shrink:0}.message[data-v-28e7eecc]{margin-top:16px;padding:10px 14px;border-radius:8px;font-size:13px;text-align:center}.message.error[data-v-28e7eecc]{background:#fff0f0;color:#dc3545;border:1px solid #ffcdd2}.email-verify[data-v-a92726cc]{display:flex;flex-direction:column;gap:16px}.hint[data-v-a92726cc]{font-size:.9rem;color:#555;line-height:1.5;margin:0}form[data-v-a92726cc]{display:flex;flex-direction:column;gap:12px}.form-group[data-v-a92726cc]{display:flex;flex-direction:column}.code-input[data-v-a92726cc]{letter-spacing:.3em;text-align:center;font-size:1.4rem;font-weight:600}.resend-row[data-v-a92726cc]{display:flex;justify-content:center}.btn-secondary[data-v-a92726cc]{background:transparent;border:1px solid #ccc;color:#555;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .15s,color .15s}.btn-secondary[data-v-a92726cc]:hover:not(:disabled){background:#f0f0f0;color:#333}.btn-secondary[data-v-a92726cc]:disabled{opacity:.55;cursor:not-allowed}.callback-page[data-v-329aadef]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f1f3;padding:20px}.loading-text[data-v-329aadef]{font-size:16px;color:#555}.message[data-v-329aadef]{padding:16px 24px;border-radius:10px;font-size:14px}.message.error[data-v-329aadef]{background:#fff0f0;color:#dc3545;border:1px solid #ffcdd2}.title[data-v-edd116ef]{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.hint[data-v-edd116ef]{font-size:13px;color:#888;margin:0 0 20px}.form-group[data-v-edd116ef]{margin-bottom:14px}.input[data-v-edd116ef]{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;transition:border-color .2s;outline:none;background:#fafafa}.input[data-v-edd116ef]:focus{border-color:#333;background:#fff}.btn[data-v-edd116ef]{width:100%;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-edd116ef]{background:#1a1a2e;color:#fff}.btn-primary[data-v-edd116ef]:hover:not(:disabled){background:#2d2d44;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn[data-v-edd116ef]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-edd116ef]{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}.message.success[data-v-edd116ef]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.back-link[data-v-edd116ef]{margin-top:20px;text-align:center;font-size:13px}.back-link a[data-v-edd116ef]{color:#555;text-decoration:none}.back-link a[data-v-edd116ef]:hover{text-decoration:underline}.title[data-v-914abe6e]{font-size:20px;font-weight:700;color:#1a1a2e;margin:0 0 8px}.hint[data-v-914abe6e]{font-size:13px;color:#888;margin:0 0 20px}.form-group[data-v-914abe6e]{margin-bottom:14px}.input[data-v-914abe6e]{width:100%;padding:12px 14px;border:1.5px solid #e0e0e0;border-radius:10px;font-size:14px;transition:border-color .2s;outline:none;background:#fafafa}.input[data-v-914abe6e]:focus{border-color:#333;background:#fff}.btn[data-v-914abe6e]{width:100%;padding:12px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-914abe6e]{background:#1a1a2e;color:#fff}.btn-primary[data-v-914abe6e]:hover:not(:disabled){background:#2d2d44;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn[data-v-914abe6e]:disabled{opacity:.6;cursor:not-allowed}.message[data-v-914abe6e]{margin-top:16px;padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5}.message.error[data-v-914abe6e]{background:#fff0f0;color:#dc3545;border:1px solid #ffcdd2}.message.success[data-v-914abe6e]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.back-link[data-v-914abe6e]{margin-top:20px;text-align:center;font-size:13px}.back-link a[data-v-914abe6e]{color:#555;text-decoration:none}.back-link a[data-v-914abe6e]:hover{text-decoration:underline}.page-title[data-v-5125b9cd]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.card[data-v-5125b9cd]{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #0000000d}.profile-hero[data-v-5125b9cd]{display:flex;align-items:center;gap:20px}.avatar-large[data-v-5125b9cd]{width:64px;height:64px;border-radius:50%;background:#1a1a2e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.profile-name[data-v-5125b9cd]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 4px}.profile-id[data-v-5125b9cd]{font-size:12px;color:#999;font-family:SF Mono,Monaco,Cascadia Code,monospace;margin:0;word-break:break-all}.page-title[data-v-edcdbda4]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.card[data-v-edcdbda4]{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #0000000d}.email-list[data-v-edcdbda4]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.email-text[data-v-edcdbda4]{font-size:14px;color:#333;word-break:break-all}.email-badges[data-v-edcdbda4]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.toast[data-v-edcdbda4]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 8px 32px #0000001f}.toast.error[data-v-edcdbda4]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast.success[data-v-edcdbda4]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.page-title[data-v-7d2b5ce9]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.card[data-v-7d2b5ce9]{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #0000000d}.provider-grid[data-v-7d2b5ce9]{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.provider-card[data-v-7d2b5ce9]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8f9fb;border-radius:10px;min-width:140px}.provider-card-icon[data-v-7d2b5ce9]{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.provider-card-icon.github[data-v-7d2b5ce9]{background:#24292e}.provider-card-icon.google[data-v-7d2b5ce9]{background:#fff;border:1px solid #e0e0e0}.provider-name[data-v-7d2b5ce9]{font-size:14px;font-weight:500;color:#333;text-transform:capitalize}.provider-letter[data-v-7d2b5ce9]{font-weight:700;font-size:16px}.link-actions[data-v-7d2b5ce9]{display:flex;gap:10px;flex-wrap:wrap;padding-top:16px;border-top:1px solid #f0f0f0}.toast[data-v-7d2b5ce9]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 8px 32px #0000001f}.toast.error[data-v-7d2b5ce9]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast.success[data-v-7d2b5ce9]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.new-key-alert[data-v-5e8364c7]{background:#fffbeb;border:1px solid #fbbf24;border-radius:10px;padding:14px 16px;margin-bottom:16px}.new-key-header[data-v-5e8364c7]{display:flex;align-items:center;gap:8px;font-size:13px;color:#92400e;margin-bottom:10px}.new-key-value[data-v-5e8364c7]{background:#1a1a2e;color:#4ade80;padding:12px 14px;border-radius:8px;font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;word-break:break-all;transition:background .15s}.new-key-value[data-v-5e8364c7]:hover{background:#2d2d44}.new-key-value code[data-v-5e8364c7]{flex:1;min-width:0}.copy-hint[data-v-5e8364c7]{font-size:11px;color:#94a3b8;white-space:nowrap;flex-shrink:0}.btn-dismiss[data-v-5e8364c7]{margin-top:10px;padding:4px 12px;border:1px solid #e0e0e0;background:#fff;border-radius:6px;font-size:12px;color:#666;cursor:pointer;transition:all .15s}.btn-dismiss[data-v-5e8364c7]:hover{background:#f5f5f5;border-color:#ccc}.key-list[data-v-5e8364c7]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.revoked[data-v-5e8364c7]{opacity:.55}.key-info[data-v-5e8364c7]{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.key-name[data-v-5e8364c7]{font-size:14px;font-weight:500;color:#333}.key-prefix[data-v-5e8364c7]{font-size:12px;color:#888;font-family:SF Mono,Monaco,Cascadia Code,monospace;background:#eef0f2;padding:2px 8px;border-radius:4px}.key-meta[data-v-5e8364c7]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.key-date[data-v-5e8364c7]{font-size:12px;color:#999}@media (max-width: 600px){.new-key-value[data-v-5e8364c7]{flex-direction:column;gap:8px}}.page-title[data-v-521b82a1]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.card[data-v-521b82a1]{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #0000000d}.toast[data-v-521b82a1]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 8px 32px #0000001f}.toast.error[data-v-521b82a1]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast.success[data-v-521b82a1]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.page-title[data-v-7e2b9c08]{font-size:22px;font-weight:700;color:#1a1a2e;margin:0 0 24px}.card[data-v-7e2b9c08]{background:#fff;border-radius:14px;padding:24px;box-shadow:0 2px 12px #0000000d}.security-item[data-v-7e2b9c08]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:12px 14px;background:#f8f9fb;border-radius:10px}.security-label[data-v-7e2b9c08]{font-size:14px;font-weight:500;color:#555}.status-set[data-v-7e2b9c08]{color:#16a34a;font-weight:500;font-size:13px}.status-unset[data-v-7e2b9c08]{color:#dc2626;font-weight:500;font-size:13px}.form[data-v-7e2b9c08]{display:flex;flex-direction:column;gap:10px;max-width:420px}.form .btn[data-v-7e2b9c08]{align-self:flex-start}.form-hint[data-v-7e2b9c08]{font-size:12px;color:#888;margin:0}.toast[data-v-7e2b9c08]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;z-index:1000;box-shadow:0 8px 32px #0000001f}.toast.error[data-v-7e2b9c08]{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.toast.success[data-v-7e2b9c08]{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.form-row{display:flex;gap:8px;align-items:center}.form-row>.input{flex:1 1 0%;min-width:0}.form-row>.btn{flex:0 0 auto}.input{padding:8px 12px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:13px;transition:border-color .2s,box-shadow .2s;outline:none;background:#fff;color:#333}.input:focus{border-color:#333;box-shadow:0 0 0 3px #0000000f}.input:disabled{opacity:.6;cursor:not-allowed}.btn{padding:10px 18px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:#1a1a2e;color:#fff;flex-shrink:0}.btn:hover:not(:disabled){background:#2d2d44;transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{padding:6px 14px;font-size:12px}.btn-github{background:#24292e;color:#fff}.btn-github:hover:not(:disabled){background:#1b1f23}.btn-google{background:#fff;color:#333;border:1.5px solid #e0e0e0}.btn-google:hover:not(:disabled){background:#f8f8f8;border-color:#ccc}.btn-icon-sm{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;border-radius:50%;color:#aaa;font-size:12px;cursor:pointer;transition:all .15s;flex-shrink:0}.btn-remove:hover:not(:disabled){background:#fee2e2;color:#dc2626}.btn-icon-sm:disabled{opacity:.4;cursor:not-allowed}.badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge-primary{background:#eef0f2;color:#555}.badge-success{background:#dcfce7;color:#16a34a}.badge-warning{background:#fef3c7;color:#d97706;border:1px solid #fbbf24}.badge-info{background:#e0e7ff;color:#4f46e5;border:1px solid #a5b4fc}.badge-revoked{background:#fee2e2;color:#dc2626}.badge-btn{cursor:pointer;transition:all .15s}.badge-btn:hover:not(:disabled){filter:brightness(.9);transform:scale(1.05)}.badge-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{color:#aaa;font-size:14px;margin:8px 0}.list-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8f9fb;border-radius:10px;gap:12px;flex-wrap:wrap}.error-text{color:#dc3545;font-size:12px;margin-top:6px}@media (max-width: 600px){.form-row{flex-direction:column}.form-row .input{width:100%}.list-item{flex-direction:column;align-items:flex-start;gap:8px}}
