.bottom-nav[data-v-be68d477]{height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--c-border);z-index:100;background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}@media (width>=960px){.bottom-nav[data-v-be68d477]{display:none}}.item[data-v-be68d477]{color:var(--c-text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;transition:color .15s;display:flex}.icon-wrap[data-v-be68d477]{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.item.active[data-v-be68d477]{color:var(--c-primary-dark);font-weight:700}.item.active .icon-wrap[data-v-be68d477]{background:var(--c-primary-soft)}.item.primary .icon-wrap[data-v-be68d477]{background:var(--c-primary);color:#fff;border-radius:10px;width:36px;height:36px;margin-top:-6px;box-shadow:0 4px 10px #0f766e40}.item.primary[data-v-be68d477]{color:var(--c-primary-dark);font-weight:600}.side-nav[data-v-9f7d1739]{display:none}@media (width>=960px){.side-nav[data-v-9f7d1739]{border-right:1px solid var(--c-border);z-index:60;background:#fff;flex-direction:column;flex-shrink:0;width:248px;height:100dvh;padding:20px 16px;display:flex;position:sticky;top:0}}.brand[data-v-9f7d1739]{cursor:pointer;border-bottom:1px solid var(--c-border);align-items:center;gap:11px;padding:4px 6px 16px;display:flex}.brand-logo[data-v-9f7d1739]{background:var(--c-primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.brand-title[data-v-9f7d1739]{letter-spacing:-.02em;color:var(--c-text);font-size:17px;font-weight:800}.brand-sub[data-v-9f7d1739]{color:var(--c-text-3);margin-top:1px;font-size:11px}.publish-cta[data-v-9f7d1739]{background:var(--c-primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:11px 14px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.publish-cta[data-v-9f7d1739]:hover{background:var(--c-primary-dark)}.nav-group-label[data-v-9f7d1739]{color:var(--c-text-3);letter-spacing:.04em;padding:16px 8px 6px;font-size:11px;font-weight:600}.nav-list[data-v-9f7d1739]{flex-direction:column;gap:4px;display:flex}.nav-item[data-v-9f7d1739]{color:var(--c-text-2);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;transition:all .15s;display:flex}.nav-item[data-v-9f7d1739]:hover{background:var(--c-gray-soft);color:var(--c-text)}.nav-item.active[data-v-9f7d1739]{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:700}.nav-badge[data-v-9f7d1739]{background:var(--c-gray-soft);color:var(--c-text-2);border-radius:99px;padding:1px 7px;font-size:11px;font-weight:600}.nav-item.active .nav-badge[data-v-9f7d1739]{color:var(--c-primary-dark);background:#fff}.role-switcher[data-v-9f7d1739]{flex-direction:column;gap:4px;display:flex}.role-btn[data-v-9f7d1739]{color:var(--c-text-2);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:all .15s;display:flex}.role-btn[data-v-9f7d1739]:hover{background:var(--c-gray-soft)}.role-btn.on[data-v-9f7d1739]{border-color:var(--c-border);color:var(--c-text);background:#f8fafc;font-weight:600}.dot[data-v-9f7d1739]{background:#cbd5e1;border-radius:50%;width:6px;height:6px}.role-btn.on .dot[data-v-9f7d1739]{background:var(--c-primary)}.role-tag[data-v-9f7d1739]{background:var(--c-gray-soft);color:var(--c-text-3);border-radius:4px;padding:1px 5px;font-size:10px;font-weight:600}.side-spacer[data-v-9f7d1739]{flex:1}.user-card[data-v-9f7d1739]{border:1px solid var(--c-border);background:#fcfcfd;border-radius:12px;align-items:center;gap:10px;padding:10px;transition:border-color .15s,background .15s;display:flex}.user-card[data-v-9f7d1739]:hover{background:var(--c-gray-soft);border-color:#cbd5e1}.user-name[data-v-9f7d1739]{font-size:13px;font-weight:700}.user-meta[data-v-9f7d1739]{color:var(--c-text-3);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.min-w-0[data-v-9f7d1739]{min-width:0}.toast-host[data-v-f9258cb0]{z-index:1000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,420px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast[data-v-f9258cb0]{color:#fff;text-align:center;background:#111827eb;border-radius:12px;padding:10px 16px;font-size:14px;line-height:1.45;box-shadow:0 6px 20px #0000002e}.toast.success[data-v-f9258cb0]{background:#15803df2}.toast.error[data-v-f9258cb0]{background:#dc2626f2}.toast.warning[data-v-f9258cb0]{background:#ea580cf2}.toast-enter-active[data-v-f9258cb0],.toast-leave-active[data-v-f9258cb0]{transition:all .25s}.toast-enter-from[data-v-f9258cb0],.toast-leave-to[data-v-f9258cb0]{opacity:0;transform:translateY(-10px)}.mask[data-v-3b41676b]{z-index:900;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog[data-v-3b41676b]{background:#fff;border-radius:18px;width:min(100%,360px);padding:22px 20px 16px}h3[data-v-3b41676b]{margin-bottom:10px;font-size:17px}.msg[data-v-3b41676b]{color:var(--c-text-2);white-space:pre-line;font-size:14px;line-height:1.6}.actions[data-v-3b41676b]{gap:10px;margin-top:18px;display:flex}.actions .btn[data-v-3b41676b]{flex:1}:root{--c-primary:#0f766e;--c-primary-dark:#115e59;--c-primary-soft:#e6f4f1;--c-accent:#ea580c;--c-accent-soft:#ffedd5;--c-gold:#b45309;--c-gold-soft:#fef3c7;--c-blue:#1d4ed8;--c-blue-soft:#dbeafe;--c-red:#dc2626;--c-red-soft:#fee2e2;--c-gray:#475569;--c-gray-soft:#f1f5f9;--c-text:#0f172a;--c-text-2:#475569;--c-text-3:#94a3b8;--c-border:#e2e8f0;--c-bg:#f8fafc;--c-card:#fff;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f172a08, 0 4px 12px #0f172a08;--nav-h:60px;--shell-w:600px;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,Inter,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:var(--c-bg);min-height:100vh;color:var(--c-text);margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}.app-layout{background:var(--c-bg);flex-direction:column;min-height:100vh;display:flex}.shell{width:100%;max-width:var(--shell-w);background:var(--c-bg);min-height:100vh;margin:0 auto;position:relative}.shell.auth-shell{max-width:520px}@media (width>=960px){.app-layout.has-sidebar{flex-direction:row;max-width:1440px;margin:0 auto}.app-layout.has-sidebar .shell{flex:1;min-width:0;max-width:1160px;margin:0}.shell.auth-shell{max-width:640px;padding:24px 0}}.page{padding:14px 16px calc(var(--nav-h) + 28px)}.page.no-nav{padding-bottom:36px}@media (width>=960px){.page{padding:24px 28px 48px}}.pc-split{flex-direction:column;gap:16px;display:flex}@media (width>=960px){.pc-split{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:22px;display:grid}.pc-split.equal{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.pc-sticky{position:sticky;top:76px}}.cards-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=720px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}}.clubs-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}@media (width<=520px){.clubs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.card{background:var(--c-card);border-radius:var(--radius);border:1px solid var(--c-border);box-shadow:var(--shadow);padding:16px}.card.flat{box-shadow:none;border:1px solid var(--c-border)}.section-title{color:var(--c-text);justify-content:space-between;align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.title-left{align-items:center;gap:7px;display:inline-flex}.muted{color:var(--c-text-2);font-size:13px}.faint{color:var(--c-text-3);font-size:12px}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bold{font-weight:700}.error-text{color:var(--c-red);margin-top:4px;font-size:12px}.divider{background:var(--c-border);height:1px;margin:12px 0}.btn{border:1px solid var(--c-border);cursor:pointer;white-space:nowrap;color:var(--c-text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:600;transition:transform 80ms,background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--c-primary-dark);border-color:var(--c-primary-dark)}.btn-accent{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.btn-accent:hover:not(:disabled){background:#c2410c;border-color:#c2410c}.btn-danger{color:var(--c-red);background:#fff;border-color:#fecaca}.btn-danger:hover:not(:disabled){background:var(--c-red-soft)}.btn-ghost{color:var(--c-text-2);background:0 0;border-color:#0000}.btn-soft{background:var(--c-primary-soft);color:var(--c-primary-dark);border-color:#0000}.btn-soft:hover:not(:disabled){background:#ccfbf1}.btn-sm{border-radius:7px;padding:5px 11px;font-size:12px}.btn-block{width:100%;padding:11px;font-size:14px}.chip{border:1px solid var(--c-border);color:var(--c-text-2);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.chip:hover{color:var(--c-text);border-color:#cbd5e1}.chip.active{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}.chip.disabled{opacity:.4;cursor:not-allowed}.tag{background:var(--c-gray-soft);color:var(--c-gray);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag.green{background:var(--c-primary-soft);color:var(--c-primary-dark)}.tag.orange{background:var(--c-accent-soft);color:#c2410c}.tag.gold{background:var(--c-gold-soft);color:var(--c-gold)}.tag.blue{background:var(--c-blue-soft);color:var(--c-blue)}.tag.red{background:var(--c-red-soft);color:var(--c-red)}.tag.hot{color:#fff;background:#0f766e;font-weight:600}.scroll-x{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field-label{color:var(--c-text-2);font-size:13px;font-weight:600}.field-label .req{color:var(--c-red);margin-left:2px}.input,.select,.textarea{border-radius:var(--radius-sm);border:1px solid var(--c-border);background:#fff;outline:none;width:100%;padding:9px 12px;font-size:14px;transition:border .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #0f766e1f}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--c-red)}.input.highlight,.select.highlight{border-color:var(--c-accent);background:#fffaf5;box-shadow:0 0 0 3px #ea580c1f}.textarea{resize:vertical;min-height:72px}.switch{color:var(--c-text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.switch input{accent-color:var(--c-primary);width:15px;height:15px}.progress{background:var(--c-gray-soft);border-radius:99px;height:6px;overflow:hidden}.progress>i{background:var(--c-primary);border-radius:99px;height:100%;transition:width .3s;display:block}.progress.orange>i{background:var(--c-accent)}.progress.full>i{background:var(--c-blue)}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}.sheet-enter-active,.sheet-leave-active{transition:opacity .2s}.sheet-enter-active .sheet-panel,.sheet-leave-active .sheet-panel{transition:transform .22s}.sheet-enter-from,.sheet-leave-to{opacity:0}.sheet-enter-from .sheet-panel,.sheet-leave-to .sheet-panel{transform:translateY(100%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.pulse{animation:1.2s infinite pulse}
