*{margin:0;padding:0;box-sizing:border-box}:root{color-scheme:light;--brand: #667eea;--brand-dark: #4f46b8;--surface: #ffffff;--background: #f5f6fa;--text: #242833;--muted: #667085}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--background);color:var(--text);overflow-x:hidden}#app{min-height:100vh;padding-bottom:calc(64px + env(safe-area-inset-bottom))}.container{max-width:750px;margin:0 auto;padding:20px}.card{background:var(--surface);border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.tabbar{position:fixed;bottom:0;left:0;right:0;min-height:60px;padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #eee;display:flex;justify-content:space-around;align-items:center;z-index:100}.tabbar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--muted);font-size:12px}.tabbar-item.router-link-active{color:var(--brand)}.tabbar-item:focus-visible,.btn-primary:focus-visible{outline:3px solid rgba(102,126,234,.45);outline-offset:2px}.tabbar-item .icon{font-size:20px}.btn-primary{background:linear-gradient(135deg,var(--brand) 0%,var(--brand-dark) 100%);color:#fff;border:none;border-radius:25px;padding:12px 24px;font-size:16px;cursor:pointer}@media (max-width: 480px){.container{padding:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.btn-primary:active{opacity:.8}:root{color-scheme:light;--brand-950: #0c1d32;--brand-900: #102942;--brand-800: #173d61;--brand-700: #1f5a86;--brand-500: #2f86bd;--brand-300: #86c7db;--accent: #18a999;--accent-soft: #e5f7f4;--canvas: #f4f7fb;--surface: #ffffff;--surface-soft: #f8fafc;--line: #e1e8f0;--text: #15283f;--muted: #708198;--danger: #d45460;--warning: #c9852b;--shadow-sm: 0 8px 24px rgba(24, 53, 84, .06);--shadow-md: 0 16px 40px rgba(24, 53, 84, .09);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px}html{background:var(--canvas)}body{margin:0;min-width:320px;background:radial-gradient(circle at 8% -10%,rgba(134,199,219,.18),transparent 30rem),var(--canvas);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}#app{min-height:100vh;color:var(--text)}#app .container,#app .statistics-page{width:min(100% - 32px,1020px);max-width:1020px;margin:0 auto;padding:24px 0 calc(36px + env(safe-area-inset-bottom))}#app .card,#app .panel,#app .filter-card,#app .form-card,#app .stats-card,#app .ranking-card,#app .member-card,#app .activity-card,#app .user-card,#app .club-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text)}#app .card,#app .panel,#app .filter-card,#app .form-card,#app .stats-card,#app .ranking-card,#app .member-card,#app .user-card,#app .club-card{padding:20px}#app .card.activity-card,#app .card.menu-card{padding:0;overflow:hidden}#app .card:hover,#app .panel:hover,#app .club-card:hover,#app .activity-card:hover{border-color:#c9d9e8;box-shadow:var(--shadow-md)}#app h1,#app h2,#app h3,#app h4,#app p{color:inherit}#app .top-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:58px;margin:-24px -16px 20px;padding:0 18px;border:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(135deg,var(--brand-900),var(--brand-700));box-shadow:0 10px 28px #10294233;color:#fff}#app .top-nav .back-btn,#app .back-bar,#app .page-header .back-btn{color:var(--brand-700);font-weight:700}#app .top-nav .back-btn,#app .top-nav .page-title{color:#fff}#app .top-nav .page-title,#app .page-header .page-title{font-size:18px;font-weight:800;letter-spacing:-.02em}#app .back-bar{display:flex;align-items:center;min-height:42px;margin-bottom:16px;padding:0 2px;color:var(--brand-700);cursor:pointer}#app .page-header{color:var(--text)}#app .page-header h1,#app .page-header h2{color:var(--text);font-weight:850}#app .tabs{display:flex;gap:6px;padding:6px;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}#app .tab{flex:1;min-height:38px;display:grid;place-items:center;padding:0 12px;border-radius:11px;color:var(--muted);font-size:13px;font-weight:700;transition:.2s ease}#app .tab.active{border:0;background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:#fff;box-shadow:0 7px 16px #2f86bd33}#app .btn-primary,#app .btn-submit,#app .btn-confirm,#app .login-btn,#app .register-btn,#app .save-btn,#app .primary-button,#app .export-button,#app .search-btn{border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand-700),var(--brand-500));color:#fff;font-weight:750;box-shadow:0 9px 20px #1f5a862e}#app .btn-primary:hover,#app .btn-submit:hover,#app .btn-confirm:hover,#app .login-btn:hover,#app .register-btn:hover,#app .save-btn:hover,#app .primary-button:hover,#app .export-button:hover,#app .search-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}#app .btn-secondary,#app .btn-cancel,#app .quiet-button,#app .cancel-btn{border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--brand-700);font-weight:700}#app .btn-danger,#app .btn-danger-small,#app .danger-zone .btn-danger{border:0;border-radius:12px;background:var(--danger);color:#fff;font-weight:700}#app .filter-bar,#app .search-bar{display:flex;gap:10px;margin-bottom:16px}#app .search-input,#app .type-select,#app .input,#app .select,#app .name-input,#app .form-group input,#app .form-group select,#app .form-group textarea,#app .form-item input,#app .form-item select,#app .form-item textarea,#app .filter-card input,#app .filter-card select,#app .filter-card textarea{min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft);color:var(--text);font:inherit;outline:0;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}#app .search-input:focus,#app .type-select:focus,#app .input:focus,#app .select:focus,#app .name-input:focus,#app .form-group input:focus,#app .form-group select:focus,#app .form-group textarea:focus,#app .form-item input:focus,#app .form-item select:focus,#app .form-item textarea:focus,#app .filter-card input:focus,#app .filter-card select:focus,#app .filter-card textarea:focus{border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px #2f86bd1f}#app .empty,#app .empty-state,#app .loading,#app .loading-state{color:var(--muted)}#app .empty-state{border:1px dashed #cfdbe7;border-radius:var(--radius-md);background:#ffffff8c}#app .badge,#app .club-type,#app .club-role,#app .role-owner,#app .role-admin,#app .role-member,#app .points-tag,#app .points-badge,#app .route-badge{border-radius:999px;font-weight:750}#app .club-type,#app .badge,#app .role-member{background:#edf3f8;color:var(--brand-700)}#app .role-owner{background:#fff3d8;color:#94631d}#app .role-admin,#app .route-badge{background:var(--accent-soft);color:#0b7d72}#app .points-tag,#app .points-badge{background:var(--accent);color:#fff}#app .stats-card,#app .user-card,#app .admin-entry{border:0;background:linear-gradient(135deg,var(--brand-900),var(--brand-700));color:#fff;box-shadow:0 16px 34px #10294233}#app .admin-entry{background:linear-gradient(135deg,#0d6170,#148e84)}#app .admin-btn,#app .entry-btn{border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#ffffff1f;color:inherit}#app .entry-btn{background:#f2f7fb;color:var(--text)}#app .entry-btn:hover,#app .admin-btn:hover{background:#fff3}#app .rank-points,#app .points-value,#app .member-points,#app .ranking-points{color:var(--brand-700)}#app .user-card .points-value,#app .user-card .points-label,#app .stats-card .stat-value,#app .stats-card .stat-label{color:#fff!important}#app .avatar-placeholder{background:linear-gradient(135deg,var(--brand-700),var(--accent))}#app .dialog-overlay,#app .modal{background:#0c1d3294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}#app .dialog,#app .modal-content{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 70px #0c1d3240}#app .modal-header,#app .modal-footer{border-color:var(--line)}#app .tabbar{min-height:68px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(225,232,240,.95);background:#fffffff0;box-shadow:0 -10px 30px #18355414;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}#app .tabbar-item{position:relative;gap:3px;color:#8b9aad;font-weight:650}#app .tabbar-item.router-link-active{color:var(--brand-700)}#app .tabbar-item.router-link-active:before{content:"";position:absolute;top:-8px;width:24px;height:3px;border-radius:99px;background:var(--brand-500)}#app .login-container,#app .register-container,#app .sign-in-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,rgba(134,199,219,.2),transparent 22rem),radial-gradient(circle at 90% 90%,rgba(24,169,153,.18),transparent 26rem),linear-gradient(145deg,var(--brand-950),var(--brand-800))}#app .login-card,#app .register-card,#app .sign-in-card{border:1px solid rgba(255,255,255,.65);border-radius:26px;background:#fffffff5;box-shadow:0 26px 80px #05142647}#app .login-card .club-name,#app .register-card .club-name,#app .sign-in-card h1{color:var(--brand-900)}#app .login-card .form-input,#app .register-card .form-input{border:0;background:transparent;box-shadow:none}#app .login-card .input-wrapper,#app .register-card .input-wrapper{border:1px solid var(--line);background:var(--surface-soft)}#app .login-card .input-wrapper:focus-within,#app .register-card .input-wrapper:focus-within{border-color:var(--brand-500);background:#fff;box-shadow:0 0 0 4px #2f86bd1f}#app table th{color:var(--muted)}#app .activity-item,#app .club-points-item,#app .member-item,#app .record-item{border-color:var(--line);background:var(--surface-soft)}@media (max-width: 760px){#app .container,#app .statistics-page{width:min(100% - 24px,680px);padding-top:16px}#app .top-nav{margin:-16px -12px 16px}#app .filter-bar,#app .search-bar{flex-wrap:wrap}#app .search-input{min-width:0;flex-basis:100%}}@media (prefers-reduced-motion: reduce){#app *,#app *:before,#app *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
