:root{color:#1f2937;font-synthesis:none;background:#f8faf7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:#1f2937;background-color:#f8faf7;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#1c2d24;border:0;border-radius:9999px;padding:.65rem 1.25rem;font-weight:600;transition:all .15s}button:hover:not(:disabled){opacity:.92}button:disabled{opacity:.5;cursor:not-allowed}a{color:#1c2d24;text-decoration:none}.site-header{z-index:50;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.brand-container{align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-logo{color:#10b981;background:#ecfdf5;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:flex}.brand-title{color:#111827;margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.brand-slogan{color:#6b7280;margin:0;font-size:.8rem}.user-menu-wrapper{position:relative}.user-avatar-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;font-weight:600;display:flex}.user-dropdown{z-index:60;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.25rem;width:220px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 10px 25px -5px #0000001a}.user-dropdown a,.user-dropdown button{text-align:left;color:#374151;background:0 0;border-radius:8px;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.88rem;font-weight:500;display:flex}.user-dropdown a:hover,.user-dropdown button:hover{background:#f3f4f6}.user-dropdown hr{border:none;border-top:1px solid #f3f4f6;margin:.25rem 0}.container{width:min(100% - 2rem,640px);margin:1.5rem auto 3rem}.stack{gap:1rem;display:grid}.card{box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;background:#fff;border:1px solid #e5e7eb;border-radius:16px;max-width:100%;padding:1.25rem 1.5rem;box-shadow:0 1px 3px #0000000d}.feed-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.feed-title{color:#111827;margin:0;font-size:1.35rem;font-weight:700}.badge-pill{color:#4b5563;background:#f3f4f6;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.event-card-container{background:#fff;border:1px solid #e5e7eb;border-radius:16px;grid-template-columns:minmax(0,1fr);gap:1rem;min-width:0;padding:1.25rem 1.5rem;display:grid;box-shadow:0 1px 3px #0000000d}.event-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.event-card-header>div:first-child{flex:16rem;min-width:0}.event-card-header>div:first-child>div{min-width:0}.event-card-name{overflow-wrap:anywhere;color:#111827;margin:0;font-size:1.2rem;font-weight:700}.event-card-campsite{overflow-wrap:anywhere;color:#6b7280;margin:.2rem 0 0;font-size:.9rem}.event-status-pill{text-transform:capitalize;border-radius:9999px;padding:.25rem .65rem;font-size:.78rem;font-weight:600}.status-open{color:#15803d;background:#dcfce7}.status-upcoming,.status-draft{color:#4b5563;background:#f3f4f6}.status-closed{color:#b91c1c;background:#fee2e2}.event-card-date-row{color:#374151;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.metrics-grid{text-align:center;border-top:1px solid #f3f4f6;border-bottom:1px solid #f3f4f6;grid-template-columns:repeat(3,1fr);padding:.75rem 0;display:grid}.metric-value{color:#111827;margin:0;font-size:1.35rem;font-weight:700;line-height:1.2}.metric-label{color:#6b7280;margin:.15rem 0 0;font-size:.78rem}.metric-boxes-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.metric-box-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem .5rem}.rsvp-section{gap:.5rem;display:grid}.rsvp-label{color:#374151;margin:0;font-size:.85rem;font-weight:600}.rsvp-pills{gap:.5rem;display:flex}.rsvp-pill-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:9999px;padding:.45rem 1.1rem;font-size:.88rem;font-weight:600;transition:all .15s}.rsvp-pill-btn.active{color:#fff;background:#1c2d24;border-color:#1c2d24}.event-card-footer{justify-content:space-between;align-items:center;padding-top:.25rem;display:flex}.status-badge-going{color:#15803d;background:#dcfce7;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-badge-not-going{color:#4b5563;background:#f3f4f6;border-radius:9999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.view-details-link{color:#1c2d24;align-items:center;gap:.25rem;font-size:.88rem;font-weight:600;display:inline-flex}.event-details-hero{gap:1rem;margin-bottom:1.5rem;display:grid}.back-link{color:#4b5563;align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:inline-flex}.hero-title{color:#111827;margin:0;font-size:1.6rem;font-weight:700}.hero-subtitle{color:#4b5563;margin:.2rem 0 0;font-size:1rem}.hero-badges{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.hero-info-list{color:#374151;gap:.45rem;font-size:.92rem;display:grid}.hero-info-item{align-items:center;gap:.5rem;display:flex}.section-dropdown-select{color:#111827;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600}.attendees-chips-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.attendee-chip{color:#374151;background:#f3f4f6;border-radius:9999px;padding:.35rem .85rem;font-size:.85rem;font-weight:500}.admin-roster-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;gap:.75rem;margin-top:1.25rem;padding:1rem;display:grid}.admin-roster-item{align-items:center;gap:.65rem;min-width:0;min-height:44px;font-size:.9rem;display:flex}.admin-roster-box{min-width:0}.admin-roster-item input[type=checkbox]{flex:0 0 20px;width:20px;height:20px;margin:0;padding:0}.admin-roster-item>span:first-of-type{overflow-wrap:anywhere;flex:1;min-width:0}.admin-roster-item .status-badge-going{flex-shrink:0}.modal-overlay,.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #00000026}.modal-card h2,.modal-card h3{margin-top:0}.form-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width<=600px){.form-grid{grid-template-columns:1fr}}input:not([type=checkbox]):not([type=radio]),select,textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:.65rem .85rem;font-size:.95rem}.member-row{border-bottom:1px solid #e5e7eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.member-row select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-height:38px;padding:.35rem .65rem;font-size:.9rem}input[type=checkbox],input[type=radio]{cursor:pointer;accent-color:#1c2d24;flex:0 0 1.25rem;width:1.25rem;min-width:1.25rem;height:1.25rem;min-height:1.25rem;margin:0;padding:0}label{color:#374151;gap:.35rem;font-size:.88rem;font-weight:600;display:grid}.primary-button,.btn-primary{color:#fff;cursor:pointer;background:#1c2d24;border:1px solid #1c2d24;border-radius:9999px;justify-content:center;align-items:center;min-height:44px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.primary-button:hover:not(:disabled),.btn-primary:hover:not(:disabled){opacity:.92}.secondary-button,.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:9999px;justify-content:center;align-items:center;min-height:44px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.secondary-button:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.event-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.5rem;margin-bottom:1.25rem;padding:.25rem .25rem .5rem;display:flex;overflow-x:auto}.event-tabs::-webkit-scrollbar{display:none}.event-tabs button{white-space:nowrap;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;flex-shrink:0;min-height:44px;padding:.55rem 1rem;font-size:.88rem;font-weight:600}.event-tabs button.active{color:#fff;background:#1c2d24;border-color:#1c2d24}.auth-tab-group{background:#f3f4f6;border-radius:9999px;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.auth-tab-btn{color:#4b5563;background:0 0;border:none;border-radius:9999px;flex:1;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .15s}.auth-tab-btn.active{color:#111827;background:#fff;box-shadow:0 1px 3px #0000001a}.auth-tab-btn:hover:not(.active){color:#111827}.link-button{color:#1c2d24;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:.5rem 0;font-size:.88rem;font-weight:600;text-decoration:underline}.link-button:hover{opacity:.8}.auth-error-block{margin:.5rem 0}.auth-error-block p[role=alert]{color:#b91c1c;margin:0 0 .4rem;font-size:.9rem;font-weight:500}.form-error{color:#dc2626;margin-top:.25rem;font-size:.875rem;font-weight:500}.register-suggestion-btn{color:#1c2d24;font-weight:700;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.daily-responsibility-manager button{min-height:44px}.daily-responsibility-manager button[aria-label=Decrease\ capacity],.daily-responsibility-manager button[aria-label=Increase\ capacity]{min-width:44px}@media (width<=640px){html,body{overflow-x:hidden}.container{width:min(100% - 1.25rem,640px);margin:1rem auto 2.5rem}.card{border-radius:14px;padding:1rem}.site-header{padding:.65rem 1rem}.brand-title{font-size:1.05rem}.brand-slogan{font-size:.75rem}.feed-title,.hero-title{font-size:1.35rem}.event-card-container{border-radius:14px;padding:1rem}.metric-boxes-grid,.metrics-grid{gap:.5rem}.metric-value{font-size:1.2rem}.metric-label{font-size:.72rem}.modal-overlay,.modal-backdrop{padding:.75rem}.modal-card{border-radius:14px;max-width:100%;padding:1.15rem}button,.primary-button,.secondary-button,.btn-primary,.btn-secondary{min-height:44px}}.hub-activity-row-btn{color:#1f2937;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.25rem;min-height:auto;padding:0;transition:color .15s;display:flex}.hub-activity-row-btn strong{color:#0f172a}.hub-activity-row-btn:hover{color:#0284c7}.hub-activity-row-btn:hover strong{color:#0369a1;text-decoration:underline}.btn-sm-primary,.btn-sm-accent,.btn-sm-secondary{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;min-height:36px;padding:.4rem .85rem;font-size:.825rem;font-weight:600;line-height:1.25;text-decoration:none;transition:all .15s;display:inline-flex}.btn-sm-primary{color:#fff;background:#1c2d24;border:1px solid #1c2d24}.btn-sm-primary:hover{color:#fff;background:#2b4336}.btn-sm-accent{color:#fff;background:#d97706;border:1px solid #b45309}.btn-sm-accent:hover{color:#fff;background:#b45309}.btn-sm-secondary{color:#374151;background:#fff;border:1px solid #cbd5e1}.btn-sm-secondary:hover{background:#f1f5f9;border-color:#94a3b8}
