.main-layout{min-height:100vh;display:flex;flex-direction:column}.page-banner{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-lg);color:#fff}.page-banner h1{color:#fff;margin-bottom:2px;font-size:1.25rem}.page-banner p{opacity:.9;margin:0;color:#fff}.page-banner .btn-primary{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff}.page-banner .btn-primary:hover{background:#ffffff4d}.page-banner .btn-circle{width:40px;height:40px;min-width:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.page-banner .btn-circle:hover{background:#ffffff4d}.main-header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.header-left{display:flex;align-items:center;gap:var(--spacing-md)}.mobile-menu-btn{display:none;padding:var(--spacing-sm);color:var(--color-text-primary);border-radius:var(--radius-md)}.mobile-menu-btn:hover{background:var(--color-primary-bg)}.header-brand{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);font-weight:700;font-family:var(--font-display);font-size:1.25rem}.brand-logo{width:40px;height:40px;background:var(--color-primary);color:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.header-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.nav-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-weight:500;font-size:.9375rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-primary);background:var(--color-primary-bg)}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.user-menu-container{position:relative}.user-menu-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);color:var(--color-text-primary)}.user-menu-btn:hover{background:var(--color-primary-bg)}.user-menu-btn svg.rotated{transform:rotate(180deg)}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;overflow:hidden}.user-avatar.large{width:48px;height:48px;font-size:1.125rem}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-name{font-weight:500;font-size:.9375rem}.user-menu-overlay{position:fixed;inset:0;z-index:99}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:100;animation:slideDown var(--transition-fast) ease}.user-menu-header{padding:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-md)}.user-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.user-full-name{font-weight:600;color:var(--color-text-primary)}.user-email{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:var(--color-border);margin:var(--spacing-xs) 0}.user-menu-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary);font-size:.9375rem;width:100%;text-align:left}.user-menu-item:hover{background:var(--color-primary-bg);color:var(--color-primary)}.user-menu-item.logout{color:var(--color-error)}.user-menu-item.logout:hover{background:#ef44441a;color:var(--color-error)}.mobile-nav{display:none;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm);flex-direction:column;gap:var(--spacing-xs)}.mobile-nav.open{display:flex}.mobile-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);color:var(--color-text-secondary);font-weight:500;border-radius:var(--radius-md)}.mobile-nav-link:hover,.mobile-nav-link.active{background:var(--color-primary-bg);color:var(--color-primary)}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.main-footer{background:#edf7e1;border-top:1px solid #d6e8c5;padding:var(--spacing-lg);margin-top:auto}[data-theme=dark] .main-footer{background:#1d2a1d;border-top-color:#2d3d2c}.footer-container{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md);font-size:.875rem;color:var(--color-text-secondary)}.footer-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2xl);flex-wrap:wrap}.footer-copyright{margin:0;flex:0 0 auto}.footer-brand-col{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;max-width:480px}.footer-top-row .footer-link-columns{margin:0 auto}.footer-links{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-neighborhood-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.footer-neighborhood-label{color:var(--color-text-primary);font-weight:600}.footer-neighborhood-links .footer-link-btn{color:var(--color-text-secondary)}.footer-neighborhood-links .footer-link-btn:hover{color:var(--color-primary)}.footer-neighborhood-links .footer-sep{color:var(--color-text-secondary);opacity:.5}.footer-neighborhood-identity{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.footer-neighborhood-header{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-neighborhood-logo{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover;border:1px solid var(--color-border);background:#fff;flex-shrink:0}.footer-link-columns{display:flex;flex-wrap:wrap;gap:var(--spacing-2xl)}.footer-link-column{display:flex;flex-direction:column;gap:6px;min-width:160px}.footer-link-column-title{margin:0 0 4px;font-weight:700;color:var(--color-text-primary);font-size:.875rem}.footer-link-column .footer-link-btn{padding:0;background:transparent;border:none;color:var(--color-text-secondary);font-size:.875rem;display:block;text-align:left;justify-content:flex-start;width:fit-content;align-self:flex-start}.footer-link-column .footer-link-btn:hover{color:var(--color-primary)}.footer-neighborhood-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.footer-neighborhood-name{margin:0;font-size:1.375rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.footer-neighborhood-bio{margin:0;font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary);white-space:pre-wrap}.footer-links a{color:var(--color-text-secondary)}.footer-links a:hover{color:var(--color-primary)}@media(max-width:1024px){.desktop-nav{display:none}.mobile-menu-btn{display:flex}}@media(max-width:768px){.header-container{padding:0 var(--spacing-md)}.user-name,.brand-name{display:none}.main-content{padding:var(--spacing-md)}.footer-container{flex-direction:column;gap:var(--spacing-sm);text-align:center}}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.store-badges{display:flex;align-items:center;gap:4px}.app-store-link{display:flex;align-items:center}.app-store-badge{height:28px;width:auto}.play-store-badge{height:42px;width:auto}@media(max-width:640px){.app-store-badge{height:24px}.play-store-badge{height:36px}}.messages-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#6b7280;transition:all .2s;margin-right:.5rem}.messages-icon-btn:hover{background:#f3f4f6;color:#111827}.messages-icon-btn.active{color:var(--color-primary)}.messages-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center}.terms-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.terms-modal{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;position:relative;display:flex;flex-direction:column}.terms-modal-close{position:absolute;top:1rem;right:1rem;background:#f3f4f6;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s}.terms-modal-close:hover{background:#e5e7eb}.terms-modal-content{padding:2rem;overflow-y:auto;line-height:1.7;color:#374151}.terms-modal-content h1{text-align:center;font-size:2rem;color:#111827;margin-bottom:.5rem}.terms-modal-content h2{text-align:center;font-size:1.25rem;color:#374151;font-weight:500;margin-bottom:1rem}.terms-modal-content .effective-date{text-align:center;color:#6b7280;font-style:italic;margin-bottom:2rem}.terms-modal-content .part-title{text-align:left;font-size:1.25rem;color:#111827;margin-top:2rem;margin-bottom:1rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.terms-modal-content h3{font-size:1.1rem;color:#111827;margin-top:1.5rem;margin-bottom:.75rem}.terms-modal-content h4{font-size:1rem;color:#374151;margin-top:1rem;margin-bottom:.5rem}.terms-modal-content p{margin-bottom:.75rem}.terms-modal-content ul{margin-bottom:.75rem;padding-left:1.5rem}.terms-modal-content li{margin-bottom:.25rem}.terms-modal-content a{color:#059669}.terms-modal-content .copyright{text-align:center;color:#9ca3af;margin-top:2rem;font-style:italic}.footer-link-btn{background:none;border:none;color:#6b7280;cursor:pointer;font:inherit;padding:0;text-decoration:none}.footer-link-btn:hover{color:#374151;text-decoration:underline}a.footer-link-btn,a.footer-link-btn:visited{color:#6b7280;text-decoration:none}a.footer-link-btn:hover{color:#374151;text-decoration:underline}@media(max-width:768px){.terms-modal-overlay{padding:1rem}.terms-modal-content{padding:1.5rem}.terms-modal-content h1{font-size:1.5rem}}.no-neighborhood-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);display:flex;align-items:center;justify-content:center;padding:20px}.no-neighborhood-container{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;max-width:600px;width:100%;padding:32px}.user-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px;border-bottom:1px solid #e5e7eb;margin-bottom:32px}.user-name{font-weight:600;color:#1f2937}.user-email{font-size:.875rem;color:#6b7280}.logout-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;font-size:.875rem;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#f3f4f6;color:#374151}.welcome-section{text-align:center}.logo-area{margin-bottom:24px}.logo-area .home-icon{color:#7cb65f;margin-bottom:16px}.logo-area h1{font-size:1.75rem;color:#1f2937;margin:0}.subtitle{color:#6b7280;line-height:1.6;max-width:480px;margin:0 auto 32px}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}.option-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:24px;cursor:pointer;transition:all .2s;text-align:left}.option-card:hover{border-color:#7cb65f;background:#f0fdf4}.option-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.option-icon.join{background:#dbeafe;color:#2563eb}.option-icon.invite{background:#fef3c7;color:#d97706}.option-card h3{font-size:1.125rem;color:#1f2937;margin:0 0 8px}.option-card p{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0 0 16px}.option-cta{display:flex;align-items:center;gap:4px;font-size:.875rem;font-weight:600;color:#7cb65f}.back-btn{background:none;border:none;color:#7cb65f;font-size:.9375rem;font-weight:500;cursor:pointer;padding:8px 0;margin-bottom:16px;display:flex;align-items:center;gap:4px}.back-btn:hover{color:#6aa34d}.join-section,.confirm-section,.invite-admin-section{text-align:left}.section-header{text-align:center;margin-bottom:32px}.section-icon{color:#7cb65f;margin-bottom:16px}.section-icon.success{color:#22c55e}.section-header h2{font-size:1.5rem;color:#1f2937;margin:0 0 8px}.section-header p{color:#6b7280;margin:0}.code-form{max-width:320px;margin:0 auto}.code-input-wrapper{margin-bottom:16px}.code-input{width:100%;padding:16px;font-size:1.5rem;text-align:center;letter-spacing:8px;font-weight:600;border:2px solid #e5e7eb;border-radius:12px;text-transform:uppercase;transition:border-color .2s}.code-input:focus{outline:none;border-color:#7cb65f}.code-input::placeholder{letter-spacing:4px;color:#d1d5db}.submit-btn{width:100%;padding:14px 24px;background:#7cb65f;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s}.submit-btn:hover:not(:disabled){background:#6aa34d}.submit-btn:disabled{background:#d1d5db;cursor:not-allowed}.submit-btn .spinner{animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:16px}.help-text{text-align:center;font-size:.875rem;color:#6b7280;margin-top:24px}.help-text a{color:#7cb65f;text-decoration:none}.help-text a:hover{text-decoration:underline}.neighborhood-preview{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:12px;padding:24px;text-align:center;margin-bottom:24px}.neighborhood-preview h3{font-size:1.25rem;color:#166534;margin:0 0 12px}.address-info{display:flex;align-items:center;justify-content:center;gap:8px;color:#4b5563;font-size:.9375rem}.info-card{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:24px}.info-card h3{font-size:1rem;color:#1f2937;margin:0 0 16px}.info-card ol{margin:0;padding-left:20px;color:#4b5563;line-height:1.8}.info-card li{margin-bottom:8px}.share-section{text-align:center;margin-bottom:24px}.share-section p{font-size:.875rem;color:#6b7280;margin-bottom:12px}.share-link{display:flex;gap:8px;max-width:360px;margin:0 auto}.share-link input{flex:1;padding:12px 16px;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:#374151;background:#f9fafb}.share-link button{padding:12px 20px;background:#7cb65f;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background .2s}.share-link button:hover{background:#6aa34d}.success-card{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000001a;padding:48px 32px;text-align:center;max-width:400px}.success-icon{color:#22c55e;margin-bottom:24px}.success-card h2{font-size:1.5rem;color:#1f2937;margin:0 0 12px}.success-card p{color:#6b7280;margin:0 0 8px}.redirecting{font-size:.875rem;color:#9ca3af;font-style:italic}@media(max-width:480px){.no-neighborhood-container{padding:24px 20px}.user-header{flex-direction:column;gap:16px;text-align:center}.options-grid{grid-template-columns:1fr}.code-input{font-size:1.25rem;letter-spacing:6px}}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.auth-background{position:absolute;inset:0;z-index:0}.auth-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#7cb65f,#5a9a42,#3d7a2d)}.auth-pattern{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(circle at 25% 25%,white 2px,transparent 2px),radial-gradient(circle at 75% 75%,white 2px,transparent 2px);background-size:60px 60px}.auth-container{position:relative;z-index:1;width:100%;max-width:440px;padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl)}.auth-brand{text-align:center;color:#fff}.auth-logo{width:64px;height:64px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);box-shadow:0 8px 32px #0000001a}.auth-title{font-family:var(--font-display);font-size:2.5rem;font-weight:800;margin-bottom:var(--spacing-xs);text-shadow:0 2px 4px rgba(0,0,0,.1)}.auth-tagline{font-size:1rem;opacity:.9;font-weight:500}.auth-card{width:100%;background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-xl);animation:slideUp var(--transition-slow) ease}.auth-footer{color:#ffffffb3;font-size:.875rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.auth-form-header{text-align:center;margin-bottom:var(--spacing-sm)}.auth-form-header h2{font-size:1.5rem;margin-bottom:var(--spacing-xs)}.auth-form-header p{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:0}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.form-group input{padding:var(--spacing-md);font-size:1rem}.form-group .input-with-icon{position:relative}.form-group .input-with-icon input{padding-left:44px}.form-group .input-with-icon .icon{position:absolute;left:var(--spacing-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.form-error{background:#ef44441a;color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:.875rem;display:flex;align-items:center;gap:var(--spacing-sm)}.btn-primary{width:100%;background:var(--color-primary);color:#fff;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-links{margin-top:var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);font-size:.875rem}.auth-links a{color:var(--color-primary);font-weight:500}.auth-links a:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-text-muted);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}@media(max-width:480px){.auth-container{padding:var(--spacing-md)}.auth-card{padding:var(--spacing-lg)}.auth-title{font-size:2rem}}.auth-action-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem 1rem}.auth-action-bg{position:absolute;inset:0;z-index:0}.auth-action-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#7cb65f,#5a9a42,#3d7a2d)}.auth-action-pattern{position:absolute;inset:0;opacity:.1;background-image:radial-gradient(circle at 25% 25%,white 2px,transparent 2px),radial-gradient(circle at 75% 75%,white 2px,transparent 2px);background-size:60px 60px}.auth-action-container{position:relative;z-index:1;width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.auth-action-brand{text-align:center;color:#fff;text-decoration:none}.auth-action-brand h1{font-size:2rem;font-weight:800;margin:.5rem 0 .25rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.auth-action-brand p{font-size:.95rem;opacity:.9;font-weight:500;margin:0}.auth-action-logo{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 8px 32px #00000040;background:#fff3}.auth-action-card{width:100%;background:#fff;border-radius:16px;padding:2rem 1.75rem;box-shadow:0 20px 60px #0000002e;animation:authActionSlide .35s ease}@keyframes authActionSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-action-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.auth-action-state.compact{margin-bottom:1rem;gap:.25rem}.auth-action-state h2{margin:.5rem 0 0;font-size:1.4rem;color:#1a1a1a;font-weight:700}.auth-action-state p{margin:0;color:#555;font-size:.95rem;line-height:1.5}.auth-action-icon{color:#4caf50}.auth-action-icon.success{color:#2e7d32}.auth-action-icon.error{color:#d32f2f}.auth-action-icon.spin{color:#4caf50;animation:authActionSpin 1.1s linear infinite}@keyframes authActionSpin{to{transform:rotate(360deg)}}.auth-action-buttons{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;width:100%}.auth-action-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.auth-action-btn.primary{background:#4caf50;color:#fff}.auth-action-btn.primary:hover{background:#43a047;transform:translateY(-1px);box-shadow:0 4px 14px #4caf5059}.auth-action-btn.primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-action-btn.secondary{background:transparent;color:#2e7d32;border:1px solid #c8e6c9}.auth-action-btn.secondary:hover{background:#e8f5e9}.auth-action-form{display:flex;flex-direction:column;gap:1rem}.auth-action-field{display:flex;flex-direction:column;gap:.4rem}.auth-action-field label{font-size:.875rem;font-weight:600;color:#333}.auth-action-field input{padding:.7rem .85rem;font-size:1rem;border:1px solid #d0d7de;border-radius:8px;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.auth-action-field input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf502e}.auth-action-form-error{display:flex;align-items:center;gap:.5rem;background:#d32f2f14;color:#b71c1c;border:1px solid rgba(211,47,47,.25);padding:.6rem .75rem;border-radius:8px;font-size:.875rem}.auth-action-stores{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.5rem}.auth-action-store-badge{display:block;height:44px;width:auto}.auth-action-store-badge.android{height:64px;margin:-10px 0}.auth-action-footer{color:#ffffffd9;font-size:.85rem;text-align:center;margin:0}@media(max-width:480px){.auth-action-card{padding:1.5rem 1.25rem}.auth-action-brand h1{font-size:1.6rem}}.secure-page{min-height:100vh;background:linear-gradient(135deg,#f0f7ec,#e8f5e0,#f8faf7);padding:3rem 1rem;display:flex;align-items:flex-start;justify-content:center}.secure-container{width:100%;max-width:640px;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 20px 60px #00000014}.secure-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#555}.secure-loading .spin{color:#4caf50;animation:secureSpin 1.1s linear infinite}@keyframes secureSpin{to{transform:rotate(360deg)}}.secure-login-wrap{min-height:100vh;background:#f8faf7;display:flex;flex-direction:column;align-items:center;padding:2rem 1rem}.secure-login-wrap>*{width:100%;max-width:440px}.secure-login-banner{padding:1rem 1.25rem;margin-bottom:1.5rem;background:#ff980014;border:1px solid rgba(255,152,0,.3);border-radius:10px;display:flex;gap:.75rem;align-items:flex-start;color:#6c4500}.secure-login-banner svg{color:#ff9800;flex-shrink:0;margin-top:2px}.secure-login-banner p{margin:4px 0 0;font-size:.9rem}.secure-header{text-align:center;margin-bottom:1.5rem}.secure-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#ff980026;color:#e65100;margin-bottom:12px}.secure-header h1{margin:0 0 8px;font-size:1.6rem;color:#1a1a1a}.secure-header p{margin:0;color:#555;line-height:1.5}.secure-header p.secure-signed-in-as{font-size:.875rem;color:#6b7280;margin-bottom:12px;word-break:break-all}.secure-header p.secure-signed-in-as strong{color:#1a1a1a;font-weight:600}.secure-warning{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem 1rem;margin-bottom:1.25rem;background:#ff980014;border:1px solid rgba(255,152,0,.25);border-radius:10px;font-size:.875rem;color:#6c4500;line-height:1.5}.secure-warning svg{color:#ff9800;flex-shrink:0;margin-top:3px}.secure-action{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:.75rem;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.secure-action.primary{border-color:#c8e6c9;background:#f6fcf4}.secure-action.done{opacity:.7;border-color:#c8e6c9;background:#f1f8e9}.secure-action-icon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#4caf501f;color:#2e7d32;display:flex;align-items:center;justify-content:center}.secure-action.primary .secure-action-icon{background:#4caf502e}.secure-action-body{flex:1;min-width:0}.secure-action-body h2{margin:0 0 4px;font-size:1.05rem;color:#1a1a1a}.secure-action-body p{margin:0 0 12px;color:#555;font-size:.9rem;line-height:1.5}.secure-action-muted{color:#888!important}.secure-action-success{display:flex;align-items:center;gap:6px;color:#2e7d32!important;font-weight:500;margin:0!important}.secure-action-error{color:#b71c1c!important;font-size:.85rem;margin:0 0 8px!important}.secure-btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.1rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:background .12s ease,transform .1s ease,box-shadow .12s ease}.secure-btn.primary{background:#4caf50;color:#fff}.secure-btn.primary:hover:not(:disabled){background:#43a047;transform:translateY(-1px);box-shadow:0 3px 10px #4caf5059}.secure-btn.secondary{background:#fff;color:#2e7d32;border:1px solid #c8e6c9}.secure-btn.secondary:hover:not(:disabled){background:#e8f5e9}.secure-btn.link{background:transparent;color:#2e7d32;padding:.4rem .8rem;font-weight:500}.secure-btn.link:hover{text-decoration:underline}.secure-btn.link.danger{color:#b71c1c}.secure-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.secure-password-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.secure-password-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#333}.secure-password-form input{padding:.6rem .85rem;font-size:.95rem;border:1px solid #d0d7de;border-radius:8px;background:#fff}.secure-password-form input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf502e}.secure-password-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.secure-footer{margin-top:1.25rem;display:flex;justify-content:space-between;border-top:1px solid #eef0f2;padding-top:.75rem}.secure-help{text-align:center;font-size:.85rem;color:#888;margin:.75rem 0 0}.secure-help a{color:#2e7d32}@media(max-width:480px){.secure-container{padding:1.5rem 1.25rem}.secure-action{padding:1rem}}.paywall-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.paywall-modal{background:#fff;border-radius:16px;padding:2.5rem;max-width:440px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:paywall-slide-up .3s ease-out}@keyframes paywall-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.paywall-icon{width:80px;height:80px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.paywall-icon svg{color:#d97706}.paywall-modal h2{margin:0 0 1rem;font-size:1.5rem;font-weight:700;color:#111827}.paywall-modal p{margin:0 0 1.5rem;color:#6b7280;line-height:1.6}.paywall-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:10px;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s}.paywall-btn.primary{background:linear-gradient(135deg,#4d7c0f,#65a30d);color:#fff}.paywall-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4d7c0f4d}.paywall-help{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb;font-size:.875rem;color:#9ca3af}.paywall-help a{color:#4d7c0f}@media(max-width:480px){.paywall-modal{padding:1.5rem}.paywall-modal h2{font-size:1.25rem}}.dashboard{max-width:1200px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md)}.dashboard-header{margin-bottom:var(--spacing-lg)}.dashboard-header-text h1{margin-bottom:var(--spacing-xs)}.dashboard-header-text p{margin:0}.dashboard-hero{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.dashboard-hero-logo{flex-shrink:0;background:var(--color-primary-bg);color:var(--color-primary-dark)}.dashboard-hero-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.dashboard-hero-text h2{margin:0;font-size:1.5rem;line-height:1.2}.dashboard-hero-text p{margin:0}.dashboard-hero-cta{flex-shrink:0}.dashboard-hero-cta .btn-primary{display:inline-flex;align-items:center;gap:var(--spacing-xs);text-decoration:none;padding:.75rem 1.25rem}.dashboard-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.dashboard-tile{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);color:inherit;text-decoration:none}.dashboard-tile-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.dashboard-tile-title{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.dashboard-tile-title h3{margin:0;font-size:1.0625rem;color:var(--color-text-primary)}.dashboard-tile-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1}.dashboard-tile-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light)}.dashboard-tile-row:last-child{border-bottom:none}.dashboard-event-datechip{width:40px;min-width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;padding:2px 0;line-height:1}.dashboard-event-datechip-month{font-size:.5625rem;font-weight:600;letter-spacing:.05em}.dashboard-event-datechip-day{font-size:1rem;font-weight:700;margin-top:2px}.dashboard-tile-row-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.dashboard-tile-row-title{font-weight:600;font-size:.9375rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-sm)}.dashboard-tile-row-meta{font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-tile-empty{padding:var(--spacing-md) 0;text-align:center}.dashboard-tile-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);color:var(--color-primary-dark);font-weight:600;font-size:.875rem}.dashboard-tile:hover .dashboard-tile-footer{color:var(--color-primary-dark)}.dashboard-pin-badge{background:#fbbf2426;color:#b45309}@media(max-width:640px){.dashboard-hero{flex-direction:column;align-items:flex-start;text-align:left;padding:var(--spacing-lg)}.dashboard-hero-cta{width:100%}.dashboard-hero-cta .btn-primary{width:100%;justify-content:center}}.discussions-page{max-width:900px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.discussions-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.discussions-header-text h1{margin-bottom:var(--spacing-xs)}.discussions-header-text p{margin:0}.discussions-new-btn{width:44px;height:44px;min-width:44px;max-width:44px;padding:0;border-radius:50%;flex-shrink:0;align-self:flex-start;box-shadow:var(--shadow-md)}.discussions-new-btn:hover:not(:disabled){box-shadow:var(--shadow-lg)}.discussions-search{position:relative;display:flex;align-items:center;margin-bottom:var(--spacing-md)}.discussions-search>svg{position:absolute;left:16px;color:var(--color-text-muted);pointer-events:none}.discussions-search input{padding-left:44px;padding-right:44px;border-radius:var(--radius-full);height:48px}.discussions-search-clear{position:absolute;right:6px;width:32px;height:32px;padding:0;color:var(--color-text-muted);background:transparent}.discussions-search-clear:hover{background-color:var(--color-bg-alt);color:var(--color-text-primary)}.discussions-filters{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.discussions-filters .segmented{flex-wrap:wrap;max-width:100%}.segmented-more{position:relative;display:inline-flex}.segmented-more select{appearance:none;background:transparent;border:1px solid transparent;color:var(--color-text-secondary);padding:.5rem 1.75rem .5rem 1.125rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;cursor:pointer;height:auto;width:auto;min-width:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.segmented-more select:focus{outline:none;box-shadow:none;border-color:transparent}.discussions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.discussions-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-sm);color:var(--color-text-secondary)}.discussions-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg)}.discussions-empty-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.discussions-empty h3{margin:0}.discussions-empty p{margin:0;max-width:360px}.discussions-empty .btn-primary{margin-top:var(--spacing-md)}.discussion-card{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);color:inherit;text-decoration:none}.discussion-card:hover{color:inherit}.discussion-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.discussion-card-titlerow{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.discussion-card-title{flex:1;min-width:0;font-size:1.0625rem;font-weight:600;line-height:1.35;margin:0}.discussion-card-category{flex-shrink:0;background-color:var(--color-primary-bg);color:var(--color-primary-dark)}.discussion-card-preview{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.discussion-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--color-text-muted);font-size:.8125rem;margin-top:2px}.discussion-card-author{color:var(--color-text-secondary);font-weight:500}.discussion-card-dot{color:var(--color-text-muted)}.discussion-card-replies{display:inline-flex;align-items:center;gap:4px}.discussion-card-thumb{width:96px;height:96px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-alt)}.discussion-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.modal-header .close-btn{width:40px;height:40px;padding:0;border-radius:var(--radius-full);color:var(--color-text-secondary)}.modal textarea{resize:vertical;min-height:100px}.image-upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--spacing-lg);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast)}.image-upload-area:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.image-upload-area span{font-size:.875rem}.image-preview-wrapper{position:relative;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.image-preview{width:100%;max-height:250px;object-fit:contain;display:block;background:var(--color-bg-alt)}.remove-image-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;border-radius:var(--radius-full);background:#0009;color:#fff;border:none;cursor:pointer}.remove-image-btn:hover{background:#dc2626e6}@media(max-width:768px){.discussions-header{flex-direction:column;align-items:stretch}.fab{display:none}.discussions-filters{flex-direction:column;align-items:stretch}.discussions-filters .segmented{justify-content:flex-start}.discussion-card{padding:var(--spacing-md);gap:var(--spacing-sm)}.discussion-card-thumb{width:64px;height:64px}.discussion-card-title{font-size:1rem}}.discussion-detail.discussion-detail{display:block;max-width:1040px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl);grid-template-columns:none}.discussion-detail-loading,.discussion-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md);color:var(--color-text-secondary)}.discussion-not-found a{margin-top:var(--spacing-md)}.discussion-detail-nav{display:flex;flex-direction:column;gap:var(--spacing-md)}.discussion-back{align-self:flex-start;padding-left:.5rem;padding-right:.75rem}.discussion-detail-nav-card{padding:var(--spacing-md)}.discussion-nav-badge{background-color:var(--color-primary-bg);color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.discussion-nav-title{font-size:1rem;line-height:1.35;margin:0 0 var(--spacing-xs)}.discussion-nav-meta{margin:0;font-size:.8125rem}.discussion-detail-main{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.discussion-article{padding:var(--spacing-xl)}.discussion-article-topmeta{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.discussion-article-badge{background-color:var(--color-primary-bg);color:var(--color-primary-dark)}.discussion-article-title{font-size:1.875rem;line-height:1.2;margin:0 0 var(--spacing-lg)}.discussion-article-author{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.discussion-article-author-text{display:flex;flex-direction:column;gap:2px}.discussion-article-author-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.discussion-article-author-time{font-size:.8125rem}.discussion-article-image{margin:0 0 var(--spacing-lg);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-alt)}.discussion-article-image img{width:100%;max-height:500px;object-fit:contain;display:block}.discussion-article-content{margin-bottom:var(--spacing-lg)}.discussion-article-content p{font-size:1.0625rem;line-height:1.7;color:var(--color-text-primary);white-space:pre-wrap;margin:0}.voting-section{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.vote-btn{gap:var(--spacing-xs)}.vote-btn.active{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-bg)}.vote-btn.active.down{border-color:var(--color-error);color:var(--color-error);background:#ef444414}.vote-total{margin-left:auto;font-size:1rem;font-weight:700;color:var(--color-text-secondary);min-width:40px;text-align:right}.vote-total.positive{color:var(--color-primary-dark)}.vote-total.negative{color:var(--color-error)}.comments-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.comments-heading{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.125rem;margin:0}.comment-form{padding:var(--spacing-md)}.comment-form-row{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.comment-form textarea{flex:1;min-height:60px;resize:vertical;border-radius:var(--radius-md)}.comment-form-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-sm)}.comments-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.no-comments{text-align:center;padding:var(--spacing-xl)}.no-comments p{margin:0}.comment{display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.comment-body{flex:1;min-width:0}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:4px;flex-wrap:wrap}.comment-author{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.comment-time{font-size:.8125rem}.comment-content{font-size:.9375rem;line-height:1.5;color:var(--color-text-primary);margin:0;white-space:pre-wrap}.discussion-detail-side{display:flex;flex-direction:column;gap:var(--spacing-md)}.discussion-author-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xl) var(--spacing-lg);text-align:center}.discussion-author-card .avatar.lg{margin-bottom:var(--spacing-sm)}.discussion-author-name{font-family:var(--font-display);font-weight:600;font-size:1.125rem}.discussion-author-address{font-size:.875rem;margin-bottom:var(--spacing-md)}.discussion-author-stats{display:flex;gap:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);width:100%;justify-content:center}.discussion-author-stat-value{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--color-text-primary)}.discussion-side-actions{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md)}.discussion-side-actions button{justify-content:flex-start}.post-menu-wrapper{position:relative}.post-menu-btn{width:40px;height:40px;padding:0;color:var(--color-text-secondary)}.post-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);min-width:220px;z-index:10;overflow:hidden;padding:4px}.post-menu-dropdown button{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:10px 12px;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--color-text-primary);border-radius:var(--radius-sm);justify-content:flex-start}.post-menu-dropdown button:hover{background:var(--color-bg-alt)}.modal-overlay{position:fixed;inset:0;background:#0f141973;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--spacing-md)}.flag-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-xl);width:100%;max-width:440px;box-shadow:var(--shadow-xl)}.flag-modal h3{font-size:1.125rem;margin-bottom:var(--spacing-sm)}.flag-modal>p{margin-bottom:var(--spacing-md);line-height:1.5}.flag-modal textarea{width:100%;margin-bottom:var(--spacing-md);resize:vertical;min-height:80px}.flag-modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.btn-primary.danger{background:var(--color-error);border-color:var(--color-error)}.btn-primary.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.flag-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-sm);background:var(--color-text-primary);color:var(--color-bg-card);padding:12px 20px;border-radius:var(--radius-full);font-size:.875rem;font-weight:500;box-shadow:var(--shadow-lg);z-index:200;animation:toastIn .3s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.discussion-article{padding:var(--spacing-lg)}.discussion-article-title{font-size:1.5rem}.voting-section{flex-wrap:wrap}.comment{padding:var(--spacing-md)}}.comment-actions{margin-left:auto;display:inline-flex;gap:4px}.comment-action-btn{padding:4px 6px;color:var(--color-text-secondary);border-radius:6px}.comment-action-btn:hover{color:var(--color-text);background:var(--color-hover, rgba(0,0,0,.05))}.comment-edit{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.comment-edit textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:6px;font:inherit;resize:vertical}.comment-edit-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.comment-edit-pill{display:inline-flex;align-items:center;gap:4px;margin-top:4px;background:transparent;border:none;padding:2px 4px;color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;border-radius:4px}.comment-edit-pill:hover{text-decoration:underline;color:var(--color-text)}.edit-history-modal{max-width:560px}.edit-history-body{padding:var(--spacing-md) 0;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.edit-history-entry{padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid var(--color-border);background:var(--color-surface-alt, rgba(0,0,0,.02));border-radius:4px}.edit-history-entry.current{border-left-color:var(--color-primary, #2563eb)}.edit-history-meta{font-size:.8125rem;margin-bottom:4px}.edit-history-content{white-space:pre-wrap;margin:0}.btn-ghost.danger{color:#dc2626}.btn-ghost.danger:hover{background:#dc262614}.announcements-page{max-width:900px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.announcements-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.announcements-header-text h1{margin-bottom:var(--spacing-xs)}.announcements-header-text p{margin:0}.announcements-new-btn{width:44px;height:44px;min-width:44px;max-width:44px;padding:0;border-radius:50%;flex-shrink:0;align-self:flex-start;box-shadow:var(--shadow-md)}.announcements-new-btn:hover:not(:disabled){box-shadow:var(--shadow-lg)}.announcements-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.announcements-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-sm);color:var(--color-text-secondary)}.announcements-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg)}.announcements-empty-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.announcements-empty h3{margin:0}.announcements-empty p{margin:0;max-width:360px}.announcements-empty .btn-primary{margin-top:var(--spacing-md)}.announcement-card{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.announcement-card.pinned{border-top:3px solid #fbbf24}.announcement-card-header{display:flex;align-items:center;gap:var(--spacing-sm)}.announcement-card-authorline{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.announcement-card-author{font-weight:600;color:var(--color-text-primary);font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-card-time{font-size:.8125rem;margin:0}.announcement-card-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.announcement-pin-badge{background:#fbbf2429;color:#b45309}.announcement-poll-badge{background:var(--color-primary-bg);color:var(--color-primary-dark)}.announcement-closed-badge{background:#6b728024;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.announcement-card-title{font-size:1.375rem;line-height:1.25;margin:0}.announcement-card-body{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.55;margin:0;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.poll-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-alt);border-radius:var(--radius-md)}.poll-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;width:fit-content}.poll-status-open{background:var(--color-primary-bg);color:var(--color-primary-dark)}.poll-status-closed{background:#6b72801f;color:var(--color-text-secondary)}.poll-options{display:flex;flex-direction:column;gap:6px}.poll-option-btn{position:relative;display:flex;flex-direction:column;align-items:stretch;width:100%;padding:10px 14px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;text-align:left;gap:6px;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast)}.poll-option-btn:hover:not(:disabled){border-color:var(--color-primary);transform:translateY(-1px)}.poll-option-btn.selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.poll-option-btn:disabled{cursor:default}.poll-option-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);font-size:.9375rem}.poll-option-label{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--color-text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poll-option-btn.selected .poll-option-label{color:var(--color-primary-dark)}.poll-option-label svg{color:var(--color-primary-dark);flex-shrink:0}.poll-option-stats{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.poll-option-track{display:block;width:100%;height:4px;border-radius:var(--radius-full);background:var(--color-border-light);overflow:hidden}.poll-option-fill{display:block;height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width var(--transition-slow)}.poll-option-btn.selected .poll-option-fill{background:var(--color-primary-dark)}.poll-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;font-size:.8125rem}.poll-admin-section{border-top:1px dashed var(--color-border);padding-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.show-voters-btn{align-self:flex-start;color:var(--color-text-secondary)}.voters-list{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:.875rem;display:flex;flex-direction:column;gap:6px}.option-voters{display:flex;align-items:center;gap:8px}.voter-ids{color:var(--color-primary-dark);font-weight:500}.fab{display:none;position:fixed;bottom:24px;right:24px;width:56px;height:56px;padding:0;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-lg);align-items:center;justify-content:center;z-index:50}.fab:hover:not(:disabled){background:var(--color-primary-dark);transform:scale(1.05);box-shadow:var(--shadow-xl)}@media(max-width:768px){.announcements-header{flex-direction:column;align-items:stretch}.fab{display:none}.announcement-card{padding:var(--spacing-md)}.announcement-card-title{font-size:1.25rem}}.modal-overlay{position:fixed;inset:0;background:#0f141973;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:100;animation:fadeIn var(--transition-fast) ease}.modal{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base) ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.25rem}.modal-header .close-btn{width:40px;height:40px;padding:0;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);border:none;cursor:pointer}.modal-header .close-btn:hover{background:var(--color-bg-alt);color:var(--color-text-primary)}.modal form{padding:var(--spacing-lg)}.modal .form-group{margin-bottom:var(--spacing-md)}.modal .form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.modal textarea{resize:vertical;min-height:120px}.modal .form-error{background:#ef44441a;color:var(--color-error);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.875rem}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:var(--spacing-md)}.modal-actions .btn-secondary{padding:.625rem 1.125rem;background:transparent;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);color:var(--color-text-primary);font-weight:600;cursor:pointer}.modal-actions .btn-secondary:hover{background:var(--color-bg-alt)}.modal-actions .btn-primary .spinner{animation:spin 1s linear infinite;border:2px solid rgba(255,255,255,.4);border-top-color:#fff}.modal-type-selector{max-width:480px}.type-options{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg)}.type-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.type-option:hover{border-color:var(--color-primary);box-shadow:var(--shadow-floating);transform:translateY(-1px)}.type-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);flex-shrink:0}.type-icon.announcement-icon{background:var(--color-primary-bg);color:var(--color-primary-dark)}.type-icon.poll-icon{background:#3b82f61f;color:#2563eb}.type-info h3{margin:0 0 4px;font-size:1.0625rem;color:var(--color-text-primary)}.type-info p{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.poll-type-options{display:flex;gap:var(--spacing-sm)}.poll-type-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);font-weight:600;font-size:.875rem}.poll-type-option:hover{border-color:var(--color-primary)}.poll-type-option.selected{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary-dark)}.poll-type-option input{display:none}.poll-options-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.poll-option-input{display:flex;align-items:center;gap:var(--spacing-sm)}.poll-option-input input{flex:1}.remove-option-btn{width:36px;height:36px;padding:0;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full)}.remove-option-btn:hover{background:#ef44441a;color:var(--color-error)}.add-option-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:transparent;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.add-option-btn:hover{border-color:var(--color-primary);color:var(--color-primary-dark);background:var(--color-primary-bg)}.end-time-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--color-text-primary);-webkit-user-select:none;user-select:none;font-size:.9375rem}.end-time-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;margin:0}.end-time-options{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.end-time-presets{display:flex;flex-wrap:wrap;gap:6px}.preset-chip{padding:6px 14px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.preset-chip:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.preset-chip.selected{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary-dark)}.end-time-custom-input{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9375rem;color:var(--color-text-primary);max-width:280px}.end-time-preview{margin:0;font-size:.8125rem;color:var(--color-text-secondary);font-style:italic}.directory-page{max-width:1200px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.directory-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.directory-header-text h1{margin-bottom:var(--spacing-xs)}.directory-header-text p{margin:0}.directory-toolbar{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.directory-search{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.directory-search>svg{position:absolute;left:16px;color:var(--color-text-muted);pointer-events:none}.directory-search input{padding-left:44px;padding-right:44px;border-radius:var(--radius-full);height:48px}.directory-search-clear{position:absolute;right:6px;width:32px;height:32px;padding:0;color:var(--color-text-muted);background:transparent}.directory-search-clear:hover{background-color:var(--color-bg-alt);color:var(--color-text-primary)}.directory-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-sm);color:var(--color-text-secondary)}.directory-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg)}.directory-empty-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.directory-empty h3{margin:0}.directory-empty p{margin:0;max-width:360px}.directory-empty .btn-outline{margin-top:var(--spacing-md)}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.resident-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:var(--spacing-lg)}.resident-card-avatar{margin-bottom:var(--spacing-sm)}.resident-card-name{display:inline-flex;align-items:center;gap:4px;max-width:100%}.resident-card-name h3{margin:0;font-size:1.0625rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.resident-card-role{margin-top:2px}.resident-card-address{display:inline-flex;align-items:center;gap:6px;margin:2px 0 0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-card-address svg{color:var(--color-text-muted);flex-shrink:0}.resident-card-contact{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);width:100%}.contact-chip{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:var(--radius-full);background:var(--color-bg-alt);color:var(--color-text-primary);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.contact-chip:hover{background:var(--color-primary-bg);color:var(--color-primary-dark);transform:translateY(-1px)}.contact-chip-primary{background:var(--color-primary);color:#fff}.contact-chip-primary:hover{background:var(--color-primary-dark);color:#fff}.directory-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.resident-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.resident-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.resident-row-nameline{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.resident-row-name{font-weight:600;color:var(--color-text-primary);font-size:1rem}.resident-row-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--color-text-secondary);font-size:.875rem}.resident-row-meta svg{color:var(--color-text-muted);flex-shrink:0}.resident-row-meta .dot{color:var(--color-text-muted)}.resident-row-meta .ellipsize{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.hidden-info{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);font-style:italic}.resident-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.bio-hover{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);vertical-align:middle;transition:background var(--transition-fast),color var(--transition-fast)}.bio-hover:hover,.bio-hover:focus,.bio-hover.bio-hover-open{background:var(--color-primary-bg);color:var(--color-primary-dark);outline:none}.bio-popover{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:240px;max-width:320px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:.75rem .85rem;display:none;flex-direction:column;gap:6px;font-weight:400;font-size:.85rem;color:var(--color-text-primary);z-index:50;text-align:left;white-space:normal}.bio-popover:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--color-bg-card);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border)}.bio-hover:hover .bio-popover,.bio-hover:focus .bio-popover,.bio-hover.bio-hover-open .bio-popover{display:flex}.bio-popover-header{font-weight:700;color:var(--color-text-primary);margin-bottom:2px;padding-bottom:4px;border-bottom:1px solid var(--color-border-light)}.bio-popover-row{display:flex;gap:8px;align-items:flex-start;color:var(--color-text-secondary);line-height:1.4}.bio-popover-row svg{color:var(--color-primary-dark);flex-shrink:0;margin-top:2px}.bio-popover-row strong{color:var(--color-text-primary);font-weight:600}.resident-card .bio-popover{left:0;transform:none}.resident-card .bio-popover:before{left:14px;transform:rotate(45deg)}@media(max-width:768px){.directory-header,.directory-toolbar{flex-direction:column;align-items:stretch}.directory-search{min-width:0}.directory-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.resident-row{flex-wrap:wrap;padding:var(--spacing-md)}.resident-row-actions{margin-left:auto}}.image-cropper-modal{position:fixed;inset:0;z-index:9999;background:#000;display:flex;flex-direction:column;color:#fff;user-select:none;-webkit-user-select:none;touch-action:none}.image-cropper-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;height:56px;background:#000000d9;border-bottom:1px solid rgba(255,255,255,.06)}.image-cropper-icon-btn{background:transparent;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.image-cropper-icon-btn:hover{background:#ffffff1a}.image-cropper-title{font-size:1rem;font-weight:600;letter-spacing:.01em}.image-cropper-save-btn{background:transparent;border:none;color:#7cb65f;font-weight:600;font-size:1rem;cursor:pointer;padding:6px 14px;border-radius:8px;transition:background .12s ease,opacity .12s ease}.image-cropper-save-btn:hover:not(:disabled){background:#7cb65f1f}.image-cropper-save-btn:disabled{opacity:.5;cursor:not-allowed}.image-cropper-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative}.image-cropper-viewport{position:relative;overflow:hidden;cursor:grab}.image-cropper-viewport:active{cursor:grabbing}.image-cropper-img{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;transform-origin:center center}.image-cropper-overlay-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.image-cropper-hint{text-align:center;font-size:.875rem;color:#ffffffb3;padding:16px}.profile-page{max-width:800px;margin:0 auto}.profile-header{display:flex;align-items:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.profile-photo-container{position:relative}.profile-photo{width:100px;height:100px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:2.5rem;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover}.photo-upload-btn{position:absolute;bottom:0;right:0;width:36px;height:36px;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.photo-upload-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.profile-info h1{font-size:1.75rem;margin-bottom:var(--spacing-xs)}.profile-info .neighborhood{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.role-badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm)}.role-badge.green{background:#22c55e26;color:#16a34a}.role-badge.purple{background:#a855f726;color:#9333ea}.success-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);color:#16a34a;font-weight:500;margin-bottom:var(--spacing-lg);animation:slideDown var(--transition-base) ease}.profile-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.tab{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast)}.tab:hover,.tab.active{color:var(--color-primary);background:var(--color-primary-bg)}.tab-content{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.section-header h2{font-size:1.25rem;margin:0}.edit-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem}.edit-btn:hover{background:var(--color-primary-dark)}.edit-actions{display:flex;gap:var(--spacing-sm)}.cancel-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600;font-size:.875rem;color:var(--color-text-secondary)}.cancel-btn:hover{background:var(--color-border)}.save-btn{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem}.save-btn:hover{background:var(--color-primary-dark)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.info-item span{font-size:1rem;color:var(--color-text-primary);padding:var(--spacing-sm) 0}.info-item input{padding:var(--spacing-sm) var(--spacing-md)}.info-item-full{grid-column:1 / -1}.required-mark{color:#dc2626;margin-left:2px}.info-item .error-message{color:#b71c1c;font-size:.85rem;margin:0}.privacy-section h2{font-size:1.25rem;margin-bottom:var(--spacing-sm)}.section-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.privacy-options{display:flex;flex-direction:column;gap:var(--spacing-md)}.privacy-option{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.option-info h3{font-size:1rem;margin-bottom:4px}.option-info p{font-size:.875rem;color:var(--color-text-secondary);margin:0}.toggle{position:relative;display:inline-block;width:52px;height:28px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:var(--transition-fast);border-radius:28px}.slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%;box-shadow:var(--shadow-sm)}.toggle input:checked+.slider{background-color:var(--color-primary)}.toggle input:checked+.slider:before{transform:translate(24px)}@media(max-width:768px){.profile-header{flex-direction:column;text-align:center}.profile-info h1{font-size:1.5rem}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.info-grid{grid-template-columns:1fr}.privacy-option{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}}.household-section{padding:0}.household-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:#111827}.subsection-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:#6b7280;margin:1.5rem 0 .75rem}.subsection-title svg{color:#9ca3af}.household-members-list{display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.household-member-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #f3f4f6}.household-member-card:last-child{border-bottom:none}.member-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar span{color:#fff;font-weight:600;font-size:1.125rem}.member-info{flex:1;min-width:0}.member-name{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#111827}.primary-icon{color:#f59e0b}.you-badge{background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:9999px}.member-role{font-size:.875rem;color:#6b7280}.member-joined{font-size:.75rem;color:#9ca3af}.member-status{font-size:.75rem;font-weight:500;padding:4px 10px;border-radius:9999px}.member-status.active{background:#dcfce7;color:#15803d}.pending-invites-list{display:flex;flex-direction:column;background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.pending-invite-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #f3f4f6;position:relative}.pending-invite-card:last-child{border-bottom:none}.invite-icon{width:48px;height:48px;border-radius:50%;background:#fef3c7;display:flex;align-items:center;justify-content:center;flex-shrink:0}.invite-icon svg{color:#d97706}.invite-info{flex:1;min-width:0}.invite-name{font-weight:600;color:#111827}.invite-role{font-size:.875rem;color:#6b7280}.invite-sent{font-size:.75rem;color:#9ca3af}.invite-actions{position:relative}.menu-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:8px;transition:background .2s}.invite-menu{position:absolute;top:100%;right:0;background:#fff;border-radius:8px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;min-width:160px;z-index:50}.invite-menu button{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;font-size:.875rem;color:#374151;transition:background .2s}.invite-menu button:hover{background:#f3f4f6}.invite-menu button.delete{color:#dc2626}.invite-menu button.delete:hover{background:#fef2f2}.invite-member-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;margin-top:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#4f46e5;font-weight:500;cursor:pointer;transition:all .2s}.invite-member-btn:hover{background:#f5f3ff;border-color:#4f46e5}.household-info-card{display:flex;align-items:center;gap:1rem;padding:1rem;margin-top:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.household-info-card svg{color:#4f46e5;flex-shrink:0}.household-info-card h4{font-size:.875rem;font-weight:600;color:#111827;margin:0}.household-info-card p{font-size:.75rem;color:#6b7280;margin:0}.household-info-card .count{margin-left:auto;font-size:.875rem;color:#6b7280}.help-text{font-size:.875rem;color:#6b7280;margin-top:1rem;line-height:1.5}.household-section .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.household-section .loading-state .spinner{animation:spin 1s linear infinite;margin-bottom:.5rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:8px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#111827}.modal-content form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.form-group input.error{border-color:#dc2626}.error-text{font-size:.75rem;color:#dc2626;margin-top:.25rem}.modal-help-text{font-size:.875rem;color:#6b7280;margin:.5rem 0 1rem}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb;margin-top:1rem}.modal-actions .cancel-btn{padding:.75rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions .cancel-btn:hover{background:#f3f4f6}.modal-actions .submit-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#4f46e5;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s}.modal-actions .submit-btn:hover:not(:disabled){background:#4338ca}.modal-actions .submit-btn:disabled{opacity:.6;cursor:not-allowed}.modal-actions .submit-btn .spinner{animation:spin 1s linear infinite}.email-item{flex-direction:column;align-items:flex-start!important}.email-display{display:flex;align-items:center;gap:12px;width:100%}.change-email-btn{background:none;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;padding:4px 8px;border-radius:4px}.change-email-btn:hover{background:var(--color-primary-light)}.pending-email-notice{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;font-size:.813rem;color:#856404;margin-top:8px;flex-wrap:wrap}.pending-email-notice .resend-btn{color:#856404;font-weight:600}.pending-email-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.pending-email-notice .cancel-verify-btn{color:#b71c1c;font-weight:600}.pending-email-notice .cancel-verify-btn:hover:not(:disabled){color:#7f0000}.email-change-form{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:16px;background:var(--color-bg);border-radius:8px;width:100%}.email-change-form input{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:.938rem}.email-change-actions{display:flex;gap:8px;justify-content:flex-end}.email-change-actions .cancel-btn{padding:8px 16px;background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.email-change-actions .send-verification-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px}.email-change-actions .send-verification-btn:disabled{opacity:.6;cursor:not-allowed}.email-change-form .success-message{color:var(--color-success);font-size:.875rem;margin:0}.email-change-form .error-message{color:var(--color-error);font-size:.875rem;margin:0}.email-edit-section{display:flex;flex-direction:column;gap:8px;width:100%}.email-edit-section input{padding:10px 12px;border:1px solid var(--color-border);border-radius:6px;font-size:.938rem}.email-edit-section .password-confirm{background:#fff9e6;border-color:#ffc107}.email-edit-section .send-verification-btn{align-self:flex-start;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.875rem}.email-edit-section .send-verification-btn:disabled{opacity:.6;cursor:not-allowed}.email-edit-section .success-message{color:var(--color-success);font-size:.875rem;margin:0}.email-edit-section .error-message{color:var(--color-error);font-size:.875rem;margin:0}.verify-email-prompt{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap}.verify-email-link{background:none;border:none;color:var(--color-primary);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline;font-weight:500}.verify-email-link:hover{color:var(--color-primary-dark, #2d6a4f)}.verify-email-link:disabled{color:#999;cursor:not-allowed}.verify-email-link.resend-btn{margin-left:.5rem}.verify-email-prompt .success-text{color:var(--color-success, #28a745);font-size:.813rem}.verify-email-prompt .error-text{color:var(--color-error, #dc3545);font-size:.813rem}.toggle .slider.disabled{opacity:.5;cursor:not-allowed}.toggle input:disabled+.slider{opacity:.5;cursor:not-allowed}.hidden-neighbors-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border, #e5e7eb)}.hidden-neighbors-section h2{font-size:1.25rem;margin-bottom:var(--spacing-sm)}.hidden-loading{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary, #6b7280);padding:1rem 0}.hidden-loading .spinning{animation:spin 1s linear infinite}.hidden-empty{text-align:center;padding:2rem;background:var(--color-bg, #f9fafb);border-radius:var(--radius-md, 8px);color:var(--color-text-secondary, #6b7280)}.hidden-empty svg{margin-bottom:.5rem;opacity:.5}.hidden-empty p{font-weight:500;color:var(--color-text-primary, #111827);margin:.25rem 0}.hidden-empty span{font-size:.875rem}.hidden-list{display:flex;flex-direction:column;gap:.75rem}.hidden-neighbor-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-bg, #f9fafb);border-radius:var(--radius-md, 8px)}.hidden-neighbor-info{display:flex;align-items:center;gap:.75rem}.hidden-neighbor-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-primary, #4d7c0f);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.hidden-neighbor-details{display:flex;flex-direction:column}.hidden-neighbor-name{font-weight:500;color:var(--color-text-primary, #111827)}.hidden-neighbor-address{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.btn-unhide{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff;border:1px solid var(--color-primary, #4d7c0f);color:var(--color-primary, #4d7c0f);border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-unhide:hover{background:#f0fdf4}.delete-account-section{margin-top:2rem;padding-top:2rem;border-top:2px solid #fee2e2}.delete-account-section h2{font-size:1.125rem;font-weight:600;color:#dc2626;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.delete-account-section>p{color:#6b7280;font-size:.875rem;margin-bottom:1rem}.btn-delete-account{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#fff;color:#dc2626;border:1.5px solid #dc2626;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-delete-account:hover{background:#fef2f2}.delete-confirm-box{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1.25rem}.delete-warning{color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:1rem}.delete-instruction{font-size:.875rem;color:#374151;margin-bottom:.5rem}.delete-confirm-input{width:100%;max-width:300px;padding:.5rem .75rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.delete-confirm-input:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.delete-confirm-buttons{display:flex;gap:.75rem}.btn-cancel-delete{padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;cursor:pointer;color:#374151}.btn-cancel-delete:hover{background:#f9fafb}.btn-confirm-delete{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-confirm-delete:hover{background:#b91c1c}.btn-confirm-delete:disabled{background:#9ca3af;cursor:not-allowed}.admin-delete-warning{display:flex;align-items:flex-start;gap:.5rem;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem;color:#92400e;font-size:.875rem}.btn-delete-account:disabled{opacity:.5;cursor:not-allowed}.btn-delete-account:disabled:hover{background:#fff}.manage-neighbors-section{padding:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h2{margin:0;font-size:1.5rem;color:#111827}.header-title-row{display:flex;align-items:center;gap:.75rem}.filters-row{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.search-box input{flex:1;border:none;outline:none;font-size:.9375rem}.search-box svg{color:#9ca3af}.search-box .clear-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;cursor:pointer;color:#6b7280;width:28px;height:28px;margin-right:-.25rem;margin-left:auto;padding:0;border-radius:999px;transition:background .15s ease,color .15s ease}.search-box .clear-btn:hover{background:#f3f4f6;color:#374151}.status-filters{display:flex;gap:.5rem}.filter-chip{padding:.5rem 1rem;border:1px solid #e5e7eb;border-radius:20px;background:#fff;font-size:.875rem;cursor:pointer;transition:all .2s}.filter-chip:hover{border-color:#4d7c0f}.filter-chip.active{background:#4d7c0f;border-color:#4d7c0f;color:#fff}.status-description{color:#16a34a;font-size:.875rem;margin:0 0 1rem}.addresses-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:visible}.addresses-table .table-header{border-top-left-radius:12px;border-top-right-radius:12px}.addresses-table .table-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.table-header{display:grid;grid-template-columns:3fr 1.2fr 2fr 1.5fr;column-gap:1rem;padding:1rem 1.5rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#6b7280;letter-spacing:.05em}.table-row{display:grid;grid-template-columns:3fr 1.2fr 2fr 1.5fr;column-gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;align-items:center}.no-code-col .table-header,.no-code-col .table-row{grid-template-columns:3fr 1.2fr 2fr 1.5fr}.table-row:last-child{border-bottom:none}.table-row:hover{background:#f9fafb}.col-address{display:flex;align-items:flex-start;gap:.75rem;font-weight:500;color:#111827}.col-address svg{color:#9ca3af;flex-shrink:0}.col-status{display:flex;flex-direction:column;align-items:center;gap:.25rem}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.pending{background:#fef3c7;color:#92400e}.code-display{display:inline-flex;align-items:center;gap:0}.code-display code{font-family:SF Mono,Monaco,monospace;font-size:.9375rem;font-weight:600;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;letter-spacing:.1em}.no-code,.no-resident{color:#9ca3af}.resident-info{display:flex;flex-direction:column;gap:.5rem;color:#374151}.resident-info-header{display:flex;align-items:center;gap:.5rem}.resident-info svg{color:#9ca3af}.resident-avatar{flex-shrink:0;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background-color:#e5e7eb;color:#fff;font-weight:600;line-height:1;text-transform:uppercase;-webkit-user-select:none;user-select:none}.resident-avatar img{width:100%;height:100%;object-fit:cover;display:block}.resident-avatar--initial{letter-spacing:0}.resident-badges{display:flex;gap:.5rem;flex-wrap:wrap}.resident-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.resident-badge.admin{background:#dcfce7;color:#166534}.resident-badge.board-member{background:#f3e8ff;color:#6b21a8}.col-actions{display:flex;gap:.5rem;justify-content:flex-end}.icon-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:4px;transition:all .2s}.icon-btn:hover{color:#4d7c0f;background:#f0fdf4}.btn-small{padding:.375rem .75rem;font-size:.8125rem;border-radius:6px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem}.btn-small.btn-primary{background:#4d7c0f;color:#fff;border:none}.btn-small.btn-primary:hover{background:#3d6c0a}.btn-small.btn-outline{background:#fff;color:#4d7c0f;border:1px solid #4d7c0f}.btn-small.btn-outline:hover{background:#f0fdf4}.btn-small.btn-danger-outline{background:#fff;color:#dc2626;border:1px solid #dc2626}.btn-small.btn-danger-outline:hover{background:#fef2f2}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.empty-state>svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{color:#111827;margin-bottom:.5rem}.empty-state p{color:#6b7280;margin-bottom:1.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:1.25rem}.close-btn{background:none;border:none;cursor:pointer;color:#6b7280;padding:.25rem}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid #e5e7eb}.mode-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.mode-tab{flex:1;padding:.75rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.mode-tab:hover{border-color:#4d7c0f}.mode-tab.active{background:#f0fdf4;border-color:#4d7c0f;color:#4d7c0f}.single-form label,.bulk-form label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.single-form input,.bulk-form textarea{width:100%;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem;box-sizing:border-box}.single-form input:focus,.bulk-form textarea:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f1a}.bulk-form textarea{font-family:SF Mono,Monaco,monospace;resize:vertical}.help-text{font-size:.8125rem;color:#6b7280;margin-top:.5rem}.error-message{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}@media(max-width:1024px){.table-header,.table-row{grid-template-columns:3fr 1.2fr 2fr 1.5fr;column-gap:.75rem}.no-code-col .table-header,.no-code-col .table-row{grid-template-columns:3fr 1.2fr 2fr 1.5fr}}@media(max-width:768px){.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.filters-row{flex-direction:column}.status-filters{flex-wrap:wrap}.table-header{display:none}.table-row{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.col-address{font-size:1rem}.col-actions{width:100%;justify-content:flex-start}}.modal-large{max-width:800px}.address-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column}.form-group.flex-1{flex:1}.form-group.flex-2{flex:2}.form-group label{font-weight:500;margin-bottom:.5rem;color:#374151;font-size:.875rem}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f1a}.apply-to-all{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:1rem;flex-wrap:wrap}.apply-label{font-weight:500;color:#166534;font-size:.875rem;white-space:nowrap}.apply-input{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;width:150px}.apply-input.apply-zip{width:80px}.apply-select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;width:80px}.bulk-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.bulk-header{display:grid;grid-template-columns:2fr 1fr 1.5fr 80px 80px 40px;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;font-weight:600;font-size:.75rem;text-transform:uppercase;color:#6b7280;letter-spacing:.05em}.bulk-row{display:grid;grid-template-columns:2fr 1fr 1.5fr 80px 80px 40px;gap:.5rem;padding:.5rem 1rem;border-top:1px solid #e5e7eb;align-items:center}.bulk-row input,.bulk-row select{padding:.5rem .75rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;width:100%;box-sizing:border-box}.bulk-row input:focus,.bulk-row select:focus{outline:none;border-color:#4d7c0f}.bulk-col.actions{justify-self:center}.btn-icon{background:none;border:none;cursor:pointer;color:#9ca3af;padding:.25rem;border-radius:4px;transition:all .2s}.btn-icon:hover:not(:disabled){color:#dc2626;background:#fef2f2}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-generate-code{color:#4d7c0f}.btn-generate-code:hover:not(:disabled){color:#3d6c0a;background:#f0fdf4}.btn-generate-code .spinning{animation:spin 1s linear infinite}.btn-text{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#4d7c0f;cursor:pointer;padding:.75rem 0;font-size:.875rem;font-weight:500}.btn-text:hover{text-decoration:underline}@media(max-width:768px){.modal-large{max-width:100%;margin:1rem}.form-row{flex-direction:column}.apply-to-all{flex-direction:column;align-items:flex-start}.apply-input,.apply-select{width:100%}.bulk-header{display:none}.bulk-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.bulk-row input,.bulk-row select{width:100%}.bulk-col.actions{align-self:flex-end}}.btn-add-circle{width:44px;height:44px;min-width:44px;max-width:44px;border-radius:50%;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);cursor:pointer;position:relative;padding:0;line-height:1;align-self:flex-start;flex-shrink:0;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.btn-add-circle svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.btn-warning-outline{background:transparent;border:1px solid #f59e0b;color:#f59e0b}.btn-warning-outline:hover{background:#fffbeb}.household-address{display:flex;align-items:center;gap:.5rem;color:#6b7280;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.no-members{color:#9ca3af;text-align:center;padding:2rem}.household-list{display:flex;flex-direction:column;gap:1rem}.household-member{display:flex;flex-direction:column;padding:1rem;background:#f9fafb;border-radius:8px;gap:.75rem}.member-info{display:flex;align-items:center;gap:.75rem}.member-avatar{width:40px;height:40px;border-radius:50%;background:#4d7c0f;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.member-details{display:flex;flex-direction:column}.member-name{font-weight:500;color:#111827}.member-email{font-size:.875rem;color:#6b7280}.member-badges{display:flex;gap:.5rem;margin-top:.25rem}.badge{font-size:.75rem;padding:.125rem .5rem;border-radius:999px;font-weight:500}.badge.admin{background:#fef3c7;color:#92400e}.badge.board{background:#dbeafe;color:#1e40af}.badge.pending-badge{background:#fef9c3;color:#854d0e}.member-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:640px){.member-actions{width:100%;justify-content:flex-end}}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;min-width:180px;overflow:hidden;max-height:300px;overflow-y:auto}.dropdown-menu-up{top:auto;bottom:100%;margin-bottom:.5rem}.dropdown-menu-floating{z-index:1000}.dropdown-menu button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;font-size:.875rem;color:#374151;text-align:left}.address-lines{display:flex;flex-direction:column;line-height:1.4}.address-lines .city-state{color:#6b7280;font-size:.875rem}.address-lines div{margin:0;padding:0}.col-actions .btn-small{padding:.35rem .5rem;min-width:auto}.col-actions{gap:.35rem}.header-buttons{display:flex;align-items:center;gap:.75rem}.btn-export{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.btn-export:hover{background:#e5e7eb;border-color:#9ca3af}.modal-small{max-width:400px}.checkbox-label{display:flex;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:.5rem;background:#f9fafb;border-radius:8px;cursor:pointer;transition:background .2s}.checkbox-label:hover{background:#f3f4f6}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.header-buttons-row{display:flex;gap:.5rem;flex-wrap:wrap}.btn-email-invite{background:#66bb6a!important;border-color:#66bb6a!important}.btn-email-invite:hover{background:#4caf50!important}.modal-large{max-width:720px!important}.modal-header h3{display:flex;align-items:center;gap:.5rem}.email-list-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:.5rem}.email-search-box{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;margin:.5rem 0 .25rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.email-search-box svg{color:#9ca3af;flex-shrink:0}.email-search-box input{flex:1;border:none;outline:none;font-size:.9375rem;background:transparent}.email-search-box .email-search-clear{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;margin-left:auto;background:none;border:none;border-radius:999px;color:#6b7280;cursor:pointer;transition:background .15s ease,color .15s ease}.email-search-box .email-search-clear:hover{background:#f3f4f6;color:#374151}.email-select-all{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;cursor:pointer}.email-select-all input{width:16px;height:16px;cursor:pointer}.email-count{font-size:.8rem;color:#888}.email-entries-list{max-height:400px;overflow-y:auto}.email-entry{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;border-bottom:1px solid #f3f4f6;transition:background .15s}.email-entry:hover{background:#f9fafb}.email-entry.selected{background:#e8f5e9}.email-entry>input[type=checkbox]{width:16px;height:16px;cursor:pointer;flex-shrink:0}.email-entry-info{flex:1;min-width:0}.email-entry-address{display:flex;align-items:center;gap:4px;font-size:.875rem;font-weight:500;color:#333}.email-entry-code{font-size:.75rem;color:#888;margin-top:2px}.email-entry-code strong{color:#2e7d32;letter-spacing:1px}.email-entry-sent{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#2e7d32;margin-top:2px}.email-entry-input{width:220px;flex-shrink:0;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;outline:none;transition:border-color .2s}.email-entry-input:focus{border-color:#2e7d32;box-shadow:0 0 0 2px #2e7d321a}.email-results{padding:1rem 0}.email-result-summary{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#e8f5e9;border-radius:8px;margin-bottom:1rem;font-size:.95rem}.email-result-error{display:flex;align-items:center;gap:.5rem;padding:1rem;background:#ffebee;border-radius:8px;color:#c62828}.email-result-list{max-height:300px;overflow-y:auto}.email-result-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;font-size:.8rem;border-bottom:1px solid #f3f4f6}.email-result-item.success{color:#2e7d32}.email-result-item.failed{color:#c62828}.email-result-address{font-weight:500;flex:1}.email-result-email{color:#666;flex:1}.email-result-status{font-size:.75rem}.email-sent-indicator{display:flex;align-items:center;gap:3px;font-size:.7rem;color:#1565c0;margin-top:4px}.email-sent-date{color:#1976d2;font-weight:500}.btn-small.btn-email-pending{background:#fff;border:1px solid #4caf50;color:#2e7d32;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.btn-small.btn-email-pending:hover{background:#4caf501a;border-color:#2e7d32;color:#1b5e20}.btn-small.btn-email-pending:active{transform:translateY(1px)}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hoa-tracker-section .error-message{margin-bottom:1rem}.hoa-export-warning{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:#fef3c7;border:1px solid #facc15;border-radius:10px;font-size:.9rem;color:#78350f;flex-wrap:wrap}.hoa-export-warning-text{flex:1;min-width:240px;line-height:1.5}.hoa-export-warning code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.85em;background:#fff9;padding:1px 5px;border-radius:4px}.hoa-export-warning .btn-outline{flex-shrink:0;background:#fff}.hoa-config-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.hoa-config-block h3{margin:0 0 .6rem;font-size:1rem;color:#1f2937;font-weight:600}.hoa-config-block label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;color:#374151}.hoa-config-block select,.hoa-config-block input[type=number]{padding:.6rem .85rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-family:inherit;max-width:360px}.hoa-yesno{display:flex;gap:.5rem}.hoa-yesno-btn{padding:.65rem 1.5rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;font-size:.95rem;font-weight:600;cursor:pointer;color:#374151;transition:background .15s ease,border-color .15s ease,color .15s ease}.hoa-yesno-btn:hover{background:#f3f4f6}.hoa-yesno-btn.selected{background:#4caf501f;border-color:#4d7c0f;color:#2e7d32}.hoa-amount-input{display:flex;align-items:center;max-width:220px;border:1px solid #d1d5db;border-radius:8px;background:#fff;overflow:hidden}.hoa-amount-input:focus-within{border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f26}.hoa-amount-prefix{padding:0 .6rem;color:#6b7280;font-weight:600;border-right:1px solid #e5e7eb}.hoa-amount-input input{border:none!important;flex:1;padding:.6rem .85rem;font-size:.95rem;outline:none}.hoa-config-actions{display:flex;gap:.5rem;justify-content:flex-end}.hoa-no-fee-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.hoa-config-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:#4caf500f;border:1px solid rgba(76,175,80,.2);border-radius:10px;margin-bottom:1rem;font-size:.95rem}.hoa-config-summary-text strong{color:#1f2937}.hoa-tracker-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.5rem 0 1rem;flex-wrap:wrap}.hoa-period-label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#374151}.hoa-period-label select{padding:.55rem .85rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;min-width:180px}.hoa-stats{font-size:.95rem;color:#1f2937;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.55rem .85rem}.hoa-stats strong{color:#1a1a1a}.hoa-address-list{overflow-x:auto;margin-top:.5rem}.hoa-table{width:100%;border-collapse:collapse;font-size:.95rem}.hoa-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;padding:.6rem .75rem;border-bottom:1px solid #e5e7eb;font-weight:600}.hoa-table td{padding:.75rem;border-bottom:1px solid #f0f2f0;vertical-align:middle}.hoa-table tr:last-child td{border-bottom:none}.hoa-table .muted{color:#6b7280}.hoa-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:600;padding:2px 10px;border-radius:999px}.hoa-status-badge.paid{background:#22c55e1f;color:#15803d}.hoa-status-badge.unpaid{background:#f59e0b1f;color:#b45309}.hoa-vacant-pill{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:999px;background:#f3f4f6;color:#6b7280;letter-spacing:.02em}.hoa-vacant-pill.pending{background:#3b82f61f;color:#1d4ed8}.hoa-note-cell{min-width:200px}.hoa-note-input{width:100%;padding:.4rem .55rem;font-size:.85rem;border:1px solid transparent;border-radius:6px;background:transparent;font-family:inherit;color:#374151;transition:background .15s ease,border-color .15s ease}.hoa-note-input::placeholder{color:#9ca3af}.hoa-note-input:hover:not(:disabled){background:#f9fafb;border-color:#e5e7eb}.hoa-note-input:focus{outline:none;background:#fff;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f26}.hoa-note-input:disabled{cursor:not-allowed;color:#9ca3af}.hoa-actions-cell{white-space:nowrap}.hoa-actions-cell .btn-outline+.btn-outline{margin-left:6px}.hoa-toast-popup{position:fixed;top:24px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:10px;padding:.85rem 1.25rem;background:#fff;color:#15803d;border:1px solid rgba(34,197,94,.45);border-left:4px solid #16a34a;border-radius:10px;font-size:.95rem;font-weight:600;box-shadow:0 12px 32px #0000001f,0 2px 6px #0000000f;z-index:9999;animation:hoaToastSlideIn .22s ease-out}@keyframes hoaToastSlideIn{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}.hoa-tracker-section .btn-outline{display:inline-flex;align-items:center;gap:6px;padding:.55rem .95rem;border-radius:8px;border:1px solid #d1d5db;background:#fff;font-size:.9rem;font-weight:500;cursor:pointer;color:#374151;transition:background .15s ease,border-color .15s ease}.hoa-tracker-section .btn-outline:hover:not(:disabled){background:#f3f4f6}.hoa-tracker-section .btn-outline.small{padding:.35rem .7rem;font-size:.82rem}.hoa-tracker-section .btn-outline.danger{color:#b91c1c;border-color:#fca5a5}.hoa-tracker-section .btn-outline.danger:hover:not(:disabled){background:#fef2f2}.hoa-tracker-section .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:.6rem 1.25rem;border-radius:8px;background:#4d7c0f;color:#fff;border:none;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.hoa-tracker-section .btn-primary:hover:not(:disabled){background:#3f6212;transform:translateY(-1px)}.hoa-tracker-section .btn-primary:disabled,.hoa-tracker-section .btn-outline:disabled{opacity:.55;cursor:not-allowed}.hoa-tracker-section .muted{color:#6b7280}.hoa-tracker-section .small{font-size:.82rem;margin:4px 0 0}.hoa-tracker-section .loading-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;color:#6b7280}.hoa-tracker-section .spinner{animation:hoaSpin 1s linear infinite}@keyframes hoaSpin{to{transform:rotate(360deg)}}.sales-section{display:flex;flex-direction:column;gap:1rem}.sales-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.sales-header h2{margin:0;font-size:1.5rem;color:#1f2937}.sales-tagline{margin:0;color:#6b7280;font-size:.9rem}.sales-banner{display:flex;align-items:center;gap:8px;padding:.65rem .85rem;border-radius:8px;font-size:.9rem;font-weight:500}.sales-banner-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.sales-banner-success{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46}.sales-banner-close{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;opacity:.6;padding:2px;border-radius:4px}.sales-banner-close:hover{opacity:1}.sales-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem}.sales-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem}.sales-stat-value{font-size:1.5rem;font-weight:700;color:#1f2937}.sales-stat-label{font-size:.72rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.sales-stat-converted .sales-stat-value{color:#4d7c0f}.sales-stat-replied .sales-stat-value{color:#1d4ed8}.sales-stats-secondary{background:#fff;border-style:dashed}.sales-stats-secondary .sales-stat-value{font-size:1.25rem;color:#374151}.sales-stats-secondary .sales-stat-label{color:#9ca3af}.sales-add-form{display:flex;flex-direction:column;gap:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.sales-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.sales-add-form label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:#374151}.sales-add-form input,.sales-add-form textarea{padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.92rem;font-family:inherit;background:#fff}.sales-add-form input:focus,.sales-add-form textarea:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f1f}.sales-form-actions{display:flex;justify-content:flex-end}.sales-form-hint{margin:0;font-size:.78rem;color:#6b7280}.sales-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.sales-search{flex:1;min-width:220px;display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.sales-search svg{color:#9ca3af}.sales-search input{flex:1;border:none;outline:none;font-size:.92rem;background:transparent}.sales-search-clear{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:999px}.sales-search-clear:hover{background:#f3f4f6;color:#374151}.sales-status-filter{display:flex;gap:.4rem;flex-wrap:wrap}.sales-filter-chip{padding:.4rem .75rem;border:1px solid #e5e7eb;border-radius:999px;background:#fff;font-size:.8rem;font-weight:600;color:#374151;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sales-filter-chip:hover:not(.active){background:#f3f4f6;border-color:#d1d5db}.sales-filter-chip.active{background:#4d7c0f;border-color:#4d7c0f;color:#fff}.sales-loading,.sales-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:2.5rem 1rem;color:#6b7280;font-size:.95rem;background:#fafafa;border:1px dashed #e5e7eb;border-radius:10px;text-align:center}.sales-list{display:flex;flex-direction:column;gap:.5rem}.sales-row{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:center;padding:.85rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px}.sales-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.sales-row-name{display:flex;align-items:center;gap:8px;font-size:1rem;color:#1f2937}.sales-row-email{font-size:.85rem;color:#4b5563;word-break:break-all}.sales-row-meta{font-size:.8rem;color:#6b7280}.sales-row-notes{font-size:.8rem;color:#6b7280;font-style:italic;margin-top:2px}.sales-row-progress{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.sales-progress-step{font-size:.78rem;font-weight:600;color:#1f2937}.sales-progress-dates{font-size:.72rem;color:#6b7280;display:flex;flex-direction:column;gap:1px}.sales-row-actions{display:flex;gap:.4rem;flex-shrink:0}.sales-section .btn-outline.small{display:inline-flex;align-items:center;gap:4px;padding:.35rem .7rem;font-size:.78rem;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;cursor:pointer;font-weight:600;transition:background .15s ease,border-color .15s ease}.sales-section .btn-outline.small:hover{background:#f3f4f6}.sales-section .btn-outline.small.danger{color:#b91c1c;border-color:#fca5a5}.sales-section .btn-outline.small.danger:hover{background:#fef2f2}.sales-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.sales-badge-active{background:#4d7c0f1f;color:#4d7c0f}.sales-badge-paused{background:#eab30826;color:#a16207}.sales-badge-converted{background:#22c55e26;color:#15803d}.sales-badge-unsubscribed{background:#ef44441f;color:#b91c1c}.sales-badge-completed{background:#e5e7eb;color:#4b5563}.sales-badge-replied{background:#1d4ed81f;color:#1d4ed8}.sales-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.sales-section .btn-outline{display:inline-flex;align-items:center;gap:6px;padding:.5rem .95rem;background:#fff;border:1px solid #d1d5db;color:#374151;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sales-section .btn-outline:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.sales-section .btn-outline:disabled{opacity:.55;cursor:not-allowed}.sales-modal-backdrop{position:fixed;inset:0;background:#1118278c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.sales-modal{background:#fff;border-radius:12px;width:100%;max-width:620px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #00000040;overflow:hidden}.sales-modal-wide{max-width:820px}.sales-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb}.sales-modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.1rem;color:#1f2937}.sales-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px}.sales-modal-close:hover{background:#f3f4f6;color:#1f2937}.sales-modal-body{padding:1.25rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1rem}.sales-modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1rem 1.25rem;border-top:1px solid #e5e7eb;background:#fafafa}.sales-modal-hint{margin:0;font-size:.85rem;color:#6b7280;line-height:1.5}.sales-modal-hint code{background:#f3f4f6;padding:1px 6px;border-radius:4px;font-size:.8rem;color:#374151}.sales-import-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sales-import-or{font-size:.85rem;color:#9ca3af}.sales-csv-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:#f9fafb;resize:vertical}.sales-import-preview{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.sales-import-preview-header{background:#f9fafb;padding:.5rem .75rem;font-size:.85rem;color:#374151;border-bottom:1px solid #e5e7eb}.sales-import-table{width:100%;border-collapse:collapse;font-size:.85rem}.sales-import-table th,.sales-import-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #f3f4f6}.sales-import-table th{background:#fafafa;color:#6b7280;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.sales-import-table em{color:#9ca3af;font-style:normal}.sales-import-more{text-align:center;font-size:.8rem;color:#6b7280;font-style:italic}.sales-import-results{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;font-size:.9rem;color:#374151}.sales-import-skipped{margin-top:.5rem}.sales-import-skipped summary{cursor:pointer;font-size:.85rem;color:#6b7280}.sales-import-skipped ul{margin:.5rem 0 0;padding-left:1.25rem;font-size:.82rem;color:#4b5563}.sales-import-skipped code{background:#f3f4f6;padding:1px 4px;border-radius:3px;font-size:.78rem}.sales-supp-add{display:flex;gap:.5rem}.sales-supp-add input{flex:1;padding:.55rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.92rem}.sales-supp-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.sales-supp-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px}.sales-supp-email{font-size:.9rem;color:#1f2937;font-weight:600}.sales-supp-meta{font-size:.75rem;color:#9ca3af}.sales-preview-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;background:#fafafa}.sales-preview-tab{flex:1;padding:.65rem 1rem;background:none;border:none;border-bottom:2px solid transparent;font-size:.88rem;font-weight:600;color:#6b7280;cursor:pointer}.sales-preview-tab:hover{color:#1f2937}.sales-preview-tab.active{color:#4d7c0f;border-bottom-color:#4d7c0f;background:#fff}.sales-preview-tab-day{font-weight:500;color:#9ca3af;font-size:.78rem}.sales-preview-meta{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:#374151;display:flex;flex-direction:column;gap:4px}.sales-preview-label{display:inline-block;width:64px;color:#6b7280;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.sales-preview-html-wrap{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;background:#fff}.sales-preview-html{width:100%;height:420px;border:none;background:#fff}.sales-section .btn-primary{display:inline-flex;align-items:center;gap:6px;padding:.55rem 1.1rem;background:#4d7c0f;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.sales-section .btn-primary:hover:not(:disabled){background:#3f6212}.sales-section .btn-primary:disabled{opacity:.55;cursor:not-allowed}.sales-section .spin{animation:salesSpin 1s linear infinite}@keyframes salesSpin{to{transform:rotate(360deg)}}@media(max-width:720px){.sales-row{grid-template-columns:1fr}.sales-row-progress{align-items:flex-start;text-align:left}.sales-row-actions{flex-wrap:wrap}.sales-form-row{grid-template-columns:1fr}}.admin-page{max-width:1200px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}.admin-page-header{margin-bottom:var(--spacing-xl)}.admin-page-header h1{font-size:2rem;margin-bottom:.25rem}.admin-page-subtitle{font-size:.9375rem;color:var(--color-text-secondary);margin:0}.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--spacing-xl);align-items:start}.admin-sidebar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-sm);height:fit-content;position:sticky;top:80px}.admin-sidebar nav{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;gap:.75rem;width:100%;min-height:44px;padding:.5rem .875rem;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-primary);background:transparent;font-weight:500;font-size:.9375rem;text-align:left;justify-content:flex-start;transition:background-color var(--transition-fast),color var(--transition-fast)}.menu-item>span:not(.flag-count-badge){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-item:hover{background:var(--color-bg-alt);color:var(--color-text-primary)}.menu-item.active{background:var(--color-primary-bg);color:var(--color-primary-dark)}.menu-item .chevron{display:none}.flag-count-badge{background:var(--color-error);color:#fff;font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;padding:0 6px;margin-left:auto}.menu-divider{padding:var(--spacing-md) .875rem .375rem;margin-top:var(--spacing-xs);border-top:1px solid var(--color-border-light)}.menu-divider span{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.admin-content{min-width:0}.section h2,.admin-content h2{font-size:1.25rem;margin-bottom:.25rem}.section-description{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.admin-content>.section>p:not(.section-description):not(.muted):first-of-type,.admin-content .muted{color:var(--color-text-secondary);font-size:.9375rem}.error-banner,.success-banner{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;border:1px solid transparent;margin-bottom:var(--spacing-md)}.error-banner{background:#ef444414;color:#b91c1c;border-color:#ef44442e}[data-theme=dark] .error-banner{color:#fca5a5}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.empty-state svg{color:var(--color-primary);margin-bottom:var(--spacing-md)}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:500px){.stats-grid{grid-template-columns:1fr}}.stat-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.stat-card svg{width:36px;height:36px;padding:6px;background:var(--color-primary-bg);color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0}.stat-card.warning svg{background:#f59e0b1a;color:#f59e0b}.stat-card>div{display:flex;flex-direction:column}.stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-label{font-size:.75rem;color:var(--color-text-secondary)}.users-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.user-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:600}.user-email{font-size:.875rem;color:var(--color-text-secondary)}.user-badges{display:flex;gap:var(--spacing-xs)}.badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.badge.admin{background:#22c55e26;color:#16a34a}.badge.board{background:#a855f726;color:#9333ea}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;font-size:.875rem}.form-group textarea{resize:vertical;min-height:120px}.btn-primary{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast)}.btn-primary:hover{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.np-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md);flex-wrap:wrap}.np-save-btn{align-self:flex-end;width:auto;min-width:0;padding:.625rem 1.5rem;border-radius:var(--radius-full)}.np-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}@media(max-width:900px){.np-two-col{grid-template-columns:1fr}}.generated-code{margin-top:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-primary-bg);border:1px solid var(--color-primary);border-radius:var(--radius-md)}.code-display{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:#fff;border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.code-display span{font-family:monospace;font-size:1.5rem;font-weight:700;letter-spacing:2px;color:var(--color-primary-dark)}.code-display button{padding:var(--spacing-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm)}.code-display button:hover{background:var(--color-border);color:var(--color-primary)}.generated-code p{font-size:.875rem;color:var(--color-text-secondary);margin:0}.flags-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.flag-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border-left:3px solid #f59e0b}.flag-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.flag-type{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.flag-reason{font-weight:500}.flag-reporter{font-size:.875rem;color:var(--color-text-secondary)}.flag-actions{display:flex;gap:var(--spacing-sm)}.btn-dismiss,.btn-remove{padding:var(--spacing-xs) var(--spacing-md);font-size:.875rem;font-weight:500;border-radius:var(--radius-sm)}.btn-dismiss{background:var(--color-border);color:var(--color-text-secondary)}.btn-dismiss:hover{background:var(--color-text-muted);color:#fff}.btn-remove{background:#ef44441a;color:var(--color-error)}.btn-remove:hover{background:var(--color-error);color:#fff}.flag-card-detailed{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.flag-badge{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:#dc2626}.flag-badge .flag-date{color:var(--color-text-muted);font-weight:400;margin-left:auto}.flag-card-detailed .flag-reason{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--color-text-secondary);font-weight:400}.flag-card-detailed .flag-reason .flag-reporter{font-size:.8125rem;color:var(--color-text-muted)}.flagged-post-preview{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.flagged-post-category{display:inline-block;font-size:.75rem;font-weight:600;color:#3b82f6;background:#3b82f61a;padding:2px 8px;border-radius:var(--radius-sm);margin-bottom:var(--spacing-xs)}.flagged-post-title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-xs)}.flagged-post-body{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);white-space:pre-wrap}.flagged-post-image{margin-bottom:var(--spacing-sm);border-radius:var(--radius-sm);overflow:hidden}.flagged-post-image img{width:100%;max-height:300px;object-fit:contain;background:#f3f4f6;border-radius:var(--radius-sm)}.flagged-post-meta{display:flex;align-items:center;gap:4px;font-size:.8125rem;color:var(--color-text-muted)}.flagged-post-deleted{color:var(--color-text-muted);font-style:italic}.flag-card-detailed .flag-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.btn-flag-ignore{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.btn-flag-ignore:hover{background:var(--color-bg);color:var(--color-text-primary)}.btn-flag-delete{display:flex;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius-md);background:#dc2626;color:#fff;cursor:pointer;transition:all .2s}.btn-flag-delete:hover{background:#b91c1c}.btn-flag-delete:disabled{opacity:.5;cursor:not-allowed}.success-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);color:#16a34a;font-weight:500;margin-bottom:var(--spacing-lg)}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;padding:.375rem}.admin-sidebar nav{flex-direction:row;gap:4px;overflow-x:auto;scrollbar-width:none}.admin-sidebar nav::-webkit-scrollbar{display:none}.menu-item{width:auto;min-height:36px;padding:.375rem .75rem;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;font-size:.875rem}.menu-item>span:not(.flag-count-badge){flex:0 0 auto}.menu-divider{display:none}}@media(max-width:768px){.admin-content{padding:var(--spacing-lg)}.flag-item{flex-direction:column}.flag-actions{width:100%}.flag-actions button{flex:1}}.subscription-empty{text-align:center;padding:3rem 2rem;background:#f9fafb;border-radius:12px;border:2px dashed #e5e7eb}.subscription-empty h3{margin:0 0 .5rem;color:#374151}.subscription-empty p{color:#6b7280;margin-bottom:1.5rem}.subscription-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.subscription-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.subscription-plan h3{margin:0 0 .5rem;font-size:1.25rem;color:#111827}.subscription-price .price{font-size:1.75rem;font-weight:700;color:#7cb65f}.subscription-price .price small{font-size:.875rem;font-weight:400;color:#6b7280}.badge-success{background:#dcfce7;color:#166534}.badge-info{background:#dbeafe;color:#1e40af}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.subscription-trial-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#dbeafe;border-radius:8px;margin-bottom:1.5rem;color:#1e40af}.subscription-trial-banner strong{font-weight:600}.subscription-cancel-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef3c7;border-radius:8px;margin-top:1rem;color:#92400e}.subscription-details{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f9fafb;border-radius:8px}.detail-row svg{color:#6b7280;flex-shrink:0}.detail-row>div{display:flex;flex-direction:column}.detail-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.detail-value{font-weight:500;color:#111827}.subscription-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.payment-history-section{margin-top:1.5rem}.payment-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.payment-history-header h3{margin:0}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.payment-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:.75rem;color:#6b7280}.payment-empty{color:#6b7280;font-size:.875rem;font-style:italic}.payment-history{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.payment-table-header{display:grid;grid-template-columns:1.2fr 1fr .75fr 1.2fr .75fr;padding:.75rem 1rem;background:#f9fafb;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.payment-row{display:grid;grid-template-columns:1.2fr 1fr .75fr 1.2fr .75fr;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;align-items:center;font-size:.875rem}.payment-row:last-child{border-bottom:none}.payment-date{font-weight:500;color:#374151}.payment-amount{font-weight:600;color:#111827}.payment-method{color:#6b7280;font-size:.85rem}.payment-status{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;padding:.2rem .5rem;border-radius:4px;font-weight:500;width:fit-content}.payment-status.paid{background:#dcfce7;color:#166534}.payment-status.open{background:#fef9c3;color:#854d0e}.payment-status.uncollectible,.payment-status.refunded{background:#fee2e2;color:#991b1b}.payment-status.partially_refunded{background:#fef3c7;color:#92400e}.payment-invoice{color:#6b7280;font-size:.8rem;font-family:monospace}@media(max-width:640px){.payment-table-header{display:none}.payment-row{grid-template-columns:1fr 1fr;gap:.25rem}.payment-history-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.subscription-help{margin-top:2rem;padding:1rem;background:#f9fafb;border-radius:8px;text-align:center}.subscription-help p{margin:0;color:#6b7280;font-size:.875rem}.subscription-help a{color:#7cb65f;font-weight:500}@media(max-width:640px){.subscription-header{flex-direction:column;gap:1rem}.payment-row{flex-direction:column;align-items:flex-start;gap:.75rem}.payment-amount{width:100%;justify-content:space-between}}.pricing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;max-width:700px}.pricing-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;text-align:center;position:relative;transition:transform .2s,box-shadow .2s}.pricing-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.pricing-card.featured{border:2px solid #4f46e5;background:linear-gradient(180deg,#f5f3ff,#fff)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#4f46e5;color:#fff;padding:4px 16px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase}.pricing-card h4{font-size:1.25rem;font-weight:600;margin:0 0 1rem}.pricing-amount .price{font-size:2.5rem;font-weight:700;color:#111827}.pricing-amount .period{font-size:1rem;color:#6b7280}.savings{color:#059669;font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.pricing-features{list-style:none;padding:0;margin:1.5rem 0;text-align:left}.pricing-features li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#374151}.pricing-features li svg{color:#059669}.pricing-card .btn-primary{width:100%;padding:.875rem 1.5rem}.pricing-card.featured .btn-primary{background:#4f46e5}.subscription-empty{text-align:center;padding:2rem 0}.subscription-empty .empty-icon{color:#9ca3af;margin-bottom:1rem}.subscription-empty h3{font-size:1.5rem;margin:0 0 .5rem}.subscription-empty>p{color:#6b7280;margin-bottom:1rem}.households-filters{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:8px}.search-box svg{color:#9ca3af;flex-shrink:0}.search-box input{flex:1;border:none;outline:none;font-size:1rem}.search-box .clear-btn{background:none;border:none;padding:4px;cursor:pointer;color:#9ca3af;border-radius:4px}.search-box .clear-btn:hover{background:#f3f4f6;color:#6b7280}.status-filters{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chip{padding:.5rem 1rem;background:#fff;border:1px solid #d1d5db;border-radius:9999px;font-size:.875rem;color:#6b7280;cursor:pointer;transition:all .2s}.filter-chip:hover{background:#f3f4f6}.filter-chip.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.results-count{font-size:.875rem;color:#6b7280;margin-bottom:1rem}.households-list{display:flex;flex-direction:column;gap:.75rem}.household-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.household-card:hover{border-color:#4f46e5;box-shadow:0 4px 12px #4f46e51a}.household-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.household-card-header h3{font-size:1rem;font-weight:600;margin:0}.household-card-details{flex:1}.detail-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.detail-row svg{flex-shrink:0;color:#9ca3af}.detail-row .separator{color:#d1d5db}.detail-row .primary-name{color:#374151}.detail-row.invitation-code{color:#7c3aed}.detail-row.invitation-code svg{color:#7c3aed}.household-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.joined-date{font-size:.75rem;color:#9ca3af}.pending-badge{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#dc2626}.household-card .chevron{color:#9ca3af;flex-shrink:0}.status-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:9999px}.status-badge.active{background:#dcfce7;color:#15803d}.status-badge.pending{background:#fef3c7;color:#d97706}.status-badge.vacant{background:#f3f4f6;color:#6b7280}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state h3{font-size:1.125rem;font-weight:600;color:#374151;margin:0 0 .5rem}.empty-state p{color:#6b7280;margin:0}.household-detail .back-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:#4f46e5;font-size:.875rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:1.5rem}.household-detail .back-btn:hover{text-decoration:underline}.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.info-card h3{font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.info-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem 0}.info-row svg{color:#4f46e5;flex-shrink:0;margin-top:2px}.info-row>div{flex:1;display:flex;justify-content:space-between;align-items:center}.info-row .label{color:#6b7280;font-size:.875rem}.info-row .value{font-weight:500;color:#111827}.info-row .value.code{font-family:monospace;background:#f5f3ff;color:#7c3aed;padding:2px 8px;border-radius:4px}.section-title{font-size:1.125rem;font-weight:600;margin:2rem 0 1rem;color:#111827}.section-title.danger{color:#dc2626}.members-list{display:flex;flex-direction:column;gap:.75rem}.member-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.member-card .member-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.member-card .member-avatar img{width:100%;height:100%;object-fit:cover}.member-card .member-avatar span{color:#fff;font-weight:600;font-size:1.125rem}.member-card .member-info{flex:1;min-width:0}.member-card .member-name{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#111827}.member-card .star-icon{color:#f59e0b}.member-card .admin-icon{color:#4f46e5}.member-card .member-email,.member-card .member-phone{font-size:.875rem;color:#6b7280}.member-card .member-joined{font-size:.75rem;color:#9ca3af}.member-card .delete-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:#dc2626;border-radius:8px;transition:background .2s}.member-card .delete-btn:hover{background:#fef2f2}.invites-list{display:flex;flex-direction:column;gap:.75rem}.invite-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fefce8;border:1px solid #fef08a;border-radius:12px}.invite-card .invite-icon{color:#d97706}.invite-card .invite-info{flex:1}.invite-card .invite-name{font-weight:600;color:#111827}.invite-card .invite-email{font-size:.875rem;color:#6b7280}.invite-card .invite-dates{font-size:.75rem;color:#9ca3af}.empty-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;text-align:center}.empty-card svg{color:#d1d5db;margin-bottom:1rem}.empty-card p{color:#6b7280;margin:0}.danger-card{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:1.5rem}.danger-card h4{font-size:1rem;font-weight:600;color:#dc2626;margin:0 0 .5rem}.danger-card p{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.danger-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#dc2626;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:background .2s}.danger-btn:hover:not(:disabled){background:#b91c1c}.danger-btn:disabled{opacity:.6;cursor:not-allowed}.confirm-modal{text-align:center;padding:2rem;max-width:400px}.confirm-modal .warning-icon{color:#dc2626;margin-bottom:1rem}.confirm-modal h3{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.confirm-modal p{color:#6b7280;margin:0 0 1.5rem}.confirm-modal .modal-actions{display:flex;gap:.75rem;justify-content:center}.confirm-modal .cancel-btn{padding:.75rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer}.confirm-modal .cancel-btn:hover:not(:disabled){background:#f3f4f6}.invitations-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.invitations-section .section-header h2{margin:0}.invitation-stats{display:flex;gap:1rem;margin-bottom:1.5rem}.stat-pill{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;min-width:100px}.stat-pill:hover{border-color:#d1d5db;background:#f9fafb}.stat-pill.active{border-color:#4f46e5;background:#eef2ff}.stat-pill.available.active{border-color:#4d7c0f;background:#f0fdf4}.stat-pill.used.active{border-color:#6b7280;background:#f9fafb}.stat-pill .stat-count{font-size:1.5rem;font-weight:700;color:#111827}.stat-pill .stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.invitations-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.invitations-toolbar .search-box{flex:1;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.invitations-toolbar .search-box input{flex:1;border:none;outline:none;font-size:.875rem}.invitations-toolbar .search-box svg{color:#9ca3af}.invitations-toolbar .clear-btn{background:none;border:none;padding:.25rem;color:#9ca3af;cursor:pointer;border-radius:4px}.invitations-toolbar .clear-btn:hover{background:#f3f4f6;color:#6b7280}.btn-secondary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.invitations-list-improved{display:flex;flex-direction:column;gap:.75rem}.invitation-card-improved{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s}.invitation-card-improved:hover{box-shadow:0 2px 8px #0000000d}.invitation-card-improved.used{background:#f9fafb;opacity:.7}.invitation-main{display:flex;flex-direction:column;gap:.5rem}.invitation-code-display{display:flex;align-items:center;gap:.75rem}.invitation-code-display .code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:1.25rem;font-weight:700;color:#111827;letter-spacing:.1em}.invitation-card-improved.used .code{color:#9ca3af;text-decoration:line-through}.copy-btn-small{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#f3f4f6;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.copy-btn-small:hover:not(:disabled){background:#e5e7eb;color:#374151}.copy-btn-small:disabled{opacity:.4;cursor:not-allowed}.invitation-address-display{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.invitation-address-display svg{color:#9ca3af}.invitation-meta{display:flex;align-items:center;gap:1rem}.meta-item{display:flex;align-items:center;gap:.375rem;color:#9ca3af;font-size:.75rem}.status-badge{padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge.available{background:#dcfce7;color:#166534}.status-badge.used{background:#f3f4f6;color:#6b7280}.mode-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.25rem;background:#f3f4f6;border-radius:10px}.mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-radius:8px;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.mode-btn:hover{color:#374151}.mode-btn.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001a}.form-hint{margin-top:.5rem;font-size:.75rem;color:#6b7280}.form-hint .address-count{font-weight:600;color:#4d7c0f}.modal-body{padding:0 1.5rem}.invitations-section .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;background:#f9fafb;border-radius:12px;text-align:center}.invitations-section .empty-state svg{color:#d1d5db;margin-bottom:1rem}.invitations-section .empty-state h3{margin:0 0 .5rem;color:#374151}.invitations-section .empty-state p{margin:0;color:#6b7280}@media(max-width:768px){.invitations-section .section-header{flex-direction:column;align-items:stretch;gap:1rem}.invitation-stats{flex-wrap:wrap}.stat-pill{flex:1;min-width:80px;padding:.75rem 1rem}.invitations-toolbar{flex-direction:column}.invitation-card-improved{flex-direction:column;align-items:flex-start;gap:1rem}.invitation-meta{width:100%;justify-content:space-between}.mode-toggle{flex-direction:column}}.modal.modal-large{max-width:800px}.form-row{display:flex;gap:1rem}.form-row.three-col .form-group{flex:1}.form-row.three-col .form-group:nth-child(2){flex:0 0 100px}.form-row.three-col .form-group:nth-child(3){flex:0 0 120px}.single-invite-form .form-group{margin-bottom:1rem}.single-invite-form select{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer}.single-invite-form select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.apply-to-all-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:1rem;margin-bottom:1rem}.apply-to-all-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;font-weight:500;color:#166534}.apply-to-all-fields{display:flex;gap:.75rem;align-items:center}.apply-to-all-fields input,.apply-to-all-fields select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.apply-to-all-fields input:first-child{flex:1}.apply-to-all-fields select{width:80px}.apply-to-all-fields input:last-of-type{width:80px}.btn-apply{padding:.5rem 1rem;background:#4d7c0f;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-apply:hover:not(:disabled){background:#3f6212}.btn-apply:disabled{background:#9ca3af;cursor:not-allowed}.bulk-address-table{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:1rem}.bulk-table-header{display:flex;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.bulk-table-row{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;align-items:center}.bulk-table-row:last-child{border-bottom:none}.bulk-table-row:hover{background:#f9fafb}.bulk-table-row input,.bulk-table-row select{width:100%;padding:.5rem .625rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.875rem;transition:border-color .2s}.bulk-table-row input:focus,.bulk-table-row select:focus{outline:none;border-color:#4f46e5}.col-address1{flex:2;min-width:150px}.col-address2,.col-city{flex:1;min-width:100px}.col-state{flex:0 0 70px}.col-zip{flex:0 0 80px}.col-action{flex:0 0 36px}.remove-row-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid #e5e7eb;border-radius:6px;color:#9ca3af;cursor:pointer;transition:all .2s}.remove-row-btn:hover:not(:disabled){background:#fef2f2;border-color:#fecaca;color:#dc2626}.remove-row-btn:disabled{opacity:.3;cursor:not-allowed}.btn-add-row{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-row:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}@media(max-width:768px){.modal.modal-large{max-width:100%;margin:1rem}.apply-to-all-fields{flex-wrap:wrap}.apply-to-all-fields input:first-child{flex:1 1 100%}.bulk-table-header{display:none}.bulk-table-row{flex-wrap:wrap;gap:.5rem}.col-address1,.col-address2{flex:1 1 100%}.col-city{flex:1}.col-state,.col-zip{flex:0 0 calc(50% - .25rem - 36px)}.form-row.three-col{flex-wrap:wrap}.form-row.three-col .form-group{flex:1 1 100%}.form-row.three-col .form-group:nth-child(2),.form-row.three-col .form-group:nth-child(3){flex:1}}.neighborhood-selector{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border:1px solid #c7d2fe;border-radius:10px;margin-bottom:1.5rem}.neighborhood-selector svg{color:#4f46e5}.neighborhood-selector select{flex:1;padding:.5rem 1rem;border:1px solid #c7d2fe;border-radius:6px;font-size:.95rem;font-weight:500;background:#fff;cursor:pointer}.neighborhood-selector select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e526}.content-list{display:flex;flex-direction:column;gap:1rem}.content-card{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s}.content-card:hover{box-shadow:0 4px 12px #0000000d;border-color:#d1d5db}.content-main{flex:1;min-width:0}.content-main h3{margin:0 0 .5rem;font-size:1.1rem;font-weight:600;color:#111827}.content-main h3 .pin-icon{margin-right:.5rem}.content-preview{margin:0 0 .75rem;font-size:.875rem;color:#6b7280;line-height:1.5}.content-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.75rem;color:#9ca3af}.content-meta .separator{color:#d1d5db}.content-meta .author{font-weight:500;color:#6b7280}.content-stats{margin-left:1rem;text-align:right}.content-stats .vote-count{padding:.375rem .75rem;background:#f3f4f6;border-radius:20px;font-size:.75rem;font-weight:600;color:#6b7280}.directory-list{display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.directory-card{display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:#fff;border-bottom:1px solid #f0f0f0;transition:background .15s}.directory-card:last-child{border-bottom:none}.directory-card:hover{background:#f9fafb}.directory-card .resident-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#4d7c0f,#65a30d);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.directory-card .resident-avatar img{width:100%;height:100%;object-fit:cover}.directory-card .resident-avatar span{color:#fff;font-size:1rem;font-weight:600}.directory-card .resident-info{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left}.directory-card .resident-info h3{margin:0;font-size:.95rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.directory-card .resident-info h3 .badge{font-size:.65rem;padding:.2rem .5rem}.directory-card .resident-address{display:flex;align-items:center;gap:.375rem;margin:0;font-size:.8rem;color:#6b7280}.directory-card .resident-address svg{color:#9ca3af;flex-shrink:0}.directory-card .resident-contacts{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.8rem;color:#9ca3af}.directory-card .resident-contacts .sep{color:#d1d5db}.directory-card .resident-email,.directory-card .resident-phone{margin:0;font-size:.8rem;color:#9ca3af}.super-admin-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.super-admin-section .section-header h2{margin:0}.super-admin-section .resident-count{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:.375rem .75rem;border-radius:20px}.badge-board{background:#dbeafe;color:#1d4ed8}.badge-admin{background:#fef3c7;color:#d97706}@media(max-width:768px){.directory-card .resident-info{flex-direction:column;align-items:flex-start;gap:.25rem}.content-card{flex-direction:column}.content-stats{margin-left:0;margin-top:1rem;text-align:left}.super-admin-section .section-header{flex-direction:column;gap:1rem;align-items:flex-start}}.users-list-table{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.users-list-header{display:grid;grid-template-columns:2fr 2fr 2fr 1fr 50px;gap:1rem;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.users-list-row{display:grid;grid-template-columns:2fr 2fr 2fr 1fr 50px;gap:1rem;padding:1rem;border-bottom:1px solid #f3f4f6;align-items:center;transition:background .2s}.users-list-row:last-child{border-bottom:none}.users-list-row:hover{background:#f9fafb}.users-list-row .col-user{display:flex;align-items:center;gap:.75rem}.users-list-row .user-avatar.small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#4d7c0f,#65a30d);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.users-list-row .user-avatar.small img{width:100%;height:100%;object-fit:cover}.users-list-row .user-avatar.small span{color:#fff;font-size:.875rem;font-weight:600}.users-list-row .user-name{font-weight:500;color:#111827}.users-list-row .col-email,.users-list-row .col-address{font-size:.875rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-list-row .col-role{display:flex;align-items:center}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.role-badge.purple{background:#f3e8ff;color:#7c3aed}.role-badge.green{background:#dcfce7;color:#16a34a}.role-badge.blue{background:#dbeafe;color:#2563eb}.role-badge.default{background:#f3f4f6;color:#6b7280}.col-actions{display:flex;justify-content:flex-end}.dropdown-container{position:relative}.menu-btn{padding:.5rem;border-radius:6px;color:#6b7280;transition:all .2s}.menu-btn:hover{background:#f3f4f6;color:#111827}.dropdown-menu{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:100;min-width:200px;overflow:hidden}.dropdown-menu button{display:block;width:100%;padding:.75rem 1rem;text-align:left;font-size:.875rem;color:#374151;transition:background .2s}.dropdown-menu button:hover{background:#f3f4f6}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0}.user-count{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:.375rem .75rem;border-radius:20px}@media(max-width:900px){.users-list-header{display:none}.users-list-row{display:flex;flex-direction:column;gap:.5rem;padding:1rem}.users-list-row .col-user{width:100%}.users-list-row .col-email,.users-list-row .col-address,.users-list-row .col-role{padding-left:3rem}.users-list-row .col-actions{position:absolute;top:1rem;right:1rem}.users-list-row{position:relative}}.subscription-trial-banner{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef3c7;border-radius:8px;margin-bottom:1.5rem;color:#92400e}.subscription-trial-banner strong{color:#78350f}.subscription-cancel-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border-radius:8px;margin-bottom:1.5rem;color:#dc2626}.reactivate-link{margin-left:.5rem;color:#4d7c0f;text-decoration:underline;background:none;border:none;cursor:pointer;font-weight:500}.change-plan-card{margin-top:1.5rem}.change-plan-description{color:#6b7280;margin-bottom:1.5rem}.plan-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.plan-option{padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:1rem}.plan-option.current{border-color:#4d7c0f;background:#f0fdf4}.plan-option-header{display:flex;flex-direction:column;gap:.25rem}.plan-name{font-weight:600;color:#111827}.plan-price{font-size:1.25rem;font-weight:700;color:#111827}.plan-savings{font-size:.75rem;color:#16a34a;font-weight:500}.current-badge{font-size:.75rem;color:#4d7c0f;font-weight:600;padding:.25rem .75rem;background:#dcfce7;border-radius:20px;text-align:center}.btn-small{padding:.5rem 1rem;font-size:.875rem}.cancel-section{margin-top:1.5rem;border-color:#fecaca}.cancel-section h3{color:#dc2626}.btn-danger-outline{padding:.75rem 1.5rem;background:#fff;color:#dc2626;border:2px solid #dc2626;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger-outline:hover{background:#fef2f2}.btn-danger{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#b91c1c}.cancel-confirm{padding:1rem;background:#fef2f2;border-radius:8px}.cancel-warning{display:flex;align-items:flex-start;gap:.75rem;color:#dc2626;margin-bottom:1rem}.cancel-actions{display:flex;gap:1rem}@media(max-width:640px){.plan-options{grid-template-columns:1fr}.cancel-actions{flex-direction:column}}.checkout-modal{width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.checkout-body{min-height:400px;padding:0}.checkout-body iframe{width:100%}.success-banner{background:#22c55e1a;color:#15803d;border:1px solid rgba(34,197,94,.2)}.success-banner svg{color:var(--color-success);flex-shrink:0}.success-banner span{flex:1}.success-banner .close-btn-small{background:none;border:none;color:#065f46;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.success-banner .close-btn-small:hover{color:#047857}.plan-options{display:flex;gap:20px}.plan-option{flex:1;display:flex;flex-direction:column}.plan-option-header{flex:1}.plan-option .btn-outline{width:100%;justify-content:center;text-align:center}.pricing-cards{display:flex;gap:20px;align-items:stretch}.pricing-card{flex:1;display:flex;flex-direction:column}.pricing-card .pricing-features{flex:1}.pricing-card .btn-primary{margin-top:auto}.resources-admin-section .section-description{color:#6b7280;margin-bottom:1.5rem}.resources-admin-list{display:flex;flex-direction:column;gap:.75rem}.resource-admin-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#fff;border:1px solid #e5e7eb;border-radius:10px;transition:box-shadow .2s}.resource-admin-card:hover{box-shadow:0 2px 8px #0000000d}.resource-admin-icon{width:40px;height:40px;background:linear-gradient(135deg,#ecfccb,#d9f99d);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#4d7c0f;flex-shrink:0}.resource-admin-info{flex:1;min-width:0}.resource-admin-info h4{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.25rem}.resource-admin-meta{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#6b7280}.pdf-badge{font-size:.7rem;padding:.15rem .4rem;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-weight:600}.resource-admin-actions{display:flex;align-items:center;gap:.5rem}.btn-icon{width:36px;height:36px;border:none;background:#f3f4f6;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s;text-decoration:none}.btn-icon:hover{background:#e5e7eb;color:#111827}.btn-icon.delete:hover{background:#fef2f2;color:#dc2626}.create-resource-modal{max-width:600px;width:100%}.create-resource-modal .modal-body{padding:1.5rem}.create-resource-modal .form-group{margin-bottom:1.25rem}.create-resource-modal .form-group:last-child{margin-bottom:0}.create-resource-modal label{display:block;font-weight:500;color:#374151;margin-bottom:.5rem}.create-resource-modal input[type=text],.create-resource-modal textarea{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.create-resource-modal input[type=text]:focus,.create-resource-modal textarea:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f1a}.create-resource-modal textarea{resize:vertical;min-height:150px}.file-upload-area{display:flex;align-items:center;gap:.75rem}.file-input-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload-label{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;transition:all .2s;flex:1}.file-upload-label:hover{background:#f3f4f6;border-color:#9ca3af}.file-upload-label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-file{width:32px;height:32px;border:none;background:#fef2f2;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#dc2626;cursor:pointer;transition:background .2s;flex-shrink:0}.btn-remove-file:hover{background:#fee2e2}.create-resource-modal .modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.create-resource-modal .btn-cancel{padding:.625rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-weight:500;cursor:pointer;transition:all .2s}.create-resource-modal .btn-cancel:hover{background:#f3f4f6}.create-resource-modal .btn-primary{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#4d7c0f;border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:background .2s}.create-resource-modal .btn-primary:hover{background:#3f6212}.create-resource-modal .btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.spinner-icon{animation:spin 1s linear infinite}.error-message{padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1rem}.btn-add-circle{width:44px;height:44px;min-width:44px;max-width:44px;border-radius:50%;background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;align-self:flex-start;flex-shrink:0;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.btn-add-circle:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-add-circle:disabled{background:var(--color-text-muted);border-color:var(--color-text-muted);cursor:not-allowed;transform:none;box-shadow:none}.announcement-form{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem}.announcement-form-title{margin:0 0 .25rem;font-size:1rem;color:#1f2937;font-weight:600}.announcement-form input,.announcement-form textarea{padding:.65rem .85rem;font-size:.95rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;font-family:inherit;width:100%;box-sizing:border-box}.announcement-form input:focus,.announcement-form textarea:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f26}.announcement-form textarea{resize:vertical;min-height:120px}.announcement-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.announcement-post-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:#4d7c0f;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease}.announcement-post-btn:hover:not(:disabled){background:#3f6212;transform:translateY(-1px);box-shadow:0 3px 10px #4d7c0f4d}.announcement-post-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}.announcement-form .btn-secondary{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s ease}.announcement-form .btn-secondary:hover:not(:disabled){background:#f3f4f6}.announcement-action-btn{width:32px;height:32px;padding:0;gap:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;border-radius:6px;color:#4b5563;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0}.announcement-action-btn svg{display:block;flex-shrink:0}.announcement-action-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937}.announcement-action-btn.danger{color:#b91c1c}.announcement-action-btn.danger:hover{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.announcement-editing-badge{display:inline-block;font-size:.7rem;font-weight:600;background:#fef3c7;color:#92400e;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}.content-card.announcement-expandable.being-edited{border-color:#facc15;box-shadow:0 0 0 3px #facc152e}.messages-page{max-width:1400px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl)}.messages-list-col{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:calc(100vh - var(--spacing-xl) * 2)}.messages-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md)}.messages-header-text h1{margin-bottom:var(--spacing-xs)}.messages-header-text p{margin:0}.messages-new-btn{width:44px;height:44px;min-width:44px;max-width:44px;padding:0;border-radius:50%;flex-shrink:0;align-self:flex-start;box-shadow:var(--shadow-md)}.messages-new-btn:hover:not(:disabled){box-shadow:var(--shadow-lg)}.messages-tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border-light);padding:0 var(--spacing-xs)}.messages-tab{background:transparent;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:.9375rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-xs);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--transition-fast),border-color var(--transition-fast)}.messages-tab:hover{color:var(--color-text-primary)}.messages-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-primary)}.messages-tab-count{background:var(--color-bg-alt);color:var(--color-text-secondary);font-size:.75rem;padding:1px 8px;border-radius:var(--radius-full);font-weight:600}.messages-tab.active .messages-tab-count{background:var(--color-primary-bg);color:var(--color-primary-dark)}.thread-row-wrap{position:relative}.thread-menu{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);z-index:3}.thread-menu-trigger{width:28px;height:28px;padding:0;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:background var(--transition-fast),opacity var(--transition-fast),color var(--transition-fast)}.thread-row-wrap:hover .thread-menu-trigger,.thread-row-wrap:focus-within .thread-menu-trigger{opacity:1}.thread-menu-trigger:hover{background:var(--color-bg-alt);color:var(--color-text-primary)}.thread-menu-dropdown{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;padding:4px;display:flex;flex-direction:column;z-index:20}.thread-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);padding:8px 10px;border:none;background:transparent;color:var(--color-text-primary);font-size:.875rem;text-align:left;border-radius:var(--radius-sm);cursor:pointer}.thread-menu-item:hover{background:var(--color-bg-alt)}.messages-thread-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-bottom:var(--spacing-md)}.thread-card{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);text-align:left;border-radius:var(--radius-lg)}.thread-card.active{background:var(--color-primary-bg);border-color:var(--color-primary)}.thread-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.thread-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm)}.thread-name{font-weight:600;color:var(--color-text-primary);font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-member-count{color:var(--color-text-muted);font-weight:500;font-size:.8125rem}.thread-time{font-size:.75rem;flex-shrink:0}.thread-preview{margin:0;font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-card.unread .thread-preview{color:var(--color-text-primary);font-weight:500}.thread-unread{background:var(--color-primary);color:#fff;min-width:22px;height:22px;padding:0 8px;justify-content:center;font-size:.75rem}.avatar-stack{display:inline-flex;flex-shrink:0;position:relative}.avatar-stack .avatar+.avatar{margin-left:-14px;border:2px solid var(--color-bg-card)}.messages-loading{display:flex;justify-content:center;padding:var(--spacing-2xl) 0}.messages-empty-inline{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted)}.messages-empty-inline p{margin:0}.new-chat-card{display:flex;flex-direction:column;padding:var(--spacing-md);gap:var(--spacing-sm)}.new-chat-top{display:flex;align-items:center;gap:var(--spacing-sm)}.new-chat-back{width:36px;height:36px;padding:0}.new-chat-title{font-family:var(--font-display);font-weight:600;font-size:1rem}.new-chat-search{position:relative;display:flex;align-items:center}.new-chat-search>svg{position:absolute;left:14px;color:var(--color-text-muted);pointer-events:none}.new-chat-search input{padding-left:40px;border-radius:var(--radius-full);height:42px}.new-chat-groupname{border-radius:var(--radius-full);height:42px;padding-left:var(--spacing-md)}.new-chat-actions{display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-xs)}.new-chat-count{flex:1;font-size:.8125rem}.new-chat-neighbors{display:flex;flex-direction:column;max-height:44vh;overflow-y:auto;padding:var(--spacing-xs) 0}.neighbor-row{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:.5rem .75rem;text-align:left;border-radius:var(--radius-md);background:transparent;border:none;color:var(--color-text-primary);font-weight:500}.neighbor-row:hover{background:var(--color-bg-alt)}.neighbor-row.selected{background:var(--color-primary-bg)}.neighbor-row.selected .neighbor-name{font-weight:600}.neighbor-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1.5px solid var(--color-border-strong);border-radius:6px;flex-shrink:0;background:var(--color-bg-card);color:#fff;transition:background var(--transition-fast),border-color var(--transition-fast)}.neighbor-check.checked{background:var(--color-primary);border-color:var(--color-primary)}.neighbor-name{font-size:.9375rem}.new-chat-footer{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);margin-top:var(--spacing-xs)}.new-chat-start{width:100%}.messages-conv-col{min-width:0;display:flex;flex-direction:column;min-height:500px}.conv-shell{display:flex;flex-direction:column;padding:0;overflow:hidden;height:calc(100vh - var(--spacing-xl) * 2);min-height:500px}.conv-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-card);position:sticky;top:0;z-index:2;text-align:left;width:100%;border-radius:0}.conv-header-clickable{cursor:pointer;transition:background var(--transition-fast)}.conv-header-clickable:hover{background:var(--color-bg-alt)}.conv-back{width:36px;height:36px;padding:0;display:none}.conv-header-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.conv-header-name{font-family:var(--font-display);font-weight:600;font-size:1.0625rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-header-sub{font-size:.8125rem}.conv-messages{flex:1;padding:var(--spacing-lg);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);background:var(--color-bg)}.msg-row{display:flex;max-width:70%}.msg-row.sent{align-self:flex-end;justify-content:flex-end}.msg-row.received{align-self:flex-start}.msg-bubble{padding:.625rem .875rem;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-sm)}.msg-row.sent .msg-bubble{background:var(--color-primary);color:#fff;border-bottom-right-radius:6px}.msg-row.received .msg-bubble{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border-light);border-bottom-left-radius:6px}.msg-bubble p{margin:0;font-size:.9375rem;line-height:1.45;white-space:pre-wrap}.msg-sender{display:block;font-size:.72rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:3px}.msg-time{display:block;font-size:.7rem;margin-top:.375rem;opacity:.7}.conv-composer{display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--color-border);border-radius:0;box-shadow:none;background:var(--color-bg-card)}.conv-composer textarea{flex:1 1 auto;min-width:0;min-height:44px;max-height:140px;padding:.75rem 1rem;border-radius:var(--radius-xl);resize:none;line-height:1.4}.conv-composer .conv-send{width:44px!important;min-width:44px;max-width:44px;height:44px;padding:0;border-radius:50%;flex:0 0 44px;flex-shrink:0;align-self:flex-end}.conv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--color-text-muted);min-height:400px}.conv-empty h3{margin:var(--spacing-sm) 0 0;color:var(--color-text-primary)}.conv-empty p{margin:0;max-width:300px}.messages-context{display:flex;flex-direction:column;gap:var(--spacing-md)}.context-card{padding:var(--spacing-lg)}.context-heading{font-family:var(--font-display);font-weight:600;font-size:.9375rem;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.context-sub{margin:0 0 var(--spacing-md);font-size:.8125rem}.context-members{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.context-member{display:flex;align-items:center;gap:var(--spacing-sm);padding:.375rem 0}.context-member-name{font-size:.875rem;color:var(--color-text-primary);font-weight:500}.context-edit{width:100%}.context-dm{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-xs);padding:var(--spacing-xl) var(--spacing-lg)}.context-dm .avatar.xl{margin-bottom:var(--spacing-sm)}.context-dm-name{font-family:var(--font-display);font-weight:600;font-size:1.125rem}.context-dm-sub{margin:0}.context-tip{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.context-tip p{margin:0}.context-tip .btn-outline{align-self:stretch}.modal-overlay{position:fixed;inset:0;background:#0f141973;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:100}.group-info-modal{background:var(--color-bg-card);border-radius:var(--radius-xl);max-width:460px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);overflow:hidden}.group-info-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.group-info-header h3{margin:0}.group-info-close{width:36px;height:36px;padding:0}.group-info-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.group-info-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.group-info-hint{margin:var(--spacing-xs) 0 var(--spacing-lg);font-size:.8125rem}.group-info-members-header{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.group-info-members-list{display:flex;flex-direction:column}.group-info-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-bg-alt)}@media(max-width:1024px){.messages-page{padding:var(--spacing-md)}.messages-list-col{max-height:none}.conv-shell{height:auto;min-height:70vh}}@media(max-width:768px){.messages-page{padding:var(--spacing-sm)}.messages-list-col.hide-mobile,.messages-conv-col{display:none}.messages-conv-col.show-mobile{display:flex;grid-column:1 / -1}.messages-context{display:none}.conv-back{display:inline-flex}.conv-shell{min-height:calc(100vh - 120px)}.msg-row{max-width:85%}}.admin-registration-page{min-height:100vh;background:linear-gradient(135deg,#f0fdf4,#dcfce7);display:flex;align-items:center;justify-content:center;padding:2rem}.registration-container{background:#fff;border-radius:24px;box-shadow:0 20px 60px #0000001a;padding:3rem;width:100%;max-width:600px}.registration-header{text-align:center;margin-bottom:2rem}.registration-header .logo{width:60px;height:60px;margin-bottom:1rem}.registration-header h1{font-size:1.75rem;color:#111827;margin-bottom:.5rem}.registration-header p{color:#6b7280}.progress-steps{display:flex;align-items:center;justify-content:center;margin-bottom:2.5rem}.step{display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:36px;height:36px;border-radius:50%;background:#e5e7eb;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s}.step.active .step-number{background:#4d7c0f;color:#fff}.step span{font-size:.75rem;color:#9ca3af}.step.active span{color:#4d7c0f;font-weight:500}.step-line{width:60px;height:2px;background:#e5e7eb;margin:0 .5rem 1.5rem}.form-step h2{font-size:1.25rem;color:#111827;margin-bottom:.5rem}.step-description{color:#6b7280;margin-bottom:1.5rem;font-size:.9375rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:1rem;color:#9ca3af}.input-with-icon input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border:1px solid #d1d5db;border-radius:10px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-with-icon input:focus{outline:none;border-color:#4d7c0f;box-shadow:0 0 0 3px #4d7c0f1a}.role-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.role-option{cursor:pointer}.role-option input{display:none}.role-content{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:2px solid #e5e7eb;border-radius:12px;transition:all .2s}.role-option:hover .role-content{border-color:#d1d5db;background:#f9fafb}.role-option.selected .role-content{border-color:#4d7c0f;background:#f0fdf4}.role-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.role-icon.admin{background:#dbeafe;color:#2563eb}.role-icon.board{background:#f3e8ff;color:#7c3aed}.role-info{flex:1}.role-info h3{font-size:1rem;color:#111827;margin-bottom:.25rem}.role-info p{font-size:.8125rem;color:#6b7280;margin:0}.check-icon{color:#4d7c0f;flex-shrink:0}.role-note{font-size:.8125rem;color:#6b7280;background:#f9fafb;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.btn-primary{width:100%;padding:1rem;background:#4d7c0f;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#3d6c0a}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-outline{padding:1rem 1.5rem;background:#fff;color:#4d7c0f;border:2px solid #4d7c0f;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-outline:hover{background:#f0fdf4}.button-row{display:flex;gap:1rem}.button-row .btn-primary{flex:1}.error-message{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem}.login-link{text-align:center;margin-top:2rem;color:#6b7280;font-size:.875rem}.login-link a{color:#4d7c0f;font-weight:500;text-decoration:none}.login-link a:hover{text-decoration:underline}@media(max-width:640px){.admin-registration-page{padding:1rem}.registration-container{padding:2rem 1.5rem}.form-row{grid-template-columns:1fr}.step-line{width:30px}.step span{display:none}}.registration-container{min-width:500px}.form-row{gap:1rem}.form-row .form-group{flex:1;min-width:0}.input-with-icon input{width:100%;box-sizing:border-box}@media(max-width:640px){.registration-container{min-width:unset;width:100%}}.terms-page{min-height:100vh;background:#f8fafc;padding:2rem}.terms-container{max-width:800px;margin:0 auto;background:#fff;padding:3rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;line-height:1.7;color:#374151}.terms-container h1{text-align:center;font-size:2.5rem;color:#111827;margin-bottom:.5rem}.terms-container h2{text-align:center;font-size:1.5rem;color:#374151;font-weight:500;margin-bottom:1rem}.terms-container .effective-date{text-align:center;color:#6b7280;font-style:italic;margin-bottom:2rem}.terms-container .part-title{text-align:left;font-size:1.5rem;color:#111827;margin-top:3rem;margin-bottom:1.5rem;padding-top:2rem;border-top:2px solid #e5e7eb}.terms-container h3{font-size:1.25rem;color:#111827;margin-top:2rem;margin-bottom:1rem}.terms-container h4{font-size:1.1rem;color:#374151;margin-top:1.5rem;margin-bottom:.75rem}.terms-container p{margin-bottom:1rem}.terms-container ul{margin-bottom:1rem;padding-left:1.5rem}.terms-container li{margin-bottom:.5rem}.terms-container a{color:#059669;text-decoration:none}.terms-container a:hover{text-decoration:underline}.terms-container .copyright{text-align:center;color:#9ca3af;margin-top:3rem;font-style:italic}@media(max-width:768px){.terms-page{padding:1rem}.terms-container{padding:1.5rem}.terms-container h1{font-size:2rem}}.resources-page{max-width:1100px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.resources-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.resources-header-text h1{margin-bottom:var(--spacing-xs)}.resources-header-text p{margin:0}.resources-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:var(--spacing-lg);align-items:start}.resources-sidebar{position:sticky;top:var(--spacing-lg);align-self:start}.resources-main{min-width:0}@media(max-width:900px){.resources-layout{grid-template-columns:1fr}.resources-sidebar{position:static}}.resources-toolbar{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.resources-search{position:relative;display:flex;align-items:center;flex:1;min-width:220px}.resources-search>svg{position:absolute;left:16px;color:var(--color-text-muted);pointer-events:none}.resources-search input{padding-left:44px;padding-right:44px;border-radius:var(--radius-full);height:48px}.resources-search-clear{position:absolute;right:6px;width:32px;height:32px;padding:0;color:var(--color-text-muted);background:transparent}.resources-search-clear:hover{background-color:var(--color-bg-alt);color:var(--color-text-primary)}.resources-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-sm);color:var(--color-text-secondary)}.resources-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-sm);padding:var(--spacing-2xl) var(--spacing-lg)}.resources-empty-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.resources-empty-icon.sm{width:48px;height:48px}.resources-empty h3{margin:0}.resources-empty p{margin:0;max-width:360px}.resources-empty .btn-primary{margin-top:var(--spacing-md)}.resources-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.resource-card{display:flex;flex-direction:column;gap:var(--spacing-sm)}.resource-card-head{display:flex;align-items:flex-start;gap:var(--spacing-md)}.resource-card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-primary-dark);flex-shrink:0}.resource-card-titlewrap{flex:1;min-width:0}.resource-card-title{font-size:1.0625rem;font-weight:600;line-height:1.35;margin:0 0 2px}.resource-card-meta{margin:0;font-size:.8125rem}.resource-card-type{flex-shrink:0}.resource-card-type.is-pdf{background-color:#ef44441a;color:var(--color-error)}.resource-card-type.is-text{background-color:var(--color-bg-alt);color:var(--color-text-secondary)}.resource-card-preview{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap}.resource-card-preview.expanded{display:block;-webkit-line-clamp:unset;overflow:visible}.resource-card-footer{display:flex;align-items:center;gap:var(--spacing-sm)}.resource-card-cta{display:inline-flex;align-items:center;gap:6px;padding:.375rem .875rem;border-radius:var(--radius-full);background-color:var(--color-primary-bg);color:var(--color-primary-dark);font-size:.8125rem;font-weight:600}.quick-resources-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.quick-resources-heading h2{font-size:1.125rem;margin:0 0 var(--spacing-xs) 0}.quick-resources-heading p{margin:0}.quick-resources-stack{display:flex;flex-direction:column;gap:var(--spacing-sm)}.quick-resource-card{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color var(--transition-fast)}.quick-resource-card:hover{border-color:var(--color-border-strong)}.quick-resource-head{display:flex;align-items:flex-start;gap:var(--spacing-sm)}.quick-resource-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-primary-bg);color:var(--color-primary-dark);flex-shrink:0}.quick-resource-titlewrap{flex:1;min-width:0}.quick-resource-title{font-size:.9375rem;font-weight:600;margin:0;color:var(--color-text-primary);line-height:1.3}.quick-resource-desc{font-size:.8125rem;color:var(--color-text-secondary);margin:2px 0 0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.quick-resource-chips{display:flex;flex-wrap:wrap;gap:6px}.quick-resource-chip{background-color:var(--color-bg-alt);color:var(--color-text-primary);text-decoration:none;font-weight:600}.quick-resource-chip:hover{background-color:var(--color-border);color:var(--color-text-primary)}.quick-resources-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-xs);padding:var(--spacing-lg)}.quick-resources-empty h4,.quick-resources-empty p{margin:0}.quick-resources-empty .btn-outline{margin-top:var(--spacing-sm)}.pdf-modal-overlay{position:fixed;inset:0;background:#0f14198c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn var(--transition-base) ease forwards}.pdf-modal{background:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:960px;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.pdf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);gap:var(--spacing-md)}.pdf-modal-header h3{font-size:1.0625rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pdf-modal-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.pdf-modal-close{width:40px;height:40px;padding:0;color:var(--color-text-secondary)}.pdf-modal-content{flex:1;overflow:hidden;background:var(--color-bg-alt)}.pdf-modal-content iframe{border:none;display:block;width:100%;height:100%}@media(max-width:640px){.pdf-modal{height:95vh}.pdf-modal-header{padding:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap}.pdf-modal-header h3{width:100%}.pdf-modal-actions{width:100%;justify-content:flex-end}}.people-page{max-width:1100px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl)}.people-header{margin-bottom:var(--spacing-xl)}.people-header h1{margin-bottom:var(--spacing-xs)}.people-header p{margin:0}.people-section{margin-bottom:var(--spacing-2xl);scroll-margin-top:var(--spacing-xl)}.people-section-header{margin-bottom:var(--spacing-md)}.people-section-title{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.people-section-title h2{margin:0;font-size:1.25rem}.people-section-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-bg);color:var(--color-primary-dark)}.people-section-header .muted{margin:0}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-md)}.person-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-xs);padding:var(--spacing-lg)}.person-card .avatar{margin-bottom:var(--spacing-sm)}.person-name{margin:0;font-size:1rem;font-weight:600}.person-title{margin:0;font-size:.875rem}.person-contacts{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:var(--spacing-md);width:100%}.person-contact-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;min-height:32px;border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:.875rem;line-height:1;white-space:nowrap}.person-contact-btn svg{flex-shrink:0;color:var(--color-text-secondary)}.person-contact-btn:hover{color:var(--color-primary-dark);background:var(--color-primary-bg)}.person-contact-btn:hover svg{color:var(--color-primary)}.people-empty{padding:var(--spacing-xl);text-align:center}.events-page{max-width:900px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-2xl)}.events-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.events-header h1{margin-bottom:var(--spacing-xs)}.events-header p{margin:0}.events-header-text{min-width:0}.events-new-btn{width:44px;height:44px;min-width:44px;max-width:44px;padding:0;border-radius:50%;flex-shrink:0;align-self:flex-start;box-shadow:var(--shadow-md)}.events-new-btn:hover:not(:disabled){box-shadow:var(--shadow-lg)}.event-actions{display:flex;gap:8px;align-self:flex-start;flex-shrink:0}.events-section{margin-bottom:var(--spacing-2xl)}.events-section.past{opacity:.75}.events-section-title{margin:0 0 var(--spacing-md);font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.events-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.event-card{display:flex;align-items:stretch;gap:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg)}.event-date{flex-shrink:0;width:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm) 0;border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid var(--color-border)}.event-date-month{font-size:.75rem;font-weight:600;letter-spacing:.05em}.event-date-day{font-size:1.75rem;font-weight:700;line-height:1;margin-top:4px}.event-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.event-title{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.event-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md);color:var(--color-text-secondary);font-size:.875rem}.event-meta-item{display:inline-flex;align-items:center;gap:4px}.event-meta-item svg{flex-shrink:0}.event-description{margin:4px 0 0;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5;white-space:pre-wrap}.events-empty{padding:var(--spacing-xl);text-align:center}.events-view-toggle{margin-bottom:var(--spacing-lg)}.calendar-view{padding:0;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.calendar-month-label{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border);background:var(--color-bg-alt)}.calendar-weekday{padding:8px;text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);letter-spacing:.05em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,auto)}.calendar-cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:6px;display:flex;flex-direction:column;gap:4px;min-height:96px;background:var(--color-bg-card)}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.other-month{background:var(--color-bg-alt)}.calendar-cell.other-month .calendar-day-num{color:var(--color-text-muted)}.calendar-cell.clickable{cursor:pointer;transition:background var(--transition-fast)}.calendar-cell.clickable:hover{background:var(--color-primary-bg)}.calendar-cell-day{display:flex;justify-content:flex-start}.calendar-day-num{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);padding:2px 6px;border-radius:999px;min-width:20px;text-align:center}.calendar-day-num.today{background:var(--color-primary);color:#fff;font-weight:700}.calendar-cell-events{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-event-pill{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:3px 6px;border:none;border-radius:6px;background:var(--color-primary-bg);color:var(--color-primary-dark);font-size:.6875rem;line-height:1.2;text-align:left;overflow:hidden}.calendar-event-pill:hover{background:var(--color-primary-bg-hover, var(--color-primary-bg))}.calendar-event-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.calendar-event-time{font-size:.625rem;opacity:.85}.calendar-event-more{font-size:.6875rem;padding:2px 6px}@media(max-width:700px){.calendar-grid{grid-auto-rows:minmax(60px,auto)}.calendar-cell{min-height:60px}.calendar-event-time{display:none}}:root{--color-primary: #7CB65F;--color-primary-dark: #5a9a42;--color-primary-light: #a5d48a;--color-primary-bg: rgba(124, 182, 95, .1);--color-primary-bg-hover: rgba(124, 182, 95, .18);--color-bg: #f7f7f7;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-bg-alt: #f2f4f2;--color-border: #e7e7e7;--color-border-strong: #d9d9d9;--color-border-light: #f0f2f0;--color-surface-alt: #f8fafc;--color-text-primary: #1a1f1a;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-admin: #16a34a;--color-board-member: #a855f7;--color-super-admin: #a855f7;--font-display: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", "Plus Jakarta Sans", "Inter", Roboto, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 32px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 20, 25, .04);--shadow-md: 0 6px 16px rgba(15, 20, 25, .08);--shadow-lg: 0 12px 28px rgba(15, 20, 25, .1);--shadow-xl: 0 24px 48px rgba(15, 20, 25, .12);--shadow-floating: 0 2px 4px rgba(15, 20, 25, .06), 0 10px 24px rgba(15, 20, 25, .06);--shadow-pop: 0 6px 24px rgba(15, 20, 25, .1), 0 2px 6px rgba(15, 20, 25, .06);--shadow-focus: 0 0 0 3px var(--color-primary-bg);--transition-fast: .15s cubic-bezier(.2, .8, .2, 1);--transition-base: .22s cubic-bezier(.2, .8, .2, 1);--transition-slow: .32s cubic-bezier(.2, .8, .2, 1)}[data-theme=dark]{--color-bg: #0f1510;--color-bg-card: #1a201a;--color-bg-elevated: #242a24;--color-bg-alt: #171d17;--color-border: #2d352d;--color-border-strong: #3a423a;--color-border-light: #1f261f;--color-surface-alt: #171d17;--color-text-primary: #f0f4f0;--color-text-secondary: #9ca89c;--color-text-muted: #6b7a6b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 6px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .5);--shadow-floating: 0 2px 4px rgba(0, 0, 0, .4), 0 10px 24px rgba(0, 0, 0, .35);--shadow-pop: 0 6px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;line-height:1.55;color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--color-text-primary);letter-spacing:-.02em}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.9375rem}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}input,textarea,select{font-family:var(--font-body);font-size:.9375rem;color:var(--color-text-primary);background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.625rem .875rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input:hover:not(:disabled),textarea:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--color-border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-alt);color:var(--color-text-secondary);cursor:not-allowed}button{font-family:var(--font-body);font-weight:600;font-size:.9375rem;cursor:pointer;border:1px solid transparent;background:none;color:inherit;border-radius:var(--radius-full);padding:.625rem 1.125rem;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.375rem;letter-spacing:-.005em}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-outline{background-color:transparent;color:var(--color-primary-dark);border-color:var(--color-border-strong)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-outline.danger{color:var(--color-error)}.btn-outline.danger:hover:not(:disabled){background-color:#ef444414;border-color:var(--color-error)}.btn-ghost{background-color:transparent;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-alt)}button.small,.btn-primary.small,.btn-outline.small,.btn-ghost.small{padding:.375rem .75rem;font-size:.8125rem}button.large,.btn-primary.large,.btn-outline.large,.btn-ghost.large{padding:.875rem 1.5rem;font-size:1rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--shadow-floating);transform:translateY(-2px)}.form-card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.form-card h2{font-size:1.25rem;margin-bottom:.25rem}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:.25rem .625rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-full);letter-spacing:-.005em}.badge-admin{background-color:#16a34a1f;color:var(--color-admin)}.badge-board{background-color:#a855f71f;color:var(--color-board-member)}.badge-super{background-color:#a855f71f;color:var(--color-super-admin)}.segmented{display:inline-flex;align-items:center;gap:4px;padding:4px;background-color:var(--color-bg-alt);border-radius:var(--radius-full)}.segmented-item{padding:.5rem 1.125rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;color:var(--color-text-secondary);background:transparent;border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.segmented-item:hover:not(.active){color:var(--color-text-primary);background-color:#00000008}.segmented-item.active{background-color:var(--color-bg-card);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:var(--color-primary-bg);color:var(--color-primary-dark);font-weight:600;overflow:hidden;flex-shrink:0;border:1px solid var(--color-border-light)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:28px;height:28px;font-size:.75rem}.avatar.lg{width:56px;height:56px;font-size:1.125rem}.avatar.xl{width:96px;height:96px;font-size:1.5rem}.avatar.square{border-radius:var(--radius-md)}.detail-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr) minmax(280px,340px);gap:var(--spacing-lg);align-items:start}.detail-layout>.detail-list,.detail-layout>.detail-side{position:sticky;top:var(--spacing-lg);align-self:start;max-height:calc(100vh - var(--spacing-xl) * 2);overflow-y:auto}@media(max-width:1024px){.detail-layout{grid-template-columns:1fr}.detail-layout>.detail-list,.detail-layout>.detail-side{position:static;max-height:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-slide-up{animation:slideUp var(--transition-base) ease forwards}.animate-slide-down{animation:slideDown var(--transition-base) ease forwards}.muted{color:var(--color-text-secondary);font-size:.875rem}@media(max-width:768px){h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.125rem}.container{padding:0 var(--spacing-md)}.form-card{padding:var(--spacing-lg)}}
