*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f4f6f8}.app-shell{color:#172033;width:min(1100px,100% - 32px);margin:0 auto;padding:40px 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}.card{background:#fff;border-radius:18px;margin-bottom:24px;padding:28px;box-shadow:0 12px 35px #0f172a14}.eyebrow{color:#2563eb;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-size:.78rem;font-weight:700}h1{margin:0;font-size:clamp(2rem,4vw,3.5rem)}.intro{color:#526071;max-width:720px;line-height:1.5}.form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px;margin-top:24px;display:grid}label{gap:8px;font-weight:700;display:grid}input,select{color:#172033;background:#fff;border:1px solid #d7dde5;border-radius:12px;width:100%;padding:12px 14px}.groups-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.session-actions{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.session-actions button{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:12px;padding:13px 18px;font-weight:800}.session-actions button:hover{background:#1d4ed8}.session-code{color:#172033;background:#eef4ff;border:1px solid #cfe0ff;border-radius:12px;padding:12px 16px}.join-session{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.join-session input{max-width:240px}.join-session button{color:#fff;cursor:pointer;background:#172033;border:0;border-radius:12px;padding:12px 18px;font-weight:700}.joined-banner{color:#166534;background:#ecfdf3;border:1px solid #b7ebc6;border-radius:12px;margin-top:16px;padding:12px 16px;font-weight:700}.session-info{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.qr-card{background:#fff;border:1px solid #d7dde5;border-radius:12px;padding:12px}.checkin-button{color:#fff;cursor:pointer;background:#16a34a;border:0;border-radius:12px;margin-top:14px;padding:14px 18px;font-weight:800}.attendee-card{text-align:center;color:#172033;background:#fff;border-radius:18px;margin-top:18px;padding:28px 24px;box-shadow:0 10px 30px #0f172a14}.attendee-number{opacity:.75;margin-bottom:12px;font-size:1rem;font-weight:700}.group-assignment{color:#2563eb;margin-bottom:18px;font-size:clamp(2.2rem,8vw,4rem);font-weight:900;line-height:1}.assignment-note{opacity:.6;font-size:.9rem;line-height:1.5}.group-color-1{--group-color:#2563eb;--group-bg:#eff6ff;--group-border:#bfdbfe}.group-color-2{--group-color:#16a34a;--group-bg:#f0fdf4;--group-border:#bbf7d0}.group-color-3{--group-color:#f97316;--group-bg:#fff7ed;--group-border:#fed7aa}.group-color-4{--group-color:#9333ea;--group-bg:#faf5ff;--group-border:#e9d5ff}.group-color-5{--group-color:#dc2626;--group-bg:#fef2f2;--group-border:#fecaca}.group-color-6{--group-color:#0891b2;--group-bg:#ecfeff;--group-border:#a5f3fc}.group-assignment{color:var(--group-color,#2563eb)}.secondary-button{color:#172033;cursor:pointer;background:#e5e7eb;border:0;border-radius:12px;padding:13px 18px;font-weight:700}.secondary-button:hover{background:#d1d5db}.session-actions .secondary-button{color:#172033;background:#e5e7eb}.session-actions .secondary-button:hover{background:#d1d5db}.session-meta{flex-direction:column;gap:8px;display:flex}.live-attendee-count{color:#16a34a;font-size:.92rem;font-weight:700}.group-card{background:var(--group-bg,white);border:2px solid var(--group-border,transparent);border-radius:16px;padding:22px 64px 22px 22px;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f172a12}.group-card h2{color:var(--group-color,#172033);margin:0 0 12px}.group-card p{margin:0;font-size:1.25rem;font-weight:700;line-height:1.5}.group-count{z-index:1;width:46px;height:42px;color:var(--group-color,#172033);border-left:2px solid var(--group-border,#d7dde5);border-bottom:2px solid var(--group-border,#d7dde5);background:#fff;border-top:0;border-right:0;border-bottom-left-radius:14px;justify-content:center;align-items:center;font-size:.95rem;font-weight:900;display:flex;position:absolute;top:0;right:0}@media (width<=720px){.form-grid{grid-template-columns:1fr}.app-shell{padding:24px 0}}
