*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background-color:#f9f9f9}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background-color:#2c3e50;box-shadow:0 2px 5px rgba(0,0,0,.1);position:fixed;width:100%;top:0;z-index:1000}.nav-container{display:flex;justify-content:space-between;align-items:center;padding:1rem 20px;max-width:1200px;margin:0 auto}.logo{color:white;font-size:1.5rem;font-weight:bold}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{color:white;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s}.nav-menu a:hover,.nav-menu a.active{background-color:#34495e}.homeowner-login{background-color:#e74c3c!important;color:white!important}.homeowner-login:hover{background-color:#c0392b!important}main{margin-top:80px}.hero{display:flex;flex-direction:column}.hero-image{width:100%;height:60vh;min-height:400px;overflow:hidden}.main-image{width:100%;height:100%;object-fit:cover;display:block}.hero-text{background-color:#7c444f;padding:2rem 0;text-align:center;color:white}.hero-text h1{font-size:3rem;margin-bottom:1rem;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.hero-text p{font-size:1.3rem;text-shadow:1px 1px 2px rgba(0,0,0,.3);max-width:800px;margin:0 auto;padding:0 2rem}section{padding:3rem 0}.welcome{background-color:white}.welcome h2{text-align:center;margin-bottom:2rem;color:#2c3e50;font-size:2.2rem}.welcome p{text-align:center;max-width:800px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.8}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.feature{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.feature h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem}.feature p{color:#666;line-height:1.6}.feature-link{text-decoration:none;color:inherit;cursor:pointer;transition:all .3s ease}.feature-link:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2);background:#e8f4f8}.feature-link:hover h3{color:#2980b9}.feature-link:hover p{color:#555}.info{background-color:#ecf0f1}.info h2{text-align:center;margin-bottom:2rem;color:#2c3e50;font-size:2.2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.info-item{background:white;padding:2rem;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.info-item h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem}.info-item p{color:#666;line-height:1.6}.info-item-link{text-decoration:none;color:inherit;cursor:pointer;transition:all .3s ease}.info-item-link:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2);background:#f0f8ff}.info-item-link:hover h3{color:#2980b9}.info-item-link:hover p{color:#555}.page-header{background:linear-gradient(135deg,#2c3e50,#34495e);color:white;padding:4rem 0 2rem;text-align:center}.page-header h1{font-size:2.5rem}.content{padding:3rem 0;background-color:white}.about-content h2{color:#2c3e50;margin-bottom:1rem;margin-top:2rem}.about-content p{margin-bottom:1.5rem;line-height:1.8}.about-content ul{margin:1rem 0 2rem 2rem}.about-content li{margin-bottom:.5rem;line-height:1.6}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:3rem}.contact-info h2,.contact-form h2{color:#2c3e50;margin-bottom:1.5rem}.contact-details{margin-top:2rem}.contact-item{margin-bottom:2rem}.contact-item h3{color:#34495e;margin-bottom:.5rem}.contact-item a{color:#3498db;text-decoration:none}.contact-item a:hover{text-decoration:underline}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.8rem;border:2px solid #ecf0f1;border-radius:4px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3498db}.submit-btn{background-color:#3498db;color:white;padding:1rem 2rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .3s}.submit-btn:hover{background-color:#2980b9}.emergency-info{background:#f8f9fa;padding:2rem;border-radius:8px;border-left:4px solid #e74c3c;margin-top:2rem}.emergency-info h2{color:#e74c3c;margin-bottom:1rem}.login-form,.registration-form,.admin-login-form{max-width:600px;margin:2rem auto;padding:2rem;background:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.login-form{max-width:400px}.login-form h2,.registration-form h2,.admin-login-form h2{text-align:center;color:#2c3e50;margin-bottom:2rem}.error-message{background-color:#f8d7da;color:#721c24;padding:1rem;border-radius:4px;margin-bottom:1rem;border:1px solid #f5c6cb}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.document-item{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);text-align:center}.document-item h3{color:#2c3e50;margin-bottom:1rem}.document-item a{display:inline-block;background-color:#3498db;color:white;padding:.5rem 1rem;text-decoration:none;border-radius:4px;transition:background-color .3s}.document-item a:hover{background-color:#2980b9}.logout-btn{background-color:#e74c3c;color:white;padding:.5rem 1rem;text-decoration:none;border-radius:4px;display:inline-block;margin-bottom:2rem;transition:background-color .3s}.logout-btn:hover{background-color:#c0392b}.snow-status-section{padding:2rem 0;background:linear-gradient(135deg,#3498db,#2980b9)}.widget-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto}.snow-widget,.weather-widget,.community-widget{background:white;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.15);overflow:hidden}.community-widget{background:#fffef0!important;border-left:6px solid #f39c12}.snow-icon,.weather-icon,.community-icon{font-size:3rem;text-align:center;width:60px;flex-shrink:0}.snow-info,.weather-info,.community-info{flex:1}.snow-info h3,.weather-info h3,.community-info h3{margin:0 0 .5rem 0;color:#2c3e50;font-size:1.2rem}.snow-info p,.weather-info p,.community-info p{margin:.25rem 0;color:#34495e;font-size:1rem}.snow-info small,.weather-info small,.community-info small{color:#7f8c8d;font-size:.85rem}.community-widget-loading{opacity:.7}.community-status-control{background:white;padding:2rem;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:2rem}.snow-widget-content,.weather-widget-content,.community-widget-content{display:flex;align-items:center;padding:1.5rem;gap:1.5rem}.snow-icon,.weather-icon{font-size:3rem;text-align:center;min-width:60px}.snow-info,.weather-info{flex:1}.snow-info h3,.weather-info h3{color:#2c3e50;font-size:1.3rem;margin-bottom:.5rem}.snow-info p,.weather-info p{color:#555;font-size:1.1rem;margin-bottom:.25rem;font-weight:500}.snow-info small,.weather-info small{color:#777;font-size:.9rem}#weather-temp{font-size:1.4rem;font-weight:bold;color:#2c3e50}#weather-conditions{font-size:1rem;color:#666;text-transform:capitalize}.status-indicator,.weather-status-indicator{width:20px;height:20px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #ddd;transition:all .3s ease}.weather-status-indicator{background-color:#27ae60;box-shadow:0 0 0 2px #27ae60}.status-indicator.active{background-color:#27ae60;box-shadow:0 0 0 2px #27ae60;animation:pulse 2s infinite}.status-indicator.inactive{background-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c}.snow-widget.active{border-left:6px solid #27ae60}.snow-widget.active .snow-icon{animation:snow-bounce 1s ease-in-out infinite alternate}.snow-widget.inactive{border-left:6px solid #95a5a6}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}100%{transform:scale(1);opacity:1}}@keyframes snow-bounce{0%{transform:translateY(0)}100%{transform:translateY(-5px)}}.snow-widget-loading{opacity:.7}.snow-widget-loading .status-indicator{background-color:#f39c12;animation:pulse 1s infinite}.weather-loading{opacity:.7}.weather-loading .weather-status-indicator{background-color:#f39c12;animation:pulse 1s infinite}footer{background-color:#2c3e50;color:white;text-align:center;padding:2rem 0}@media (max-width:1024px){.widget-grid{grid-template-columns:1fr 1fr;gap:1.5rem}}@media (max-width:768px){.nav-container{flex-direction:column;gap:1rem}.nav-menu{gap:1rem}.hero-text h1{font-size:2rem}.hero-text p{font-size:1.1rem}.features{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:2rem}.widget-grid{grid-template-columns:1fr;gap:1.5rem}main{margin-top:120px}}@media (max-width:480px){.container{padding:0 15px}.hero{height:50vh;min-height:300px}.hero-overlay h1{font-size:1.5rem}.hero-overlay p{font-size:1rem}section{padding:2rem 0}}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group small{display:block;color:#666;font-size:.85rem;margin-top:.25rem}.message{padding:1rem;border-radius:4px;margin-bottom:1rem}.message.success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message.error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.btn{display:inline-block;background:#3498db;color:white;padding:.5rem 1rem;border:none;border-radius:4px;text-decoration:none;cursor:pointer;transition:background-color .3s;font-size:.9rem}.btn:hover{background:#2980b9}.logout-btn{background:#e74c3c;color:white;padding:.5rem 1rem;border-radius:4px;text-decoration:none;transition:background-color .3s}.logout-btn:hover{background:#c0392b}@media (max-width:768px){.form-row{grid-template-columns:1fr}.registration-form,.admin-login-form{max-width:100%;margin:1rem;padding:1.5rem}}