:root{color:#1e293b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f1f5f9;font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{background:#f1f5f9}body{background:radial-gradient(circle at top,#7dd3fc3d,#0000 30%),linear-gradient(#f8fbff 0%,#eaf2f8 100%);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}#app,.app-shell{min-height:100vh}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:linear-gradient(#09428c 0%,#1354b8fa 30%,#1354b8e6 68%,#1354b8d9 100%);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;padding:18px 28px;display:flex;position:sticky;top:0;box-shadow:0 10px 26px #1d4ed833}.brand{color:#fff;align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:inline-flex}.brand-logo{object-fit:contain;width:64px;height:64px;display:block}.nav{gap:12px;display:flex}.nav a{color:#eff6ff;background:#ffffff1a;border:1px solid #ffffff47;border-radius:999px;padding:10px 16px;text-decoration:none}.nav a.router-link-active{color:#0f4c81;background:#fff;border-color:#0000}.page{max-width:1200px;margin:0 auto;padding:56px 20px 80px}.hero-panel,.auth-panel,.admin-shell,.admin-section,.admin-panel,.sidebar,.table-wrap{background:#ffffffeb;border:1px solid #dbe5ef;border-radius:14px;box-shadow:0 16px 32px #4755691f}.hero-panel,.auth-panel,.admin-shell,.admin-section,.admin-panel{padding:28px}.eyebrow{color:#1d4ed8;letter-spacing:.08em;text-transform:uppercase;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:8px 12px;font-size:.8rem;display:inline-block}h1{letter-spacing:-.05em;color:#0f172a;max-width:760px;margin:18px 0 12px;font-size:clamp(2.2rem,5vw,4rem);line-height:1.05}h2{color:#0f172a;margin:0 0 12px}.lead{color:#475569;max-width:760px;margin:0;font-size:1.04rem}.action-row{margin-top:22px}.button{cursor:pointer;border:none;border-radius:12px;padding:12px 16px;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-block}.button:hover{opacity:.95}.turnstile-widget{min-height:65px;margin:12px 0}.activity-public-url{color:#2563eb;white-space:nowrap;margin-top:4px;font-size:.78rem;text-decoration:none;display:inline-block}.activity-public-url:hover{text-decoration:underline}.activity-url-action{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;margin-left:8px;padding:2px 7px;font-size:.72rem}.button.primary{color:#fff;background:linear-gradient(135deg,#38bdf8 0%,#2563eb 100%)}.button.ghost{color:#000;background:#94a3b81f;border:1px solid #94a3b840}.button.secondary{color:#334155;background:#fff;border:1px solid #cbd5e1}.button.danger{color:#000;background:#ef44441f;border:1px solid #ef44444d}.info-grid,.metric-grid,.panel-grid{gap:18px;margin-top:28px;display:grid}.info-grid,.panel-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.info-card,.metric-card,.panel-card{background:#fff;border:1px solid #dbe5ef;border-radius:16px;padding:18px}.info-card h2,.panel-card h2{color:#0f172a;margin-top:0;margin-bottom:10px}.info-card p,.panel-card li,.metric-card span{color:#475569}.metric-card{gap:8px;display:grid}.metric-card span{text-transform:uppercase;letter-spacing:.06em;font-size:.88rem}.metric-card strong{color:#0f172a;font-size:2rem}.panel-card ul{gap:8px;margin:0;padding-left:18px;display:grid}.auth-page{place-items:center;min-height:calc(100vh - 74px);display:grid}.auth-panel{width:min(560px,100%)}.login-box{gap:14px;margin-top:20px;display:grid}.login-box label,.form-grid label{color:#334155;gap:8px;font-weight:600;display:grid}.login-box input,.form-grid input,.form-grid select{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:12px 14px}input::placeholder,textarea::placeholder{color:#94a3b8;opacity:1;font-size:.9em;font-weight:400}.feedback{color:#0369a1;margin-top:14px}.admin-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.admin-layout{grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 74px);display:grid}.sidebar{background:#fff;border:none;border-right:1px solid #dbe5ef;border-radius:0;padding:24px 18px}.sidebar-header{margin-bottom:18px}.sidebar-brand{color:#0f172a;font-size:1.15rem;font-weight:800}.sidebar-subtitle{color:#64748b;margin-top:6px;font-size:.9rem}.sidebar-nav{gap:12px;display:grid}.sidebar-group{border-top:1px solid #94a3b82e;gap:8px;padding-top:8px;display:grid}.sidebar-group:first-of-type{border-top:none;padding-top:0}.sidebar-dropdown{background:#f8fafc;border:1px solid #0000;border-radius:12px;display:block;overflow:hidden}.sidebar-dropdown summary{cursor:pointer;color:#334155;-webkit-user-select:none;user-select:none;padding:12px 14px;font-weight:700;list-style:none}.sidebar-dropdown summary::-webkit-details-marker{display:none}.sidebar-dropdown summary:after{content:"▾";float:right;color:#64748b;font-size:.9rem}.sidebar-dropdown[open] summary:after{content:"▴"}.sidebar-dropdown-items{gap:6px;padding:0 10px 10px;display:grid}.sidebar-dropdown-items a{color:#475569;background:#fff;border-radius:10px;padding:10px 12px;text-decoration:none;display:block}.sidebar-dropdown-items a.router-link-active{background:linear-gradient(135deg,#38bdf82e,#2563eb33);border:1px solid #7dd3fc73}.sidebar-nav a,.sidebar-top-link{color:#475569;background:#f8fafc;border:1px solid #0000;border-radius:12px;padding:12px 14px;text-decoration:none;display:block}.sidebar-nav a.router-link-active,.sidebar-top-link.router-link-active{background:linear-gradient(135deg,#38bdf82e,#2563eb33);border-color:#7dd3fc73}.admin-content{min-width:0;max-width:100%;padding:28px;overflow-x:hidden}.mobile-menu-button,.sidebar-backdrop{display:none}.section-topbar,.table-header,.form-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.section-topbar h1{letter-spacing:-.02em;margin:0;font-size:1.45rem;font-weight:700;line-height:1.25}.admin-section{min-width:0;max-width:100%;min-height:100%}.list-stack{gap:12px;display:grid}.list-row{border-bottom:1px solid #94a3b833;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list-row strong,.table-wrap td strong{color:#0f172a;display:block}.list-row small,.empty-state,.muted-text,.table-wrap td{color:#64748b}.badge{text-transform:capitalize;border:1px solid #94a3b833;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.74rem;display:inline-flex}.badge.success{color:#000;background:#16a34a24;border-color:#22c55e4d}.badge.muted{color:#000;background:#94a3b81f}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;display:grid}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;margin-top:18px;overflow:auto hidden}.table-wrap table{border-collapse:collapse;width:100%;min-width:720px}.activity-table-wrap table{min-width:1480px}.participant-table-wrap table,.participant-table{min-width:1100px}.table-wrap th,.table-wrap td{text-align:left;vertical-align:top;border-bottom:1px solid #94a3b833;padding:14px 16px}.table-wrap th{color:#334155;letter-spacing:.08em;text-transform:uppercase;background:#f1f5f9;font-size:.76rem}.table-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=960px){.admin-layout{grid-template-columns:1fr}.sidebar{z-index:40;border-right:1px solid #dbe5ef;width:min(84vw,320px);transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:14px 0 34px #0f172a29}.sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{z-index:30;cursor:pointer;background:#0f172a6b;border:0;display:block;position:fixed;inset:0}.mobile-menu-button{color:#0f172a;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 14px;font-weight:700;display:inline-flex}}@media (width<=640px){.topbar,.admin-header,.section-topbar,.table-header,.form-header{flex-direction:column;align-items:flex-start}.nav{width:100%}.nav a{text-align:center;flex:1}.brand-logo{width:54px;height:54px}.admin-content{padding:16px}}
