:root{--bg: var(--tg-theme-bg-color, #ffffff);--fg: var(--tg-theme-text-color, #1a1a1a);--muted: var(--tg-theme-hint-color, #8b8b8b);--card: var(--tg-theme-secondary-bg-color, #f4f4f5);--accent: var(--tg-theme-button-color, #2481cc);--error: #c2453f}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45}.page{max-width:560px;margin:0 auto;padding:20px 16px 40px}h1{margin:0 0 4px;font-size:28px}.subtitle{margin:0 0 24px;color:var(--muted)}.card{background:var(--card);border-radius:14px;padding:16px;margin-bottom:16px}.card h2{margin:0 0 8px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.card p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--error)}.role-admin{color:var(--accent)}footer{margin-top:32px;text-align:center}.tabs{display:flex;gap:4px;margin:16px 0 20px;padding:4px;background:var(--card);border-radius:12px}.tab{flex:1;padding:10px 12px;border:none;background:transparent;color:var(--muted);font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:background .15s,color .15s}.tab.active{background:var(--bg);color:var(--fg);box-shadow:0 1px 2px #00000014}.meeting{display:flex;flex-direction:column;gap:4px;padding:14px;background:var(--card);border-radius:12px;margin-bottom:10px}.meeting.cancelled{opacity:.5;text-decoration:line-through}.meeting-title{font-weight:600;font-size:16px}.meeting-time{font-size:14px;color:var(--muted)}.meeting-meta{display:flex;gap:12px;font-size:13px;color:var(--muted)}.meeting-actions{display:flex;gap:8px;margin-top:8px}.btn{padding:9px 14px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;background:var(--accent);color:var(--tg-theme-button-text-color, #ffffff)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn.danger{background:var(--error);color:#fff}.btn.small{padding:6px 10px;font-size:13px}.form{display:flex;flex-direction:column;gap:10px}.form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.form input,.form textarea{font-family:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--muted);border-radius:10px;background:var(--bg);color:var(--fg);outline:none}.form input:focus,.form textarea:focus{border-color:var(--accent)}.form textarea{min-height:70px;resize:vertical}.empty{padding:24px;text-align:center;color:var(--muted);font-size:14px}.btn.primary{background:var(--accent);color:var(--tg-theme-button-text-color, #ffffff)}.roster{margin-top:8px;display:flex;flex-direction:column;gap:8px}.roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.roster-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--bg);border-radius:8px;font-size:14px}.roster-row.status-waitlisted{border-left:3px solid var(--accent)}.roster-row.status-cancelled{opacity:.55;text-decoration:line-through}
