:root{--primary:#d83f6a;--dark-magenta:#a42d50;--near-black:#101828;--cream:var(--bg-cream);--orange:#f59e5b;--navy:var(--near-black);--navy-mid:#2a2024;--navy-light:var(--dark-magenta);--gold:var(--primary);--gold-light:#ff86a8;--gold-pale:#fde7ee;--cream-mid:#f5efe9;--white:#fff;--text:var(--near-black);--text-muted:#1a1a1a9e;--text-light:#1a1a1a6b;--border:#e5eaf1;--border-dark:#cbd5e1;--bg-dark:#111;--bg-darker:#0a0a0a;--accent-hotpink:#e8185d;--accent-golden:#f0a500;--text-dark-muted:#ffffffa6;--text-dark-dim:#888;--success:#2d7a4f;--success-bg:#e8f5ee;--error:#c0392b;--error-bg:#fdecea;--warning:#b8860b;--warning-bg:#fdf8e1;--info:#1a4f8a;--info-bg:#e8f0fa;--font-display:"Plus Jakarta Sans", system-ui, sans-serif;--font-display-alt:"Plus Jakarta Sans", system-ui, sans-serif;--font-body:"Montserrat", "DM Sans", system-ui, sans-serif;--font-mono:"DM Mono", "Courier New", monospace;--font-jakarta:"Plus Jakarta Sans", sans-serif;--font-cursive:"Caveat", cursive;--accent-magenta:#d81b60;--accent-pink:#ff6b8a;--accent-orange:#ff8a65;--bg-cream:#f4f7fb;--bg:var(--cream);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #1018280d;--shadow-md:0 8px 20px #10182814;--shadow-lg:0 18px 48px #10182824;--shadow-gold:0 4px 20px #e8175d40;--shadow-hotpink:0 4px 20px #e8185d4d;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration:.2s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}.badge{padding:2px var(--space-3);border-radius:var(--radius-full);letter-spacing:.04em;font-size:.75rem;font-weight:500;font-family:var(--font-mono);align-items:center;display:inline-flex}.badge--active{background:var(--success-bg);color:var(--success)}.badge--inactive{background:var(--cream-mid);color:var(--text-muted)}.badge--suspended{background:var(--error-bg);color:var(--error)}.badge--pending{background:var(--warning-bg);color:var(--warning)}.badge--under_review{background:var(--info-bg);color:var(--info)}.badge--approved{background:var(--success-bg);color:var(--success)}.badge--rejected{background:var(--error-bg);color:var(--error)}.badge--admin{background:var(--near-black);color:var(--gold-light)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-5);cursor:pointer;transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease), background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);border:1px solid #0000;border-radius:10px;font-size:.875rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary,.btn--gold{background:var(--primary);border-color:var(--primary);color:var(--white);box-shadow:var(--shadow-hotpink)}.btn--primary:hover,.btn--gold:hover{background:var(--dark-magenta);border-color:var(--dark-magenta)}.btn--outline{color:var(--primary);background:0 0;border-color:#e8175d6b}.btn--outline:hover{border-color:var(--primary);background:#e8175d14}.btn--ghost{color:var(--near-black);background:#1a1a1a0a}.btn--ghost:hover{color:var(--primary);background:#e8175d1a}.btn--sm{min-height:34px;padding:var(--space-2) var(--space-4);font-size:.8125rem}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);border:1px solid #0000000f}.alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);align-items:flex-start;gap:var(--space-3);font-size:.9375rem;display:flex}.alert--success{background:var(--success-bg);color:var(--success);border:1px solid #b8e0c8}.alert--error{background:var(--error-bg);color:var(--error);border:1px solid #f0c4be}.alert--warning{background:var(--warning-bg);color:var(--warning);border:1px solid #e8d890}.alert--info{background:var(--info-bg);color:var(--info);border:1px solid #c0d8f0}.form-group{gap:var(--space-2);flex-direction:column;display:flex}.form-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.8125rem;font-weight:500}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--white);border:1px solid var(--border-dark);border-radius:var(--radius-sm);color:var(--text);transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);outline:none;font-size:.9375rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #e8175d1f}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--error)}.form-textarea{resize:vertical;min-height:120px}.divider{border:0;border-top:1px solid var(--border-dark)}.rac-number{border-radius:var(--radius-full);background:var(--gold-pale);width:fit-content;color:var(--primary);font-family:var(--font-mono);letter-spacing:.02em;align-items:center;padding:3px 10px;font-size:.8125rem;font-weight:700;display:inline-flex}.form-error{color:var(--error);font-size:.8125rem}.form-hint{color:var(--text-light);font-size:.8125rem}button,input,textarea{font:inherit}button{background:0 0;border:none}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes slow-spin{to{transform:rotate(360deg)}}.spin-slow{animation:13s linear infinite slow-spin}.navbar{z-index:100;background:0 0;padding:0 5vw;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,box-shadow .4s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#d9d9d966;box-shadow:0 2px 24px #e8175d14}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;height:72px;margin:0 auto;display:flex}.auth-navbar{background:#d9d9d966;transition:box-shadow .3s}.auth-navbar.scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:#d9d9d966;box-shadow:0 2px 24px #0000002e}.auth-navbar .navbar-inner{max-width:1280px;height:64px}.logo-wrap{align-items:center;gap:10px;display:flex}.image-logo,.logo-image{width:30px;display:inline-flex}.logo-gear{display:flex}.image-logo img,.logo-image img{width:100%}.logo-tagline{color:var(--primary);letter-spacing:2px;font-family:Anton,sans-serif;font-size:13px;line-height:1}.logo-name{color:var(--near-black);letter-spacing:.5px;font-family:Plus Jakarta Sans,sans-serif;font-size:11px;font-weight:600}.auth-navbar .logo-tagline{font-size:12px}.auth-navbar .logo-name{letter-spacing:0;font-size:10px}.desktop-nav{align-items:center;gap:28px;display:flex}.nav-link{color:#fff;letter-spacing:.3px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s}.nav-link.scrolled{color:var(--near-black)}.nav-link.active,.nav-link:hover{color:var(--primary)!important}.btn-login{background:var(--primary);color:#fff;letter-spacing:.3px;border-radius:100px;padding:9px 20px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px #e8175d4d}.btn-login:hover{transform:translateY(-1px);box-shadow:0 8px 24px #e8175d66}.nav-back{color:#fff9;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s}.nav-back:hover{color:var(--primary)}.nav-member-chip{align-items:center;gap:10px;display:flex}.nav-profile{color:var(--primary);border-radius:100px;padding:5px 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:600;text-decoration:none;transition:background .2s,color .2s}.nav-profile:hover{color:#fff;background:#e8175d1a}.nav-logout{color:var(--primary);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:100px;padding:5px 14px;font-family:Plus Jakarta Sans,sans-serif;font-size:12px;font-weight:600;transition:background .2s,color .2s}.nav-logout:hover{color:#fff;background:#e8175d33}@media (width<=768px){.desktop-nav{display:none}}.site-header.svelte-12qhfyh{z-index:100;-webkit-backdrop-filter:none;backdrop-filter:none;width:auto;transition:background .2s var(--ease), backdrop-filter .2s var(--ease), border-color .2s var(--ease);background:#fff0;border-bottom:none;position:fixed;top:0;left:0;right:0}.site-header.scrolled.svelte-12qhfyh{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#d9d9d966}main.svelte-12qhfyh{padding-top:0}.site-header__inner.svelte-12qhfyh{justify-content:space-between;align-items:center;max-width:1200px;height:68px;margin:0 auto;padding:0 5vw;display:flex}.site-logo.svelte-12qhfyh{align-items:center;gap:var(--space-3);flex-shrink:0;text-decoration:none;display:flex}.site-logo__wheel.svelte-12qhfyh{color:var(--gold);width:30px;font-size:1.6rem;line-height:1;animation:12s linear infinite svelte-12qhfyh-spin}.site-logo__wheel.svelte-12qhfyh img:where(.svelte-12qhfyh){width:100%}@keyframes svelte-12qhfyh-spin{to{transform:rotate(360deg)}}.site-logo__name.svelte-12qhfyh{font-family:var(--font-display);color:var(--primary);font-size:1.2rem;font-weight:700;line-height:1;display:block}.site-logo__sub.svelte-12qhfyh{letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-top:2px;font-size:.7rem;line-height:1;display:block}.mobile-bottom-nav.svelte-12qhfyh{-webkit-backdrop-filter:blur(12px);z-index:200;padding:8px 0;padding-bottom:max(8px, env(safe-area-inset-bottom));background:#1a1a1afa;border-top:1px solid #e8175d4d;border-radius:5rem;margin-bottom:1vh;margin-left:10px;margin-right:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item.svelte-12qhfyh{color:#fff9;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;text-decoration:none;transition:all .2s;display:flex}.mobile-nav-item.svelte-12qhfyh:hover{color:#ffffffe6;background:#e8175d1a}.mobile-nav-item.active.svelte-12qhfyh{color:#e8175d}.mobile-nav-item.svelte-12qhfyh span:where(.svelte-12qhfyh){letter-spacing:.02em;text-transform:uppercase;font-size:.65rem;font-weight:600}.committee-prompt-backdrop.svelte-12qhfyh{z-index:300;padding:var(--space-6);background:#1a1a1a9e;place-items:center;display:grid;position:fixed;inset:0}.committee-prompt.svelte-12qhfyh{background:var(--white);border-radius:var(--radius-lg);width:min(760px,100%);max-height:min(760px,100vh - 48px);box-shadow:var(--shadow-lg);padding:var(--space-8);overflow:auto}.committee-prompt__header.svelte-12qhfyh{margin-bottom:var(--space-6)}.committee-prompt__header.svelte-12qhfyh p:where(.svelte-12qhfyh){margin-top:var(--space-2)}.committee-options.svelte-12qhfyh{gap:var(--space-3);margin:var(--space-6) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.committee-option.svelte-12qhfyh{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--cream);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;display:grid}.committee-option.svelte-12qhfyh:has(input:where(.svelte-12qhfyh):checked){border-color:var(--gold);background:var(--gold-pale)}.committee-option.svelte-12qhfyh input:where(.svelte-12qhfyh){margin-top:4px}.committee-option.svelte-12qhfyh strong:where(.svelte-12qhfyh){color:var(--near-black);line-height:1.35;display:block}.committee-option.svelte-12qhfyh small:where(.svelte-12qhfyh){margin-top:var(--space-1);color:var(--text-muted);line-height:1.45;display:block}.committee-prompt__footer.svelte-12qhfyh{justify-content:space-between;align-items:center;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);display:flex}.committee-prompt__footer.svelte-12qhfyh>span:where(.svelte-12qhfyh){color:var(--text-muted);font-size:.875rem}.committee-prompt__actions.svelte-12qhfyh{gap:var(--space-3);display:flex}@media (width<=768px){.site-header__inner.svelte-12qhfyh{padding:0 20px}.committee-prompt.svelte-12qhfyh{padding:var(--space-6)}.committee-options.svelte-12qhfyh{grid-template-columns:1fr}.committee-prompt__footer.svelte-12qhfyh{flex-direction:column;align-items:stretch}.committee-prompt__actions.svelte-12qhfyh{flex-direction:column-reverse}.committee-prompt__actions.svelte-12qhfyh .btn:where(.svelte-12qhfyh){justify-content:center}.mobile-bottom-nav.svelte-12qhfyh{display:flex}.mobile-bottom-nav.svelte-12qhfyh a:where(.svelte-12qhfyh) span:where(.svelte-12qhfyh){font-size:7px}}.app-shell.svelte-12qhfyh{background:var(--app-bg,#f4f7fb);min-height:100vh;display:flex}.app-sidebar.svelte-12qhfyh{z-index:100;color:#fff;background:#101828;flex-direction:column;width:252px;padding:24px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.app-brand.svelte-12qhfyh{color:#fff;align-items:center;gap:11px;padding:0 10px 28px;text-decoration:none;display:flex}.app-brand-mark.svelte-12qhfyh{background:var(--primary);border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid;overflow:hidden;box-shadow:0 8px 20px #e8175d47}.app-brand-mark.svelte-12qhfyh img:where(.svelte-12qhfyh){object-fit:contain;width:29px;height:29px}.app-brand.svelte-12qhfyh strong:where(.svelte-12qhfyh),.app-brand.svelte-12qhfyh small:where(.svelte-12qhfyh){display:block}.app-brand.svelte-12qhfyh strong:where(.svelte-12qhfyh){letter-spacing:-.02em;font-size:.96rem}.app-brand.svelte-12qhfyh small:where(.svelte-12qhfyh){color:#ffffff7a;margin-top:3px;font-size:.68rem}.app-sidebar-label.svelte-12qhfyh{color:#ffffff5c;letter-spacing:.13em;text-transform:uppercase;padding:0 12px 10px;font-size:.65rem;font-weight:800}.app-nav.svelte-12qhfyh{gap:4px;display:grid}.app-nav.svelte-12qhfyh a:where(.svelte-12qhfyh){color:#ffffff9e;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:.82rem;font-weight:650;text-decoration:none;transition:background .18s,color .18s;display:flex}.app-nav.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:#fff;background:#ffffff12}.app-nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh){color:#fff;box-shadow:inset 3px 0 0 var(--primary);background:#e8175d2e}.app-nav.svelte-12qhfyh a.active:where(.svelte-12qhfyh) svg{color:#ff83a7}.app-sidebar-footer.svelte-12qhfyh{border-top:1px solid #ffffff14;margin-top:auto;padding:16px 8px 0}.app-user-chip.svelte-12qhfyh{align-items:center;gap:10px;min-width:0;padding:4px 4px 14px;display:flex}.app-user-chip.svelte-12qhfyh>span:where(.svelte-12qhfyh):last-child{min-width:0}.app-user-chip.svelte-12qhfyh strong:where(.svelte-12qhfyh),.app-user-chip.svelte-12qhfyh small:where(.svelte-12qhfyh){text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.app-user-chip.svelte-12qhfyh strong:where(.svelte-12qhfyh){color:#fff;font-size:.76rem}.app-user-chip.svelte-12qhfyh small:where(.svelte-12qhfyh){color:#ffffff70;font-family:var(--font-mono);margin-top:3px;font-size:.64rem}.app-avatar.svelte-12qhfyh{color:#fff;background:#ffffff1f;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:.7rem;font-weight:800;display:inline-grid}.app-account-link.svelte-12qhfyh{color:#ffffff73;align-items:center;gap:8px;padding:9px 4px;font-size:.72rem;text-decoration:none;display:flex}.app-account-link.svelte-12qhfyh:hover{color:#fff}.app-content.svelte-12qhfyh{width:calc(100% - 252px);min-width:0;margin-left:252px}.app-topbar.svelte-12qhfyh{z-index:80;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f7fbe0;border-bottom:1px solid #e5eaf1;justify-content:space-between;align-items:center;min-height:82px;padding:16px clamp(24px,4vw,56px);display:flex;position:sticky;top:0}.app-kicker.svelte-12qhfyh{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;margin-bottom:4px;font-size:.65rem;font-weight:800;display:block}.app-topbar.svelte-12qhfyh h1:where(.svelte-12qhfyh){color:#101828;letter-spacing:-.035em;font-size:1.32rem}.app-topbar-profile.svelte-12qhfyh{color:#101828;align-items:center;gap:10px;text-decoration:none;display:flex}.app-topbar-profile.svelte-12qhfyh .app-avatar:where(.svelte-12qhfyh){color:#fff;background:#101828}.app-topbar-name.svelte-12qhfyh{font-size:.78rem;font-weight:750}.app-page.svelte-12qhfyh{background:#f4f7fb;min-height:calc(100vh - 82px);padding:30px clamp(24px,4vw,56px) 64px}.app-page>.portal-page{background:0 0;min-height:0}.app-page>.portal-page>.container{max-width:1240px;padding:0!important}.app-page .portal-page-header{margin-bottom:28px}.mobile-bottom-nav.svelte-12qhfyh{display:none}@media (width<=900px){.app-sidebar.svelte-12qhfyh{display:none}.app-content.svelte-12qhfyh{width:100%;margin-left:0}.app-topbar.svelte-12qhfyh{min-height:70px;padding:13px 18px}.app-topbar.svelte-12qhfyh h1:where(.svelte-12qhfyh){font-size:1.05rem}.app-topbar-name.svelte-12qhfyh{display:none}.app-page.svelte-12qhfyh{min-height:calc(100vh - 70px);padding:22px 16px 104px}.mobile-bottom-nav.svelte-12qhfyh{right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:200;background:#101828f5;border:1px solid #10182814;border-radius:18px;padding:7px;display:flex;position:fixed;left:12px;box-shadow:0 14px 30px #10182833}.mobile-nav-item.svelte-12qhfyh{border-radius:12px;min-height:54px}.mobile-nav-item.active.svelte-12qhfyh{color:#ff83a7;background:#e8175d2e}.mobile-nav-item.svelte-12qhfyh span:where(.svelte-12qhfyh){letter-spacing:.02em;text-transform:none;font-size:.62rem}}
