.session-card{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #00000014}.session-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.session-time{font-weight:600;font-size:.95rem}.session-capacity{font-size:.8rem;color:#666;background:#f0f0f0;padding:2px 8px;border-radius:4px}.session-description{color:#555;font-size:.9rem;margin-bottom:4px}.session-venue{color:#888;font-size:.8rem}.session-list{display:flex;flex-direction:column;gap:12px}.status-msg.error{color:#c0392b}.comment-thread{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #00000014}.comment-heading{font-size:.95rem;font-weight:600;margin-bottom:12px;color:#444}.comment-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;margin-bottom:12px}.no-comments{color:#999;font-size:.85rem;text-align:center;padding:16px 0}.comment{padding:8px 12px;background:#f7f7f7;border-radius:8px}.comment-own{background:#eff6ff}.comment-meta{display:flex;justify-content:space-between;margin-bottom:2px}.comment-author{font-size:.8rem;font-weight:600;color:#555}.comment-time{font-size:.75rem;color:#999}.comment-text{font-size:.9rem;color:#1a1a1a}.comment-input{display:flex;gap:8px}.comment-input input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.9rem;outline:none}.comment-input input:focus{border-color:#2563eb}.comment-input button{padding:10px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer}.comment-input button:disabled{opacity:.5;cursor:not-allowed}.comments-frozen{text-align:center;color:#999;font-size:.8rem;font-style:italic}.session-detail{display:flex;flex-direction:column;gap:16px}.back-btn{background:none;border:none;color:#2563eb;font-size:.9rem;cursor:pointer;padding:0;align-self:flex-start}.back-btn:hover{text-decoration:underline}.detail-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014}.detail-title{font-size:1.2rem;font-weight:700;margin-bottom:16px}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#666}.rsvp-section{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column;align-items:center;gap:16px}.rsvp-badge{font-size:.85rem;font-weight:600;padding:6px 16px;border-radius:20px}.rsvp-attending{background:#dcfce7;color:#166534}.rsvp-waitlist{background:#fef3c7;color:#92400e}.rsvp-declined{background:#fee2e2;color:#991b1b}.rsvp-limbo{background:#fef3c7;color:#92400e;animation:pulse 1s ease-in-out infinite}.rsvp-unanswered{background:#f3f4f6;color:#6b7280}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.rsvp-actions{display:flex;gap:12px;width:100%}.btn{flex:1;padding:12px 20px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-attend{background:#2563eb;color:#fff}.btn-attend:hover:not(:disabled){background:#1d4ed8}.btn-decline{background:#f3f4f6;color:#374151}.btn-decline:hover:not(:disabled){background:#e5e7eb}.btn-undo{background:#f59e0b;color:#fff;width:100%}.btn-undo:hover:not(:disabled){background:#d97706}.lang-toggle{background:#e0e0e0;border:none;border-radius:6px;padding:6px 14px;font-size:.85rem;font-weight:600;cursor:pointer;color:#333}.lang-toggle:hover{background:#d0d0d0}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px;text-align:center}.login-screen h1{font-size:2rem;font-weight:800}.login-subtitle{color:#666;font-size:.95rem}.login-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.login-btn{display:block;padding:14px 20px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem;text-align:center;transition:opacity .15s}.login-btn:hover{opacity:.85}.login-google{background:#4285f4;color:#fff}.login-line{background:#06c755;color:#fff}.login-lang{margin-top:12px}.create-session-form{margin-top:16px;padding-top:16px;border-top:1px solid #eee;display:flex;flex-direction:column;gap:10px}.create-session-form h4{font-size:.95rem;font-weight:600;margin-bottom:4px}.create-session-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;color:#555}.create-session-form input,.create-session-form select{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.create-session-form input:focus,.create-session-form select:focus{border-color:#2563eb;outline:none}.admin-panel{display:flex;flex-direction:column;gap:16px}.admin-panel h2{font-size:1.2rem;font-weight:700}.admin-club-section{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 3px #00000014}.club-name{font-size:1rem;font-weight:600;margin-bottom:12px}.admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-action-btn{padding:10px 12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;color:#374151}.admin-action-btn:hover{background:#e5e7eb}.admin-members{display:flex;flex-direction:column;gap:12px}.admin-members h2{font-size:1.1rem;font-weight:700}.member-count{font-size:.85rem;color:#888}.member-list{display:flex;flex-direction:column;gap:2px}.member-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-radius:8px}.member-info{display:flex;align-items:center;gap:8px}.member-name{font-size:.9rem;font-weight:500}.admin-badge{font-size:.7rem;font-weight:600;background:#dbeafe;color:#1d4ed8;padding:2px 6px;border-radius:4px}.remove-btn{background:none;border:1px solid #fca5a5;color:#dc2626;padding:4px 10px;border-radius:6px;font-size:.8rem;cursor:pointer}.remove-btn:hover{background:#fef2f2}.admin-invites{display:flex;flex-direction:column;gap:12px}.admin-invites h2{font-size:1.1rem;font-weight:700}.new-invite-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;display:flex;align-items:center;gap:8px}.new-invite-banner code{flex:1;font-size:.75rem;word-break:break-all}.copy-btn{background:#16a34a;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.invite-list{display:flex;flex-direction:column;gap:2px}.invite-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fff;border-radius:8px}.invite-row.used{opacity:.6}.invite-token code{font-size:.8rem;color:#555}.invite-status{font-size:.8rem}.invite-active{color:#16a34a;font-weight:600}.invite-used{color:#6b7280}.invite-expired{color:#dc2626}.no-invites{text-align:center;color:#999;font-size:.85rem;padding:16px 0}.admin-templates{display:flex;flex-direction:column;gap:12px}.admin-templates h2{font-size:1.1rem;font-weight:700}.create-template-form{background:#fff;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 1px 3px #00000014}.create-template-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:500;color:#555}.create-template-form input,.create-template-form select{padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.time-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-list{display:flex;flex-direction:column;gap:4px}.template-row{background:#fff;border-radius:8px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.template-info{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem}.template-day{font-weight:700;color:#2563eb}.template-time{color:#374151}.template-venue{color:#6b7280}.template-cap{font-size:.8rem;color:#888;background:#f3f4f6;padding:2px 6px;border-radius:4px}.template-actions{display:flex;gap:6px;flex-shrink:0}.gen-btn{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:5px 10px;font-size:.75rem;font-weight:600;cursor:pointer}.gen-btn:hover{background:#1d4ed8}.no-templates{text-align:center;color:#999;font-size:.85rem;padding:16px 0}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.app-header h1{font-size:1.5rem;font-weight:700}.header-right{display:flex;align-items:center;gap:10px}.user-name{font-size:.85rem;color:#555;font-weight:500}.admin-link{background:none;border:1px solid #2563eb;border-radius:6px;padding:4px 10px;font-size:.8rem;color:#2563eb;font-weight:600;cursor:pointer}.admin-link:hover{background:#eff6ff}.logout-btn{background:none;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-size:.8rem;color:#666;cursor:pointer}.logout-btn:hover{background:#f5f5f5}main h2{font-size:1.1rem;font-weight:600;margin-bottom:12px;color:#444}.status-msg{text-align:center;padding:32px 0;color:#888}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;background:#f5f5f5;color:#1a1a1a;line-height:1.5}#root{max-width:600px;margin:0 auto;padding:16px}
