.notification-bell[data-v-0d4d5328]{cursor:pointer;padding:4px;position:relative}.bell-icon[data-v-0d4d5328]{font-size:20px}.badge[data-v-0d4d5328]{background:var(--color-danger);color:var(--color-text-inverse);font-size:var(--text-xs);text-align:center;border-radius:10px;min-width:16px;padding:1px 5px;position:absolute;top:-4px;right:-4px}.notification-dropdown[data-v-0d4d5328]{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);width:320px;max-height:400px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);position:absolute;top:100%;right:0;overflow-y:auto}.dropdown-header[data-v-0d4d5328]{border-bottom:1px solid var(--color-border-default);justify-content:space-between;align-items:center;padding:12px;font-weight:600;display:flex}.mark-all-btn[data-v-0d4d5328]{color:var(--color-primary);cursor:pointer;background:0 0;border:none;font-size:12px}.notification-item[data-v-0d4d5328]{border-bottom:1px solid var(--color-border-subtle);cursor:pointer;padding:12px}.notification-item.unread[data-v-0d4d5328]{background:var(--color-bg-selected)}.notification-item[data-v-0d4d5328]:hover{background:var(--color-bg-subtle)}.notif-title[data-v-0d4d5328]{color:var(--color-text-primary);font-size:14px;font-weight:600}.notif-content[data-v-0d4d5328]{color:var(--color-text-tertiary);margin-top:2px;font-size:13px}.notif-time[data-v-0d4d5328]{color:var(--color-text-muted);margin-top:4px;font-size:11px}.empty-notif[data-v-0d4d5328],.dropdown-loading[data-v-0d4d5328]{text-align:center;color:var(--color-text-muted);padding:24px;font-size:14px}.navbar[data-v-0582c1fb]{z-index:var(--z-navbar);background:var(--color-bg-card);border-bottom:1px solid var(--color-border-default);padding:0 var(--space-4);position:fixed;top:0;left:0;right:0}.nav-inner[data-v-0582c1fb]{max-width:1200px;height:var(--space-14);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-brand[data-v-0582c1fb]{color:var(--color-primary);font-size:20px;font-weight:700;text-decoration:none}.nav-links[data-v-0582c1fb]{align-items:center;gap:var(--space-2);display:flex}.nav-link[data-v-0582c1fb]{padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:none}.nav-link[data-v-0582c1fb]:hover{background:var(--color-bg-hover)}.register-btn[data-v-0582c1fb]{background:var(--color-primary);color:var(--color-text-inverse)}.register-btn[data-v-0582c1fb]:hover{background:var(--color-primary-hover)}.admin-btn[data-v-0582c1fb]{color:var(--color-admin)}.logout-btn[data-v-0582c1fb]{color:var(--color-danger)}.hamburger-btn[data-v-0582c1fb]{border-radius:var(--radius-lg);cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:none}.hamburger-btn[data-v-0582c1fb]:hover{background:var(--color-bg-hover)}.hamburger-btn svg[data-v-0582c1fb]{display:block}.drawer-overlay[data-v-0582c1fb]{z-index:var(--z-drawer);background:#0000004d;position:fixed;inset:56px 0 0}.drawer-content[data-v-0582c1fb]{background:var(--color-bg-card);padding:var(--space-3) 0;box-shadow:var(--shadow-lg)}.drawer-user[data-v-0582c1fb]{padding:var(--space-3) var(--space-5);font-weight:600;font-size:var(--text-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-subtle);margin-bottom:var(--space-1)}.drawer-link[data-v-0582c1fb]{padding:var(--space-3) var(--space-5);color:var(--color-text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-size:15px;text-decoration:none;display:block}.drawer-link[data-v-0582c1fb]:hover{background:var(--color-bg-hover)}.drawer-link--admin[data-v-0582c1fb]{color:var(--color-admin)}.drawer-link--logout[data-v-0582c1fb]{color:var(--color-danger);border-top:1px solid var(--color-border-subtle);margin-top:var(--space-1)}.drawer-link--register[data-v-0582c1fb]{color:var(--color-primary);font-weight:500}.drawer-notif-row[data-v-0582c1fb]{padding:var(--space-3) var(--space-5);color:var(--color-text-secondary);justify-content:space-between;align-items:center;font-size:15px;display:flex}.drawer-enter-active[data-v-0582c1fb],.drawer-leave-active[data-v-0582c1fb]{transition:opacity .2s}.drawer-enter-active .drawer-content[data-v-0582c1fb],.drawer-leave-active .drawer-content[data-v-0582c1fb]{transition:transform .2s}.drawer-enter-from[data-v-0582c1fb],.drawer-leave-to[data-v-0582c1fb]{opacity:0}.drawer-enter-from .drawer-content[data-v-0582c1fb],.drawer-leave-to .drawer-content[data-v-0582c1fb]{transform:translateY(-8px)}.drawer-enter-to .drawer-content[data-v-0582c1fb],.drawer-leave-from .drawer-content[data-v-0582c1fb]{transform:translateY(0)}@media (width<=768px){.navbar[data-v-0582c1fb]{padding:0 var(--space-3)}.nav-brand[data-v-0582c1fb]{font-size:var(--text-lg)}.nav-link[data-v-0582c1fb]{padding:var(--space-1) var(--space-2);font-size:13px}.nav-links[data-v-0582c1fb]{display:none}.hamburger-btn[data-v-0582c1fb]{display:flex}}.modal-overlay[data-v-f0b39bf4]{z-index:var(--z-modal);padding:var(--space-4);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-f0b39bf4]{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--space-7) var(--space-6) var(--space-5);width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.modal-header[data-v-f0b39bf4]{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.modal-header h2[data-v-f0b39bf4]{font-size:var(--text-xl);color:var(--color-text-primary);margin:0}.modal-close-btn[data-v-f0b39bf4]{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:background .15s,color .15s;display:flex}.modal-close-btn[data-v-f0b39bf4]:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.form-group[data-v-f0b39bf4]{margin-bottom:var(--space-4)}.form-group label[data-v-f0b39bf4]{font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-1_5);display:block}.input[data-v-f0b39bf4]{width:100%;padding:var(--space-2_5) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box;font-family:inherit}.input[data-v-f0b39bf4]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #3b82f61a}.code-row[data-v-f0b39bf4]{gap:8px;display:flex}.code-row .input[data-v-f0b39bf4]{flex:1}.code-btn[data-v-f0b39bf4]{white-space:nowrap;background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 12px;font-family:inherit;font-size:13px}.code-btn[data-v-f0b39bf4]:disabled{background:var(--color-disabled);cursor:not-allowed}.submit-btn[data-v-f0b39bf4]{width:100%;padding:var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;margin-top:var(--space-1);border:none;font-family:inherit}.submit-btn[data-v-f0b39bf4]:disabled{background:var(--color-disabled);cursor:not-allowed}.error-text[data-v-f0b39bf4]{color:var(--color-danger);font-size:var(--text-base);text-align:center;margin-top:10px}.modal-footer[data-v-f0b39bf4]{margin-top:var(--space-4);align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.cancel-btn[data-v-f0b39bf4]{padding:var(--space-2) var(--space-5);border:1px solid var(--color-border-input);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-tertiary);cursor:pointer;background:0 0;font-family:inherit}.cancel-btn[data-v-f0b39bf4]:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.register-tip[data-v-f0b39bf4]{color:var(--color-text-tertiary);font-size:13px}.register-tip a[data-v-f0b39bf4]{color:var(--color-primary);text-decoration:none}.register-tip a[data-v-f0b39bf4]:hover{text-decoration:underline}.modal-enter-active[data-v-f0b39bf4],.modal-leave-active[data-v-f0b39bf4]{transition:opacity .2s}.modal-enter-active .modal-card[data-v-f0b39bf4],.modal-leave-active .modal-card[data-v-f0b39bf4]{transition:transform .2s,opacity .2s}.modal-enter-from[data-v-f0b39bf4],.modal-leave-to[data-v-f0b39bf4]{opacity:0}.modal-enter-from .modal-card[data-v-f0b39bf4],.modal-leave-to .modal-card[data-v-f0b39bf4]{opacity:0;transform:scale(.95)translateY(-8px)}.main-content{margin-top:var(--space-14);min-height:calc(100vh - var(--space-14))}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg-canvas);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}code{font-family:SF Mono,Monaco,Cascadia Code,monospace}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-input);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-bg:#eff6ff;--color-primary-bg-hover:#dbeafe;--color-success:#10b981;--color-success-hover:#059669;--color-success-bg:#f0fdf4;--color-success-bg-alt:#d1fae5;--color-success-border:#86efac;--color-success-text:#047857;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-text:#b45309;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-bg-alt:#fee2e2;--color-danger-text:#b91c1c;--color-admin:#8b5cf6;--color-gaode:#1677ff;--color-bg-canvas:#f3f4f6;--color-bg-card:#fff;--color-bg-subtle:#f9fafb;--color-bg-hover:#f3f4f6;--color-bg-selected:#eff6ff;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-tertiary:#6b7280;--color-text-muted:#9ca3af;--color-text-inverse:#fff;--color-border-default:#e5e7eb;--color-border-input:#d1d5db;--color-border-subtle:#f3f4f6;--color-disabled:#9ca3af;--font-family-base:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:"SF Mono", Monaco, "Cascadia Code", monospace;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:22px;--text-3xl:24px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-2_5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:50%;--radius-pill:9999px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #00000026;--shadow-lg:0 4px 16px #0000001f;--shadow-xl:0 8px 32px #0000002e;--z-drawer:999;--z-navbar:1000;--z-dropdown:1001;--z-modal:2000}
