@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-dark:#0a0e1a;--bg-surface:#111827;--bg-card:#111827bf;--bg-elevated:#1e293b99;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-hover:#ffffff2e;--text-main:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f140;--success:#22c55e;--success-glow:#22c55e33;--danger:#ef4444;--danger-glow:#ef444433;--warning:#f59e0b;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0000004d;--shadow-lg:0 8px 40px #0006;--shadow-glow:0 0 30px var(--primary-glow);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-default:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 20% 0,#6366f114 0%,#0000 50%),radial-gradient(at 80% 100%,#22c55e0f 0%,#0000 50%);background-attachment:fixed;flex-direction:column;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex}#root{flex-direction:column;flex:1;display:flex}h1,h2,h3{letter-spacing:-.025em;margin-bottom:.75rem;font-weight:700;line-height:1.2}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.125rem}.gradient-text{background:linear-gradient(135deg,#818cf8 0%,#6366f1 40%,#22c55e 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.page-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.page-header h1{margin:0}.page-header .text-muted{margin:.25rem 0 0}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:border-color var(--transition-default);padding:2rem}.glass-panel:hover{border-color:var(--border-hover)}.btn{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1.5;display:inline-flex}.btn:hover{background:var(--primary-hover);box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-success{background:var(--success)}.btn-success:hover{box-shadow:0 4px 16px var(--success-glow);background:#16a34a}.btn-danger{background:var(--danger)}.btn-danger:hover{box-shadow:0 4px 16px var(--danger-glow);background:#dc2626}.btn-ghost{background:var(--bg-elevated);border:1px solid var(--border-default)}.btn-ghost:hover{border-color:var(--border-hover);box-shadow:none;background:#ffffff14}.btn-icon{border-radius:var(--radius-full);background:var(--bg-elevated);border:1px solid var(--border-default);padding:.625rem}.btn-icon:hover{border-color:var(--border-hover);box-shadow:none;background:#ffffff1a}.btn-pill{border-radius:var(--radius-full)}.input-field{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;color:var(--text-main);transition:all var(--transition-fast);margin-bottom:.875rem;padding:.75rem 1rem;font-family:inherit;font-size:.9375rem}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.input-field::placeholder{color:var(--text-muted)}.input-group{margin-bottom:.875rem;position:relative}.input-group .input-icon{color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast);position:absolute;top:50%;left:.875rem;transform:translateY(-50%)}.input-group .input-field{margin-bottom:0;padding-left:2.75rem}.input-group:focus-within .input-icon{color:var(--primary)}.toggle-wrapper{background:var(--bg-elevated);border-radius:var(--radius-full);border:1px solid var(--border-default);margin-bottom:1.75rem;padding:4px;display:flex;position:relative}.toggle-slider{background:var(--primary);border-radius:var(--radius-full);width:calc(50% - 4px);transition:transform var(--transition-default);box-shadow:0 2px 10px var(--primary-glow);position:absolute;top:4px;bottom:4px}.toggle-btn{z-index:1;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:600;display:flex;position:relative}.toggle-btn.active{color:#fff}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-default);padding:.875rem 1rem;font-size:.75rem;font-weight:600}.data-table tbody td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:1rem;font-size:.9375rem}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;gap:.375rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--success-glow);color:var(--success);border:1px solid #22c55e4d}.badge-muted{color:var(--text-muted);background:#64748b26;border:1px solid #64748b33}.attendee-row{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:all var(--transition-fast);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.875rem 1rem;display:flex}.attendee-row:hover{border-color:var(--border-hover);background:#ffffff0a}.attendee-row:last-child{margin-bottom:0}.attendee-avatar{border-radius:var(--radius-full);object-fit:cover;border:2px solid var(--border-default);width:44px;height:44px}.attendee-card{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);transition:all var(--transition-fast);overflow:hidden}.attendee-card:hover{border-color:var(--primary);box-shadow:0 0 16px var(--primary-glow);transform:translateY(-2px)}.attendee-card-photo{aspect-ratio:1;object-fit:cover;border-bottom:1px solid var(--border-subtle);width:100%;display:block}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.empty-state p{font-size:.9375rem;line-height:1.6}.alert-error{background:var(--danger-glow);border-radius:var(--radius-sm);color:#fca5a5;text-align:center;border:1px solid #ef44444d;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.meet-container{background:var(--bg-dark);flex-direction:column;width:100%;height:100vh;display:flex}.meet-main{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex;overflow-y:auto}.meet-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-content:start;gap:1rem;width:100%;max-width:1600px;display:grid}.student-tile{background:var(--bg-surface);border-radius:var(--radius-lg);aspect-ratio:4/3;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);transition:all var(--transition-default);position:relative;overflow:hidden}.student-tile:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:scale(1.02)}.student-photo{object-fit:cover;width:100%;height:100%}.student-overlay{background:linear-gradient(#0000 0%,#000000d9 100%);justify-content:space-between;align-items:flex-end;padding:2.5rem 1rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.student-name{color:#fff;text-shadow:0 1px 4px #0009;font-size:1rem;font-weight:600}.meet-bottom-bar{background:var(--bg-surface);border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:.875rem 1.5rem;display:flex}.meet-info{color:var(--text-secondary);font-size:1rem;font-weight:500}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;animation:fadeIn var(--transition-fast) ease;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:var(--radius-xl);border:1px solid var(--border-default);width:calc(100% - 2rem);max-width:440px;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-default) ease;padding:2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-indicator{justify-content:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.step-dot{border-radius:var(--radius-full);background:var(--border-default);width:8px;height:8px;transition:all var(--transition-default)}.step-dot.active{background:var(--primary);width:24px}.step-dot.completed{background:var(--success)}.leaflet-container{border-radius:var(--radius-md);border:1px solid var(--border-default)}.leaflet-layer,.leaflet-control-zoom-in,.leaflet-control-zoom-out,.leaflet-control-attribution{filter:invert()hue-rotate(180deg)brightness(95%)contrast(90%)}.text-center{text-align:center}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-primary{color:var(--primary)}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.w-full{width:100%}@media (width<=640px){.container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.page-header .flex{width:100%}.meet-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.meet-bottom-bar{padding:.75rem 1rem}.data-table{font-size:.8125rem}.data-table thead th,.data-table tbody td{padding:.625rem .5rem}}
