:root{color:#1d2433;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.75}#root,.join-page,.app-shell,.loading-screen{min-height:100vh}.join-page{background:radial-gradient(circle at 15% 10%,#4285f42e,#0000 30%),radial-gradient(circle at 80% 20%,#34d39933,#0000 28%),linear-gradient(135deg,#eef6ff 0%,#f6fbf3 100%);align-items:center;padding:32px;display:flex}.join-hero{grid-template-columns:1.1fr 420px;align-items:stretch;gap:28px;width:100%;max-width:1120px;margin:0 auto;display:grid}.hero-copy{color:#fff;background:linear-gradient(#14275273,#142752ad),url(./hero-CLDdwZDr.png) 50%/cover;border-radius:28px;flex-direction:column;justify-content:flex-end;min-height:560px;padding:46px;display:flex;position:relative;overflow:hidden}.hero-copy h1{letter-spacing:-.06em;max-width:760px;margin:0 0 20px;font-size:clamp(2.5rem,6vw,5.2rem);line-height:.95}.hero-copy p{color:#ffffffdb;max-width:620px;margin:0;font-size:1.1rem;line-height:1.7}.logo-lockup,.feature-row{align-items:center;gap:10px;display:flex}.logo-lockup{font-weight:800;position:absolute;top:34px;left:42px}.feature-row{flex-wrap:wrap;margin-top:32px}.feature-row span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff29;border:1px solid #ffffff3d;border-radius:999px;padding:10px 14px;font-weight:800}.join-card,.panel,.stat-card,.task-card{background:#ffffffeb;border:1px solid #6f809f2e;box-shadow:0 22px 60px #1f2d4b1f}.join-card{border-radius:26px;align-self:center;padding:32px}.join-icon,.brand-mark,.task-status-icon,.stat-card span{justify-content:center;align-items:center;display:inline-flex}.join-icon{color:#2563eb;background:#e8f1ff;border-radius:22px;width:72px;height:72px;margin-bottom:22px}.join-card h2,.panel h2{color:#121827;letter-spacing:-.03em;margin:0}.join-card h2{font-size:2rem}.join-card p{color:#637083;margin:10px 0 22px;line-height:1.6}.join-card label,.field label{color:#42506a;margin-bottom:8px;font-size:.83rem;font-weight:800;display:block}.join-card input,.field input{color:#162033;background:#f8fafc;border:1px solid #d8e0ef;border-radius:14px;outline:none;width:100%;padding:14px 15px}.join-card input:focus,.field input:focus{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1f}.role-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.role-grid button,.primary-button,.success-button,.ghost-button,.danger-button,.icon-button,.photo-button{border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:850;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.role-grid button:hover,.primary-button:hover,.success-button:hover,.ghost-button:hover,.danger-button:hover,.icon-button:hover,.photo-button:hover{transform:translateY(-1px)}.role-grid button,.primary-button{color:#fff;background:#2563eb;padding:12px 16px;box-shadow:0 12px 24px #2563eb38}.pin-panel{color:#26364f;background:#f8fafc;border:1px solid #dbe4f0;border-radius:18px;align-items:flex-start;gap:14px;margin-top:18px;padding:16px;display:flex}.pin-panel svg{color:#2563eb;flex:none;margin-top:2px}.pin-panel strong{color:#111827;margin-bottom:4px;font-size:1rem;display:block}.pin-panel p{margin:0 0 12px}.pin-display{color:#fff;letter-spacing:.18em;text-align:center;background:#111827;border-radius:14px;margin:8px 0 14px;padding:12px 16px;font-size:2rem;font-weight:950}.pin-input{text-align:center;margin:4px 0 12px}.role-grid .secondary{background:#10b981;box-shadow:0 12px 24px #10b98138}.app-shell{background:radial-gradient(circle at 0 0,#2563eb21,#0000 34%),linear-gradient(#f7fbff 0%,#eef4f7 100%);padding:24px}.app-header{color:#fff;background:#111827;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;max-width:1120px;margin:0 auto 22px;padding:18px 20px;display:grid}.brand-mark{background:#2563eb;border-radius:16px;width:52px;height:52px}.app-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,3vw,2.2rem)}.eyebrow{color:#6f7c91;letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:900}.app-header .eyebrow{color:#9fb0ca}.header-actions{align-items:center;gap:10px;display:flex}.role-pill,.status-badge,.points-badge,.waiting-label{border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:900}.role-pill{color:#fff;background:#ffffff1f}.icon-button{color:#fff;background:#ffffff1a;width:44px;height:44px}.dashboard{gap:18px;max-width:1120px;margin:0 auto;display:grid}.notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;max-width:1120px;margin:0 auto 18px;padding:13px 16px;font-weight:750}.notice.compact{margin:0 0 18px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{border-radius:18px;align-items:center;gap:13px;padding:18px;display:flex}.stat-card span{color:#2563eb;background:#eef4ff;border-radius:14px;width:46px;height:46px}.stat-card strong{color:#111827;letter-spacing:-.05em;font-size:1.8rem;line-height:1;display:block}.stat-card p{color:#657286;margin:5px 0 0;font-size:.9rem;font-weight:750}.panel{border-radius:22px;padding:22px}.pin-note{align-items:center;gap:13px;display:flex}.pin-note svg{color:#2563eb;flex:none}.pin-note strong{color:#111827;margin-bottom:3px;display:block}.pin-note p{color:#637083;margin:0}.panel-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.task-form{grid-template-columns:2fr 1fr 120px auto;align-items:end;gap:12px;display:grid}.field.wide{min-width:220px}.field.small input{text-align:center}.primary-button{min-height:51px}.task-section,.task-list{gap:12px;display:grid}.task-card{border-radius:18px;grid-template-columns:auto 1fr auto;align-items:start;gap:14px;padding:16px;display:grid}.task-card.done{opacity:.82}.task-status-icon{color:#2563eb;background:#eef4ff;border-radius:14px;width:46px;height:46px}.task-card.submitted .task-status-icon{color:#f97316;background:#fff7ed}.task-card.done .task-status-icon{color:#059669;background:#ecfdf5}.task-content{min-width:0}.task-topline{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.status-badge.pending{color:#1d4ed8;background:#eef4ff}.status-badge.submitted{color:#c2410c;background:#fff7ed}.status-badge.done{color:#047857;background:#ecfdf5}.points-badge{color:#52525b;background:#f4f4f5}.task-card h3{color:#141b2d;overflow-wrap:anywhere;margin:0 0 6px;font-size:1.05rem}.task-card p{color:#657286;align-items:center;gap:6px;margin:0;display:flex}.task-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.success-button{color:#fff;background:#059669;padding:10px 13px}.ghost-button{color:#334155;background:#eef2f7;padding:10px 13px}.danger-button{color:#b91c1c;background:#fee2e2;width:42px;height:42px}.waiting-label{color:#c2410c;background:#fff7ed}.evidence-panel{gap:10px;margin-top:14px;display:grid}.photo-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;max-width:420px;display:grid}.photo-tile{background:#f8fafc;border:1px solid #dbe4f0;border-radius:16px;overflow:hidden}.photo-tile img,.photo-placeholder{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.photo-placeholder{color:#64748b;background:#e8eef7;justify-content:center;align-items:center;display:flex}.photo-tile span,.photo-tile small{padding:0 10px;display:block}.photo-tile span{color:#111827;padding-top:8px;font-size:.82rem;font-weight:900}.photo-tile small{color:#64748b;padding-bottom:9px;font-size:.74rem}.evidence-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px;display:flex}.photo-button{color:#1d4ed8;background:#eef4ff;min-height:40px;padding:9px 12px}.photo-button.has-photo{color:#047857;background:#ecfdf5}.file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.mini-note{color:#64748b;font-size:.82rem;font-weight:750}.map-link,.location-missing{border-radius:999px;justify-self:start;align-items:center;gap:7px;padding:8px 11px;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.map-link{color:#0369a1;background:#e0f2fe}.location-missing{color:#c2410c;background:#fff7ed}.task-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;margin-top:12px;padding:9px 11px;font-size:.86rem;font-weight:800}.empty-state{color:#6b7280;text-align:center;justify-content:center;align-items:center;gap:12px;min-height:96px;display:flex}.teen-panel{gap:16px;display:grid}.loading-screen{color:#42506a;background:#f5f7fb;flex-direction:column;justify-content:center;align-items:center;gap:16px;font-weight:800;display:flex}.loader{border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:999px;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.join-page,.app-shell{padding:16px}.join-hero{grid-template-columns:1fr}.hero-copy{min-height:420px;padding:34px 24px}.logo-lockup{top:24px;left:24px}.stats-grid,.task-form{grid-template-columns:1fr 1fr}.field.wide,.primary-button{grid-column:1/-1}}@media (width<=640px){.app-header,.task-card{grid-template-columns:1fr}.brand-mark{display:none}.header-actions,.task-actions{justify-content:flex-start}.role-grid,.stats-grid,.task-form{grid-template-columns:1fr}.join-card,.panel{padding:18px}}
